.elementor-6486 .elementor-element.elementor-element-8602649{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-6486 .elementor-element.elementor-element-36a0148.elementor-element{--align-self:center;}.elementor-6486 .elementor-element.elementor-element-36a0148 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:22px;font-weight:400;color:var( --e-global-color-daaee26 );}.elementor-6486 .elementor-element.elementor-element-7a16691{--display:flex;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-6486 .elementor-element.elementor-element-29e458e{text-align:center;}.elementor-6486 .elementor-element.elementor-element-29e458e .elementor-heading-title{font-family:"Poppins", Sans-serif;font-weight:600;color:#224E8A;}.elementor-6486 .elementor-element.elementor-element-49477fa{--display:flex;}.elementor-6486 .elementor-element.elementor-element-ab2d45a.elementor-element{--align-self:center;}.elementor-6486 .elementor-element.elementor-element-10ca0f9.elementor-element{--align-self:center;}.elementor-6486 .elementor-element.elementor-element-12fd3bd{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-6486 .elementor-element.elementor-element-12fd3bd.elementor-element{--align-self:center;}/* Start custom CSS for shortcode, class: .elementor-element-2356a60 *//* =========================================
   KEYLINE — SINGLE PROPERTY GALLERY
   ========================================= */

.elementor-6486 .elementor-element.elementor-element-2356a60 {
  width: 100%;
  padding: 0 24px 70px;
  box-sizing: border-box;
}

/* Centre the complete gallery */
.elementor-6486 .elementor-element.elementor-element-2356a60 .epl-gallery,
.elementor-6486 .elementor-element.elementor-element-2356a60 .epl-gallery-entry {
  width: 100% !important;
  max-width: 1280px;
  margin: 0 auto !important;
}

/* Turn WordPress gallery into a modern image grid */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 270px;
  gap: 12px;
  width: 100% !important;
  margin: 0 !important;
}

/* Remove WordPress's old gallery widths and floats */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-item {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 2px;
}

/* Make the first image the large hero */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-item:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

/* Image links fill each tile */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-icon,
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-icon a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

/* Crop images consistently */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  border: 0 !important;
  border-radius: 0;
  transition: transform 0.35s ease;
}

/* Subtle hover effect */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-item:hover img {
  transform: scale(1.025);
}

