.portal-wrapper {
  scrollbar-color: var(--edu-scrollbar-color);
  overscroll-behavior: contain;
}

.portal-wrapper img {
  /* Esto es debido a que se incrustran por el tiny imagenes y no se les puede aplicar el img-fluid */
  max-width: 100%;
  height: auto;
}

/* bloque header */
.header_block {
  margin: -20px 0 10px;
  padding-top: 30px;
  text-align: center;
}
.portal_header {
  padding: 5px 10px 25px;
}
.portal_header .title {
  font-weight: 300;
}
.portal_header .title:hover {
  text-decoration: none;
}

/* bloque contenido publicacion */
.portal_grid .centro img {
  max-width: 100%;
  height: auto;
}

/* menu_portales */
.menu_portales {
  position: relative;
}
.menu_portales a {
  opacity: 0.75;
  display: inline-block;
  padding: 5px 10px;
  font-weight: 300;
  transition-duration: 0.4s;
}
.menu_portales a:hover,
.menu_portales a:active {
  opacity: 1;
  text-decoration: none;
  background-color: rgba(var(--bs-black-rgb), 0.1);
}

/* menu_secciones */
.menu_secciones {
  background-color: rgba(var(--bs-black-rgb), 0.15);
}
.menu_secciones ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu_secciones li {
  position: relative;
  width: 100%;
}

.menu_secciones div,
.menu_secciones a {
  width: 100%;
  display: block;
  padding: 10px;
  text-decoration: none;
  text-align: center;
  transition-duration: 0.4s;
}
.menu_secciones div {
  cursor: default;
}
.menu_secciones div:hover,
.menu_secciones a:hover {
  text-decoration: none;
  background-color: rgba(var(--bs-black-rgb), 0.1);
}
.menu_secciones .far {
  padding-left: 5px;
  opacity: 0.4;
}

.menu_secciones .menu_link_active {
  background-color: rgba(var(--bs-black-rgb), 0.1);
}

/* menu_secciones submenu */
.menu_secciones .sub_menu {
  display: none;
}
.menu_secciones .fa-chevron-right {
  display: none;
}
.menu_secciones .fa-chevron-up {
  display: none;
}

.menu_secciones li.active > * > .fa-chevron-up {
  display: inline-block;
}
.menu_secciones li.active > * > .fa-chevron-down {
  display: none;
}
.menu_secciones li.active > .sub_menu {
  display: block;
}

/* comportamiento menu mobile */
.menu_secciones:not(.active) > ul {
  display: none;
}
.menu_secciones.active .fa-bars {
  display: none;
}
.menu_secciones:not(.active) .fa-close {
  display: none;
}
.hamb_menu {
  width: 100%;
  padding: 10px;
  cursor: pointer;
}
.hamb_menu .far {
  padding-right: 5px;
}

/*************************
******** Media Query ******
**************************/

@media screen and (min-width: 520px) {
  /* banners */
  .banners li {
    width: 50%;
  }
}
@media screen and (min-width: 700px) {
  /* banners */
  .banners li {
    width: 33.33%;
    width: calc(100% / 3);
  }
}

/* menu desktop */
@media screen and (min-width: 900px) {
  /* layout */
  .portal_grid .izquierda {
    width: 30%;
  }
  .portal_grid .centro {
    margin-top: 10px;
    padding: 40px;
    min-width: 70%;
    flex: 1 0 0;
  }

  /* menu secciones */
  .hamb_menu {
    display: none !important;
  }
  .menu_secciones:not(.active) > ul {
    display: flex;
  }
  .menu_secciones li {
    width: auto;
  }

  .menu_secciones .sub_menu {
    position: absolute;
    z-index: 3;
    left: 0;
    top: 100%;
    min-width: 100%;
  }
  .menu_secciones .sub_menu .sub_menu {
    left: 100%;
    top: 0;
  }
  .menu_secciones .sub_menu li > * {
    text-align: left;
    white-space: nowrap;
  }
  .menu_secciones .sub_menu .fa-chevron-down {
    display: none;
  }
  .menu_secciones .sub_menu .fa-chevron-right {
    display: inline-block;
  }
  .menu_secciones .sub_menu li.active > * > .fa-chevron-up {
    display: none;
  }

  .banners li {
    width: auto;
  }
}

@media screen and (min-width: 1200px) {
  /* layout */
  .portal_grid .izquierda {
    width: 20%;
  }
  .portal_grid .centro {
    width: 60%;
    min-width: 0;
  }
  .portal_grid .derecha {
    width: 20%;
  }
}

/* col_med */

.publicacion_titulo {
  margin-bottom: 10px;
  padding-left: 10px;
  padding: 15px;
}
.publicacion_fecha {
  padding-bottom: 15px;
  color: var(--bs-secondary-color);
  text-align: right;
}
.publicacion_contenido {
  padding: 10px 20px 40px;
}

/* novedades */

.novedades_navegador {
  padding-bottom: 20px;
}
.novedades_navegador .anterior {
}
.novedades_navegador .siguiente {
  text-align: right;
}

/*  Novedades */
.novedades-list {
  padding-left: 0px;
}

/****************************
********* Catalogo **********
*****************************/

.listado_cat_catalogo {
  padding-top: 10px;
}

.card-default.cursos_detail {
  margin-top: 5px;
}
