@layer critical, framework, injected, babka, connor, zoe;
/* @import 'developer-resources/css/bootstrap.min.css'; */

/* work-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  src: url('https://schrappers.com/developer-resources/fonts/work-sans-v19-latin-regularwoff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  src: url('https://schrappers.com/developer-resources/fonts/work-sans-v19-latin-500woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  src: url('https://schrappers.com/developer-resources/fonts/work-sans-v19-latin-600woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  src: url('https://schrappers.com/developer-resources/fonts/work-sans-v19-latin-700woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('https://schrappers.com/developer-resources/fonts/playfair-display-v36-latin-regularwoff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  src: url('https://schrappers.com/developer-resources/fonts/playfair-display-v36-latin-italicwoff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('https://schrappers.com/developer-resources/fonts/playfair-display-v36-latin-700.woff2woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  src: url('https://schrappers.com/developer-resources/fonts/playfair-display-v36-latin-700italic.woff2woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
    font-family: 'Playfair Fallback';
    size-adjust: 111.19%;
    ascent-override: 92%;
    src: local('Times New Roman');
}
@font-face {
    font-family: "Sans Fallback";
    size-adjust: 111.69%;
    ascent-override: 81%;
    src: local('Arial');
}
 
 
 
 

:root {
    --bs-dark-rgb: 9, 2, 16;
    --bs-dark-hsl: 270 77.8% 3.5%;
    --bs-dark-hex: #090210;
    --bs-dark: rgb(9, 2, 16);
    --bs-light-rgb: 247, 247, 247;
    --bs-light-hsl: 0 0% 96.9%;
    --bs-light-hex: #f7f7f7;
    --bs-light: rgb(247, 247, 247);
    --bs-secondary-rgb: 30, 30, 30;
    --bs-secondary-hsl: 0 0% 11.8%;
    --bs-secondary-hex: #1e1e1e;
    --bs-secondary: rgb(30, 30, 30);
    --bs-body-color-rgb: 62, 66, 72;
    --bs-body-color-hsl: 216 7.5% 26.3%;
    --bs-body-color-hex: #3e4248;
    --bs-body-color: rgb(62, 66, 72);
    --font-playfair: 'Playfair Display', 'Playfair Fallback', sans-serif;
    --font-worksans: 'Work Sans', 'Sans Fallback', sans-serif;
    --black: rgb(9, 2, 16);
    --text-gray: rgb(62, 66, 72);
    --off-white: rgb(247, 247, 247);
}

@layer connor {
    :root {
    --bs-body-font-family: 'Work Sans', sans-serif;
    --bs-light-rgb: 247, 247, 247;
}

img {
    max-width: 100%;
    height: auto;
}
[v-cloak] {
    display: none;
}
.review-card {
    display: flex;
    flex-flow: column;
    row-gap: 0.5ch;
    
    .title {
        font-size: 18px;
        line-height: calc(30/18);
        font-family: var(--font-playfair);
        margin-bottom: 0;
    }
    .content {
        font-size: 20px;
        line-height: calc(30/21);
    }
}
.star-icons {
    font-size: 1rem;
    svg {
        width: 0.95em;
        height: 0.95em;
        display: block;
    }
    path {
        fill: #e1b844;
    }
}
.star-icons-black {
    path {
        fill: var(--bs-body-color);
    }
}
.mouse-wrapper {
    --mouse-height: calc(var(--mouse-width) * 1.75);
    --mouse-width: 30px;
    --mouse-radius: calc(var(--mouse-width) * 10);
    --border-color: #fff;
    --border-width: 2px;
    --hover-opacity: 1;
}
.mouse-wrapper:hover {
    --border-color: rgba(255, 255, 255, 0.8);
}
.services-carousel-container .hero {
    height: clamp(400px, 85vh, 950px);
}
@media (min-width: 1400px) {
    .services-carousel-container .hero {
        height: auto;
        aspect-ratio: 1920 / 950;
    }
}
.controls .form-select {
    padding-right: 1.25rem;
    background-position: right 0.2rem center;
}
.gallery-card picture {
    position: relative;
    background-repeat: no-repeat;
}
.gallery-card picture::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: backdrop-filter 0.25s ease;
}
.gallery-card picture:not(.loaded)::after {
    backdrop-filter: blur(10px);
}
.gallery-grid-item a,
.gallery-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-height: 100%;
}
.gallery-page-grid :is(a, picture) {
    min-height: 100%;
    display: block;
    height: 100%;
}
.gallery-page-grid img {
    min-height: 300px;
}
@media (min-width: 576px) {
    .gallery-page-grid img {
        min-height: unset;
    }
}

.scroll-slide {
    --bs-heading-color: white;
}
#mouse-scroll {
    display: block;
    margin: auto;
    margin-right: var(--mouse-width);
    z-index: 9999;
}
#mouse-scroll .down-arrow {
    display: block;
    width: var(--arrow-size);
    height: var(--arrow-size);
    transform: rotate(45deg);
    border-right: var(--border-width) solid var(--border-color);
    border-bottom: var(--border-width) solid var(--border-color);
    margin: 0 0 3px 4px;
}
#mouse-scroll .mouse {
    height: var(--mouse-height);
    width: var(--mouse-width);
    border-radius: var(--mouse-radius);
    transform: none;
    border: var(--border-width) solid var(--border-color);
}
#mouse-scroll .mouse-in {
    height: calc(var(--mouse-height) * 0.2);
    width: calc(var(--mouse-width) * 0.1);
    display: block; 
    margin: 2px auto 0;
    background: #ffffff;
    position: relative;
    animation: animated-mouse 1.2s ease infinite;
}
@keyframes animated-mouse {
    0% {
        opacity: 1;
        transform: translateY(2px);
    }
    100% {
        opacity: 0;
        transform: translateY(10px);
    }
}
.btn-check-wrapper {
    position: relative;
    padding: 1ch;
    display: grid;
    place-items: end center;
    
}
.btn-check-wrapper > * {
    grid-column: 1;
    grid-row: 1;
}
.btn-check-bg  {
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
}
.btn-check-wrapper::before{
    position:Absolute;
    top:1ch;
    bottom:1ch;
    left:1ch;
    right:1ch;
    content:'';
    background: rgba(var(--bs-dark-rgb),.35);
    width:calc(100% - 2ch);
    height:calc(100% - 2ch);
    display:block;
    z-index:1;
}
.dark-border-img{
    border:4px solid var(--bs-dark);
}
.btn-check-wrapper .btn {
    z-index: 2;
    max-width: 90%;
    margin-bottom:30px;
}
@media (min-width:992px){
    .btn-check-wrapper .btn {
        max-width: 70%;
    }
}
scroll-to-top .btn {
    --bs-btn-border-color: var(--bs-gray-400);
    --bs-btn-border-width: 2px;
}
scroll-to-top .btn {
    position: fixed;
    z-index:10;
    bottom: 2.5vh;
    right: 1.5vw;
    aspect-ratio: 1;
    --bs-btn-padding-x: 1.25rem;
    --bs-btn-padding-y: 1rem;
    border-radius: var(--bs-border-radius-pill);
    color: var(--bs-white);
    background-color: rgba(var(--bs-dark-rgb), 0.7);
    transition: all 0.25s ease;
    transition-property: background-color, color, opacity;
}
scroll-to-top .btn * {
    pointer-events: none;
}
scroll-to-top .btn svg {
    width: 2ch;
}
scroll-to-top .btn:hover {
    background-color: white;
    color: var(--bs-dark);
}
scroll-to-top:not([active]) .btn {
    opacity: 0;
}

.instagram-footer a {
    font-size: inherit;
    color: #05c;
}

.instagram-footer h2 {
    font-size: clamp(24px, 7cqi, 40px);
}
.points div:has(.vr) {
    align-self: center;
}
ul[role="list"] {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
aside:where(.text-bg-light) a {
    --bs-link-color-rgb: var(--bs-black-rgb);
    text-decoration: none;
}
div:has(+ footer) {
    padding-block: 100px;
}
aside:has(+ div) {
    padding-top: 100px;
}
footer {
    padding-block: 40px;
}

ul[role="list"] > li {
    padding: 0;
    margin: 0;
}
.playfair {
    font-family: "Playfair Display", serif !important;
}
.work-sans {
    font-family: 'Work Sans', sans-serif !important;
}
.card--showcase {
    --bs-card-border-radius: 0;
    --bs-card-border-color: transparent;
    --bs-card-inner-border-radius: 0;
    --bs-card-spacer-x: 0;
}
.card--showcase .card-fullscreen-toggle {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    background-color: white;
    opacity: 0;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 10px !important; /* This component needs this kind of padding and is being overwritten by later layers */
    aspect-ratio: 1;
    border: unset;
    transition: opacity 0.25s ease;
}
.card--showcase .carousel > [class*="carousel-control"],
.services-carousel-container .carousel > .btn,
.card--showcase swiper-container::part(button-prev),
.card--showcase swiper-container::part(button-next) {
    background-color: white;
    opacity: 0;
    color: var(--bs-black);
    aspect-ratio: 1 / 1;
    width: 20px;
    height: 20px;
    display: grid;
    place-content: center;
    border-radius: 100000em;
    padding: 10px;
    transition: opacity 0.25s ease;
}
:is(.card--showcase, .services-carousel-container) .carousel-control-next {
    margin-right: 2ch;
}
:is(.card--showcase, .services-carousel-container) .carousel-control-prev {
    margin-left: 2ch;
}

