.campo-con-tooltip {
  position: relative; /* Para posicionar el tooltip relativo al campo */
  /*display: inline-block;*/ /* Para que el div se ajuste al contenido */
}

.tooltip-icono {
  position: absolute;
  right: 10px; /* Ajusta la posición del icono */
  top: 50%;
  transform: translateY(-50%);
  cursor: help; /* Cambiar el cursor al pasar sobre el icono */
}

.tooltip-texto {
  visibility: hidden; /* Ocultar el tooltip por defecto */
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  border-radius: 6px;
  position: absolute;
  width: 250px;
  z-index: 1; /* Asegurar que el tooltip esté encima de otros elementos */
  bottom: 125%; /* Posicionar el tooltip debajo del icono */
  left: 50%;
  margin-left: -300px; /* Centrar el tooltip */
  opacity: 0;
  transition: opacity 0.3s; /* Transición suave para la opacidad */
}

.tooltip-icono:hover .tooltip-texto {
  visibility: visible;
  opacity: 1;
}
body {
    font-family: Lato, sans-serif;
    font-weight: 400;
  }
  p {
    margin-bottom: 0;
  }
  .blanco {
    color: #fff;
  }
  .azul {
    color: #0c5394;
  }
  .btn.btn-primary {
    font-size: 18px;
    padding: 10px 40px;
    color: #fff;
    text-transform: unset;
    border-radius: 50px;
    background: #0c5394;
    border-radius: 40px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: radial-gradient(
      601.63% 304.97% at -81.67% -57.23%,
      rgba(236, 121, 140, 0.7) 0,
      rgba(236, 121, 140, 0) 100%
    );
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.15);
    border-style: solid;
  }
  .negrita {
    font-weight: 700;
  }
  .light {
    font-weight: 300;
  }
  a.link_footer:hover {
    color: #fff;
  }
  .form-control {
    border: none;
    border-bottom: solid 0.5px #eeeded;
    background: 0 0;
    border-radius: 0;
    height: 35px;
    padding: 0 10px;
    color: #eeeded;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0.15px;
  }
  .form-control:disabled {
    background-color: transparent;
  }
  .form-group {
    margin-bottom: 1.5rem;
  }
  .custom-control-input ~ .custom-control-label::before {
    border-radius: 3px;
    border: 0.5px solid #eeeded;
    background-color: transparent;
  }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #54575e;
    border-color: #54575e;
    background-color: #0c5394;
  }
  input.error {
    border-bottom: 2px solid #db0080 !important;
    background-color: orange;
    color:#000;
  }
  select.error {
    border-bottom: 2px solid #db0080 !important;
    background-color: orange;
    color:#000;
  } 
  textarea.error {
    border-bottom: 2px solid #db0080 !important;
    background-color: orange;
    color:#000;
  }
  label.error {
    display: none !important;

  }
  .checkbox label,
  .radio label,
  label {
    font-size: 12px;
    font-weight: 300;
  }
  .form-control::-moz-placeholder {
    font-family: Lato, sans-serif;
    color: #eeeded;
    font-size: 14px;
    font-weight: 400;
  }
  .form-control:-ms-input-placeholder,
  .form-control:-ms-textarea-placeholder {
    font-family: Lato, sans-serif;
    color: #eeeded;
    font-size: 14px;
    font-weight: 400;
  }
  .form-control::-webkit-input-placeholder,
  .form-control::-webkit-textarea-placeholder {
    font-family: Lato, sans-serif;
    color: #eeeded;
    font-size: 14px;
    font-weight: 400;
  }

  .form-control.error::-moz-placeholder {
    font-family: Lato, sans-serif;
    color: #eeeded;
    font-size: 14px;
    font-weight: 400; 
  }
  
  .form-control.error:-ms-input-placeholder,
  .form-control.error:-ms-textarea-placeholder {
    font-family: Lato, sans-serif;
    color: #eeeded;
    font-size: 14px;
    font-weight: 400;
  }
  
  .form-control.error::placeholder {
    font-family: Lato, sans-serif;
    color: #eeeded;
    font-size: 14px;
    font-weight: 400;
  }

  .loader {
    width: 45px;
    height: 45px;
    border: dotted 6px #ff6568;
    margin: 0 auto;
    border-radius: 100%;
    animation-name: turn;
    animation-duration: 1.5s;
    animation-play-state: running;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: normal;
  }
  @keyframes turn {
    from {
      transform: rotateZ(0);
    }
    to {
      transform: rotateZ(-360deg);
    }
  }
  .sube {
    animation-name: sube;
    animation-duration: 3.6s;
    animation-play-state: running;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
  }
  .baja {
    animation-name: baja;
    animation-duration: 3.6s;
    animation-play-state: running;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
  }
  @keyframes baja {
    from {
      margin-top: -10%;
    }
    to {
      margin-top: 15%;
    }
  }
  @keyframes sube {
    from {
      margin-top: 20%;
    }
    to {
      margin-top: -10%;
    }
  }
  .sube2 {
    animation-name: sube2;
    animation-duration: 3.6s;
    animation-play-state: running;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
  }
  .baja2 {
    animation-name: baja2;
    animation-duration: 3.6s;
    animation-play-state: running;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
  }
  @keyframes baja2 {
    from {
      margin-top: 0;
    }
    to {
      margin-top: 18%;
    }
  }
  @keyframes sube2 {
    from {
      margin-top: 20%;
    }
    to {
      margin-top: 5%;
    }
  }
  element.style {
    display: none;
  }
  .alert {
    margin-bottom: unset;
  }
  .alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
  }
  @media (min-width: 1488px) {
    @keyframes baja {
      from {
        margin-top: -20%;
      }
      to {
        margin-top: 6%;
      }
    }
    @keyframes sube {
      from {
        margin-top: 5%;
      }
      to {
        margin-top: -20%;
      }
    }
    @keyframes baja2 {
      from {
        margin-top: 0;
      }
      to {
        margin-top: 15%;
      }
    }
    @keyframes sube2 {
      from {
        margin-top: 15%;
      }
      to {
        margin-top: 2%;
      }
    }
  }
  @media (min-width: 1300px) {
    .header_gracias {
      height: 40vh;
    }
  }
  @media (max-width: 990px) {
    @keyframes baja {
      from {
        margin-top: -10%;
      }
      to {
        margin-top: 25%;
      }
    }
    @keyframes sube {
      from {
        margin-top: 30%;
      }
      to {
        margin-top: -10%;
      }
    }
    .linea_lateral {
      border-right: none;
    }
  }
  @media (max-width: 768px) {
    .header_gracias {
      height: auto;
      background-image: none;
    }
    .bg_form {
      background: 0 0;
    }
  }
  .btn-outline.custom-file-control:before,
  .btn.btn-outline {
    border: 1px solid currentColor;
    border-radius: 5px;
  }
  .alert {
    margin-bottom: unset;
  }
  .carousel-control-next,
  .carousel-control-prev {
    width: 4%;
  }
  .hs_submit {
    text-align: center;
  }
  .slick-slide {
    margin: 0 20px;
  }
  .slick-slide img {
    width: 100%;
  }
  .slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
  }
  .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
  }
  .slick-list:focus {
    outline: 0;
  }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand;
  }
  .slick-slider .slick-list,
  .slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
  }
  .slick-track:after,
  .slick-track:before {
    display: table;
    content: "";
  }
  .slick-track:after {
    clear: both;
  }
  .slick-loading .slick-track {
    visibility: hidden;
  }
  .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
  }
  [dir="rtl"] .slick-slide {
    float: right;
  }
  .slick-slide img {
    display: block;
  }
  .slick-slide.slick-loading img {
    display: none;
  }
  .slick-slide.dragging img {
    pointer-events: none;
  }
  .slick-initialized .slick-slide {
    display: block;
  }
  .slick-loading .slick-slide {
    visibility: hidden;
  }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
  }
  .slick-arrow.slick-hidden {
    display: none;
  }
  .hidden-text-input {
    color: transparent;
  }
  #btn_get_in_touch:hover {
    box-shadow: 0 2px 20px 0 rgba(3, 3, 3, 0.5);
  }
  .form-controls:focus {
    color: #495057;
    background-color: #fff;
    border-color: #0c5394;
    outline: 0;
    box-shadow: 0 2px 20px 0 rgba(3, 3, 3, 0.5);
  }
  #btn_activar:hover {
    box-shadow: 0 2px 20px 0 rgba(3, 3, 3, 0.5);
  }
  .privacy-policy {
    color: #232a35;
    font-family: Lato;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
  .btn.btn-submit {
    font-size: 18px;
    padding: 10px 40px;
    color: #fff;
    width: 100%;
    text-transform: unset;
    border-radius: 50px;
    background: #0c5394;
    border-radius: 40px;
    border: 2px solid rgba(255, 255, 255, 0.6);
    background: radial-gradient(
      601.63% 304.97% at -81.67% -57.23%,
      rgba(12, 83, 148, 1) 100%,
      rgba(12, 83, 148, 0) 100%
    );
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.15);
    border-style: solid;
  }
  .bg-our-clients {
    background-image: url(https://res.cloudinary.com/dembh31ac/image/upload/v1728771805/pm/multicultural/banner_degradado_tx0t2h.webp);
    background-position: center;
    background-size: cover;
  }
  .bg-header {
    background-image: url(https://res.cloudinary.com/dembh31ac/image/upload/v1728772008/pm/multicultural/header_twn45t.webp);
    background-position: center;
    background-size: cover;
  }
  .form-box {
    border-radius: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: radial-gradient(
      342.89% 153.72% at -1.25% 0,
      rgba(255, 255, 255, 0.7) 0,
      rgba(255, 255, 255, 0) 100%
    );
    backdrop-filter: blur(6px);
  }
  .privacy-policy {
    color: #232a35;
  }
  .form-controls {
    border: none;
    width: 100%;
    padding: 10px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
  }
  .border-video {
    border-radius: 20px;
    background-color: none;
  }
  .bg-footer {
    background-image: url(https://res.cloudinary.com/dembh31ac/image/upload/v1728772521/pm/multicultural/footer_qhg8ac.webp);
    background-position: top;
    background-size: cover;
  }
  .text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  }
  .box-shadow {
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }
  @media (min-width: 1200px) {
    .container {
      max-width: 1440px;
    }
  }
  @media (max-width: 768px) {
    .bg-header {
      background-image: url(https://res.cloudinary.com/dembh31ac/image/upload/v1728772665/pm/multicultural/header_mobile_vuu5fe.webp);
    }
    .bg-footer {
      background-image: url(https://res.cloudinary.com/dembh31ac/image/upload/v1728772743/pm/multicultural/footer_mobile_qucutm.webp);
    }
  }
  #necesidad {
    resize: none;
  }
  .link_footer {
    padding: 20px;
  }
  .titulo-header {
    font-family: Kento;
    color: #fff;
    font-size: 30px;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  }
  .sub-titulo-services {
    font-family: Kento;
    color: #0c5394;
    font-weight: bolder;
  }
  .titulo-seccion {
    font-family: Kento;
    font-size: 25px;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  }
  .parrafo2 {
    font-size: 12px;
  }
  @media (min-width: 1200px) and (max-width: 1400px) {
    .fix-spacer {
      padding-left: 30px;
    }
  }
  .neon {
    color: #fff;
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 40px #0ff,
      0 0 80px #0ff, 0 0 90px #0ff, 0 0 100px #0ff, 0 0 150px #0ff;
    animation: flicker 1.5s infinite alternate;
  }
  @keyframes flicker {
    0%,
    100%,
    19%,
    21%,
    23%,
    25%,
    54%,
    56% {
      opacity: 1;
    }
    20%,
    24%,
    55% {
      opacity: 0.4;
    }
    22% {
      opacity: 0.1;
    }
  }
  