*, :before, :after {
  box-sizing: border-box;
}

* {
  font: inherit;
  margin: 0;
  padding: 0;
}

ul[role="list"], ol[role="list"] {
  list-style: none;
}

a {
  text-decoration: none;
}

i {
  font-style: italic;
}

.hero-text span, h1 span, h2 span, h3 span h4 span {
  font-family: var(--ff-quote-accent);
}

.paragraph {
  white-space: pre-line;
  font-size: var(--fs-650);
}

html:focus-within {
  scroll-behavior: smooth;
}

html, body {
  height: 100%;
}

button {
  writing-mode: inherit;
  border: none;
}

body {
  text-rendering: optimizespeed;
  background-color: var(--clr-bg);
  color: var(--clr-primary);
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

img, picture, svg {
  max-width: 100%;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

body {
  font-size: var(--fs-body);
  font-family: var(--ff-body);
  color: var(--clr-primary);
}

p[data-width="wide"] {
  max-width: revert;
}

.button {
  cursor: pointer;
  font-weight: var(--fw-bold);
  font-size: var(--fs-button);
  color: #fff;
  background-color: var(--clr-accent-500);
  box-shadow: 0 .8725em 1em -1em var(--clr-accent-300);
  isolation: isolate;
  border: 0;
  border-radius: 100vmax;
  padding: 1.25em 2.5em;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  overflow: visible;
}

.button[data-type="inverted"] {
  background-color: var(--clr-neutral-800);
  color: var(--clr-accent-500);
}

.button[data-type="light"] {
  color: var(--clr-accent-500);
  background-color: #fff;
}

.button[data-shadow="none"] {
  box-shadow: none;
}

.button:hover, .button:focus-visible {
  background-color: var(--clr-accent-300);
}

.button[data-type="inverted"]:hover, .button[data-type="inverted"]:focus-visible {
  background-color: var(--clr-neutral-900);
  color: var(--clr-accent-300);
}

.button[data-type="light"]:hover, .button[data-type="light"]:focus-visible {
  color: var(--clr-accent-300);
  background-color: #fff;
}

.whatsapp-button {
  --height: 2.5em;
  --inline-padding: 2.5em;
  --block-padding: 1.25em;
  --line-height: 1em;
  padding: var(--block-padding) var(--inline-padding) var(--block-padding) calc(var(--inline-padding)  + var(--height));
  position: relative;
  overflow: visible;
}

.whatsapp-button:before {
  content: " ";
  fill: var(--clr-primary);
  height: var(--height);
  aspect-ratio: 1;
  z-index: 99;
  left: calc(var(--inline-padding)  - var(--height) / 2);
  top: calc(calc(2 * var(--block-padding)  + var(--line-height)  - var(--height)) / 2);
  background-image: url("icons-set.94931d14.svg");
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
}

.primary-header {
  padding-top: var(--size-500);
  padding-bottom: var(--size-400);
  z-index: 999;
  width: 100%;
  max-width: 100vw;
  background-color: var(--clr-trans-primary-800);
  margin-inline: auto;
  position: fixed;
  top: 0;
}

.primary-header .container-div {
  z-index: 999;
}

.logo {
  justify-content: start;
  display: inline-block;
}

.logo-header {
  fill: var(--clr-neutral-900);
  width: 100%;
  height: var(--size-primary-header);
  background-size: contain;
  overflow: visible;
}

.logo-footer {
  max-width: none;
  fill: var(--clr-neutral-900);
  width: auto;
  height: var(--size);
  background-size: cover;
  overflow: visible;
}

.nav-wrapper {
  gap: clamp(var(--size-300), 5vw, var(--size-800));
  flex-direction: row;
  flex-shrink: 1;
  flex-basis: 0;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
  display: flex;
}

.mobile-nav-toggle {
  display: none;
}

.nav-list {
  min-width: 100%;
  gap: clamp(var(--size-600), 8vw, 25vw);
  font-weight: var(--fw-semi-bold);
  font-size: var(--fs-nav);
  justify-content: space-between;
  display: flex;
}

.nav-list li {
  vertical-align: middle;
  align-items: center;
}

.nav-list a {
  color: var(--clr-primary);
  padding-bottom: auto;
  text-decoration: none;
}

.nav-list .nav-link {
  padding: 0;
}

.nav-list .nav-link.dropdown-item {
  padding: .25rem 1rem;
}

.dropdown-divider {
  border-top: 1px solid var(--clr-neutral-900);
}

.nav-link a:hover, .nav-link a:focus, .nav-list a:hover, .nav-list a:focus {
  color: var(--clr-accent-500);
}

.nav-list .dropdown-menu {
  background-color: var(--clr-trans-primary-800);
  color: var(--clr-neutrl-900);
  box-shadow: 2px 2px 4px var(--clr-trans-contrast-400);
}

.nav-list .dropdown-menu:hover, .nav-list .dropdown-menu:focus {
  background-color: var(--clr-trans-primary-800);
  color: var(--clr-accent-500);
}

@media (min-width: 47em) {
  .dropdown-toggle, .dropdown-menu {
    transition-delay: diaplay 1s;
  }

  .dropdown-toggle:hover, .dropdown-menu:hover {
    transition-delay: 0s;
  }
}

.nav-list .dropdown-item:hover, .nav-list .dropdown-item:focus {
  color: var(--clr-accent-500);
  background-color: #0000;
}

@media (max-width: 47em) {
  .primary-navigation {
    z-index: 999;
    padding: var(--size-700);
    inset: var(--size-primary-header-gap) var(--size-400) auto;
    max-width: 80%;
    background: var(--clr-trans-primary-700);
    border-radius: var(--size-100);
    box-shadow: var(--size-100) var(--size-100) var(--size-100) 0 var(--clr-trans-primary-300);
    margin-inline: auto;
    display: none;
    position: fixed;
  }

  .primary-header[data-overlay]:before {
    content: "";
    background-image: linear-gradient(#0000 var(--size-primary-header-gap), var(--clr-trans-contrast-800));
    position: fixed;
    inset: 0;
  }

  .nav-list {
    gap: var(--size-600);
    text-align: center;
    font-weight: var(--fw-bold);
    justify-content: center;
    display: grid;
  }

  .logo-header {
    min-width: 140px;
    max-width: 180px;
  }

  .primary-navigation[data-visible] {
    display: block;
    position: fixed;
  }

  .mobile-nav-toggle {
    cursor: pointer;
    z-index: 999;
    width: 1.65em;
    aspect-ratio: 1;
    filter: var(--svg-filter-neutral);
    background: url("icon-hamburger.dca918e8.svg") center / contain no-repeat;
    border: 0;
    padding: .5em;
    display: block;
  }

  .mobile-nav-toggle[area-expanded="true"] {
    filter: var(--svg-filter-neutral);
    background-image: url("icon-close.3ef8bf35.svg");
  }
}

.primary-footer {
  background-color: var(--clr-trans-contrast-200);
  --logo-color: var(--clr-neutral-100);
}

.primary-footer__wrapper {
  padding-inline: var(--size-700);
  justify-content: center;
  align-items: start;
  gap: var(--size-700);
  grid-template-areas: "form"
                       "nav"
                       "social"
                       "logo"
                       "copyright";
  margin-inline: auto;
  display: grid;
}

.primary-footer__logo {
  --size: 300px;
  width: var(--size);
  margin-inline: auto;
  grid-area: logo;
  align-content: center;
  align-items: center;
  margin-top: auto;
  margin-bottom: 0;
  display: inline-block;
  overflow: hidden;
}

.primary-footer__nav {
  width: 100%;
  max-width: 50rem;
  grid-area: nav;
  margin-inline: auto;
}

.footer-nav {
  width: 80vw;
  justify-content: center;
  margin-inline-end: auto;
  display: inline-flex;
}

.footer-nav ul {
  gap: var(--size-800);
  columns: 2;
  display: block;
}

.footer-nav li {
  justify-content: center;
  margin-inline: auto;
  padding-inline: auto;
  display: block;
}

@media (min-width: 58em) {
  .footer-nav {
    width: 100%;
    min-width: 100%;
  }
}

.footer-nav :not(:first-child) {
  margin-top: var(--size-600);
}

.footer-nav a {
  color: var(--clr-primary);
  text-decoration: none;
}

.footer-nav a:is(:hover, :focus) {
  color: var(--clr-accent-500);
}

.primary-footer__form {
  gap: var(--size-200);
  max-width: 90vw;
  flex-flow: row;
  grid-area: form;
  justify-content: center;
  margin-block: auto;
  display: flex;
}

.primary-footer__social {
  grid-area: social;
}

.primary-footer__copyright {
  max-width: 80vw;
  font-size: var(--fs-500);
  grid-area: copyright;
  margin-inline: auto;
}

.primary-footer__form input:where([type="text"], [type="email"]) {
  padding: var(--size-200) var(--size-400);
  max-width: min-content;
  width: auto;
  border: 0;
  border-radius: 100vw;
  flex-grow: 0;
  flex-shrink: 2;
  display: inline-flex;
  overflow: hidden;
}

@media (min-width: 58em) {
  .primary-footer__wrapper {
    grid-template-columns: min-content 1fr min-content;
    grid-template-areas: "logo nav form"
                         "logo social copyright";
  }

  .primary-footer__copyright {
    margin-inline-end: 0;
    margin-top: auto;
    padding-top: auto;
  }

  .primary-footer__social {
    grid-area: social;
    margin-top: auto;
    padding-top: auto;
  }

  .primary-footer__logo {
    margin-inline-start: 0;
  }

  .primary-footer__logo picture.logo img {
    height: 100px;
  }

  .primary-footer__form input:where([type="text"], [type="email"]) {
    min-width: 20em;
  }
}

.social-list {
  justify-content: space-evenly;
  display: flex;
}

.social-icon {
  width: var(--size-600);
  aspect-ratio: 1;
  fill: var(--clr-primary);
}

.social-list a:is(:hover, :focus) .social-icon {
  fill: var(--clr-accent-500);
}

@media (min-width: 58em) {
  .social-icon {
    width: var(--size-600);
    max-width: revert;
  }
}

.cin {
  color: #860404;
}

.cta {
  isolation: isolate;
  text-align: center;
  position: relative;
}

@media (min-width: 47em) {
  .cta {
    text-align: left;
  }
}

.cta:before {
  content: "";
  z-index: -1;
  opacity: .1;
  background-image: url("bg-tablet-pattern.c125bcaa.svg"), url("bg-tablet-pattern.c125bcaa.svg");
  background-position: -15rem -5rem, 80rem -42rem;
  background-repeat: no-repeat;
  position: absolute;
  inset: 0;
}

.numbered-items {
  counter-reset: count;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.numbered-items li {
  counter-increment: count;
}

.numbered-items div {
  align-items: center;
  column-gap: var(--size-300);
  grid-template-columns: min-content 1fr;
  display: grid;
  position: relative;
}

.numbered-items__title {
  grid-area: 1 / 2 / 2 / 3;
  line-height: 1;
}

.numbered-items__body {
  grid-column: 1 / -1;
}

@media (min-width: 30em) {
  .numbered-items__body {
    grid-column: 2 / -1;
  }
}

.numbered-items div:before, .numbered-items div:after {
  height: 40px;
}

.numbered-items div:before {
  content: "0" counter(count);
  color: var(--clr-neutral-100);
  font-weight: var(--fw-bold);
  background-color: var(--clr-accent-500);
  padding: 0 var(--size-500);
  border-radius: 100vw;
  grid-area: 1 / 1 / 2 / 2;
  align-items: center;
  display: flex;
}

@media (max-width: 30em) {
  .numbered-items div:after {
    --bg: var(--clr-accent-100);
    content: "";
    z-index: -1;
    box-shadow: 5em 0 0 var(--bg);
    background: var(--bg);
    border-radius: 100vw 0 0 100vw;
    grid-area: 1 / 1 / 2 / -1;
    display: block;
  }
}

.slider-autoplay {
  margin-block: var(--size-400);
  max-width: 100%;
  flex: none;
  position: relative;
}

.casos-autplay {
  display: inline-flex;
  position: absolute;
  bottom: 5vw;
}

.caroussel-item {
  padding: var(--size-400);
  transition: all .2s;
  overflow: hidden;
}

.caroussel-item .slider-content {
  --pic-size: var(--size-1300);
  margin-top: calc(var(--pic-size) * -.25);
  border-radius: var(--size-100);
  padding: calc(var(--pic-size) * .65) var(--size-600) var(--size-600);
  background: var(--clr-trans-contrast-200);
  transition: all .2s;
  display: block;
}

.slider-content p {
  text-align: left;
  white-space: pre-line;
  -webkit-transition: max-height .6 ease-out;
  -moz-transition: max-height .6 ease-out;
  -ms-transition: max-height .6 ease-out;
  -o-transition: max-height .6 ease-out;
  transition: max-height .6 ease-out;
  transition: max-height .6 ease-out;
  margin-top: 0;
}

.slider-content[data-wrap="true"] p {
  -webkit-line-clamp: 7;
  -webkit-transition: max-height .6 ease-out;
  -moz-transition: max-height .6 ease-out;
  -ms-transition: max-height .6 ease-out;
  -o-transition: max-height .6 ease-out;
  transition: max-height .6 ease-out;
  transition: max-height .6 ease-out;
  -webkit-box-orient: vertical;
  line-height: 1.2;
  display: -webkit-box;
  overflow: hidden;
}

.slider-content .button {
  border-radius: var(--size-200);
  margin-top: var(--size-400);
  background-color: var(--clr-neutral-400);
  box-shadow: none;
  margin-left: 0;
  margin-right: auto;
  padding: 1.25em 3.5em;
  transition: display .4s;
}

.slider-content .button:hover {
  color: var(--clr-accent);
  background-color: #fff;
}

.slider-content .button-wrapper {
  width: 100%;
  text-align: end;
  margin: 0;
  padding: 0;
  display: inline-block;
}

.slider-content[data-wrap="false"] .show-more, .slider-content[data-wrap="true"] .show-less {
  display: none;
}

.caroussel-item:hover {
  scale: 1.1;
}

.caroussel-item:hover .slider-content {
  background-color: var(--clr-accent-300);
  color: var(--clr-neutral-100);
}

.slider-container {
  max-height: 100%;
  max-width: 100vw;
  width: inherit;
  flex-direction: column;
  align-self: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  overflow: hidden;
}

.slick-slider {
  max-width: 100vw;
  width: inherit;
  overflow: hidden !important;
}

.caroussel-item img {
  --pic-size: var(--size-1300);
  width: var(--pic-size);
  top: calc(var(--pic-size) * .25);
  margin-inline: auto;
  position: relative;
}

.avatar {
  aspect-ratio: 1;
  object-fit: cover;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50vw;
}

.patient-cases {
  --margin: 5%;
  --pic-size: 90%;
  text-align: center;
  padding-bottom: var(--size-600);
  flex-direction: row;
  justify-content: center;
  display: flex;
  top: 0;
}

.buccal-case {
  --margin: 5%;
  --pic-size: 100%;
  text-align: center;
  flex-direction: row;
  justify-content: center;
  display: flex;
  top: 0;
}

.patient-cases > * {
  flex-grow: 1;
  flex-basis: 0;
}

.patient-cases h2 {
  margin-bottom: var(--size-600);
}

.case-before {
  height: 100%;
  flex-direction: column;
  display: flex;
}

.case-before h2 {
  --margin: 5%;
  --pic-size: 80%;
  padding-right: var(--margin);
  padding-left: calc(100% - var(--pic-size)  - var(--margin));
}

.case-after h2 {
  --margin: 5%;
  --pic-size: 80%;
  padding-left: var(--margin);
  padding-right: calc(100% - var(--pic-size)  - var(--margin));
}

.case-before .case-pic {
  --margin: 5%;
  --pic-size: 80%;
  width: var(--pic-size);
  margin-right: var(--margin);
  margin-left: auto;
}

.case-after {
  height: 100%;
  isolation: isolate;
  flex-direction: column;
  display: flex;
  position: relative;
}

.case-after .case-pic {
  --margin: 5%;
  --pic-size: 80%;
  width: var(--pic-size);
  margin-left: var(--margin);
  margin-right: auto;
}

.buccal-case .case-pic {
  --margin: 5%;
  --pic-size: 80%;
  width: var(--pic-size);
  max-height: 800px;
  object-fit: contain;
}

.case-after h2:after {
  --width: 120px;
  content: "";
  filter: var(--svg-filter-accent);
  fill: var(--clr-accent-500);
  stroke: var(--clr-accent-500);
  width: var(--width);
  height: 20px;
  z-index: 99;
  top: calc(var(--fs-secondary-heading)  + 20px);
  left: calc(var(--pic-size) / 2 + var(--margin)  - var(--width) / 2);
  background-image: url("curved-line.da819d29.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  overflow: hidden;
}

@media (max-width: 47em) {
  .patient-cases {
    flex-direction: column;
  }

  .case-before {
    justify-content: center;
    align-items: center;
    margin-inline: auto;
  }

  .case-before h2, .case-after h2 {
    align-items: center;
    margin-inline: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .case-after h2:after {
    left: calc(50% - var(--width) / 2);
  }

  .case-before .case-pic, .case-after .case-pic {
    margin-left: 0%;
    margin-right: 0%;
    align-items: center;
    margin-inline: auto;
  }

  .patient-cases .case-pic {
    width: 80%;
    object-fit: contain;
    top: 0;
  }

  .buccal-case .case-pic {
    width: 80%;
    object-fit: contain;
  }
}

.service-wrapper {
  --gap: var(--size-1100);
  gap: var(--gap);
  flex-direction: column;
  display: flex;
  position: relative;
}

.service-container {
  isolation: isolate;
  flex-direction: column;
  display: flex;
  position: relative;
}

.service-container:not(:first-child):before {
  --line-size: 70%;
  --gap: inherit;
  content: "";
  top: calc(-.5 * var(--gap));
  height: 2px;
  width: var(--line-size);
  min-width: var(--line-size);
  left: calc((100% - var(--line-size)) / 2);
  right: calc((100% - var(--line-size)) / 2);
  background-color: var(--clr-accent-500);
  position: absolute;
}

.service-content {
  margin-top: var(--size-700);
}

.service-icon-container {
  --size: 100px;
  isolation: isolate;
  background-color: var(--clr-neutral-900);
  border-radius: 100vw;
  position: relative;
  height: var(--size) !important;
  width: var(--size) !important;
  min-width: var(--size) !important;
}

.service-icon {
  --icon-size: 70%;
  height: var(--icon-size);
  width: var(--icon-size);
  left: calc((100% - var(--icon-size)) / 2);
  top: calc((100% - var(--icon-size)) / 2);
  fill: var(--clr-accent-500);
  stroke: #fff;
  position: absolute;
}

@media (prefers-color-scheme: light) {
  .service-icon-container {
    background-color: var(--clr-accent-500);
  }

  .service-icon {
    fill: #fff;
    stroke: var(--clr-accent-500);
  }
}

@media (min-width: 47em) {
  .service-container {
    align-items: center;
    gap: var(--size-600);
    margin-inline: var(--size-800);
    flex-direction: row;
    flex: 1 0 100px;
  }

  .service-content {
    margin-top: 0;
  }

  .service-container > div {
    margin-inline: var(--size-500);
  }

  .service-container:nth-child(2n) {
    text-align: right;
    flex-direction: row-reverse;
  }
}

.service-list-container {
  isolation: isolate;
  gap: var(--size-600);
  flex-direction: column;
  display: flex;
  position: relative;
}

.service-list-container:not(:first-child):before {
  --line-size: 70%;
  content: "";
  top: calc(-.5 * var(--gap));
  height: 2px;
  width: var(--line-size);
  min-width: var(--line-size);
  left: calc((100% - var(--line-size)) / 2);
  right: calc((100% - var(--line-size)) / 2);
  background-color: var(--clr-neutral-900);
  position: absolute;
}

@media (min-width: 47em) {
  .service-list-container {
    margin-inline: var(--size-800);
    flex: 1 0 100px;
    align-items: center;
  }

  .service-list-container > div {
    margin-inline: var(--size-500);
  }

  .service-list-container:nth-child(2n) {
    text-align: right;
  }
}

.modal-content {
  background-color: var(--clr-trans-contrast-800);
  color: var(--clr-contrast);
}

.portfolio {
  --height-aspect: 1;
  --width-aspect: 1;
  height: 100%;
  max-width: 1400px;
  padding-block: var(--size-700);
  grid-gap: var(--size-600);
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: dense;
  margin-inline: auto;
  display: grid;
}

@media (min-width: 30em) {
  .portfolio {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (min-width: 47em) {
  .portfolio {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 65em) {
  .portfolio {
    grid-template-columns: repeat(7, 1fr);
  }
}

.portfolio-item {
  z-index: 10;
  grid-area: span 1 / span 1;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portfolio-item.tall {
  grid-row: span 2;
}

.portfolio-item.x-tall {
  grid-row: span 3;
}

.portfolio-item.wide {
  grid-column: span 2;
}

.portfolio-item.x-wide {
  grid-column: span 3;
}

@media (max-width: 30em) {
  .portfolio-item.tall, .portfolio-item.x-tall {
    grid-row: span 2;
  }

  .portfolio-item.wide, .portfolio-item.x-wide {
    grid-column: span 2;
  }
}

.txt-clr-white {
  color: #fff;
}

.txt-clr-black {
  color: #000;
}

.txt-clr-accent {
  color: var(--clr-accent-500);
}

.visually-hidden {
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.container-div {
  --max-width: 1400px;
  --container-padding: 1rem;
  width: min(var(--max-width), 100% - (var(--container-padding) * 2) );
  margin-inline: auto;
}

@media (min-width: 47em) {
  .container-div {
    --container-padding: 2rem;
  }
}

.even-columns {
  gap: 1rem;
  row-gap: var(--size-800);
  grid-auto-columns: 1fr;
  display: grid;
}

.even-columns div {
  justify-content: center;
  margin-inline: auto;
}

.uneven-columns-min {
  gap: 1rem;
  row-gap: var(--size-800);
  grid-auto-columns: 1fr;
  display: grid;
}

.uneven-columns-min div {
  justify-content: center;
  margin-inline: auto;
}

.uneven-columns {
  gap: 0 1rem;
  display: grid;
}

.uneven-columns-xl {
  gap: 0;
  display: grid;
  overflow: hidden;
}

@media (min-width: 47em) {
  .even-columns {
    grid-auto-columns: 1fr 1fr;
    grid-auto-flow: column;
  }

  .uneven-columns-min {
    grid-auto-columns: 1fr minmax(400px, min-content);
    grid-auto-flow: column;
  }

  .uneven-columns {
    grid-auto-rows: 1fr;
    grid-auto-columns: 3fr 5fr;
    grid-auto-flow: column;
  }

  .uneven-columns-xl {
    grid-auto-rows: 1fr;
    grid-auto-columns: 1fr 3fr;
    grid-auto-flow: column;
  }

  .uneven-columns-xl .accordion-flush .accordion-item {
    min-width: min-content;
    flex-direction: row;
    flex-grow: 0;
    flex-shrink: 1;
  }
}

.vertical-align-center {
  align-items: center;
}

.justify-self-end {
  justify-self: end;
}

@media (min-width: 47em) {
  .justify-self-end-md {
    justify-self: end;
  }
}

.flow {
  padding-inline: var(--size-400);
}

:where(.flow :not(:first-child)) {
  margin-top: var(--size-700);
}

.text-center {
  text-align: center;
}

.text-center p {
  margin-inline: auto;
}

.text-left {
  text-align: left;
}

.text-center p {
  margin-left: 0;
}

.content-center, .content-center div {
  justify-content: center;
}

@media (max-width: 47em) {
  p:not([class]) {
    max-width: 50ch;
    text-align: center;
  }

  .text-center-sm-only {
    text-align: center;
  }

  .text-center-sm-only p {
    text-align: center;
    margin-inline: auto;
  }

  .content-center-sm-only, .content-center-sm-only div {
    justify-content: center;
    margin-inline: auto;
  }
}

.text-primary-400 {
  color: var(--clr-primary);
}

.text-accent-400 {
  color: var(--clr-accent-500);
}

.text-accent-100 {
  color: var(--clr-accent-100);
}

.text-neutral-100 {
  color: var(--clr-neutral-100);
}

.text-neutral-900 {
  color: var(--clr-neutral-900);
}

.bg-primary-400 {
  background-color: var(--clr-primary);
}

.bg-accent-400 {
  background-color: var(--clr-accent-500);
}

.bg-accent-600 {
  background-color: var(--clr-accent-600);
}

.bg-accent-800 {
  background-color: var(--clr-accent-800);
}

.bg-accent-900 {
  background-color: var(--clr-accent-900);
}

.bg-accent-100 {
  background-color: var(--clr-accent-100);
}

.bg-neutral-100 {
  background-color: var(--clr-neutral-100);
}

.bg-neutral-900 {
  background-color: var(--clr-neutral-900);
}

.bg-trans-contrast-200 {
  background-color: var(--clr-trans-contrast-200);
}

.bg-trans-contrast-400 {
  background-color: var(--clr-trans-contrast-400);
}

.bg-trans-contrast-600 {
  background-color: var(--clr-trans-contrast-600);
}

.fw-bold {
  font-weight: var(--fw-bold);
}

.fw-semi-bold {
  font-weight: var(--fw-semi-bold);
}

.fw-regular {
  font-weight: var(--fw-regular);
}

.fs-primary-heading {
  font-size: var(--fs-primary-heading);
  line-height: 1.1;
}

.fs-secondary-heading {
  font-size: var(--fs-secondary-heading);
  line-height: 1.1;
}

.fs-sub-heading {
  font-size: var(--fs-sub-heading);
  line-height: 1.1;
}

.fs-accent-heading {
  font-size: var(--fs-accent-heading);
  line-height: 1.1;
}

.fs-300 {
  font-size: var(--fs-300);
}

.fs-400 {
  font-size: var(--fs-400);
}

.fs-500 {
  font-size: var(--fs-500);
}

.fs-600 {
  font-size: var(--fs-600);
}

.form-group input, .form-group select {
  font-size: inherit;
}

.form-group label {
  margin-bottom: var(--size-200);
}

.padding-500 {
  padding: var(--size-500);
}

.padding-block-700 {
  padding-block: var(--size-700);
}

.padding-block-600 {
  padding-block: var(--size-600);
}

.padding-block-900 {
  padding-block: var(--size-900);
}

.padding-inline-600 {
  padding-inline: var(--size-600);
}

.padding-inline-700 {
  padding-inline: var(--size-700);
}

.padding-inline-800 {
  padding-inline: var(--size-800);
}

.padding-inline-900 {
  padding-inline: var(--size-900);
}

.padding-top-400 {
  padding-top: var(--size-400);
}

.padding-top-500 {
  padding-top: var(--size-500);
}

.padding-top-600 {
  padding-top: var(--size-600);
}

.padding-top-700 {
  padding-top: var(--size-700);
}

.padding-top-800 {
  padding-top: var(--size-800);
}

.padding-top-900 {
  padding-top: var(--size-900);
}

.padding-bot-900 {
  padding-bottom: var(--size-900);
}

.padding-bot-500 {
  padding-bottom: var(--size-500);
}

.padding-bot-600 {
  padding-bottom: var(--size-600);
}

.padding-bot-400 {
  padding-bottom: var(--size-400);
}

.margin-block-900 {
  margin-block: var(--size-900);
}

.margin-block-700 {
  margin-block: var(--size-700);
}

.margin-block-300 {
  margin-block: var(--size-300);
}

.margin-block-400 {
  margin-block: var(--size-400);
}

.margin-bot-400 {
  margin-bottom: var(--size-400);
}

.margin-bot-500 {
  margin-bottom: var(--size-500);
}

.margin-bot-600 {
  margin-bottom: var(--size-600);
}

.margin-bot-700 {
  margin-bottom: var(--size-700);
}

.margin-top-500 {
  margin-top: var(--size-500);
}

.margin-top-600 {
  margin-top: var(--size-600);
}

.margin-top-700 {
  margin-top: var(--size-700);
}

.margin-top-800 {
  margin-top: var(--size-800);
}

.margin-top-900 {
  margin-top: var(--size-900);
}

.margin-top-1100 {
  margin-top: var(--size-1100);
}

.padding-block-header {
  padding-top: calc(var(--size-primary-header-gap));
}

.display-sm-none {
  display: none;
}

.display-sm-only {
  display: inline-block;
}

.display-inline-flex {
  display: inline-flex;
}

@media (min-width: 47em) {
  .display-md-inline-flex, .display-sm-none {
    display: inline-flex;
  }

  .display-sm-only {
    display: none;
  }
}

.whatsapp-contact {
  z-index: 9;
  transition: all .3s ease-in-out;
  position: fixed;
  bottom: 10vh;
  right: 0;
  translate: 160px;
}

.whatsapp-contact:focus, .whatsapp-contact:active, .whatsapp-contact:hover {
  translate: 0;
}

.grecaptcha-badge {
  visibility: hidden;
}

.grecaptcha-text {
  color: #f2f2f2;
  font-size: var(--fs-500);
}

.grecaptcha-text > a {
  color: #257 !important;
}

.hero-container {
  min-width: 100%;
  max-width: 100vw;
  justify-content: center;
  overflow: hidden;
}

.hero-container img {
  width: 100%;
  max-width: 100vw;
  max-height: 80vh;
  visibility: hidden;
}

.section-divider img {
  max-width: 100vw;
  max-height: 40vh;
  visibility: hidden;
}

@media screen and (orientation: portrait) {
  .hero-container img {
    width: 100%;
    max-width: 100vw;
    max-height: 55vh;
    min-height: 40vh;
    visibility: hidden;
  }

  .section-divider img {
    min-height: 20vh;
    height: 100%;
  }
}

.hero-image {
  height: auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: width .1s linear;
  position: relative;
  left: 50%;
  overflow: hidden;
  translate: -50%;
}

.hero-image[id="main-hero"] {
  background-image: url("hero-section.582dc6e9.webp");
}

.hero-image[id="service-hero"] {
  background-image: url("service-hero.3d94f59b.webp");
  background-position: 50% 80%;
}

.hero-image[id="service-hero"] img {
  max-height: 60vh;
}

.hero-image[id="service-section-hero"] {
  background-image: linear-gradient(var(--clr-trans-primary-500), var(--clr-trans-primary-500)), url("service-hero-divider.f52c6f6d.webp");
  background-position: 50% 80%;
}

.hero-image[id="patients-hero"] {
  background-image: url("patients-collage.eeb0a2f3.webp");
}

.hero-text {
  text-align: center;
  font-size: clamp(var(--fs-700), 9vw, var(--fs-900));
  color: var(--clr-contrast-dark-bg);
  line-height: 1.1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero-text span {
  font-size: clamp(var(--fs-900), 12vw, var(--fs-1200));
  font-weight: var(--fw-bold);
}

.HoverCard.__web-inspector-hide-shortcut__ {
  height: 0;
  display: none;
}

@media (max-width: 47em) {
  .servicio-section {
    background-position: 15% 15%;
    background-size: 125%;
  }
}

.overflow-visible {
  overflow: visible;
}

.overflow-hidden {
  overflow: hidden;
}

iframe.instagram-media, .fb_iframe_widget iframe {
  max-width: 100% !important;
  width: 100% !important;
  min-width: auto !important;
}

.accordion-flush .slick-track {
  align-items: center;
  display: flex !important;
}

.accordion-flush .slick-initialized .slick-slide {
  display: flex;
}

.alert {
  border: 1px solid #0000;
  border-radius: .25rem;
  margin-bottom: 1rem;
  padding: 1rem;
  position: relative;
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
}

.alert-dismissible {
  padding-right: 3rem;
}

.alert-dismissible .btn-close {
  z-index: 2;
  padding: 1.25rem 1rem;
  position: absolute;
  top: 0;
  right: 0;
}

.alert-primary {
  color: #084298;
  background-color: #cfe2ff;
  border-color: #b6d4fe;
}

.alert-primary .alert-link {
  color: #06357a;
}

.alert-secondary {
  color: #41464b;
  background-color: #e2e3e5;
  border-color: #d3d6d8;
}

.alert-secondary .alert-link {
  color: #34383c;
}

.alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}

.alert-success .alert-link {
  color: #0c4128;
}

.alert-info {
  color: #055160;
  background-color: #cff4fc;
  border-color: #b6effb;
}

.alert-info .alert-link {
  color: #04414d;
}

.alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}

.alert-warning .alert-link {
  color: #523e02;
}

.alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

.alert-danger .alert-link {
  color: #6a1a21;
}

.alert-light {
  color: #636464;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

.alert-light .alert-link {
  color: #4f5050;
}

.alert-dark {
  color: #141619;
  background-color: #d3d3d4;
  border-color: #bcbebf;
}

.alert-dark .alert-link {
  color: #101214;
}

.fade {
  transition: opacity .15s linear;
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  color: #000;
  opacity: .5;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center / 1em no-repeat;
  border: 0;
  border-radius: .25rem;
  padding: .25em;
}

.btn-close:hover {
  color: #000;
  opacity: .75;
  text-decoration: none;
}

.btn-close:focus {
  opacity: 1;
  outline: 0;
  box-shadow: 0 0 0 .25rem #0d6efd40;
}

.btn-close.disabled, .btn-close:disabled {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  opacity: .25;
}

.btn-close-white {
  filter: invert() grayscale() brightness(200%);
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  transition: height .35s;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.collapse-horizontal.show {
  max-width: 100vw;
}

.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width .35s;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal, .collapsing {
    transition: none;
  }
}

.accordion-button {
  font-family: var(--ff-primary);
  font-size: var(--fs-650);
  font-weight: var(--fw-semi-bold);
  color: #fff;
  background-color: var(--clr-accent-500);
  border: 1px solid var(--clr-trans-contrast-200);
  overflow-anchor: none;
  border-radius: 0;
  align-items: center;
  padding: 1rem 1.25rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s;
  display: flex;
  position: relative;
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}

.accordion-button.collapsed {
  background-color: var(--clr-accent-300);
  border-bottom-width: 0;
}

.accordion-button:not(.collapsed):after {
  filter: var(--svg-filter-white);
  transform: rotate(180deg);
}

.accordion-button:after {
  width: 1.5rem;
  height: .75rem;
  content: "";
  background-image: url("arrow.c242ca61.svg");
  background-repeat: no-repeat;
  background-size: 1.25rem;
  flex-shrink: 0;
  margin-left: auto;
  transition: transform .2s ease-in-out;
}

.accordion-button.collapsed:after {
  filter: var(--svg-filter-white);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button:after {
    transition: none;
  }
}

.accordion-button.collapsed:hover {
  z-index: 2;
  color: var(--clr-accent-500);
  background-color: #fff;
}

.accordion-button.collapsed:hover:after {
  filter: var(--svg-filter-accent);
}

.accordion-button:focus {
  z-index: 3;
  outline: 0;
}

.accordion-body {
  background-color: var(--clr-trans-contrast-400);
  color: #000;
  padding-inline: 1.25rem;
}

.accordion-item:last-of-type {
  box-shadow: .25rem .25rem .5rem 0 var(--clr-trans-accent-200);
}

.accordion.horizontal {
  display: flex;
}

.accordion.horizontal .accordion-item {
  min-width: min-content;
  flex-direction: row;
  flex-grow: 0;
  flex-shrink: 1;
  display: flex;
}

.collapsing.horizontal {
  height: 100%;
  width: 0;
  transition: width .35s;
}

.accordion.horizontal .accordion-item .accordion-body {
  height: 100%;
}

.accordion.horizontal .accordion-button:not(.collapsed):after {
  transform: rotate(90deg);
}

.accordion.horizontal .accordion-button:after {
  transform: rotate(-90deg);
}

.iti {
  color: #000;
  width: 100%;
}

.info-wrap {
  min-height: 750px;
}

.info-wrap .dbox .text {
  margin-top: auto;
  margin-bottom: auto;
}

.info-wrap .dbox .text p {
  text-align: left;
}

section[id="contact-form"] {
  max-width: 100vw;
  padding-top: var(--size-primary-header-gap);
  overflow: hidden;
}

.form-control {
  font-size: inherit;
}

.form-group {
  margin-bottom: var(--size-400);
}

select:required:invalid {
  color: gray !important;
}

option[value="selectOption"][disabled] {
  display: none;
}

option:not(:first-of-type) {
  color: #000 !important;
}

.text-form {
  color: #fa5c5c;
  font-size: var(--fs-600) !important;
}

@media (min-width: 47em) {
  section[id="contact-form"] > div {
    background: linear-gradient(90deg, var(--clr-accent-500) 60%, var(--clr-accent-800) 60%);
    background: -moz-linear-gradient(90deg, var(--clr-accent-500) 60%, var(--clr-accent-800) 60%);
    background: -webkit-linear-gradient(0, var(--clr-accent-500) 60%, var(--clr-accent-800) 60%);
  }
}

.icon.d-flex {
  --size: 60px;
  isolation: isolate;
  margin-right: var(--size-500);
  background: #ffffff26;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  height: var(--size) !important;
  width: var(--size) !important;
}

.contact-icon {
  --icon-size: 70%;
  height: var(--icon-size);
  width: var(--icon-size);
  left: calc((100% - var(--icon-size)) / 2);
  top: calc((100% - var(--icon-size)) / 2);
  fill: #fff;
  position: absolute;
}

.errorlist {
  margin-block: var(--size-300);
  padding-block: var(--size-300);
  padding-inline: var(--size-300);
  padding-left: var(--size-500);
  background-color: var(--clr-trans-primary-500);
}

@media (min-width: 47em) {
  .w-80vw {
    width: 80vw;
  }
}

/*# sourceMappingURL=index.675ce9ed.css.map */
