html {
  scroll-behavior: smooth;
}
body{ padding:0; margin:0;font-family: 'Montserrat', sans-serif; box-sizing: border-box;}

section{
display:flex;
align-items: center;
position: relative;
height: 100vh;
background-image: url('images/background.png'); /* Replace 'your-image.jpg' with your image file */
background-size: cover;
background-position: center;
-webkit-background-position: center;
/* background: linear-gradient(90deg, #ff69b4, #87ceeb); height: 100vh;   display: flex; padding-bottom:7em; */
}

.hero-section {
    max-width:85%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;


    /* background: linear-gradient(90deg, #ff69b4, #87ceeb); /* Gradient from pink to blue */ */
    /* height: 100vh; /* Set height to 100% of viewport height */ 
    padding:0;
    margin:0 auto;

}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at left bottom, #FF5733, transparent 70%),
 radial-gradient(circle at right top, purple, transparent 70%);
  opacity:0.7;
  z-index:1;
}

.hero-content {
    flex: 1;
    font-family: 'Montserrat', sans-serif;
    padding:1.5em;
    margin-top:5%;
    /* white-space: nowrap; */
    z-index:2;
}

.hero-content h1 {
    font-size: 55px;
    font-family: "Montserrat", sans-serif;
    color: #fff;
    word-break: break-word;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.1;
    margin-bottom: 1em;
    /* white-space: nowrap; */
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    
}

.hero-content h1 .vivo {display: inline-block; background:red; color:#fff; padding:9px; border-radius: 10px; font-size: 45px;}
.hero-content h1 .break { display: inline-block; width: 100%; }

.hero-content p {
    font-size: 24px;
    margin-bottom: 20px;
    line-height: 1.5;
}

.cta-button {
    display: inline-block;
    padding: 15px 30px;
    background-image: linear-gradient(308deg,#ec209e 0%,#e86c60 100%);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 10px;
    font-size: 30px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 1em;
}

.hero-image {
    flex: 1;
    padding:1.5em;
    z-index:2;
}

.hero-image img {
    max-width: 100%;
    height: auto;
}

.moving-image {
    /* width: 200px; */
    /* height: auto; */
    animation: moveUpDown 5s ease-in-out infinite;
  }

  @keyframes moveUpDown {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-20px);
    }
    100% {
      transform: translateY(0);
    }
  }


/* Media Query for Mobile */
@media (max-width: 768px) {
    .hero-section {
        flex-direction: column;
        max-width:95%;
    }

    .hero-content {
        padding: 20px;
        text-align: center;
    }


    .hero-image {
        /* margin-top: 20px; */
        display: none;
    }
}




.card-container, .review-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 6em auto;
    max-width: 85%;
  }

  .card-container h1{ display: block; width:100%; text-align:center; margin-bottom:3em;}

  .review {
      width: 30%;
      margin-bottom: 20px;
      background-color: #fff;
      border-radius: 10px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      /* overflow: hidden; */
      opacity: 1;
      transform: translateY(20px);
      transition: opacity 0.5s ease, transform 0.5s ease;
      font-family: 'Montserrat', sans-serif;
      text-align: center;
      /* transition: background-color 0.5s ease; */
  }

  .review .review-title{
    color: #000;

  }

  .review-content img{

    position: absolute;
    top: -35%;
    left: 50%;

    transform: translate(-50%, -50%);
    width: 25%;
    height: auto;
    border-radius: 50%; /* Make the image circular */
  }

  .stars{
    display: inline-block;
    font-size: 24px;
    content: "\f005"; /* Unicode for filled stars */
    color: gold;
   }

   @media (max-width: 768px) {

       .review {
           width: 100%;
           margin-bottom: 10em;
      }
      .review:last-child {

           margin-bottom: 5em !important;
      }

     .review-content img{
       top: -30%;
     }
 }

/* Style for individual card */
.card {
    width: 22%;
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    /* transition: background-color 0.5s ease; */
}