:is(.card--showcase, .services-carousel-container) .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
:is(.card--showcase, .services-carousel-container) .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.services-carousel-container .carousel > .btn {
    opacity: 1;
    z-index: 10;
    width: 56px;
    height: 56px;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    padding: 0;
    padding-top:6px;
    text-align:center;
    display:none;
}
.services-carousel-container .carousel > .btn.carousel-control-next{
    padding-left:5px;
}
.services-carousel-container .carousel > .btn.carousel-control-prev{
    padding-right:5px;
}
.card--showcase .carousel > [class*="carousel-control"] > [class*="carousel-control-"] {
    width: 1.25rem;
    height: 1.25rem;
}
.card--showcase .carousel > [class*="carousel-control"] {
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    width: 30px;
    height: 30px;
    padding:10px 5px;
}
.card--showcase a {
    display: block;
}

.carousel-control {
    background-color: white;
    border: unset;
}

.card--showcase .carousel-control.lightbox {
    position: absolute;
    top: 40px;
    right: 2ch;
}

.card--showcase .carousel-control .icon {
    display: grid;
    place-content: center;
    width: 30px;
    height: 30px;
    padding: 0.5ch;
}

.card--showcase .carousel-control svg {
    width: 95%;
    height: 95%;
}

:is(.card--showcase, .services-carousel-container):hover :is(button, .btn),
.card--showcase:hover swiper-container::part(button-prev),
.card--showcase:hover swiper-container::part(button-next),
.card--showcase:hover .card-fullscreen-toggle {
    opacity: 0.75;
}

