@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;600;800&display=swap');

*, *::before, *::after {
    box-sizing: border-box;
}
html {
    /* scroll-behavior: smooth;           /* scroll suave */
    /* scroll-snap-type: y mandatory;     eje Y, obligatorio */
    margin: 0;
    padding: 0;
    width: 100%;
}

body {
    font-optical-sizing: auto;
    background-color: #fff;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    /* overflow: auto; */
}
.body-regular { overflow: auto;}
section {
    scroll-snap-align: start;          /* “engancha” al comienzo */
    height: 100vh;                      /* ocupa pantalla completa */
    width: 100%;
}
.regular-section { height: auto;}
#section1 {
    height: 100vh;
    background-color: #39208c;
    display: flex;
    overflow: hidden;
    /* justify-content: space-between; */
    /* justify-content: flex-end; */
    width: 100%;
    position: relative;
    /* gap: 100px; */
}

header {
    height: 70px;
    margin-top: 20px;
    margin-bottom: 100px;
    align-content: center;
    position: relative;
}
#header-center {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 15px;
}
#logo-text {color: #fff; font-weight: 600; font-size: 1.7rem;}
#logo-text-black {color: #333; font-weight: 600; font-size: 1.7rem;}
#main-logo {
    width: 60px;
}
.max-width {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.flex {
    display: flex;
    justify-content: space-between;
}
.left {
    width: 60%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: space-between;
    display: flex;
    position: relative;
    overflow: hidden;
}
#left_bg {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    opacity: .5;
    z-index: 0;
}
#left-box {
 max-width: 80%;
 margin: 0 auto;
 height: auto;
 position: relative;
 z-index: 10;
}
.right {
    flex: 1;
    background-color: #fff;
    align-content: center;
    text-align: center;
}
#left-bottom-container {
    height: 300px;
    background-color: black;
    display: flex;
    flex-direction: row;
    gap: 2px;
    overflow: hidden;
}
#left-bottom-container img {
    flex: 1;
    flex-grow: 1;
    width: 20%;
    object-fit: cover;
    /* opacity: .2; */
}
.align-right {
    text-align: right;
}
#title { color: #fff; font-size: 5rem; line-height: 5rem; margin-bottom: 0px; position: relative; z-index: 99; font-weight: 800;}
#title-black { color: #333; font-size: 5rem; line-height: 5rem; margin-bottom: 0px; position: relative; z-index: 99; font-weight: 800;}
.sub_title { font-optical-sizing: auto; font-style: normal; color: #fff; font-size: 2rem; font-weight: 300; text-align: justify;}
.sub_title-black { font-optical-sizing: auto; font-style: normal; color: #333; font-size: 2rem; font-weight: 300; text-align: justify;}

#download-app-container {
    display: flex;
    gap: 20px;
    justify-content: center;
}
#download-app-container-mobile {
    display: none!important;
    gap: 20px;
    justify-content: center;
}
#mobile-image {
    max-width: 280px;
    margin: 0 auto;
}
.download-images {
    max-width: 170px;
    height: 50px;
}
.download-images:hover {
    opacity: .5;
    transition: .3s;
}

#header-menu-container {
    margin-left: auto;
}

#get-the-app-title {
    color:  #000;
    font-size: 1.5rem;
    margin-top: 50px;
}

#right-bottom {
    margin-top: 60px;
    opacity: .5;
    font-size: 14px;
}

#scroll-pointer-container { position: absolute; left: 58%; bottom: 10px; transform: translate(-50%, 0%); z-index: 99; width: 60px; height: 60px; display: flex; justify-content: center; align-items: center; background: #ee4054; border-radius: 50%; box-shadow: 0 0 20px 0px rgba(0, 0, 0, .7); animation: pulse 2s ease-in-out infinite;}

@keyframes pulse {
    0% {
      transform: scale(1);
      opacity: 1;
      box-shadow: 0 0 0 0 rgba(238, 64, 84, 0.7);
    }
    50% {
      transform: scale(1.1);
      opacity: 0.7;
      box-shadow: 0 0 0 10px rgba(238, 64, 84, 0);
    }
    100% {
      transform: scale(1);
      opacity: 1;
      box-shadow: 0 0 0 0 rgba(238, 64, 84, 0);
    }
  }

