/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

:root {

  /* color vars */
  --color-rojo: #9A3023;
  --color-marino-blue: #22426A;
  --color-azul-blue: #22426A;
  --color-tinta-suave: #634B3C;
  --color-tinta: #1E1B18;

  --color-cal-lightest: #F7F1E7;
  --color-arena-light: #EBDFCB;
  --color-sand-med: #D8C9B2;

  --color-naranja: #F08A24;
  --color-cielo-light-blue: #CFE0E8;
  --color-agua-teal: #00828B;

  /* size / spacing vars */
  --col-gap: 1.6rem;
  --row-gap-full: var(--col-gap);
  --row-gap-half: calc(0.5 * var(--col-gap));
  --container-h-pad: var(--col-gap);
  --section-v-padding: calc(3 * var(--container-h-pad));

  /* typography vars */
  --font-family-sans: 'Figtree';
  --font-family-serif: 'Newsreader';
  --font-weight-normal: font-weight:400;
  --font-weight-medium: font-weight:500;
  --font-weight-bold: font-weight: 700;

  --p-reg-size: clamp(1.8rem, 0.75vw + 1rem, 2rem);
  --p-large-size: clamp(1.8rem, 1vw + 1rem, 2.2rem);
	--p-small-size: clamp(1.6rem, 0.75vw + 1rem, 1.8rem);
	--p-smallest-size: clamp(1.4rem, 0.75vw + 1rem, 1.6rem);
  /* 17 - 20px */
  --h1-size: clamp(4.4rem, 4.5vw + 3rem, 10rem);
  --h2-size: clamp(3.6rem, 3vw + 2.75rem, 7.4rem);
  --h3-size: clamp(2.2rem, 1.15vw + 1.75rem, 3.2rem);
  --h4-size: clamp(2.2rem, 1vw + 1.5rem, 2.4rem);
  /* 22 - 24px */
  --h5-size: 1.4rem;
  --heading-bottom-margin: 2rem;
  --h1-bottom-margin: 3rem;
  --p-bottom-margin: var(--heading-bottom-margin);

  /* misc vars */
  --quick-ease: cubic-bezier(.5, .3, 0, 1);
  --case-study-hero-bg: var(--color-light-bg);
  --case-study-main-bg: var(--color-light-bg);
}

@media (min-width: 960px) {
  --heading-bottom-margin:3.2rem;
  --h1-bottom-margin: var(--heading-bottom-margin);
}

.color-brown {
  color: var(--color-tinta-suave);
}

.color-rojo {
  color: var(--color-rojo);
}

.color-marino {
  color: var(--color-marino-blue);
}

.color-cal {
  color: var(--color-cal-lightest);
}

.bg-color-brown {
  background-color: var(--color-tinta-suave);
}

.bg-color-rojo {
  background-color: var(--color-rojo);
}

.bg-color-marino {
  background-color: var(--color-marino-blue);
}

.bg-color-sand {
  background-color: var(--color-sand-med);
}

.bg-color-arena {
  background-color: var(--color-arena-light);
}

.font-sans {
  font-family: var(--font-family-sans);
}

.font-serif {
  font-family: var(--font-family-serif);
}


.brxe-section {
  padding: var(--section-v-padding) 0;
}

/* Grid System */

