
/*
Theme Name: Template #2043
Theme URI: http://www.pbhs.com
Author: Nick
*/

/*------------- Reset ----------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

body {
	line-height: 1;
	background: #FFFFFF;
}

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

/*------------- Begin Styles ----------------- */

body {
	background: #cdcdcd url(_media/backgrounds/bg_horiz.jpg) repeat-x center top;
	font: 13px/1.5 'Open Sans', sans-serif;
	text-align: left;
	color:#333;
}

body.home { background: #fafafa url(_media/backgrounds/bg_horiz_home.jpg) repeat-x center top; }

p, address, table {	margin: 0 0 1em 0; }

h1, h2, h3, h4, h5, h6 {
	font: 'Open Sans', sans-serif;
	margin: 0 0 .4em;
}

p { text-align: justify; }

h1 {
	font: 4em/1 'Alex Brush', serif;
	background: url(_media/backgrounds/underline.jpg) repeat-x center bottom;
	text-align: right;
}

.home h1 { text-align: left; }

h2 { font-size: 1.5em; }

h3 { font-size: 1.3em; }

h4 { font-size: 1em; }

h5 { font-size: .9em; }

h6 { font-size: .8em; }

a:hover { text-decoration: none; }

li {
	margin: 0 30px 1em;
	text-align: justify;
}

ul li { list-style: square outside; }

ol li { list-style: decimal; }

strong { font-weight: bold; }

em { font-style: italic; }

/*------------- Color ------------------ */

a, #practice, #phone span, .bucket h2 a, #content_side h1, #content_side h2, #content_side h3 { color: #87A10F; }

.module h2, #appointment-request .plus, .sf-menu li li:hover, .sf-menu li li.sfHover, .sf-menu li li a:hover, .sf-menu li li a:active, .sf-menu li li li a:hover, .sf-menu li li li a:active { background-color: #87A10F; }

#footer a { color: #B8C57B; }

#content_side_accent { background: #B9C677; }

#content_side li:first-child a { border-top: 1px solid #B8C57A; }

#content_side li a:hover {
	background: #B8C57B;
	border-bottom: 1px solid #87A10F;
}

.sf-menu li li li { border-left: 4px solid #B8C57A; }

#location_box { border-bottom: 6px solid #B8C47A; }

/*------------- Header ----------------- */

#header_wrapper {
	position: relative;
	height: 194px;
	background: url(_media/backgrounds/bg_wide_int.jpg) no-repeat center top;
	min-width: 1060px;
}

.home #header_wrapper {
	min-height: 562px;
	background: url(_media/backgrounds/bg_wide.jpg) no-repeat center top;
}

#header {
	position: relative;
	width: 1040px;
	margin: 0 auto;
}

#client_logo {
	position:absolute;
	top: 56px;
	left: 0;
}

.leaf {
	background: url(_media/assets/leaf.png) no-repeat center top;
	width: 50px;
	height: 23px;
}

#practice {
	position:absolute;
	top: 50px;
	left: 60px;
	text-shadow:1px 1px 0px #fff;
	width: 670px;
	font: 3.5em/.9em 'Alex Brush', serif;
}

#practice span { padding-right: 10px; }

#location_box {
	position: absolute;
	width: 296px;
	height: 133px;
	right: -4px;
}

#location {
	position:absolute;
	top: 74px;
	font-size: 1.6em;
	color:#FFF;
	right: 14px;
	font-size: 120%;
	background: url(_media/assets/map.png) no-repeat right center;
	padding-right: 26px;
}

#location a { font-family: 'Open Sans', sans-serif; }

#phone {
	position:absolute;
	top: 40px;
	right: 14px;
	color: #0d0d0d;
	font: 300 1.4em 'Open Sans', sans-serif;
	background: url(_media/assets/phone.png) no-repeat right center;
	padding-right: 26px;
}
#phone .phone {
	background: url(_media/assets/phone.png) no-repeat right center;
	padding-right: 26px;
}

#nav {
	position: absolute;
	top: 140px;
	left: 0;
	z-index: 99;
	width: 1040px;
	visibility: hidden;
}

#banner-wrapper, #banner {
	width: 660px;
	height: 335px;
	position: absolute;
	top: 196px;
	left: 20px;
	z-index:70;
	overflow:hidden;
}
#banner-wrapper { overflow:visible; }
#banner-wrapper > #banner { top: 0; left: 0; z-index: 20; }

