
html{
    scroll-behavior: smooth;
}

.nav-link::after{
  position: absolute;
  content: "";
  width: 100%;
  height: 3px;
  top: 100%;
  left: 0;
  background: #3B82F6;
  transition: transform 0.5s;
  transform: scaleX(0);
  transform-origin: right;
}
.nav-link:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }

.slide-1, .post-section{
    background: url('../img/hero_img_1.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.slide-2{
    background: url('../img/hero_img_2.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.slide-3{
    background: url('../img/hero_img_3.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#promociones .swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
    bottom: -30px;
}

/*===== VARIABLES CSS =====*/
:root{
    --header-height: 3rem;
    --nav-width: 68px;
  
    /*===== Colors =====*/
    --first-color: #3B82F6;
    --first-color-light: #fff;
    --white-color: #fff;
    
    /*===== z index =====*/
    --z-fixed: 10;
  }
  
  .body-curso{
    position: relative;
    margin: var(--header-height) 0 0 0;
    /* padding: 0 1rem; */
    transition: .5s;
  }
  
  a{
    text-decoration: none;
  }
  
  /*===== HEADER =====*/
  .header{
    width: 100%;
    height: var(--header-height);
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    background-color: var(--white-color);
    z-index: var(--z-fixed);
    transition: .5s;
  }
  
  .header__toggle{
    color: var(--first-color);
    font-size: 1.5rem;
    cursor: pointer;
  }
  
  .header__img{
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
  }
  
  .header__img img{
    width: 40px;
  }
  
  /*===== NAV =====*/
  .l-navbar{
    position: fixed;
    top: 0;
    left: -30%;
    width: var(--nav-width);
    height: 100vh;
    background-color: var(--first-color);
    padding: .5rem 1rem 0 0;
    transition: .5s;
    z-index: var(--z-fixed);
  }
  
  .nav{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
  }
  
  .nav__logo, .nav__link{
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: center;
    column-gap: 1rem;
    padding: .5rem 0 .5rem 1.5rem;
  }
  
  .nav__logo{
    margin-bottom: 2rem;
  }
  
  .nav__link{
    position: relative;
    color: var(--first-color-light);
    margin-bottom: 1.5rem;
    transition: .3s;
  }
  
  .nav__link:hover{
    color: var(--white-color);
  }
  
  .nav__icon{
    font-size: 1.25rem;
  }
  
  /*Show navbar movil*/
  .show{
    left: 0;
    width: calc(var(--nav-width) + 156px);
  }
  
  /*Add padding body movil*/
  .body-pd{
    padding-left: calc(var(--nav-width));
  }
  
  .opened-menu{
    padding-left: 156px;
  }
 
  /* ===== MEDIA QUERIES=====*/
  @media screen and (min-width: 768px){
  .body-curso{
      margin: calc(var(--header-height) + 1rem) 0 0 0;
      padding-left: calc(var(--nav-width));
    }
  
    .header{
      height: calc(var(--header-height) + 1rem);
      padding: 0 2rem 0 calc(var(--nav-width) + 2rem);
    }
  
    .header__img{
      width: 40px;
      height: 40px;
    }
  
    .header__img img{
      width: 45px;
    }
  
    .l-navbar{
      left: 0;
      padding: 1rem 1rem 0 0;
    }
    
    /*Show navbar desktop*/
    .show{
      width: calc(var(--nav-width) + 156px);
    }
  
    /*Add padding body desktop*/
    .body-pd{
      padding-left: calc(var(--nav-width) + 188px);
    }
    .opened-menu{
        padding-left: 0;
      }
  }


  /*

    FLOATING LABELS

  */
  .form-label {
    opacity: 1;
    transform: translateY(-1.25rem);
    transform-origin: 0 0;
    }

.form-control::placeholder {
    color: transparent;
}

.form-control:focus {
    box-shadow: none;
    outline: none;
    border-color: #1a202c;
}

.form-control:focus + .form-label, 
.form-control:not(:placeholder-shown) + .form-label {
    transform: translateY(-3rem);
}


/*

  MODAL

*/

.modal {
    transition: opacity 0.25s ease;
  }
body.modal-activer{
overflow-x: hidden;
overflow-y: visible !important;
}


/*

    DATATABLES

*/
.dtr-data{
  display: flex;
}