/****** This includes styles for the Tile Carousel ******/
.carousel {
    padding-bottom: 100px;
}
.carousel a:not(.nav-link):not(.dropdown-item):not(.btn):not(.fc-event):hover {
     text-decoration:none;
}
 .container h1.heading.carouselHeading {
     margin: 0 auto !important;
}
 .carouselHeading {
     color:#fff;
}
 .carousel h1,
 .carousel .h1,
 .carousel h2,
 .carousel .h2,
 .carousel h3,
 .carousel .h3,
 .carousel h4,
 .carousel .h4,
 .carousel h5,
 .carousel .h5,
 .carousel h6,
 .carousel .h6 {
     color: #fff;
}
 .carousel-inner {
     z-index: 1;
     height: 100%;
     display: flex;
     flex-flow: row wrap;
}
 .carousel>div.carousel-inner>div.carousel-item>img {
     z-index: 1;
     width:100%;
     object-fit:cover;
     object-position:top;
}
 .carousel:focus-visible {
     border: 2px solid #000;
}
 .carousel-text {
     color: #fff;
}
 .carousel-caption {
     position: absolute;
     right: 0;
     bottom: 30%;
     left: 0;
     padding-top: 0;
     padding-bottom: 0;
     color: #fff;
     text-align: center;
}
 .carousel-indicators {
    margin-bottom: 6.25rem;
}
 .carousel-indicators [data-bs-target] {
     width: 5px;
     height: 5px;
}
 .carousel-item {
     background: transparent;
     display: none;
     height: clamp(320px, 46vw, 70vh);
     overflow: hidden;
}
.carousel-item.active {
    display: block;
}
 .carousel-item img {
     height: 100%;
     max-height: 70vh;
 }
 .carousel-indicators [data-bs-target] {
     width: 5px;
     height: 5px;
}
.carousel-indicators {
  align-items: center;
}

.carousel-indicators [data-bs-target] {
  position: relative;
  width: 30px;          /* keep Bootstrap’s line width */
  height: 24px;         /* enlarge target height to meet minimum */
  margin: 0 4px;
  background: none;
  border: 0;
  opacity: 1;
}

.carousel-indicators [data-bs-target]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 30px;
  height: 3px;          /* original Bootstrap line look */
  transform: translateY(-50%);
  background-color: #fff;
  opacity: .5;
  transition: opacity .6s ease;
}

.carousel-indicators .active::before,
.carousel-indicators [data-bs-target]:hover::before,
.carousel-indicators [data-bs-target]:focus-visible::before {
  opacity: 1;
}

