/* EDITABLE SITE SETTINGS
   theme.css and skin.css preserve the original BeautySpot presentation.
   Put adjustments in this file rather than changing the original theme. */
body, input, textarea, select {
    font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight:400;
}
.m-secondary-font,
.header-menu > ul > li > span,
.various-content h1,
.various-content h2,
.various-content h3,
.various-content h4,
.various-content h5,
.c-button,
.default-form label,
table th {
  font-family: Montserrat, Arial, sans-serif;
}
.header-branding {
  padding-top: 30px !important;
}
.header-navigation {
  margin-top: 20px;
}
.align-right {
  text-align: right;
}
.price-text {
  color: #993399;
}
/* Original carousel presentation, implemented without WordPress or jQuery. */
.c-carousel-items {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  --visible-items: 4;
}
.c-carousel-items::-webkit-scrollbar,
.c-gallery .thumb-list::-webkit-scrollbar {
  display: none;
}
.c-carousel-items > .carousel-item {
  flex: 0 0 calc(100% / var(--visible-items));
  width: calc(100% / var(--visible-items));
  min-width: 0;
  padding: 0 15px;
  scroll-snap-align: start;
}
.c-carousel .c-carousel-items::after {
  display: none;
}
.c-carousel .owl-controls {
  margin-top: 0;
  opacity: 0.4;
  text-align: center;
}
.c-carousel:hover .owl-controls {
  opacity: 1;
}
.owl-page {
  padding: 0;
}
.c-gallery .thumb-list {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  --visible-items: 4;
}
.c-gallery .thumb-list > .gallery-item {
  flex: 0 0 calc(100% / var(--visible-items));
  width: calc(100% / var(--visible-items));
  scroll-snap-align: start;
}
.c-gallery .thumb-list::after {
  display: none;
}
.c-gallery .owl-controls {
  margin-top: 15px;
  text-align: center;
}
/* Slideshow. Color and dimensions come from the original theme. */
.c-slider .slide {
  display: none;
}
.c-slider .slide.m-active {
  display: block;
}
.c-slider .slider-nav li.m-active > button {
  color: #96c1c2;
}
.c-slider .slider-indicator > span {
  width: 0;
}
.c-slider.is-playing .slider-indicator > span {
  animation: banner-progress 10s linear forwards;
}
@keyframes banner-progress {
  from { width: 0; }
  to { width: 100%; }
}
/* Header information drawer and mobile navigation */
#header.m-has-active-panel .header-contact {
  display: block;
}
#header .header-menu-toggle[aria-expanded='true'] + ul {
  display: block;
}
.c-accordion > li.m-active .accordion-content {
  display: block;
}
.c-accordion .accordion-title:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 2px solid #834b8e;
  outline-offset: 3px;
}
/* Standalone photo dialog */
#photo-viewer {
  max-width: min(94vw, 1100px);
  max-height: 95vh;
  border: 0;
  padding: 16px;
  background: white;
  color: #585858;
}
#photo-viewer::backdrop {
  background: rgba(0, 0, 0, 0.82);
}
#photo-viewer img {
  display: block;
  max-width: 100%;
  max-height: 78vh;
  object-fit: contain;
  margin: auto;
}
#photo-viewer p {
  text-align: center;
  margin: 15px 0 0;
}
.viewer-close {
  display: block;
  padding: 6px 12px;
  margin: 0 0 12px auto;
  color: #585858;
  background: white;
  border: 1px solid #96c1c2;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 15px;
  padding: 10px;
  z-index: 100;
  background: white;
}
.skip-link:focus {
  top: 15px;
}
@media (max-width: 767px) {
  .c-carousel-items,
  .c-gallery .thumb-list {
    --visible-items: 2;
  }
  .c-accordion > li.m-has-price .accordion-title {
    padding-right: 15px;
  }
  .c-accordion .accordion-price {
    position: static;
    padding: 0 15px 12px 40px;
    font-size: 14px;
  }
}
@media (max-width: 479px) {
  .c-carousel-items,
  .c-gallery .thumb-list {
    --visible-items: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-slider.is-playing .slider-indicator > span {
    animation: none;
  }
}
/* Match the original Owl carousel's rounded card widths and outer spacing. */
.c-carousel-items {
  align-items: flex-start;
}
.c-carousel-items > .carousel-item {
  flex-basis: var(--item-width, calc(100% / var(--visible-items)));
  width: var(--item-width, calc(100% / var(--visible-items)));
}
.c-carousel:not(.m-has-bg-color),
.c-gallery {
  margin-bottom: 0;
}
.owl-controls[hidden] {
  display: none !important;
}
.c-carousel.m-has-bg-color {
  position: relative;
}
/* The original testimonial image is missing on the live site. Preserve its
   text position and reserved space without requesting a broken image. */
.c-testimonial.original-portrait-layout .testimonial-inner {

  min-height: 150px;
}
@media (max-width: 991px) {
  .c-testimonial.original-portrait-layout .testimonial-inner {
    padding-left: 0;
  }
}
.c-carousel.m-has-bg-color > .container {
  position: relative;
}
.c-carousel.m-has-bg-color .owl-controls {
  left: 15px;
  right: 15px;
  width: auto;
}
