.pool-sizes-acf h2 {
  text-align: center;
  color:#222!important;
  font-size: 28px !important;
  margin: 20px 0px !important;
  line-height: 1.2 !important;
}

#wrapper :is(#content, #main) .pool-sizes-acf * {
  text-align: center!important;
}

@media (max-width: 479px) {
:is(#content, #main) .sp-hero.banner-overlay {
  margin-bottom: 40px;
}}

@media (max-width: 479px) {
:is(#content, #main) .sp-hero.banner-overlay {
  margin-bottom: 40px;
}

:is(#content, #main) .sp-hero.banner-overlay .overlaid {
  padding: 0 10px!important;
}

:is(#content, #main) .sp-hero.banner-overlay .overlaid {
  height: 100%;
}

#wrapper :is(#content, #main) .sp-hero.banner-overlay .overlaid h1 {
  margin-bottom: 0!important;
}

:is(#content, #main) .sp-hero.banner-overlay .double-ctas {
  position: absolute;
  bottom: -100px;
}

:is(#content, #main) .banner-overlay.sp-hero .fusion-builder-row .fusion-builder-row {
  top: 0;
  transform:none;
  bottom: 0;
  height: 100%;
}

:is(#content, #main) .sp-hero + .sp-text {
  padding-top:80px;
}

:is(#content, #main) .sp-hero.banner-overlay img {
  min-height: 0;
  aspect-ratio: 1/1;
}

:is(#content, #main) .sp-hero.banner-overlay .lp-btn.btn-wte {
  background: #222;
  color: #fff !important;
  outline: 2px solid #222;
  color: #fff !important;
}

:is(#content, #main) .sp-hero.banner-overlay .lp-btn.btn-tr-w {
  color: #222 !important;
  outline: 2px solid #222;
  background: #fff!important;
}}

:is(#content, #main) .sp-hero.banner-overlay .overlaid {
  padding: 0 40px;
}

:is(#content, #main) .banner-overlay.sp-hero .double-ctas p {
  margin-bottom:0;
}

:is(#content, #main) .sp-hero.banner-overlay .pre-title p {
  font-weight: 700;
  font-size: clamp(18px, 4vw, 36px) !important;
}

:is(#content, #main) .sp-hero.banner-overlay h1 {
  font-size: clamp(40px, 8vw, 120px) !important;
  margin-bottom: 30px!important;
}

@media (min-width: 1024px) {
:is(#content, #main) .sp-inset {
  width:86%;
  margin:auto;
}}

/* Let Avada’s responsive video wrapper follow the actual 16:9 player. */
:is(#content, #main) .sp-inset iframe {
  aspect-ratio:4/3;
}

@media (min-width: 768px) {
:is(#content, #main) .sp-inset iframe {
  aspect-ratio:16/10;
}}

@media (min-width: 1024px) {
:is(#content, #main) .sp-inset iframe {
  aspect-ratio:16/6;
}}

:is(#content, #main) #pool-gallery {
  position: relative;
  justify-content:space-between;
  display: flex;
}

:is(#content, #main) #pool-gallery .main-image {
  width: 100%;
}

:is(#content, #main) #pool-gallery .small-images {
  flex-wrap: wrap;
  display:none;
  justify-content:space-between;
  width: calc(40% - 10px);
}

:is(#content, #main) #pool-gallery img {
  display: block;
  width:100%;
  height:100%;
  object-fit:cover;
}

:is(#content, #main) #pool-gallery .small-images a {
  display: block;
  width: calc(50% - 10px);
  height: calc(50% - 20px);
  aspect-ratio:1/1;
}

:is(#content, #main) #pool-gallery .small-images a.hidden {
  display:none;
}

:is(#content, #main) #pool-gallery a.view-all {
  position: absolute;
  color:#fff;
  bottom: -37px;
  right: 0;
  left: 0;
  text-align: center;
  transition: .3s;
  background: rgba(0,0,0,0.8);
  display: block;
  padding: 5px 10px;
}

:is(#content, #main) #pool-gallery a.view-all::before {
  content: "";
  color:inherit;
  margin-right:10px;
  font-family: awb-icons;
}

:is(#content, #main) #pool-gallery a.view-all::after {
  content: " gallery";
  color:#fff;
  display:inline;
}

:is(#content, #main) #pool-gallery a.view-all:hover {
  background: rgba(0,0,0,1);
}

@media (min-width: 600px) {
:is(#content, #main) #pool-gallery .small-images {
  display: flex;
}

:is(#content, #main) #pool-gallery .main-image {
  height: calc(100% - 20px);
  width: calc(60% - 10px);
}

:is(#content, #main) #pool-gallery a.view-all {
  bottom: 20px;
  left: initial;
  background: rgba(0,0,0,0.4);
}

:is(#content, #main) #pool-gallery a.view-all::after {
  content: " all";
}}

/* Preserve the source's centered flex row for dimensioned Spa/Ledge cards. */
#main .fusion-grid-posts-cards:has(> .pool-sizes-acf) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  width: calc(100% + 40px);
  margin: -20px -20px 0;
}
#main .fusion-grid-posts-cards > .pool-sizes-acf {
  width: calc(100% / 3);
  padding: 20px;
}
@media (min-width: 720px) and (max-width: 872px) {
  #main .fusion-grid-posts-cards > .pool-sizes-acf { width: 50%; }}
@media (max-width: 719px) {
  #main .fusion-grid-posts-cards > .pool-sizes-acf { width: 100%; }}

@media (min-width: 801px) {
	:is(#content, #main) #pool-gallery {
		align-items: stretch;
	}

	:is(#content, #main) #pool-gallery .main-image {
		display: flex;
		height: auto;
		min-height: 0;
		overflow: hidden;
		margin-bottom: 20px;
	}

	:is(#content, #main) #pool-gallery .main-image > a {
		display: flex;
		width: 100%;
		min-height: 0;
	}

	:is(#content, #main) #pool-gallery .main-image img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
