/* Added fallbacks to help with CLS, feel free to remove if it doesn't help on your project */
/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
#hero {
  display: flex;
  align-items: center;
  min-height: 725px;
  padding-top: 128px;
  padding-bottom: 3em;
}
#hero h1, #hero h2, #hero h3, #hero h4, #hero h5, #hero h6, #hero p, #hero a {
  color: #FFFFFF;
}
#hero::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  top: 0;
  background: linear-gradient(0deg, rgba(25, 51, 72, 0.6) 0%, rgba(25, 51, 72, 0.6) 100%);
}
#hero .container {
  position: relative;
  z-index: 1;
}
#hero picture.main-image {
  max-width: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  height: 100% !important;
  z-index: -1;
  top: 0;
}
#hero picture.main-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  min-height: 725px;
}
#hero .new-patients {
  font-weight: 600;
  line-height: normal;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}
#hero .container-buttons {
  flex-direction: column;
}
@media screen and (min-width: 420px) {
  #hero .container-buttons {
    flex-direction: row;
  }
}
@media screen and (min-width: 1025px) {
  #hero {
    min-height: 100vh;
    padding-top: unset;
    padding-bottom: unset;
    padding-top: 112px;
  }
  #hero h1 {
    padding-right: 40px;
  }
  #hero .main-content p {
    max-width: 692px;
  }
  #hero picture.main-image img {
    min-height: 100vh;
  }
  #hero::before {
    display: none;
  }
}

/*Welcome*/
#welcome p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#welcome picture img {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
@media screen and (min-width: 1025px) {
  #welcome .main-content {
    padding-left: 4em;
  }
}
@media screen and (min-width: 1440px) {
  #welcome .main-content {
    padding-left: 8em;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1920px) {
  #welcome .main-content {
    min-height: 872px;
  }
  #welcome picture img {
    position: absolute;
    left: 2em;
    max-width: 47%;
    height: 100%;
    object-fit: cover;
  }
}

/*Mission*/
#mission picture {
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  z-index: -1;
  top: 0;
}
#mission picture img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
}
#mission p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#mission h2, #mission h3, #mission h4, #mission h5, #mission h6, #mission p {
  color: #FFFFFF;
}
#mission .main-container-top {
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
}
#mission .icon-icon-hand-tooth,
#mission .icon-icon-family,
#mission .icon-icon-hygenist {
  color: #9ac2de;
  font-size: 104px;
}
#mission .container-content-card {
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
}
#mission .container-icon {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
#mission .container-card p {
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1025px) {
  #mission {
    min-height: 798px;
  }
}

/*Services*/
#services {
  margin-top: 4em;
  margin-bottom: 4em;
}
#services p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#services .container-content {
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  #services {
    margin-top: 7em;
    margin-bottom: 5em;
  }
}

/*General, Restorative, Cosmetic, Emergency*/
#general [class^=icon-icon],
#restorative [class^=icon-icon],
#cosmetic [class^=icon-icon],
#emergency [class^=icon-icon] {
  font-size: 40px;
  color: #9ac2de;
}
#general .service,
#restorative .service,
#cosmetic .service,
#emergency .service {
  gap: 12px;
}
#general .service p,
#restorative .service p,
#cosmetic .service p,
#emergency .service p {
  line-height: normal;
}
#general picture,
#restorative picture,
#cosmetic picture,
#emergency picture {
  height: 100% !important;
}
#general picture img,
#restorative picture img,
#cosmetic picture img,
#emergency picture img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 12px;
}
#general .container-services,
#restorative .container-services,
#cosmetic .container-services,
#emergency .container-services {
  gap: 24px;
}
@media screen and (min-width: 1025px) {
  #general .container-services,
  #restorative .container-services,
  #cosmetic .container-services,
  #emergency .container-services {
    grid-template-columns: 1fr 1fr;
    row-gap: 32px;
    column-gap: 16px;
  }
}

/*Restorative*/
#restorative picture,
#emergency picture {
  margin-left: auto;
}

#emergency picture {
  max-height: 100% !important;
}

/*Insurance*/
#insurance picture {
  pointer-events: none;
  margin-left: 2em;
  margin-right: 2em;
}
#insurance picture img {
  object-fit: cover;
  min-height: 296px;
  object-position: right;
  border-radius: 12px;
}
#insurance p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
@media screen and (min-width: 641px) {
  #insurance picture {
    pointer-events: none;
    margin-left: 4em;
    margin-right: 4em;
  }
}
@media screen and (min-width: 1025px) {
  #insurance {
    min-height: 1024px;
  }
  #insurance h2, #insurance h3, #insurance h4, #insurance h5, #insurance h6, #insurance p {
    color: #FFFFFF;
  }
  #insurance picture {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    position: absolute;
    z-index: -1;
    margin-left: 0;
    margin-right: 0;
  }
  #insurance picture img {
    width: 100% !important;
    height: 100%;
    min-height: unset;
    object-position: center;
    border-radius: unset;
  }
}

/*Languages*/
#languages {
  min-height: 609px;
}
#languages .container-content {
  max-width: 1088px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
#languages picture {
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  z-index: -1;
  top: 0;
}
#languages picture img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#languages p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#languages h2, #languages h3, #languages h4, #languages h5, #languages h6, #languages p {
  color: #FFFFFF;
}