.nivo-directionNav { display:none !important; }

.nivoSlider {
	position: relative;
	height: 335px;
}

#phrases {
	height: 200px;
    left: 120px;
    position: absolute;
    top: 220px;
    width: 520px;
    z-index: 25;
}

#phrases p {
	position: absolute;
	top: 0; left: 0;
}

#phrases span {
	color: #F4F2EF;
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 2.2em;
    left: 0;
    opacity: 0;
    padding-left: 40px;
    position: relative;
    text-shadow: 1px 1px 2px #094273;
    top: 0;
	visibility: hidden;
    filter: alpha(opacity=0);
}

#phrases span:first-child {
	color: #F4F2EF;
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 2.2em;
    padding-left: 0;
    text-shadow: 1px 1px 2px #094273;
}

/*.nivo-slice {
	display:block;
	position:absolute;
	z-index:5;
	height:100%;
}

.nivo-box {
	display:block;
	position:absolute;
	z-index:5;
}

.nivo-directionNav { display: none; }*/

#about {
	width: 250px;
	position: absolute;
	top: 240px;
	right: 40px;
}

#about h3 {
	font: normal 3em/1em 'Alex Brush', serif;
	color: #d3d3d3;
	margin: 0 0 10px;
}

#about p {
	color: #FFFFFF;
	text-align: left;
	font: normal 110%/120% 'Open Sans', sans-serif;
}

#about a {
	text-decoration: none;
	display: block;
	padding: 4px 0px;
	font: normal 140% 'Open Sans', sans-serif;
}

#appointment-request {
	position: absolute;
	right: 20px;
	top: 496px;
	color: #0d0d0d;
	display: block;
	font: 400 140% 'Open Sans', sans-serif;
	text-decoration: none;
	height: 50px;
	line-height: 50px;
	text-align: right;
}
/* dumb fix for IE browsers on font sizer script, IE 8 is fine for whatever reason*/
.ie7 #appointment-request,
.ie6 #appointment-request,
.ie9 #appointment-request { width: 318px; white-space: nowrap; }

#appointment-request:hover { color: #626262; }

#appointment-request .plus {
	position: relative;
	top: 15px;
	float: right;
	color: #FFF;
	padding: 5px;
	margin: 0 0 0 10px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

#highlight_wrapper {
	background: url(_media/backgrounds/bg_wide.jpg) no-repeat center -562px;
	overflow: auto;
	height: auto;
	min-width: 1060px;
}

#highlights {
	width: 1020px;
	margin: 0 auto;
	padding: 0 0 20px 20px;
	border-bottom: 1px dotted #CCCCCC;
}

.bucket {
	width: 338px;
	float: left;
}

.bucket-image {
	background: url(_media/backgrounds/bucket.png) no-repeat left bottom;
	min-height: 280px;
	overflow: auto;
}

.bucket img { display: block; }

.bucket h2 { margin: 0 0 20px; }

.bucket h2 a {
	font: normal 160% 'Alex Brush', serif;
	padding: 8px 6px;
	text-decoration: none;
	display: block;
	text-align: center;
	width: 308px;
}

.bucket h2 a:hover {
	background: #343434;
	color: #fff;
}

.bucket p {
	font-size: 100%;
	font-weight: normal;
	color: #0d0d0d;
	text-align: left;
	line-height: 130%;
	margin: auto 30px auto 12px;
}

/*------------- Middle ----------------- */

#middle_wrapper {
	position: relative;
	background: url(_media/backgrounds/bottom-border-interior.jpg) repeat-x center bottom;
	padding: 0 0 60px;
	min-width: 1060px;
}

.home #middle_wrapper {
	position: relative;
	overflow: auto;
	background: url(_media/backgrounds/bottom-border.jpg) repeat-x center top;
	padding: 80px 0 20px;
}

#content_wrapper {
	position: relative;
	width: 1040px;
	min-height: 400px;
	margin: 0 auto;
	background: url(_media/backgrounds/bg_vert.jpg) repeat-y center top;
}

#content_footer {
	background: url(_media/backgrounds/bg_content_bottom.jpg) no-repeat center bottom;
	padding: 0 0 100px;
}

