/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@import url("https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap");
.header {
  padding: 0.9375rem 0;
  position: relative;
  -webkit-box-shadow: 0px -1px 29px -9px rgba(0, 0, 0, 0.84);
  -moz-box-shadow: 0px -1px 29px -9px rgba(0, 0, 0, 0.84);
  box-shadow: 0px -1px 29px -9px rgba(0, 0, 0, 0.84);
}
@media print, screen and (min-width: 64em) {
  .header {
    padding: 1.875rem 0;
  }
}
@media screen and (max-width: 63.9375em) {
  .header img.logotipo {
    margin-top: 0.3125rem;
  }
}
@media print, screen and (min-width: 64em) {
  .header img.logotipo {
    width: 7rem;
  }
}
.header ul.principal {
  display: inline-block;
  margin-top: 0.9375rem;
}
.header ul.principal li a {
  font-family: "Mulish", sans-serif;
  transition: 0.3s;
  color: #666666;
  font-size: 1rem;
  font-weight: 600;
}
.header ul.principal li a:hover, .header ul.principal li a:focus, .header ul.principal li a:active, .header ul.principal li a.activo {
  transition: 0.3s;
  color: #A0662D;
}
.header .item-menu {
  display: flex;
  gap: 1.25rem;
  justify-content: right;
  align-items: center;
}
@media print, screen and (min-width: 64em) {
  .header .item-menu {
    padding-top: 1.25rem;
  }
}
.header .item-menu ul.menu li a {
  font-family: "Mulish", sans-serif;
  transition: 0.3s;
  color: #666666;
  font-size: 1rem;
  font-weight: 600;
  padding: 0;
}
.header .item-menu ul.menu li a:hover, .header .item-menu ul.menu li a:focus, .header .item-menu ul.menu li a:active, .header .item-menu ul.menu li a.activo {
  transition: 0.3s;
  color: #A0662D;
}
.header .item-menu ul.menu li a img {
  width: 1.5625rem;
  margin-right: 0.5rem;
}
.header .item-menu ul.menu li:first-child a:after {
  content: "/";
  padding-left: 0.625rem;
  margin-right: 0.625rem;
  font-size: 1.5625rem;
  vertical-align: sub;
  font-weight: 200;
}
.header .open-menu a {
  font-size: 2.5rem;
  color: #1F3042;
  transition: 0.3s;
}
.header .open-menu a:hover, .header .open-menu a:focus, .header .open-menu a:active {
  transition: 0.3s;
  color: #A0662D;
}

.header-linea {
  height: 0.0625rem;
  background: #ffffff;
  width: 100%;
  position: relative;
  bottom: -0.625rem;
  z-index: 10;
}
.header-linea.cafe {
  background: #F2D1A0;
}

.position-right {
  z-index: 50;
  padding-top: 4.375rem;
  padding-left: 4.375rem;
  background: #1F3042;
  height: 100vh;
}
@media print, screen and (min-width: 40em) {
  .position-right {
    width: 21.875rem;
    transform: translateX(21.875rem);
  }
}
.position-right ul.vertical li a {
  font-family: "Mulish", sans-serif;
  transition: 0.3s;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
}
.position-right ul.vertical li a:hover, .position-right ul.vertical li a:focus, .position-right ul.vertical li a:active, .position-right ul.vertical li a.activo {
  transition: 0.3s;
  color: #A0662D;
}
.position-right .close-button {
  transition: 0.3s;
  color: #ffffff;
}
.position-right .close-button:hover, .position-right .close-button:focus, .position-right .close-button:active, .position-right .close-button.activo {
  transition: 0.3s;
  color: #A0662D;
}

.mensaje {
  -webkit-box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.12);
  box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.12);
  background: #ffffff;
  position: absolute;
  z-index: 20;
  top: 5%;
  width: 18.125rem;
  padding: 1.5625rem;
  border-radius: 1.25rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media print, screen and (min-width: 40em) {
  .mensaje {
    width: 28.75rem;
  }
}
.mensaje h3, .mensaje p, .mensaje .close-button {
  color: #ffffff;
}
.mensaje h3 {
  font-size: 1.75rem;
  line-height: 1.75rem;
  font-weight: 600;
}
.mensaje p {
  font-size: 1.25rem;
  line-height: 1.25rem;
  margin-bottom: 0;
}
.mensaje .close-button {
  font-size: 1.25rem;
}

.mensaje.success {
  background: #1F3042;
}

.mensaje.alert {
  background: #e74c3c;
}

h1, h2, h3, h4, h5 {
  font-family: "Cormorant", serif;
  text-transform: uppercase;
}

h1 {
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 3.125rem;
}
@media print, screen and (min-width: 64em) {
  h1 {
    font-size: 3.75rem;
    line-height: 3.75rem;
  }
}

h2 {
  font-weight: 300;
  text-transform: uppercase;
  font-size: 2.5rem;
  line-height: 2.5rem;
}
@media print, screen and (min-width: 64em) {
  h2 {
    font-size: 3.125rem;
    line-height: 3.125rem;
  }
}

