/**
  Controls - pause/play, previous, and next buttons
*/
.sr-only {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.vcarousel { overflow: hidden; max-height: 100vh; }
.vcarousel { height: var(--row-height); }
.vcarousel.fullheight { height: 100vh; }

  /* All buttons */
.vcarousel .is-control {
    background: var(--button-background);
    color: var(--button-color);
    border: 0;
    cursor: pointer;
    transition: all .2s linear;
  }
  
   .dialog-widget .vcarousel .is-control {
	  color:white;
	  background: #0b0b0b;
   }
	.dialog-lightbox-widget .dialog-close-button {
		background: black;
		border: 0;
		color: white;
		cursor: pointer;
	}
	.dialog-lightbox-widget .dialog-close-button:focus {
		outline: 4px white solid;
	}
   .vcarousel .is-control:focus {
      outline: none;
      background-color: rgba(0,0,0,.8);
      color: rgba(255,255,255,1);
    }
	.dialog-widget .vcarousel .is-control:focus {
		outline: 4px solid white;
	}
  /* Pause/play button */
  .vcarousel .rotation-button {
    position: absolute;
    bottom: 5px;
    left: 5px;
    
    padding: 10px 15px;
    z-index: 7;
    
    font-size: 20px;
    
    border-radius: 5px;
  }
  
  
  /* Previous slide button */
  .vcarousel .previous-button {
    position: absolute;
    left: 0;
    top: calc(50% - 35px);
    
    padding: 5px 15px;
    z-index: 7;
    
    font-size: 40px;
    
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-left: 0;
  }
  .pause-container, .resume-container {
	  display: none;
  }
  .pause-container.is-visible, .resume-container.is-visible {
	  display: block;
  }
  /* Next slide button */
  .vcarousel .next-button {
    position: absolute;
    right: 0;
    top: calc(50% - 35px);
    
    padding: 5px 15px;
    z-index: 7;
    font-size: 40px;
    
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-right: 0;
  }
  .vcarousel .navigation { 
	position: absolute;
	bottom: 15px;
	width: calc(100% - 50px);
	text-align: center;
	list-style: none;
	margin: 0 0 0 50px;
	height: auto;
	padding: 0;
	z-index: 8;
  }

 .dialog-widget .vcarousel .navigation { 
	 width: calc(100% - 8px);
	 margin: 0 0 0 4px;
	 left: 0px;
}
  .vgallery-gallery-item:focus img {
	outline: 4px solid black;
  }
  
  .vcarousel .navigation .slide-dot {
    display: inline-block;
    font-weight: 400;
    color: #033060;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
	height: 15px;
    background-color: #033060;
    opacity: 0.7;
    border: 2px solid #fff;
    padding: 0.36rem 0.36rem;
    font-size: 1rem;
    border-radius: 1rem;
    transition: all .3s;
  }
  .dialog-widget .vcarousel .navigation .slide-dot {
	  background-color: white;
	  opacity: 0.8;
  }
  .dialog-widget .vcarousel .navigation .slide-dot.swiper-pagination-bullet-active {
	  background-color: black;
	  opacity: 1;
	  width: 20px;
      height: 20px;
	  outline: 4px solid #0b6ebd;
	  vertical-align: top;
	  margin-top: 7px !important;
  }
  .dialog-widget .swiper-slide {
	display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .swiper-slide img {
	  object-fit: cover;
	  width: 100%;
	  height: 100%;
  }
  .swiper-slide .caption {
	position: absolute;
    bottom: 35px;
    background: white;
    padding: 20px;
    right: 35px;
  }
   .swiper-slide .caption span {
		color: #033060 !important;
		font-size: 35px;
		font-weight: 700;
		display:block;
		line-height: 1;
		font-family: var(--e-global-typography-primary-font-family);
	}
	.swiper-slide .caption small {
		font-family: "Roboto";
		font-weight: 400;
		color: #033060 !important;
		text-shadow: none;
		float:right;
		font-size: 17px;
		line-height: 1.4;
	}
	.swiper-scale-effect .swiper-slide, .swiper-scale-effect .swiper-slide .caption {
		transition: .5s;
		transform: scale(1);
		opacity:0;
	}
	.elementor-editor-active .swiper-scale-effect .swiper-slide, .elementor-editor-active .swiper-scale-effect .swiper-slide .caption {
		opacity:1;
	}
	.swiper-scale-effect .swiper-slide.swiper-slide-active {
		opacity:1;
	}
	.swiper-scale-effect .swiper-slide.swiper-slide-active .caption {
		opacity:1;
		transition: 1s;
	}
	.swiper-scale-effect .swiper-slide img {
	  transform: scale(1);
	}
	.swiper-scale-effect .swiper-slide.swiper-slide-active img {
	  transition: 8.5s ease-out;
	  transform: scale(1.1);
	}
	
	.dialog-widget .swiper-slide img { 
		object-fit: contain;
	}
 .vcarousel .swiper-pagination-bullet { 
	width: 14px;
    height: 20px;
    line-height: 10px;
    background: none;
    opacity: 1;
	margin: 0 5px !important;
 }

 .vcarousel .swiper-pagination-bullet-active.slide-dot {
	 background-color: #033060;
	 border: 2px solid white;
	 opacity: 1;
	 outline: 3px solid #0b6ebd;
 }
 .vcarousel .navigation .slide-dot:focus {
        box-shadow: 0 0 0 1px white, 0 0 0 4px hsl(204, 86%, 53%);
        outline: none;
}

 .vcarousel .navigation .slide-dot .slide-dot[aria-current="true"] {
        background-color: rgba(0,0,0,1);
}

.dialog-widget-content .vcarousel {
	padding: calc(5% + 20px);
}

.vgallery .vgallery-list.masonry {
    column-count: var(--columns);
    column-gap: 10px;
}
.vgallery-list.masonry .vgallery-item .image-overlay{
	height: calc(100% - 5px);
}
.vgallery-list > li.vgallery-item { display: none; }
.vgallery-list > li.vgallery-item.show { display: inline-block; }
.vgallery-item:hover .image-overlay, .vgallery-item:focus .image-overlay {
	opacity: 1;
}
.filters .filter-button { margin: 0 10px; color: var( --e-global-color-primary ); border: 1px solid var( --e-global-color-primary ); }
.filters .filter-button:hover { background-color:  var( --e-global-color-primary ); color: white; } 
.filters .filter-button:focus { background-color:  var( --e-global-color-primary ); color: white; border: 3px; }


.dialog-widget-content .slide.swiper-slide {
	opacity:0 !important;
	transition:0.2s;
}

.dialog-widget-content .slide.swiper-slide.swiper-slide-active {
	opacity:1 !important;
}

.vgallery .vgallery-list{ 
	list-style:none; 
	padding: 0px;
}
.vgallery .vgallery-list.grid {
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.vgallery .vgallery-list > li, .vgallery .vgallery-list > li img {
	height: var(--row-height);
}
.vgallery .vgallery-list.masonry > li, .vgallery .vgallery-list.masonry > li img {
	height: auto;
}
.vgallery .vgallery-list.justified {
	display: flex;
	 overflow: hidden;
	flex-wrap: wrap;
}
.vgallery .vgallery-list.justified:after {
  content: "";
  flex-grow: 999999999;
  min-width: var(--row-height);
  height: 0;
}
.vgallery .vgallery-list.justified > li {
  height: var(--row-height);
  flex-grow: 1;
  margin-bottom: var(--gap, 1em);
  margin-left: var(--gap, 1em);
}
.vgallery .vgallery-list.justified > li img {
  height: var(--row-height);
  object-fit: cover;
  max-width: 100%;
  min-width: 100%;
  vertical-align: bottom;
}
.vgallery-list > li { 
	
	display: inline-block;
    cursor: pointer;
    position: relative;
	list-style:none; 
	text-align: center;
}

.vgallery-gallery-item {
	appearance: none;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	position: relative;
}

.vgallery-gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.vgallery-caption {
	display: block;
	margin-top: 10px;
	color: #29292a;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
}

.vgallery-gallery-item .vgallery-caption,
.vgallery-gallery-image .vgallery-caption {
	position: relative;
	z-index: 2;
}

.vgallery-list.grid > li:has(.vgallery-caption),
.vgallery-list.justified > li:has(.vgallery-caption) {
	height: auto;
}

.vgallery-list.grid > li:has(.vgallery-caption) img,
.vgallery-list.justified > li:has(.vgallery-caption) img {
	height: var(--row-height);
}

.vgallery-gallery-item:focus {
	outline: none;
}

.vgallery-gallery-item:focus-visible img {
	outline: 4px solid #111;
	outline-offset: 3px;
}
.swiper-pagination-bullet span { 
	border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.vgallery-list.grid > li { 
	flex: 1 1 auto;
	flex-grow:0;
	width: calc(100% * (1/4) - 10px - 1px);
}

.vgallery-list.grid > li img {
	max-height: 100%;
	max-width: 100%;
	object-fit: cover;
    height: 100%;
	width: 100%;
}

.vgallery-item .image-overlay {
	opacity:0;
	position: absolute;
    height: 100%;
    width: 100%;
    padding: 20px;
    background: #000000b0;
    color: white;
    font-weight: 700;
	display: flex;
	justify-content: center;
	align-content: center;
	flex-direction: column;
	transition: 0.5s;
}
.dialog-lightbox-widget {
	margin: 0 !important;
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 999999 !important;
	background: rgba(0, 0, 0, 0.92);
}

.dialog-lightbox-widget[aria-hidden="false"] {
	display: block !important;
}

.dialog-lightbox-widget .dialog-widget-content {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	top: 0 !important;
	left: 0 !important;
}

.dialog-lightbox-widget .vcarousel {
	width: 100% !important;
	height: 100vh !important;
}

.dialog-lightbox-widget .swiper-slide img {
	max-width: min(92vw, 1400px);
	max-height: 86vh;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.vgallery .vgallery-list.masonry {
		column-count: var(--md-columns);
	}
	.dialog-widget-content .vcarousel {
		padding: 0;
	}
	.dialog-widget {
		margin-left: -10vw;
		margin-right: -10vw;
		width: calc(100vw - 17px);
	}
	.vcarousel, .vcarousel .swiper-slide, .vgallery .vgallery-list > li, .vgallery .vgallery-list > li img,
	.vgallery .vgallery-list.justified > li, .vgallery .vgallery-list.justified > li img
	{ height: var(--row-height-tablet); }
	
}
@media (max-width: 767px) {
	.vgallery .vgallery-list.masonry {
		column-count: var(--sm-columns);
	}
	.swiper-slide .caption span {
		font-size: 24px;
	}
	.vcarousel, .vcarousel .swiper-slide, .vgallery .vgallery-list > li, .vgallery .vgallery-list > li img,
	.vgallery .vgallery-list.justified > li, .vgallery .vgallery-list.justified > li img
	{ height: var(--row-height-mobile); }
}

/* Disabled lightbox gallery: static finish cards */
.vgallery[data-lightbox-enabled="no"] {
	--hc-gallery-ink: #29292a;
	--hc-gallery-brown: #782e13;
	--hc-gallery-brass: #b98132;
	--hc-gallery-line: rgba(41, 41, 42, 0.14);
	--hc-gallery-soft: #f6f3ef;

	margin: 0 auto;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-list {
	display: grid !important;
	grid-template-columns: repeat(var(--columns, 4), minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px) !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-list > li.vgallery-item,
.vgallery[data-lightbox-enabled="no"] .vgallery-list > li.vgallery-item.show {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	cursor: default !important;
	text-align: left;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-list > li.vgallery-item {
	background: #ffffff;
	box-shadow: 0 16px 34px rgba(41, 41, 42, 0.06);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-list > li.vgallery-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 20px 48px rgba(41, 41, 42, 0.11);
}

.vgallery[data-lightbox-enabled="no"] .vgallery-gallery-image {
	display: flex;
	flex-direction: column-reverse;
	height: auto !important;
	min-height: 0 !important;
	overflow: hidden;
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	transition: none;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-gallery-image img {
	display: block;
	width: 100% !important;
	height: clamp(190px, 17vw, 260px) !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover;
	background: var(--hc-gallery-soft);
	transition: transform 220ms ease;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-list > li.vgallery-item:hover .vgallery-gallery-image img {
	transform: scale(1.025);
}

.vgallery[data-lightbox-enabled="no"] .image-overlay {
	display: none !important;
}

.vgallery[data-lightbox-enabled="no"] .image-container {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: auto !important;
	margin: 0;
	padding: 12px 12px 14px;
	background:
		linear-gradient(180deg, rgba(246, 243, 239, 0.72), #ffffff);
	border-top: 1px solid rgba(41, 41, 42, 0.08);
	overflow: visible !important;
	visibility: visible !important;
}

.vgallery[data-lightbox-enabled="no"] .image-container img {
	width: 34px !important;
	height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	object-fit: contain;
	filter: grayscale(1) contrast(1.35);
}

.vgallery[data-lightbox-enabled="no"] .vgallery-caption {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	margin: 0 !important;
	padding: 6px 14px 7px;
	color: #ffffff;
	background: var(--hc-gallery-ink);
	border: 0;
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0;
	text-align: center;
}

.vgallery[data-lightbox-enabled="no"] .vgallery-caption::before {
	content: none;
}

.vgallery[data-lightbox-enabled="no"] .filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding: 0 0 26px !important;
}

.vgallery[data-lightbox-enabled="no"] .filters .filter-button {
	margin: 0 !important;
	padding: 10px 16px;
	color: var(--hc-gallery-ink);
	background: #ffffff;
	border: 1px solid var(--hc-gallery-line);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.vgallery[data-lightbox-enabled="no"] .filters .filter-button:hover,
.vgallery[data-lightbox-enabled="no"] .filters .filter-button:focus {
	color: #ffffff;
	background: var(--hc-gallery-brown);
	border-color: var(--hc-gallery-brown);
}

@media (max-width: 1024px) {
	.vgallery[data-lightbox-enabled="no"] .vgallery-list {
		grid-template-columns: repeat(var(--md-columns, 3), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.vgallery[data-lightbox-enabled="no"] .vgallery-list {
		grid-template-columns: repeat(var(--sm-columns, 1), minmax(0, 1fr));
		gap: 16px !important;
	}

	.vgallery[data-lightbox-enabled="no"] .vgallery-gallery-image img {
		height: clamp(180px, 56vw, 260px) !important;
	}

	.vgallery[data-lightbox-enabled="no"] .vgallery-caption {
		min-height: 32px;
		padding: 6px 12px 7px;
		font-size: 15px;
	}

	.vgallery[data-lightbox-enabled="no"] .image-container {
		gap: 9px;
		margin-top: 0;
		padding: 11px 10px 13px;
	}

	.vgallery[data-lightbox-enabled="no"] .image-container img {
		width: 30px !important;
		height: 30px !important;
		max-width: 30px !important;
		max-height: 30px !important;
	}
}