.showcase-grid:not(.swiper-active) .card-fullscreen-toggle {
    opacity: 0;
}

.card-fullscreen-toggle :is(i, svg):not([data-active="true"]) {
    --fa-display: none;
}

.card--showcase swiper-container::part(button-prev):hover,
.card--showcase swiper-container::part(button-next):hover,
.card--showcase .card-fullscreen-toggle:hover {
    opacity: 1;
}

.showcase-grid:not(.swiper-active) swiper-slide:not(:first-child) {
    display: none;
}

footer .nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 2px;
    --bs-nav-link-font-size: 18px;
    --bs-nav-link-color: var(--text-gray);
    --bs-nav-link-hover-color: var(--text-gray);
}

footer .nav-title {
    font-size: 21px;
}

.bg-img-holder {
    position: relative;
    display: grid;
    align-content: center;
}

.bg-img-holder > * {
    grid-row: 1;
    grid-column: 1 / -1;
}

swiper-container.quotes blockquote {
    color: white;
}
swiper-container.quotes cite {
    text-transform: uppercase;
}

.resource-card img {
    transition: scale 1s cubic-bezier(0.230, 1.000, 0.320, 1.000);
    scale: 1.1;
}
.resource-card:hover img {
    scale: 1;
}
:is(button, a) svg,
:is(button, a) svg * {
    pointer-events: none;
}

[data-active="false"] {
    display: none;
}
[data-active="true"] {
    display: block;
}

.logo-slider::part(wrapper) {
    align-items: center;
}
.scroll-slide .row {
    max-width: 100%;
    text-wrap: pretty;
}

.scroll-slide .h1 {
    font-size: clamp(54px, 7cqi, 60px);
}

.behold-item img {
    width: 100%;
    height: auto;
}
.card--showcase {
    container-type: inline-size;
}
.card--showcase .card-title {
    font-size: clamp(21px, 10cqi, 30px);
}
.card--showcase a {
    font-size: clamp(13px, 7.5cqi, 16px);
}

.btn-check:checked + .btn {
    background-color: var(--bs-btn-color);
    color: var(--bs-btn-bg);
    border-color: var(--bs-btn-bg);
}
.btn-check:checked + .btn.btn-outline-primary {
    background-color: var(--bs-btn-color);
    color: var(--bs-dark);
    border-color: var(--bs-btn-color);
}

.controls .form-select {
    font-size: 14px;
    font-weight: 600;
    padding-inline: 1ch 2ch;
}

.controls small {
    font-size: 1rem;
}
.img-background > picture > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .925;
}
@media (min-width:768px){
    .services-carousel-container .carousel > .btn{
        display:block;
    }
}



}

