@charset "utf-8";
/* CSS Document */
body {margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #FFFFFF;}
body,td,th {font-family: "Montserrat", sans-serif; color: #333333; font-size: 17px; -webkit-text-size-adjust:none;}
a:link {color: #2E6DA4; text-decoration: none;}
a:visited {text-decoration: none; color: #2E6DA4;}
a:hover {text-decoration: none; color: #0A1932;}
a:active {text-decoration: none; color: #2E6DA4;}
h1 {font-size: 42px; font-weight:100;}
h2 {font-size: 32px; font-weight:300;}
h3 {font-size: 24px; font-weight:600;}
h4 {font-size: 24px; font-weight:300;}
.backgroundwhite {background-color:#FFFFFF;}
.backgroundsand {background-image:url(images/propertybackgroundsand.jpg);}
.textshadowblack1 {text-shadow: 1px 1px #000000;}
.textshadowblack2 {text-shadow: 2px 2px #000000;}
.textshadowblack3 {text-shadow: 3px 3px #000000;}
.textshadowwhite1 {text-shadow: 1px 1px #FFFFFF;}
.textshadowwhite2 {text-shadow: 2px 2px #FFFFFF;}
.textshadowwhite15 {text-shadow: 15px 15px #FFFFFF;}
a.blacklink:link {color: #333333; text-decoration: none;}
a.blacklink:visited {text-decoration: none; color: #333333;}
a.blacklink:hover {text-decoration: none; color: #2E6DA4;}
a.blacklink:active {text-decoration: none; color: #333333;}
a.darkblue:link {color: #0A1932; text-decoration: none;}
a.darkblue:visited {text-decoration: none; color: #0A1932;}
a.darkblue:hover {text-decoration: none; color: #2E6DA4;}
a.darkblue:active {text-decoration: none; color: #0A1932;}
a.whitelink:link {color: #E6EBF2; text-decoration: none;}
a.whitelink:visited {text-decoration: none; color: #E6EBF2;}
a.whitelink:hover {text-decoration: none; color: #FFFFFF;}
a.whitelink:active {text-decoration: none; color: #E6EBF2;}
a.copyrightlink:link {color: #666666; text-decoration: none;}
a.copyrightlink:visited {text-decoration: none; color: #666666;}
a.copyrightlink:hover {text-decoration: none; color: #333333;}
a.copyrightlink:active {text-decoration: none; color: #666666;}
.fontsmall {font-size: 16px;}
.fontmedium {font-size: 20px;}
.fontlarge {font-size: 28px;}
.fontxtralarge {font-size: 36px;}
.fontxtralarge2 {font-size: 42px;}
.size10 {font-size: 10px;}
.size11 {font-size: 11px;}
.size12 {font-size: 12px;}
.size13 {font-size: 13px;}
.size14 {font-size: 14px;}
.size15 {font-size: 15px;}
.size16 {font-size: 16px;}
.size17 {font-size: 17px;}
.size18 {font-size: 18px;}
.size19 {font-size: 19px;}
.size20 {font-size: 20px;}
.size21 {font-size: 21px;}
.size22 {font-size: 22px;}
.size24 {font-size: 24px;}
.size26 {font-size: 26px;}
.size28 {font-size: 28px;}
.size28 {font-size: 32px;}
.size34 {font-size: 34px;}
.size36 {font-size: 36px;}
.size40 {font-size: 40px;}
.size46 {font-size: 46px;}
.size52 {font-size: 50px;}
.size52 {font-size: 52px;}
.size60 {font-size: 60px;}
.size70 {font-size: 70px;}
.size90 {font-size: 90px;}
.superbold {font-weight:700;}
.pink {color: #E933D7;}
.yellow {color: #FDEB02;}
.white {color: #FFFFFF;}
.white2 {color: #DEE2E4;}
.fadedwhite {color: #D9E6F2;}
.maroon {color: #772825;}
.maroonwhite {color: #841A2E;}
.black {color: #333333;}
.red {color: #EC2228;}
.green {color: #3C9042;}
.blue {color: #004B96;}
.grayblue {color: #727B96;}
.gold {color: #C08C52;}
.gray {color: #444444;}
.gray3 {color: #333333;}
.gray6 {color: #666666;}
.gray9 {color: #999999;}
.brown {color: #B07D44;}
.copyright {color: #666666;}
.spacing {line-height: 46px;}
.medspacing {line-height: 40px;}
.lrgspacing {line-height: 52px;}
.xtralrgspacing {line-height: 68px;}
.smallspacing {line-height: 28px;}
.tinyspacing {line-height: 24px;}
.customspacing {line-height: 70px;}
.repeatx {background-repeat: repeat-x;}
.repeatxcenter {background-position: center top; background-repeat: repeat-x;}
.repeaty {background-repeat: repeat-y;}
.norepeat {background-repeat: no-repeat;}
.bgcenter {background-position: center top; background-repeat:no-repeat;}
.bgcentermiddle {background-position: center middle; background-repeat:no-repeat;}
.bgleftnorepeat {background-position: left middle; background-repeat:no-repeat;}
.bgcenterrepeat {background-position: center top; background-repeat:repeat;}
.bgtopright {background-position: right top; background-repeat:no-repeat;}
.bgbottom {background-position: center bottom; background-repeat:repeat-x;}
.bgbottomno {background-position: center bottom; background-repeat:no-repeat;}
.bgbottomnoleft {background-position: left bottom; background-repeat:no-repeat;}
.bgcentermiddle {background-position: center middle; background-repeat:no-repeat;}
.bgproperty {background-position: center; background-repeat:no-repeat;}
.bgleftmiddle {background-position: left; background-repeat:no-repeat;}
.bglefttop {background-position: left top; background-repeat:no-repeat;}
.bgrightmiddle {background-position: right; background-repeat:no-repeat;}
.padding {padding: 10px;}
.responsiveimage {width: 100%;, height: auto;}
.imagepadding {padding-right: 25px; padding-bottom: 5px;}
.textstroke {-webkit-text-stroke-width: 1px; -webkit-text-stroke-color: white;}
.bgimagebg {background-image:url(images/propertybg.jpg);}

// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/* ---- Shared modal popup --------------------------------------------------
   Used by the agents bio popup (#agentBioOverlay in agents.blade.php) and the
   homepage reviews popup (#reviewModalOverlay in home.blade.php). Both views
   only toggle .is-open and rely on these rules for the fixed overlay; without
   them the markup stays in normal flow and the popup renders as plain text
   inside the page table instead of opening over it. */
.review-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.7);
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.review-modal-overlay.is-open {
  display: flex;
}
.review-modal {
  position: relative;
  background: #fff;
  border-radius: 8px;
  max-width: 480px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 32px 28px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}
.review-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: 0;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: #333;
}
.review-modal-name {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 4px;
}
.review-modal-date {
  color: #666;
  font-size: 14px;
  margin-bottom: 12px;
}
.review-modal-stars {
  margin-bottom: 16px;
}
.review-modal-text {
  font-size: 16px;
  line-height: 1.5;
}

/* ---- Review star rating --------------------------------------------------
   starsHtml() in home.blade.php always emits five star images and marks the
   ones past the review's rating with .Star-empty (it reuses the same star
   image for both states). This rule is the only thing that distinguishes an
   unearned star from an earned one; without it every rating rendered as a
   full five stars. Applies to both the review cards and the review popup. */
.Star-empty {
  opacity: 0.3;
}
