/* 01. Hero Banner Carousel */
.pl01 .banner_content_inner {
    height: 600px;
    display: flex;
    align-items: center;
  }
  
  .pl01 .card {
    max-width: 320px;
    background-color: #fff9;
    color: #2a2a2a;
    font-weight: 400;
    font-size: 2.2rem;
    line-height: 26px;
  }
  
  .pl01 .card.background-black {
    background-color: #2a2a2a99;
  }
  
  .pl01 .card.background-black .hero-banner-title,
  .pl01 .card.background-black p {
    color: #fff;
  }
  
  .pl01 .hero-banner-title {
    margin-bottom: 28px;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #2a2a2a;
    font-size: 4rem;
    font-weight: 900;
    line-height: 44px;
  }
  
  .pl01 p {
    margin-bottom: 28px;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 26px !important;
    font-weight: 500;
  }
  
  .pl01 .btn {
    border-radius: 40px;
  }
  
  .pl01 .banner_content_inner {
    height: 600px;
    display: flex;
    align-items: center;
  }
  
  /* === Controles personalizados === */
  .pl01 .carousel-custom-controls {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease, transform 0.2s ease;
    opacity: 1;
  }
  
  /* Indicadores (dots) */
  .pl01 .carousel-indicators {
    position: static;
    margin: 0 0 0 10px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .pl01 .carousel-indicators li {
    width: 12px;
    height: 12px;
    margin: 0 6px;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #fff;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
  }
  
  .pl01 .carousel-indicators .active,
  .pl01 .carousel-indicators li:hover {
    opacity: 1;
  }
  
  .pl01 .carousel-indicators li:focus {
    background-color: red;
    opacity: 1;
  }
  
  /* === BotÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â³n combinado Play/Pause === */
  .pl01 .play-pause-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.8rem;
    cursor: pointer;
    padding: 10px;
    line-height: 1;
    transition: color 0.3s ease;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
  }
  
  .pl01 .play-pause-btn:focus,
  .pl01 .play-pause-btn:hover {
    color: red;
    outline: none;
  }
  
  /* === Flechas Prev/Next === */
  .pl01 .carousel-control-prev,
  .pl01 .carousel-control-next {
    transition: opacity 0.25s ease, transform 0.2s ease;
    z-index: 20;
  }
  
  .pl01 .carousel-control-prev.controls-hidden,
  .pl01 .carousel-control-next.controls-hidden,
  .pl01 .carousel-custom-controls.controls-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
  }
  
  /* === Ajustes Responsivos === */
  
  /* Tablets y laptops pequeÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â±as */
  @media (max-width: 1024px) {
    .pl01 .banner_content_inner {
      height: 450px;
    }
  
    .pl01 .card {
      max-width: 260px;
      font-size: 1.8rem;
      line-height: 22px;
    }
  
    .pl01 p {
        line-height: 22px;
    }
    
    .pl01 .hero-banner-title {
      margin-bottom: 16px;
      font-size: 3rem;
      line-height: 33px;
    }
  }
  
  /* Tablets verticales / MÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â³viles grandes */
  @media (max-width: 768px) {
    .pl01 .card {
      max-width: 240px;
      font-size: 1.8rem;
      line-height: 22px;
    }
    
    .pl01 p {
        line-height: 22px;
    }
  
    .pl01 .hero-banner-title {
      margin-bottom: 12px;
      -webkit-line-clamp: 3;
      font-size: 2.8rem;
      line-height: 30px;
    }
  
    .pl01 .carousel-custom-controls {
      bottom: 0;
      flex-direction: column;
      gap: 6px;
    }
  }
  
  @media (max-width: 480px) {
    .pl01 .carousel-custom-controls {
      position: absolute;
      bottom: -12px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 15;
      display: flex;
      align-items: center;
      justify-content: center;
    }
  
    .pl01 .background_bg {
      background-size: auto 200px;
      background-repeat: no-repeat;
      background-position: top center;
    }
  
    .pl01 .banner_content_inner {
      height: auto;
    }
  
    .pl01 .container {
      padding: 200px 0 0;
    }
  
    .pl01 .card {
      max-width: none;
      border-radius: 0;
      text-align: center;
    }
  
    .pl01 .play-pause-btn {
      font-size: 1.6rem;
      padding: 6px;
    }
  }
  
  /* 02. Image Component */
  .pl02 img {
      width: 100%;
      height: auto;
      border-radius: 8px;
  }
  
  /* 03. Video Component */
  .video-container iframe {
      width: 632px;
       height: 355px;
  }
  
  @media (max-width: 576px) {
      .video-container iframe {
          width: 100%;
           height: 288px;
      }
  }
  
  /* 04. Category Squares Navigation */
  .pl04-card{
      background: white;
      border-radius: 8px;
      height: 200px;
      width: 200px;
  }
  
  .pl04-card img{
      border-top-right-radius: 8px ;
      border-top-left-radius: 8px ;
      object-fit: cover;
      width: 100%;
      height: 163px;
  }
  
  .pl04-card h5{
      height: 37px; 
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
  }
  
  /* 05. Header Styling with Image */
    .pl05-content-header-style a {
        color: var(--longos-red);
  }
  
  .pl05-content-header-style a:hover {
        text-decoration: underline;
        color: var(--longos-red);
  }
  
  /* 06. Title with Link */
  .pl06{
      padding-top: 70px;
  }
  
  .pl06-divider{
      border-bottom: 1px solid var(--dark-grey);
      padding-bottom: 30px;
      margin-bottom: 30px;
  }
  
  .pl06-title-capitalize{
      font-family: var(--font-text);
      text-transform: capitalize;
  }
  
  .pl06-left{
      text-align: left;
  }
  
  .pl06 .chevron-right-red{
      width: 9px;
      height: 30px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='15' viewBox='0 0 8 15' fill='none'%3E%3Cpath d='M1.48015 2.03846L6.24403 7.19932C6.42082 7.39085 6.42082 7.68607 6.24402 7.8776L1.48015 13.0385' stroke='%23D5181A' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      cursor: pointer;        
  }
  
  .pl06-link-container{
      font-weight: 600;
      cursor: pointer;
  }
  
    .pl06-link-container a {
        color: var(--longos-red);
  }
  
  .pl06-link-container a:hover {
        text-decoration: underline;
        color: var(--longos-red);
  }
  
  
  /* 07. Emergency Messaging Alert */
  .pl07 {
      background-color: #FCBA00;
      padding: 16px 48px; 
      position: relative;
      z-index: 9999;
  }
  
  .pl07-banner-text {
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 22px;
      letter-spacing: 0px;
      color: #2a2a2a;
      margin: 0;
      text-align: center;
      max-width: 100%;
      word-break: break-word;
      display: -webkit-box;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }
  
  .pl07-banner-text p {
      margin-bottom: 0;
  }
  
  .pl07-banner-text a {
      font-weight: bolder;
      color: #2a2a2a;
      text-decoration: underline;
  }
  
  .pl07-close-btn {
      position: absolute;
      top: 50%;
      right: 15px;
      transform: translateY(-50%);
      background: transparent;
      border: none;
      font-size: 2.8rem;
      line-height: 1;
      color: #2a2a2a;
      cursor: pointer;
      padding: 5px;
      opacity: 0.7;
      transition: opacity 0.2s;
  }
  
  .pl07-close-btn:hover {
      opacity: 1;
  }
  
  @media (max-width: 768px) {
      .pl07 {
          padding: 12px 40px; 
      }
      .pl07-close-btn {
          right: 10px;
          font-size: 2.4rem;
      }
  
      .pl07-banner-text {
          display: block; 
          -webkit-line-clamp: unset; 
          -webkit-box-orient: unset;
          overflow: visible; 
      }
  }
  
  /* 08. Accordions */
  .pl08-accordion {
      font-family: var(--font-text);
      color: #2a2a2a;
  }
  
  .pl08-accordion .accordion-item {
      font-family: var(--font-text);
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      overflow: hidden;
      border: none;
      margin-bottom: 1rem;
      background-color: #fff;
  }
  
  .pl08-accordion .accordion-button {
      font-family: var(--font-text);
      font-weight: 600;
      font-size: 1.8rem;
      line-height: 26px;
      letter-spacing: 0px;
      padding: 25px;
      background-color: #fff;
      border: none;
      outline: none;
      box-shadow: none;
      color: #2a2a2a;
  }
  .pl08-accordion .accordion-button:hover {
      color: var(--longos-red);
  }
  
    .pl08-accordion .accordion-body {
        font-family: var(--font-text);
        font-size: 1.8rem;
        line-height: 26px;
        letter-spacing: 0px;
        color: #2a2a2a;
        padding: 0 25px 25px 25px;
    }
  
    .pl08-accordion .accordion-body span {
        font-family: var(--font-text) !important;
        font-size: 1.8rem !important;
        line-height: 26px;
        letter-spacing: 0px;
        color: #2a2a2a;
        margin-bottom: 1rem;
    }
  
    .pl08-accordion .accordion-body a {
      color: var(--longos-red);
  }
  
  .pl08-accordion .accordion-body a:hover {
      text-decoration: underline;
  }
    
    .pl08-accordion .accordion-body ul,
    .pl08-accordion .accordion-body ol {
        font-family: var(--font-text);
        font-size: 1.8rem !important;
        line-height: 26px;
        letter-spacing: 0px;
        color: #2a2a2a;
        margin-bottom: 1rem;
        padding-left: 19px;
    }
  
    .pl08-accordion .accordion-body ul {
        list-style-type: disc;
    }
  
    .pl08-accordion .accordion-body ol {
        list-style-type: decimal;
    }
  
  @media (max-width: 767.98px) {
      .pl08-accordion .accordion-button,
      .pl08-accordion .accordion-body {
          font-size: 1.6rem;
          line-height: 22px;
          padding: 16px;
      }
      
      .pl08-accordion .accordion-body ul,
      .pl08-accordion .accordion-body ol,
      .pl08-accordion .accordion-body span {
          font-size: 1.6rem !important;
          line-height: 22px;
      }
  }
  
  .pl08-accordion .accordion-button:focus {
      box-shadow: none;
  }
  
  .pl08-accordion .accordion-button::after {
      filter: invert(50%);
  }
  
  /* 09. Marketing Message */
  .pl09 {
      background-color: #fff;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10);
      font-family: var(--font-text);
  }
  
  .pl09 .description p {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }
  
  /* 10. Step by Step Images */
  .pl10 {
      font-family: var(--font-book);
      font-weight: 500;
      font-size: 1.8rem;
      line-height: 26px;
      margin-top: 15px;
      text-align: left;
  }
  
  .pl10 a {
      text-decoration: underline;
  }
  
  .pl10-card-title-steps{
      font-family: var(--font-display);
      font-size: 1.52rem;
      line-height: 17px;
      font-weight: 900;
      letter-spacing: 1px;
      margin-bottom: 15px;
  }
  
  .pl10-card-img {
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 2px 4px #75757554;
      object-fit: cover;
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
  }
  
  /* 11. Text Only Component */
  .pl11{
      border-radius: 8px;
      padding: 40px;
  }
  
  .pl11 .background-transparent{
      background: transparent;
  }
  
  .pl11 .background-white{
      background: var(--longos-white);
      box-shadow: 0 2px 4px #75757554;
  }
  
    .pl11-content-style a {
        color: var(--longos-red) !important;
  }
  
  .pl11-content-style span a {
        color: var(--longos-red);
  }
  
  .pl11-content-style a:hover {
        text-decoration: underline;
        color: var(--longos-red);
  }
  
  @media(min-width: 992px) {
      .pl11 .two-columns{
          column-count: 2;
      }
  }
  
  /* 12. Featured Content Grid */
  .pl12 .custom-card {
      /*width: 380px;*/
      height: 500px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      background-color: #fff;
  }
  
  .pl12 .custom-card-image-wrapper {
      height: 260px;
      overflow: hidden;
      flex-shrink: 0;
  }
  
  .pl12 .card-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }
  
  .pl12 .custom-card-body {
      flex: 1;
      overflow: hidden;
      padding: 1rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
  }
  
  .pl12 .custom-card-title {
      height: 34px;
      overflow: hidden;
  }
  
  .pl12 .custom-subtitle {
      font-family: var(--font-text);
      font-style: normal;
      font-size: 1.6rem;
      text-transform: uppercase;
      max-height: 24px;
      overflow: hidden;
  }
  
  .pl12 .custom-subtitle p {
      font-family: var(--font-text);
      font-size: 1.6rem;
      max-height: 3.6em;
      overflow: hidden;
  }
  
  .pl12 .custom-subtitle span {
      font-family: var(--font-text);
      font-size: 1.6rem;
      max-height: 3.6em;
      overflow: hidden;
  }
  
  .pl12 .btn.text-truncate {
      max-width: 100%;
      overflow: hidden;
      white-space: nowrap;
  }
  
  .pl12 .btn-play-video {
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 0;
    background: transparent;
    border: none;
    z-index: 10;
    cursor: pointer;
  }
  
  .pl12 .btn-play-video svg:hover circle {
    fill: rgba(255, 0, 0, 1); 
  }
  
  @media (max-width: 767.98px) {
    .pl12 .btn-play-video {
      bottom: 10px;
      right: 10px;
    }
  }
  
  /*15. Address with links*/
  .pl15line-clamp a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
    overflow: hidden;
    color: var(--longos-red);
  }
  
  .pl15line-clamp p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
    overflow: hidden;
  }
  
  .pl15line-clamp a:hover {
        text-decoration: underline;
        color: var(--longos-red);
  }
  
  /*16. Text with image*/
  .pl16-top-title {
      font-size: 1.5rem;
      font-weight: 900;
      line-height: 17px;
      letter-spacing: 1px;
      font-family: var(--font-display);
      color: var(--red);
  }
  
  .pl16-top-title-black {
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 17px;
      letter-spacing: 1px;
      font-family: var(--font-display);
      color: #000;
  }
  
  .pl16-row {
      display: flex;
      align-items: stretch; 
  }
  
  .pl16-image-container {
      display: flex;
      justify-content: center;
  }
  
  .pl16-image-wrapper {
      position: relative;
      width: 100%;
      height: 100%; 
      overflow: hidden;
  }
  
  .pl16-image-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }
  
  .pl16-content {
      padding: 50px 100px;
      align-content: center;
  }
  
      .pl16-content-style a {
        color: var(--longos-red);
  }
  
  .pl16-content-style a:hover {
        text-decoration: underline;
        color: var(--longos-red);
  }
  
  
  .pl16-textimage { 
      height: 326px; 
      margin: 0 auto !important;
  }
  
      @media (max-width: 768px) {
      .pl16-row {
          display: flex;
          flex-direction: column;
          height: auto; 
      }
  
      .pl16-image-container {
          width: 100%;
          order: -1; 
          height: auto;
      }
  
      .pl16-image-wrapper {
          height: auto;
      }
  
      .pl16-image-wrapper img {
          height: auto;
          min-height: 200px; 
      }
  
      .pl16-content {
          width: 100%;
          padding: 20px 16px;
          order: 1; 
      }
  
      .pl16-row .col-lg-6 {
          order: unset !important;
      }
  }
  
  /* 20. Custom Course Carousel */
  .pl20 .custom-card {
      width: 380px;
      height: 500px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      background-color: #fff;
  }
  
  .pl20 .custom-card-image-wrapper {
      height: 260px;
      overflow: hidden;
      flex-shrink: 0;
  }
  
  .pl20 .card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  }
  
  .pl20 .custom-card-body {
      flex: 1;
      overflow: hidden;
      padding: 1rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
  }
  
  .pl20 .custom-card-title {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
  }
  
  .pl20 .custom-subtitle {
      font-size: 1.44rem;
      max-height: 3.6em;
      overflow: hidden;
      text-overflow: ellipsis;
  }
  
  .pl20 .btn.text-truncate {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
  }
  
  /* 21. Horizontal Banner */
  .pl21-banner-wrapper {
      background-color: #fff;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
      min-height: 260px;
  }
  
  .pl21-banner-text {
      padding: 0;
  }
  
  .pl21-content-text{
      padding: 33px 15px 33px 60px;
  }
  
  .pl21-banner-text h2 {
      font-size: 3.6rem;
      margin-bottom: 16px;
  }
  
  .pl21 .btn {
      border-radius: 40px;
  }
  
  .pl21-banner-image {
      overflow: hidden;
  }
  
  .banner-img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      display: block;
      border-radius: 0;
  }
  
  .pl21-svg-desktop {
    height: 100%;
    max-height: 100%;
    z-index: 3;
    position: absolute;
    pointer-events: none; 
  }
  
  .pl21-svg-mobile {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    z-index: 2;
  }
  
  .pl21-svg-mobile svg {
    display: block;
    width: 100%;
    height: 100%;
  }
  
  @media (max-width: 767.98px) {
      .pl21-banner-wrapper {
        flex-direction: column;
      }
      
      .pl21-banner-text {
          text-align: center;
      }
      
      .pl21 .banner-img {
          height: auto;
      }
  }
  
  /* 22. Trio Banner */
  .pl22 .card:hover {
      transform: translateY(-5px);
  }
  
  .pl22 .image-wrapper {
      height: 240px;
      max-height: 240px;
      overflow: hidden;
      position: relative;
  }
  
  .pl22 .image-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
  }
  
  .pl22 .duo-trio-curve {
      position: absolute;
      bottom: 0;
      left: 0;
      transform: rotate(180deg) translateY(-1px);
      width: 100%;
      fill: currentColor;
      color: #fff;
  }
  
  .pl22 .content-title-text {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow: ellipsis;
      max-height: 3em;
      -webkit-line-clamp: 2;
      height: 60px;
      font-size: 2.2rem;
      line-height: 30px;
  }
  
  .pl22 .content-text {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow: ellipsis;
      max-height: 4.5em;
      -webkit-line-clamp: 3;
      min-height: 60px;
      margin-bottom: 20px;
      font-weight: 400;
      font-size: 1.8rem;
      line-height: 22px;
  }
  
  
  
  /* Tablet Portrait */
  @media (max-width: 500px) {
      .pl22 .container {
          padding-left: 0;
          padding-right: 0;
      }
      
      .pl22 .content-title-text {
          -webkit-line-clamp: 3;
          max-height: 4.5em;
      }
      
      .pl22 .content-text {
          -webkit-line-clamp: 5;
          max-height: 7.5em;
      }
  }
  
  /* Desktop & Tablet Landscape */
  @media (min-width: 992px) {
      .pl22 .content-title-text {
          -webkit-line-clamp: 2;
          max-height: 3em;
      }
      .pl22 .description-text {
          -webkit-line-clamp: 3;
          max-height: 4.5em;
      }
  }
  
  /* 23. Duo Banner */
  .pl23-banner-wrapper {
      background-color: #fff;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
      position: relative;
      display: flex;
      flex-direction: column;
      height: 100%;
  }
  
  .pl23-banner-text h2 {
      font-size: 2.6rem;
      margin-bottom: 16px;
      font-weight: 900;
      text-align: center;
  }
  
  .pl23-banner-image {
      position: relative;
      width: 100%;
      overflow: hidden;
      margin-top: auto;
  }
  
  .pl23 .banner-img {
      object-fit: cover;
      width: 100%;
      height: auto;
      display: block;
      height: 362px;
  }
  
  .pl23 .carousel-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
  }
  
  .pl23-svg-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 85px;
      z-index: 2;
      pointer-events: none;
  }
  
  .pl23-svg-overlay svg {
      width: 100%;
      height: 100%;
      display: block;
  }
  
  .pl23-banner-button {
      bottom: 20px;
      left: 0;
      padding: 0 1rem;
      z-index: 3;
  }
  
  .pl23-banner-button .btn {
      border-radius: 40px;
      padding: 10px 30px;
  }
  
  @media (max-width: 767.98px) {
      .pl23 .container {
          padding-left: 0;
          padding-right: 0;
      }
      
      .pl23-banner-text {
          text-align: center;
      }
          
      .pl23-banner-button {
          bottom: 10px;
      }
      
      .pl23-title-truncate {
          display: -webkit-box;
          -webkit-line-clamp: 2; 
          -webkit-box-orient: vertical;
          overflow: hidden;
          text-overflow: ellipsis;
      }
  
      .pl23-paragraph-truncate {
          display: -webkit-box;
          -webkit-line-clamp: 3; 
          -webkit-box-orient: vertical;
          overflow: hidden;
          text-overflow: ellipsis;
      }
  }
  
  /* Suscribe Email Styles */
  .email-suscription {
      padding-bottom: 30%;
      background-image: url(/media/carrots_desktop.webp);
      background-repeat: no-repeat;
      background-position: right;
      background-size: 50%;
  }
  
  .email-subscribtion_form_link {
      font-family: 'Neutra2Display', sans-serif;
      text-decoration: underline;
      color: var(--dark-grey);
      font-weight: 500;
  }
  #subscribeEmail .email-subscribtion_submit_btn:disabled {
      width: 100%;
      color: var(--dark-grey) !important;
      padding: 10px;
      margin-bottom:0px;
  }
  #subscribeEmail .email-subscribtion_submit_btn:enabled {
      width: 100%;
      color: var(--longos-white) !important;
      padding: 10px;
      margin-bottom:0px;
  }
  .email-subscribtion_submit {
      display: flex;
      width: 100vw;
      position: sticky;
      bottom: 0;
      top: 70px;
      padding: 10px;
      background: #fff;
      z-index: 0;
  }
  
  #subscribeEmail .container {
      width: 100%;
      padding-right: 15px;
      padding-left: 15px;
      margin-right: auto;
      margin-left: auto;
  }    
  
  #subscribeEmail .form-label {
   margin-bottom:3px;   
  }
  
  #subscribeEmail .form-control {  
      padding: 11px 12px 11px 20px;
      border: 1px solid var(--form-control);
      border-radius: 4px;
      height: auto;
      color: var(--dark-grey);
      outline: none;
      margin: 0;
      font-family: 'Neutra2TextBook', sans-serif !important;
      font-style: normal;
      font-weight: 400;
      font-size: 1.8rem;
      line-height: 26px;
  }
  
  .custom-input-field {
      padding-right: 15px;
      padding-left: 15px;
  }
  
  #subscribeEmail .custom-checkbox-group {
      align-items: start; 
      .custom-checkbox {
          border: 2px solid;
      border-radius: unset;
      flex-shrink: 0;
      cursor: pointer;
      background-color: unset;
      margin-right: 15px;
       }
       .custom-checkbox:checked {
           background-color: var(--red) !important;
           border: unset !important;
       }
       .custom-checkbox:checked::after {
          left: 8px;
          top: 1px;
          width: 9px;
          height: 17px;
          border-radius: 1px;   
       }
  }
  
  
  #subscribeEmail .custom-input-group {
      position:relative;
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      width: 100%;
  }
  
  #subscribeEmail .rounded-left {
      border-top-left-radius: .25rem !important;
      border-bottom-left-radius: .25rem !important;
  }
  
  #subscribeEmail .status-label {
      position: absolute;
      z-index: 4;
      width: 5px;
      height: 100%;
  }
  
  #subscribeEmail .status-label.error {
      background-color: var(--longo-error);
  }
  
  #messageSubsSuccess {
      display: none;
  }
  #messageSubsSuccess.email-subscribtion_success {
      display: none;
      text-align: center;
      margin-bottom: 50px;
  }
  
  #messageSubsSuccess .email-subscribtion_title {
      font-weight: 700;
      font-size: 2.6rem;
      font-family: 'Neutra2Display', sans-serif;
      text-align: center;
      text-transform: uppercase;
      color: var(--dark-grey);
      background-repeat: no-repeat;
      background-position: right;
      margin-bottom: .5rem;
      line-height: 1.2;
  }
  
  #messageSubsSuccess .email-subscribtion_subtitle {
      font-size: 1.6rem;
      line-height: 22px;
      font-family: 'Neutra2TextBook', sans-serif;
      text-align: center;
      font-weight: 400;
      color: var(--dark-grey);
      align-self: stretch;
      margin-bottom: 30px;
  }
  
  #messageSubsSuccess .email-subscribtion_home-btn {
      display: inline-block;
      text-transform: uppercase;
  }
  
  
  
  @media (min-width: 576px) {
       #subscribeEmail .container {
          max-width: 520px;
      }
  }
  @media (min-width: 768px) {
      #submitSuscribe.email-subscribtion_submit_btn:disabled  {
          width: 172px;
          margin-top: 60px;
      }
       #submitSuscribe.email-subscribtion_submit_btn:enabled  {
          width: 172px;
          margin-top: 60px;
      }
       #subscribeEmail .container {
          max-width: 768px;
      }
      #messageSubsSuccess .email-subscribtion_title {
          font-size: 3.6rem;
      }
      #messageSubsSuccess .email-subscribtion_subtitle {
          font-size: 1.8rem;
          line-height: 26px;
          margin-bottom: 40px;
      }
  }
  @media (min-width: 992px) {
     #subscribeEmail .container {
          max-width: 960px;
      }
  }
  @media (min-width: 1200px) {
     #subscribeEmail .container {
          max-width: 1140px;
      }
  }
  @media (min-width: 768px) and (max-width: 1023.98px) {
      .email-suscription {
          background-position: right bottom;
      }
  }
  
  @media (min-width: 540px) and (max-width: 767.98px) {
      .email-suscription {
          background-size: 30%;
          background-position: right bottom;
      }
  }
  @media (max-width: 539.98px) {
      .email-suscription {
          background-size: 100%;
          background-position: bottom;
          padding-bottom: 100%;
      }
  }
  @media (min-width: 1024px) {
      #messageSubsSuccess .email-subscribtion_title {
          font-size: 4.8rem;
      }
       #messageSubsSuccess .email-subscribtion_subtitle {
          margin-bottom: 60px;
      }
  }
  @media (min-width: 1296px) {
      #submitSuscribe.email-subscribtion_submit_btn:disabled  {
          margin-top: 90px;
      }
       #submitSuscribe.email-subscribtion_submit_btn:enabled  {
          margin-top: 90px;
      }
      #messageSubsSuccess .email-subscribtion_title {
          font-size: 5rem;
      }
      #messageSubsSuccess .email-subscribtion_subtitle {
          margin-bottom: 90px;
      }
  }
  