@layer zoe {
    body.loader-active:not(.loaded) > *:not(.loader-wrapper) {
    content-visibility: hidden;
}
.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-dark);
    --bs-btn-border-color: var(--bs-dark);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-dark);
    --bs-btn-active-border-color: var(--bs-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--bs-dark--rgb), 0.125);
    --bs-btn-disabled-color: var(--bs-dark);
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: var(--bs-dark);
}
.btn-outline-dark {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-border-color: var(--bs-dark);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-dark);
    --bs-btn-focus-shadow-rgb: var(--bs-dark--rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-dark);
    --bs-btn-active-border-color: var(--bs-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(var(--bs-dark--rgb), 0.125);
    --bs-btn-disabled-color: var(--bs-dark);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-dark);
    --bs-gradient: none;
}
.btn-dark:hover,
.btn-dark:focus,
.btn-outline-dark:hover,
.btn-outline-dark:focus{
    opacity: var(--hover-opacity);
}
.travel-carousel{
    position:relative;
    height:clamp(600px, 100vh, 950px);
    overflow:hidden;
}
.travel-carousel .carousel::after {
    content: '';
    background-color: var(--bs-dark);
    opacity: 0.075;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 11;
}
.travel-carousel .container{z-index:10;position:relative;}
.travel-carousel .carousel{ z-index:1;position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    height:inherit;
    width:100%;
    background-color:var(--bs-dark);
}
.travel-carousel .carousel-inner,
.travel-carousel .carousel-item {
    height: 100%;
}
.travel-carousel .carousel img{
    height:100%;
    width:100%;
    object-fit:cover;
}
.text-bg-secondary h2{
    color:#fff;
}
.gallery-grid {
    display: grid;
    grid-auto-rows:300px;
    grid-template-columns: 1fr;
    row-gap: 36px;
}
.gallery-card{
    display:block;
    overflow:hidden;
    grid-column:span 1;
    position:relative;
    background-color:var(--bs-dark);
    border-radius:0px;
}
.gallery-grid .gallery-card{
    overflow:hidden;
    grid-column:span 1;
}
.gallery-card .gallery-card-body{
    position:relative;
    width:100%;
    height:100%;
}
.gallery-grid .gallery-card{
    grid-row: span 1;
}
.gallery-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:relative;
    transition: opacity .5s ease-in-out;
}
.gallery-card .btn{
    position:absolute;
    z-index:1;
    top:calc(50% - 25px);
    left:calc(50% - 110px);
    opacity:0;
    transition: opacity .5s ease-in-out;
    pointer-events: none;
}
.gallery-card .gallery-card-body::before{
    z-index:1;
    top:0;
    bottom:0;
    left:0;
    right:0;
    border-radius:0px;
    width:100%;
    height:100%;
    content:'';
    display:block;
    position:absolute;
    opacity:0;
    transition: opacity .5s ease-in-out;
    pointer-events: none;
}
.gallery-card:hover img,
.gallery-card:focus-within img{
    opacity:.5;
}
.gallery-card:hover .btn,
.gallery-card:focus-within .btn,
.gallery-card:hover .gallery-card-body::before,
.gallery-card:focus-within .gallery-card-body::before{
    opacity:1;
}
.opacity-30{
    opacity:.3 !important;
}

.scroll-btn {
  padding-top: 60px;
  z-index:11;
  position:absolute;
  left:50%;
  bottom:50px;
}
.scroll-btn span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 46px;
  height: 76px;
  margin-left: -23px;
  border: 2px solid var(--bs-dark);
  border-radius: 30px;
  box-sizing: border-box;
  display:block;