#content_header {
	background: url(_media/backgrounds/bg_content_top.jpg) no-repeat center top;
	position:relative;
	height:auto;
}

.home #content_header, .home #content_footer, .home #content_wrapper { background:none; }

.home #content_main {
	width: 1040px;
	float: left;
}

.home.show-form #content_main, #content_main_form { width: 720px; }

#content_main, #content_main_form {
	width: 702px;
	margin: 0 25px 0 0;
	float: right;
	padding: 20px 0;
	min-height: 560px;
}
#content_side_accent {
	position: absolute;
	width: 288px;
	height: 6px;
	top: -7px;
}

#content_side {
	width: 288px;
	margin: 0 0 20px;
	padding: 20px 0 0;
	top: -7px;
}

#content_side h1, #content_side h2, #content_side h3 {
	color: #87A10F;
	padding: 0;
	font: normal 2.2em 'Alex Brush', serif;
	text-align: center;
	margin: auto 0 20px;
}

#content_side h1 a, #content_side h2 a, #content_side h3 a {
	text-decoration: none;
	color: inherit;
}

#content_side, #content_side p { }

#content_side li {
	list-style: none;
	text-align: left;
	margin: 0;
}

#content_side li a {
	font-size: 1em;
	color: #333;
	text-decoration: none;
	border-bottom: 1px solid #DBDBDB;
	padding: 6px 0 6px 20px;
	display: block;
}

#content_side ul ul { margin: 0 0 10px; }

#content_side li li a {
	padding: 4px 0 4px 40px;
	background:#343434;
	color:#fff;
}

#content_side li li a:hover { color:#333; }

#content_side li li:first-child a { border-top: none; }

#content_side .children, #content_side .sub-menu { display: none; }

#content_side .current_page_item .children, #content_side .current_page_ancestor .children, #content_side .current_page_parent .children, #content_side .current_page_item .sub-menu, #content_side .current_page_ancestor .sub-menu, #content_side .current_page_parent .sub-menu { display: block; }

/*------------- Footer ----------------- */

#footerWrapper {
	text-align: center;
	width: 100%;
	min-width: 1060px;
	background: #0d0d0d;
	padding: 40px 0;
}

#footer {
	text-align: center;
	width: 1000px;
	margin: 20px auto;
}

#footer p {
	color: #FFFFFF;
	text-align: left;
	margin: 0 8px 1em;
}

#footer a { text-decoration: none; }

#footer a:hover { text-decoration: underline; }

#footer ul { overflow: auto; }

#footer li {
	list-style: none;
	float: left;
	margin: 0 8px 12px;
}

/*------------- classes ----------------- */

.image, .module, .highlight {
	border: solid #ccc 1px;
	margin-bottom: 5px;
	padding: 4px;
	background: #fff;
}

.module { width: 300px; }

.module.aligncenter { width: 80%; }

.module h2 {
	color: #FFFFFF;
	text-align: center;
	padding: 5px 10px;
}

.module p, .module h3 { padding:0 10px; }

.aligncenter {
	margin: 20px auto;
	clear:both;
}

.alignright {
	float: right;
	margin-left: 20px;
}

.alignleft {
	float: left;
	margin-right: 20px;
}

.text_center { text-align: center; }

.text_left { text-align: left; }

.text_right { text-align: right; }

.clear { clear: both; }

.dashed_line {
	clear: both;
	height: 1px;
	border-bottom: 1px dotted #666;
	margin: 0 0 .4em;
}

.highlight {
	width: 96%;
	margin: 0 auto;
	padding: 10px;
}

#mapContainer { height: 450px; }
a[href^="tel:"], a[href^="tel:"]:hover {
 font-size: inherit !important;
 cursor: text !important;
 color: inherit !important;
 font-weight: inherit !important;
 text-decoration: inherit !important;
 background: none !important;
}

#gallery li { list-style: none !important; }

/* ----- Office Tour Styles ----- */
.page-template-image-slider-php ul.gallery { display: none; }
.page-template-image-slider-php .tn3-gallery {
	background: #444;
	border: 2px solid #000;
	padding: 15px 0;
}
.page-template-image-slider-php .tn3-image {cursor: pointer; background: none; }
.page-template-image-slider-php .tn3-thumbs { padding: 4px 52px; }
.page-template-image-slider-php .tn3-prev, .page-template-image-slider-php .tn3-next { display: block !important; opacity: 1 !important; }
.page-template-image-slider-php .tn3-prev { left: -35px; }
.page-template-image-slider-php .tn3-next { right: -35px; }
.page-template-image-slider-php .tn3-next-page { right: 54px; }

