.elementor-1252 .elementor-element.elementor-element-2b51ffaa{--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:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:30px;--padding-bottom:120px;--padding-left:20px;--padding-right:20px;}.elementor-1252 .elementor-element.elementor-element-233ee497{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1252 .elementor-element.elementor-element-5c6b014c{--display:flex;}.elementor-1252 .elementor-element.elementor-element-72404717 .elementor-heading-title{font-family:"Teko", Sans-serif;font-size:clamp(1.5rem, 1rem + 2vw, 2.5rem);font-weight:500;line-height:1.2em;}.elementor-1252 .elementor-element.elementor-element-2fc6e53d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1252 .elementor-element.elementor-element-2fc6e53d .fluentform-widget-wrapper{margin:0px 0px 0px 0px;}.elementor-1252 .elementor-element.elementor-element-2fc6e53d .fluentform-widget-wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-1252 .elementor-element.elementor-element-2fc6e53d .fluentform-widget-wrapper .ff-el-group textarea, .elementor-1252 .elementor-element.elementor-element-2fc6e53d .fluentform-widget-wrapper .ff-el-group select,  .elementor-1252 .elementor-element.elementor-element-2fc6e53d .fluentform-widget-wrapper .ff-el-group .select2-container--default .select2-selection--multiple{border-radius:0px 0px 0px 0px;}.elementor-1252 .elementor-element.elementor-element-2fc6e53d .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:var( --e-global-color-primary );color:#ffffff !important;border-radius:0px 0px 0px 0px;margin-top:20px;}.elementor-1252 .elementor-element.elementor-element-79ee8f4b{--display:flex;}.elementor-1252 .elementor-element.elementor-element-79ee8f4b:not(.elementor-motion-effects-element-type-background), .elementor-1252 .elementor-element.elementor-element-79ee8f4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://jfgeneralconstruction.com/wp-content/uploads/contact-general-contractor-jffuentes.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}@media(min-width:768px){.elementor-1252 .elementor-element.elementor-element-2b51ffaa{--content-width:1340px;}}@media(max-width:1024px){.elementor-1252 .elementor-element.elementor-element-2b51ffaa{--padding-top:20px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-1252 .elementor-element.elementor-element-2b51ffaa{--padding-top:20px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-1252 .elementor-element.elementor-element-233ee497{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1252 .elementor-element.elementor-element-72404717{padding:0px 0px 20px 0px;}.elementor-1252 .elementor-element.elementor-element-72404717 .elementor-heading-title{font-size:1.8em;}.elementor-1252 .elementor-element.elementor-element-79ee8f4b{--min-height:300px;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for container, class: .elementor-element-2b51ffaa *//* Container setup */
.kc-project-cont {
  position: relative; /* create positioning context for the launch arrow */
  overflow: hidden;   /* prevent scaled image from overflowing */
  -webkit-backface-visibility: hidden; /* visual smoothing */
  backface-visibility: hidden;
}

/* Background / image element: smooth scale on hover */
.kc-project-cont .kc-project-image {
  transition: transform 350ms cubic-bezier(.2,.8,.2,1);
  transform-origin: center center;
  /* ensure rendering is smooth */
  -webkit-transform-origin: center center;
  will-change: transform;
}

/* Launch arrow initial state: bottom-left, scaled down & hidden */
.kc-project-cont .kc-project-launch-arrow {
  transform-origin: bottom left;
  -webkit-transform-origin: bottom left;

  transform: scale(0.4);
  -webkit-transform: scale(0.4);

  opacity: 0;
  transition:
    transform 300ms cubic-bezier(.2,.8,.2,1),
    opacity 220ms ease;
  pointer-events: none; /* prevents the arrow itself from blocking hover */
  z-index: 5; /* ensure it's on top of the image */
}

/* Hover/focus state: scale image and show arrow */
.kc-project-cont:hover .kc-project-image,
.kc-project-cont:focus-within .kc-project-image {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
}

.kc-project-cont:hover .kc-project-launch-arrow,
.kc-project-cont:focus-within .kc-project-launch-arrow {
  transform: scale(1);
  -webkit-transform: scale(1);
  opacity: 1;
}/* End custom CSS */