html {
  scroll-behavior: smooth;
}

body {
  margin: 0 auto;
  position: relative;
  animation: carga 0.5s linear forwards;
  will-change: opacity;
  background: #efefef;
}

body::-webkit-scrollbar {
  width: 9px;
  background: #333;
}

body::-webkit-scrollbar-thumb {
  background: #555;
}

h1,
h2 {
  font-family: "Libre Baskerville", serif;
}

h3,
h4,
h5 {
  font-family: "Signika", sans-serif;
}

p {
  font-family: "Montserrat", sans-serif;
}

.menu-icon {
  display: none;
}

.x-menu-but {
  display: none;
}

.menu-mobile {
  display: none;
}

.hd-bg {
  width: 100%;
  height: 1294px;
  background-image: url(../images/Fotos-09.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: top;
  position: fixed;
}

.container {
  width: 67%;
  margin: 0 auto;
}

.animado {
  opacity: 0;
  transition: all 1s;
}

.aparece {
  opacity: 1;
}

.mob {
  display: none;
}

.logo-cont-mob {
  display: none;
}

@keyframes carga {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*     HEADER     */

.header {
  z-index: 2;
  position: relative;
  height: 130px;
}

.head-container {
  width: 88%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2em;
}

.logo-cont {
  width: 23%;
  margin: 0 0.2em;
}

.head-subcont {
  width: 65%;
}

.head-subcont-up {
  display: flex;
  justify-content: flex-end;
}

.lang {
  width: 7%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-right: 1.5em;
  position: relative;
}

.lang-es {
  border: 2px solid #9b3d3d;
  color: white;
  font-family: "Signika", sans-serif;
  width: 60%;
  margin: 0 auto;
  padding: 0.1em 0.4em;
  display: flex;
  background: none;
  font-size: 1em;
  width: 90%;
  cursor: pointer;
}

.but-sub {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lang-es:hover {
  color: #9b3d3d;
}

.lang ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 83%;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 90%;
  border: 2px solid #9b3d3d;
  background: rgba(20, 20, 20, 0.6);
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.4s ease;
  display: none;
}

.langm.is-active {
  opacity: 1;
  transform: translateY(0px);
  display: block;
  z-index: 7;
}

.lang ul li {
  list-style: none;
  width: 92%;
}

.lang ul li a {
  color: white;
  text-decoration: none;
  font-family: "Signika", sans-serif;
  padding: 0.2em 0.4em;
  display: flex;
  width: 90%;
}

.lang ul li a:hover {
  color: #9b3d3d;
}

.lang-es:focus {
  outline: none;
}

.head-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 18%;
}

.head-redes a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}

.menu {
  display: flex;
  justify-content: flex-end;
  animation: carga 0.5s ease-in forwards;
  animation-delay: 0.5s;
  will-change: opacity;
  opacity: 0;
}

.sub-menu {
  display: flex;
  width: 56%;
  justify-content: space-between;
  padding-right: 0.4em;
}

.menu-op {
  list-style: none;
}

.menu-op a {
  text-decoration: none;
  color: white;
  font-family: "Signika", sans-serif;
  font-size: 0.9em;
}

.menu-op a:hover {
  text-decoration: underline;
}

/*      FIN HEADER     */

/*     INICIO HERO     */

