/* Reset margin & padding on common elements */
html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, li, p, pre, form, fieldset, table, th, td { margin: 0px; padding: 0px; }

/* For sticky footer */
html, body { height: 100%; }
#container { width: 895px; min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -65px; }	/* the bottom margin is the negative value of the footer's height */
#footer, #push { height: 65px; }

/* General page styling */
body { font: 12px/16px Helvetica, Arial, sans-serif; background: url('../img/container-background.jpg') top center no-repeat #ded6b4; text-align: center; }
a { color: #e53342; }
a:hover { text-decoration: none; }
a img { border: 0px; }

#content-top { width: 895px; height: 20px; background: url('../img/content-top-background.png'); margin: 0px auto; }
#content-bottom { width: 895px; height: 20px; background: url('../img/content-bottom-background.png'); margin: 0px auto; }
#content { width: 895px; background: url('../img/content-background.png'); margin: 0px auto; text-align: left; overflow: visible; }		/* Overflow is visible here to allow breadcrumb to be pushed up */
#content:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; }	/* Clearfix */

/* Utility navigation at top-right of page */
#utility-nav { padding: 20px 0px; overflow: auto; }
#utility-nav ul { list-style-type: none; float: right; background: url('../img/utility-nav-background.png') top right no-repeat; height: 28px; padding-right: 10px; margin-right: 10px; }
#utility-nav ul li { float: left; height: 22px; padding: 6px 5px 0px 5px; }
#utility-nav ul li.first-child { background: url('../img/utility-nav-first-child-background.png') top left no-repeat; padding-left: 10px; }
#utility-nav ul li a { color: #fff; text-decoration: none; }
#utility-nav ul li a:hover { text-decoration: underline; }

/* Sidebar, main navigation, etc. */
#sidebar { width: 210px; padding: 0px 0px 0px 9px; float: left; }
#sidebar img.logo { margin: 10px 0px 0px 15px; }
#sidebar h3 { color: #e41534; font-size: 15px; background: url('../img/sidebar-h3-background.png'); width: 175px; height: 24px; padding: 10px 0px 0px 10px; margin: 5px 5px 0px 5px; }
#sidebar p { font-size: 11px; color: #7e7c7d; padding: 5px 10px; }
#sidebar ul li { font-size: 11px; color: #7e7c7d; padding: 5px 10px; list-style-type: none; }

/* Search box */
#sidebar #search { padding: 10px 0px 5px 15px; }
#sidebar #search label { position: absolute; left: -9999px; }
#sidebar #search input { /*background: url('../img/magnifying-glass.png') center right no-repeat;*/ padding: 4px; color: #666; border: 1px solid #bbb; -webkit-border-radius: 3px; -moz-border-radius: 3px; width: 130px; }
#sidebar #search button { background: #fff; padding: 2px 4px; vertical-align: top; border: 1px solid #bbb; -webkit-border-radius: 3px; -moz-border-radius: 3px; cursor: pointer; }

/* Nav */
#sidebar #nav { margin-bottom: 20px; }
#sidebar #nav ul li { padding: 0px; list-style-type: none; }
#sidebar #nav ul li a { font-size: 18px; display: block; color: #333; text-decoration: none; width: 209px; height: 24px; padding: 10px 0px 0px 15px; }
#sidebar #nav ul li a:hover, 
#sidebar #nav ul li a.current { background: url('../img/nav-hover-background.png') -1px 0px no-repeat; color: #fff; }

/* Subnav */
#sidebar #nav ul li ul { margin-top: 7px; }
#sidebar #nav ul li ul li { margin: 2px 20px 2px 20px; border-bottom: 1px solid #ccc; padding: 2px 0px; }
#sidebar #nav ul li ul li a { display: inline; font-size: 14px; padding: 0px; }
#sidebar #nav ul li ul li a:hover, 
#sidebar #nav ul li ul li a.current { background: none; color: #e41534; }

/*#sidebar #nav ul li ul li a:hover, 
#sidebar #nav ul li ul li a.current { background: url('../img/subnav-hover-background.png') 10px 2px no-repeat; color: #333; }*/

/* Actual content area to the right of the sidebar */
#main { width: 667px; padding: 0px 9px 0px 0px; float: right; margin-top: -10px; }

#main .breadcrumbs { font-weight: bold; font-size: 11px; color: #797a7c; margin: 0px 0px 15px 0px; }
#main .breadcrumbs a { color: #797a7c; }

#main h1 { font-weight: normal; font-size: 22px; line-height: 26px; color: #e51937; text-transform: uppercase; margin: 0px 0px 0px 30px; }
#main h2 { font-size: 14px; line-height: 18px; color: #333; font-weight: normal; margin: 3px 40px 3px 30px; }
#main h3 { font-weight: normal; font-size: 16px; line-height: 20px; color: #e51937; margin: 10px 40px 10px 30px; }
#main h3 img { vertical-align: middle; padding: auto 5px; }
#main h4 { font-weight: normal; font-size: 14px; line-height: 16px; color: #e51937; margin: 10px 40px 10px 30px; }
#main p { margin: 10px 0px; padding: 0px 40px 0px 30px; }
#main #swarm { margin: 10px 30px; }	/* For Flash procedure "animations" */
#main a.button { display: block; background: url('../img/button-background.png'); width: 152px; height: 22px; padding-top: 5px; text-decoration: none; text-align: center; font-weight: bold; }
#main hr { height: 0px; border: 0px; border-top: 1px solid #ded6b4; margin: 10px 30px; }
#main ul li p, #main ol li p { padding-left: 0px; margin: 0px; }
#main ul, 
#main ol { padding-left: 55px; padding-right: 40px; list-style-type: circle; margin-bottom: 10px; }
#main ol { list-style-type: decimal; }
#main table { margin: 10px 30px; }
#main table.doctor-info p { padding: 0px; margin: 0px 0px 10px 0px; }
#main table ul, #main table ol { padding-left: 15px; }
#main table.news-events p { padding: 0px; }
#main table.icons { margin: 10px 0px 10px 30px; }
#main table.icons img { vertical-align: middle; }
#main table.icons a { text-decoration: none; font-weight: bold; }
#main table.icons a:hover { text-decoration: underline; }
#main table.icons td { padding: 10px; }
#main #info-box { background: #f0eee8; margin: 10px 32px; color: #797a7c; padding: 10px 0px; overflow: auto; }
#main #info-box h3 { text-transform: uppercase; font-size: 14px; font-weight: bold; margin: 5px 0px 0px 30px; }
#main #info-box p { line-height: 20px; margin-top: 0px; margin-right: 20px; }
#main #info-box img { float: right; margin-left: 5px; }
#main #info-box ul { padding-right: 10px; }

body#home #main h1 { text-transform: none; width: 380px; margin-bottom: 10px; }
body#home #main h2 { width: 380px; margin-bottom: 15px; }

#content.staff #main img, 
#content.occupational-therapy #main img { float: left; border: 1px solid #666; margin: 3px 6px 2px 0px; clear: left; }
#content.staff #main h4 { clear: left; margin-top: 0px; padding-top: 10px; }
#content.history #main img { margin: 0px 0px 0px 30px; }
#content.patient-toolkit #main img { float: left; clear: left; margin: 0px 4px 0px 0px; }
#content.physical-therapy #main img { float: right; margin: 0px 0px 5px 10px; }

#slideshow { width: 616px; height: 314px; padding: 8px; background: #797a7c; margin: 10px 0px 25px 17px; }
#slideshow .slide {display: none;}
#slideshow .slide p { color: #ded5b3; font-size: 14px; font-weight: bold; padding: 5px; margin: 0px; }
#slideshow .slide p a { color: #ded5b3; }
#controls { float: right; }
#controls ol { list-style-type: none; }
#controls ol li { display: inline; background: url('../img/slideshow-controls-separator.png') 0px 0px no-repeat; padding: 0px 3px 0px 7px; }
#controls ol li:first-child { background: none; }
#controls ol li a { color: #ded6b4; font-size: 14px; text-decoration: none; }
#controls ol li a:hover, 
#controls ol li a.activeSlide { color: #58595b; }

#tweets { width: 200px; float: right; margin: 0px 18px 10px 15px; }
#tweets h5 { color: #797a7c; font-size: 14px; border-bottom: 1px solid #bebcb9; padding-bottom: 3px; margin-bottom: 3px; }
#tweets ul { list-style-type: none; padding: 0px; }
#tweets ul li { padding: 5px 0px; }

/* Table styling for doctor's pages */
#main table tr { vertical-align: top; }

#main table.doctor-info { margin-left: 30px; padding-bottom: 20px; }
#main table.doctor-info tr td.bio { font-size: 14px; line-height: 20px; }
#main table.doctor-info tr td h4 { color: #e51937; font-size: 12px; font-weight: bold; margin: 0px; }
#main table.doctor-info tr td { border-top: 1px solid #7e7c7d; padding: 10px; width: 220px; }
#main table.doctor-info tr td ul { padding-left: 20px; list-style-type: circle; }
#main table.doctor-info tr:first-child td { border-top: none; }
#main table.doctor-info tr td.photo { padding: 15px 20px 0px 0px; text-align: center; width: 105px; }
#main table.doctor-info tr td.photo img { border: 1px solid #666; }

#main table.news-events { background: #f0eee8; margin: 0px 32px; color: #797a7c; padding: 15px; }
#main table.news-events tr th { font-size: 15px; border-bottom: 1px solid #bebcb9; padding-bottom: 10px; }
#main table.news-events tr td { width: 280px; padding-top: 10px; }
#main table.news-events tr td p { margin-bottom: 10px; }
#main table.news-events tr td p span { background: #797a7c; color: #f0eee8; font-weight: bold; padding: 0px 3px; margin-right: 2px; }
#main table.news-events tr td img { float: left; border: 1px solid #ccc; margin: 0px 4px 0px 0px; }
#main table.news-events tr td.spacer { width: 20px; padding: 0px; }

#main table.assistants { margin: 0px 15px; color: #797a7c; padding: 15px; }
#main table.assistants tr th { font-size: 13px; border-bottom: 1px solid #bebcb9; padding-bottom: 10px; text-align:left; }
#main table.assistants tr td { width: 280px; padding-top: 5px; }
#main table.assistants tr td.spacer { width: 20px; padding: 0px; }

#main table.physicians { margin: 0px 15px; color: #797a7c; padding: 15px; }
#main table.physicians tr th { font-size: 13px; border-bottom: 1px solid #bebcb9; padding-bottom: 10px; text-align: left; }
#main table.physicians tr td { width: 280px; padding-top: 5px; }
#main table.physicians tr td.spacer { width: 20px; padding: 0px; }

/* For forms on "Our Physicians" page */
#physician-search { padding: 0px 30px; }
#physician-search fieldset { border: 0px; border-top: 1px solid #7e7c7d; padding-top: 10px; }
#physician-search fieldset legend { font-size: 18px; color: red; }
#physician-search div { background: #f0eee8; padding: 3px 10px; margin: 5px 0px; }
#physician-search label { float: left; clear: left; width: 290px; margin-top: 3px; }
#physician-search label span { font-weight: bold; color: #e51937; }
#physician-search select { width: 185px; }
#physician-search button { margin-left: 20px; }

/* Various request forms - they all use this ID */
#appointment-request fieldset { border: 0px; }
#appointment-request label { float: left; margin: 4px 0px 0px 0px; width: 190px; padding-right: 10px; clear: left; text-align: right; }
#appointment-request input { width: 250px; }
#appointment-request label[for=please-describe-the-orthopaedic-problem-you-are-experiencing],
#appointment-request label[for=have-you-been-seen-previously-for-this-problem-if-so-by-whom],
#appointment-request label[for=reason-for-appointment],
#appointment-request label[for=activity-restrictions] { float: none; width: auto; }
#appointment-request button { margin-left: 30px; }
#appointment-request textarea { width: 500px; height: 100px; }
form .required  { color: red; }
form .error { border: 2px solid red; }

#journal-updates { padding: 10px 30px; }
#journal-updates p,
#journal-updates h3 { padding-left: 0px; margin-left: 0px; }
#journal-updates label { float: left; margin-top: 3px; font-weight: bold; color: #666; width: auto; margin-right: 3px; }

/* The, um, footer */
#footer { background: url('../img/footer-background.jpg') top center no-repeat; color: #fff; font-size: 12px; overflow: hidden; }
#footer p { margin: 5px 0px; }
#footer a { color: #fff; text-decoration: none; }
#footer a:hover { text-decoration: underline; }
#footer ul { margin: 5px 0px; }
#footer ul li { list-style-type: none; display: inline; background: url('../img/footer-li-separator.png') 0px 2px no-repeat; padding: 0px 2px 0px 9px; }
#footer ul li:first-child { background: none; }
