* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#header-left  {
    text-align: right;
}

.stuck .genesis-nav-menu .menu-item {
	line-height: 40px;
}

.genesis-nav-menu {
	padding-right: 6em;
}

#header-right {
	padding-right: 0;
}

nav.stuck {
	background-color: #2f3438;
	height: 60px;
}

.button-small {
	padding: .8rem 1rem;
	background-color: #999;
	color: #fff;
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    letter-spacing: 1px;
	text-transform: uppercase;
	margin-top: .3rem;
}

.button-small:hover {
	background:#f1aa23;
	color: #2F3439;
	text-decoration: none;
}

.header-telephone {
	padding: 26px 0 16px;
	display: flex;
    align-items: center;
    justify-content: flex-end;
}

.slidebar-left .button-small {
	background:#f1aa23;
	color: #2F3439;
	margin-left: 10px;
	margin-top: 20px;
	padding: 12px 24px;
}

.slidebar-left .button-small:hover {
	background-color: #333;
	color: #fff;
}

nav.stuck:before {
	content: "";
    color: #000;
    background-color: #fff;
    left: 0;
    top: 0;
    height: 60px;
    padding: .6em 3em 0 3em;
    width: 40%;
    align-items: center;
    position: absolute;
    box-sizing: border-box;
    font-weight: 500;
    background: #fff url('../images/logo-brooksher-header.png') 8.6em top no-repeat;
    background-size: contain;
    background-position: right 320px center;
}

.button > br {
	display: none;
}

.sidebar-button:hover {
	background-color: #f1aa23;
}

.learn-more-link {
	background-color: #fff;
}
.learn-more-link:hover {
	background-color: #e0e6e6;
}

.flex-row {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}

.flex-row:before {
	content: none;
}

.wrap .col-2 {
	width: 50%;
	margin: 0;
}

#home-services .learn-more-link {
	background-color: #e0e6e6;
}

#home-services .learn-more-link:hover {
	background-color: #fff;
}

.banner-content .button {
	padding: 1.6rem 2rem;
}

#idw-footer a {
	font-weight: 400;
}

#idw-footer p {
	margin-top: 2em;
}

.site-header .sub-menu .sub-menu {
    margin-top: -27px;
}

.genesis-nav-menu .sub-menu {
	background: #fff;
}

.genesis-nav-menu .sub-menu a:hover {
	background: rgba(0,0,0,.1);
	color: #000;
}

.entry-content h1, .content h1 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	margin-bottom: 1em;
}

.entry-content h1:before, .content h1:before {
	content: " ";
    width: 65px;
    height: 1px;
    background: #2f3438;
    position: relative;
    display: block;
    left: -89px;
    top: 21px;
}

.entry-content h2, .content h2 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 2.9rem;
}

.entry-content h3, .content h3 {
	font-family: "Roboto", sans-serif;
	font-weight: 800;
}

.entry-content ul {
	margin: 0 0 2.6rem 0;
}

.entry-content ul li {
	padding-left: 45px;
	position: relative;
}

.entry-content ul li:before {
	content: " ";
    width: 35px;
    height: 1px;
    background: #2f3438;
    position: absolute;
    display: block;
    left: 0;
    top: 12px;
}

.entry-content blockquote {
	background-color: #e0e6e6;
	text-align: center;
	color: #2f3438;
	margin: 0 0 2em 0;
    padding: 3em 3em 2em;
}

.entry-content blockquote p:first-child {
	font-family: "Montserrat", sans-serif;
	font-weight: 300;
	font-size: 1.2em;
	line-height: 2em;
}

.entry-content blockquote p:nth-child(2) {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 4px;
	font-size: 1.2rem;
}

.footer-map img {
  filter: grayscale(1);
}

.footer-map img:hover {
  filter:none;
  box-shadow: 0 0 12px rgba(0,0,0,.2);
}


.slider-prev:after {
  background-color:#e0e6e6;
  height: 10px;
  position: absolute;
  content: "";
  width: 70px;
  top: 4px;
  right: 70px;
}

.slider-next:before {
    background-color:#e0e6e6;
    height: 10px;
    position: absolute;
    content: "";
    width: 70px;
    top: 4px;
    right: 10px;
}

.slider-prev:hover:after, .slider-next:hover:before {
	background-color: #e7eded;
}

