:root{
  --gallery-height: 650px;
  --title-stack-gap: clamp(2px, 0.25rem, 5px); 
  --gallery-width: 650px;
  --content-rails-max: 1440px;
  --gallery-bottom-gap: 8px;
  --gallery-list-pad-bottom: 1rem;
  --swipe-threshold-px: 32;
  --swipe-velocity-threshold: 0.5;
  --swipe-axis-lock-px: 14;
  --swipe-cooldown-ms: 480;
  --subtitle-stroke-width: .5px;
  --subtitle-stroke-color: rgba(255,255,255,.58);
  --profile-text-color:#e8eff4;
   --title-edge-bias: 20px;
} 

#gallery-container .carousel__item[data-active] .carousel__contents{
  row-gap: var(--title-stack-gap) !important;
}

.gallery-container.preload * { 
  transition: none !important;
  animation: none !important;
}

.gallery-container.preload .carousel__list{
  visibility: hidden;  
}

.gallery-section-title {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 0px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.gallery-heading {
  color: #212121;
  font-family: 'Poppins', sans-serif;
  font-size: 3.2rem;
  font-weight: 800;
  text-transform: uppercase;
  font-display: swap;
  letter-spacing: 3px;
  line-height: 1;
  margin: 0;
}

.gallery-container {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  min-height: 780px;
  display: grid;
  transform: translate3d(0, 0, 0.1px);
  width: 100%;
  max-width: 1800px;
}

.carousel__list {
  display: flex;
  overflow: hidden;
  list-style: none;
  padding: 2em 0 3em; 
  margin: 0;
  contain: layout style;
  isolation: isolate;
  transform: translateZ(0);
  touch-action: pan-y;
  overscroll-behavior-x: contain;
}


.carousel__item {
  display: grid;
  position: relative;
  align-content: start;
  margin: 0 10px;
  padding: 0;
  flex: 1 1 10%;
  height: var(--gallery-height);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  transform: translate3d(0, 0, 0);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 8px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px;
  contain: layout style paint;
  isolation: isolate;
  outline: none;
}

.carousel__item:focus-visible { outline: 3px solid #0066cc; outline-offset: 2px; }

.carousel__box { overflow: hidden; border-radius: 16px; height: 100%; width: 100%; }

.carousel__item,
.carousel__item * {
  transition: flex-basis 0.5s cubic-bezier(0.4, 0.0, 0.2, 1),
             opacity 0.5s cubic-bezier(0.4, 0.0, 0.2, 1),
             transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
  user-select: none;
}

.carousel__image,
.carousel__contents { width: 100%; height: auto; }

.carousel__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: visible;
}

.carousel__item:hover:not([data-active]) { cursor: inherit; }

.carousel__item[data-active] { flex-basis: var(--gallery-width); flex-grow: 0; }

.carousel__item img{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  aspect-ratio:2/3;
  object-fit:var(--img-fit, cover);
  object-position:var(--img-pos, 50% 50%);
  transform:translate3d(0, 0, 0);
  -webkit-transform:translate3d(0, 0, 0);
}

.carousel__item::after { content:none; }

.carousel__item[data-active] { opacity:1; }

.carousel__contents {
  display:flex;
  flex-direction:column-reverse;
  justify-content:start;
  align-items:start;
  min-height:200px;
  padding:2em 1.5em;
  z-index:10;
  position:absolute;
  top:auto;
  bottom:0;
  left:0;
  width:100%;
  height:auto;
  transition:transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
  transform:translate3d(0, 0, 0);
  -webkit-transform:translate3d(0, 0, 0);
  background:none;
}

.carousel__contents .profile__name{
  color: var(--profile-text-color);
  font-size: 1.75em;
  font-weight: 600;
  letter-spacing: .8px;
  overflow-wrap: break-word;
  text-shadow: 0 1px 0 rgba(0,0,0,0.3);
}
@media (max-width: 768px){
  :root{
    --title-edge-bias: 60px;
    --small-gap-adjust: 12px;
  }

  .gallery-section-title{ margin-bottom: var(--small-gap-adjust); }

  .carousel__list{ padding-top: calc(2em - var(--small-gap-adjust)); }

  #gallery-container .carousel__item[data-active] .carousel__contents{
    box-sizing:border-box !important;
    padding-right:var(--title-edge-bias) !important;
    padding-inline-end:var(--title-edge-bias) !important;
  }
}

