@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: "Barlow", sans-serif; color: #444444; font-size: 18px; -webkit-text-size-adjust:none;}
a:link {color: #01356E; text-decoration: none;}
a:visited {text-decoration: none; color: #01356E;}
a:hover {text-decoration: none; color: #1A8CCB;}
a:active {text-decoration: none; color: #01356E;}
h1 {font-size: 54px; font-weight:200;}
h2 {font-size: 40px; font-weight:300;}
h3 {font-size: 32px; font-weight:800;}
h4 {font-size: 26px; font-weight:300;}
.backgroundwhite {background-color:#FFFFFF;}
.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: #444444; text-decoration: none;}
a.blacklink:visited {text-decoration: none; color: #444444;}
a.blacklink:hover {text-decoration: none; color: #000000;}
a.blacklink:active {text-decoration: none; color: #444444;}
a.bluelink:link {color: #1A8CCB; text-decoration: none;}
a.bluelink:visited {text-decoration: none; color: #1A8CCB;}
a.bluelink:hover {text-decoration: none; color: #01356E;}
a.bluelink:active {text-decoration: none; color: #1A8CCB;}
a.whitelink:link {color: #FFFFFF; text-decoration: none;}
a.whitelink:visited {text-decoration: none; color: #FFFFFF;}
a.whitelink:hover {text-decoration: none; color: #1A8CCB;}
a.whitelink:active {text-decoration: none; color: #FFFFFF;}
a.whitelink2:link {color: #FFFFFF; text-decoration: none;}
a.whitelink2:visited {text-decoration: none; color: #FFFFFF;}
a.whitelink2:hover {text-decoration: none; color: #01356E;}
a.whitelink2:active {text-decoration: none; color: #FFFFFF;}
a.copyrightlink:link {color: #777777; text-decoration: none;}
a.copyrightlink:visited {text-decoration: none; color: #777777;}
a.copyrightlink:hover {text-decoration: none; color: #444444;}
a.copyrightlink:active {text-decoration: none; color: #777777;}
.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;}
.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;}
.pink {color: #E933D7;}
.yellow {color: #F2C433;}
.white {color: #FFFFFF;}
.white2 {color: #D1D1D1;}
.fadedwhite {color: #D9E6F2;}
.maroon {color: #772825;}
.maroonwhite {color: #841A2E;}
.black {color: #333333;}
.red {color: #BF0A30;}
.green {color: #3C9042;}
.blue {color: #0D83C5;}
.grayblue {color: #727B96;}
.gold {color: #C08C52;}
.gray {color: #444444;}
.gray3 {color: #333333;}
.gray6 {color: #666666;}
.gray9 {color: #999999;}
.brown {color: #B07D44;}
.copyright {color: #777777;}
.spacing {line-height: 46px;}
.medspacing {line-height: 40px;}
.lrgspacing {line-height: 52px;}
.xtralrgspacing {line-height: 64px;}
.smallspacing {line-height: 34px;}
.tinyspacing {line-height: 18px;}
.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;}

.barlow-thin {
  font-family: "Barlow", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.barlow-extralight {
  font-family: "Barlow", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.barlow-light {
  font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.barlow-regular {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.barlow-medium {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.barlow-semibold {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.barlow-bold {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.barlow-extrabold {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.barlow-black {
  font-family: "Barlow", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.barlow-thin-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.barlow-extralight-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.barlow-light-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.barlow-regular-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.barlow-medium-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.barlow-semibold-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.barlow-bold-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.barlow-extrabold-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.barlow-black-italic {
  font-family: "Barlow", sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* Homepage hero slider — images managed via the CP's "Home Page Slide
   Show" module (cp/homeslider, tbl_slider). Height matches the original
   static hero's own height="689" spacer image, so the layout is
   identical whether 0 slides (static fallback), 1 slide, or many. */
.home-hero-slider {
  position: relative;
  height: 689px;
  overflow: hidden;
}
.home-hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
.home-hero-slide.is-active {
  opacity: 1;
}
.home-hero-link {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
}
/* responsive.css's blanket `img { height: auto }` (needed so real content
   photos scale down on narrow screens) fights this spacer image's
   height="689" attribute: it's a 1x1 transparent gif, so width:100% +
   height:auto makes it perfectly square instead of 689px tall, which then
   inflates .home-hero-slider's own height to match. Pin it back. */
.home-hero-link img {
  height: 689px;
  width: 100%;
}

/* Picture Gallery (/gallery) — grid + lightbox. Content itself (the
   .gallery-item links) is managed via the CP's Manage Pages module
   (cp/pages > GALLERY > Modify, pages.page_information); this is just
   the layout/interaction styling, same split as the header/footer. */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  padding: 20px 0 10px;
}
.gallery-item {
  display: block;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease;
}
.gallery-item:hover,
.gallery-item:focus {
  box-shadow: 0 0 16px rgba(26, 140, 203, 0.7), 0 1px 4px rgba(0, 0, 0, 0.15);
}
.gallery-item img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.lightbox-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.9);
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.lightbox-overlay.is-open {
  display: flex;
}
.lightbox-image {
  max-width: 88vw;
  max-height: 80vh;
  object-fit: contain;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}
.lightbox-caption {
  color: #fff;
  margin-top: 16px;
  font-size: 18px;
  text-align: center;
  max-width: 88vw;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  background: none;
  border: 0;
  color: #fff;
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
  padding: 10px;
}
.lightbox-close {
  top: 16px;
  right: 24px;
  font-size: 32px;
}
.lightbox-prev {
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-next {
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.Star-empty {
  opacity: 0.3;
}

.home-review-text-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-review-readmore {
  display: none;
  margin-top: 6px;
  font-size: 14px;
  font-weight: bold;
  color: #164686;
  cursor: pointer;
  text-decoration: underline;
}

.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;
}
