
/* Responsive portfolio grid with Pindora-like side spacing.
   Only the portfolio window/grid area is affected; header, footer, social icons,
   filters, scrollbar and existing links remain unchanged. */
html, body{
  overflow-x:hidden!important;
}

:root{
  --walkinto-portfolio-edge-space:clamp(42px,4vw,76px);
}

.fusion-Portfolio.wrapper-Portfolio-fullwidth{
  width:calc(100vw - (var(--walkinto-portfolio-edge-space) * 2))!important;
  max-width:calc(100vw - (var(--walkinto-portfolio-edge-space) * 2))!important;
  margin-left:calc(50% - 50vw + var(--walkinto-portfolio-edge-space))!important;
  margin-right:calc(50% - 50vw + var(--walkinto-portfolio-edge-space))!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
  text-align:center!important;
}

#grid-container.cbp,
#grid-container.cbp-l-grid-gallery{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:hidden!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:block!important;
  box-sizing:border-box!important;
}

#grid-container .cbp-wrapper{
  margin-left:auto!important;
  margin-right:auto!important;
}

#grid-containers{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

/* Base size used by Cube Portfolio to calculate responsive columns.
   The plugin scales the items while this outer spacing keeps the first/last
   windows away from the browser edges, matching Pindora's breathing room. */
#grid-container.cbp-l-grid-gallery .cbp-item,
.cbp-l-grid-gallery .cbp-item{
  width:272px;
  height:169px;
  overflow:hidden!important;
  background:#000!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  aspect-ratio:272 / 169!important;
}

#grid-container .cbp-caption,
#grid-container .cbp-caption-defaultWrap,
#grid-container .cbp-caption-activeWrap{
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

#grid-container .cbp-caption{
  display:block!important;
  position:relative!important;
  background:#000!important;
  text-decoration:none!important;
}

#grid-container .cbp-caption-defaultWrap{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:#000!important;
}

#grid-container .cbp-caption-defaultWrap img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:scale(1.001)!important;
  transition:transform .35s ease, opacity .35s ease!important;
}

#grid-container .cbp-caption:hover .cbp-caption-defaultWrap img{
  transform:scale(1.08)!important;
  opacity:.82!important;
}

#grid-container .cbp-caption-activeWrap{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:block!important;
  opacity:0!important;
  background:rgba(0,0,0,.58)!important;
  transition:opacity .35s ease!important;
}

#grid-container .cbp-caption:hover .cbp-caption-activeWrap,
#grid-container .cbp-caption:focus .cbp-caption-activeWrap{
  opacity:1!important;
}

#grid-container .cbp-l-caption-alignCenter{
  display:table!important;
  width:100%!important;
  height:100%!important;
  text-align:center!important;
}

#grid-container .cbp-l-caption-body{
  display:table-cell!important;
  width:100%!important;
  height:100%!important;
  vertical-align:middle!important;
  text-align:center!important;
  padding:18px!important;
}

#grid-container .cbp-l-caption-text{
  display:block!important;
  max-width:92%!important;
  margin:0 auto!important;
  color:#fff!important;
  font:400 14px/21px "Open Sans", Arial, sans-serif!important;
  letter-spacing:3px!important;
  text-align:center!important;
  text-transform:none!important;
  text-shadow:none!important;
}

#tours-filters-container.cbp-l-filters-alignCenter{
  margin-bottom:20px!important;
}

#tours-filters-container.cbp-l-filters-alignCenter .cbp-filter-item{
  font:400 14px/21px "Open Sans", Arial, sans-serif!important;
  padding:0 12px!important;
  margin:10px 0 0!important;
  color:#949494!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}

#tours-filters-container.cbp-l-filters-alignCenter .cbp-filter-item:hover,
#tours-filters-container.cbp-l-filters-alignCenter .cbp-filter-item.cbp-filter-item-active{
  color:#2D2C2C!important;
}

#tours-filters-container.cbp-l-filters-alignCenter em{
  color:#dadada!important;
  font-style:normal!important;
}

@media only screen and (max-width: 1024px){
  :root{
    --walkinto-portfolio-edge-space:clamp(28px,3.5vw,42px);
  }
}

@media only screen and (max-width: 768px){
  :root{
    --walkinto-portfolio-edge-space:22px;
  }

  #grid-container .cbp-l-caption-body{
    padding:14px!important;
  }

  #grid-container .cbp-l-caption-text{
    font-size:13px!important;
    line-height:20px!important;
    letter-spacing:2px!important;
  }
}

@media only screen and (max-width: 420px){
  :root{
    --walkinto-portfolio-edge-space:14px;
  }
}