padding:25px 12.5px;
}
.scroll-btn svg{
    fill:var(--bs-dark);
    height:22px;
    width:Auto;
    display:block;
}
.scroll-btn span::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 42px;
  height: 72px;
  box-shadow: 0 0 0 0 rgba(var(--bs-dark-rgb),.1);
  border-radius: 30px;
  opacity: 0;
  -webkit-animation: sdb03 3s infinite;
  animation: sdb03 3s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb03 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(var(--bs-dark-rgb),.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb03 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(var(--bs-dark-rgb),.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.text-bg-light{
    color:var(--bs-dark) !important;
}
footer .social{
    gap:45px;
}
footer h2{
    margin-bottom:.5em;
}
.copyright{
    color:var(--bs-body-color);
}
.small-link{
    color:inherit;
}
small, .small{
    font-size:.65em;
}
.controls small {
    font-size: 1rem;
}
address{
    margin-bottom:0;
    line-height:calc(40 / 21);
    font-size:21px;
}
.team-bio{
    background-color:#fff;
}
.team-bio[data-sal|=slide]{
    transition-property: opacity,transform,background-color !important;
    transition-delay: var(--sal-delay,0s), var(--sal-delay,0s), 0s !important;
}
.team-bio h3, .team-bio p{
    transition-property: color;
    transition-duration: var(--sal-duration,.2s);
}
.team-bio p{
    margin-bottom:0;
}
.team-bio svg{
    transition-property: fill;
    transition-duration: var(--sal-duration,.2s);
}
.team-bio button{
    -webkit-appearance: none;
    border:none;
    background:none;
}
.team-bio:has(button:hover),
.team-bio:has(button:focus){
    background-color:var(--bs-dark);
}
.team-bio:has(button:hover) h3,
.team-bio:has(button:focus) h3,
.team-bio:has(button:hover) p,
.team-bio:has(button:focus) p{
    color:#fff;
}
.team-bio:has(button:hover) svg,
.team-bio:has(button:focus) svg{
    fill:#fff;
}
.error{
    font-weight:700;
    color:var(--bs-dark);
}
span.error{
    margin-bottom:5px;
    display:block;
}
p.error{
    line-height:27px;
}
[data-sal] {
    --sal-duration: 1000ms;
}
/** Custom Sal animations */
/** add to the  */
[data-sal|="offset"] {
    transition: transform var(--sal-duration) var(--sal-easing, ease-out) var(--sal-delay, 0s);
    transform: translate(var(--x, 0), var(--y, 0));
}
[data-sal|="offset"]:not(.sal-animate) {
    /** Offset the same amount as the cards offset */
    --x: var(--offset-x);
    --y: var(--offset-y);
}
[data-sal-section] [data-sal-item="slide-up"]:not([data-sal]) {
    opacity: 0;
    transform: translateY(20%);
}
[data-sal^="blur"] {
    filter: blur(5px);
    transition: filter var(--sal-delay) var(--sal-easing);
}
.sal-animate[data-sal^="blur"] {
    filter: blur(0);
}
[data-focal-point] {
  background-position: var(--y, center) var(--x, center) !important;
}
img[data-focal-point] {
  background-position: revert !important;
  object-position: var(--y, center) var(--x, center) !important;
}
[data-focal-point^=top i] {
  --y: top;
}
[data-focal-point^=bottom i] {
  --y: bottom;
}
[data-focal-point$=left i] {
  --x: left;
}
[data-focal-point$=right i] {
  --x: right;
}
.card--showcase a,
.resource-card a{
    text-transform:uppercase;
    font-weight:500;
}
.card--showcase a svg,
.resource-card a svg{
    height:12px;
    margin-bottom:2px;
}
.resource-card a svg{
    margin-left:5px;
}
.accordion-body :last-child{
    margin-bottom:0;
}
[multipart]{
    transition: height .3s ease-in;
}
form .section:not(.current) {
    display: none;
}
[multipart] h2{
    margin-bottom:30px;
}
[multipart] .error-message{
    color:#fff;
}
[multipart] .section,
[multipart] .form-button-container{
    z-index:10;
    position:relative;
}
.form-floating>.form-control-plaintext~label::after, .form-floating>.form-control:focus~label::after, .form-floating>.form-control:not(:placeholder-shown)~label::after, .form-floating>.form-select~label::after{
    inset: 1rem 0.5rem;
}
.content h2{
    margin-bottom:10px;
}
.glightbox-clean .gslide-description{
    background:var(--bs-light);
}
.glightbox-clean .gdesc-inner{
    padding:10px 15px;
}
.glightbox-clean .gslide-desc{
    font-family: var(--font-worksans);
    color:var(--bs-dark);
}
.scroll-images img{
    height:100%;
    width:100%;
    object-fit:cover;
}

@media (min-width:576px){
    .gallery-grid {
        grid-auto-rows:50px;
        grid-template-columns: 1fr 1fr;
        column-gap: 36px;
    }
    .gallery-grid .gallery-card:nth-child(4n+2),
    .gallery-grid .gallery-card:nth-child(4n+0){
        grid-row: span 4;
    }
    .gallery-grid .gallery-card:nth-child(4n+1),
    .gallery-grid .gallery-card:nth-child(4n+3){
        grid-row: span 6;
    }
}
@media (min-width:769px){
    .goverlay {
        background: rgba(var(--bs-dark-rgb),.75);
    }
}
@media (min-width:992px){
    .gallery-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .gallery-grid .gallery-card:nth-child(7n+3),
    .gallery-grid .gallery-card:nth-child(7n+4),
    .gallery-grid .gallery-card:nth-child(7n+6){
        grid-row: span 4;
    }
    .gallery-grid .gallery-card:nth-child(7n+1),
    .gallery-grid .gallery-card:nth-child(7n+5){
        grid-row: span 6;
    }
    .gallery-grid .gallery-card:nth-child(7n+2),
    .gallery-grid .gallery-card:nth-child(7n+0){
        grid-row: span 3;
    }
}
@media(min-width: 1200px) {
    .gallery-grid {
        grid-auto-rows:75px;
    }
}
}

@layer babka {
    :root {
    --hover-opacity: 0.6;
    --black-hex: #090210;
    --black-rgb: 9, 2, 16;
}

body {
    min-height: 100vh;
    font-family: var(--font-worksans);
    --bs-body-color: var(--text-gray);
    --bs-heading-color: var(--black);
    --bs-body-font-size: 18px;
    position:relative;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: var(--font-playfair);
}

h1, .h1 {
    font-size: 60px;
}

h2, .h2 {
    font-size: 40px;
}

h3, .h3 {
    font-size: 30px;
}

ul, p, ol {
    line-height: 2;
}

a {
    transition: opacity 0.3s
}

a:not(.btn,.h1,.h2,.h3,.h4,.h5,.h6,.small-link, .text-reset, [data-gallery]) {
    color: var(--black);
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 16px;
}
a.gmap-link{
    font-size:18px;
}
a.gmap-foot-link{
    font-size: 21px;
}

p > a:not(.small-link) {
    text-decoration: underline;
    display: inline;
    font-size: inherit;
}

.content p a:not(.small-link),
.content li a:not(.small-link){
    display:inline;
    font-size: inherit;
    text-decoration: underline;
}



a:hover,
a:focus{
    opacity: var(--hover-opacity);
}

img[width][height] {
    content-visibility: auto;
}
.section-pad,
section {
    padding-block: 50px
}
@media(min-width:768px){
    .section-pad,
    section {
        padding-block: 100px
    }
}
.sm-bottom {
    margin-bottom: 70px;
}

nav {
    --bs-link-color-rgb: var(--black-rgb);
    --bs-link-hover-color-rgb: var(--black-rgb);
    --bs-offcanvas-color: var(--black-rgb);
    padding-block: 15px;
    padding-inline: 40px
}


nav.clear {
    --bs-link-color-rgb: 255, 255, 255;
    --bs-link-hover-color-rgb: 255, 255, 255;
    position: absolute;
    background-color: transparent;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    color: #fff;
}

nav .logo svg {
    height: 200px;
    max-width: 100%;
}
nav.clear .navbar-phone a:not(.btn){
   color:#fff; 
}
nav .phone a{
   font-size:24px; 
}
nav .phone.navbar-phone a svg{
    height:24px;
    fill:var(--bs-dark)
}
nav.clear .phone.navbar-phone a svg{
    fill:#fff;
}
.offcanvas-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.offcanvas-footer .social {
    margin-bottom: 0;
}
a.offcanvas-logo-link > svg.offcanvas-logo{
    max-width:175px;
    height:auto;
    width:100%;
    display:block;
}
.offcanvas-logo-link{
    margin-right:auto;
}
nav .logo svg path {
    fill: var(--black-hex);
}

nav.clear .logo svg path {
    fill: #fff;
}

nav ul {
    list-style: none;
    margin-bottom:0;
    padding-left:0;
}

nav .offcanvas-body {
    --bs-link-color-rgb: var(--black-rgb);
    --bs-link-hover-color-rgb: var(--black-rgb);
}

nav .offcanvas-body > ul > li {
    padding-block: 5px;
}

nav .offcanvas-body > ul > li,
nav .offcanvas-body > ul > li > a {
    font-size: 24px;
}
nav .offcanvas-body > ul > li > ul{
    padding-left:1rem;
}
.dropdown li {
    padding-block: 5px
}
nav .offcanvas-body li.active a{
    text-decoration:underline;
}
.dropdown li > a {
    font-size: 20px;
}

nav ul > li a {
    text-decoration: none;
    transition: opacity 0.3s;
}

nav ul > li a:hover {
    opacity: var(--hover-opacity);
}

nav .dropdown ul {
    padding-left: 5px;
}

nav .menu,
nav .contact {
    width: 30%;
}
nav .menu button {
    --bs-btn-color: var(--black-hex);
}
nav.clear .menu button {
    --bs-btn-color: white
}
nav .menu button div.menu-icon {
    width: 28px;
}
nav .menu button .d-flex{
    gap: 1ch;
}
/** Center the label of the menu button */
nav .menu-label {
    display: inline-block;
    margin-top: 0.45ch;
}

nav .menu > a {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-decoration: none;
}

nav.clear .menu > a {
    color: #fff;
}

nav .menu path {
    fill: currentColor;
}
nav .menu > a > svg {
    margin-right: 10px;
    height: 32px;
}

nav .menu > a > svg path {
    fill: var(--bs-btn-color);
}

nav.clear .menu > a > svg path {
    fill: #fff;
}

nav .social {
    display: flex;
    flex-wrap: wrap;
}
nav .social a {
    align-items: start;
}
nav .social svg {
   height: 24px;
}

nav .contact .social svg path {
   fill: var(--black-hex);
}

nav.clear .contact .social svg path {
   fill: #fff;
}

.offcanvas-footer .social span,
nav .contact span {
    display: block;
    padding-inline: 15px
}

.offcanvas-footer .social svg path {
    fill: var(--black-hex)
}

@media screen and (max-width: 1199px) {
    nav {
        padding-inline: 15px    
    }
    nav .logo svg {
        height: clamp(145px, 24cqi, 150px);
    }
}
@media screen and (max-width:991px){
    nav .menu,
    nav .contact {
        width: 25%;
    }
}
@media screen and (max-width:767px){
    nav .menu,
    nav .contact {
        width: 23%;
    }
}

@media screen and (max-width: 575px) {
    nav .menu,
    nav .contact {
        width: auto;
    }
    
    nav .contact > span {
        width: 100%;
        text-align: right;
        padding-right: 0;
    }
   
    nav .contact > .social {
        display: none;
    }
    nav .logo {
        width: 100%;
        display: flex;
        justify-content: center;
        order: 2;
    }
}

.large {
    font-style: italic;
    font-size: 100px;
    letter-spacing: -6px;
    line-height:1;
}

.hero-full .subtitle {
    font-size: 30px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 0;
    line-height:1;
}

@media screen and (max-width: 991px) {
    .large {
        font-size: 45px;
        letter-spacing: -2px;
    }
    
    .hero-full .subtitle {
        font-size: 20px;
    }
}

.hero {
    height: clamp(400px, 85vh, 800px);
}
.hero-full {
    height: 100vh;
}
.hero-almost-full {
    height: 90vh;
}
@media (max-width: 576px) {
    .hero-mobile-almost-full {
        height: 90vh;
    }
}

.img-background {
    position: relative;
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: var(--black);
}

.img-background.no-overlay::after {
    content: unset;
}

.img-background > picture,
.img-background > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
    overflow: hidden;
}
.img-background > picture > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity:.925;
}
.img-background .container{
    z-index:4;
    position:Relative;
}
.img-background .h2,
.img-background h2,
.img-background .h1,
.img-background h1,
.img-background p {
    color: #fff;
}