.grid-8 {
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[8];
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.grid-10 {
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[10];
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.grid-12 {
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[12];
  grid-template-columns: repeat(12, minmax(0, 1fr));

}

.grid-8,
.grid-10,
.grid-12 {
  padding-left: 0;
  padding-right: 0;
  -moz-column-gap: var(--col-gap);
  column-gap: var(--col-gap);
  grid-template-rows: auto;
  grid-auto-rows: min-content;
}

.grid-col-gap-0 {
  -moz-column-gap: 0 !important;
  column-gap: 0 !important;
}

.grid-row-gap-0 {
  -moz-row-gap: 0 !important;
  row-gap: 0 !important;
}

.col-span-1 {
  grid-column: span 1/span 1
}

.col-span-2 {
  grid-column: span 2/span 2
}

.col-span-3 {
  grid-column: span 3/span 3
}

.col-span-4 {
  grid-column: span 4/span 4
}

.col-span-5 {
  grid-column: span 5/span 5
}

.col-span-6 {
  grid-column: span 6/span 6
}

.col-span-7 {
  grid-column: span 7/span 7
}

.col-span-8 {
  grid-column: span 8/span 8
}

.col-span-9 {
  grid-column: span 9/span 9
}

.col-span-10 {
  grid-column: span 10/span 10
}

.col-span-11 {
  grid-column: span 11/span 11
}

.col-span-12 {
  grid-column: span 12/span 12
}

.col-start-1 {
  grid-column-start: 1
}

.col-start-2 {
  grid-column-start: 2
}

.col-start-3 {
  grid-column-start: 3
}

.col-start-4 {
  grid-column-start: 4
}

.col-start-5 {
  grid-column-start: 5
}

.col-start-6 {
  grid-column-start: 6
}

.col-start-7 {
  grid-column-start: 7
}

.col-start-8 {
  grid-column-start: 8
}

.col-start-9 {
  grid-column-start: 9
}

.col-start-10 {
  grid-column-start: 10
}

.col-start-11 {
  grid-column-start: 11
}

.col-start-12 {
  grid-column-start: 12
}

.col-start-auto {
  -ms-grid-column: auto;
  grid-column-start: auto
}

@media (min-width:768px) {
  :root {
    --col-gap: 2.4rem;
  }

  .col-md-span-1 {
    grid-column: span 1/span 1
  }

  .col-md-span-2 {
    grid-column: span 2/span 2
  }

  .col-md-span-3 {
    grid-column: span 3/span 3
  }

  .col-md-span-4 {
    grid-column: span 4/span 4
  }

  .col-md-span-5 {
    grid-column: span 5/span 5
  }

  .col-md-span-6 {
    grid-column: span 6/span 6
  }

  .col-md-span-7 {
    grid-column: span 7/span 7
  }

  .col-md-span-8 {
    grid-column: span 8/span 8
  }

  .col-md-span-9 {
    grid-column: span 9/span 9
  }

  .col-md-span-10 {
    grid-column: span 10/span 10
  }

  .col-md-span-11 {
    grid-column: span 11/span 11
  }

  .col-md-span-12 {
    grid-column: span 12/span 12
  }

  .col-md-start-1 {
    grid-column-start: 1
  }

  .col-md-start-2 {
    grid-column-start: 2
  }

  .col-md-start-3 {
    grid-column-start: 3
  }

  .col-md-start-4 {
    grid-column-start: 4
  }

  .col-md-start-5 {
    grid-column-start: 5
  }

  .col-md-start-6 {
    grid-column-start: 6
  }

  .col-md-start-7 {
    grid-column-start: 7
  }

  .col-md-start-8 {
    grid-column-start: 8
  }

  .col-md-start-9 {
    grid-column-start: 9
  }

  .col-md-start-10 {
    grid-column-start: 10
  }

  .col-md-start-11 {
    grid-column-start: 11
  }

  .col-md-start-12 {
    grid-column-start: 12
  }

  .col-md-start-auto {
    -ms-grid-column: auto;
    grid-column-start: auto
  }
}

@media (min-width:960px) {
  :root {
    --col-gap: 3rem;
  }

  .col-lg-span-1 {
    grid-column: span 1/span 1
  }

  .col-lg-span-2 {
    grid-column: span 2/span 2
  }

  .col-lg-span-3 {
    grid-column: span 3/span 3
  }

  .col-lg-span-4 {
    grid-column: span 4/span 4
  }

  .col-lg-span-5 {
    grid-column: span 5/span 5
  }

  .col-lg-span-6 {
    grid-column: span 6/span 6
  }

  .col-lg-span-7 {
    grid-column: span 7/span 7
  }

  .col-lg-span-8 {
    grid-column: span 8/span 8
  }

  .col-lg-span-9 {
    grid-column: span 9/span 9
  }

  .col-lg-span-10 {
    grid-column: span 10/span 10
  }

  .col-lg-span-11 {
    grid-column: span 11/span 11
  }

  .col-lg-span-12 {
    grid-column: span 12/span 12
  }

  .col-lg-start-1 {
    grid-column-start: 1
  }

  .col-lg-start-2 {
    grid-column-start: 2
  }

  .col-lg-start-3 {
    grid-column-start: 3
  }

  .col-lg-start-4 {
    grid-column-start: 4
  }

  .col-lg-start-5 {
    grid-column-start: 5
  }

  .col-lg-start-6 {
    grid-column-start: 6
  }

  .col-lg-start-7 {
    grid-column-start: 7
  }

  .col-lg-start-8 {
    grid-column-start: 8
  }

  .col-lg-start-9 {
    grid-column-start: 9
  }

  .col-lg-start-10 {
    grid-column-start: 10
  }

  .col-lg-start-11 {
    grid-column-start: 11
  }

  .col-lg-start-12 {
    grid-column-start: 12
  }

  .col-lg-start-auto {
    -ms-grid-column: auto;
    grid-column-start: auto
  }
}

@media (min-width:1200px) {
  :root {
    --container-h-pad: calc(1.5 * var(--col-gap));
  }

  .col-xl-span-1 {
    grid-column: span 1/span 1
  }

  .col-xl-span-2 {
    grid-column: span 2/span 2
  }

  .col-xl-span-3 {
    grid-column: span 3/span 3
  }

  .col-xl-span-4 {
    grid-column: span 4/span 4
  }

  .col-xl-span-5 {
    grid-column: span 5/span 5
  }

  .col-xl-span-6 {
    grid-column: span 6/span 6
  }

  .col-xl-span-7 {
    grid-column: span 7/span 7
  }

  .col-xl-span-8 {
    grid-column: span 8/span 8
  }

  .col-xl-span-9 {
    grid-column: span 9/span 9
  }

  .col-xl-span-10 {
    grid-column: span 10/span 10
  }

  .col-xl-span-11 {
    grid-column: span 11/span 11
  }

  .col-xl-span-12 {
    grid-column: span 12/span 12
  }

  .col-xl-start-1 {
    grid-column-start: 1
  }

  .col-xl-start-2 {
    grid-column-start: 2
  }

  .col-xl-start-3 {
    grid-column-start: 3
  }

  .col-xl-start-4 {
    grid-column-start: 4
  }

  .col-xl-start-5 {
    grid-column-start: 5
  }

  .col-xl-start-6 {
    grid-column-start: 6
  }

  .col-xl-start-7 {
    grid-column-start: 7
  }

  .col-xl-start-8 {
    grid-column-start: 8
  }

  .col-xl-start-9 {
    grid-column-start: 9
  }

  .col-xl-start-10 {
    grid-column-start: 10
  }

  .col-xl-start-11 {
    grid-column-start: 11
  }

  .col-xl-start-12 {
    grid-column-start: 12
  }

  .col-xl-start-auto {
    -ms-grid-column: auto;
    grid-column-start: auto
  }
}

@media (min-width:1480px) {
  :root {
    --col-gap: 3.2rem;
    --container-h-pad: calc(2 * var(--col-gap));
    --section-v-padding: calc(1.5 * var(--container-h-pad));
  }
  .col-xxl-span-1 {
    grid-column: span 1/span 1
  }

  .col-xxl-span-2 {
    grid-column: span 2/span 2
  }

  .col-xxl-span-3 {
    grid-column: span 3/span 3
  }

  .col-xxl-span-4 {
    grid-column: span 4/span 4
  }

  .col-xxl-span-5 {
    grid-column: span 5/span 5
  }

  .col-xxl-span-6 {
    grid-column: span 6/span 6
  }

  .col-xxl-span-7 {
    grid-column: span 7/span 7
  }

  .col-xxl-span-8 {
    grid-column: span 8/span 8
  }

  .col-xxl-span-9 {
    grid-column: span 9/span 9
  }

  .col-xxl-span-10 {
    grid-column: span 10/span 10
  }

  .col-xxl-span-11 {
    grid-column: span 11/span 11
  }

  .col-xxl-span-12 {
    grid-column: span 12/span 12
  }

  .col-xxl-start-1 {
    grid-column-start: 1
  }

  .col-xxl-start-2 {
    grid-column-start: 2
  }

  .col-xxl-start-3 {
    grid-column-start: 3
  }

  .col-xxl-start-4 {
    grid-column-start: 4
  }

  .col-xxl-start-5 {
    grid-column-start: 5
  }

  .col-xxl-start-6 {
    grid-column-start: 6
  }

  .col-xxl-start-7 {
    grid-column-start: 7
  }

  .col-xxl-start-8 {
    grid-column-start: 8
  }

  .col-xxl-start-9 {
    grid-column-start: 9
  }

  .col-xxl-start-10 {
    grid-column-start: 10
  }

  .col-xxl-start-11 {
    grid-column-start: 11
  }

  .col-xxl-start-12 {
    grid-column-start: 12
  }

  .col-xxl-start-auto {
    -ms-grid-column: auto;
    grid-column-start: auto
  }
}

@media (min-width:1920px) {
  :root {
    --col-gap: 4rem;
  }
}

.padding-none {
  padding: 0 !important;
}

.padding-v-none {
  padding-top: 0;
  padding-bottom: 0;
}

.padding-t-none {
  padding-top: 0;
}

.padding-b-none {
  padding-bottom: 0;
}

.padding-h-none {
  padding-left: 0;
  padding-right: 0;
}

@media (max-width:1199px) {
  .padding-b-none-to-xl {
    padding-bottom: 0;
  }
}

@media (max-width:959px) {
  .stack-tight-to-lg {
    margin-top: calc(-1 * var(--col-gap));
  }
}


body {
  background-color: var(--color-cal-lightest);
  color: var(--color-tinta);
}

.standard-page-template main>section:first-of-type {
  padding-top: calc(4 * var(--container-h-pad));
}

@media (min-width:1480px) {
  .standard-page-template main>section:first-of-type {
    padding-top: calc(1.5 * var(--container-h-pad));
  }
}

body,
h5,
h6,
p,
li,
a {
  font-family: var(--font-family-sans);
  font-weight: 400;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-family-serif);
  font-weight: 400;
  letter-spacing: -0.1rem;
  font-variant-ligatures: common-ligatures discretionary-ligatures;
  font-feature-settings: "liga" 1, "clig" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  margin-bottom: var(--heading-bottom-margin);
  line-height: 1.1;
}


h1,
.h1 {
  font-size: var(--h1-size);
  line-height: 1.05;
  margin-bottom: var(--h1-bottom-margin);
  letter-spacing: -0.2rem;
}

h1 em, .h1 em, h2 em, .h2 em, h3 em, .h3 em {
  font-style: italic;
  font-weight: 300;
}

h2,
.h2 {
  font-size: var(--h2-size);
  line-height: 1.15;
}

h3,
.h3 {
  font-size: var(--h3-size);
  line-height: 1.15
}

h4,
.h4 {
  font-size: var(--h4-size);
  letter-spacing: -0.05rem;
}

h5,
.h5 {
  font-size: var(--h5-size);
  text-transform: uppercase;
  letter-spacing: 0.3rem;
	margin-bottom:1.2rem;
}

p,
ul {
  font-size: var(--p-reg-size);
  margin-bottom: var(--p-bottom-margin);
  line-height: 1.5;
}

.p-large {
  font-size: var(--p-large-size);
}
.p-small {font-size: var(--p-small-size);}
.p-smallest {font-size: var(--p-smallest-size);}
strong {
  font-weight: 700;
}

.all-caps-spaced-sans,
.eyebrow-heading {
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  letter-spacing: 0.3rem;
}

.eyebrow-heading {
  font-size: var(--p-reg-size);
  font-weight: 700;
  position: relative;
  color: var(--color-rojo);
  margin-bottom: 1.6rem;
  display: flex;
  align-items: center;
}

.eyebrow-heading::after {
  content: '';
  width: 6rem;
  height: 0;
  border-top: solid 2px;
  margin-left: 0.8rem;
}

.dark-bg .eyebrow-heading {
  color: var(--color-naranja);
}

/* Links & Buttons */
a {}

a:hover,
a:focus {}

.btn {
  /*display: inline-flex;
  align-items: center;
  justify-content: center;*/
  gap: 0.8rem;
  /*min-height: 57px;*/
  padding: 2rem 3rem;
  border: 1px solid var(--color-rojo);
  background: var(--color-rojo);
  color: var(--color-cal-lightest);
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  line-height: 1;
  font-size: 1.6rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease-in, border-color .2s ease-in, color .2s ease-in, text-decoration-color .2s ease-in, text-underline-offset .2s ease-in;
}

/* One hover state for every button style */
.btn:hover {
  background: var(--color-tinta-suave);
  border-color: var(--color-tinta-suave);
  color: var(--color-cal-lightest);
}

.btn:focus-visible {
  outline: 2px solid var(--color-rojo);
  outline-offset: 3px;
}

/* Outline styles */
.btn--outline {
  background: transparent;
  color: var(--color-rojo);
}

.btn--outline-white {
  background: transparent;
  border-color: var(--color-cal-lightest);
  color: var(--color-cal-lightest);
}

/* Text link: same height, no box, underline */
.btn--text-link {
  background: transparent;
  border-color: transparent;
  color: var(--color-rojo);
  padding-left: 0;
  padding-right: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1rem;
  /* tune to match Figma's underline gap */
}

.btn--text-link:hover {
  background: transparent;
  border-color: transparent;
  color: var(--color-tinta-suave);
  text-underline-offset: 0.4rem
}

/* Diamond */
.btn--diamond::after {
  content: "";
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  background: var(--color-naranja);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  transition: transform .5s ease-out, background-color .2s;
}

.btn--diamond:hover::after {
  transform: rotate(360deg) scale(1.4);
  background: #fff;
}

.btn--text-link.btn--diamond:hover::after {
  background-color: var(--color-tinta-suave);
}

@media (prefers-reduced-motion: reduce) {
  .btn--diamond::after {
    transition: background-color .2s;
  }
}

@media (max-width: 545px) {
  .btn--block-mobile {
    display: flex;
    width: 100%;
  }
}

.btn-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--col-gap);
}