.carousel-indicators [data-bs-target]:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
 .carousel-caption a:not(.btn) {
     color: white !important;
}
 .carousel-caption a:not(.btn):hover {
     text-decoration: none !important;
}
.carousel-control-buttons {
    bottom: 3rem;
    display: flex;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.carousel-prev {
    order: 0;
}
.carousel-pause-start-button {
    order: 1;
}
.carousel-next {
    order: 2;
}
.carousel-pause-start-button,
.carousel-prev,
.carousel-next {
    aspect-ratio: 1;
    width:44px;
    height: 44px;
    display: inline-block;
    transition: color .15s, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    user-select: none;
    vertical-align: middle;
    background-color: transparent;
    border: 2px solid #3b4b57;
    color: #3b4b57;
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
}
.carousel .carousel-pause-start-button:is(:focus-visible, :hover),
.carousel .carousel-prev:is(:focus-visible, :hover),
.carousel .carousel-next:is(:focus-visible, :hover) {
    background-color: #3b4b57;
    box-shadow: none;
    color: #fff;
}
 .carousel-hero {
     position: absolute;
     height: 100%;
     width: 100%;
}
 .carousel-hero .heading-wrapper {
     display: block;
     position: absolute;
     left: 8%;
     bottom: 8%;
}
 .carousel-hero .caption {
     position: relative;
     background: rgba(59, 87, 75, 0.9);
     border-left: 5px solid #000;
     border-top: 0;
     padding: 1.25rem;
     color: #fff;
     margin: 0;
     text-align: left;
     min-width: 200px;
}
 .carousel-hero .caption h1.heading {
     display: block;
     text-transform: uppercase;
     color: #fff;
     font-size: 1.25rem;
     padding: 0;
     margin: 0;
     font-weight: 400;
}
 .carousel-hero .caption .subheading {
     display: block;
     text-transform: uppercase;
     color: #fff;
     font-size: 1rem;
     font-weight: 600;
     line-height: 1.2;
     padding-top: .625rem;
}
 .carousel-hero .caption p {
     display: block;
     color: #fff;
     font-size: 0.9rem;
     font-weight: 400;
}
.carousel-hero .caption p:last-of-type {
    margin-bottom: 0;
}
 a.carousel-arrow {
     margin: 0;
     background-color: #0a2244;
     position: relative;
     width: 6rem;
     left: 0;
}
 a.carousel-arrow:is(:hover,:focus-visible) {
     background-color: #3b4b57;
}
 a.carousel-arrow.heading-arrow {
     background-image: url("data:image/svg+xml, <svg viewBox='0 0 16 16' class='bi bi-arrow-right' fill='white' width='50' height='37' xmlns='http://www.w3.org/2000/svg'><path d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/></svg>");
     background-repeat: no-repeat;
     vertical-align: middle;
     display:grid;
     background-position: center;
     display: flex;
     float: right;
}
 .banner-location-carousel {
     background: transparent;
     margin: 0;
     z-index: 999;
     width: fit-content;
     display: block;
     clear:both;
     width: 100%;
}
 .location-text.white.shadow-text {
     color: #fff;
}
 .carousel-button {
     margin: -5rem auto 4.375rem !important;
     z-index: 999;
     display: block;
     position: relative;
     max-width: 1250px;
}
/******************************** TILE CAROUSEL *******************************/
 .tile-carousel {
     padding-bottom: 100px;
}
 .tile-carousel .carousel-item {
     height: unset;
     margin-right: 0px;
     transition: -webkit-transform 0.6s ease;
     transition: transform 0.6s ease;
     transition: transform 0.6s ease, -webkit-transform 0.6s ease;
     width: 50%;
}
 .tile-carousel .active.carousel-item-left+.carousel-item-next.carousel-item-left, .tile-carousel .carousel-item-next.carousel-item-left+.carousel-item {
     position: relative;
     -webkit-transform: translate3d(-100%, 0, 0);
     transform: translate3d(-100%, 0, 0);
     visibility: visible;
}
 .tile-carousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left), .tile-carousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left)+.carousel-item {
     -webkit-transition: none;
     transition: none;
}
 .tile-carousel .carousel-inner .carousel-item-next, .tile-carousel .carousel-inner .carousel-item-prev {
     position: relative;
     -webkit-transform: translate3d(0, 0, 0);
     transform: translate3d(0, 0, 0);
}

 .tile-carousel .carousel-inner .active, .tile-carousel .carousel-inner .active+.carousel-item {
     display: block;
}
 .tile-carousel .carousel-inner .carousel-item-prev.carousel-item-right {
     position: absolute;
     top: 0;
     left: 0;
     display: block;
     visibility: visible;
}
 .tile-carousel .active.carousel-item-right+.carousel-item-prev.carousel-item-right, .tile-carousel .carousel-item-prev.carousel-item-right+.carousel-item, .tile-carousel .carousel-item-prev.carousel-item-right+.carousel-item+.carousel-item {
     position: relative;
     -webkit-transform: translate3d(100%, 0, 0);
     transform: translate3d(100%, 0, 0);
     visibility: visible;
     display: block;
}
 .tile-carousel .tile img {
     height: 100%;
}
 .tile-carousel .tile h2, .tile-carousel .tile .h2 {
     background-color: rgba(26,59,60,0.75);
     bottom: 0;
     padding: 10px;
     position: absolute;
     right: 0;
     width: 100%;
}
 .tile-carousel .hovereffect h2:after, .tile-carousel .hovereffect .h2:after,
 .tile h2:after,
 .tile .h2:after {
     height: 4px;
}
 .tile-carousel .carousel-control-buttons {
     bottom: 0;
     display: flex;
     justify-content: center;
}
 .tile-carousel .prev {
     order: 0;
}
 .tile-carousel .carousel-pause-start-button {
     order: 1;
}
 .tile-carousel .next {
     order: 2;
}
 @media (min-width: 992px) {
     .tile-carousel .carousel-item {
         width: 25%;
    }
     .tile-carousel .carousel-inner .active.carousel-item+.carousel-item+.carousel-item {
         position: absolute;
         top: 0;
         right: 25%;
         display: block;
         visibility: visible;
    }
    .tile-carousel .carousel-inner .active.carousel-item+.carousel-item+.carousel-item+.carousel-item {
        position: absolute;
        top: 0;
        display: block;
        right: 0%;
    }
}
 @media (max-width: 550px) {
     .tile-carousel .carousel-item {
         width: 100%;
    }
    .tile-carousel .active.carousel-item+.carousel-item {
        display: none;
    }
}
 button.btn.btn-sm.btn-primary.pull-left, button.btn.btn-sm.btn-primary.pull-right {
     background-color: transparent;
     color: white;
     font-size: 1rem;
     border: 0;
}
 .card-img-overlay {
     top: 70px;
     border-radius: 0;
     text-align: center;
     margin: 0 auto;
     display: block;
     max-width: 224px;
}
 
 @media (max-width: 991.98px) {
     .carousel_banner_heading, .carousel_banner_heading a {
         font-size: 5rem;
         line-height: 1;
    }
     .carousel-hero {
         position: absolute;
         z-index: 10;
         margin: 0 auto;
    }
     .carousel-hero .heading-wrapper {
         display: inline-flex!important;
         width: 100%;
         flex-flow: row wrap;
         position: relative;
         left: 0;
    }
     .carousel-hero .caption {
         margin: 0 auto;
    }
     .carousel-hero .caption h1.heading {
         text-align: center;
    }
     .carousel-hero .caption .subheading {
         text-align: center;
    }
     .carousel-hero .caption p {
         text-align: center;
    }
     .carousel-hero .caption {
         position: relative;
         background: rgba(59, 75, 87, 0.9);
         border-top: 5px solid #3b4b57;
         border-left: 0;
         padding: 1.25rem .6875rem;
         color: #fff;
         max-width: 100%;
         margin: 0 auto;
         text-align: left;
         min-height: 150px;
         margin: 0;
         display: inline-flex !important;
    }
     .caption-arrow {
         float: right;
         margin: 0 auto;
         background-color: #3b4b57;
         z-index: 1;
         width: 100%;
         height: 100px;
         min-height: 100%;
    }
     .container-fluid .banner-location-carousel {
         top: 10rem;
         left: 8rem;
    }
    a.carousel-arrow {
         background-color: #0a2244;
    }
    a.carousel-arrow:is(:hover,:focus-visible) {
        background-color: #3b4b57;
    }
     a.carousel-arrow .heading-arrow {
         background-image: url("data:image/svg+xml, <svg viewBox='0 0 16 16' class='bi bi-arrow-right' fill='white' width='50' height='37' xmlns='http://www.w3.org/2000/svg'><path d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/></svg>");
         background-repeat: no-repeat;
         font-size: 2.25rem;
         vertical-align: middle;
         margin: 0 45%;
         transform: rotate(270deg);
    }
    /**************carousel*********************/
     .carousel_banner_heading, .carousel_banner_heading a {
         font-size: 5rem;
         line-height: 1;
    }
     .carousel-hero {
         z-index: 10;
         margin: 0 auto;
         bottom:0;
         left: 8%;
    }
     .carousel-hero .caption h1.heading {
         text-align: center;
    }
     .carousel-hero .caption .subheading {
         text-align: center;
    }
     .carousel-hero .caption p {
         text-align: center;
    }
     .carousel-item.active {
         display:flex;
         flex-flow: row wrap;
         height: 100%;
    }
     .carousel>div.carousel-inner>div.carousel-item>img {
         top: 0;
         right: 0;
         left: 0;
         object-fit: cover;
    }
     .carousel-hero {
         margin: 0 auto;
         bottom: 0;
         right: 0;
         left: 0;
         position: relative;
         width: 100%;
         order: 2;
    }
     .carousel-hero .caption {
         background: #3b4b57;
         flex: 1;
    }
}
 @media (max-width: 768px) {
     .container-fluid .banner-location-carousel {
         top: 14.5rem;
         left: 2rem;
    }
    .carousel-hero .caption {
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
        float: none;
        min-height: 50px;
        padding-bottom: 0;
    }
     a.carousel-arrow {
         background-color: #3b4b57;
         width: 100%;
         padding: 1rem;
         display: block;
    }
     #tile-carousel {
         max-width: 300px;
         margin: 0 auto;
    }
     .carousel-button {
         margin: -5.0625rem auto 3.125rem auto !important;
         max-width: 60%;
    }
     .carousel-caption {
         position: initial;
         padding: 1.875rem .9375rem;
    }
     .carousel-caption h5, .carousel-caption p {
         text-shadow: none;
    }
     .carousel-caption a:not(.btn) {
         color: initial !important;
    }
     .carousel-indicators {
         display: none;
    }
}
 