#gallery-container .carousel__contents .profile__title{
  position:relative;
  display:inline-block;
  font:600 .875em/1.1 system-ui, sans-serif;
  letter-spacing:1.25px;
  text-transform:uppercase;
  color: var(--profile-text-color) !important;
  -webkit-text-fill-color: currentColor !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-stroke: var(--subtitle-stroke-width) var(--subtitle-stroke-color);
  text-shadow:none !important;
}

@supports not (-webkit-text-stroke: 1px black){
  #gallery-container .carousel__contents .profile__title{
    text-shadow:
      0 var(--subtitle-stroke-width) 0 var(--subtitle-stroke-color),
      0 calc(var(--subtitle-stroke-width)*-1) 0 var(--subtitle-stroke-color),
      var(--subtitle-stroke-width) 0 0 var(--subtitle-stroke-color),
      calc(var(--subtitle-stroke-width)*-1) 0 0 var(--subtitle-stroke-color);
  }
}

.carousel__contents .profile__title,
.carousel__contents .profile__name{
  margin:0;
  line-height:1.1;
  max-width:18em;
  opacity: 0;
  transform: translateX(calc(var(--txt-slide-offset, 56px) * -1));
}

[data-active] .carousel__contents{ padding-bottom:2em; }

[data-active] .carousel__contents .profile__title,
[data-active] .carousel__contents .profile__name{
  transition: none !important;
  animation: galleryTxtIn var(--txt-sync-dur, .66s) cubic-bezier(0.4,0,0.2,1) both !important;
}

[data-active] .carousel__contents .profile__title{ animation-delay:.05s !important; }
[data-active] .carousel__contents .profile__name{  animation-delay:.10s !important; }

@keyframes galleryTxtIn{
  from{ transform:translateX(calc(var(--txt-slide-offset, 56px) * -1)); opacity:0; }
  to  { transform:translateX(0); opacity:1; }
}

.carousel__nav{
  position:absolute;
  top:50%;
  left:0;
  right:0;
  transform:translateY(-50%);
  display:flex;
  justify-content:space-between;
  pointer-events:none;
  z-index:10;
  padding:0 1em;
}

.carousel__nav button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:50px;
  min-height:50px;
  width:50px;
  height:50px;
  background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.25);
  border-radius:50%;
  color:white;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:all .4s cubic-bezier(0.4,0.0,0.2,1);
  pointer-events:all;
  padding:0;
}

.carousel__nav button:focus-visible{ outline:3px solid #0066cc; outline-offset:2px; }

.carousel__nav button:hover:not([aria-disabled="true"]){
  background:rgba(255,255,255,0.25);
  transform:scale(1.1);
  box-shadow:0 4px 12px rgba(0,0,0,0.2);
}

.carousel__nav button:active:not([aria-disabled="true"]){ transform:scale(0.95); }

.carousel__nav button[aria-disabled="true"]{ opacity:.4; cursor:not-allowed; }

.carousel__nav button svg{ width:20px; height:20px; fill:white; }

.map-section .map-container,
.map-section .gallery-section-title,
.map-section #gallery-container{
  max-width:var(--content-rails-max);
  margin-inline:auto;
}

#gallery-container,
#gallery-container.gallery-container,
.gallery-container#gallery-container{
  min-height:calc(var(--gallery-height) + var(--gallery-bottom-gap)) !important;
}

#gallery-container .carousel__list{ padding-block-end: var(--gallery-list-pad-bottom) !important; }

#gallery-container .carousel__item:not([data-active]) .carousel__contents{ background:none !important; }

#gallery-container .carousel__item[data-ribbon] .carousel__contents *{
  opacity:1 !important;
  visibility:visible !important;
}

#gallery-container .carousel__item[data-active] .carousel__contents{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  flex-direction:column !important;
  padding:16px 14px !important;
  z-index:5;
}

