* { box-sizing:border-box; }
.padding, .s5_wrap {padding-left:12%;padding-right:12%;}
.spacing-s {padding-top:.5em;padding-bottom:.5em;}
.spacing,.grid.spacing {padding-top:1em;padding-bottom:1em;}
.spacing-l {padding-top:2em;padding-bottom:2em;}
.top-spacing, .com-content-article__body > div.top-spacing {padding-top:3em;}
.top-spacing-l {padding-top:4em;}
.top-spacing-s {padding-top: 1em;}

.bottom-spacing {padding-bottom:3em;}
.bottom-spacing-l {padding-bottom:4em;}
.padding-s {
	padding-left: 4%;
	padding-right: 4%; 
}

.smaller {font-size: 80%;line-height: 1.1em;}
.plus {font-size: calc(1em + .5vw);line-height: 1.4em;}
.pluser {font-size: calc(1em + .9vw);line-height: 1.4em;}
.medium {font-size:calc(1em + 1.4vw);line-height:1.2em;}
.large {font-size:calc(1em + 1.8vw);line-height:1.2em;}

.line-height-2 {line-height: 1.8em;}
.color-white, .color-white *, #s5_footer_area1 * {color:#fff;}
.align-right {text-align:right;}
.align-center {text-align:center;}
.align-left {text-align:left;}
.bk-white,.callout.bk-white {background: #fff;}
.bk-light-blue {background: #D6E4EA;}
.bk-dark-green {background: #2F424B;}
.mod-preview {
	grid-area: debug;
}
.clearfix {
	clear: both;
	height: 0;
}
.table { display:table; }
section.float-left {
	margin: 1em 3em 1em 0;
	max-width:50%;
}
div.com-content-article__body a {/* text-decoration:underline; */}
:is(h1, h2, h3, h4) {
	font-family: 'Newsreader', serif;
}
div.tab h2 {
  font-size: calc(1em + 3vw);
  text-shadow: 6px 2px 0 #2A3B13;
  color: #8DC63F;
}
div.tab p {
	font-size: 1.1em;
	font-weight: 300;
}
.btn.btn-circle-border {
	background: transparent;
	border-radius: 99em;
	border: 2px solid #8DC63F;
	font-family: 'Newsreader', serif;
	padding: .4em 2em;
}
.container-top-b .page-title h1 {
	/* margin-bottom: -2rem; */
	/* margin-top: 1.5em; */
	line-height: 1.3em;
	margin: 0;
}
div.container-top-b .page-title {
	padding-top: 70px;
	margin-bottom: -1.5em;
	z-index: 2;
}
.float-right.item-image {
  position: relative;
  margin: 0 0 3em 3em;
}
.float-left.item-image {
  position: relative;
  margin: 0 3em 3em 0;
}

body{overflow-x:hidden;}
/* .tab-container {
  display: flex;
  height: 100%;
  overflow: hidden;
  align-items: center;
}
div.navbar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 8px;
  background-color: #3376B6;
  z-index:9;
  height: 500px;
  margin-left: 24px;
} */
.dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #3376B6;
  /* cursor: pointer; */
  transition: background-color 0.3s ease;
  /*! transform: scale(0); */
}
.dot::after {
	content: " ";
	width: 48px;
	height: 48px;
	display: block;
	position: absolute;
	border: 4px solid #3376B6;
	border-radius: 9999em;
	left: 20px;
	margin-top: -12px;
	transition: all 1s ease;
	transform: scale(0);
}
.dot.active:after {
  transform: scale(1);
}
.tabs {
  flex: 1;
  display: flex;
  /*! flex-direction: column; */
  overflow-y: scroll;
  scroll-behavior: smooth;
  /*! perspective: 0px; */
  align-items: center;
  align-content: center;
  align-self: center;
}
.tab {
	padding: 50px;
	position: absolute;
	transition: all 1.5s ease-in-out;
	transform-origin: center center;
	transform-style: preserve-3d;
	transform: translateX(-50%) translateY(0%) scale(0);
	opacity:0;
	/*! width: calc(100% - 100px); */
	/*! height: calc(100% - 100px); */
}

.tab.active {
	transform: translateX(0px) translateY(0%) scale(1); 
	opacity:1;
}
.befor-after {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2em;
  justify-content: space-evenly;
  align-content: space-evenly;
  padding: 0 !important;
}
.inputbox, .registration input, .login input, .contact-form input, #jform_contact_message, input {
	border:1px solid #D8D8D8;
	padding:4px;
	background:#F7F7F7;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	-moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.07) inset; /* FF3.5+ */
	-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.07) inset; /* Saf3.0+, Chrome */
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.07) inset; /* Opera 10.5, IE9, Chrome 10+ */}
input[type="radio"], input[type="checkbox"] {
	margin: 4px 0 0;
	margin-top: 1px\9;
	line-height: inherit;
	cursor: pointer;
}
input, input[type="button"], input[type="reset"], input[type="radio"], input[type="checkbox"], input[type="file"], input[type="image"], input[type="submit"], textarea {
	width: auto;
}
input, texteara, select {
	height: auto !important;
}
.sticky {
	position: fixed;
	top: 0;
	width: 100%;
}
nav .navbar-menu {
	background: #68625B;
	padding-left: 280px;
}
nav .navbar-menu > ul > li > a {
	color: #fff;
	font-weight: 600;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
}
.navbar-brand > a {
  display: inline-block;
}
.navbar-brand {
  padding: 1em;
  margin-bottom:-260px;
  z-index:9;
  position:relative;
}
.navbar-menu > ul > li.active > a, .navbar-menu > ul > li > a:hover {
	border-bottom-color: #fff;
}
.hero > p {
	padding: 0;
	margin: 0;
}
.hero img, .hero video {
	width: 100%;
}
.site-grid.site.homepage, .bk-marble {
	background: url("/images/bk-marble.png") repeat center center transparent;
	background-size: cover;
}
.home-title {
	/* width: 1030px; */
	margin: auto;
	max-width: 1160px;
}
.img-box {
  position: relative;
  display: table;
  width: 100%;
}
.mod-img-block {
	display: table-cell;
	vertical-align: middle;
	padding-right: 3em;
}
.img-box > p {
  width: 125%;
}
.img-box > p img {
	width: 100%;
}
.mod-img-block > div, div.callout {
	background: #D6E4EA;
	padding: 3em 3em 2em;
	position: relative;
	width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.btn {
	background: #76A6BA;
	border: 0;
	padding: .8em 2.2em;
	font-weight: 600;
}
.mod-service-grid {
  text-align: center;
  padding-left: 2em;
  padding-right: 2em;
}
.mod-service-grid .service {
  display: inline-block;
  width: 33%;
  margin-bottom: 5em;
}
.mod-service-grid .service:last-child {
	margin-bottom: 0;
}
.mod-service-grid .service a {
  display: inline-block;
}
.mod-rebecca > div.right-img {
	float: right;
	/* max-width: 50%; */
	margin: -6em 0 -6em 0;
	width: 100%;
}
.mod-rebecca {
	display: table;
	margin: 4em 0 0;
	border-bottom: 4em solid #fff;
}
.mod-block-content > div {display:table;width:100%;}
.mod-rebecca > div, .mod-block-content > div > div {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
}
.mod-block-content .left-content {
	padding-right: 3em;
	width: 60%;
}
.mod-rebecca > div.right-img img {
  display: block;
  margin: auto 0 auto auto;
}
.mod-rebecca > div.left-content {
	padding-right: 3em;
}
.mod-rebecca > div.left-content p {
	font-size: .9rem;
	margin-bottom:2em;
}
div.testimonials {
	/* padding: 0 2em; */
	position: relative;
	clear: both;
	padding-top: 4em;
	text-align: center;
}
#google-reviews {
	padding: 0 2em;
	width: 90%;
	margin: auto;
}
span.review-profile-image {
    float: left;
        padding: 0px 15px 0px 0px;
}
span.review-profile-image img {
    width: 40px;
}
.review-item {
    /* border-bottom: solid 1px rgba(190,190,190,.35); */
    margin: 5px auto;
    display: block;
    width: 100%;
    padding: 15px 0px;
}