/* Hide captions if WordPress creates any */
.elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-caption {
  display: none !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-6486 .elementor-element.elementor-element-2356a60 {
    padding-right: 20px;
    padding-left: 20px;
  }

  .elementor-6486 .elementor-element.elementor-element-2356a60 .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 230px;
  }

  .elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-item:first-child {
    grid-column: span 2;
    grid-row: span 2;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-6486 .elementor-element.elementor-element-2356a60 {
    padding: 0 16px 50px;
  }

  .elementor-6486 .elementor-element.elementor-element-2356a60 .gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
    gap: 8px;
  }

  .elementor-6486 .elementor-element.elementor-element-2356a60 .gallery-item:first-child {
    grid-column: auto;
    grid-row: auto;
    height: 310px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ab2d45a *//* =========================================
   KEYLINE SINGLE PROPERTY PRICE
   ========================================= */

.elementor-6486 .elementor-element.elementor-element-ab2d45a {
  width: 100%;
  margin-top: 8px;
  color: #224e8a;
  font-family: "Poppins", "Archivo", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.elementor-6486 .elementor-element.elementor-element-ab2d45a .page-price,
.elementor-6486 .elementor-element.elementor-element-ab2d45a .property-price,
.elementor-6486 .elementor-element.elementor-element-ab2d45a .price,
.elementor-6486 .elementor-element.elementor-element-ab2d45a span,
.elementor-6486 .elementor-element.elementor-element-ab2d45a div {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

/* Sold listing: body class will be added separately */
body.keyline-sold-listing .elementor-6486 .elementor-element.elementor-element-ab2d45a,
body.keyline-sold-listing .elementor-6486 .elementor-element.elementor-element-ab2d45a .page-price,
body.keyline-sold-listing .elementor-6486 .elementor-element.elementor-element-ab2d45a .property-price,
body.keyline-sold-listing .elementor-6486 .elementor-element.elementor-element-ab2d45a .price,
body.keyline-sold-listing .elementor-6486 .elementor-element.elementor-element-ab2d45a span,
body.keyline-sold-listing .elementor-6486 .elementor-element.elementor-element-ab2d45a div {
  color: #bc4167 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-6486 .elementor-element.elementor-element-ab2d45a {
    font-size: 26px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-6486 .elementor-element.elementor-element-ab2d45a {
    margin-top: 6px;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 23px;
    line-height: 1.25;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ee72970 *//* =========================================
   KEYLINE SINGLE PROPERTY CONTENT
   ========================================= */

.elementor-6486 .elementor-element.elementor-element-ee72970 {
  width: 100%;
  color: #224e8a;
  font-family: "Poppins", "Archivo", sans-serif;
}

/* Keep the property content typography consistent */
.elementor-6486 .elementor-element.elementor-element-ee72970 p,
.elementor-6486 .elementor-element.elementor-element-ee72970 li,
.elementor-6486 .elementor-element.elementor-element-ee72970 div,
.elementor-6486 .elementor-element.elementor-element-ee72970 span {
  font-family: inherit;
}

/* Change EPL's bright-red SOLD text to Keyline Red */
.elementor-6486 .elementor-element.elementor-element-ee72970 .sold,
.elementor-6486 .elementor-element.elementor-element-ee72970 .status-sold,
.elementor-6486 .elementor-element.elementor-element-ee72970 .epl-sold,
.elementor-6486 .elementor-element.elementor-element-ee72970 [class*="sold"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="color: red"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="color:red"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="#ff0000"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="#FF0000"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="#f00"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="#F00"],
.elementor-6486 .elementor-element.elementor-element-ee72970 span[style*="rgb(255, 0, 0)"],
.elementor-6486 .elementor-element.elementor-element-ee72970 font[color="red"],
.elementor-6486 .elementor-element.elementor-element-ee72970 font[color="#ff0000"],
.elementor-6486 .elementor-element.elementor-element-ee72970 font[color="#FF0000"] {
  color: #bc4167 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-6486 .elementor-element.elementor-element-ee72970 {
    width: 100%;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-6486 .elementor-element.elementor-element-ee72970 {
    width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-12fd3bd */.elementor-6486 .elementor-element.elementor-element-12fd3bd li,
.elementor-6486 .elementor-element.elementor-element-12fd3bd li a,
.elementor-6486 .elementor-element.elementor-element-12fd3bd a,
.elementor-6486 .elementor-element.elementor-element-12fd3bd a:hover,
.elementor-6486 .elementor-element.elementor-element-12fd3bd a:focus {
  color: #224E8A !important;
  text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-f793410 */.elementor-6486 .elementor-element.elementor-element-f793410 {
  width: 100%;
  max-width: 1000px;
  margin: 40px auto;
  font-family: "Poppins", "Archivo", sans-serif;
}

/* Main contact card */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-box-container {
  width: 100%;
  margin: 0 auto !important;
  padding: 32px;
  background: #ffffff;
  border: 1px solid #e1e8f0;
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(34, 78, 138, 0.10);
  box-sizing: border-box;
}

/* Hide the old About tab */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-tabs {
  display: none !important;
}

/* Image, details and contact-button layout */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-box-outer-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 32px;
  width: 100%;
}

/* Agent image */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-image {
  float: none !important;
  flex: 0 0 140px !important;
  width: 140px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-image img {
  display: block;
  width: 140px !important;
  height: 140px !important;
  max-width: none !important;
  object-fit: cover;
  border-radius: 50%;
}

/* Agent information */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-tab-content,
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact-details {
  float: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 340px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}

/* Team name */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-title {
  display: block !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 0 10px !important;
  color: #224E8A !important;
  font-size: 24px !important;
  line-height: 1.3;
  white-space: nowrap !important;
}

.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-title a {
  display: block !important;
  width: max-content !important;
  max-width: none !important;
  color: #224E8A !important;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Contact details */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact,
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-position,
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-slogan {
  margin: 5px 0;
  color: #224E8A !important;
  font-size: 16px;
}

/* General links */
.elementor-6486 .elementor-element.elementor-element-f793410 a {
  color: #224E8A !important;
  text-decoration: none !important;
}

/* Clickable phone number */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact a[href^="tel:"] {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: #224E8A !important;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none !important;
}

/* Phone icon */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact a[href^="tel:"]::before {
  content: "☎";
  display: inline-block;
  color: #224E8A;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

/* Phone hover */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact a[href^="tel:"]:hover,
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact a[href^="tel:"]:focus {
  color: #173b70 !important;
  text-decoration: underline !important;
}

/* Email contact area */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons {
  margin-top: 14px !important;
}

/* Email button */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto !important;
  min-width: 42px;
  height: 44px !important;
  padding: 0 18px !important;
  background: #224E8A !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-sizing: border-box;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}

/* Email-button hover */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a:hover,
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a:focus {
  background: #173b70 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

/* Hide EPL's original unclear email icon */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a i,
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a svg {
  display: none !important;
}

/* Clear envelope icon */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a::before {
  content: "✉";
  display: inline-block;
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

/* Main email address */
.elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a::after {
  content: "keylinerealty@keylinerealty.com";
  display: inline-block;
  color: #ffffff;
  font-family: "Poppins", "Archivo", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

/* Tablet and mobile */
@media (max-width: 767px) {
  .elementor-6486 .elementor-element.elementor-element-f793410 {
    margin: 25px auto;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-box-container {
    padding: 25px 20px;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-box-outer-wrapper {
    flex-direction: column !important;
    gap: 18px;
    text-align: center;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-tab-content,
  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact-details {
    min-width: 0 !important;
    width: 100% !important;
    text-align: center;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-title,
  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-title a {
    width: auto !important;
    white-space: normal !important;
    text-align: center;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-contact a[href^="tel:"] {
    justify-content: center;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a {
    max-width: 100%;
    padding: 0 14px !important;
  }

  .elementor-6486 .elementor-element.elementor-element-f793410 .epl-author-social-buttons a::after {
    font-size: 13px;
  }
}/* End custom CSS */