body {font-family: "open sans", Arial, Helvetica, "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", "Lucida Grande", sans-serif;font-weight: 300;padding:0px;margin:0px;color:white;background-color: #292929; }

/* dropdown menu */
li{float: left; }
.dropbtn {display: inline-block; color: white; text-align: center; padding: 14px 16px; text-decoration: none; }
li.dropdown {display: inline-block; }
.dropdown-content { display: none; position: absolute;background-color: #efefe8;min-width: 190px;box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.2); z-index: 1; /* box-shadow: 0 0px 2px 2px rgba(0,0,0,0.1); */}
.dropdown-content a {color: black;min-width: 160px;padding: 10px 15px;text-decoration: none;display: block;text-align:left;background-color: #fff;border-bottom: 1px solid #edeef0;}
.dropdown-content a:first-child {/*border-top:2px solid white;*/ }
/*.dropdown-content a:hover{background-color:#eeefdf; color:#904d15; }*/
.dropdown:hover .dropdown-content {display: block; }
/* end dropdown menu */

header {
  background-color: #edeef0;;
  border-color: #b0b579;
  padding-bottom: 5px;
}
header .navbar-text {
  color: #3b230f;
}
header .navbar-nav > li > a:not(.book-online) {
  color: #444;
  font-size:16px; /* added oct 12 2017 */
}
header .navbar-nav > li.active-page > a, header .navbar-nav > li > div > a.active-page {
  font-weight: bold;
}
header .navbar-nav > li > a:not(.book-online):hover,
header .navbar-nav > li > a:not(.book-online):focus,
.dropdown-content a:not(.book-online):hover {
  color:#222; font-weights: bold;
}
header .navbar-nav > .active > a,
header .navbar-nav > .active > a:hover,
header .navbar-nav > .active > a:focus {
  color: #904d15;
  background-color: #b0b579;
}
header .navbar-nav > .open > a,
header .navbar-nav > .open > a:hover,
header .navbar-nav > .open > a:focus {
  color: #904d15;
  background-color: #b0b579;
}
header .navbar-toggle {
  /*border-color: #b0b579;*/
  border-color: rgba(141,198,63,1);
  border-radius: 0;
}
header .navbar-toggle span {
  color: rgba(141,198,63,1);
}
header .navbar-toggle:hover/*,
header .navbar-toggle:focus*/ {
  /*background-color: #b0b579;*/
  border-color: rgba(141,198,63,0);
  background-color: rgba(141,198,63,1);
}
header .navbar-toggle:hover .icon-bar/*,
header .navbar-toggle:focus .icon-bar*/ {
  /*background-color: #b0b579;*/
  background-color: #fff;
}
header .navbar-toggle:hover span/*,
header .navbar-toggle:focus span*/ {
  color: #fff;
}
header .navbar-toggle .icon-bar {
  /*background-color: #3b230f;*/
  margin-left: 60px;
  background-color: rgba(141,198,63,1);
}
header .navbar-toggle .icon-bar:hover {
  /*background-color: #3b230f;*/
  color: #fff;
}
header .navbar-collapse,
header .navbar-form {
  border-color: #3b230f;
}
header .navbar-link {
  color: #3b230f;
}
header .navbar-link:hover {
  color: #904d15;
}

@media (max-width: 767px) {
  header .navbar-nav .open .dropdown-menu > li > a {
    color: #3b230f;
  }
  header .navbar-nav .open .dropdown-menu > li > a:hover,
  header .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #904d15;
  }
  header .navbar-nav .open .dropdown-menu > .active > a,
  header .navbar-nav .open .dropdown-menu > .active > a:hover,
  header .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #904d15;
    background-color: #b0b579;
  }
}


header .navbar-nav > li.underline-from-center > a { font-weight: bold; color: #444; }



.logo {
    height:70px;
    margin-left:0px;
    margin-bottom:10px;
    padding:10px;
}

.navbar-header {
    height:130px;
}



/* Underline From Center - there are IE10+ and Edge hacks for this at the bottom of the css file */
.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  bottom: 0;
  /*background: #b0b579;*/
  background-color: rgba(141, 198, 63, 1);
  height: 4px; /* I'd like to have this be 4px and delegte it below but can't bc of IE and Edge glitches, which show 1px wide green bar even after it's supposed to have disappeared */
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before {
  left: 0;
  right: 0;
}
/* there are IE10+ and Edge hacks for this at the bottom of the css file */



/* adam added */
/* ---------------------------------------------------- */

/* fix the bootstrap issue that causes the desktop menu to stutter (become a tiny bit shorter) at 767px and below */
.navbar-nav>li>a {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left:11px; /* added oct 12 2017 */
  padding-right:11px; /* added oct 12 2017 */
}



/* global (things that are used in multiple places) */

.mobile-only,
.mobile-only-span { display:none; }

.clear { clear: both; font-size: 0; line-height: 0; }

a:focus, a:hover { text-decoration: none; }

.hvr-underline-from-center:before,
li.underline-from-center:before,
a.book-online { background-color: rgba(141,198,63,1); }

a.book-online:hover,
.btn-success.hvr-underline-from-center:hover,
.nav>li>a.book-online:hover { background-color: rgba(141,198,63,.6); }

.btn-success.hvr-underline-from-center { border:0; text-shadow:1px 1px 3px #666666; }

/* header */

header {/*background: #eeefdf;*/ /* padding-bottom: 4px; */}
  
header .nav>li>a:not(.book-online):focus,
header .nav>li>a:not(.book-online):hover { background: none; }


header .header-content-container { background: #fff; box-shadow: 0 4px 2px -2px rgba(0,0,0,0.3); }
header .header-content-container-inner { width:1045px; margin: auto auto; position: relative;/* box-shadow: 0 4px 2px -2px rgba(0,0,0,0.3); */}

a.logo { margin: 10px; }

a.logo,
a.logo img { width: 300px; padding:0; }

.logo { height: auto; padding: 15px 15px; }


header div.book-online-container { position: absolute; top: 40px; right:0; }

p.call-me { float:right; color:#3b230f; font-size:15px; padding:15px 10px 0px 10px; }
p.call-me a { text-decoration: none; color: #3b230f; }
p.call-me a:hover { text-decoration: underline; }

a.book-online { float: right; padding: 12px 20px 12px 20px; font-size: 20px; text-shadow: 1px 1px 3px #666666; text-decoration: none; color: #ffffff; /*background: rgba(0, 104, 188, 1); this is set by php in index-sep... */ /*-webkit-border-radius: 15; -moz-border-radius: 15; border-radius: 0px 0px 15px 15px;*/ /*-webkit-box-shadow: 2px 2px 2px #666666; -moz-box-shadow: 2px 2px 2px #666666; box-shadow: 2px 2px 2px #666666;*/ }
a.book-online:hover { /*background: #382F18;*/ /*background: rgba(0, 104, 188, 1); this is set by php in index-sep... */ color: #ffffff; text-decoration: none; }


ul.navbar-nav { float: none; position: absolute; bottom: 0;  right: 0; }

/*li.underline-from-center {display: inline-block; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px transparent; position: relative; overflow: hidden; }
li.underline-from-center:before {content: ""; position: absolute; z-index: -1; left: 50%; right: 50%; bottom: 0; background-color: rgba(141, 198, 63, 1); height: 4px; -webkit-transition-property: left, right; transition-property: left, right; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; }
li.underline-from-center:before { left: 0; right: 0; }*/

/* hamburger menu */
.navbar-toggle { display: none; }

/* hamburger-menu-dropdown */
#navbar { background: #fff; margin-top: 10px; border-top:none; -webkit-box-shadow:none; box-shadow:none; }
#navbar ul.nav { width: 100%; }
#navbar ul.nav li { float: none; display: block; }
#navbar ul.nav li a { text-align: left; line-height: 18px; padding:6px 0; border-bottom: 1px solid #efefef; }
#navbar ul.nav li a:hover {  }
.navbar-toggle .hamburger-menu-text { float:left; width:50px; }

/* hero */

div.hero {/* background-color:#fff; */padding-bottom:0px;margin-bottom:0px;}
div.hero div.hero-inner {display:flex;align-items: center;justify-content: center;/* background: white url(../images/homebackground.jpg) no-repeat; */color:#633713;width:1045px;margin: auto auto;background: white;}
div.hero div.hero-image { flex: 0 0 5%; }
div.hero div.hero-text { flex: 0 0 95%; }
div.hero div.hero-image { text-align: right;}
div.hero div.hero-text h1 { font-size:2em; color:#eeefdf; width:42%; line-height: 1.4; text-align: center; margin-bottom: 0; padding-top:0; font-family:'Conv_OptimusPrinceps',sans-serif; /*text-shadow: 2px 2px 8px black;*/ }
div.hero div.hero-text h1 span { font-size:1.5em; }


/* page container (main content aka body content) */

div.page-container { background-color:#edeef0; width:100%; }

div.page-container .row {width: 1045px;margin: auto auto;padding: 0 40px 40px;background: #fff;}
div.page-container .row .flex { display:flex; margin: auto auto; }

div.page-container div.text { flex:0 0 60%; margin-right: 5%; }
div.page-container div.sidebar { flex:0 0 35%; margin-right: 0; }

div.testimonials { margin-top: 60px; margin-bottom: 50px; padding:0 150px; }
div.testimonials p { margin-bottom:24px; }

div.page-container a:not(.book-online) { color: rgba(33,64,154,1); border-bottom:solid 1px rgba(33,64,154,1); padding: 0 3px; }
div.page-container a:not(.book-online):hover { text-decoration: none; color: #fff; border-bottom: solid 1px rgba(33,64,154,1); background: rgba(33,64,154,1); }


div.page-container h2,
div.page-container p,
div.page-container ul li { color:#444; }

div.page-container h2 { margin-bottom: 15px; font-size: 30px; font-weights: bold; } 
.subpage div.page-container h2 { margin: 25px 0; } 

div.page-container p,
div.page-container ul li,
.panel-title { font-size:1.2em; }

div.page-container p.spacer { height:2px; }
div.page-container ul li { float:none; margin-bottom: 10px; margin-left: -20px; }

div.page-container div.sidebar p.sidebar-book-online-container { /*line-height: 2.2;*/ }
div.page-container div.sidebar p.sidebar-book-online-container a.book-online { float:none; padding:12px 20px; /*border-radius:15px;*/ border-bottom:none; color:#fff; }
div.page-container div.sidebar p.sidebar-book-online-container a.book-online:hover { background-color: rgba(141,198,63,.7); }



/* footer */

.footer-container { background-color: #292929; }

/*.adams-container { width: 1060px; margin: auto auto; }*/

/*.navbar { margin-bottom: 0; border: 0; }*/

.footer-container { width: 100%; }
.footer {width: 100%;max-width: 1045px;margin: 0 auto;padding: 24px 40px;background: rgb(47,47,47); }
.footer > div:not(.clear) { width: 23%; float:left; margin-right: 5%; }
.footer > div:nth-child(4) { width: 16%; margin-right: 0; text-align: right; }
.footer .header { color: white; font-weight: bold; font-size: 18px; margin-bottom: 14px; }
.footer p { color: rgba(255,255,255,0.7); margin-bottom: 14px; }
.footer p a { color: rgba(255,255,255,0.7); }
.footer p.header a { color: #fff; }
.footer p:not(.header) a { color: rgba(255,255,255,0.7); border-bottom: 1px solid rgba(255,255,255,0.7); }
.footer a:hover { text-decoration: none; }


/*.hvr-underline-from-center:before { visibility: hidden; }*/
/*.hvr-underline-from-center:hover:before { visibility: visible; }*/
/*.hvr-underline-from-center.underline-from-center:before { visibility: visible; }*/



/* responsiveness */


/* min-width rules */

.jumbotron {padding: 20px 15px 30px;}

@media (min-width: 768px) {
  .navbar { border-radius: 0; }
  
}

@media (min-width: 761px) {
  .navbar-collapse.collapse { display: none !important; }
}


/* max-width rules */

/* fluid-width starts here */
@media (max-width: 1100px) {
  .container { width:100%; }
  header .header-content-container { padding:0 15px; }
  header .header-content-container,
  div.page-container .row { width:100%; /*padding:0 15px;*/ }
  header .header-content-container-inner { width:100%; }
  div.page-container { padding-left:15px; padding-right:15px; }
  div.hero div.hero-inner { max-width: 100%; margin:auto auto; }
  div.hero div.hero-inner h1 { padding-top: 0; }
}

@media (max-width: 1040px) {
  a.logo,
  a.logo img { width: 300px; padding: 0; margin-bottom: 0; }
  ul.nav { float: none;  position: relative;  bottom: 0; right: 0; width: 680px; /* ie gets a different width (below) */ margin: auto auto; /* text-align: center; */ } 
  
}

/* IE10+ gets a different width for the dektop nav bar */
@media (max-width: 1040px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* for some reason the Contact button pushes below Home in IE only, so we increase the width to compensate */
  ul.nav { width: 690px; backgrounds: red; }
  ul.nav li { backgrounds: yellow; }
}



@media (max-width: 1000px) {
  header ul.nav { /*position:relative; float:right;*/ }
  div.hero div.hero-inner h1 { width: 42%; }
}

@media (max-width: 900px) {
  
  div.hero div.hero-inner h1 { margin-top: 0px; margin-left: 8px; }
  div.page-container div.row .flex { flex-wrap: wrap; }
  div.page-container div.text { /*flex:0 0 47.5%; margin-right: 5%;*/ }
  div.page-container div.sidebar { /*flex:0 0 47.5%; margin-right: 0;*/ }
  div.testimonials { padding:0 120px; }
  
}

@media (max-width: 880px) {
  .footer-container { background-color: #2f2f2f; }
  .footer { width: 540px; }
  .footer > div:not(.clear) { width: 40%; float:left; margin-right: 10%; }
  .footer > div:nth-child(2) { margin-right: 0; }
  .footer > div:nth-child(3) { clear:left; margin-top: 30px; }
  .footer > div:nth-child(4) { width: 50%; margin-top: 30px; margin-right: 0; text-align: left; }
  .footer br.sometimes { display: none; }
}






/* subpages only - global */

body.subpage .page-container {
  padding-top: 20px;
}

body.subpage .page-container h3 {
  color: #444;
  font-size: 20px;
  font-weight: bold;
  margin-top: 32px;
}

.float-right {
  float: right;
  margin: 6px 0 20px 50px;
}


.subpage .flex-container { clear:both; display:flex; flex-wrap: wrap; }
/*.subpage .flex-container .flex-left { flex:0 0 360px; margin-right:40px; }
.subpage .flex-container .flex-right { flex:1; }*/

/* make the flexes 50% wide with padding in between */
/*@media (max-width: 768px) {*/
  .subpage .flex-container .flex-left,
  .subpage .flex-container .flex-right { flex:0 0 46%; margin-right:8%; }
  .subpage .flex-container .flex-right { margin-right:0; }
/*}*/







/* hamburger and SOME single-column starts here (no longer flexing side-by-side) */
@media (max-width: 760px) {
  
  /* switch to hamburger menu */
  header { background-color: #fff; text-align: center; }
  header ul.nav.desktop-only,
  header div.book-online-container { display: none; }
  header .navbar-toggle { display: block; margin-top: 32px; float: left; }
  
  a.logo { display: block; margin: auto auto; }
  a.logo,
  a.logo img { width: 150px; }
  a.logo img { margin-top: 10px; margin-bottom: 10px; }
  
  div.hero { background-color: #fff; }
  div.hero div.hero-inner h1 { width: 38%; margin-top: 0px; font-size: 1.4em; }
  
  div.page-container { background-color: #fff; }
  body.subpage .page-container { padding-top: 0; }
  div.page-container .row { padding-left:0; padding-right: 0; }
  
  /* single-column */
  div.page-container div.text { flex:0 0 100%; margin-right: 0; }
  div.page-container div.sidebar { flex:0 0 100%; margin-right: 0; }
  
  div.page-container img { max-width:300px; }
  
  div.testimonials { padding:0; }
  
}

@media (max-width: 600px) {
  div.hero div.hero-inner h1 { margin-left: 20px; }
  /* images 100% wide (except on About Me [where the Aaron image waits longer] and on the FAQ page [they become 100% wide earlier]) */
  div.page-container img:not(.about-me-photo) { width:100%; max-width:100%; float:none; margin-left:0; margin-right: 0; }
  .footer { width: 100%; }
  .footer > div:nth-child(1),
  .footer > div:nth-child(2),
  .footer > div:nth-child(3),
  .footer > div:nth-child(4) { float: none; width: 240px; margin-left: auto; margin-right: auto; }
  .footer > div:nth-child(1) { margin-bottom: 30px; } /* add space b/w LOCATION & HOURS and RATES */
  .footer > div:nth-child(3) { margin-bottom: 38px; } /* add space b/w CONTACT and the CMT/RMT logos */
  
}

@media (max-width: 540px) {
  div.hero div.hero-inner h1 { width: 34%; }
  
}

@media (max-width: 500px) {
  
}

@media (max-width: 480px) {
  div.hero div.hero-inner h1 { width: 34%; margin-top: 0px; }
}

@media (max-width: 440px) {
  /* hide the word MENU from the hamburger menu and move the three hamburger lines over to make the button narrower */
  .navbar-toggle .hamburger-menu-text { display:none; }
  header .navbar-toggle .icon-bar { margin-left: 0; }
  /* about page only - now we make the Aaron picture 100% wide (instead of doing it at 600px like other images) */
  div.page-container img.about-me-photo { width:100%; max-width:100%; float:none; margin-left:0; margin-right: 0; }
}

@media (max-width: 420px) {
  div.hero div.hero-inner h1 { width: 28%; margin-top: 0px; font-size: 1em; }
}

@media (max-width: 340px) {
  div.hero div.hero-inner h1 { margin-top: 0px; font-size: 1em; }
  
}








/* more single column starts here (put the SUBPAGE flex items below each other) */
@media (max-width: 600px) {
  
  .desktop-only-span { display: none; }
  .mobile-only-span { display: inline; }
  
  .subpage .flex-container .flex-left,
  .subpage .flex-container .flex-right { flex:0 0 100%; margin-right:0; margin-bottom: 30px; }
  
  .subpage.treated-conditions-page .flex-container .flex-left,
  .subpage.treated-conditions-page .flex-container .flex-right { margin-bottom: 0; }
  
  .desktop-only,
  .subpage .desktop-only { display: none; }
  
  .subpage ul.mobile-only { display: block; }
}






.page-container .row .book-online-container p.call-me,
.page-container .row .book-online-container a.book-online {
  float:left;
}
.page-container .row .book-online-container p.call-me {
  padding-left: 0;
}

/* font-awesome icons */
.page-container i.fa {
  color: #a8a8a8;
}



/* border between header and page content */

/*
body.subpage .page-container > .row .flex {
 border-top: 1px solid #ccc; 
}

header {
 border-bottom: 1px solid #ccc; 
}
*/



/* about me page only */

.about-me-photo {
  float: left;
  margin: 6px 20px 20px 0;
}



/* contact me page only */

div.page-container a.contact-me-calendar-icon { text-decoration: none; border-bottom: none; }
div.page-container a.contact-me-calendar-icon:hover { background: none; border-bottom: none; }

.btn-success, .btn-success.active, .btn-success.focus, .btn-success:active, .btn-success:focus, .btn-success:hover, .open>.dropdown-toggle.btn-success {
  background-color: rgba(141,198,63,1);
  border-color: rgba(141,198,63,1);
  border-radius: 0;
}

div.page-container .no-underline a:not(.book-online),
div.page-container .no-underline a:not(.book-online):hover { text-decoration: none; border-bottom: 0; background:none; color:auto; }

.alert { border-radius:0; margin-bottom: 15px; }



/* faq page only */
@media (max-width: 700px) {
  .faq-page div.page-container img { width:100%; max-width:100%; float:none; margin-left:0; margin-right: 0; }
  .faq-page .panel-title { line-height: 1.5; }
}





/* IE10+ and Edge - hvr-underline-from-center fixes */

/* IE10+ and Edge - fix for the glitch where the green bar doesn't completely disappear (stays as 1px wide) */
@media (max-width: 1040px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .hvr-underline-from-center:before { height: 0px; }
  .hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before { height: 4px; }
}

@supports (-ms-ime-align: auto) {
  .hvr-underline-from-center:before { height: 0px; }
  .hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before { height: 4px; }
}