#gallery-container .carousel__item:first-child .carousel__contents{ display:none !important; }
#gallery-container .carousel__item:first-child .carousel__contents *{ opacity:0 !important; }

@media screen and (min-width: 769px){
  :root{
    --gallery-width: 580px;
    --gallery-height: 700px;
    --gallery-bottom-gap: 8px;
    --gallery-list-pad-bottom: 1rem;
  }
  .gallery-container{ min-height:780px; }
  .carousel__item{ flex:1 1 14%; }
  .carousel__item[data-active]{ flex-basis: var(--gallery-width); }
  .carousel__item:not([data-active]) .carousel__contents{
    transform: translateX(-100%) rotate(90deg) translateZ(0);
    transform-origin: bottom right;
    align-items: end;
    justify-content: end;
    flex-direction: column;
    text-align: right;
    bottom: 0;
    top: auto;
    background: none;
  }
  .carousel__item:not([data-active]) .profile__name,
  .carousel__item:not([data-active]) .profile__title{
    transform: translateY(150%) translateZ(0);
    opacity: 0;
    max-width: 70vh;
    transition: transform .5s cubic-bezier(0.4,0.0,0.2,1),
                opacity  .5s cubic-bezier(0.4,0.0,0.2,1);
  }
  .carousel__contents .profile__name{ font-size:1.65em; }
  .carousel__contents .profile__title{ font-size:.875em; }
  .carousel__item:nth-child(1),
  .carousel__item:nth-child(n + 9){
    flex:0 0 0px;
    margin:0;
    box-shadow:none;
    opacity:0 !important;
  }
  .carousel__item:not(:nth-child(n + 3)) img,
  .carousel__item:nth-child(n + 8) img{ opacity:1; }
  .carousel__item:not(:nth-child(n + 2)) *,
  .carousel__item:nth-child(n + 9) *{ opacity:0 !important; }
  #gallery-container .carousel__item:first-child:not([data-active]) .carousel__contents,
  #gallery-container .carousel__item:last-child:not([data-active]) .carousel__contents{ display:flex !important; }
}

@media screen and (min-width: 600px) and (max-width: 768px){
  :root{
    --gallery-height: 650px;
    --gallery-bottom-gap: 8px;
    --gallery-list-pad-bottom: .9rem;
  }
  .gallery-container{ min-height:730px; }
  .carousel__item{ flex:1 1 18%; }
  .carousel__item:nth-child(3),
  .carousel__item:nth-child(9){ flex:0 0 25px; }
  .carousel__item:nth-child(2),
  .carousel__item:nth-child(10){
    flex:0 0 0px;
    margin:0;
    box-shadow:none;
    opacity:0 !important;
  }
  .carousel__item:nth-child(1),
  .carousel__item:nth-child(n + 11){
    flex:0 0 0px;
    margin:0;
    box-shadow:none;
    opacity:0 !important;
  }
  .carousel__item:not(:nth-child(n + 5)) img,
  .carousel__item:nth-child(n + 8) img{ opacity:1; }
  .carousel__item:not([data-active]):not(:nth-child(n + 4)) .carousel__contents *,
  .carousel__item:not([data-active]):nth-child(n + 9) .carousel__contents *{ opacity:0; }
  .carousel__item:not([data-active]) .carousel__contents{
    transform: translateX(-100%) rotate(90deg);
    transform-origin: bottom right;
    align-items: end;
    justify-content: end;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: right;
  }
  .carousel__item:not([data-active]) .carousel__contents .profile__title,
  .carousel__item:not([data-active]) .carousel__contents .profile__name{
    max-width: 70vh;
    transform: translateX(200px);
    opacity: 0;
  }
  [data-active] .carousel__contents{
    align-items: start;
    justify-content: start;
    text-align: left;
    flex-direction: column-reverse;
    transform: none;
  }
}

