/* Bricks sets the root to 62.5% (1rem = 10px), which shrinks the whole page.
   The demo uses a normal 16px root and one 1152px column from header to footer. */
html {
  font-size: 100% !important;
}

body.brx-body {
  background: #faf8f1 !important;
  color: #10241a !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 20px !important;
  line-height: 1.7 !important;
}

body.brx-body h1,
body.brx-body h2,
body.brx-body h3,
body.brx-body .brxe-heading {
  font-family: "Domine", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.05 !important;
  text-wrap: balance;
}

#brx-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

#brx-header > .brxe-section,
#brx-content > .brxe-section,
#brx-footer > .brxe-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Same content column on every band. Backgrounds stay full bleed. */
#brx-header > .brxe-section > .brxe-block,
#brx-content > .brxe-section > .brxe-container,
#brx-footer > .brxe-section > .brxe-container {
  width: 100% !important;
  max-width: 1152px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box !important;
}

#brx-content > .brxe-section:has(> .brxe-container > img) > .brxe-container,
#brx-content > .brxe-section:has(> .brxe-container > .brxe-image) > .brxe-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (min-width: 640px) {
  #brx-header > .brxe-section > .brxe-block,
  #brx-content > .brxe-section > .brxe-container,
  #brx-footer > .brxe-section > .brxe-container {
    padding-left: 44px !important;
    padding-right: 44px !important;
  }

  #brx-content > .brxe-section:has(> .brxe-container > img) > .brxe-container,
  #brx-content > .brxe-section:has(> .brxe-container > .brxe-image) > .brxe-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (min-width: 1024px) {
  #brx-header > .brxe-section > .brxe-block,
  #brx-content > .brxe-section > .brxe-container,
  #brx-footer > .brxe-section > .brxe-container {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }

  #brx-content > .brxe-section:has(> .brxe-container > img) > .brxe-container,
  #brx-content > .brxe-section:has(> .brxe-container > .brxe-image) > .brxe-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #brx-header > .brxe-section:nth-child(2) > .brxe-block {
    min-height: 104px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

#brx-header > .brxe-section > .brxe-block {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  column-gap: 16px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

#brx-header > .brxe-section:first-child {
  background: #00462e !important;
}

#brx-header > .brxe-section:first-child .brxe-text-basic {
  margin: 0 !important;
  width: auto !important;
  color: #f4f1e4 !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

#brx-header > .brxe-section:first-child .brxe-text-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  color: #e5d64a !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

#brx-header > .brxe-section:first-child .brxe-text-link:not(:has(i))::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#brx-header > .brxe-section:first-child .brxe-text-link:hover {
  color: #f5ec58 !important;
}

#brx-header > .brxe-section:nth-child(2) {
  background: white !important;
  border-bottom: 1px solid rgba(216, 209, 192, 0.8) !important;
}

#brx-header .bricks-site-logo {
  height: 64px !important;
  width: auto !important;
  outline: none !important;
}

@media (min-width: 640px) {
  #brx-header .bricks-site-logo {
    height: 80px !important;
  }
}

#brx-header .brxe-nav-nested {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  width: auto !important;
}

#brx-header .brxe-nav-nested > a {
  position: relative;
  color: #5b675e !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
}

#brx-header .brxe-nav-nested > a:hover {
  color: #00462e !important;
}

#brx-header .brxe-nav-nested > a[aria-current="page"] {
  color: #00462e !important;
}

#brx-header .brxe-nav-nested > a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 2px;
  background: #e5d64a;
}

#brx-header .cc-nav-home,
#brx-header .brxe-toggle {
  display: none !important;
}