.review-meta, .review-stars {text-align:left; font-size:115%;}
.review-author { text-transform: capitalize; font-weight:bold; }
.review-date {opacity:.6; display:block;}
.review-text {
	line-height: 1.55;
	text-align: left;
	max-width: 72em;
	margin: 0 0 0 3.8em;
}


.review-stars ul li {
float: left;
list-style: none !important;
margin-right: 1px;
line-height:1;
}

.review-stars i {
  color: #CDC4B5;
  font-size: 1.4em;
  font-style:normal;
display: inline-block;
}
.review-stars i.inactive { color: #c6c6c6;}
.star:after { content: "\2605"; }
.sy-pager {
	display: none !important;
}
footer *, footer *:hover {
	color: var(--hiq-footer-text-color);
}
.social > a {
	display: inline-block;
	margin: 0 10px;
}
.social img {
	width: 60px;
}

.hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	/* margin-bottom: 3em; */
	max-height: 80vh;
}
body.homepage .hero {margin-bottom: 0;}
.hero-title {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	display: table;
	background: rgba(255,255,255,.6);
	padding: 1em 1.5em;
	width: 400px;
	max-width: 50%;
	text-align: center;
}
.hero-title > * {
  height: 100%;
  vertical-align: middle;
  display: table-cell;
  line-height: 1.4em;
}
body.split-header .hero-title h1 {
	/* text-align: center;
	padding:0 5% 0 0%; */
}
.com-content-article__body > div {
	padding: 0 5vw;
}
.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(23%,1fr));
	justify-content: space-around;
	justify-items: center;
	grid-gap: 5%;
	grid-template-rows: auto;
	align-items: center;
}
.grid.tight {
	grid-template-columns: repeat(2,minmax(330px,auto));
	justify-content: center;
}
.grid.left {
	justify-items: left;
	justify-content: start;
	align-items: start;
	padding: 0;
}
.mod-our-team.grid {
	grid-template-columns: repeat(auto-fit,minmax(28%,1fr));
	margin-top: 4em;
	margin-bottom: 4em;
	/* grid-template-rows: max-content; */
	overflow: visible;
}
.mod-our-team.grid > div {
	overflow: auto;
	margin: 1em 0;
}