.cont-titulo {
  display: flex;
  align-items: end;
  gap: 0.625rem;
  position: relative;
}
.cont-titulo .linea {
  height: 0.0625rem;
  background: #F2D1A0;
  width: 100%;
  position: relative;
  bottom: 1.25rem;
}

p, li {
  font-family: "Mulish", sans-serif;
  font-size: 0.8125rem;
  line-height: 1.5625rem;
  color: #666666;
}
@media print, screen and (min-width: 64em) {
  p, li {
    font-size: 1rem;
    line-height: 1.875rem;
  }
}

.destacado {
  font-family: "Cormorant", serif;
  color: #F2D1A0 !important;
  font-size: 1rem;
  line-height: 1.25rem;
}
@media print, screen and (min-width: 64em) {
  .destacado {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}

.no-margin {
  margin: 0;
}

.relativo {
  position: relative;
}

form span.form-error {
  display: none;
}
form label {
  font-family: "Mulish", sans-serif;
  color: #666666;
  font-size: 1rem;
  line-height: 1rem;
}
@media print, screen and (min-width: 64em) {
  form label {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
form .has-error input[type=text], form .has-error input[type=password], form .has-error input[type=date], form .has-error input[type=datetime], form .has-error input[type=datetime-local], form .has-error input[type=month], form .has-error input[type=week], form .has-error input[type=email], form .has-error input[type=number], form .has-error input[type=search], form .has-error input[type=tel], form .has-error input[type=time], form .has-error input[type=url], form .has-error input[type=color], form .has-error textarea, form .has-error select {
  border-bottom: 0.0625rem solid #e74c3c;
}
form .has-error span.form-error {
  font-family: "Mulish", sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  color: #e74c3c;
  display: block;
  margin-bottom: 0.3125rem;
}
form input[type=text], form input[type=password], form input[type=date], form input[type=datetime], form input[type=datetime-local], form input[type=month], form input[type=week], form input[type=email], form input[type=number], form input[type=search], form input[type=tel], form input[type=time], form input[type=url], form input[type=color], form textarea, form select {
  font-family: "Mulish", sans-serif;
  color: #666666;
  font-size: 0.875rem;
  line-height: 0.875rem;
  box-shadow: none;
  border: none;
  border-bottom: 0.0625rem solid #666666;
  background-color: transparent;
}
form input[type=text]:focus, form input[type=password]:focus, form input[type=date]:focus, form input[type=datetime]:focus, form input[type=datetime-local]:focus, form input[type=month]:focus, form input[type=week]:focus, form input[type=email]:focus, form input[type=number]:focus, form input[type=search]:focus, form input[type=tel]:focus, form input[type=time]:focus, form input[type=url]:focus, form input[type=color]:focus, form textarea:focus, form select:focus {
  background-color: transparent;
  box-shadow: none;
  border: none;
  border-bottom: 0.0625rem solid #666666;
}

.form-group {
  margin-bottom: 0.625rem;
}

.button {
  font-family: "Mulish", sans-serif;
  font-size: 0.875rem;
  line-height: 0.875rem;
  padding: 0.5rem 0.9375rem;
}
.button.boton-cafe {
  transition: 0.3s;
  background: #A0662D;
  color: #ffffff;
  padding: 0.5rem 0.9375rem;
}
.button.boton-cafe:hover, .button.boton-cafe:focus, .button.boton-cafe:active {
  background: #8D4820;
}
.button.boton-blanco {
  transition: 0.3s;
  background: #ffffff;
  color: #8D4820;
}
.button.boton-blanco:hover, .button.boton-blanco:focus, .button.boton-blanco:active {
  transition: 0.3s;
  background: #8D4820;
  color: #ffffff;
}

.separador-5 {
  padding: 0.15625rem 0;
}

.separador-10 {
  padding: 0.3125rem 0;
}

.separador-20 {
  padding: 0.625rem 0;
}

.separador-30 {
  padding: 0.9375rem 0;
}

.separador-40 {
  padding: 1.25rem 0;
}

.separador-50 {
  padding: 1.5625rem 0;
}

.separador-60 {
  padding: 1.875rem 0;
}

.separador-70 {
  padding: 2.1875rem 0;
}

.separador-80 {
  padding: 2.5rem 0;
}

.separador-90 {
  padding: 2.8125rem 0;
}

.separador-100 {
  padding: 3.125rem 0;
}

.site-index {
  background: #1F3042;
  overflow: hidden;
}
.site-index h1, .site-index h2 {
  color: #F2D1A0;
}
.site-index p {
  color: #ffffff;
}
.site-index .banner-fade .cont-banner {
  position: relative;
  color: #ffffff;
  height: 26.5625rem;
  display: flex;
  align-items: end;
  padding-bottom: 3.75rem;
}
@media print, screen and (min-width: 40em) {
  .site-index .banner-fade .cont-banner {
    height: 36.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .site-index .banner-fade .cont-banner {
    height: 39.375rem;
  }
}
.site-index .banner-fade .cont-banner img.fondo {
  position: absolute;
  width: 100%;
  object-fit: cover;
  height: 26.5625rem;
}
@media print, screen and (min-width: 40em) {
  .site-index .banner-fade .cont-banner img.fondo {
    height: 36.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .site-index .banner-fade .cont-banner img.fondo {
    height: 39.375rem;
  }
}
.site-index .banner-fade .cont-banner .textos {
  position: relative;
  padding-bottom: 3.75rem;
}
.site-index .banner-fade .cont-banner .textos .titulo {
  font-family: "Cormorant", serif;
  text-transform: uppercase;
  font-weight: 200;
  font-size: 2.5rem;
  line-height: 2.8125rem;
}
@media print, screen and (min-width: 40em) {
  .site-index .banner-fade .cont-banner .textos .titulo {
    font-size: 3.4375rem;
    line-height: 4.0625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .site-index .banner-fade .cont-banner .textos .titulo {
    font-weight: 200;
    font-size: 4.375rem;
    line-height: 5.3125rem;
  }
}
.site-index .banner-fade .cont-banner .textos .subtitulo {
  font-family: "Mulish", sans-serif;
  font-size: 1.25rem;
  line-height: 1.5625rem;
  font-weight: 600;
}
@media print, screen and (min-width: 64em) {
  .site-index .banner-fade .cont-banner .textos .subtitulo {
    font-size: 1.5625rem;
    line-height: 1.875rem;
  }
}
.site-index .banner-fade .cont-banner .textos .button {
  margin-top: 1.25rem;
}
@media screen and (max-width: 63.9375em) {
  .site-index .banner-fade .cont-banner .textos .button {
    width: 9.375rem;
  }
}
.site-index .seccion-seo {
  padding: 3.125rem 0;
}
@media screen and (max-width: 39.9375em) {
  .site-index .seccion-seo h1 {
    font-size: 1.125rem;
    line-height: 2rem;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .site-index .seccion-seo h1 {
    font-size: 3.4375rem;
  }
}
.site-index .seccion-seo .cont-titulo .linea {
  width: 10%;
}
.site-index .seccion-portafolio {
  background-image: url("../img/textura-01.png");
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 9.375rem;
}
@media print, screen and (min-width: 64em) {
  .site-index .seccion-portafolio {
    padding-top: 11.875rem;
  }
}
.site-index .seccion-portafolio .col-img {
  padding-left: 0;
}
@media screen and (max-width: 39.9375em) {
  .site-index .seccion-portafolio .col-img {
    padding-bottom: 3.125rem;
  }
}
.site-index .seccion-portafolio .col-img img {
  height: 11.875rem;
  object-fit: cover;
  object-position: right;
}
@media print, screen and (min-width: 40em) {
  .site-index .seccion-portafolio .col-img img {
    height: 21.25rem;
  }
}
@media screen and (min-width: 90em) {
  .site-index .seccion-portafolio .col-img img {
    height: auto;
  }
}
.site-index .seccion-portafolio .grid-galeria .column-block {
  margin-bottom: 0.1875rem;
  padding: 0 0.125rem;
}
.site-index .seccion-portafolio .grid-galeria .column-block .cont-imagen {
  overflow: hidden;
  position: relative;
}
.site-index .seccion-portafolio .grid-galeria .column-block .cont-imagen img {
  transition: 0.3s;
  transform: scale(1);
}
.site-index .seccion-portafolio .grid-galeria .column-block .cont-imagen img:hover, .site-index .seccion-portafolio .grid-galeria .column-block .cont-imagen img:focus, .site-index .seccion-portafolio .grid-galeria .column-block .cont-imagen img:active {
  transition: 0.3s;
  transform: scale(1.1);
}
.site-index .seccion-servicios {
  background-image: url("../img/textura-02.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  padding-top: 5.625rem;
}
.site-index .seccion-servicios .grid-servicios {
  margin-top: 4.375rem;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 40em) {
  .site-index .seccion-servicios .grid-servicios {
    display: flex;
    justify-content: center;
    gap: 0.625rem;
    align-items: end;
  }
}
.site-index .seccion-servicios .grid-servicios .item-servicio {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.site-index .seccion-servicios .grid-servicios .item-servicio h3 {
  font-family: "Mulish", sans-serif;
  font-weight: 900;
  font-size: 1.125rem;
  line-height: 1.125rem;
  color: #ffffff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.875rem;
}
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .site-index .seccion-servicios .grid-servicios .item-servicio h3 {
    font-size: 0.75rem;
    line-height: 0.75rem;
  }
}
.site-index .seccion-servicios .grid-servicios .item-servicio img {
  transition: 0.3s;
  transform: scale(1);
}
.site-index .seccion-servicios .grid-servicios .item-servicio img:hover, .site-index .seccion-servicios .grid-servicios .item-servicio img:focus, .site-index .seccion-servicios .grid-servicios .item-servicio img:active {
  transition: 0.3s;
  transform: scale(1.1);
}
.site-index .seccion-testimonios {
  background: #ffffff;
}
.site-index .seccion-testimonios .linea {
  height: 0.125rem;
  background: #8D4820;
  margin: 3.125rem 0;
}
.site-index .seccion-testimonios .testimonio {
  font-size: 1.125rem;
  line-height: 1.5rem;
}
.site-index .seccion-testimonios .testimonio .nombre {
  font-family: "Cormorant", serif;
  font-weight: 900;
  color: #8D4820;
}
.site-index .seccion-testimonios .testimonio .desc {
  font-family: "Mulish", sans-serif;
  color: #1F3042;
  font-weight: 200;
  text-transform: uppercase;
}
@media screen and (max-width: 39.9375em) {
  .site-index .seccion-testimonios img.banco-alto {
    width: 12.5rem;
    margin: auto;
    display: block;
  }
}
.site-index .seccion-testimonios p {
  color: #1F3042;
  font-style: italic;
}
.site-index .seccion-testimonios .contenedor {
  max-width: 90rem;
  margin: auto;
}
.site-index .seccion-testimonios .contenedor img.logo-top, .site-index .seccion-testimonios .contenedor img.logo-btm {
  position: relative;
  left: -7.5rem;
}
@media screen and (min-width: 75em) {
  .site-index .seccion-testimonios .contenedor img.logo-top, .site-index .seccion-testimonios .contenedor img.logo-btm {
    left: 0;
  }
}
.site-index .seccion-testimonios .contenedor img.logo-top {
  top: -6.25rem;
  margin-bottom: -5rem;
}
.site-index .seccion-testimonios .contenedor img.logo-btm {
  margin-top: -4.375rem;
}

.banner-general {
  background-position: 50% bottom;
  background-repeat: no-repeat;
  background-size: cover;
  height: 12.5rem;
  display: flex;
  align-items: center;
}
@media print, screen and (min-width: 64em) {
  .banner-general {
    height: 15.625rem;
    padding-left: 4.6875rem;
  }
}
.banner-general h1 {
  color: #EBE3D7;
}

.site-quienes-somos {
  overflow: hidden;
}
.site-quienes-somos .banner-general {
  background-image: url("../img/bg-quienes-somos.jpg");
}
.site-quienes-somos .seccion-seo {
  background: url("../img/textura-04.png") #1F3042;
  background-repeat: repeat-x;
  background-position: 50% bottom;
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
  height: auto;
  padding-bottom: 6.25rem;
}
@media print, screen and (min-width: 40em) {
  .site-quienes-somos .seccion-seo {
    height: 38.75rem;
  }
}
.site-quienes-somos .seccion-seo p {
  color: #ffffff;
}
.site-quienes-somos .seccion-seo .linea {
  height: 0.0625rem;
  background: #F2D1A0;
  max-width: 33.125rem;
  margin-top: 3.125rem;
}
.site-quienes-somos .seccion-personal {
  margin-top: -5rem;
}
.site-quienes-somos .seccion-personal .cont-persona img {
  margin-bottom: 1.25rem;
}
.site-quienes-somos .seccion-personal .cont-persona .nombre {
  font-family: "Cormorant", serif;
  font-size: 1.25rem;
  color: #8D4820;
  font-weight: 700;
}
.site-quienes-somos .seccion-personal .cont-persona .puesto {
  font-family: "Mulish", sans-serif;
  font-size: 1.125rem;
  text-transform: uppercase;
  color: #8f8e8e;
  margin-bottom: 1.25rem;
}
.site-quienes-somos .seccion-mision {
  padding-bottom: 3.75rem;
}
@media print, screen and (min-width: 64em) {
  .site-quienes-somos .seccion-mision {
    background: url("../img/textura-08.jpg");
    background-repeat: repeat-y;
    background-position: right top;
    background-attachment: fixed;
    background-size: 90rem;
  }
}
@media screen and (min-width: 90em) {
  .site-quienes-somos .seccion-mision {
    width: 75rem;
    margin: auto;
  }
}
.site-quienes-somos .seccion-mision h2 {
  color: #8D4820;
  margin: 0.625rem 0;
  width: 16.875rem;
}
@media print, screen and (min-width: 64em) {
  .site-quienes-somos .seccion-mision h2 {
    margin: 4.375rem 0;
  }
}
.site-quienes-somos .seccion-mision .col-img {
  padding-right: 0;
}
.site-quienes-somos .seccion-mision .col-img img {
  width: 100%;
  object-fit: cover;
}
@media print, screen and (min-width: 40em) {
  .site-quienes-somos .seccion-mision .col-img img {
    height: 25rem;
  }
}
@media screen and (min-width: 90em) {
  .site-quienes-somos .seccion-mision .col-img img {
    height: auto;
  }
}
.site-quienes-somos .btm-azul {
  background-image: url("../img/bottom-text-seo-sm.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 48.125rem;
  padding-top: 6.25rem;
}
@media print, screen and (min-width: 40em) {
  .site-quienes-somos .btm-azul {
    background-image: url("../img/bottom-text-seo.jpg");
    background-size: auto;
    padding-top: 9.375rem;
    height: 39.375rem;
  }
}
.site-quienes-somos .btm-azul h2 {
  color: #F2D1A0;
}
@media screen and (max-width: 39.9375em) {
  .site-quienes-somos .btm-azul h2 {
    font-size: 2.1875rem;
  }
}
.site-quienes-somos .btm-azul p {
  color: #ffffff;
}
.site-quienes-somos .btm-azul .cont-titulo {
  margin-bottom: 1.25rem;
}
.site-quienes-somos .btm-azul .cont-titulo .linea {
  width: 50%;
}

.site-servicios {
  overflow: hidden;
  padding-bottom: 3.125rem;
}
.site-servicios .banner-general {
  background-image: url("../img/bg-quienes-somos.jpg");
}
.site-servicios .seccion-seo {
  background: #1F3042;
}
@media print, screen and (min-width: 64em) {
  .site-servicios .seccion-seo .cont-texto {
    padding-top: 2.5rem;
    /*                width: rem-calc(395);
                    margin: auto;*/
  }
}
.site-servicios .seccion-seo .cont-texto p {
  color: #ffffff;
}
.site-servicios .seccion-seo .bg-textura {
  padding: 3.125rem 0 9.375rem 0;
}
@media print, screen and (min-width: 40em) {
  .site-servicios .seccion-seo .bg-textura {
    padding: 4.375rem 0 9.375rem 0;
    background-image: url("../img/textura-07.png");
    background-repeat: repeat-y;
    background-position: right;
    background-attachment: fixed;
  }
}
.site-servicios img.mueble-md {
  float: right;
  position: relative;
  right: -0.9375rem;
}
.site-servicios .cont-servicios {
  position: relative;
  padding-bottom: 5rem;
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios {
    background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 60%, rgb(31, 48, 66) 60%, rgb(31, 48, 66) 60%, rgb(31, 48, 66) 100%);
  }
}
@media print, screen and (min-width: 64em) {
  .site-servicios .cont-servicios {
    padding-bottom: 9.375rem;
  }
}
.site-servicios .cont-servicios .cuadro {
  height: 9.375rem;
  background: #1F3042;
  position: absolute;
  top: 0;
  right: 0;
  width: 99%;
  z-index: 1;
}
.site-servicios .cont-servicios .bg-titulo {
  height: 8.125rem;
  background-repeat: no-repeat;
  background-position: left bottom;
  display: flex;
  align-items: center;
  margin: auto;
  position: relative;
  z-index: 5;
  margin-bottom: 1.875rem;
}
@media print, screen and (min-width: 64em) {
  .site-servicios .cont-servicios .bg-titulo {
    height: 13.125rem;
  }
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-titulo {
    margin-bottom: 5rem;
  }
}
.site-servicios .cont-servicios .bg-titulo.residencial {
  margin-top: -6.25rem;
  background-image: url("../img/servicios-titulo-bg-01-sm.jpg");
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-titulo.residencial {
    background-image: url("../img/servicios-titulo-bg-01.jpg");
  }
}
@media print, screen and (min-width: 64em) {
  .site-servicios .cont-servicios .bg-titulo.residencial {
    margin-top: -8.75rem;
  }
}
.site-servicios .cont-servicios .bg-titulo.comercial {
  background-image: url("../img/servicios-titulo-bg-02-sm.jpg");
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-titulo.comercial {
    background-image: url("../img/servicios-titulo-bg-02.jpg");
  }
}
.site-servicios .cont-servicios .bg-titulo.cortaestancia {
  background-image: url("../img/servicios-titulo-bg-03-sm.jpg");
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-titulo.cortaestancia {
    background-image: url("../img/servicios-titulo-bg-03.jpg");
  }
}
.site-servicios .cont-servicios .bg-titulo h2 {
  color: #F2D1A0;
}
@media print, screen and (min-width: 64em) {
  .site-servicios .cont-servicios .cont-texto {
    width: 26.25rem;
    margin: auto;
  }
}
.site-servicios .cont-servicios .cont-galeria {
  position: relative;
  display: inline-block;
  margin-top: 3.75rem;
}
.site-servicios .cont-servicios .cont-galeria .grid-galeria {
  display: flex;
  gap: 0.625rem;
  position: relative;
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .cont-galeria .grid-galeria {
    gap: 1.875rem;
  }
}
.site-servicios .cont-servicios .cont-galeria .grid-galeria img {
  width: 9.0625rem;
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .cont-galeria .grid-galeria img {
    transition: 0.3s;
    transform: scale(1);
  }
  .site-servicios .cont-servicios .cont-galeria .grid-galeria img:hover, .site-servicios .cont-servicios .cont-galeria .grid-galeria img:focus, .site-servicios .cont-servicios .cont-galeria .grid-galeria img:active {
    transition: 0.3s;
    transform: scale(1.4);
    box-shadow: 0px -1px 29px -9px rgba(0, 0, 0, 0.84);
  }
}
.site-servicios .cont-servicios .cont-galeria img.grafico {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -6.875rem;
}
.site-servicios .cont-servicios .bg-cotizar {
  margin-top: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-cotizar {
    margin-top: 6.25rem;
    background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 50%, rgb(242, 209, 160) 51%, rgb(242, 209, 160) 100%);
  }
}
@media print, screen and (min-width: 64em) {
  .site-servicios .cont-servicios .bg-cotizar {
    margin-top: 9.375rem;
  }
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-cotizar .cotizar {
    display: flex;
    align-items: center;
  }
}
.site-servicios .cont-servicios .bg-cotizar .cotizar p {
  color: #8D4820;
}
.site-servicios .cont-servicios .bg-cotizar .cotizar .texto-01, .site-servicios .cont-servicios .bg-cotizar .cotizar .texto-02 {
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .site-servicios .cont-servicios .bg-cotizar .cotizar .texto-01, .site-servicios .cont-servicios .bg-cotizar .cotizar .texto-02 {
    height: 12.5rem;
    width: 50%;
  }
}
@media print, screen and (min-width: 64em) {
  .site-servicios .cont-servicios .bg-cotizar .cotizar .texto-01, .site-servicios .cont-servicios .bg-cotizar .cotizar .texto-02 {
    height: 9.375rem;
    padding-left: 3.125rem;
  }
}
.site-servicios .cont-servicios .bg-cotizar .cotizar .texto-01 {
  padding-right: 1.875rem;
}
@media screen and (max-width: 39.9375em) {
  .site-servicios .cont-servicios .bg-cotizar .cotizar .texto-01 {
    padding: 1.25rem 0;
  }
}
.site-servicios .cont-servicios .bg-cotizar .cotizar .texto-01 p {
  font-style: italic;
}
.site-servicios .cont-servicios .bg-cotizar .cotizar .texto-02 {
  padding-top: 1.875rem;
  background: #F2D1A0;
}
.site-servicios .cont-servicios .bg-cotizar .cotizar .texto-02 p {
  font-family: "Cormorant", serif;
  font-size: 1.25rem;
  font-weight: 700;
}
.site-servicios .cont-servicios .bg-cotizar .cotizar .texto-02 .button {
  width: 7.5rem;
}
.site-servicios .seo-bg-azul {
  background: linear-gradient(to bottom, rgb(31, 48, 66) 0%, rgb(31, 48, 66) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
}
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .site-servicios .seo-bg-azul .col-img img {
    height: 18.75rem;
    object-fit: cover;
  }
}
@media print, screen and (min-width: 64em) {
  .site-servicios .text-btm {
    margin-top: -11.25rem;
  }
}

.portafolio-index .banner-general {
  background-image: url("../img/bg-portafolio.jpg");
}
.portafolio-index .cont-filtros {
  background: #1F3042;
  padding: 1.25rem 0;
}
.portafolio-index .cont-filtros form label {
  color: #ffffff;
}
.portafolio-index .cont-filtros form input[type=text], .portafolio-index .cont-filtros form input[type=password], .portafolio-index .cont-filtros form input[type=date], .portafolio-index .cont-filtros form input[type=datetime], .portafolio-index .cont-filtros form input[type=datetime-local], .portafolio-index .cont-filtros form input[type=month], .portafolio-index .cont-filtros form input[type=week], .portafolio-index .cont-filtros form input[type=email], .portafolio-index .cont-filtros form input[type=number], .portafolio-index .cont-filtros form input[type=search], .portafolio-index .cont-filtros form input[type=tel], .portafolio-index .cont-filtros form input[type=time], .portafolio-index .cont-filtros form input[type=url], .portafolio-index .cont-filtros form input[type=color], .portafolio-index .cont-filtros form textarea, .portafolio-index .cont-filtros form select {
  color: #ffffff;
  border-bottom: 0.0625rem solid #ffffff;
}
.portafolio-index .cont-filtros form option {
  color: #1F3042;
}
.portafolio-index .cont-filtros .menu-categorias {
  display: flex;
  justify-content: space-between;
  border-bottom: 0.125rem solid #ffffff;
  padding-bottom: 1.25rem;
}
.portafolio-index .cont-filtros .menu-categorias li a {
  font-size: 1rem;
  line-height: 1rem;
  color: #ffffff;
}
.portafolio-index .cont-filtros .menu-categorias li a:hover, .portafolio-index .cont-filtros .menu-categorias li a:focus, .portafolio-index .cont-filtros .menu-categorias li a:active, .portafolio-index .cont-filtros .menu-categorias li a.activo {
  color: #F2D1A0;
}
.portafolio-index .cont-portafolio {
  background: url("../img/textura-06.jpg");
  background-repeat: repeat-y;
  background-position: 90% top;
  background-attachment: fixed;
  padding: 1.25rem 0;
}
@media screen and (min-width: 90em) {
  .portafolio-index .cont-portafolio {
    margin: auto;
    width: 90rem;
  }
}
.portafolio-index .cont-portafolio .grid {
  gap: 0.3125rem;
  display: grid;
}
@media print, screen and (min-width: 64em) {
  .portafolio-index .cont-portafolio .grid {
    grid-template-columns: repeat(auto-fill, 30rem);
  }
}
.portafolio-index .cont-portafolio .grid .grid-item {
  overflow: hidden;
  position: relative;
}
.portafolio-index .cont-portafolio .grid .grid-item img {
  transition: 0.3s;
  transform: scale(1);
}
.portafolio-index .cont-portafolio .grid .grid-item img:hover, .portafolio-index .cont-portafolio .grid .grid-item img:focus, .portafolio-index .cont-portafolio .grid .grid-item img:active {
  transition: 0.3s;
  transform: scale(1.1);
}
.portafolio-index .cont-portafolio .grid .grid-item h3 {
  margin: 0;
  position: absolute;
  bottom: 0.625rem;
  left: 0.625rem;
  color: #ffffff;
  font-size: 1.25rem;
}
.portafolio-index .btm-azul {
  background: #1F3042;
  padding: 5rem 0 2.5rem 0;
}
.portafolio-index .btm-azul h2 {
  color: #F2D1A0;
}
@media screen and (max-width: 39.9375em) {
  .portafolio-index .btm-azul h2 {
    font-size: 2.1875rem;
  }
}
.portafolio-index .btm-azul p {
  color: #ffffff;
  padding-bottom: 1.25rem;
  border-bottom: 0.0625rem solid #F2D1A0;
}
.portafolio-index .btm-azul .col-titulo {
  display: flex;
  align-items: end;
}

.portafolio-portafolio .bg-contenido {
  padding-top: 2.5rem;
  padding-bottom: 9.375rem;
}
@media print, screen and (min-width: 40em) {
  .portafolio-portafolio .bg-contenido {
    padding-top: 5rem;
    background: url("../img/bg-portafolio-detalle.jpg") no-repeat;
    background-size: 50%;
    background-repeat: repeat-y;
  }
}
@media screen and (min-width: 90em) {
  .portafolio-portafolio .bg-contenido {
    margin: auto;
    width: 75rem;
  }
}
@media screen and (max-width: 39.9375em) {
  .portafolio-portafolio .bg-contenido .col-galeria {
    padding-top: 3.125rem;
  }
}
@media print, screen and (min-width: 40em) {
  .portafolio-portafolio .bg-contenido .col-galeria {
    padding-left: 0;
  }
}
.portafolio-portafolio .bg-contenido .col-galeria .cont-galeria .cont-img {
  overflow: hidden;
  position: relative;
  margin-bottom: 1.875rem;
}
.portafolio-portafolio .bg-contenido .col-galeria .cont-galeria .cont-img img {
  transition: 0.3s;
  transform: scale(1);
}
.portafolio-portafolio .bg-contenido .col-galeria .cont-galeria .cont-img img:hover, .portafolio-portafolio .bg-contenido .col-galeria .cont-galeria .cont-img img:focus, .portafolio-portafolio .bg-contenido .col-galeria .cont-galeria .cont-img img:active {
  transition: 0.3s;
  transform: scale(1.1);
}
.portafolio-portafolio .bg-contenido .col-galeria .cont-img:first-child {
  display: none;
}
.portafolio-portafolio .bg-contenido .contenidos {
  font-family: "Mulish", sans-serif;
  font-size: 1rem;
  line-height: 1.875rem;
  color: #666666;
  padding-top: 1.875rem;
}
.portafolio-portafolio .bg-contenido .contenidos h1 {
  color: #8D4820;
  padding-bottom: 0.625rem;
  border-bottom: 0.1875rem solid #A0662D;
  margin-bottom: 2.5rem;
}
.portafolio-portafolio .bg-contenido .contenidos h3 {
  font-family: "Mulish", sans-serif;
  text-transform: uppercase;
  color: #666666;
  font-size: 1.125rem;
  line-height: 1.125rem;
}
.portafolio-portafolio .bg-contenido .contenidos .alcance p {
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.site-contacto .col-img {
  background-image: url("../img/bg-contacto.jpg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-right: 3.125rem;
  padding-top: 5rem;
}
@media screen and (max-width: 63.9375em) {
  .site-contacto .col-img {
    height: 13.75rem;
  }
}
.site-contacto .col-img h1 {
  color: #ffffff;
}
.site-contacto .col-text {
  padding-top: 1.875rem;
}
.site-contacto .tit {
  font-size: 1.5625rem;
  color: #8D4820;
  font-weight: 600;
}
.site-contacto .col-form {
  background-image: url("../img/textura-03.jpg");
  background-size: 80%;
  background-position: left top;
  background-repeat: repeat-y;
  padding-top: 5rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 75em) {
  .site-contacto .col-form .cont-formulario {
    width: 34.375rem;
  }
}
.site-contacto .col-form .cont-formulario .dir {
  font-weight: 300;
  margin-bottom: 1.875rem;
}
.site-contacto .col-form .cont-formulario .dir span {
  color: #A0662D;
  display: block;
}
.site-contacto .col-form .cont-formulario .aviso {
  font-size: 0.875rem;
}
.site-contacto .col-form .cont-formulario .aviso a {
  color: #A0662D;
}
.site-contacto .col-form .cont-formulario .aviso a:hover, .site-contacto .col-form .cont-formulario .aviso a:focus, .site-contacto .col-form .cont-formulario .aviso a:active {
  color: #8D4820;
}
.site-contacto .col-form .cont-formulario .enlace {
  font-family: "Mulish", sans-serif;
  font-size: 1.25rem;
  color: #A0662D;
}
.site-contacto .col-form .cont-formulario .enlace a {
  color: #A0662D;
}
.site-contacto .col-form .cont-formulario .enlace a:hover, .site-contacto .col-form .cont-formulario .enlace a:focus, .site-contacto .col-form .cont-formulario .enlace a:active {
  color: #8D4820;
}
.site-contacto .col-form .cont-formulario .redes {
  font-size: 1.875rem;
  display: flex;
  gap: 1.25rem;
}
.site-contacto .col-form .cont-formulario .redes a {
  color: #A0662D;
}
.site-contacto .col-form .cont-formulario .redes a:hover, .site-contacto .col-form .cont-formulario .redes a:focus, .site-contacto .col-form .cont-formulario .redes a:active {
  color: #8D4820;
}
.site-contacto .col-form .cont-formulario .frase strong {
  font-family: "Cormorant", serif;
  font-size: 1.25rem;
  color: #8D4820;
  display: block;
}
.site-contacto .col-form .cont-formulario .frase span {
  color: #A0662D;
}

.site-error {
  height: 28.125rem;
  padding: 10% 0;
}
@media print, screen and (min-width: 40em) {
  .site-error {
    background-image: url("../img/bg-error.jpg");
    background-repeat: no-repeat;
    background-size: 50%;
  }
}
@media print, screen and (min-width: 64em) {
  .site-error {
    padding: 5% 0;
    height: 37.5rem;
    background-size: contain;
  }
}
.site-error .contenido {
  padding-left: 20%;
}
@media print, screen and (min-width: 40em) {
  .site-error .contenido {
    padding-left: 50%;
  }
}
.site-error .contenido h1 {
  font-size: 1.5625rem;
  line-height: 1.5625rem;
}

.site-aviso-privacidad h1, .site-aviso-de-privacidad-modal h1 {
  color: #8D4820;
  margin-bottom: 1.25rem;
}
.site-aviso-privacidad p a, .site-aviso-de-privacidad-modal p a {
  color: #8D4820;
}

.site-aviso-privacidad {
  padding: 5rem 0 1.875rem 0;
}

.site-aviso-de-privacidad-modal .contenido {
  height: 37.5rem;
  overflow-y: scroll;
}

.image-full {
  cursor: pointer;
}

/* The Modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: 100;
  padding-top: 1.875rem;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(31, 48, 66);
  background-color: rgba(31, 48, 66, 0.9);
}
.modal .close-button {
  right: 1.875rem;
  top: 1.25rem;
  color: #ffffff;
  z-index: 120;
}
.modal .close-button span {
  font-size: 2.5rem;
}

/* Modal Content (image) */
.modal-content {
  margin: auto;
  display: block;
  width: 50%;
  position: relative;
  z-index: 100;
  height: 90vh;
  object-fit: contain;
}

/* Add Animation */
.out {
  animation-name: zoom-out;
  animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(1);
  }
  to {
    -webkit-transform: scale(2);
  }
}
@keyframes zoom {
  from {
    transform: scale(0.4);
  }
  to {
    transform: scale(1);
  }
}
@keyframes zoom-out {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}
/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px) {
  .modal-content {
    width: 100%;
  }
}
.footer {
  padding: 2.5rem 0 1.875rem 0;
  -webkit-box-shadow: inset 0px 3px 11px -3px rgba(0, 0, 0, 0.46);
  -moz-box-shadow: inset 0px 3px 11px -3px rgba(0, 0, 0, 0.46);
  box-shadow: inset 0px 3px 11px -3px rgba(0, 0, 0, 0.46);
  font-family: "Mulish", sans-serif;
}
.footer img.logotipo {
  width: 5.75rem;
}
.footer .col-logo {
  position: relative;
}
@media screen and (max-width: 39.9375em) {
  .footer .col-logo {
    margin-bottom: 3.125rem;
  }
}
.footer .col-logo .linea {
  background: #F2D1A0;
  height: 0.125rem;
  position: absolute;
  bottom: -1.25rem;
  width: 200%;
  left: -145%;
}
.footer p {
  font-size: 0.875rem;
}
.footer p span {
  color: #A0662D;
}
.footer .enlace {
  font-size: 0.875rem;
  color: #A0662D;
}
.footer .enlace a {
  color: #A0662D;
}
.footer .enlace a:hover, .footer .enlace a:focus, .footer .enlace a:active {
  color: #8D4820;
}
.footer .redes {
  font-size: 1.875rem;
  display: flex;
  gap: 1.25rem;
}
.footer .redes a {
  color: #A0662D;
}
.footer .redes a:hover, .footer .redes a:focus, .footer .redes a:active {
  color: #8D4820;
}

.legales {
  padding: 0.625rem 0;
  background: #1F3042;
}
.legales p {
  font-size: 0.75rem;
  color: #ffffff;
  margin: 0;
}
@media print, screen and (min-width: 64em) {
  .legales p {
    font-size: 0.875rem;
  }
}
.legales p a {
  color: #ffffff;
}
.legales p a:hover, .legales p a:focus, .legales p a:active {
  color: #A0662D;
}

/*# sourceMappingURL=app.css.map */