/* --- google font (font flash) fix --- */
h1, h2, h3, h4, h5, h6, p, li, #practice { visibility: hidden; }

.mceContentBody h1, .mceContentBody h2, .mceContentBody h3, .mceContentBody h4, .mceContentBody h5, .mceContentBody h6,
.mceContentBody p, .mceContentBody li,
.wf-active h1, .wf-active h2, .wf-active h3, .wf-active h4, .wf-active h5, .wf-active h6,
.wf-active p, .wf-active li, .wf-active #practice,
.form-all h1, .form-all h2, .form-all h3, .form-all h4, .form-all h5, .form-all h6,
.form-all p, .form-all li { visibility: visible; }

/*------------- Form Styles ----------------- */

#contact_form {
	float: right;
	width: 248px;
	height: auto;
	margin: 20px;
	border: 1px solid #ccc;
	background: #fbfbfb;
}

#content_side #contact_form { width: 248px; }

#contact_form_header { }

#contact_form_footer { }

#form { padding: 16px 8px 0; }

.form-all, .gform_wrapper {
	font: 13px/1.5 Arial, Helvetica, sans-serif;
	text-align: left;
	color:#333;
}

.form-all, .form-all li, .form-label-top, .form-subHeader, .form-header-group, .form-html {
	margin: 0;
	padding: 0;
}

.form-subHeader, .form-header-group {
	background: none;
	border: none;
	text-align: justify;
	font-style: normal;
}

.form-label-top { font-weight: bold; }

.form-all li {
	background: none;
	list-style: none;
	margin: 0 4px .5em;
}

.form-all input, .form-all textarea {
	padding: 4px;
	width: 200px;
}

.form-all input[type=checkbox], .form-all .form-checkbox-item { width: auto; }

.form-all .form-checkbox-item label { margin: 0 8px 0 4px; }

/* --- Gravity Form Styles --- */
.gform_wrapper h3.gform_title, .gform_wrapper h2 {  font-size:1.5em !important; font-family: 'Open Sans', sans-serif; font-weight: 400 !important;  }
.gform_fields, .gform_fields .gfield { margin:0 !important; }
.gform_wrapper .gform_description { text-align: justify; display: block; }
/*.gform_wrapper, .gform_wrapper label, .gform_wrapper input, .gform_wrapper button, .gform_wrapper select, .gform_wrapper textarea { font-size: 13px; }*/
.gform_wrapper input[type=text] { padding-top: 4px !important; padding-bottom: !important; margin-bottom: 0; }
.gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li { margin-bottom: 4px !important; }
.gform_wrapper textarea.medium { height: 100px !important; }

.multiple-column .gfield_checkbox li, .multiple-column .gfield_radio li { width: auto; float: left; margin-right: 8px !important; }

#recaptcha_table, #recaptcha_table tbody { display: block; }
.recaptcha_theme_clean tr { display: block; }
.recaptcha_theme_clean tr td { display: block; width: auto !important; }
.recaptcha_theme_clean tr:first-child td { float: left; }
.gfield .recaptchatable .recaptcha_image_cell { width: 96% !important; padding-left: 2% !important; padding-right: 2% !important; }
#recaptcha_image, #recaptcha_image img { width: 100% !important; height: auto !important; }
.recaptcha_input_area { padding-right: 7px !important; }
.recaptcha_input_area input { max-width: 100% !important; }

/*------------- wp elements ----------------- */

.search-results form {
	border-bottom: 1px solid #DDD;
	padding: 0 0 8px;
}

.search-results div.page {
	padding: 0 10px;
	margin: 6px 0;
	border-bottom: 1px solid #DDD;
}

.next-posts { float:left; }

.prev-posts { float:right; }

.navigation {
	overflow: auto;
	margin: 0 0 .5em;
}

.postmetadata { font-size: 10px; }

#commentform > div { margin:5px 0; }

#commentform label { font-weight:bold; }

#commentform textarea#comment { width:100%; }

.commentlist li {
	background: #EEE;
	list-style: none;
	border:1px solid #ccc;
	border-left:4px solid #ccc;
	box-shadow: 5px 2px 10px rgba(0, 0, 0, 0.07);
	padding: 10px;
}