/* Header & Nav */
#header-main {
  padding: var(--col-gap) 0;
}

.brxe-nav-menu .bricks-mobile-menu-wrapper li.bricks-button a {
  line-height: 1;
}

#header-main .bricks-button {
  padding: 0;
}

#header-main .bricks-button a {
  padding: 1.2rem 4rem;
  font-weight: 500;
}

#brx-header.brx-sticky.scrolling .bricks-nav-menu>li.bricks-button>a:hover,
#brx-header.sticky.scrolling .bricks-nav-menu>li.bricks-button>a:hover,
#brx-header.sticky .opaque .bricks-nav-menu>li.bricks-button>a:hover {
  color: var(--color-cal-lightest);
}

.primary-nav .bricks-mobile-menu-wrapper {
  padding-top: 60px;
}


@media (min-width:768px) {
  #brx-header #header-main {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }
}

#header-main {
  background-color: var(--color-cal-lightest);
  transition: background-color .3s ease-in;
}

#header-main .btn.bricks-button {
  padding: 2rem 3rem;
  font-size: 1.4rem;
  letter-spacing: 0.14rem;
}

.primary-nav .bricks-nav-menu {
  gap: 3.2rem;
  margin: 0;
}

.primary-nav .bricks-nav-menu > li {
  margin: 0;
}

