:root {
  --dark-brown: #3d3935;
  --color: #7c587e;
  --black: black;
  --white: white;
  --beige: #857874;
  --grey: #ababab;
  --beige-2: #b3a195;
}

.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

body {
  color: var(--dark-brown);
  font-family: Gotham Book, sans-serif;
  font-size: 1em;
  line-height: 1.1em;
}

h1 {
  margin-top: 0;
  margin-bottom: 30px;
  font-family: museo, sans-serif;
  font-size: 5em;
  font-weight: 300;
  line-height: 1.1em;
}

h2 {
  margin-top: 0;
  margin-bottom: 30px;
  font-family: Gotham, sans-serif;
  font-size: 2em;
  font-weight: 500;
  line-height: 1.1em;
}

h3 {
  color: var(--color);
  margin-top: 0;
  margin-bottom: 30px;
  font-family: Gotham, sans-serif;
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.1em;
}

h4 {
  margin-top: 0;
  margin-bottom: 15px;
  font-family: Gotham, sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.1em;
}

h5 {
  margin-top: 0;
  margin-bottom: 15px;
  font-family: Gotham, sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1em;
}

p {
  text-align: left;
  margin-bottom: 30px;
  line-height: 1.8em;
}

a {
  color: var(--color);
  font-family: Gotham, sans-serif;
  font-weight: 500;
  text-decoration: none;
}

a:hover {
  color: var(--black);
}

ul {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 20px;
  line-height: 1.8em;
  list-style-type: disc;
}

li {
  margin-bottom: 10px;
}

.phone_icon {
  width: 20px;
  margin-bottom: 0;
  margin-right: 5px;
}

.navbar {
  z-index: 1000;
  background-color: #fff;
  border: 1px #000;
  border-bottom: 1px solid #0000002e;
  justify-content: space-between;
  align-items: center;
  width: 100vw;
  height: auto;
  min-height: auto;
  padding: 5px 2%;
  display: flex;
  position: fixed;
  inset: 0% 0% auto;
}

.logo {
  z-index: 1100;
  background-color: #0000;
  border-radius: 120px;
  justify-content: center;
  align-items: center;
  width: 220px;
  height: auto;
  margin-left: 0;
  margin-right: auto;
  padding: 0;
  display: flex;
  position: relative;
  top: 0;
  left: 0;
  right: auto;
}

.logo_img {
  width: 240px;
  margin-left: 0;
  margin-right: 0;
}

.hero_section {
  background-image: url('../images/brushing-teeth.jpg');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  height: 97vh;
  margin-left: 2%;
  margin-right: 2%;
  padding-top: 89px;
  position: relative;
}

.logo_symbol_div {
  z-index: 100;
  opacity: .46;
  mix-blend-mode: soft-light;
  justify-content: center;
  align-items: center;
  width: 30px;
  display: flex;
  position: static;
  inset: 0% auto 0% 0%;
  overflow: clip;
}

.logo_symbol {
  object-fit: cover;
  object-position: 100% 25%;
  width: 100%;
  height: 100%;
}

.main_tagline_wrapper {
  z-index: 600;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: absolute;
  inset: auto 0% 8%;
}