.col-img, .col-content {
	margin: 2em 0 3em;
	position: relative;
}
.headshot {
	margin-bottom: 1em;
	/* width: 345px; */
}
.headshot a {
	display: inline-block;
	width: 345px;
	position: relative;
	border-radius: 100%;
	overflow: hidden;
	color: #2F424B;
	max-width: 100%;
	height: 345px;
}
.headshot a:hover:before {
  background: rgba(214,228,234,.9);
  content: "Learn More";
  width: 100%;
  height: 100%;
  position: absolute;
  font-family: "Newsreader";
  text-align: center;
  font-size: 2em;
  align-items: center;
  display: grid;
  line-height: 1.3em;
}
.headshot img {
	width: 345px;
	object-fit: cover;
}
.float-right.item-image img {
	max-width: 345px;
}

body.edge-img .grid.content-img {
	padding-right: 0;
	justify-items: right;
}
body.edge-img .grid.img-content {
	padding-left: 0;
	justify-items: left;
}
.imgbox:after {
  content: " ";
  position: absolute;
  height: 100%;
  width: 100%;
  display: block;
  left: -1em;
  bottom: -1em;
  background: #ccc;
  z-index: 1;
}
.imgbox.box-blue:after {
  background: #D6E4EA;
}
.imgbox.box-tan:after {
  background: #CDC4B5;
}
.imgbox.box-right::after {
	left: unset;
	right: -1em;
}

.imgbox img {
  z-index: 2;
  position: relative;
}

body.homepage footer {
	border-top: 5em solid #fff;
}
.com-content-article__body > h3, .com-content-article__body > h4 {
	padding-top: 1rem;
}
#top-menu {
	width: calc(100% - 280px);
	margin-left: 280px;
}
.mod-top-menu.nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-around;
  padding: 0;
  align-items: center;
}
.mod-top-menu.nav li, .mod-top-menu.nav li a:not(.btn) {
  display: inline-block;
  color: #7D7D7D;
  font-weight: 600;
}
.mod-top-menu.nav {
}
#top-menu, div.navbar-brand {
  display: inline-block;
  vertical-align: middle;
}
div.mod-inset-callout {
	margin-top: 3em;
	margin-bottom: -10em;
}
div.mod-inset-callout.block {
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
	width: 100%;
	margin-top: 2em;
}
.com-content-article__body .mod-inset-callout-padding {
	padding-top: 12em;
}
.mod-block-content {
	padding: 0 !important;
}