.primary-nav .bricks-nav-menu a {
  color: var(--color-tinta);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.14rem;
  text-transform: uppercase;
}

.primary-nav .bricks-nav-menu > li > a,
.primary-nav .bricks-nav-menu > li > .brx-submenu-toggle > a {
  padding: 1.2rem 0;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 1.2rem;
}

#brx-header.brx-sticky .primary-nav .bricks-nav-menu > li > a,
#brx-header.brx-sticky .primary-nav .bricks-nav-menu > li > .brx-submenu-toggle > a {
  transition: color .3s ease-in, text-decoration-color .2s ease-in, text-underline-offset .2s ease-in;
}

.primary-nav .bricks-nav-menu > li:hover > a,
.primary-nav .bricks-nav-menu > li:hover > .brx-submenu-toggle > a {
  text-decoration-color: var(--color-rojo);
  text-underline-offset: 0.8rem;
}

.primary-nav:not(.show-mobile-menu) .sub-menu {
  min-width: 24rem;
  padding: 1.2rem 0;
  background: var(--color-cal-lightest);
  box-shadow: 0 1rem 3rem rgba(30, 27, 24, 0.12);
}

.primary-nav .sub-menu {
	margin-bottom:0;
}

.primary-nav .sub-menu a {
  display: block;
  padding: 0.8rem 2rem;
  color: var(--color-tinta);
}