.commentlist li.even { background-color:#F7F7F7; }

.commentlist img.avatar {
	float:left;
	margin-right:10px;
}

.commentlist .reply { text-align:right; }

.commentlist ul.children { margin-top:10px; }

/*------------- menu styles ----------------- */

.sf-menu * {
	margin:0;
	padding:0;
	list-style: none;
}

/* MAIN TOPICS TEXT (BUTTONS)*/
.sf-menu a, .sf-menu a:visited { /* properties for the main nav text*/
	padding: 0 5px;
	color:#FFF;
	text-align: center;
	text-decoration:none;
	text-transform: capitalize;
	font: 300 130%/1.2em 'Open Sans', sans-serif;
}

.sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {/* properties for the main nav text HOVER state*/ outline:		0; }

/* SUB TOPICS TEXT*/
.sf-menu li li a, .sf-menu li li a:visited { /* properties for the sub nav text*/
	text-align: left;
	padding: 5px 20px 5px 10px;
	text-decoration:none;
	color:#FFF;
	font-size: 1em;
	line-height:150%;
	text-transform:none;
}

.sf-menu li li:hover, .sf-menu li li.sfHover, .sf-menu li li a:hover, .sf-menu li li a:active {/* properties for the main nav text HOVER state*/ outline: 0; }

.sf-menu li li li a:hover, .sf-menu li li li a:active {/* properties for the main nav text HOVER state*/ }

/* FIRST LEVEL DROPDOWNS */
.sf-menu ul {
	position: absolute;
	top: -999em;/* this moves the submenus out of sight so they dont flash on page load */
	width: 200px; /* overridden when supersubs initialized */
}

.sf-menu li li { background: #1F1F1F; }

.sf-menu li li li { }

.sf-menu li:hover ul, .sf-menu li.sfHover ul {
	left: 0;
	top: 47px; /* set equal to the height of the main nav buttons so drop-downs come down from the right place */
	z-index: 99;
}

/* SECOND LEVEL DROPDOWNS */
ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul {
	left: 200px; /* overridden when supersubs initialized */
	top: 0;
}

/* THIRD LEVEL DROPDOWNS */
ul.sf-menu li li li:hover ul, ul.sf-menu li li li.sfHover ul {
	left: 200px; /* overridden when supersubs initialized */
	top: 0;
}

/* YOU PROBABLY DO NOT NEED TO CHANGE ANYTHING BELOW THIS */

.sf-menu a.sf-with-ul { min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */ }

.sf-sub-indicator { display: none; }

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator {
	position:		absolute;
	display:		block;
	right:			.75em;
	top:			.75em;
	width:			10px;
	height:			10px;
	text-indent: 	-999em;
	overflow:		hidden;
	background:		url('http://common.pbhs.com/_media/images/arrows-ffffff.png') no-repeat -10px 0;
}

.sf-menu ul a > .sf-sub-indicator { background-position:  0px 0; }

.sf-menu ul a:focus > .sf-sub-indicator, .sf-menu ul a:hover > .sf-sub-indicator, .sf-menu ul a:active > .sf-sub-indicator, .sf-menu ul li:hover > a > .sf-sub-indicator, .sf-menu ul li.sfHover > a > .sf-sub-indicator { background-position: -10px 0; }

/*** adding sf-vertical in addition to sf-menu creates a vertical menu ***/
.sf-vertical, .sf-vertical li { width:	152px; }

/* this lacks ul at the start of the selector, so the styles from the main CSS file override it where needed */
.sf-vertical li:hover ul, .sf-vertical li.sfHover ul {
	left:	152px; /* match ul width */
	top:	0;
}

.sf-menu ul li { width: 100%; }

.sf-menu li:hover { visibility: inherit; /* fixes IE7 'sticky bug' */ }

.sf-menu li {
	float: left;
	position: relative;
}

.sf-menu a {
	display: block;
	position: relative;
}

ul.sf-menu li:hover li ul, ul.sf-menu li.sfHover li ul, ul.sf-menu li li:hover li ul, ul.sf-menu li li.sfHover li ul { top: -999em; }

ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul, ul.sf-menu li li li:hover ul, ul.sf-menu li li li.sfHover ul { top: 0; }