#smartslider3-2 {
  padding-bottom: 30px;
}
	
	/* testimonials */
	.testimonial-prev, .testimonial-next {
		position: relative;
	}
	.testimonial-prev:after, .testimonial-next:before {
		    background-color:#e0e6e6;
			height: 10px;
			position: absolute;
			content: "";
			width: 80px;
			top: 15px;
	}

	.testimonial-prev:hover:after, .testimonial-next:hover:before {
		background-color: #e7eded;
	}
	.testimonial-prev:after {
		right: -25px;
	}
	.testimonial-next:before {
		left: -25px;
	}


	/* smile gallery */
	#smile-gallery > h1:before {
	    content: " ";
	    width: 70px;
	    height: 1px;
	    background: #2f3438;
	    position: relative;
	    display: block;
	    right: 90px;
	    top: 21px;
	}


	#smile-gallery {
		text-align: center;
		padding: 10px 1em 40px;
	}

	#smile-gallery h1 {
		font-family: 'Montserrat', sans-serif;
		letter-spacing: 3px;
		font-weight: 400;
		text-align: left;
		font-size: 3.2rem;
		margin-bottom: 2rem;

	}

	#smile-gallery h4 {
	    text-align: left;
	    letter-spacing: 2px;
	    line-height: 1.6em;
	    font-size: .85em;
	    font-weight: 900;
	    font-family: "Roboto", sans-serif;
	}

	#smile-gallery > a {
		transition: all .5s;
		border: none;
	}

	#smile-gallery > a > div, #smile-gallery > a > div.smile-title {
		display:flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		
	}

	#smile-gallery > a > div > div {
		padding: 1em;
		background-color: #fff;
	}

	

	#smile-gallery a > div > div img {
		width: 100%;
		margin: 0;
		-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
		filter: grayscale(100%);
		transition: all .5s;
	}

	#smile-gallery > a > div.smile-title {
		padding: 10px;
	}

	#smile-gallery > a > div.smile-title > span {
		width: 100%;
		text-align: center;
	}

	#smile-gallery img.full-img {
		width: 100%!important;
	}

	#smile-gallery a:hover > div > div img {
		-webkit-filter:	none;
		filter: none;
		border: none;
		text-decoration: none;
		}

	#smile-gallery a div div img:nth-child(2) {
		display: none;
	}

	#smile-gallery > a {
		color: #333;
		padding: 3px;
		text-align: center;
		margin: 0 auto;
		font-family: "Lato", sans-serif;
		letter-spacing: 3px;
		text-transform: uppercase;
		font-size: .9em;
	}

	#smile-gallery > a:hover {
		color: #f15123;
		text-decoration: none;
	}

	/* filter */
	.smile-filter {
		display: flex;
	    flex-wrap: wrap;
	    flex-direction: row;
	    align-items: stretch;
	    justify-content: space-between;
	    margin-top: 2.5em;
	}

	.smile-filter li {
		background-color: #e7eded;
		padding: 0;
		margin: .5em 0 .5em 0;
		box-shadow: 0 0 20px rgba(0,0,0,.1);
		width: 100%;
		align-items: stretch;
		display: flex;
		
	}

	.smile-filter li a {
		text-transform: uppercase;
		font-size: .65em;
		letter-spacing: 1px;
		color: #000000;
		display: block;
		padding: 14px 18px;
		line-height: 1.3em;
		align-items: center;
		width: 100%;
		text-align: center;
	}

	.smile-filter li a:hover {
		color: #fff;
		background: #000000;
		text-decoration: none;
	}

	.smile-filter li.active a {
		color: #fff;
		background: #000000;
	}

	.smile-filter li.active a:hover {
		color: #fff;
	}
	

	/* modal */
	.smile-overlay {
		position: fixed;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.6);
		top: 0;
		left: 0;
		z-index: 99991;
		display: none;
	}

	#smile-gallery .modal {
		position: fixed;
		width: 1000px;
		max-width: 100%;
		background-color: #fff;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 99992;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		padding: 2em 5em;
		margin: 0!important;
		box-shadow: none;
		display: none;
    overflow-y: auto;
    max-height: calc(100vh - 20px);
	}


	.modal-close {
		position: absolute;
		right: .5em;
		top: 0;
		font-size: 2em;
		cursor: pointer;
	}

	#smile-gallery .modal h3 {
		font-weight: 300;
		text-align: center;
		width: 100%;
		display: block;
		letter-spacing: 2px;
		font-family: "Roboto",sans-serif;
	}

	#smile-gallery .modal h4 {
		text-transform: uppercase;
		font-weight: bold;
		text-align: center;
		width: 100%;
		display: block;
		letter-spacing: 4px;
		font-family: "Lato",sans-serif;
		font-size: 1em;
		margin: 0;
	}

	

	.modal div span {
		width: 100%;
		text-align: center;
		text-transform: uppercase;
		font-size: .8em;
		font-family: "Lato", sans-serif;
		font-weight: 900;
		display: block;
	}

	.modal p {
		font-size: .9em;
		font-family: "Roboto", sans-serif;
		overflow: auto;
	}
	/* end modal */

	#smile-gallery a > div > div {
		width: 49%;
	}

	#smile-gallery > a > div.smile-title > span {
		width: 50%;
	}

	.modal div {
		width: 48%;
		margin: 1%;
	}

	.modal div, .modal h4, .modal p {
		order: 0;
	}

	.modal div .portrait img{
		display: block;
		margin-bottom: 2px;
	}

	.modal p {
		margin: 0;
	}

	.smile-filter li {
		max-width: 22%;
		align-items: stretch;
		display: flex;
		margin: .5em 1em .5em 0;	
	}

	.smile-filter li a {
		align-items: center;
		display: flex;
		justify-content: center;
	}

	.pre-footer-cta {
		padding-bottom: 3em;
	}