.primary-nav .sub-menu a:hover {
  color: var(--color-rojo);
}

body:not(:has(.hero-section.dark-bg)) #brx-header .bricks-site-logo {
  content: url('https://pueblopb.wpenginepowered.com/wp-content/uploads/Pueblo-logo.svg');
}

body:has(.hero-section.dark-bg) #brx-header:not(.scrolling) #header-main {
  background-color: transparent;
}

body:has(.hero-section.dark-bg) #brx-header:not(.scrolling) .primary-nav .bricks-nav-menu > li > a,
body:has(.hero-section.dark-bg) #brx-header:not(.scrolling) .primary-nav .bricks-nav-menu > li > .brx-submenu-toggle > a,
body:has(.hero-section.dark-bg) #brx-header:not(.scrolling) .primary-nav:not(.show-mobile-menu) .brx-submenu-toggle button,
body:has(.hero-section.dark-bg) #brx-header:not(.scrolling) .bricks-mobile-menu-toggle[aria-expanded="false"] {
  color: var(--color-cal-lightest);
}

.primary-nav .bricks-nav-menu .nav-mobile-only {
  display: none;
}

.primary-nav .bricks-nav-menu a {
  white-space: nowrap;
}

@media (max-width:1199px) {
  .primary-nav {
    align-self: flex-end;
  }
}

@media (max-width:1399px) {
  .primary-nav .bricks-nav-menu {
    gap: 2rem;
  }

  .primary-nav .bricks-nav-menu a {
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
  }
}


/* Page Sections & Templates */
.hero-section {
  position: relative;
  text-align: center;
}

.hero-section .brxe-container {
  position: relative;
  z-index: 5;
}

.bg-fw-img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.hero-section .bg-fw-img:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 20%, rgba(0, 0, 0, 0.50) 60%, rgba(0, 0, 0, 0.70) 89%);
}

.dark-bg {
  color: var(--color-cal-lightest);
}

.fh-section {
  min-height: 100vh;
  padding: 0;
}

.archo-shape {
  border-radius: 999px 999px 0 0;
}

.wave-stamp {
  width: 30vw;
  height: auto;
}

.wave-stamp.over-img {
  transform: translate(-30%, -300%)
}

@media (min-width:768px) {
  .wave-stamp {
    width: 156px;
  }

  .wave-stamp.over-img {
    transform: translate(-50%, -300%)
  }
}

@media (min-width:960px) {
  .wave-stamp {
    width: 206px;
  }
}

.private-event-venue-grid img {margin-bottom:2.4rem;}
.private-event-venue-grid h3 {margin-bottom:0.8rem;}
.private-event-venue-grid h5 {color:var(--color-rojo); font-weight:700; margin-bottom:1.2rem;}

