@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Space+Grotesk:wght@300..700&display=swap');

/* Theme variables */
html {
  --red: #9F2C2B;
  --red-dark: #581F1E;
  --green: #00667B;
  --green-dark: #1B2429;
}

/* Custom classes */
.text-red {
  color: var(--red);
}

.text-green {
  color: var(--green);
}

/* Style overrides */

body {
    color: #000000;
    font-family: Nunito Sans, -apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  }
  

h1, h2, h3, h4, h5, h6 {
    font-family: Space Grotesk;
    color: #000000;
  }

h1, h2 {
    letter-spacing: -0.1rem;
    font-weight: 700;
  }

h1 {
  margin-bottom: 0.25rem;
}

.h2, h2 {
  font-size: 2rem;
}

.h3, h3 {
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
}

a {
  text-decoration:none;
  color: var(--red);
  outline:0
}
a:focus {
  box-shadow:0 0 0 .1rem rgba(88, 31, 30,.2);
}
a.active,
a:active,
a:focus,
a:hover {
  text-decoration:underline;
  color: var(--red);
}
a:visited {
  color:var(--red-dark);
}

.dark a:visited, #footer a:visited {
  color:var(--red);
}

#header {
    height: 3.5rem;
    border-bottom: 0px;
  }

#header .navbar-section {
    height: 3.5rem;
  }

#header .logo img, #header .logo svg {
    height: 48px;
  
}

#header a {
  color: #000000;
}

.dropmenu ul li a {
  font-family: Space Grotesk;
  font-size: 0.8rem;
  font-weight: 400;
}

.dropmenu ul li a.active, .dropmenu ul li a:focus, .dropmenu ul li a:hover {
  color: var(--red) !important;
}

.mobile-menu .button_container span {
  height: 2px;
  background: #000000 !important;
}

.overlay {
  background: #FFFFFF;
}

.overlay-menu {
  height: auto;
}

.treemenu li a {
  margin-left: 0;
}

.treemenu li a.active, .treemenu li a:focus, .treemenu li a:hover {
  text-decoration: none;
  color: #000000 !important;
}

.treemenu li {
  background: transparent;
}

.treemenu .toggler {
  display: none;
}

.treemenu.treemenu-root {
  margin: 1rem 1.4rem;
}

.btn, .button, a.btn, a.button {
  font-family: Space Grotesk;
  height: 2.7rem;
  padding: 0.7rem 1.5rem;
  text-decoration: none;
  color: var(--green);
  border: 1px solid var(--green);
  border-radius: 2rem;
  background: transparent;
  font-weight: 500;
}

a.btn.btn-primary, a.button.btn-primary {
  color: #FFFFFF;
}

.btn.btn-primary, .button.btn-primary {
  background: var(--green);
  border-color: var(--green);
}

.btn.btn-primary.btn-red, .button.btn-primary.btn-red {
  background: var(--red);
  border-color: var(--red);
}

.btn.btn-secondary.btn-red, .button.btn-secondary.btn-red, a.btn.btn-secondary.btn-red, a.button.btn-secondary.btn-red {
  color: var(--red);
  border: 1px solid var(--red);
}

.btn:focus, .btn:hover, .button:focus, .button:hover, a.btn:focus, .btn:hover, a.button:focus, .button:hover {
  border-color: var(--green-dark);
  color: var(--green-dark);
  background: rgba(0, 102, 123, 0.1);
}

.btn.btn-primary:focus, .btn.btn-primary:hover, .button.btn-primary:focus, .button.btn-primary:hover {
  border-color: var(--green-dark);
  background: var(--green-dark);
}

.btn.btn-primary.btn-red:focus, .btn.btn-primary.btn-red:hover, .button.btn-primary.btn-red:focus, .button.btn-primary.btn-red:hover {
  border-color: var(--red-dark);
  background: var(--red-dark);
}

.btn.btn-secondary.btn-red:focus, .btn.btn-secondary.btn-red:hover, .button.btn-secondary.btn-red:focus, .button.btn-secondary.btn-red:hover, a.btn.btn-secondary.btn-red:focus, a.btn.btn-secondary.btn-red:hover, a.button.btn-secondary.btn-red:focus, a.button.btn-secondary.btn-red:hover {
  border-color: var(--red-dark);
  color: var(--red-dark);
  background: rgba(88, 31, 30, 0.1);
}

.hero {
  padding-top: 8rem;
  padding-bottom: 4rem;
  justify-content: flex-end;
  background: -moz-linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(221, 228, 229, 0.5) 100%);
  background: -webkit-linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(221, 228, 229, 0.5) 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(221, 228, 229, 0.5) 100%);
}

.hero.hero-large {
    height: 744px;
    max-height: 95vh;
    background-position: right;
    background-size: cover;
  }

.hero h1 {
    font-size: 3.6rem;
    color: #000000;
  }

@media (max-width: 840px) {
  .hero h1 {
    font-size: 3rem;
  }
}