.wpcf-field-image, .wpcf-field-image-value {
  width:100%!important;
}

.home-banner .wrap {
	position: relative;
}

.credit {
	position: absolute;
	right: 40rem;
	bottom: 3rem;
	color: #222;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 2px;
	font-size: 1.6rem;
}

.entry .gform_wrapper.gf_browser_safari ul li:after, .entry .gform_wrapper.gf_browser_safari ul li:before {
	content: none;
}

.search-form input[type="submit"] {
    border: 0;
    clip: none;
    height: 40px;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%;
  }

  .sidebar .widget {
    padding: 20px;
  }


/**
 * Media Queries
 */


 @media (max-width:1580px) and (min-width:1400px){
	.banner-tagline p {
		width: 458px;
	}
}



/* tablet over ~900 */
@media screen and (min-width:1025px){	
	#smile-gallery .modal {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}

/* mobile over ~600 */
@media screen and (max-width:1540px){

.genesis-nav-menu {
		padding-right: 1em;
	}

	#header-right {
		padding-left: 0;
	}

}

/* mobile over ~600 */
@media screen and (min-width:1025px) and (max-width:1360px){
	.banner-tagline p {
		max-width: 470px;
	}
	nav.stuck:before {
		width: 35%;
		background-position: right 120px center;
	}

	#header-left {
		width: 65%;
	    float: left;
	    padding: 25px 25px 25px 0;
	}
	#header-right {
	    width: 65%;
	    float: right;
	    padding: 25px 25px 25px 0;
	}

	#home-banner {
		background-size: 65% 60%;
	}

	.genesis-nav-menu {
		padding-right: 1em;
	}

	#header-right {
		padding-left: 0;
	}

	.header-telephone, .header-address {
		width: 33%;
		line-height: 2rem;
		right: 1rem;
		padding-top: 1rem;
	}

	.header-address {
		left: 1rem;
	}
}

@media screen and (max-width:1279px){
	.credit {
		right: 20rem;
	}
}
/* mobile over ~600 */
@media screen and (max-width:1024px){

	.inner-page .banner-content .wrap {
		
	}

	/* menu */
	#navbar {
		height: 115px;
		display: flex;
		align-items: center;
	}

	.toggle, #mobile-phone {
		position: absolute;
		top: auto;
	}

	#sitelogo-mobile {
	    display: block;
	    font-size: 2.2em;
	    margin: 0 auto;
	    padding-top: .5em;
	}

	.inner-page .site-container {
		background: none;
	}

	#smile-gallery {
		text-align: center;
		padding: 10px 40px 40px;
	}

	#sitelogo-mobile {
	    font-size: 25px;
	    width: 600px;
	}

	#smile-gallery a > div > div img {
		-webkit-filter: none;
	}

	#smile-gallery a > div > div img:last-child {
		display: block;
	}

	#smile-gallery .modal {
		padding:2em 6em;
	}

	

	

	#smile-gallery .modal h4 {
		margin-top: 20px;
	}

	#site-header {
		display: none;
	}	

}

@media screen and (max-width:1023px){
	.credit {
		left: 50%;
		transform: translateX(-50%);
		right: auto;
		width: 100%;
		text-align: center;
	}
}