.section-box { max-width: 1400px; margin: 0 auto; display: flex;
    justify-content: space-between;
    flex-direction: row; height: 100%; width: 100%;}
#section2 {
    /* border-top: 20px solid #ee4054; */
    background: #ee4054;
    position: relative;
}
.box-padding { padding-left: 10%;}
#s2-left { flex: 1; display: flex; width: 50%; align-content: center; align-items: center; justify-content: center;}
#s2-right { flex: 1; display: flex; width: 50%; align-content: center; align-items: center; justify-content: center; position: relative; z-index: 59;}
#s2-h2 { font-size: 4rem; line-height: 4rem; font-weight: 800; color: #fff; position: relative; z-index: 10;}
/* #s2-h2::before {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, .2);
    left: 0px;
    top: 0px;
    width: 80%;
    height: 80%;
    z-index: -1;
} */
#s2-right-image { max-height: 500px; border-radius: 120px; z-index: 10;}
#svg-section2-circle-bg { position: absolute; top: 0; height: 60%; width: 90%; background: #39208c; border-radius: 0 50% 50% 150%; z-index: 0; opacity: .5;}
.wave-top {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #b32e3d;  /* el color del div */
    overflow: hidden;     /* para ocultar lo que quede fuera */
  }
  .wave-svg path {
    fill: #ee4054; /* el color que prefieras */
  }
  
  .wave-svg {
    position: absolute;
    top: -1px;            /* ajusta para que no se vea línea blanca */
    left: 0;
    width: 100%;
    height: 150px;        /* alto de la onda */
  }
  
  .wave-top .content {
    position: relative;   /* para superponer sobre el SVG */
    padding: 120px 20px 40px; /* deja espacio para la onda */
    color: #fff;
  }

#section3 { background: #fff; position: relative;}
#svg-buildings-container {
    position: absolute;
    width: 100%;
    z-index: 0;
    bottom: 0;
    height: 200px;
}
#s3-left { flex: 1; display: flex; width: 50%; align-content: center; align-items: center; justify-content: center; z-index: 10; position: relative;}
#s3-right { flex: 1; display: flex; width: 50%; align-content: center; align-items: center; justify-content: center; margin-bottom: 50px; z-index: 10; position: relative;}
#s3-h2 { font-size: 4rem; line-height: 4rem; font-weight: 800; color: #2c8361; position: relative; z-index: 10;}

#s3-right-image { max-height: 500px; border-radius: 120px;}

#section4 { background: #48b98d; position: relative;}
#s4-left { flex: 1; display: flex; width: 50%; align-content: center; align-items: center; justify-content: center;}
#s4-right { flex: 1; display: flex; width: 50%; align-content: center; align-items: center; justify-content: center;}
#s4-h2 { font-size: 4rem; line-height: 4rem; font-weight: 800; position: relative; z-index: 10; margin-bottom: 0; padding-bottom: 0;}
/* #s4-h2::before {
    content: "";
    position: absolute;
    background: #2c8361;
    left: 50px;
    top: 60px;
    width: 80%;
    height: 70%;
    z-index: -1;
    opacity: .1,
} */
#s4-right-image { max-height: 500px; border-radius: 120px; position: relative; z-index: 10;}
#svg-section4-circle-bg { position: absolute; bottom: 0; height: 78%; width: 55%; background: #f8c744; border-radius: 50% 50% 50% 0; z-index: 0;}

.row { margin-bottom: 20px;}
.row-h3 { font-size: 2rem; line-height: 1.6rem; margin: 0; margin-bottom: 5px; position: relative; z-index: 0; padding-left: 25px;}
.row-h3::after {
    content: "";
    position: absolute;
    z-index: 99;
    width: 16px;
    height: 16px; 
    border-radius: 6px;
    background: #000;
    left: 0;
    top: 4px;

}
.row-info { font-size: 18px; color: #666;}

#section5 {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
}
#section5-download { text-align: center; margin-top: 10%; gap: 50px; display: flex; justify-content: center;}
.s5-download-images { max-width: 350px;}
#s5-bottom { margin-top: auto; padding: 20px; text-align: center; z-index: 99; color: #fff; display: flex; justify-content: space-between;}
#s5-bottom a {color:  #fff; text-decoration: none; margin-left: 10px; margin-right: 10px;}
#semicircle-container { position: absolute; bottom: 0; width: 100%; height: 150px; z-index: 0;}