div.banner {
  text-align: center;
  background: #76a6ba;
  padding: 1em;
  color: #fff;
  font-weight: 700;
}
div.banner p {
  margin: 0;
}
.col-content.spacing {
  margin: 2em;
  padding-top: 2em;
}
.thumbnail {
  max-height: 300px;
  overflow: hidden;
  align-self: normal;
  justify-self: center;
}
.thumbnail img {
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}
div.right {
	float: right;
	margin: 0 0 1em 1em;
	padding: 0;
	max-width: 50%;
}
.mobile-only {
	display: none !important;
}
body.menu-open .sticky span.navbar-menu-toggle span:after,body.menu-open .sticky span.navbar-menu-toggle span:before {
	/* background-color:#fff; */
}
.sticky {
	box-shadow: 0 14px 14px rgba(0,0,0,.2);
}
div.contact-info a {color:#000;}
div.contact-info a:hover {text-decoration:underline;}

.footer-copyright {
	font-size: 75%;
	display: block;
	margin-top: 2em;
}
.navbar-brand, .navbar-brand img {
	transition: all .5s linear;
	/* text-align: center; */
}
.sticky .navbar-brand img {
	/* max-width: 160px; */
	/* margin: auto; */
}
.sticky .navbar-brand {
	/* margin: auto; */
	/* padding: .5em 0 0; */
	/* text-align: center; */
	/* margin-bottom: -200px; */
}
div#top-menu .custom {
  text-align: right;
  font-size: 1.5em;
  font-weight: 600;
  padding: 0 9vw .8rem 2.2rem;
  float: right;
  /*! width: 100%; */
}
body .sy-controls li {z-index:3;}
body header.header {z-index:6;}

  .video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
  }
  .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  } 
 section.mod-title-video {
	text-align: center;
}
iframe {
	max-width: 100%;
}

.mod-block-content > div.text-video {
	display: grid;
	grid-template-columns: 1fr minmax(300px,45%);
	gap: 4em;
	align-items: center;
}
.mod-block-content > div.text-video > div {
  display: block;
  width: 100%;
}

.com-content-article__body h3 + h4 {
	margin-top: -1rem;
	/* font-weight: 600; */
}


@media screen and (max-width: 1200px) {
	
body .padding {
	padding-left: 4%;
	padding-right: 4%;
}
	
}

@media screen and (max-width: 1100px) {
body .img-box > p {
  width: 150%;
}
body .mod-img-block > div, body div.callout {
  width: 500px;
}
body .mod-rebecca > div.right-img {
	margin-top: -2em;
}
}

@media screen and (max-width: 900px) {
body .mod-block-content > div.text-video {
	grid-template-columns: 1fr;
	gap: 0;
}
body .sticky .navbar-brand img {
	max-width: 100px;
	margin: 0 0 -1.4em 0;
}
body .sticky .navbar-brand {
	margin: 0;
	padding: .5em 0 0 1em;
	/* text-align: left; */
}
.menu-open .navbar-menu, .navbar-menu > ul {
	position: absolute;
	top: 0;
	background: #68625b;
	z-index: 10;
}
body #main-menu ul {
  margin: 0;
  padding-top: 2em;
  padding-bottom: 2em;
  /*! overflow: auto; */
  /*! max-height: 90vh; */
}
body #main-menu {
  overflow: auto;
  min-height: 100vh;
}
body .navbar-brand {
	margin: -5px 0 -85px;
	width: 210px;
	display: block;
	z-index: 9;
	max-width: 44%;
}
body .navbar {
	overflow: visible !important;
}
body section.float-left {
	float: none !important;
	margin: 1em 0 !important;
	max-width:100% !important;
}
body section.float-left img {
  display: inline-block;
  margin: 1em;
}
section.float-left br {
  display: none;
}
body div.container-top-b .page-title {
	border-top: 1px solid #ccc;
	padding-top: 2em;
	margin-top: 1em;
}
body .hero-title {
  top: unset;
  bottom: 0;
  height: auto;
  width: 100%;
  max-width: 100%;
  background: #76a6ba;
  position: relative;
  color: #fff;
  /*! display: block; */
}
body .hero-title h1 {
  line-height: 1em;
  display: block;
  margin: 0;
  padding-top: .5rem;
}
body .float-right.item-image img {
	max-width: 100%;
}
body .mod-rebecca > div, body .mod-block-content > div > div {
	display: block;
	width: 100% !important;
	padding: 0 !important;
	margin: 1em auto 2em;
}
body .mod-rebecca > div.right-img {
  margin: 1em auto;
  float: none;
}
body .mod-rebecca > div.right-img img {
  margin: auto;
}
body div.mod-block-content .callout {
  padding: 1em !important;
  text-align: center;
}
body div.mod-block-content .callout img {
  margin: 1em auto;
}
body .img-box > p {
  width: 100%;
  margin:0;
}
body .mod-img-block > div, body div.callout {
  width: 500px;
}
body .mod-img-block > div, body div.callout {
  width: 100%;
}
body .mod-img-block {
  display: block;
  width: 100%;
  padding: 0;
}
body .mod-service-grid .service {
	width: 48%;
	margin-bottom: 2em;
}
body #navbar-menu-toggle {
	position: absolute;
	top: 0;
	right: 2vw;
	z-index: 11;
}
body .img-box {
  display: block;
}
body .grid-child > * {
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}
body .container-top-b .page-title h1 {
  /* margin: 1em 0 0; */
}
body .mobile-only {
  display: block !important;
}
body li.nav-item {
  text-align: center;
  display: block !important;
}
body li.nav-item a {
	text-decoration: none !important;
	border: 0 none !important;
	width: 100%;
	/* background: #554F48; */
	padding: .5em 1em !important;
}
body #top-menu {
	width: 100%;
	margin-left: 0;
}
body .mod-top-menu.nav {
	display:none;
}
body div#top-menu .custom {
	padding: 0;
	position: absolute;
	top: 3em;
	right: 1em;
	transition:all .5s linear;
}
body .sticky div#top-menu .custom {
	font-size: 1.3em;
}