.img-background p {
    font-size: 21px;
}

.btn {
    --bs-btn-border-radius: 0;
    padding-inline: 20px;
    padding-block: 10px;
    font-weight: 500;
    text-transform: uppercase;
    --bs-btn-disabled-opacity: 1;
}
.extra-next-btn.btn{
    font-weight: 700;
    padding-inline: 60px;
    padding-block: 15px;
}
button.clear,
a.clear {
    background-color: transparent;
    border-color: transparent;
    cursor: pointer;
}
.btn-primary {
    --bs-btn-color: var(--black);
    --bs-btn-bg: #FFF;
    --bs-btn-border-color: #FFF;
    --bs-btn-hover-color: var(--black);
    --bs-btn-hover-bg: #FFF;
    --bs-btn-hover-border-color: #FFF;
    --bs-btn-active-color: var(--black);
    --bs-btn-active-bg: #FFF;
    --bs-btn-active-border-color: #FFF;
    --bs-btn-disabled-color: var(--black);
    --bs-btn-disabled-bg: #FFF;
    --bs-btn-disabled-border-color: #FFF;
    transition: opacity 0.3s;
}
.btn-outline-primary {
    --bs-btn-color: #FFF;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: #FFF;
    --bs-btn-hover-color: var(--black);
    --bs-btn-hover-bg: #FFF;
    --bs-btn-hover-border-color: #FFF;
    --bs-btn-active-color: var(--black);
    --bs-btn-active-bg: #FFF;
    --bs-btn-active-border-color: #FFF;
    --bs-btn-disabled-color: var(--black);
    --bs-btn-disabled-bg: #FFF;
    --bs-btn-disabled-border-color: #FFF;
    transition: opacity 0.3s;
}