@media (min-width: 600px){
  #gallery-container .carousel__item:not([data-active]) .carousel__contents{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    transform-origin: top left !important;
    transform: rotate(-90deg) translateX(-100%) !important;
    width:auto !important;
    height:auto !important;
    padding:10px 12px !important;
    background:none !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    z-index:3;
  }
  #gallery-container .carousel__item:not([data-active]) .carousel__contents .profile__name,
  #gallery-container .carousel__item:not([data-active]) .carousel__contents .profile__title{
    opacity:1 !important;
    transform:none !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:none;
  }
  #gallery-container .carousel__item:not([data-active]) .profile__name{ font-size:16px; line-height:1.05; }
  #gallery-container .carousel__item:not([data-active]) .profile__title{ font-size:12px; line-height:1.05; opacity:.85; }
}

@media (min-width: 600px) and (max-width: 768px){
  #gallery-container .carousel__list > .carousel__item:nth-child(3):not([data-active]) .carousel__contents{ display:none !important; }
  #gallery-container .carousel__list > .carousel__item:nth-child(3):not([data-active]) .carousel__contents *{ opacity:0 !important; }
}

@media screen and (max-width: 800px){
  .carousel__item img{ width:100%; }
  .carousel__contents{
    transform: translateX(-100%) rotate(90deg);
    transform-origin: bottom right;
    align-items: end;
    justify-content: end;
    background-image: radial-gradient(ellipse at 100% 100%, rgba(0,0,0,.4) 0%, transparent 50%);
    background-position: -100% 100%;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: right;
  }
  [data-active] .carousel__contents{ background-position: 100% 100%; }
  .carousel__contents .profile__title,
  .carousel__contents .profile__name{ max-width:70vh; transform:translateX(200px); }
  .carousel__item:not([data-active]) .carousel__contents{
    transform: translateX(-100%) rotate(90deg);
    transform-origin: bottom right;
    align-items: end;
    justify-content: end;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: right;
  }
  .carousel__item:not([data-active]) .carousel__contents .profile__title,
  .carousel__item:not([data-active]) .carousel__contents .profile__name{ max-width:70vh; transform:translateX(200px); opacity:0; }
  [data-active] .carousel__contents{
    transform:none;
    flex-direction:column-reverse;
    align-items:start;
    text-align:left;
    bottom:0;
    top:auto;
    justify-content:start;
    background:none;
  }
}

@media screen and (max-width: 768px){
  .map-section #gallery-container,
  .map-section .gallery-container,
  #gallery-container,
  #gallery-container.gallery-container,
  .gallery-container#gallery-container{
    max-width:none !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #gallery-container .carousel__item:is(:first-child, :last-child) .carousel__contents{ display:none !important; }
  #gallery-container .carousel__item:is(:first-child, :last-child) .carousel__contents *{ opacity:0 !important; }
  #gallery-container .carousel__item:last-child .carousel__contents{ display:none !important; }
  #gallery-container .carousel__item:last-child .carousel__contents *{ opacity:0 !important; }
}

@media screen and (max-width: 768px) and (orientation: landscape){ .map-section{ padding:30px 20px; } }

