/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 15 2025 | 23:36:22 */
.icons-line .wp-block-group.is-layout-constrained {
  margin-block-start: 0 !important;
	text-align:center;
}

#primary.primary {
	margin-top:0 !important;
	padding-top:0 !important;
}
article.page {
	padding-top:0 !important;
}


.hero h1, .hero p,.minihero {
text-shadow: 1px 1px 2px black;
}

.hero {
	margin-bottom:2rem;
}

.ast-primary-header-bar {
	border:none !important;
}
.ast-container .alignfull,
.full-bleed {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

.minihero p {
	font-size: clamp(24px, 2vw, 34px);
}
.painted-edges {
  position: relative;
  overflow: hidden;
  --edge: url('/wp-content/uploads/painters-edge-mask2.png');
  --edge-h: 50px; 	

}

.painted-edges.style2 {
  --edge: url('/wp-content/uploads/painters-edge-mask3.png');
  --edge-h: 50px; 	
}

.painted-edges.style3 {
  --edge: url('/wp-content/uploads/painters-edge-mask4.png');
  --edge-h: 50px; 	
}

.painted-edges.style4 {
  --edge: url('/wp-content/uploads/painters-edge-mask5.png');
  --edge-h: 50px; 	
}


.painted-edges::before,
.painted-edges::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--edge-h);
  background: var(--edge) no-repeat center / cover;
  pointer-events: none;
  z-index: 1; 
	transform: translateZ(0);
	 will-change: transform;
  backface-visibility: hidden;
}
.painted-edges::before { top: -1px; }
.painted-edges::after  { bottom: -1px; transform: scaleY(-1); }

.painted-edges .wp-block-cover__inner-container { position: relative; z-index: 2; }

.painted-edges > :is(.wp-block-cover__image-background, .wp-block-cover__background) { z-index: 0; }
.painted-edges.style1 {
             
}
.painted-edges.no-edge-top::before,
.painted-edges.no-edge-top > *:first-child::before { content: none !important; }

.painted-edges.no-edge-bottom::after,
.painted-edges.no-edge-bottom > *:first-child::after { content: none !important; }
.ast-container {
width:100%
	max-width: 1280px;
}


.cards-row.wp-block-columns { align-items: stretch; }         
.cards-row .card { 
  display: flex; 
  flex-direction: column; 
  height: 100%;           
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 10%), 0px 8px 20px 0px rgba(0, 0, 0, 20%);
  overflow: hidden; 
}

.cards-row .card .wp-block-image img {
  width: 100%;
  aspect-ratio: 3 / 2;   
  object-fit: cover;
}

.cards-row .card .wp-block-buttons { 
  margin-top: auto; 
}

.home-quote  {
	max-width:275px;
}
@media (max-width: 768px) {	
.home-quote  {
	max-width:550px;
	}
}
.footer-connect{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.footer-connect a{display:inline-flex}
.footer-connect img{width:50px;height:50px;display:block}
.connect-label {display:inline-block;font-size:20px;line-height:1.2;color:#fff;white-space:nowrap;margin-right:1rem;}

.cf7-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.cf7-grid .left { display: flex; flex-direction: column; gap: 16px; }
.cf7-grid .right { display: flex; flex-direction: column; }

/* Align submit button right */
.submit-row { text-align: right; }

/* Mobile: stack */
@media (max-width: 782px){
  .cf7-grid { grid-template-columns: 1fr; }
}


.details-card table td:first-child {
  position: relative;
  padding-left: 48px;
	vertical-align: top;
	white-space:nowrap;
}

.details-card table td:first-child::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 19px;
  width: 24px; height: 24px;
  transform: translateY(-50%);
  background: url("/wp-content/uploads/star.svg") no-repeat center/contain;
}
.details-card table {
  border-collapse: separate;
  border-spacing: 0 12px; 
	border:none;
}

.photo-strip .wp-block-image {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* stick content to the bottom */
  height: 100%;              /* fill the parent’s height */
}

/* scale image correctly */
.photo-strip .wp-block-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.footer-contact {
	padding:3rem 20px;
}

.footer-contact textarea {
	max-height:155px;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color:red
}
cf7-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px,3vw,32px);
  align-items: stretch;              /* columns share the same height */
}