.lead-serif {
  font-family: var(--font-family-serif);
  font-size: var(--h3-size);
  font-style: italic;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.stat-num {
  font-family: var(--font-family-serif);
  font-size: clamp(3.6rem, 2vw + 2.4rem, 4.8rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-rojo);
  margin-bottom: 0.8rem;
}

@media (min-width:768px) {
  .stat + .stat {
    border-left: 1px solid var(--color-sand-med);
    padding-left: var(--col-gap);
  }
}

.faq-item {
  padding: var(--col-gap) 0;
  border-bottom: 1px solid var(--color-sand-med);
}

.faq-item h3 {
  margin-bottom: 1.2rem;
}

.faq-item p {
  margin-bottom: 0;
}

.panel {
  padding-top: var(--section-v-padding);
  padding-bottom: var(--section-v-padding);
}

@media (min-width:1200px) {
  .brxe-container.panel {
    width: calc(100% - 2 * var(--col-gap));
    margin-left: var(--col-gap);
    margin-right: var(--col-gap);
    padding-left: calc(var(--container-h-pad) - var(--col-gap));
    padding-right: calc(var(--container-h-pad) - var(--col-gap));
  }
}

.event-form {
  background: var(--color-cal-lightest);
  color: var(--color-tinta);
  padding: calc(1.25 * var(--col-gap));
}

.event-form label {
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.24rem;
}

.event-form input,
.event-form select,
.event-form textarea {
  background: transparent;
  border: 1px solid var(--color-sand-med);
  color: var(--color-tinta-suave);
  font-size: var(--p-reg-size);
  padding: 1.8rem 2rem;
}

.event-form input,
.event-form select {
  height: 6rem;
  padding: 0 2rem;
}

.event-form .bricks-button {
  padding: 2rem 3rem;
  border: 1px solid var(--color-rojo);
  background: var(--color-rojo);
  color: var(--color-cal-lightest);
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  line-height: 1;
  font-size: 1.6rem;
}

.event-form .bricks-button:hover {
  background: var(--color-tinta-suave);
  border-color: var(--color-tinta-suave);
}

@media (min-width:960px) {
  .event-form {
    column-gap: var(--col-gap);
  }

  .event-form .form-group {
    width: calc(50% - var(--col-gap) / 2);
  }
  .event-form.single-col-desktop .form-group {
    width: 100%;
  }

  .event-form .form-group:has(textarea),
  .event-form .submit-button-wrapper {
    width: 100%;
  }
}



.page-top {
  padding-top: calc(2.5 * var(--section-v-padding));
}

.rule-t {
  border-top: 1px solid var(--color-sand-med);
  padding-top: var(--section-v-padding);
}

.bg-split {
  background: linear-gradient(to bottom, var(--color-cal-lightest) 50%, var(--color-arena-light) 50%);
}

.map-embed {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
}

.map-embed .leaflet-layer {
  filter: grayscale(1) contrast(1.1);
}

.map-embed .leaflet-tile-pane::after {
  content: "";
  position: absolute;
  inset: -4000px;
  z-index: 1000;
  background: var(--color-arena-light);
  mix-blend-mode: multiply;
  pointer-events: none;
}

.map-embed .leaflet-marker-icon {
  filter: hue-rotate(155deg) saturate(1.6) brightness(0.75);
}

@media (min-width:768px) {
  .map-embed {
    aspect-ratio: 1261 / 489;
  }

  .map-embed.map-half {
    aspect-ratio: 2 / 1;
  }
}

@media (min-width:960px) and (max-width:1479px) {
  .map-embed.map-half {
    aspect-ratio: 3 / 2;
  }
}

.dish {
  width: 100%;
  margin-bottom: calc(1.5 * var(--col-gap));
}

.dish-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--col-gap);
}

.dish h3 {
  font-style: italic;
  font-weight: 300;
  margin-bottom: 0.3rem;
}

.dish p {
  margin-bottom: 0;
}

.dish-price {
  font-size: var(--p-reg-size);
  font-weight: 500;
  white-space: nowrap;
}

.subnav {
  border-top: 1px solid var(--color-sand-med);
  border-bottom: 1px solid var(--color-sand-med);
}

.subnav .brxe-container {
  align-items: center;
}

.subnav .bricks-nav-menu-wrapper {
  display: block !important;
}

.subnav .bricks-mobile-menu-toggle {
  display: none !important;
}

.subnav .bricks-nav-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 var(--col-gap);
  margin: 0;
}

.subnav .bricks-nav-menu > li {
  margin: 0;
}

.subnav .bricks-nav-menu a {
  display: block;
  padding: 1.2rem 0;
  border-bottom: 2px solid transparent;
  color: var(--color-tinta);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.14rem;
  text-transform: uppercase;
}

.subnav .bricks-nav-menu .current-menu-item a {
  border-bottom-color: var(--color-rojo);
  color: var(--color-rojo);
}

@media (min-width:960px) {
  .subnav .bricks-nav-menu a {
    padding: 2.8rem 0;
  }
}

@media (min-width:960px) {
  .menu-hero {
    padding-top: calc(1.625 * var(--section-v-padding));
  }
}

.menu-hero-img,
.menu-hero-img img {
  width: 100%;
  aspect-ratio: 487 / 514;
  object-fit: cover;
  object-position: center 70%;
}

.img-fill,
.img-fill img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brxe-container.gallery-grid {
  gap: 0;
  padding: 0;
  grid-auto-flow: dense;
}

.gallery-grid .brxe-image {
  display: block;
  width: 100%;
}