.hero p {
    font-family: Space Grotesk;
    letter-spacing: 2.5%;
    font-size: 1.5rem;
    font-weight: 400;
  }

.hero .container {
    position: relative;
}

/*Nav CTA*/
.nav-cta {
  background: var(--red);
  color: #FFFFFF !important;
  font-size: .8rem;
  font-weight: 500;
  display: flex;
  height: 100%;
  align-items: center;
  transition: background .2s,border .2s,box-shadow .2s,color .2s;
}

.nav-cta:focus, .nav-cta:hover {
  background: var(--red-dark);
  text-decoration: none;
}

.navbar .nav-cta {
margin-right: -1.5rem;
padding: 0.25rem 1.5rem;
width: max-content;
}

.mobile-container .nav-cta {
padding: 1rem 1.4rem;
font-size: 1rem;
}


/* Hero bullet */

.hero .container::before {
  content: "";
  display: block;
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  left: -2rem;
  top: 4rem;
  background-color: #000000;
  border-radius: 0.625rem;
}

.hero .container::after {
  content: "";
  display: block;
  position: absolute;
  width: 0.1rem;
  height: 20rem;
  top: -8.5rem;
  left: -1.4rem;
  background: rgb(0,0,0);
  background: -moz-linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
  background: -webkit-linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
}

.hero.hero-medium .container::after {
  height: 11rem;
  top: -1.5rem;
}

@media (max-width: 840px) {
  .hero .container::before {
    width: 1rem;
    height: 1rem;
    left: -1rem;
    top: 3.5rem;
  }

  .hero .container::after {
    left: -0.6rem;
  }
}

@media (max-width: 1296px) {
  section.hero:not(.hero-text-right) {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

/* Push text to the right*/

.hero-text-right .container {
max-width: 40rem;
margin-right: 6vw;
}

/* Modular text columns vertical align */
.modular-text .column.d-flex, .modular-slider .column.d-flex {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

/* CTA and footer */
.dark, #footer {
  background: var(--green-dark) !important;
  color: #FFFFFF;
}
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 {
  color: #FFFFFF;
}

/* Alternate color deco text */
.deco-text .container {
  max-width: 55rem;
}

.deco-text strong {
  font-weight: 400;
  color: var(--green);
}

@keyframes animate {
  0% {
    background-position: -500%;
  }
  100% {
    background-position: 500%;
  }
}

/* Images go all the way to the border + text columns with images are higher */
.modular-slider, .modular-text {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.modular-slider .col-text, .modular-text .col-text {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 1296px) {
  .img-full-w .col-img {
      position: relative;
      min-height: 35vw;
  }
  .img-full-w .col-img > img {
    max-width: none;
  }
  .img-full-w .col-img > * {
    position: absolute;
  }
  .img-full-w .col-img.col-6 > * {
    width: 50vw;
    max-height: 100%;
    object-fit: cover;
  }
  .img-full-w .col-img.col-9 > * {
    width: calc(315px + 50vw);
  }
  .img-full-w .right .col-img > * {
    right: calc(-50vw + 641px);
  }
  .img-full-w .left .col-img > * {
    left: calc(-50vw + 641px);
  }
  .img-full-w .columns:first-child .col-img img {
    top: -1rem;
  }
}

@media (min-width: 840px) and (max-width: 1296px) {
  .img-full-w.right .col-img > * {
    position: relative;
    right: -1.5rem;
  }
  .img-full-w.left .col-img > * {
    position: relative;
    left: -1.5rem;
  }
}

@media (max-width: 840px) {
  .col-img { 
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

/* Staggered vertical imgs */
.vertical-imgs .col-img {
  margin-top: 6rem;
  margin-bottom: 6rem;
}
.vertical-imgs .col-img .columns > .column:nth-child(1) {
  margin-top: -10rem;
}
.vertical-imgs .col-img .columns > .column:nth-child(3), .vertical-imgs .column.col-text.d-flex {
  margin-bottom: -10rem;
}

@media (max-width: 960px) {
  .vertical-imgs .column.col-text.d-flex {
    margin-bottom: -2rem;
  }
}

/*Custom Slider*/

.slider-labels {
  list-style: none;
  margin-left: 0;
}

.slider-labels li {
  font-family: Space Grotesk;
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  font-weight: 400;
}

.slider-labels li a {
  color: #000000;
}

.slider-labels li a:hover, .slider-labels li a:focus {
  text-decoration: none;
  color: var(--green);
  font-weight: 700;
}

.col-img .owl-carousel {
  margin-top: -1rem;
}

/*Contacto*/
.contacto .form-section {
  display: -ms-flexbox;
  display: flex;
  margin-right: -.4rem;
  margin-left: -.4rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.contacto #body-wrapper > .container {
  max-width: 856px;
  text-align: center;
}

.contacto .form-label {
  text-align: left;
  font-family: Space Grotesk;
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  font-weight: 400;
  padding: 0.66rem 0;
}

.form-input, .search-input, [data-grav-field="array"] input, [data-grav-field="array"] textarea {
  height: 2.5rem;
}