body .site-grid.site.menu-open {
	overflow: hidden;
}
body .header.has-banner {
	position: sticky;
	z-index: 999;
}
body h1 {
  font-size: calc(1em + 4vw);
}
footer {
	text-align: center;
}
footer img {
	margin: 1em auto 2em;
}
h1 br, h2 br, h3 br {
	display: none;
}
}

@media screen and (max-width: 750px) {
body .social img {
	width: 50px;
	margin-bottom: 1em;
}
body .footer-copyright {
	margin-top: 0;
}
body .befor-after {
	grid-template-columns: 1fr;
}
body .float-right.item-image {
	float: none !important;
	margin: 3em 0 -1em;
}

body .float-right.item-image {
  float: none !important;
  margin: 3em 0 -1em;
}
body .grid {
	display: inline-block;
	justify-items: normal;
	align-items: normal;
	width: 100%;
	padding: 0 !important;
}
body .grid .col-img {
	/* text-align: center; */
	padding-left: 2em;
	padding-right: 2em;
}
body .grid .col-content {
	padding: 0 2em;
}
body .thumbnail {
  max-height: 100%;
  max-width: 100%;
  margin: 1em auto;
}
body .imgbox:after {
  max-width: 100%;
  display: none;
}
body .imgbox img {
  border: 8px solid;
}
body .imgbox {
	margin: auto;
	max-width: 90%;
	display: inline-block;
}
body .headshot {
	text-align: center;
}
body .headshot img {
	margin: auto;
}
body .grid.content-img,body .grid.img-content {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
body .col-img {
  order: 1;
  margin-bottom: 2em;
}
body .col-content {
  order: 2;
  margin-top: 0;
}
body .mod-inset-callout .callout .grid {
  display: grid;
}
body .grid.tight.contact-info {
	text-align: center;
}
body .headshot a::before {
	background: rgba(214,228,234,.9);
	content: "Learn More";
	width: 100%;
	height: 30%;
	position: absolute;
	font-family: "Newsreader";
	text-align: center;
	font-size: 2em;
	align-items: center;
	display: grid;
	line-height: 1.3em;
	bottom: 0;
}
} 


@media screen and (max-width: 650px) {
body .mod-service-grid .service {
	width: 95%;
}
body .mod-inset-callout .callout .grid {
	/* display: grid; */
	grid-template-columns: 1fr minmax(130px,1fr);
	justify-items: center;
	gap: 0;
}
} 


@media screen and (max-width: 450px) {

body .mod-inset-callout .callout {
  padding: 1em;
}
body .mod-inset-callout .callout .grid > div:first-child {
  text-align: right;
}
body .navbar-brand {
	margin-bottom:-35px;
}
} 