/* stack fields vertically inside each column */
.cf7-grid .left,
.cf7-grid .right{
  display:flex;
  flex-direction:column;
}


/* Push the last field in each column to the bottom */
.cf7-grid .left > *:last-child,
.cf7-grid .right > *:last-child {
  margin-top: auto;
}
.cf7-grid .submit-row{
  grid-column: 1 / -1;               /* full width under the two cols */
  display:flex;
  justify-content:flex-end;          /* button to the right */
  margin-top: 0rem;
	position:relative
}

.cf7-grid .submit-row .wpcf7-spinner{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(100%, -50%); /* sits outside, to the right */
  margin: 0;
  pointer-events: none;
  /* optional: control size with a variable */
  width: var(--cf7-spinner, 24px);
  height: var(--cf7-spinner, 24px);
}
/* ----- Error tips: don't reflow the layout ----- */
.cf7-grid .wpcf7-form-control-wrap{
  position: relative;
  display: block;
  /* reserve space for an inline tip so it never overlaps */
  padding-bottom: 1.25em; /* adjust to your font-size */
}

.cf7-grid .wpcf7-not-valid-tip{
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: .25em;
  line-height: 1.2;
  font-size: .95em;
}


.cf7-grid p {
	margin-bottom:0;
}
@media (max-width: 768px) {
  .cf7-grid {
    flex-direction: column;
  }
}
.newsletter strong {
	font-size:20px;
}

.newsletter {
	color:white;
}

.wpcf7 form .wpcf7-response-output{
  margin: 1rem 0 0;
}

.newsletter input[type=submit] {
	background-color:#fed085;
	color:black;
  margin-top:5px;
}

.newsletter input[type=email] {
	max-width:300px;
	margin-top:5px;
}
#wpcf7-f1120-o2 .wpcf7-response-output {
	color:white !important;
}

.wp-block-columns.gallery-two-column-mobile,
.gallery-two-column-mobile.wp-block-columns,
.uagb-container .gallery-two-column-mobile {        /* cover Spectra wrapper too */
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;  /* desktop: 4 across */
  grid-auto-rows: auto;
  gap: 20px !important;
  width: 100% !important;
  max-width: none !important;
}


.wp-block-columns.gallery-two-column-mobile > .wp-block-column,
.gallery-two-column-mobile.wp-block-columns > .wp-block-column,
.uagb-container .gallery-two-column-mobile > .wp-block-column {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  display: block !important;
}

@media (max-width: 921px) {
  .wp-block-columns.gallery-two-column-mobile,
  .gallery-two-column-mobile.wp-block-columns,
  .uagb-container .gallery-two-column-mobile {
    grid-template-columns: repeat(2, 1fr) !important; /* 2 across on small screens */
  }


	  .gallery-two-column-mobile .uagb-column__hide-mobile,
  .gallery-two-column-mobile .uagb-column__hide-tablet,
  .gallery-two-column-mobile .uagb-column__hide-desktop {
    display: block !important;
  }
}

.gallery-two-column-mobile img,
.gallery-two-column-mobile .wp-block-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover; /* optional */
}
.equal-height.wp-block-columns {
  display: flex;
  align-items: stretch;
}

.equal-height.wp-block-columns > .wp-block-column > *{
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
.equal-height .wp-block-column {
  display: flex;
  flex-direction: column;
}

.image-right-responsive {
  float: right;
  margin: 0 0 1rem 1rem; 
  width: auto;

}

@media (max-width: 768px) {
  .image-right-responsive {
    float: none;
    display: block;
    margin: 1rem auto;
    width: 100%;
    max-width: 100%;
  }
}