@media screen and (max-width:768px){
	/* general */
	.site-container {
		padding-top: 115px;
	}
	.large {
		font-weight: 300;
	}

	.inner-page .banner-content {
		padding-top: 0;
	}

	.inner-page .banner-content .wrap {
		padding: 2em;
    	margin: 2em auto;
    	max-width: 90%;
	}


	#home-expertise .wrap {
		padding: 0 4em;
	}

	
	#home-testimonials .wrap {
		padding: 125px 35px 40px;
		margin: 14px 5% 0 5%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 90%;
	}
	#home-testimonials .n2-font-65dda18a13fcbf99fbdf03e8d41292c0-paragraph {
		font-weight: 400!important;
	}
	.testimonial-prev, .testimonial-next {
		order: 1;
		margin: 2em 4em;
		position: relative;
	}
			
	.home-expertise-list {
		padding: 0 5em;
		font-weight: 300;
	}
	.testimonial-prev, .testimonial-next {
		cursor: pointer;
	}
	#pre-footer .wrap {
		margin: 14px 3em 0 3em;
		width: auto;
		padding-top: 5em;
	}

	/* menu */
	#navbar {
		height: 115px;
		display: flex;
		align-items: center;
	}

	.toggle, #mobile-phone {
		position: absolute;
		top: auto;
	}

	#sitelogo-mobile {
	    display: block;
	    font-size: 2.2em;
	    margin: 0 auto;
	    padding-top: .5em;
	}

	#home-expertise {
		padding-bottom: 0;
	}
	.expertise-cta {
		bottom: -41px;
		margin-top: 0;
		margin-bottom: 20px;
		z-index: 2;
	}

	#smile-gallery a > div > div {
		width: 100%;
	}

	#smile-gallery a > div > div:nth-child(2) {
		display: none;
	}

	.modal div {
		width: 100%;
	}

	.modal div:nth-child(3){
		order: 1;
	}

	.modal div:nth-child(4){
		order: 3;
	}

	.modal div:nth-child(5){
		order: 2;
		margin: 10px 0;
	}

	.modal div:nth-child(6){
		order: 4;
		margin: 10px 0;
	}

	.modal h4:nth-child(7){
		order: 5;

	}

	.modal p:nth-child(8){
		order: 6;
	}
	.modal p {
		margin: 0 -4em;
	}

	.modal div:nth-child(3), .modal div:nth-child(4){
		padding: 1em;
		box-shadow: 0 0 20px rgba(10,10,10,.1);
	}

	.modal div img {
		width: 100%;
	}

	.modal div .portrait img {
		display: none;
		margin-bottom: 2px;
	}
}

@media screen and (max-width:480px){

	.wrap .col-2 {
		width: 100%;
		margin: 0;
	}

	.site-container {
		padding-top: 90px;
	}

	.inner-page .banner-content {
		padding-top: 2em;
	}

	.inner-page .banner-content .wrap {
		padding: 2em;
    	margin: 1em auto;
    	max-width: 90%;
	}

	.section-large {
		letter-spacing: 10px;
	}
	.button > br {
		display: inline;
	}

	.button {
		text-align: left;
		width: 100%;
		padding: 2rem;
		position: relative;
	}

	.button:after {
		position: absolute;
		right: 2.5rem;
		top: 50%;
		transform: translateY(-50%);
	}

	#pre-footer .button, .expertise-cta .button {
		width: 80%;
	}

	.expertise-cta {
		bottom: -20px;
	}


	/* menu */
	#navbar {
		height: 90px;
		display: flex;
		align-items: center;
	}
	#sitelogo-mobile {
	    font-size: 1.5em;
	    width: 40%;
	    line-height: 1em;
	    padding-top: 0;
	}

	.dr-photo {
		padding: 0 2em;
	}

	#home-services {
		padding-bottom: 1em;
	}

	.service {
		text-align: center;
	}

	.service-num {
		padding-bottom: .6em;
	}

	.service .learn-more-link {
		margin-bottom: 6em;
	}

	#home-gallery {
		padding-top: 1em;
	}

	#home-expertise .wrap {
		padding: 0 1em;
	}

	#home-testimonials .wrap {
		margin: 0 2.5%;
		padding-top: 4em;
		width: 95%;
	}

	.testimonial-prev {
		margin: 2em 2em 2em 0;
	}
	.testimonial-next {
		margin: 2em 0 2em 2em;
	}
	

	#pre-footer .wrap {
		margin: 0 1em 0 1em;
		width: auto;
		padding-top: 4em;
	}

	#idw-footer img {
		max-width: 70%;
	}
  
  .slidebar-left, .slidebar-right {
    top: 90px;
  }
}