.btn-black {
    --bs-btn-color: #FFF;
    --bs-btn-bg: var(--black);
    --bs-btn-border-color: var(--black);
    --bs-btn-hover-color: #FFF;
    --bs-btn-hover-bg: var(--black);
    --bs-btn-hover-border-color: var(--black);
    --bs-btn-active-color: #FFF;
    --bs-btn-active-bg: var(--black);
    --bs-btn-active-border-color: var(--black);
    --bs-btn-disabled-color: #FFF;
    --bs-btn-disabled-bg: var(--black);
    --bs-btn-disabled-border-color: var(--black);
    transition: opacity 0.3s;
}

input[type="submit"] {
    width: 100%;
    padding-block: 15px;
    border-radius: 0px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:disabled,
.btn-primary:active {
   opacity: var(--hover-opacity)!important;
}
swiper-container.home p:not(.author) {
    color: #dbdada;
    font-weight: 500;
}

swiper-container.home .author {
    font-size: 16px;
    font-weight: 500;
}

.next-btn,
.prev-btn {
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
    z-index: 1000;
    top: 0;
}

.next-btn {
    right: 0;
    padding-right: 25px;
}

.prev-btn {
    left: 0;
    padding-left: 25px;
}

.next-btn > button,
.prev-btn > button{
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFF;
    border-color: #FFF;
    border-style: solid;
    border-width: 1px;
    border-radius: 100%;
    padding: 18px;
    opacity: 0.8;
}

.divider {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 36px;
    margin-right: -18.5px;
}

.divider > .line {
    display: flex;
    justify-content: center;
    height: 115px;
    width: 100%;
}

.divider > .line > div {
    width: 0px;
    border-color: var(--bs-dark);
    border-width: 1px;
    border-style: solid;
    height: 110px;
    opacity: 0.8;
}

.divider > .quote-mark {
    font-size: 72px;
    font-family: var(--playfair);
    color: var(--bs-dark);
    line-height: 65px;
    height: 37px;
}

.button-container {
    width: 100%;
    display: flex;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1000;
    column-gap:15px;
    color: var(--bs-dark);
}

.button-container svg {
    height: 24px;
    pointer-events: none;
    color: var(--bs-dark);
}

.button-container svg path {
    fill: currentColor;
}
.carousel-control-next.clear, .carousel-control-prev.clear{
    position: relative;
    top: unset;
    bottom: unset;
    display: block;
    align-items: unset;
    justify-content: unset;
    width: auto;
    opacity: 1;
}
.carousel-control-prev.clear {
    left: unset;
}
.carousel-control-next.clear{
    right:unset;
}
.carousel-control-next.clear:hover, .carousel-control-prev.clear:hover,
.carousel-control-next.clear:focus, .carousel-control-prev.clear:focus{
    opacity:.5;
}

@media screen and (max-width: 991px) {
    .button-container {
        position: relative;
        margin-bottom: 15px;
    }
    
    .divider {
        margin-right: 0;
        width: 100%;
        height: 36px;
        margin-top: 24px;
        margin-bottom: 12px;
        justify-content: space-between;
    }
    
    .divider > .line {
        align-items: center;
        height: 100%;
        width: calc(50% - 20px);
    }
    
    .divider > .line > div {
        height: 0px;
        width: calc(100% - 5px);
    }
}

.stat {
    color: var(--black);
    border-bottom: 1px var(--black) solid;
    display: flex;
    flex-wrap: wrap;
    text-transform: uppercase;
    align-items: center;
    padding-block: 10px;
    font-weight: 500;
    margin-bottom: 0px;
}

.stat > span:first-child {
    font-size: 30px;
}
.stat > span:last-child {
    font-size: 18px;
}

.images {
    height: 1000px;
}

.images img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.images .row,
.images .row > div {
    height: 100%;
}

.images .row > div > div {
    margin-bottom: 24px;
}

.images div > div:last-child {
    margin-bottom: 0px;
}

.images .row > div:last-child > div:last-child,
.images .row > div:first-child > div:first-child {
    height: calc(60% - 12px);
}

.images .row > div:nth-child(2) > div:nth-child(2),
.images .row > div:first-child > div:last-child,
.images .row > div:last-child > div:first-child {
    height: calc(40% - 12px);
}

.images .row > div:nth-child(2) > div:first-child,
.images .row > div:nth-child(2) > div:last-child {
    height: calc(30% - 18px);
}

@media (max-width: 991px) {
    .images {
        height: auto;
    }
    
    .images .row > div > div,
    .images div > div:last-child {
        margin-bottom: 24px;
    }
}

@media screen and (min-width: 992px) {
    .overlap-top {
        margin-top: -35px;
    }
}

.points > div > span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 75px;
    width: 75px;
    border-radius: 75px;
    background-color: var(--black);
    color: #FFF;
    font-size: 30px;
    margin-bottom: 20px;
}