.gallery-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-sq {
  aspect-ratio: 1 / 1;
}

.gallery-wide {
  aspect-ratio: 2 / 1;
}

.gallery-tall {
  grid-row: span 2;
  aspect-ratio: 1 / 2;
}

/* Footer */
#footer h5 {
  color: var(--color-sand-med);
  margin:0 0 0.4rem;
}

.footer-nav .bricks-nav-menu-wrapper {
  display: block !important;
}

.footer-nav .bricks-mobile-menu-toggle {
  display: none !important;
}

.footer-nav .bricks-nav-menu {
  display: block;
  margin: 0;
}

.footer-nav .bricks-nav-menu > li {
  margin: 0;
}

.footer-nav a {
  color: var(--color-cal-lightest);
  font-size: 1.6rem;
  line-height: 2;
}

.footer-grid p {
  font-size: 1.6rem;
  line-height: 2;
}

.footer-social {
  display: flex;
  gap: 1.6rem;
}

.footer-social a {
  color: var(--color-cal-lightest);
  font-size: 2.4rem;
}

.footer-legal {
  margin-top: var(--col-gap);
  padding-top: var(--col-gap);
  border-top: 1px solid rgba(247, 241, 231, 0.3);
}

.footer-legal a {
  color: inherit;
}

.footer-wave {
  display: none;
}

@media (min-width:1480px) {
  .footer-grid > * {
    grid-column: span 2 / span 2;
  }

  .footer-grid > :first-child {
    grid-column-start: 2;
  }

  .footer-wave {
    display: flex;
    justify-content: center;
    align-self: center;
  }
}

/* Homepage */
.home-gallery {
	position:relative;
  background-image:linear-gradient(var(--color-marino-blue), #11243C);
}

.home-gallery:after {
	content:'';
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
  background-image: url('https://pueblopb.wpenginepowered.com/wp-content/uploads/leaf-shadow-1.webp');
  background-repeat: no-repeat;
  background-position: -10% -2%;
  background-size: 80% auto;
	mix-blend-mode: multiply; 
  pointer-events: none;
  z-index:1;
}

.home-gallery .brxe-container {
	position:relative;
	z-index:2;
}

@media (min-width:768px) {
  .home-gallery:after {
    background-position: -15% -5%;
    background-size: 60% aut;
  }
}


@media (min-width:960px) {
  .home-gallery:after {
    background-position: -20% -8%;
    background-size: 50% auto;
  }
}



@-webkit-keyframes fadeInDown50 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }
}

@keyframes fadeInDown50 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }
}

.brx-animate-fadeInDown50 {
  -webkit-animation-name: fadeInDown50;
  animation-name: fadeInDown50;
}

@-webkit-keyframes fadeInUp50 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0)
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }
}

@keyframes fadeInUp50 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0)
  }

  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }
}

.brx-animate-fadeInUp50 {
  -webkit-animation-name: fadeInUp50;
  animation-name: fadeInUp50;
}

@-webkit-keyframes fadeOutUp50 {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
  }
}

@keyframes fadeOutUp50 {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
  }
}