/*Teams*/
#teams {
  background: #F6F6F6;
  padding-top: 4em;
  padding-bottom: 4em;
}
#teams p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#teams .main-content {
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#teams .team-item {
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);
  margin-bottom: 12px;
  border-radius: 12px;
}
#teams .team-item img {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  max-height: 396px;
  width: 100%;
  object-fit: cover;
}
#teams .team-item .container-inner-card {
  background: #FFFFFF;
  padding: 24px 24px 32px 24px;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
#teams .team-item .container-inner-card p {
  margin-bottom: 0;
}
#teams .team-item .icon-icon-arrow-right {
  color: #9ac2de;
}
#teams .team-item .link-bio {
  gap: 8px;
  margin-top: 24px;
  width: fit-content;
}
#teams .team-item .line-divider {
  width: calc(100% - 48px);
  height: 1px;
  background: #D1DAE1;
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
}
#teams .owl-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 2em;
  margin-bottom: 2em;
}
#teams .owl-dot span {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #E8EBED;
}
#teams .owl-dot.active span {
  background: #9ac2de;
}
@media screen and (min-width: 1025px) {
  #teams {
    padding-top: 7em;
    padding-bottom: 7em;
  }
  #teams .owl-dots {
    margin-top: 4em;
    margin-bottom: 4em;
  }
}

/*Testimonials*/
#testimonials .container-content {
  max-width: 1088px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
#testimonials picture {
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  z-index: -1;
  top: 0;
}
#testimonials picture img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#testimonials p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#testimonials h2, #testimonials h3, #testimonials h4, #testimonials h5, #testimonials h6, #testimonials p {
  color: #FFFFFF;
}
#testimonials .testimonial-item {
  background: #FFFFFF;
  padding: 32px;
  border-radius: 12px;
}
#testimonials .testimonial-item h2, #testimonials .testimonial-item h3, #testimonials .testimonial-item h4, #testimonials .testimonial-item h5, #testimonials .testimonial-item h6, #testimonials .testimonial-item p {
  color: #091722;
}
#testimonials .testimonial-item .author {
  margin-bottom: 12px;
}
#testimonials .testimonial-item .container-stars {
  gap: 6px;
  margin-bottom: 12px;
}
#testimonials .testimonial-text {
  overflow: hidden;
  transition: max-height 0.4s ease;
}
#testimonials .testimonial-text.is-collapsed {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#testimonials .read-more-link {
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-weight: 600;
  color: #091722;
  text-decoration: none;
  width: fit-content;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
#testimonials .read-more-link:hover {
  text-decoration: none;
}
#testimonials .read-more-link i {
  color: #9ac2de;
  transition: transform 0.2s ease;
  font-size: 11px;
  margin-left: 5px;
}
#testimonials .read-more-link.is-open i {
  transform: rotate(180deg);
}
#testimonials .owl-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 1em;
}
#testimonials .owl-dot span {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #E8EBED;
}
#testimonials .owl-dot.active span {
  background: #9ac2de;
}
#testimonials .testimonial-item {
  margin-bottom: 2em;
}
@media screen and (min-width: 641px) {
  #testimonials .testimonial-item {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1025px) {
  #testimonials {
    min-height: 970px;
  }
  #testimonials .owl-dots {
    margin-top: 4em;
    margin-bottom: 4em;
  }
}

/*FAQ*/
#faq [class^=icon-icon] {
  font-size: 15px;
  color: #9ac2de;
}
#faq p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#faq picture {
  height: 100% !important;
}
#faq picture img {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  height: 100%;
  object-fit: cover;
}
#faq .question {
  cursor: pointer;
}
#faq .question:hover {
  color: #66829A;
}
#faq .container-faq {
  border-top: 1px solid #D1DAE1;
}
#faq .container-faq:last-of-type {
  border-bottom: 1px solid #D1DAE1;
}
#faq .answer {
  display: none;
  margin-top: 10px;
  margin-left: 2em;
}
#faq h2 {
  margin-bottom: 32px;
}
#faq .btn {
  margin-top: 2.5em;
}
@media screen and (min-width: 1025px) {
  #faq .main-content {
    padding-right: 4em;
    min-height: 992px;
  }
  #faq [class^=icon-icon] {
    padding-top: 0;
  }
}
@media screen and (min-width: 1440px) {
  #faq .main-content {
    padding-right: 8em;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1920px) {
  #faq picture img {
    position: absolute;
    right: 2em;
    max-width: 47%;
    height: 100%;
    object-fit: cover;
  }
}

/*Blog*/
#blog {
  padding-top: 4em;
  padding-bottom: 4em;
  background: #F6F6F6;
}
#blog p.h6 {
  text-transform: uppercase;
  color: #B9A77B;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: 2.4px;
}
#blog .main-content {
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
}
#blog picture img {
  border-radius: 12px;
}
#blog .category {
  line-height: normal;
  letter-spacing: 2.4px;
  color: #66829A;
  font-weight: 600;
}
#blog .date {
  color: #66829A;
  font-weight: 600;
}
#blog .container-card {
  margin-top: 24px;
  margin-bottom: 16px;
}
#blog .icon-icon-arrow-right {
  color: #9ac2de;
}
#blog picture {
  max-width: 100% !important;
  max-height: 100% !important;
}
#blog picture img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1025px) {
  #blog {
    padding-top: 7em;
    padding-bottom: 7em;
  }
  #blog picture {
    height: unset !important;
  }
  #blog picture img {
    height: 336px;
  }
}