.main_tagline {
  color: var(--white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Baskci, sans-serif;
  font-size: 4em;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2em;
}

.main_tagline2 {
  color: var(--white);
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: Gotham, sans-serif;
  font-size: 2.2em;
  font-weight: 300;
  line-height: 1.2em;
}

.hero_overlay {
  z-index: 10;
  background-image: linear-gradient(#0000 38%, #000000b0 94%);
  display: block;
  position: absolute;
  inset: 0%;
}

.welcome_section {
  background-image: none;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto;
  padding: 8% 5%;
  overflow: hidden;
}

.section_headline {
  color: var(--dark-brown);
  text-align: center;
  margin-top: 0;
  margin-bottom: 0%;
  font-family: museo, sans-serif;
  font-size: 5em;
  font-weight: 100;
  line-height: 1em;
}

.section_headline.margin {
  text-align: left;
  margin-bottom: 30px;
  font-size: 3em;
  line-height: 1em;
}

.welcome_grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  padding: 0;
}

.callout_headline {
  color: var(--color);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 20px;
  font-family: Gotham, sans-serif;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1.1em;
}

.bold_text {
  font-family: Gotham, sans-serif;
  font-weight: 700;
}

.callout_text {
  height: auto;
  margin-bottom: 20px;
  margin-left: 0;
  font-size: 1em;
}

.button {
  background-color: var(--color);
  letter-spacing: 2px;
  border-radius: 30px;
  padding: 14px 27px;
  font-family: museo, sans-serif;
  font-weight: 300;
}

.button:hover {
  background-color: var(--beige);
  color: var(--white);
}

.testimonials_section {
  background-color: #f3f3f3;
  padding: 8% 5%;
  overflow: hidden;
}

.parallax_section {
  background-image: url('../images/geode.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  height: 600px;
}

.testimonials_grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  padding: 0;
}

.testimonials_slider {
  background-color: #ddd0;
  width: 100%;
}

.arrow {
  color: var(--color);
  width: 30px;
  height: 30px;
  font-size: .8em;
  inset: auto 40px 0% auto;
}

.arrow:hover {
  background-color: var(--color);
  color: var(--white);
}

.arrow.right {
  inset: auto 0% 0% auto;
}

.slidenav {
  text-align: left;
  height: 20px;
  padding-top: 5px;
  font-size: .7em;
  bottom: 0;
}

.slidenav._2 {
  padding-left: 10px;
}

.testimonials_slide {
  padding-bottom: 40px;
}

.testimonials_div {
  width: 95%;
  position: absolute;
  inset: 0% 0% 10%;
}

.testimonials_name {
  margin-bottom: 10px;
  font-family: Gotham, sans-serif;
  font-weight: 500;
}

.testimonials_text {
  margin-bottom: 15px;
  font-size: .95em;
}

.stars_placeholder {
  width: 120px;
  margin-bottom: 15px;
}

.cell {
  align-items: stretch;
}

.hp_image_div {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 600px;
  display: flex;
  overflow: hidden;
}

.hp_img {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.hp_img._2 {
  object-position: 85% 50%;
}

.hp_img.slide2 {
  opacity: 1;
}

.footer_section {
  padding: 5%;
}

.footer_grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  padding: 0;
}

.contact_cell {
  padding-top: 8px;
  padding-right: 10%;
}

.contact_form {
  width: 100%;
}

.address_text {
  margin-bottom: 15px;
  font-family: Gotham, sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.4em;
}

.locations_description {
  margin-bottom: 15%;
  font-size: .8em;
}

.footer_phone_btn {
  justify-content: flex-start;
  align-items: center;
  font-size: 1.2em;
  font-weight: 700;
  display: flex;
}

.fax_txt {
  margin-top: 10px;
  margin-bottom: 20px;
  font-size: .9em;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.submit_btn {
  background-color: var(--color);
  color: var(--white);
  text-transform: uppercase;
  border-radius: 30px;
  padding: 14px 30px 12px;
  font-size: .9em;
  line-height: 1em;
}

.submit_btn:hover {
  background-color: var(--dark-brown);
}

.text_field {
  border-style: none none solid;
  border-width: 1px;
  border-color: #ababab00 black var(--grey);
  margin-bottom: 20px;
  padding-left: 10px;
  font-size: .85em;
}

.text_field:hover {
  border-bottom-color: var(--color);
}

.text_field::placeholder {
  color: var(--dark-brown);
}

.text_area {
  border-style: none none solid;
  border-width: 1px;
  border-color: black black var(--grey);
  min-height: 120px;
  margin-bottom: 20px;
  padding-left: 10px;
  font-size: .85em;
}

.text_area:hover {
  border-bottom-color: var(--color);
}

.text_area::placeholder {
  color: var(--dark-brown);
}

.testimonials_content_cell {
  justify-content: center;
  align-items: flex-start;
}

.footer_inner_grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  width: 100%;
  padding: 0;
}

.top_phone_button {
  justify-content: flex-start;
  align-items: center;
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.2em;
  font-weight: 700;
  display: flex;
}

.appointment_btn {
  color: var(--black);
  text-transform: uppercase;
  background-color: #e9e9e9;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  padding: 20px 15px;
  font-size: .9em;
  display: flex;
}

.appointment_btn:hover {
  background-color: var(--beige);
  color: var(--white);
}

.appointment_btn.marg {
  margin-right: 10px;
}

.callout_text_cell {
  justify-content: center;
  align-items: flex-start;
}

.callout_img_cell {
  justify-content: flex-start;
  align-items: stretch;
}

.cell-2 {
  padding-right: 5%;
}

.testimonials_img_slider {
  height: auto;
}

.arrow2 {
  color: var(--white);
  background-color: #000000a8;
  width: 40px;
  height: 40px;
  font-size: .9em;
}

.arrow2:hover {
  background-color: var(--color);
  color: var(--white);
}

.service-lists {
  background-color: #7c587e1a;
  justify-content: space-between;
  width: 100%;
  padding: 20px;
  display: flex;
}

.list-div-49 {
  width: 49%;
}

.list-div-49.space {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 0;
  display: flex;
}

.list-item {
  margin-bottom: 5px;
  line-height: 1.2em;
}

.top {
  margin-bottom: 75px;
}

@media screen and (max-width: 991px) {
  .navbar {
    flex-flow: row-reverse;
    position: fixed;
  }

  .logo {
    width: auto;
    margin-left: 20px;
    margin-right: auto;
    position: relative;
    left: 0%;
  }

  .logo_img {
    width: 200px;
  }

  .hero_section {
    background-image: url('../images/brushing-teeth.jpg');
    background-position: 50% 0;
    height: 650px;
    margin-top: 65px;
    padding-top: 0;
  }

  .main_tagline_wrapper {
    padding: 25px;
    position: absolute;
    inset: auto 0% 0%;
  }

  .main_tagline {
    text-align: center;
    font-size: 3em;
  }

  .main_tagline2 {
    font-size: 2em;
  }

  .welcome_section {
    padding-top: 10%;
  }

  .section_headline.margin {
    font-size: 2.4em;
  }

  .parallax_section {
    height: 500px;
    display: none;
  }

  .contact_cell {
    padding-right: 0%;
  }

  .appointment_btn.marg {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .phone_icon {
    display: block;
  }

  .navbar {
    flex-flow: row-reverse;
    height: 70px;
    min-height: auto;
  }

  .logo {
    justify-content: flex-start;
    align-items: center;
    width: auto;
    height: auto;
    margin-top: 5px;
    margin-left: 0;
    margin-right: 0;
    padding: 0 0 9px;
    top: 0;
    left: 0;
  }

  .logo_img {
    width: 180px;
    margin-left: 0;
    margin-right: 0;
  }

  .hero_section {
    height: 400px;
    margin-top: 55px;
    margin-left: 0%;
    margin-right: 0%;
  }

  .logo_symbol_div {
    width: 24px;
  }

  .main_tagline_wrapper {
    inset: auto 0% 0%;
  }

  .main_tagline {
    font-size: 2em;
  }

  .main_tagline2 {
    font-size: 1.5em;
  }

  .welcome_section {
    padding-top: 10%;
  }

  .section_headline {
    font-size: 2.2em;
  }

  .section_headline.margin {
    font-size: 2em;
  }

  .callout_headline {
    letter-spacing: 2px;
    font-size: 1.2em;
  }

  .testimonials_slider, .hp_image_div {
    height: 350px;
  }

  .footer_section {
    padding-top: 15%;
  }

  .contact_cell {
    padding-right: 0%;
  }

  .top_phone_button {
    margin-right: 10px;
    font-size: 1em;
    display: flex;
  }

  .appointment_btn {
    flex: 0 auto;
    display: none;
  }
}

@media screen and (max-width: 479px) {
  h3 {
    font-size: 1.3em;
  }

  .phone_icon {
    width: 30px;
    margin-right: 0;
    display: block;
  }

  .navbar {
    flex-flow: row;
    height: auto;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .logo {
    justify-content: flex-start;
    width: auto;
    margin-left: 0;
    margin-right: auto;
    padding: 0;
    top: 0;
    left: 0;
    right: 10px;
  }

  .logo_img {
    width: auto;
    height: 55px;
  }

  .hero_section {
    background-image: url('../images/brushing-teeth.jpg');
    background-position: 50% 0;
    height: 500px;
  }

  .main_tagline_wrapper {
    top: 0;
  }

  .main_tagline {
    font-size: 2em;
  }

  .main_tagline2 {
    text-align: center;
    font-size: 1em;
  }

  .section_headline {
    text-align: left;
    font-size: 2em;
    line-height: 1em;
  }

  .section_headline.margin {
    font-size: 1.8em;
  }

  .callout_headline {
    max-width: 90%;
  }

  .callout_text {
    max-width: 90%;
    margin-left: 0;
  }

  .button {
    text-align: center;
  }

  .testimonials_section {
    padding-top: 15%;
  }

  .testimonials_slider {
    height: 470px;
  }

  .hp_image_div {
    height: 100%;
  }

  .top_phone_button {
    display: flex;
  }

  .callout_text_cell {
    align-items: center;
  }

  .nav-text {
    display: none;
  }

  .service-lists {
    flex-flow: column;
    padding: 15px;
  }

  .list-div-49 {
    width: 100%;
    margin-bottom: 20px;
  }

  .top {
    margin-bottom: 20px;
  }
}

#w-node-_5cfbe3a5-fdf4-1233-c9c6-55a534568d7d-a1634b04 {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr .25fr 1fr;
}

#w-node-_0de26e13-ac8b-2d88-0def-3d7cbb3cfac5-a1634b04, #w-node-_59d446f7-8903-ab23-ee79-39165a7e8170-a1634b04 {
  grid-column: span 2 / span 2;
}

#w-node-_6d2b6ce4-3753-6c17-fa7d-e0d2db5c29c9-a1634b04 {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

#w-node-_9b6c19b7-a5d3-7678-bdd4-6e5caf71ec71-a1634b04 {
  grid-template-rows: auto;
  grid-template-columns: 1fr .5fr;
}