@-webkit-keyframes imageSmallZoomIn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@keyframes imageSmallZoomIn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  to {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.brx-animate-imageSmallZoomIn,
.img-scale img {
  -webkit-animation-name: imageSmallZoomIn;
  animation-name: imageSmallZoomIn;
  animation-fill-mode: forwards;
}

.img-scale {
  overflow: hidden;
}

.img-scale img {
  animation-timing-function: ease-out;
  animation-duration: 1.2s;
  animation-delay: 0.3s;
}

@-webkit-keyframes imageZoomRevealUpIn {
  0% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    clip-path: inset(100% 0 0 0);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  80% {
    clip-path: inset(0 0 0 0);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes imageZoomRevealUpIn {
  0% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    clip-path: inset(100% 0 0 0);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }


  80% {
    clip-path: inset(0 0 0 0);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.brx-animate-imageZoomRevealUpIn,
.img-reveal-up img {
  -webkit-animation-name: imageZoomRevealUpIn;
  animation-name: imageZoomRevealUpIn;
  animation-fill-mode: both;
}

.img-reveal-up {
  overflow: hidden;
}

.img-reveal-up img {
  animation-timing-function: var(--quick-ease);
  animation-duration: 0.8s;
  animation-delay: 0.2s;
  object-fit: cover;
}

@-webkit-keyframes imageZoomRevealDownIn {
  0% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    clip-path: inset(0 0 100% 0);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  80% {
    clip-path: inset(0 0 0 0);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes imageZoomRevealDownIn {
  0% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    clip-path: inset(0 0 100% 0);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }


  80% {
    clip-path: inset(0 0 0 0);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.brx-animate-imageZoomRevealDownIn,
.img-reveal-down img {
  -webkit-animation-name: imageZoomRevealDownIn;
  animation-name: imageZoomRevealDownIn;
  animation-fill-mode: both;
}

.img-reveal-down {
  overflow: hidden;
}

.img-reveal-down img {
  animation-timing-function: var(--quick-ease);
  animation-duration: 0.8s;
  animation-delay: 0.2s;
  object-fit: cover;
}

.delay-02 {
  animation-delay: 0.2s
}

.delay-04 {
  animation-delay: 0.4s
}

.delay-05 {
  animation-delay: 0.5s
}

.delay-06 {
  animation-delay: 0.6s
}

.delay-08 {
  animation-delay: 0.8s
}

.delay-1 {
  animation-delay: 1s
}

.delay-1-2 {
  animation-delay: 1.2s
}

.delay-1-5 {
  animation-delay: 1.5s
}

.delay-1-8 {
  animation-delay: 1.8s
}

.delay-2 {
  animation-delay: 2s
}

@media (min-width:768px) {
  .delay-02-md {
    animation-delay: 0.2s
  }

  .delay-04-md {
    animation-delay: 0.4s
  }

  .delay-05-md {
    animation-delay: 0.5s
  }

  .delay-06-md {
    animation-delay: 0.6s
  }

  .delay-08-md {
    animation-delay: 0.8s
  }

  .delay-1-md {
    animation-delay: 1s
  }

  .delay-1-2-md {
    animation-delay: 1.2s
  }

  .delay-1-5-md {
    animation-delay: 1.5s
  }

  .delay-1-8-md {
    animation-delay: 1.8s
  }

  .delay-2-md {
    animation-delay: 2s
  }
}

@media (min-width:960px) {
  .delay-02-lg {
    animation-delay: 0.2s
  }

  .delay-04-lg {
    animation-delay: 0.4s
  }

  .delay-05-lg {
    animation-delay: 0.5s
  }

  .delay-06-lg {
    animation-delay: 0.6s
  }

  .delay-08-lg {
    animation-delay: 0.8s
  }

  .delay-1-lg {
    animation-delay: 1s
  }

  .delay-1-2-lg {
    animation-delay: 1.2s
  }

  .delay-1-5-lg {
    animation-delay: 1.5s
  }

  .delay-1-8-lg {
    animation-delay: 1.8s
  }

  .delay-2-lg {
    animation-delay: 2s
  }
}


/* Hide and display utility classes */
.d-none {
  display: none !important;
  visibility: hidden;
}

@media (max-width:767px) {
  .d-none-sm {
    display: none !important;
    visibility: hidden;
  }

  .d-block-sm {
    display: block !important;
    visibility: visible;
  }

  .d-i-block-sm {
    display: inline-block !important;
    visibility: visible;
  }

  .d-inline-sm {
    display: inline-block !important;
    visibility: visible;
  }

  .d-flex-sm {
    display: flex !important;
    visibility: visible;
  }

  .d-grid-sm {
    display: grid !important;
    visibility: visible;
  }
}

@media (min-width:768px) {
  .d-none-md {
    display: none !important;
    visibility: hidden;
  }

  .d-block-md {
    display: block !important;
    visibility: visible;
  }

  .d-i-block-md {
    display: inline-block !important;
    visibility: visible;
  }

  .d-inline-md {
    display: inline-block !important;
    visibility: visible;
  }

  .d-flex-md {
    display: flex !important;
    visibility: visible;
  }

  .d-grid-md {
    display: grid !important;
    visibility: visible;
  }
}

@media (min-width:960px) {
  .d-none-lg {
    display: none !important;
    visibility: hidden;
  }

  .d-block-lg {
    display: block !important;
    visibility: visible;
  }

  .d-i-block-lg {
    display: inline-block !important;
    visibility: visible;
  }

  .d-inline-lg {
    display: inline-block !important;
    visibility: visible;
  }

  .d-flex-lg {
    display: flex !important;
    visibility: visible;
  }

  .d-grid-lg {
    display: grid !important;
    visibility: visible;
  }
}

@media (min-width:1200px) {
  .d-none-xl {
    display: none !important;
    visibility: hidden;
  }

  .d-block-xl {
    display: block !important;
    visibility: visible;
  }

  .d-i-block-xl {
    display: inline-block !important;
    visibility: visible;
  }

  .d-inline-xl {
    display: inline-block !important;
    visibility: visible;
  }

  .d-flex-xl {
    display: flex !important;
    visibility: visible;
  }

  .d-grid-xl {
    display: grid !important;
    visibility: visible;
  }
}

@media (min-width:1480px) {
  .d-none-xxl {
    display: none !important;
    visibility: hidden;
  }

  .d-block-xxl {
    display: block !important;
    visibility: visible;
  }

  .d-i-block-xxl {
    display: inline-block !important;
    visibility: visible;
  }

  .d-inline-xxl {
    display: inline-block !important;
    visibility: visible;
  }

  .d-flex-xxl {
    display: flex !important;
    visibility: visible;
  }

  .d-grid-xxl {
    display: grid !important;
    visibility: visible;
  }
}