.elementor-3578 .elementor-element.elementor-element-e00553b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-3578 .elementor-element.elementor-element-e4f40b7{--display:flex;--min-height:350px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3578 .elementor-element.elementor-element-e4f40b7:not(.elementor-motion-effects-element-type-background), .elementor-3578 .elementor-element.elementor-element-e4f40b7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84cf837 );}.elementor-3578 .elementor-element.elementor-element-eb50e59 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-3578 .elementor-element.elementor-element-eb50e59{text-align:center;}.elementor-3578 .elementor-element.elementor-element-eb50e59 .elementor-heading-title{font-family:"bw-vivant-light", Sans-serif;font-size:55px;font-weight:300;line-height:1.2em;color:var( --e-global-color-text );}.elementor-3578 .elementor-element.elementor-element-889942f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-3578 .elementor-element.elementor-element-e4f40b7{--width:100%;}}@media(max-width:1024px){.elementor-3578 .elementor-element.elementor-element-e4f40b7{--min-height:300px;}.elementor-3578 .elementor-element.elementor-element-eb50e59 .elementor-heading-title{font-size:45px;line-height:1.2em;}}@media(max-width:767px){.elementor-3578 .elementor-element.elementor-element-e4f40b7{--min-height:250px;}.elementor-3578 .elementor-element.elementor-element-eb50e59 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-3578 .elementor-element.elementor-element-eb50e59{text-align:center;}.elementor-3578 .elementor-element.elementor-element-eb50e59 .elementor-heading-title{font-size:30px;}}/* Start custom CSS for container, class: .elementor-element-e00553b *//* 1) Add class `bg-wrap` to the Section/Container that needs a background */
.bg-wrap {
  position: relative;
  overflow: hidden;           
}
/* keep all normal content above the background image */
.bg-wrap > *:not(.bg-img) {
  position: relative;
  z-index: 2;  /* increased to stay above overlay */
}
/* 2) Add class `bg-img` to the Image widget you're using as the background */
.bg-wrap > .elementor-widget-image.bg-img {
  position: absolute !important;  /* escape Elementor's layout */
  inset: 0 !important;
  margin: 0 !important;
  z-index: 0;
  pointer-events: none;           /* let content above be clickable */
}
/* Ensure Elementor's inner wrappers also stretch fully */
.bg-wrap .bg-img .elementor-widget-container,
.bg-wrap .bg-img .elementor-image,
.bg-wrap .bg-img .elementor-image > a,
.bg-wrap .bg-img .elementor-image > picture,
.bg-wrap .bg-img .elementor-image > span {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
/* Finally: make the <img> behave like a cover background */
.bg-wrap .bg-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;     /* defeat WP/Elementor width limits */
  object-fit: cover !important;   /* like background-size: cover */
  object-position: var(--bg-pos, 50% 50%) !important; /* focal point */
  display: block !important;
  transform: translateZ(0);       /* avoid sub-pixel gaps on some GPUs */
}
/* Dark overlay with 30% opacity */
.bg-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);  /* 30% dark overlay */
  z-index: 1;
  pointer-events: none;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'bw-vivant-light';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://hamiltonpalmbeach.com/wp-content/uploads/2025/07/bw-vivant-light.ttf') format('truetype');
}
@font-face {
	font-family: 'bw-vivant-light';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://hamiltonpalmbeach.com/wp-content/uploads/2025/07/bw-vivant-medium.ttf') format('truetype');
}
@font-face {
	font-family: 'bw-vivant-light';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://hamiltonpalmbeach.com/wp-content/uploads/2025/07/bw-vivant-bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */