/* BASE */
/*
       _ _                     _   _
 _ __ / / | ___ _ __ ___  __ _| |_(_)_   _____
| '_ \| | |/ __| '__/ _ \/ _` | __| \ \ / / _ \
| |_) | | | (__| | |  __/ (_| | |_| |\ V /  __/
| .__/|_|_|\___|_|  \___|\__,_|\__|_| \_/ \___|
|_|

/*
|--------------------------------------------------------------------------
| Variables
| Author: P11
| Visit us: @ p11.com
|--------------------------------------------------------------------------
/* GLOBAL*/
/* FONTS*/
/* COLORS */
/* BREAKPOINTS */
/* Extra small mobile */
/* Mobile */
/* Tablet */
/* Middle Sized Devices */
/* Small Laptop */
/* Large Laptop / Desktop */
/* Large Desktop */
/*
       _ _                     _   _
 _ __ / / | ___ _ __ ___  __ _| |_(_)_   _____
| '_ \| | |/ __| '__/ _ \/ _` | __| \ \ / / _ \
| |_) | | | (__| | |  __/ (_| | |_| |\ V /  __/
| .__/|_|_|\___|_|  \___|\__,_|\__|_| \_/ \___|
|_|

/*
|--------------------------------------------------------------------------
| Mixins
| Author: P11 Interactive Team
| Visit us: @ p11.com
|--------------------------------------------------------------------------
| 1. Resets
| 2. Positioning
|
| Notes: Define patterns of property value pairs, which can then be reused in other rule sets
|
*/
/*
| Font Smoothing
| --------------------------------------------------
|
| Aligns most of the browsers with the same font antialiasing.
|
*/
/*
| Strict Button Style
| --------------------------------------------------
|
| Sets the button style appearance to none for various
| mobile browsers and OS's that will auto change the styling
|
*/
/*
| Positioning
| --------------------------------------------------
|
| The following mixins are used for positioning elements
| via the absolute rule
|
*/
/*
| Transition
| --------------------------------------------------
|
| Used to apply all browser prefixes for the css3
| transition property
|
*/
/*
| Box Shadow
| --------------------------------------------------
|
| Used to apply all browser prefixes for the css3
| box-shadow property
|
*/
/*
| Text Shadow
| --------------------------------------------------
|
| Used to apply all browser prefixes for the css3
| text-shadow property
|
*/
/*
| SVG Shadow
| --------------------------------------------------
|
| Used to apply all browser prefixes for the css3
| filter property
|
*/
/*
| Responsive Media Query Mixins
| --------------------------------------------------
|
| The following mixins are used for applying various
| media queries and specified breakpoints
|
*/
/*
| Transparent Colors
| --------------------------------------------------
|
| Function for creating transparent colors.
|
*/
/*
| Gradient Backgrounds
| --------------------------------------------------
|
| Mixin for creating gradient backgrounds
| @include bg-gradient(fn-transparent-color($color-black, 1), fn-transparent-color($color-black, 0), top, bottom, 0%, 100%);
|
*/
/*
| Rotation
| --------------------------------------------------
|
| Mixin for applying the correct browser prefixes for the
| transform: rotate property
|
*/
/*
| Keyframe animations
| --------------------------------------------------
| Mixin for applying animations to elements
|
*/
/* BLOCKS */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CAROUSEL GALLERY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
.carousel-gallery {
  width: 100%;
  position: relative;
}
.carousel-gallery.fullheight-adjusted {
  min-height: fit-content;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.carousel-gallery.fullheight-adjusted .gallery-intro {
  flex: 0 0 auto;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-content {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) {
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 768px) {
  .carousel-gallery.fullheight-adjusted .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) {
    flex-direction: column;
    align-items: stretch;
  }
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow .slick-list {
  min-height: 0;
  height: 100%;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow .slick-track {
  height: 100%;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow .slick-slide {
  height: 100% !important;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow .slick-slide > div {
  height: 100%;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow .n-slide-holder {
  position: relative;
  height: 100%;
}
.carousel-gallery.fullheight-adjusted .carousel-gallery-slideshow .n-slide {
  height: 100% !important;
  min-height: 100% !important;
  max-height: none;
}
.carousel-gallery .carousel-gallery-content {
  position: relative;
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.15rem;
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) .carousel-gallery-slideshow {
  order: 2;
  flex: 1 1 auto;
  min-width: 0;
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev,
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  transform: none;
  flex: 0 0 3.5rem;
  align-self: center;
  width: 3.5rem;
  min-width: 3.5rem;
  max-width: 3.5rem;
  height: auto;
  min-height: 3.5rem;
  color: var(--base-color, #000000);
  background-color: transparent;
  overflow: hidden;
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev i,
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext i {
  font-size: 3.25rem;
  line-height: 1;
  font-weight: 200;
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev:hover,
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext:hover {
  background-color: transparent;
  color: var(--base-color, #000000);
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev {
  order: 1;
}
.carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext {
  order: 3;
}
@media (max-width: 768px) {
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) {
    display: block;
    gap: 0;
  }
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) .carousel-gallery-slideshow {
    order: unset;
    flex: none;
    width: 100%;
  }
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev,
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 300;
    flex: none;
    align-self: auto;
    width: 2.25rem;
    min-width: 2.25rem;
    max-width: 2.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    color: var(--base-color, #000000);
    background-color: rgba(255, 255, 255, 0.85);
    overflow: hidden;
  }
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev i,
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext i {
    font-size: 1.75rem;
  }
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev:hover,
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext:hover {
    background-color: #ffffff;
  }
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev {
    left: 0.5rem;
    right: auto;
    order: unset;
  }
}
@media (max-width: 768px) and (max-width: 640px) {
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slickprev {
    left: 2rem;
  }
}
@media (max-width: 768px) {
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext {
    right: 0.5rem;
    left: auto;
    order: unset;
  }
}
@media (max-width: 768px) and (max-width: 640px) {
  .carousel-gallery .carousel-gallery-content:has(> .slickprev):not(:has(.carousel-gallery-slideshow.offset)) > .slicknext {
    right: 2rem;
  }
}
.carousel-gallery .carousel-gallery-content:has(.carousel-gallery-slideshow.offset) .slickprev {
  left: 0.5rem;
}
.carousel-gallery .carousel-gallery-content:has(.carousel-gallery-slideshow.offset) .slicknext {
  right: 0.5rem;
}
@media (max-width: 768px) {
  .carousel-gallery .carousel-gallery-content:has(.carousel-gallery-slideshow.offset) .slickprev {
    left: 0.25rem;
  }
  .carousel-gallery .carousel-gallery-content:has(.carousel-gallery-slideshow.offset) .slicknext {
    right: 0.25rem;
  }
}
.carousel-gallery .carousel-gallery-slideshow {
  overflow: hidden;
}
.carousel-gallery .carousel-gallery-slideshow .slick-list {
  min-height: 30vw;
}
.carousel-gallery .carousel-gallery-slideshow.has-slide-gap .slick-slide {
  margin-left: calc(var(--slides-gap, 0px) / 2);
  margin-right: calc(var(--slides-gap, 0px) / 2);
}
.carousel-gallery .carousel-gallery-slideshow {
  width: 100%;
  overflow: hidden;
  margin: 0 !important;
  padding: 0;
  list-style-type: none;
}
.carousel-gallery .carousel-gallery-slideshow .slick-slide {
  height: auto !important;
}
.carousel-gallery .carousel-gallery-slideshow .n-slide {
  text-align: center;
  position: relative !important;
  text-align: center;
  min-height: 30vw;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.carousel-gallery .carousel-gallery-slideshow .n-slide .overlay {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0.6;
  -webkit-transition: opacity 0.5s ease;
  -moz-transition: opacity 0.5s ease;
  -ms-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media (max-width: 768px) {
  .carousel-gallery .carousel-gallery-slideshow .n-slide {
    height: 50vw !important;
  }
}
.carousel-gallery .carousel-gallery-slideshow .n-slide .slide-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.carousel-gallery .carousel-gallery-slideshow .n-slide .slide-caption-content {
  font-family: "gill-sans-nova", Arial, Helvetica, sans-serif;
  font-weight: 500;
  display: inline-block;
  padding: 0.65rem 1.1rem;
  background-color: rgba(var(--base-color-rgb), 0.55);
  color: #ffffff;
  font-size: 0.8125rem;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
}
.carousel-gallery .carousel-gallery-slideshow .slide-caption-label {
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.carousel-gallery .carousel-gallery-slideshow .slide-caption-sep,
.carousel-gallery .carousel-gallery-slideshow .slide-caption-place {
  letter-spacing: normal;
  text-transform: none;
}
.carousel-gallery .carousel-gallery-slideshow .slick-center .n-slide .overlay {
  opacity: 0;
}
.carousel-gallery .carousel-gallery-slideshow.offset {
  --slide-peek-ratio: 0.4;
  --slide-main-ratio: 0.6;
  --slides-gap: 0px;
}
@media (max-width: 768px) {
  .carousel-gallery .carousel-gallery-slideshow.offset {
    --slide-peek-ratio: 0.15;
    --slide-main-ratio: 0.85;
  }
}
.carousel-gallery .carousel-gallery-slideshow.offset .slick-list {
  container-type: inline-size;
  overflow: hidden;
}
.carousel-gallery .carousel-gallery-slideshow.offset .slick-slide {
  width: calc(100cqi * var(--slide-main-ratio) - var(--slides-gap, 0px)) !important;
  max-width: calc(100cqi * var(--slide-main-ratio) - var(--slides-gap, 0px)) !important;
  min-width: calc(100cqi * var(--slide-main-ratio) - var(--slides-gap, 0px)) !important;
  flex: 0 0 calc(100cqi * var(--slide-main-ratio) - var(--slides-gap, 0px)) !important;
  box-sizing: border-box;
  margin-left: 0 !important;
  margin-right: var(--slides-gap, 0px) !important;
  -webkit-transition: transform 0.3s ease;
  -moz-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}
.carousel-gallery .carousel-gallery-slideshow.offset .slick-slide > div {
  width: 100%;
}
.carousel-gallery .carousel-gallery-slideshow.offset.has-slide-gap .slick-slide {
  margin-left: 0 !important;
  margin-right: var(--slides-gap, 0px) !important;
}
.carousel-gallery .carousel-gallery-slideshow.offset.is-resizing .slick-track,
.carousel-gallery .carousel-gallery-slideshow.offset.is-resizing .slick-slide,
.carousel-gallery .carousel-gallery-slideshow.offset.is-resizing .n-slide {
  transition: none !important;
}
.carousel-gallery .carousel-gallery-slideshow.offset .slick-center {
  z-index: 2;
}
.carousel-gallery .carousel-gallery-slideshow.offset .n-slide {
  width: 100%;
  -webkit-transition: transform 0.3s ease;
  -moz-transition: transform 0.3s ease;
  -ms-transition: transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}
.carousel-gallery .carousel-gallery-slideshow.css-ticker-initialized {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.carousel-gallery .carousel-gallery-slideshow.css-ticker-initialized .ticker-track {
  display: flex;
  width: max-content;
  will-change: transform;
}
.carousel-gallery .carousel-gallery-slideshow.css-ticker-initialized .ticker-track .n-slide-holder {
  flex-shrink: 0;
  display: inline-block;
}
.carousel-gallery .slickprev,
.carousel-gallery .slicknext {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  z-index: 300;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 3.5rem;
  height: 3.5rem;
  color: #ffffff;
  overflow: visible;
  background-color: rgba(var(--base-color-rgb), 0.25);
  -webkit-transition: background-color 0.5s ease, color 0.5s ease;
  -moz-transition: background-color 0.5s ease, color 0.5s ease;
  -ms-transition: background-color 0.5s ease, color 0.5s ease;
  -o-transition: background-color 0.5s ease, color 0.5s ease;
  transition: background-color 0.5s ease, color 0.5s ease;
}
.carousel-gallery .slickprev i,
.carousel-gallery .slicknext i {
  font-size: 3.25rem;
  line-height: 1;
  font-weight: 200;
  -webkit-transition: margin 0.25s ease;
  -moz-transition: margin 0.25s ease;
  -ms-transition: margin 0.25s ease;
  -o-transition: margin 0.25s ease;
  transition: margin 0.25s ease;
}
@media (max-width: 768px) {
  .carousel-gallery .slickprev,
  .carousel-gallery .slicknext {
    width: 2.75rem;
    height: 2.75rem;
  }
  .carousel-gallery .slickprev i,
  .carousel-gallery .slicknext i {
    font-size: 2.5rem;
  }
}
@media (max-width: 640px) {
  .carousel-gallery .slickprev,
  .carousel-gallery .slicknext {
    width: 2.25rem;
    height: 2.25rem;
  }
  .carousel-gallery .slickprev i,
  .carousel-gallery .slicknext i {
    font-size: 2rem;
  }
}
.carousel-gallery .slickprev:hover,
.carousel-gallery .slicknext:hover {
  background-color: rgba(var(--base-color-rgb), 0.45);
}
.carousel-gallery .slickprev {
  left: 0.5rem;
}
.carousel-gallery .slickprev:hover i {
  margin-left: -0.35rem;
}
.carousel-gallery .slicknext {
  right: 0.5rem;
}
.carousel-gallery .slicknext:hover i {
  margin-left: 0.35rem;
}

.slick-dots {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 1rem 0;
  list-style-type: none;
}
.slick-dots li {
  margin: 0 0.25rem;
}
.slick-dots button {
  display: block;
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: none;
  border-radius: 100%;
  background-color: blue;
  text-indent: -9999px;
}
.slick-dots li.slick-active button {
  background-color: red;
}

/*******************************************************
 IOS
********************************************************/
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) {
  .grid-gallery ul.gallery-list li .overlay {
    display: none !important;
  }
  .grid-gallery ul.gallery-list li .caption {
    padding: 0.5em;
    font-size: 1.25em;
    opacity: 1 !important;
    background-color: rgba(var(--secondary-color-rgb), 0.85);
    position: absolute;
    top: auto;
    left: 0;
    bottom: 0;
    transform: translate(0);
    -webkit-transform: translate(0);
    -moz-transform: translate(0);
    -ms-transform: translate(0);
    -o-transform: translate(0);
  }
  .grid-gallery ul.gallery-list li .bgimg {
    transform: scale(1) !important;
  }
  .grid-gallery ul.gallery-list li a.is-image {
    pointer-events: none !important;
  }
}

/*# sourceMappingURL=content-gallery-carousel.css.map */