.points > div > p:first-of-type {
    font-size: 24px;
    color: var(--black);
}

a > svg,
.team-bio h3 > svg {
    height: 10px;
}

.modal .modal-header {
    border-bottom-color: transparent;
    padding-bottom: 0;
}

.modal .modal-body {
    padding-top: 0;
}

.contact-info > div {
    display: flex;
    color: var(--black);
    text-transform: uppercase;
    margin-bottom: 25px;
}

.contact-info > div ~ div {
    align-items: center;
}

.contact-info .icon {
    display: flex;
    align-items: flex-start;
    margin-right: 10px;
}

.contact-info svg {
    height: 18px;
}

.form-control,
.form-select {
    border-color: var(--black);
}

.form-control:focus,
.form-select:focus {
    border-color:var(--bs-dark);
    box-shadow: none;
}


.form-select,
.form-control {
    text-transform: uppercase;
    color: var(--black);
    padding:.75rem 1.25rem;
    border-width: 2px;
    border-color:var(--bs-light);
    background-color:var(--bs-light);
}

.form-select,
.form-control:not(textarea) {
    border-radius: 0px;
}

textarea {
    height: 100px;
    border-radius: 0px;
}
.accordion{
    --bs-accordion-body-padding-y: 1.5rem;
    --bs-accordion-body-padding-x: 3.5rem;
    --bs-accordion-bg: var(--bs-light);
}
.accordion-item {
    border-bottom-color: var(--bs-dark);
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.accordion-button {
    font-size: inherit;
    box-shadow: none;
    --bs-accordion-active-bg: var(--bs-light);
    --bs-accordion-active-color: var(--bs-dark);
    --bs-accordion-btn-color: var(--bs-dark);
    --bs-accordion-btn-padding-y: 20px;
    padding-left: 0;
}

.accordion-body {
    padding-top: 0;
    padding-left: 0;
}
@media (max-width:767px){
    .accordion-body {
        padding-right: 0;
    }
}

html:not(.nojs) .scroll-slider {
    display: grid;
    scroll-snap-type: y mandatory;
    
}

.scroll-slider > * {
    scroll-snap-align: center;
    grid-column: 1 / -1;
    grid-row: var(--i, 1);
}

.scroll-slide > * {
    grid-column: 1 / -1;
    grid-row: 1;
}

.scroll-slide {
    height: 100vh;
    width: 100%;
    display: grid;
    align-items: center;
}

html:not(.nojs) .scroll-images {
    position: sticky;
    top: 0;
    display: grid;
    grid-row: 1;
    height: 100vh;
    z-index: -1;
    overflow: hidden;
}

html:not(.nojs) .scroll-background-image {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    transition: opacity 0.5s ease;
    background-color:var(--bs-dark);
    position:relative;
}

.scroll-background-image img{
    opacity:.85;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

html:not(.nojs) .scroll-background-image:not(:first-child) {
    opacity: 0;
}

/** This the noscript fixes a side effect of the fallback noscript messing with the direct sibling combinator (+) */
html:not(.nojs) .is-out-top + noscript + .scroll-background-image {
    opacity: 1;
}

.scroll-slide .link{
    color:#fff;
    font-family: 'Work Sans', var(--bs-font-sans-serif);
}

.scroll-slide .link svg{
    fill:#fff;
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}
footer .social a > svg{
    height:24px;
}
.share-links{
    gap:40px;
}
.share-links a > svg{
    height:24px;
}
}