#w-node-_17c6e52f-e64b-cf0c-56fa-a0d9bfea7f00-a1634b04 {
  grid-template-rows: auto;
  grid-template-columns: 1fr;
}

@media screen and (max-width: 991px) {
  #w-node-_5cfbe3a5-fdf4-1233-c9c6-55a534568d7d-a1634b04 {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  #w-node-_0de26e13-ac8b-2d88-0def-3d7cbb3cfac5-a1634b04, #w-node-_59d446f7-8903-ab23-ee79-39165a7e8170-a1634b04 {
    grid-column: span 1 / span 1;
  }

  #w-node-_6d2b6ce4-3753-6c17-fa7d-e0d2db5c29c9-a1634b04, #w-node-_9b6c19b7-a5d3-7678-bdd4-6e5caf71ec71-a1634b04 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_5cfbe3a5-fdf4-1233-c9c6-55a534568d7d-a1634b04 {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  #w-node-_17c6e52f-e64b-cf0c-56fa-a0d9bfea7f00-a1634b04 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }
}


@font-face {
  font-family: 'Baskci';
  src: url('../fonts/BASKCI__.TTF') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Baskcbi';
  src: url('../fonts/BASKCBI_.TTF') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/Gotham-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham Book';
  src: url('../fonts/Gotham-Book.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/Gotham-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/Gotham-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/Gotham-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url('../fonts/Gotham-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}