@media (max-width: 1023px) {
  #brx-header,
  #brx-header .brxe-section,
  #brx-header .brxe-block {
    overflow: visible !important;
  }

  #brx-header .brxe-toggle {
    display: inline-flex !important;
    position: relative !important;
    margin-left: auto !important;
    background: transparent !important;
    color: #00462e !important;
    z-index: 2 !important;
  }

  #brx-header .brxe-nav-nested:has(.brxe-toggle):not(.brx-open) > a {
    display: none !important;
  }

  /* The open panel has to be the header itself. A fixed menu inside the
     header gets clipped, so the links look hidden. */
  #brx-header:has(.brxe-nav-nested.brx-open) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100000 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100dvh !important;
    overflow: auto !important;
    background: #00291c !important;
  }

  #brx-header:has(.brxe-nav-nested.brx-open) > .brxe-section:first-child {
    display: none !important;
  }

  #brx-header:has(.brxe-nav-nested.brx-open) > .brxe-section,
  #brx-header:has(.brxe-nav-nested.brx-open) > .brxe-section > .brxe-block {
    background: transparent !important;
    border: 0 !important;
    max-width: none !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  #brx-header:has(.brxe-nav-nested.brx-open) > .brxe-section:nth-child(2) > .brxe-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 28px 28px 48px !important;
    box-sizing: border-box !important;
  }

  #brx-header:has(.brxe-nav-nested.brx-open) .bricks-site-logo {
    height: 64px !important;
    margin-bottom: 28px !important;
  }

  #brx-header .brxe-nav-nested.brx-open {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  #brx-header .brxe-nav-nested.brx-open > a,
  #brx-header .brxe-nav-nested.brx-open .cc-nav-home {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    color: #f4f1e4 !important;
    font-family: "Domine", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(244, 241, 228, 0.12) !important;
    padding: 16px 0 !important;
  }

  #brx-header .brxe-nav-nested.brx-open > a::after {
    display: none !important;
  }

  #brx-header:has(.brxe-nav-nested.brx-open) .brxe-toggle {
    position: absolute !important;
    top: 22px !important;
    right: 22px !important;
    color: #f4f1e4 !important;
  }
}

a.brxe-button,
.cc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-height: 48px !important;
  border-radius: 6px !important;
  font-family: "Domine", Georgia, serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}

/* Phone icons sit before the number. Arrows stay after the label. */
a.brxe-button:has(> i.ion-md-call:last-child) {
  flex-direction: row-reverse !important;
}

.cc-btn-gold,
a.brxe-button.cc-btn-gold {
  background: #e5d64a !important;
  color: #00462e !important;
  border: 2px solid #e5d64a !important;
}

.cc-btn-gold:hover,
a.brxe-button.cc-btn-gold:hover {
  background: #f5ec58 !important;
  border-color: #f5ec58 !important;
  color: #00462e !important;
}

.cc-btn-cream:hover {
  background: #faf8f1 !important;
}

.cc-btn-outline:hover {
  background: #00462e !important;
  color: #f4f1e4 !important;
  border-color: #00462e !important;
}

main > .brxe-section.has-bg-video,
main > .brxe-section:first-child {
  align-items: flex-start !important;
}

main > .brxe-section.has-bg-video > .brxe-container,
main > .brxe-section:first-child > .brxe-container {
  align-items: flex-start !important;
}

main img,
main .brxe-image {
  object-fit: cover !important;
}

main .brxe-block:has(> .brxe-image),
main .brxe-block:has(> a.brxe-image),
.cc-card {
  overflow: hidden !important;
}

main .brxe-block:has(> .brxe-image) img,
main .brxe-block:has(> a.brxe-image) img,
.cc-card img {
  transition: transform 0.5s ease !important;
}

main .brxe-block:has(> .brxe-image):hover img,
main .brxe-block:has(> a.brxe-image):hover img,
.cc-card:hover img {
  transform: scale(1.03) !important;
}

.cc-chip {
  width: auto !important;
  display: inline-flex !important;
}

main .brxe-form {
  width: 100% !important;
}

main .brxe-form .form-group {
  margin-bottom: 14px !important;
}

main .brxe-form input,
main .brxe-form select,
main .brxe-form textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #fffcf6 !important;
  color: #10241a !important;
  border: 1px solid #d8d1c0 !important;
  border-radius: 6px !important;
  padding: 13px 14px !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 18px !important;
}

main .brxe-form input:focus,
main .brxe-form select:focus,
main .brxe-form textarea:focus {
  outline: 2px solid #e5d64a !important;
  outline-offset: 2px !important;
}

main .brxe-form button,
main .brxe-form .brxe-button {
  background: #00462e !important;
  color: #f4f1e4 !important;
  border: 0 !important;
  border-radius: 6px !important;
  min-height: 48px !important;
  font-family: "Domine", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

main .brxe-form button:hover,
main .brxe-form .brxe-button:hover {
  background: #0a5a3c !important;
  color: #f4f1e4 !important;
}

#brx-footer a.brxe-button {
  display: none !important;
}

@media (max-width: 767px) {
  #brx-footer a.brxe-button {
    display: inline-flex !important;
    position: fixed !important;
    right: 16px !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    z-index: 60 !important;
    background: #e5d64a !important;
    color: #00462e !important;
    box-shadow: 0 0 0 1px rgb(16 36 26 / 0.08) !important;
  }
}

#brx-footer .bricks-site-logo {
  outline: none !important;
  height: 80px !important;
  width: auto !important;
}

body.brx-body :focus-visible {
  outline: 2px solid #e5d64a !important;
  outline-offset: 3px !important;
}