#s5-follow-us {text-align: center; margin-top: 100px;}

#social-icon-container { display: flex; justify-content: center; gap: 30px; align-items: center;}

@media screen and (max-width: 840px) {
    *, *::before, *::after {
        box-sizing: border-box;
      }
    html, body {
        overflow-x: hidden;   /* quita el scroll horizontal */
      }
      html, body {
        overflow-x: hidden;
        margin: 0;
        padding: 0;
      }
    #header { margin-bottom: 20px;}
    
      /* Fuerza a que las secciones no sobrepasen el 100% */
      
    #module1 { display: initial; height: 100%;}
    .left { width: 100%!important; background: #39208c;}
    .right { padding-top: 10px; height: 100vh;}
    #download-app-container-mobile { display: flex!important; flex-direction: column;}
    #download-app-container-mobile .download-images { max-width: 100%;  width: 100%; height: auto;}
    #title { font-size: 3rem; line-height: 3rem;}
    .sub_title { font-size: 1.6rem; margin-bottom: 80px; text-align: left;}
    #left_bg { width: 200%; left: 0%; transform: translate(-50%, 0);}
    section { height: auto; display: inherit;}
    #section1, #section2, #section3, #section4, #section5 { height: auto; width: 100%; position: relative; display: inherit; box-sizing: border-box;}
    #section1 {min-height: 100vh; height: auto; padding-bottom: 100px; display: initial;}
    #left-box { margin-bottom: 350px;}
    #section2, #section3, #section4, #section5 { padding-top: 40px; padding-bottom: 40px;}
    .section-box { display: inherit; width: 100%; box-sizing: border-box; max-width: 100%; padding: 20px;}
    section {
        width: 100% !important;
        max-width: 100% !important;
      }
    #s2-h2 { font-size: 2.6rem; line-height: 2.6rem; margin: 20px;}
    #s2-left, #s3-left, #s4-left { width: 100%; display: inherit; box-sizing: border-box;}
    #s2-right, #s3-right, #s4-right { width: 100%; display: inherit; align-content: center; align-items: center; text-align: center; box-sizing: border-box; flex: auto;}
    .box-padding { text-align: center; padding-left: 0%;}
    #s2-right-image, #s3-right-image, #s4-right-image { width: 50%; max-width: 50%; margin: 0 auto; border-radius: 20px;}
    #s2-right-image { max-width: 70%; width: 100%; border: 20px solid #fff;}

    #s3-right { margin-bottom: 160px;}
    #s3-h2 { font-size: 2.3rem; line-height: 2.3rem; text-align: left;}
    #s3-right-image { max-width: 70%; width: 100%; border: 20px solid #ccc;}
    .row { padding-left: 10px; padding-right: 10px;}
    .row-h3 { font-size: 1.6rem; line-height: 2rem; margin-bottom: 5px; text-align: left;}
    .row-info { font-size: 1.2rem; text-align: left;}

    #s4-right-image { max-width: 70%; width: 100%; border: 20px solid #fff;}
    #s4-left { margin-bottom: 50px;}
    #s4-h2 {font-size: 2.6rem; line-height: 2.6rem; text-align: left;}
    #svg-section4-circle-bg { top: 0%; border-radius: 0 0 50% 20%; height: 70%; width: 100%;}

    #section5 { text-align: center; min-height: 110vh; height: auto;}
    /* .s5-download-images { max-width: 200px;} */
    #get-the-app-title { margin-top: 50px; margin-bottom: 30px;}
    #s5-follow-us { position: relative; padding-top: 50px;}
    #section5-download { display: initial; width: 100%; margin-bottom: 100px;}
    /* #social-icon-container { margin-top: 100px;} */
    #scroll-pointer-container { display: none;}

    #s5-follow-us { margin-top: 0;}
    #s5-bottom { position: absolute; bottom: 0; text-align: center;}

}