@media screen and (max-width: 600px){
  :root{
    --gallery-height: 500px;
    --gallery-bottom-gap: 4px;
    --gallery-list-pad-bottom: .75rem;
    --txt-sync-dur: .5s;
    --txt-sync-ease: ease;
    --txt-slide-offset: 56px;
    --swipe-threshold-px: 28;
    --swipe-axis-lock-px: 12;
  }

  .gallery-container{ min-height:580px; }

  .gallery-container{ transform:none !important; } 

  .carousel__item{ flex-basis:10%; margin:0 5px; border-radius:8px; font-size:3vw; }
  .carousel__item[data-active]{ flex-basis:52%; flex-grow:0; }
  .carousel__item:nth-child(3), .carousel__item:nth-child(6){ flex:0 0 10px; }
  .carousel__item:nth-child(2), .carousel__item:nth-child(7){ flex:0 0 5px; }
  .carousel__item:nth-child(2){ transform:translateX(-50px); }
  .carousel__item:nth-child(7){ transform:translateX(50px); }
  .carousel__item:nth-child(1), .carousel__item:nth-child(n + 8){
    flex:0 0 0px; margin:0; box-shadow:none; opacity:0 !important;
  }
  .carousel__item img{ opacity:1 !important; }
  .carousel__item:not([data-active]):not(:nth-child(n + 3)) .carousel__contents *,
  .carousel__item:not([data-active]):nth-child(n + 7) .carousel__contents *{ opacity:0; }
  #gallery-container .carousel__nav button{ width:44px; height:44px; min-width:44px; min-height:44px; }
  #gallery-container .carousel__nav button svg{ width:16px; height:16px; }

  .carousel__item:not([data-active]) .carousel__contents{
    position:absolute; top:0; left:0; right:auto; bottom:auto;
    transform-origin:top left; transform:translateX(var(--txt-slide-offset)) rotate(-90deg);
    opacity:0; align-items:flex-start; justify-content:flex-start; text-align:left;
    transition: transform var(--txt-sync-dur) var(--txt-sync-ease), opacity var(--txt-sync-dur) var(--txt-sync-ease) !important;
    will-change: transform, opacity;
  }
  .carousel__item:not([data-active]) .carousel__contents .profile__title,
  .carousel__item:not([data-active]) .carousel__contents .profile__name{
    transform: translateX(200px);
    opacity: 0;
    transition: none !important;
  }
  .carousel__item:not([data-active]):nth-child(n + 3):not(:nth-child(n + 7)) .carousel__contents{
    transform: translateX(0) rotate(-90deg) !important; opacity:1 !important;
  }
  [data-active] .carousel__contents{
    transform:none; flex-direction:column-reverse; align-items:flex-start; text-align:left; bottom:0; top:auto; justify-content:flex-start; background:none;
  }
  #gallery-container .carousel__list{ gap:0 !important; padding-inline:0 !important; margin-inline:-15px !important; }
  #gallery-container .carousel__item[data-active] .carousel__contents{
    position:absolute !important; top:0 !important; left:0 !important; right:0; bottom:auto !important;
    transform:none !important; padding:14px 12px !important; align-items:flex-start !important; justify-content:flex-start !important; flex-direction:column !important; background:none !important;
  }
  #gallery-container .carousel__item[data-ribbon] .carousel__contents{
    position:absolute !important; top:0 !important; left:0 !important; right:auto !important; bottom:auto !important;
    transform-origin: top left !important; transform: rotate(-90deg) translateX(-100%) !important;
    width:auto !important; height:auto !important; padding:8px 10px !important; background:none !important;
    align-items:flex-start !important; justify-content:flex-start !important; text-align:left !important; z-index:3;
  }
  #gallery-container .carousel__item[data-ribbon] .carousel__contents .profile__name,
  #gallery-container .carousel__item[data-ribbon] .carousel__contents .profile__title{
    opacity:1 !important; transform:none !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  #gallery-container .carousel__item[data-ribbon] .profile__name{ font-size:15px; line-height:1.05; }
  #gallery-container .carousel__item[data-ribbon] .profile__title{ font-size:11.5px; line-height:1.05; opacity:.85; }
  #gallery-container.is-transitioning .carousel__item:not([data-active]) .carousel__contents,
  #gallery-container.is-transitioning .carousel__item:not([data-active]) .carousel__contents *{
    visibility:hidden !important; opacity:0 !important; transition:none !important;
  }

  #gallery-container .carousel__item img,
  #gallery-container .carousel__image img{
    left: 50% !important;
    right: auto !important;
    top: 0 !important;
    bottom: 0 !important;
    width: auto !important;            
    height: 100% !important;          
    aspect-ratio: auto !important;      
    transform: translateX(-50%) translateZ(0) !important;
    -webkit-transform: translateX(-50%) translateZ(0) !important;
    transition: none !important;             
    animation: none !important;
    object-fit: contain !important;      
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
  }

  #gallery-container .carousel__image {
    overflow: visible !important;
  }

  #gallery-container .carousel__box {
    overflow: visible !important;
  }
  
  #gallery-container .carousel__item {
    contain: none !important;
  }
  
  #gallery-container .carousel__contents {
    z-index: 2 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .carousel__item, .carousel__item *, .carousel__nav button{ transition:none !important; animation:none !important; }
}