.hero {
  position: relative;
  height: 100vh;
  margin-top: -130px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-title {
  color: white;
  font-weight: 300;
  font-size: 3.2em;
  animation: carga 0.8s ease-in forwards;
  animation-delay: 1s;
  will-change: opacity;
  opacity: 0;
  margin: 10px 0;
}

.hero-desc {
  color: white;
  font-weight: 300;
  font-size: 1.6em;
  line-height: 140%;
  animation: carga 0.8s ease-in forwards;
  animation-delay: 1.4s;
  will-change: opacity;
  opacity: 0;
  margin: 10px 0;
}

.icono-down {
  width: 60px;
  height: 120px;
  margin: 0 auto;
  animation: carga 0.8s ease-in forwards;
  animation-delay: 1.6s;
  will-change: opacity;
  opacity: 0;
  display: flex;
  justify-content: center;
}

.down-img {
  height: 94px;
  animation-name: down;
  animation-duration: 1s;
  animation-delay: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes down {
  0% {
    transform: translateY(0px);
  }

  55% {
    transform: translateY(15px);
  }

  100% {
    transform: translateY(0px);
  }
}

/*     FIN HERO     */

/*     INICIO INVERSIONES     */

.inversiones {
  display: flex;
  background: #efefef;
  position: relative;
  padding: 7em 0 9em;
}

.inv-title-cont {
  border-left: 2px solid #2d5780;
  padding-left: 2.5em;
}

.inversiones-title {
  margin: 0.3em 0;
  color: #888;
  font-weight: 300;
  font-size: 1.2em;
  letter-spacing: 1px;
}

.inversiones-subtitle {
  margin: 0.8em 0;
  font-size: 1.7em;
  font-weight: 500;
  color: #2d5780;
}

.inversiones-text {
  padding-left: 2.5em;
  margin: 1.9em 0 4em;
}

.inversiones-text p {
  color: #888;
  line-height: 165%;
  font-size: 0.88em;
}

.inv-img2 {
  display: none;
}

.asesoria-seguimiento-cont {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin: 0;
  padding: 0;
}

.a-s-subcont {
  border-left: 2px solid #2d5780;
  display: flex;
  align-items: center;
  padding-left: 4em;
  right: 0;
  margin: 3em 0 1em;
}

.a-s-title {
  font-size: 1.7em;
  font-weight: 400;
  color: #2d5780;
}

.a-s-text {
  color: #888;
  font-size: 0.85em;
  line-height: 165%;
  padding-left: 2.5em;
}

/*     FIN INVERSIONES     */

/*     INICIO ESTRUCTURAS     */

.estructuras {
  background: #f5f5f5;
  position: relative;
}

.estructuras-bg {
  height: 60vh;
  width: 100%;
  background-image: url(../images/Fotos-11.webp);
  background-size: 100%;
  background-repeat: no-repeat;
}

.estructuras-cont {
  margin-top: -12%;
  background: #fff;
  text-align: center;
  padding-top: 4em;
}

.estructuras-title {
  margin: 0;
  color: #888;
  font-weight: 300;
  font-size: 1.2em;
  letter-spacing: 1px;
}

.estructuras-subtitle {
  margin: 0.7em 0;
  font-weight: 400;
  font-size: 1.8em;
  color: #9b3d3d;
}

.estructuras-desc {
  width: 55%;
  margin: 0 auto;
}

.estruct-desc-title {
  margin: 0.2em 0 1.2em;
  font-weight: 400;
  font-size: 1.2em;
  color: #9b3d3d;
}

.estructuras-desc p {
  color: #888;
  margin: 0;
  padding: 0.6em;
  font-size: 1.1em;
}

.e-d2 {
  border-top: 2px solid #9b3d3d;
  border-bottom: 2px solid #9b3d3d;
}

.trabajamos {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70%;
  margin: 0 auto;
  padding: 3em 0 4em;
}

.trabajamos-img-cont {
  width: 15%;
  background: #f7f7f7;
  margin: 0;
  border-bottom: 2px solid #f7f7f7;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.2s ease-in;
  will-change: border box-shadow;
}

.trabajamos-img {
  width: 60%;
  margin: 1.2em 0;
}

.trabajamos-img-cont:hover {
  border-bottom: 2px solid #9b3d3d;
  box-shadow: 0px -1px 5px 2px rgba(0, 0, 0, 0.1);
}

.trabajamos-text {
  font-family: "Libre Baskerville", serif;
  color: #888;
  font-size: 0.95em;
  text-align: start;
  padding-left: 2em;
}

/*     FIN ESTRUCTURAS     */

/*     INICIO NOSOTROS     */

.nosotros {
  position: relative;
  background: #f5f5f5;
  padding: 7em 0 11em;
}

.nos-title-cont {
  border-left: 2px solid #2d5780;
  padding-left: 2.5em;
}

.nosotros-title {
  color: #888;
  font-weight: 300;
  font-size: 1.25em;
  letter-spacing: 1px;
}

.nosotros-subtitle {
  font-size: 1.7em;
  font-weight: 500;
  color: #2d5780;
}

.nosotros-text {
  padding-left: 2.5em;
}

.nosotros-text p {
  color: #888;
  font-size: 0.85em;
  line-height: 160%;
  margin: 0.5em;
}

.red-inf-cont {
  display: flex;
  justify-content: space-between;
  padding-top: 4em;
}

.red-inf-subcont {
  width: 43%;
}

.red-inf-title {
  color: #2d5780;
  border-left: 2px solid #2d5780;
  font-weight: 500;
  font-size: 1.7em;
  padding: 1em 0 1em 1.2em;
  margin: 0;
}

.red-inf-text {
  font-size: 0.85em;
  line-height: 165%;
  margin: 3.4em 0;
  color: #888;
  font-weight: 500;
  padding-left: 2.4em;
}

/*     FIN NOSOTROS     */

/*     INICIO CONTACTO      */

.contacto {
  position: relative;
  background: #ffffff;
  height: 100%;
  padding-bottom: 10em;
}

.contacto-bg {
  width: 100%;
  height: 50vh;
  background-image: url(../images/Fotos-13.webp);
}

.contacto-cont {
  margin-top: -20%;
  background: #ffffff;
  text-align: center;
  padding-top: 3em;
}

.contacto-title {
  color: #888;
  font-weight: 300;
  font-size: 1.25em;
  letter-spacing: 1px;
}

.contacto-subtitle {
  margin: 0.7em 0 1.5em;
  font-weight: 400;
  font-size: 1.7em;
  color: #9b3d3d;
}

.form {
  display: flex;
  width: 56%;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: "Signika", sans-serif;
}

.input {
  width: 45%;
  font-size: 1.2em;
  letter-spacing: 1px;
  border: 2px solid #9b3d3d;
  margin: 0.5em 0;
  padding: 0.6em 0 0.6em 1em;
  outline: none;
  font-family: "Signika", sans-serif;
}

.input2,
.textarea {
  width: 100%;
  font-size: 1.2em;
  letter-spacing: 1px;
  border: 2px solid #9b3d3d;
  margin: 1em 0 0.6em;
  padding: 0.6em 0 0.6em 1em;
  outline: none;
  font-family: "Signika", sans-serif;
}

.textarea {
  max-width: 96%;
  min-width: 96%;
  max-height: 90px;
  min-height: 90px;
  outline: none;
}

.input2:focus,
.textarea:focus,
.input:focus {
  outline: none;
}

.textarea::-webkit-scrollbar {
  width: 9px;
  background: #ddd;
}

.textarea::-webkit-scrollbar-thumb {
  background: #555;
}

.input::placeholder,
.input2::placeholder,
textarea::placeholder {
  font-family: "Signika", sans-serif;
}

.enviar-cont {
  padding-top: 3em;
  display: flex;
  justify-content: center;
  width: 100%;
}

.submit {
  font-size: 1.2em;
  font-weight: 400;
  letter-spacing: 2px;
  border: 2px solid #9b3d3d;
  background: #9b3d3d;
  color: #ffffff;
  padding: 0.4em 1.3em;
  border-radius: 10px;
  font-family: "Signika", sans-serif;
  cursor: pointer;
}

.submit:hover {
  background: #2d5780;
  border: 2px solid #2d5780;
}

.submit:focus {
  outline: none;
}

.submit:active {
  outline: none;
}

/*      FIN CONTACTO     */

/*     INICIO FOOTER      */

.footer {
  position: relative;
}

.footer-up {
  background: #2b353d;
  height: 30vh;

  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.footer-up.mob {
  display: none;
}

.datos {
  color: white;
  width: 250px;
  font-weight: 300;
  font-size: 0.9em;
  text-decoration: none;
  opacity: 0.8;
}

.datos p {
  padding-left: 3em;
  text-decoration: none;
  color: white;
}

.fspan {
  font-weight: 400;
}

.footer-logo-cont {
  width: 18%;
}

.footer-redes {
  width: 250px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  opacity: 0.8;
}

.footer-redes a {
  width: 12%;
  height: 40px;
  margin-left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.f-wsp,
.f-ig,
.f-in {
  width: 40px;
  height: 40px;
  object-fit: cover;
}

.footer-down {
  background: #202629;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5em 0 1em;
  margin: 0 auto;
}

.footer-down-cont {
  display: flex;
  width: 65%;
  justify-content: center;
  margin: 0 auto;
}

.footer-down-cont.mob {
  display: none;
}

.info-exp {
  border-right: 1px solid white;
  color: white;
  font-size: 0.6em;
  font-weight: 300;
  line-height: 165%;
  padding: 0 9em 0 0;
}

.regulaciones {
  color: white;
  font-size: 0.6em;
  line-height: 165%;
  padding: 0 0 0 9em;
  color: white;
  border-left: 1px solid white;
}

.reg-span {
  text-decoration: underline;
  color: white;
}

.reg-span a {
  color: white;
}

.derechos {
  color: white;
  font-size: 0.55em;
  font-weight: 400;
  letter-spacing: 1px;
  margin: 2em auto 0.8em;
  padding-left: 2em;
}

.diseno {
  color: white;
  font-size: 0.55em;
  font-weight: 300;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 1px;
  padding-left: 2em;
}

.diseno a {
  color: white;
}

/*     FIN FOOTER     */

/*    RESPONSIVE     */

@media screen and (max-width: 1650px) {
  .hd-bg {
    height: 100vh;
    max-height: 800px;
    min-height: 500px;
  }

  .header {
    height: 130px;
  }

  .hero {
    height: 100vh;
    max-height: 800px;
    min-height: 500px;
  }

  .hero-title {
    font-size: 3.2em;
    margin-top: 60px;
  }

  .hero-desc {
    font-size: 1.5em;
  }

  .estructuras-cont {
    margin-top: -16%;
  }

  .derechos {
    color: white;
    font-size: 0.55em;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 2em auto 0.8em;
    padding-left: 2em;
  }

  .diseno {
    color: white;
    font-size: 0.55em;
    font-weight: 300;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 1px;
    padding-left: 2em;
  }

  .diseno a {
    color: white;
  }
}

@media screen and (max-width: 1400px) {
  body {
    max-width: 1400px;
  }

  .hd-bg {
    max-height: 520px;
    height: 100vh;
  }

  /*     HEADER   -1400px  */

  .header {
    height: 110px;
  }

  .lang {
    width: 10%;
  }

  .head-redes {
    width: 20%;
  }

  .sub-menu {
    width: 450px;
  }

  .container {
    width: 90%;
  }

  /*    FIN HEADER -1400px    */

  /*    HERO  -1400px   */

  .hero {
    height: 100vh;
    max-height: 520px;
  }

  .hero-title {
    font-size: 2.4em;
    margin-top: 110px;
  }

  .hero-desc {
    font-size: 1.3em;
    margin: 0.5em 0;
  }

  /*       FIN HERO -1400px    */

  /*         INVERSIONES -1400px    */

  .asesoria-seguimiento-cont {
    margin: 3em 0 1em;
    padding-left: 0;
  }

  /*         FIN INVERSIONES -1400px    */

  /*        ESTRUCTURAS  -1400px   */

  .estructuras-bg {
    height: 318px;
  }

  .estructuras-cont {
    margin-top: -5%;
  }

  /*         FIN ESTRUCTURAS  -1400px   */

  /*     FOOTER -1400px     */

  .footer-up {
    height: 20vh;
  }

  .footer-redes a {
    margin-left: 20px;
  }

  .f-wsp,
  .f-ig,
  .f-in {
    width: 35px;
  }

  .footer-down-cont {
    width: 90%;
  }

  .info-exp {
    width: 100%;
    padding: 0;
    font-size: 0.5em;
  }

  .regulaciones {
    width: 100%;
    padding: 0;
    font-size: 0.5em;
  }

  .footer-down-cont.mob {
    display: none;
  }

  .derechos {
    color: white;
    font-size: 0.55em;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 2em auto 0.8em;
    padding-left: 2em;
  }

  .diseno {
    color: white;
    font-size: 0.55em;
    font-weight: 300;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 1px;
    padding-left: 2em;
  }

  .diseno a {
    color: white;
  }

  /*     FIN FOOTER -1400px     */
}

@media screen and (max-width: 1023px) {
  body {
    max-width: 1024px;
  }

  .hd-bg {
    height: 100vh;
    background-size: 145%;
  }

  .container {
    width: 100%;
  }

  /*    HEADER     */

  .header {
    width: 100%;
    height: 90px;
  }

  .logo-cont {
    width: 32%;
  }

  .head-container {
    width: 100%;
    padding-top: 0.7em;
  }

  .head-subcont-up {
    justify-content: flex-end;
    width: 95%;
  }

  .lang {
    width: 12%;
    margin-right: 0.5em;
  }

  .lang ul {
    width: 83%;
  }

  .head-redes {
    width: 30%;
  }

  .menu {
    width: 95%;
  }

  .sub-menu {
    justify-content: space-between;
    width: 100%;
    padding-right: 0;
  }

  /*    FIN HEADER     */

  /*    HERO     */

  .hero {
    height: 100vh;
  }

  .hero-title {
    font-size: 1.7em;
  }

  .hero-desc {
    font-size: 0.9em;
    margin: 0.5em 0;
  }

  /*    FIN HERO     */

  /*    INVERSIONES     */

  .inversiones {
    padding: 2em 0 2em;
  }

  .inv-title-cont {
    width: 85%;
    margin: 0 auto;
  }

  .inversiones-subtitle {
    font-size: 1.5em;
    margin-top: 0.3em;
  }

  .inversiones-text {
    width: 85%;
    margin: 0 auto 4em;
    font-size: 0.9em;
  }

  .inversiones-img-cont {
    width: 100%;
  }

  .asesoria-seguimiento-cont {
    width: 75%;
    margin: 4em 15% 6em;
    justify-content: flex-start;
    padding-left: 2em;
  }

  .a-s-subcont {
    padding-left: 40px;
    width: 100%;
  }

  .a-s-title {
    font-size: 1.5em;
  }

  .a-s-text {
    font-size: 0.69em;
  }

  /*    FIN INVERSIONES     */

  /*     ESTRUCTURAS     */
  .estructuras-bg {
    height: 230px;
  }

  .estructuras-cont {
    width: 90%;
    margin: -4% auto 0;
    padding-top: 1.5em;
  }

  .estructuras-subtitle {
    font-size: 1.5em;
  }

  .estructuras-desc {
    width: 70%;
  }

  .estructuras-desc p {
    font-size: 0.9em;
  }

  .trabajamos {
    padding: 2em 0;
  }

  .trabajamos-text {
    font-size: 0.8em;
  }

  /*    FIN ESTRUCTURS     */

  /*    NOSOTROS     */

  .nosotros {
    padding: 3em 0 3em;
  }

  .nos-title-cont {
    width: 85%;
    margin: 0 auto;
  }

  .nosotros-title {
    margin: 0.3em 0;
  }

  .nosotros-subtitle {
    font-size: 1.4em;
    margin-top: 0.3em;
  }

  .nosotros-text {
    width: 85%;
    margin: 0 auto;
    font-size: 0.8em;
  }

  .red-inf-cont {
    align-items: flex-start;
    width: 90%;
    margin: 0 auto;
  }

  .red-inf-subcont {
    width: 46%;
  }

  .red-inf-title {
    font-size: 1.5em;
    margin: 0.5em 0;
    padding: 0.5em 1em;
  }

  .red-inf-text {
    font-size: 0.7em;
    margin: 1em 0;
  }

  /*    FIN NOSOTROS     */

  /*    CONTACTO     */

  .contacto {
    padding: 0 0 3em;
  }

  .contacto-cont {
    width: 90%;
    margin: 0 auto;
    margin-top: -200px;
    padding-top: 1em;
  }

  .form {
    align-items: center;
    justify-content: space-between;
    width: 90%;
  }

  /*    FIN CONTACTO     */

  /*    FOOTER     */

  .datos {
    width: 30%;
  }

  .footer-logo-cont {
    width: 20%;
  }

  .footer-redes {
    width: 30%;
  }

  .footer-redes a {
    width: 35px;
    height: 35px;
  }

  .f-wsp,
  .f-ig,
  .f-in {
    width: 35px;
    height: 35px;
  }

  .footer-down-cont {
    width: 90%;
  }

  .footer-down-cont.mob {
    display: none;
  }

  .info-exp {
    width: 100%;
    padding: 0;
    font-size: 0.5em;
  }

  .regulaciones {
    width: 100%;
    padding: 0;
    font-size: 0.5em;
  }

  .footer-up.mob {
    display: none;
  }

  .derechos {
    color: white;
    font-size: 0.55em;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 2em auto 0.8em;
    padding-left: 2em;
  }

  .diseno {
    color: white;
    font-size: 0.55em;
    font-weight: 300;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 1px;
    padding-left: 2em;
  }

  .diseno a {
    color: white;
  }
}

@media screen and (max-width: 768px) {
  .body {
    max-width: 768px;
  }

  .mob {
    display: block;
  }

  .desk {
    display: none;
  }

  .menu-icon {
    display: flex;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    margin: 40px 40px;
    align-items: center;
    justify-content: center;
  }

  .x-menu-but {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 40px 40px;
  }

  .header.m-is-active {
    margin-left: 0;
  }

  .header {
    position: fixed;
    width: 100%;
    height: 100vh;
    min-height: 650px;
    max-height: 1300px;
    background: rgba(32, 38, 41, 0.95);
    margin: 0 0 0 100%;
    padding: 0;
    top: 0;
    display: flex;
    align-items: center;
    transition: 0.5s;
  }

  .head-container {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    min-height: 650px;
    max-height: 1300px;
    justify-content: flex-start;
    align-items: flex-start;
    overflow: auto;
  }

  .head-subcont {
    display: flex;
    flex-flow: column-reverse;
    justify-content: center;
    height: 60vh;
    width: 100%;
  }

  .head-subcont-up {
    width: 100%;
  }

  .menu {
    margin-top: 4em;
    width: 100%;
  }

  .sub-menu {
    flex-direction: column;
    align-items: center;
    padding: 0;
  }

  .menu-op {
    padding: 0.5em 0;
    width: 60%;
    text-align: center;
    font-size: 3em;
  }

  .menu-op.s {
    border-top: 2px solid white;
  }

  .lang {
    width: 30%;
    margin: 1em auto 0;
  }

  .lang-es {
    font-size: 2em;
  }

  .lang ul {
    width: 88%;
    margin: 2% 0 0;
  }

  .lang ul li {
    font-size: 2em;
  }

  .head-redes {
    display: none;
  }

  .hd-bg {
    background-size: 340%;
    min-height: 585px;
    height: 100vh;
    max-height: 800px;
    background-position: center top;
  }

  .logo-cont {
    width: 300px;
    margin: 30px 0 0 30px;
  }

  /*    HERO  -768px     */

  .logo-cont-mob {
    display: block;
    position: absolute;
    display: flex;
    width: 300px;
    height: 76px;
    left: 0;
    top: 0;
    margin: 30px 0 0 30px;
    z-index: 1;
  }

  .hero {
    /*
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding-top: 100px;
        padding-bottom: 300px;
*/
    height: 100vh;
    max-height: 800px;
    min-height: 585px;
    margin-top: 0;
  }

  .hero-title {
    font-size: 2.4em;
  }

  .hero-title.pt {
    font-size: 2.4em;
  }

  .hero-desc {
    font-size: 1.8em;
  }

  .hero-desc.pt {
    font-size: 1.8em;
  }

  /*    FIN HERO -768px     */

  /*    INVERSIONES -768px     */

  .inversiones {
    padding-bottom: 4em;
  }

  .inv-title-cont {
    border: none;
    padding: 0;
  }

  .inversiones-title {
    font-size: 1.2em;
    margin: 0.5em 0 1.5em;
  }

  .inversiones-subtitle {
    font-size: 1.5em;
    margin: 1.5em 0;
  }

  .inversiones-text {
    font-size: 1.2em;
    padding: 0;
  }

  .asesoria-seguimiento-cont {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    margin-bottom: 0;
    width: 85%;
  }

  .asesoria-seguimiento-cont-pt {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    margin-bottom: 0;
  }

  .a-s-subcont {
    flex-direction: column;
    align-items: flex-start;
    border: none;
    padding: 0;
    width: 100%;
    margin: 0;
  }

  .a-s-title {
    border-left: 2px solid;
    padding: 0.5em 1em;
    font-size: 2em;
  }

  .a-s-text {
    padding: 0;
    font-size: 0.9em;
    margin-bottom: 0;
  }

  /*    FIN INVERSIONES -768px     */

  /*    ESTRUCTURAS -768px     */

  .estructuras-bg {
    background-size: 170%;
    height: 300px;
    background-position-x: 80%;
    background-position-y: center;
  }

  .estructuras {
    padding-bottom: 1em;
  }

  .estructuras-cont {
    margin-top: -100px;
  }

  .estructuras-desc {
    width: 95%;
  }

  .estructuras-desc p {
    font-size: 1.1em;
  }

  .trabajamos {
    width: 100%;
    flex-direction: column;
  }

  .trabajamos-img-cont {
    width: 35%;
  }

  .trabajamos-text {
    text-align: center;
    padding: 0;
    margin: 2em 0;
    width: 95%;
    font-size: 1.1em;
  }

  /*     FIN INVERSIONES -768px*/

  /*     NOSOTROS -768px     */

  .nosotros {
    margin-top: -5px;
  }

  .nos-title-cont {
    border: none;
    padding: 0;
    margin: 0 auto;
  }

  .nosotros-subtitle {
    margin: 1em 0;
    font-size: 1.3em;
  }

  .nosotros-text {
    padding-left: 0em;
    font-size: 1.3em;
    margin: 1.5em auto 0;
    width: 87%;
  }

  .red-inf-cont {
    flex-direction: column;
    width: 100%;
  }

  .red-inf-subcont {
    width: 80%;
    align-items: center;
    margin: 2em auto 0;
  }

  .re-inf-img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: top;
  }

  .red-inf-title {
    font-size: 2em;
  }

  .red-inf-text {
    font-size: 1em;
  }

  /*    FIN NOSOTROS -768px     */

  /*    CONTACTO -768px     */

  .contacto-bg {
    background-size: 170%;
    background-repeat: no-repeat;
    height: 250px;
    background-position-x: 25%;
  }

  .contacto-cont {
    margin-top: -15%;
  }

  .contacto-title {
    font-size: 1.8em;
  }

  .contacto-subtitle {
    font-size: 1.4em;
  }

  .form {
    width: 90%;
    justify-content: center;
  }

  .input {
    width: 450px;
    border: 1px solid #9b3d3d;
  }

  .textarea {
    max-width: 450px;
    min-width: 450px;
    border: 1px solid #9b3d3d;
  }

  .input2 {
    border: 1px solid #9b3d3d;
    width: 450px;
  }

  .submit {
    font-size: 1.5em;
  }

  /*    FIN CONTACTO -768px     */

  /*    FOOTER -768px     */

  .footer-up.mob {
    display: flex;
    flex-direction: column;
    padding: 2em 0;
  }

  .footer-logo-cont {
    width: 40%;
    margin: 1em 0;
  }

  .footup-sub {
    display: flex;
    margin: 1em 0;
    justify-content: space-between;
    width: 80%;
  }

  .datos {
    width: 50%;
  }

  .datos p {
    margin: 0.5em 0;
  }

  .footer-redes {
    width: 50%;
    justify-content: center;
  }

  .footer-redes a {
    padding: 0.3em 0.5em;
  }

  .footer-down-cont.mob {
    display: block;
  }

  .footer-down-cont {
    flex-direction: column;
  }

  .info-exp {
    border-right: none;
    font-size: 0.6em;
    border-top: 2px solid white;
    padding-top: 1em;
  }

  .regulaciones {
    font-size: 0.6em;
    border-left: none;
  }

  .derechos {
    color: white;
    font-size: 0.55em;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 2em auto 0.8em;
    padding-left: 2em;
  }

  .diseno {
    color: white;
    font-size: 0.55em;
    font-weight: 300;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 1px;
    padding-left: 2em;
  }

  .diseno a {
    color: white;
  }
}

@media screen and (max-width: 624px) {
  .hero-title {
    font-size: 30px;
  }

  .hero-desc {
    font-size: 22px;
  }

  .hero-title.pt {
    font-size: 30px;
  }

  .hero-desc.pt {
    font-size: 22px;
  }

  .estructuras-desc p {
    font-size: 0.9em;
    padding-left: 0;
    padding-right: 0;
  }

  .red-inf-text.mob {
    font-size: 0.9em;
  }

  .contacto-subtitle {
    font-size: 1.1em;
  }

  .input,
  .input2,
  .textarea {
    max-width: 400px;
    min-width: 400px;
  }

  .datos p {
    padding-left: 0;
  }
  @media screen and (max-width: 480px) {
    /*    MENU     */

    .menu-icon,
    .x-menu-but {
      margin: 30px 30px 0 0;
    }

    .logo-cont {
      width: 250px;
      height: 63px;
      margin: 20px 0 0 10px;
    }

    .logo-cont-mob {
      width: 250px;
      height: 63px;
      margin: 20px 0 0 20px;
    }

    .menu-op {
      font-size: 2em;
      padding: 0.8em;
    }

    .lang {
      margin: -1em auto;
    }

    .lang-es {
      font-size: 1.6em;
    }

    .lang ul li {
      font-size: 1.6em;
    }

    /*         FIN MENU     */

    /*     HERO     */

    .hero-title {
      font-size: 1.5em;
      margin-top: 0px;
    }

    .hero-title.pt {
      font-size: 1.5em;
    }

    .hero-desc {
      font-size: 1.2em;
      margin: 0;
    }

    .hero-desc.pt {
      font-size: 1.2em;
    }

    /*    FIN HERO     */

    /*    INVERSIONES     */

    .inversiones {
      padding-top: 3em;
    }

    .inversiones-title {
      margin: 0.5em 0;
    }

    .inversiones-subtitle {
      font-size: 1.2em;
      margin: 0.7em 0;
    }

    .inversiones-text {
      font-size: 1em;
    }

    .a-s-title {
      font-size: 1.6em;
    }

    .a-s-text {
      font-size: 0.83em;
    }

    /*    FIN INVERSIONES     */

    /*    ESTRUCTURAS     */

    .estructuras-bg {
      height: 200px;
    }

    .estructuras-cont {
      margin-top: -22%;
    }

    .estructuras-subtitle {
      font-size: 1.1em;
    }

    .estruct-desc-title {
      font-size: 1.1em;
    }

    .estructuras-desc p {
      font-size: 0.9em;
      padding: 0.7em 0;
    }

    .trabajamos-text {
      font-size: 0.85em;
    }

    /*    FIN ESTRUCTURAS     */

    /*    NOSOTROS     */

    .nosotros {
      padding-top: 3em;
      padding-bottom: 2em;
    }

    .nosotros-subtitle {
      font-size: 1em;
    }

    .nosotros-text {
      font-size: 1em;
    }

    .red-inf-cont {
      padding-top: 2.5em;
    }

    .re-inf-img {
      height: 200px;
    }

    .red-inf-subcont {
      margin: 0 auto;
      padding-top: 1.5em;
      width: 90%;
    }

    .red-inf-title {
      font-size: 1.5em;
    }

    .red-inf-text.mob,
    .red-inf-text.pt.mob {
      font-size: 0.85em;
      padding-left: 2em;
    }

    /*    FIN NOSOTROS     */

    /*    CONTACTO     */
    .contacto-cont {
      margin-top: -35%;
    }

    .contacto-subtitle {
      font-size: 0.9em;
    }

    .textarea,
    .input,
    .input2 {
      max-width: 300px;
      min-width: 300px;
      font-size: 16px;
    }

    /*    FIN CONTACTO     */

    .datos {
      width: 60%;
      display: flex;
      align-items: center;
    }

    .datos p {
      font-size: 1em;
    }

    .footer-redes {
      width: 40%;
    }

    .footer-redes a {
      margin: 0;
      width: 30px;
      height: 30px;
    }

    .f-wsp,
    .f-ig,
    .f-in {
      width: 30px;
      height: 30px;
    }

    .info-exp {
      border-top: 1px solid white;
      font-size: 0.5em;
    }

    .reg-span {
      text-decoration: none;
    }
  }

  @media screen and (max-width: 380px) {
    .logo-cont {
      width: 200px;
      height: 50px;
    }

    .logo-cont-mob {
      width: 200px;
      height: 50px;
      margin-top: 25px;
    }

    .menu-op {
      font-size: 1.5em;
    }

    .hd-bg {
      height: 100vh;
      max-height: 675px;
      min-height: 490px;
      background-size: 430%;
    }

    .hero {
      height: 100vh;
      max-height: 675px;
      min-height: 490px;
    }

    .hero-title,
    .hero-title.pt {
      padding-top: 0;
      margin-top: 50px;
    }

    .hero-desc,
    .hero-desc.pt {
      font-size: 1em;
    }

    .inversiones-subtitle {
      font-size: 1.05em;
    }

    .inversiones-text {
      font-size: 0.87em;
    }

    .a-s-text {
      font-size: 0.7em;
    }

    .estructuras-bg {
      height: 150px;
    }

    .estructuras-cont {
      margin-top: -50px;
    }

    .estructuras-desc p {
      font-size: 0.85em;
    }

    .estructuras-subtitle {
      font-size: 1em;
    }

    .trabajamos-text {
      font-size: 0.7em;
    }

    .nosotros-subtitle {
      font-size: 0.9em;
    }

    .nosotros-text {
      font-size: 0.88em;
    }

    .red-inf-text.mob {
      font-size: 0.74em;
    }

    .contacto-cont {
      margin-top: -150px;
    }

    .contacto-subtitle {
      font-size: 0.78em;
    }

    .textarea,
    .input,
    .input2 {
      max-width: 240px;
      min-width: 240px;
      font-size: 16px;
    }

    .datos {
      font-size: 0.7em;
    }

    .regulaciones {
      font-size: 0.5em;
    }

    .info-exp {
      font-size: 0.4em;
    }
  }
}
