/* Additions on top of the vendored legacy stylesheet */
.hp-field { position: absolute !important; left: -10000px; width: 0; height: 0; opacity: 0; }
[id] { scroll-margin-top: 70px; }

.fixed-flash { position: fixed; top: 70px; right: 16px; z-index: 1060; max-width: 360px; }

.growing-text { max-height: none !important; overflow: visible; }
/* The legacy site nested <p> inside p.growing-text, so browsers rendered descriptions with the body
   typography instead of the .growing-text one. Reproduce that rendering. */
#offices_show .content-container .content-text .below-floating-line-content .description .growing-text,
#office_spaces_show .content-container .content-text .below-floating-line-content .description .growing-text {
  font-size: 14px; font-weight: 400; color: #333; line-height: 20px;
}

@media (min-width: 768px) {
  #offices_show .content-container > .container1200, #office_spaces_show .content-container > .container1200 { display: flow-root; }
  #offices_show #stickyContactBox, #office_spaces_show #stickyContactBox { position: sticky; top: 80px; }
}

.leaflet-container { z-index: 0; font: inherit; }
#home_index #home_map { position: relative; z-index: 0; }
.leaflet-popup-content { margin: 0; }
.leaflet-popup-content .infowindow-space { position: relative; overflow: hidden; }
.leaflet-popup-content .infowindow-space img { width: 100%; height: 100%; object-fit: cover; display: block; }
.leaflet-popup-content .infowindow-space h4,
.leaflet-popup-content .infowindow-space .about { position: absolute; left: 16px; right: 16px; color: #fff; z-index: 2; margin: 0; }
.leaflet-popup-content .infowindow-space h4 { bottom: 36px; font-weight: 700; }
.leaflet-popup-content .infowindow-space .about { bottom: 14px; font-size: 13px; }
.leaflet-popup-content .infowindow-space .shadow { position: absolute; inset: 0; background: linear-gradient(transparent 40%, rgba(0,0,0,.7)); z-index: 1; }


/* On the legacy site the offers page hero starts under the fixed nav (fullPage layout), 50px higher than elsewhere. */
#static_offers_index header.sectionfullpage { margin-top: -50px; }

/* Native selects replace the legacy bootstrap-select widget: same look as the text inputs, grey placeholder. */
select.form-control {
  -webkit-appearance: none; appearance: none; box-shadow: none; padding-right: 28px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
/* Same grey as the inputs' placeholders (#999 at the legacy 0.54 opacity). */
select.form-control:has(option[value=""]:checked) { color: rgba(153, 153, 153, 0.54); }
#navContactForm select.form-control { background-color: #f1f1f1; border: 0; }
select.form-control option { color: #555; }
/* The inputs of these forms drop the Bootstrap focus glow; the selects follow. */
select.form-control:focus { box-shadow: none; }

/* Contact page (/contact-message/new): two cards (form + details) on top of the legacy hero, then the offices map. */
#internal_messages_new #intro h3 { margin: 40px auto 30px; max-width: 760px; line-height: 1.5; }
#internal_messages_new #contactus .container1200 { padding: 0 15px 50px; }
#internal_messages_new #contactus .row { display: flex; flex-wrap: wrap; }
#internal_messages_new form { max-width: none; margin: 0; }
#internal_messages_new .contact-form-card .row { margin-left: -15px; margin-right: -15px; }
#internal_messages_new .contact-card { background: #fff; box-shadow: 0 1px 40px 1px rgba(0, 0, 0, 0.15); margin-bottom: 30px; height: calc(100% - 30px); }
#internal_messages_new .contact-form-card { padding: 30px; display: flex; flex-direction: column; }
#internal_messages_new .contact-form-card form { display: flex; flex-direction: column; flex: 1; }
#internal_messages_new .contact-form-card .form-group:has(textarea) { flex: 1; display: flex; flex-direction: column; min-height: 150px; }
#internal_messages_new .contact-form-card textarea.form-control { flex: 1; height: auto; resize: vertical; }
#internal_messages_new .contact-form-card h2,
#internal_messages_new .contact-details-card .post { font-family: "bebasneueregular", sans-serif; letter-spacing: 3px; color: #202329; }
#internal_messages_new .contact-form-card h2 { font-size: 2em; margin: 0 0 20px; }
#internal_messages_new .contact-form-card .form-control { height: 42px; background-color: #f1f1f1; border: none; box-shadow: none; }
#internal_messages_new .contact-form-card .blue-submit { height: 44px; margin-top: 6px; font-weight: 600; letter-spacing: 2px; }
#internal_messages_new .mandatory-helper { margin: 12px 0 0; font-size: 0.8em; color: #b9b9b9; }
#internal_messages_new .contact-details-card { overflow: hidden; }
#internal_messages_new .phone-number-container { display: flex; align-items: center; background: #ca9d5d; color: #fff; padding: 12px 24px; }
#internal_messages_new .phone-number-icon { font-size: 1.5em; margin-right: 18px; }
#internal_messages_new .phone-number-infos h3,
#internal_messages_new .phone-number-infos a { font-family: "Source Sans Pro", sans-serif; color: #fff; font-weight: 600; text-transform: uppercase; margin: 0; }
#internal_messages_new .phone-number-infos h3 { font-size: 11px; letter-spacing: 1px; text-align: left; }
#internal_messages_new .phone-number-infos a { font-size: 18px; letter-spacing: 2px; text-decoration: none; display: block; }
#internal_messages_new .phone-number-infos a:hover { color: rgba(255, 255, 255, 0.6); }
#internal_messages_new .contact-details-body { padding: 24px 30px 30px; }
#internal_messages_new .owner-container { padding-bottom: 20px; border-bottom: 1px solid #d6d6d6; margin-bottom: 20px; }
#internal_messages_new .owner-container .img-circle { width: 90px; height: 90px; object-fit: cover; }
#internal_messages_new .owner-container .name { margin: 12px 0 0; color: #777; }
#internal_messages_new .owner-container .post { font-size: 1.4em; margin: 0; }
#internal_messages_new .contact-details-list { display: grid; grid-template-columns: 28px 1fr; row-gap: 16px; margin: 0; font-size: 14px; line-height: 1.5; color: #333; }
#internal_messages_new .contact-details-list dt { color: #ca9d5d; font-size: 1.2em; font-weight: normal; }
#internal_messages_new .contact-details-list dd { margin: 0; }
#internal_messages_new .contact-details-list a { color: #333; }
#internal_messages_new .contact-details-list a:hover { color: #ca9d5d; text-decoration: none; }
#internal_messages_new .contact-offices { list-style: none; padding: 0; margin: 6px 0 0; }
#internal_messages_new .contact-offices li { padding: 2px 0; }
#internal_messages_new .contact-offices a::before { content: "› "; color: #ca9d5d; }
#internal_messages_new #home_map { height: 420px; }
@media (max-width: 767px) {
  #internal_messages_new header { height: 240px; }
  #internal_messages_new h1 { font-size: 2.6em; margin-top: 0; }
  #internal_messages_new #intro h3 { padding: 0 15px; }
  #internal_messages_new #intro h3 br { display: none; }
  #internal_messages_new .contact-form-card { padding: 20px; }
  #internal_messages_new .contact-details-body { padding: 20px; }
  #internal_messages_new #home_map { height: 300px; }
}

/* Contact hero: same photo as the home landing screen (already darkened), so the title turns white. */
#internal_messages_new header { background: url("/assets/home_image-64ac1c0a.jpg") 47% 45% no-repeat; background-size: cover; }
#internal_messages_new h1 { color: #fff; }