#gallery-container .carousel__item[data-active] .carousel__contents {
  box-sizing: border-box !important;
  padding-right: var(--title-edge-bias) !important;
  padding-inline-end: var(--title-edge-bias) !important;
}

@media (min-width: 801px){
  :root { --title-edge-bias: 110px; }
}

@media (min-width: 1200px){
  :root { --title-edge-bias: 128px; }
}

@media screen and (max-width: 767px){
  .map-section .gallery-section-title .gallery-heading,
  .gallery-heading{
    font-size: 1.7rem;
    letter-spacing: 1px;
    margin-bottom: 12px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    white-space: normal;
    word-break: normal;
  }
}

@media screen and (max-width: 480px){
  .map-section .gallery-section-title .gallery-heading,
  .gallery-heading{
    font-size: 1.4rem;    
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    white-space: normal;
    word-break: normal;
  }
}
@media screen and (max-width: 320px){
  .map-section .gallery-section-title .gallery-heading,
  .gallery-heading{
    font-size: 1.2rem;
    letter-spacing: 0px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    white-space: normal;
    word-break: normal;
  }
}

:root{ --gallery-out-gap: clamp(40px, 6vw, 72px); }

.map-section{ padding-block-end: var(--gallery-out-gap); }

@media (min-width: 769px){ :root{ --gallery-out-gap: 72px; } }
@media (min-width: 600px) and (max-width: 768px){ :root{ --gallery-out-gap: 56px; } }
@media (max-width: 599.98px){ :root{ --gallery-out-gap: 0px; } }

@media (min-width: 769px){


  #gallery-container .carousel__item[data-active]:hover{ flex-basis: var(--gallery-width) !important; cursor: default !important; }
  #gallery-container .carousel__item[data-active]:hover .carousel__contents,
  #gallery-container .carousel__item[data-active]:hover .profile__name,
  #gallery-container .carousel__item[data-active]:hover .profile__title,
  #gallery-container .carousel__item[data-active]:hover img{
    transform:none !important; opacity:inherit !important;
  }
}

#gallery-container .carousel__item:hover:not([data-active]){ cursor: inherit; }

@media (max-width: 768px){
.map-section #gallery-container,
.map-section #gallery-container.gallery-container,
.map-section .gallery-container#gallery-container{
min-height: 0 !important;
height: auto !important;
}
#gallery-container .carousel__list{
padding-bottom: 25px !important;
}
}
@media (min-width: 600px) and (max-width: 768px){
.map-section{ padding-block-end: 20px !important; }
:root{ --gallery-out-gap: 20px !important; --gallery-list-pad-bottom: 20px !important; }
.map-section #gallery-container,
.map-section #gallery-container.gallery-container,
.map-section .gallery-container#gallery-container{ min-height: 0 !important; height: auto !important; }
#gallery-container .carousel__list{ padding-bottom: 20px !important; padding-block-end: 20px !important; }
}

#gallery-container, #gallery-container *{
-webkit-tap-highlight-color: transparent !important;
}

#gallery-container :focus,
#gallery-container :focus-visible,
#gallery-container :focus-within{
outline: none !important;
box-shadow: none !important;
}


#gallery-container button,
#gallery-container a,
#gallery-container [role="button"]{
appearance: none !important;
-webkit-appearance: none !important;
border: 0 !important;
box-shadow: none !important;
}

#gallery-container button::-moz-focus-inner,
#gallery-container a::-moz-focus-inner{
border: 0 !important;
}

#gallery-container img,
#gallery-container svg{
outline: none !important;
box-shadow: none !important;
-webkit-user-drag: none;
user-select: none;
}

@supports (-webkit-touch-callout: none) {
  #gallery-container .carousel__list,
  #gallery-container .carousel__item {
    contain: unset !important;
    isolation: auto !important;
  }

  #gallery-container .carousel__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
  }

  #gallery-container .carousel__item img,
  #gallery-container .carousel__image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
    -webkit-transform: none !important;
    -webkit-backface-visibility: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: auto !important;
    z-index: 1 !important;
  }

  #gallery-container .carousel__contents {
    z-index: 2 !important;
  }
}