.card:hover {background:#e86c60;}
/* Fade-in-up animation */
.card.animate {
    opacity: 1;
    transform: translateY(0);
}

.video.animate {
    opacity: 1;
    transform: translateY(0);
}
/* Style for card content */
.card-content, .review .review-content {
    padding: 20px;
}


/* Style for card title */
.card-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    text-transform: uppercase;
    margin-bottom:1.5em;
}
.card-title:nth-child(1)  {color:#e86c60;}
.card-title:nth-child(2)  {color:#ec209e;}
.card-title:nth-child(3)  {color:#ec209e;}
.card-title:nth-child(4)  {color:#e86c60;}

.card-content:hover .card-title, .card-content:hover {color:#fff;}

/* Style for card description */
.card-description {
    font-size: 18px;
    margin-bottom: 20px;
    line-height: 1.5;
}

/* Style for card image */
.card img {
    width: 30%;
    height: auto;
    border-radius: 10px;
    opacity: 0;
    transition: opacity 0.5s ease;
    margin:0 auto;
}

/* Fade-in effect for images */
.card img.fade-in {
    opacity: 1;
}

/* Style for call to action button */
.cta-btn {
    display: block;
    width: 80%;
    padding: 20px;
    text-align: center;
    background-image: linear-gradient(308deg,#ec209e 0%,#e86c60 100%);
    color: #fff;
    text-decoration: none;
    border: none;
    border-radius: 10px;
    transition: background-color 0.3s ease;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 16px;

}

/* Hover effect for call to action button */
.cta-btn:hover {
    background-color: #0056b3;
}

/* Media query for responsiveness */
@media (max-width: 768px) {
    .card {
        width: 100%;
    }
}







/* Container styles */
.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  max-width: 1200px; /* Adjust the maximum width as needed */
  padding: 20px;
  margin:6em auto;


}

/* Column styles */
.column {
  width: 100%; /* Set the width to full width initially */
  height:600px;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .column {
    width: 48%; /* Adjust the width of the columns for larger screens */
    margin: 0 1%;
  }
}

/* Boxed content styles */
.boxed-content {
  background-color: #f0f0f0;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
  font-family: 'Montserrat', sans-serif;
}

.boxed-content p{
  font-size: 18px;
  line-height: 1.5;
}

/* Image styles */
.column img {
  display: block;
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


.faq {

  width: 65%;
  margin: 8em auto;
}

.faq .cta-btn {
  margin: 0 auto;
  text-align: center;
}


.faq h2{ text-align: center; margin-bottom:3em; }

  .question {
            background-color: #f4f4f4;
            padding: 1em;
            margin-bottom: 10px;
            border-radius: 5px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: bold;
            font-size:20px;
        }



        .answer {
            max-height: 0;
            overflow: hidden;
            padding: 0 10px;;
            transition: max-height 0.3s ease-out;

            /* background-color: #fff; */
            font-size:18px;
            line-height: 1.6;
            /* border-radius: 5px; */

        }

        .icon {
            transition: transform 0.3s ease-out;
        }

        .icon.rotate {
            transform: rotate(180deg);
        }

        @media (max-width: 1000px) {
          .faq {

            width: 95%;
        }

        .faq .cta-button {
          margin: 0 auto;
          text-align: center;
        }
      }

        .video-container {
          position:relative;
          padding-bottom: 40.25%;
          width: 80%;
          margin: -6em auto;
          border-radius: 20px; /* Adjust the border-radius to your preference */
          overflow: hidden;
          z-index:2;
        }

        .video-container iframe {
          position: absolute;
          width: 100%;
          height: 100%;
        }



/* Image CSS */
.column {
  perspective: 1000px; /* Establece la perspectiva para la transformación 3D */
  overflow: hidden; /* Oculta el desbordamiento de la imagen */
}

.image {
  width: 100%; /* Ajusta el ancho de la imagen */
  transition: transform 0.5s; /* Agrega una transición para suavizar la transformación */
}

.image.active {
  transform: scale(1.5) translateZ(50px); /* Escala y traduce la imagen en el eje Z */
}


/* 2 columns conteiner */
.comotrabaja{ display: flex; background-color: #f2e6ff; padding:2em;}/* Light purple background */
.inner-trabaja {
    display: flex;
    margin: 0 auto;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        /* height: 100vh; */
        width:85%;
        flex-wrap: wrap;
 }


.column1, .column2 {
     flex: 1;
     flex-basis: 50%;
     padding: 20px;
     display: flex;
     flex-direction: column;
     /* justify-content: center;
     align-items: center; */
     box-sizing: border-box;
   }


   .responsive-image {

     width:100%;
     height: auto;

   }

   .responsive-title {

     position:absolute;
     text-align: left;
     color:#FFF;
     bottom:6em;
     left:6em;
   }

   .responsive-title h3{
     text-transform: uppercase;
     color:#F6DB4A ;
     font-weight: 200;

   }

   .responsive-title h1{
   text-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }


   @media (max-width: 900px) {

  .responsive-title {
       bottom:6em;
     }

  .responsive-title h1{
      width: 100%; /* Adjust width for smaller screens */
      font-size:20px;

  }
     }

     @media (max-width: 600px) {
    .responsive-title {
        position:relative;
        color:black;
        left:0em;
        bottom:0em;
        word-break: normal;
        padding-left:1em;
    }
  }


  .column1 .reserva-cta{
    border-radius: 10px; background-image: linear-gradient(308deg,#ec209e 0%,#e86c60 100%); font-weight: bold; width:80%; padding:15px 20px; text-decoration: none;
    text-align:center; color:#FFF; text-transform: uppercase; font-size:16px; margin-top:2em; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
 h2 {
   font-weight: bold;
 }
 .point {
   display: flex;
   margin-bottom: 20px;
 }
 .point i {
   margin-right: 20px;
   width: 100px;
   height: auto;
   font-size:100px;
   margin-top: 20px;
 }
 .point-content {
   flex: 1;
   line-height: 1.5;
 }
 .point-title {
   font-weight: bold;
 }
 .point-description {
   margin-top: 5px;
 }



 .precio {
   /* display:block;
   background: #f2e6ff;
   margin:0 auto; */
   /* overflow: hidden; */


 }

  .precio, .precio-responsive-section {

     /* display: flex;
     margin:0 auto;
     flex-wrap: wrap;
     padding: 20px;
     align-items: center;
     background: #2E2E3A;
     background: #f2e6ff;
     max-width: 1200px;
     box-sizing: border-box; */
     display: flex;
     flex-wrap: wrap;
     justify-content: space-around;
     margin: 0em auto 4em;
     max-width: 85%;



 }

 .precio-card {
     flex:1;
     width:500px;
     height:auto;
     background: linear-gradient(to right, purple, pink);
     border-radius: 10px;
     color: white;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     padding: 3em 2em 4em;
     /* align-items: center; */ 

 }

 .precio-card h2{
   font-family: "DM Sans", Sans-serif;
   font-size: 60px;
   font-weight: 200;
   font-style: normal;
   margin:20px 0 20px 0;

 }

 .precio-card a {

   display: inline-block;
   margin:0em;
   border: 1px solid #fff;
   border-radius: 0px 0px 0px 0px;
   font-size: 21px;
   font-weight: 600;
   font-style: normal;
   text-transform: uppercase;
   color: #242424;
   background-color: #F6DB4A;
   text-decoration: none;
   padding: 20px;
   transition: all .3s;
 }

 .precio-card a:hover{
   background-color: #242424;
   color: #FFF;
 }

 .ha-pricing-table-original-price, .ha-pricing-table-current-price {
   display: inline;
 }

 .ha-pricing-table-original-price .ha-pricing-table-currency, .ha-pricing-table-original-price .ha-pricing-table-price-text{
   text-decoration: line-through;
   font-size: 1.5rem;
   line-height: 1;
   font-weight: bold;
   color: #000;
 }

 .ha-pricing-table-current-price .ha-pricing-table-currency {

   font-size: 24px;
   display: inline-block;
   margin:-50px 0 0 20px;


 }

 .ha-pricing-table-current-price .ha-pricing-table-price-text{
   font-weight: 700;
   font-size: 60px;
   line-height: normal;

 }

 .precio-card h4 {
   font-size: 30px;
   margin-top: 0.5em;
   font-weight: 200;

 }

 .pago-seguro {
   margin-top:20px;
   font-size:20px;
 }

 .limitada {
   color:#000;
   background: #FFF;
   font-size:18px;
   position: absolute;
   bottom:-2em;
   right:-3em;
   padding:5px 10px;

 }

 .precio-text-content {
     flex:2;
     width: 60%;
     padding: 3em 6em 4em;
     vertical-align: middle;


 }


 .precio-text-content h1 {
     margin-top: 0;
 }

 .precio-text-content h4{
   margin-top: 2em;
   font-size:20px;
 }

 .precio-text-content ul{
   list-style: none; /* Remove default bullets */
   padding-left: 0;
 }



 .precio-text-content ul li {
   position: relative; /* Allows positioning of the icon */
   padding-left: 40px; /* Space for the icon */
   margin-bottom: 10px; /* Space between list items */
   font-size:20px;
   line-height: 30px;
   letter-spacing: 1px;
 }

 .precio-text-content ul li::before {
     content: "\f00c"; /* Unicode for the Font Awesome icon (check mark in this case) */
     font-family: "Font Awesome 6 Free"; /* Font Awesome family name */
     font-weight: 900; /* Font Awesome solid style */
     position: absolute; /* Position icon */
     left: 0; /* Align icon to the left */
     top: 0; /* Align icon to the top */
 }

 @media (max-width: 768px) {

     .precio-card, .precio-text-content {
       width:100%;
     }

      .precio{
           max-width: 98%;
     }

     .precio-text-content{
       padding: 2em 2em 2em;
     }
 }



footer{
  margin:0 auto;
  padding:1em;
  text-align:center;
  background: #2b314d;
  font-weight: bold;
  color:#fff;
}

footer p a, .precio-text-content a {
  color:#E86C60;
}
footer p a:visited {
  color:#FFF;
}