@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-Italic.woff2') format('woff2'),
		url('../fonts/RethinkSans-Italic.woff') format('woff'),
		url('../fonts/RethinkSans-Italic.ttf') format('truetype');
	font-weight: 400;
	/* Regular weight */
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-SemiBold.woff2') format('woff2'),
		url('../fonts/RethinkSans-SemiBold.woff') format('woff'),
		url('../fonts/RethinkSans-SemiBold.ttf') format('truetype');
	font-weight: 600;
	/* SemiBold weight */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-BoldItalic.woff2') format('woff2'),
		url('../fonts/RethinkSans-BoldItalic.woff') format('woff'),
		url('../fonts/RethinkSans-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	/* Bold weight */
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-SemiBoldItalic.woff2') format('woff2'),
		url('../fonts/RethinkSans-SemiBoldItalic.woff') format('woff'),
		url('../fonts/RethinkSans-SemiBoldItalic.ttf') format('truetype');
	font-weight: 600;
	/* SemiBold weight */
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-Bold.woff2') format('woff2'),
		url('../fonts/RethinkSans-Bold.woff') format('woff'),
		url('../fonts/RethinkSans-Bold.ttf') format('truetype');
	font-weight: 700;
	/* Bold weight */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-ExtraBold.woff2') format('woff2'),
		url('../fonts/RethinkSans-ExtraBold.woff') format('woff'),
		url('../fonts/RethinkSans-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	/* ExtraBold weight */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-ExtraBoldItalic.woff2') format('woff2'),
		url('../fonts/RethinkSans-ExtraBoldItalic.woff') format('woff'),
		url('../fonts/RethinkSans-ExtraBoldItalic.ttf') format('truetype');
	font-weight: 800;
	/* ExtraBold weight */
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-MediumItalic.woff2') format('woff2'),
		url('../fonts/RethinkSans-MediumItalic.woff') format('woff'),
		url('../fonts/RethinkSans-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	/* Medium weight */
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-Regular.woff2') format('woff2'),
		url('../fonts/RethinkSans-Regular.woff') format('woff'),
		url('../fonts/RethinkSans-Regular.ttf') format('truetype');
	font-weight: 400;
	/* Regular weight */
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Rethink Sans';
	src: url('../fonts/RethinkSans-Medium.woff2') format('woff2'),
		url('../fonts/RethinkSans-Medium.woff') format('woff'),
		url('../fonts/RethinkSans-Medium.ttf') format('truetype');
	font-weight: 500;
	/* Medium weight */
	font-style: normal;
	font-display: swap;
}

:host,
:root,
[data-bs-theme=light] {
	--primary-color: #E5713D;
	--info-color: #1C52A2;
	--info-color-rgb: 28 82 162;
	--info-color-hover: #2561b8;
	--success-color: #005E1F;
	--primary-color-dark: #a55734;
	--primary-text: #1E1E1E;
	--primary-bg-white: #FAE3D8;
	--secondary-text: #5F5F5F;
	--tertiary-text: #878787;
	--gray-color: #AAAAAA;
	--error-color: #D43333;
	--tblr-primary: #E5713D;
	--tblr-primary-rgb: 229, 113, 61;
	--border-color: #EEEEEE;
	--disabled-color: #CFCFCF;
	--border-radius: 16px;
	--body-bg: #FAFAFC;
}

.btn,
.btn-secondary{
	--tblr-btn-padding-x: 15px;
	--tblr-btn-padding-y: 11.5px;
	--tblr-border-radius: var(--border-radius);
	--tblr-btn-box-shadow: 0 0 0 0;
}
.btn.btn-secondary{
	--tblr-btn-bg: var(--info-color);
}
.btn.btn-secondary:focus,
.btn.btn-secondary:active,
.btn.btn-secondary:hover,
.btn.btn-secondary.btn-outline:hover{
	background-color: var(--info-color-hover);
	color: #fff;
}
.btn.btn-secondary.btn-outline{
	background-color: transparent;
	color: var(--info-color);
	border-color: var(--info-color);
}
.navbar .navbar-nav .nav-link .badge{
	position: absolute;
    top: .05rem;
    right: .05rem;
}
.badge-red.badge-important {
    background: #ef4444;
    color: #fff;
}
ul{
	margin: 0;
	padding: 0;
}
html,body{
	overflow-x: hidden;
}
body {
	font-family: 'Rethink Sans', sans-serif;
	background-color: var(--body-bg);
	font-size: 16px;
	color: #333;
	margin: 0;
	padding: 0;
	line-height: 1.5;
	box-sizing: border-box;
}
svg{
	pointer-events: none;
}
.page-reporte svg {
    pointer-events: all;
}
.grid-1{
	grid-template-columns: repeat(1, 1fr);
}
.grid-2{
	grid-template-columns: repeat(2, 1fr);
}
.grid-3{
	grid-template-columns: repeat(3, 1fr);
}
.grid-4{
	grid-template-columns: repeat(4, 1fr);
}
.grid-5{
	grid-template-columns: repeat(5, 1fr);
}
.grid-6{
	grid-template-columns: repeat(6, 1fr);
}
.grid-7{
	grid-template-columns: repeat(7, 1fr);
}
.grid-8{
	grid-template-columns: repeat(8, 1fr);
}
.grid-9{
	grid-template-columns: repeat(9, 1fr);
}
.grid-10{
	grid-template-columns: repeat(10, 1fr);
}
.grid-11{
	grid-template-columns: repeat(11, 1fr);
}
.grid-12{
	grid-template-columns: repeat(12, 1fr);
}
/*.page.cargando{
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease, visibility .4s ease;
}*/
.page.cargando.show{
	opacity: 1;
	visibility: visible;
}
.page-header .breadcrumb li.breadcrumb-item,
.page-header .breadcrumb li.breadcrumb-item a{
	color: var(--disabled-color);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: color .4s ease;
}
.page-header .breadcrumb li.breadcrumb-item::before{
	color: var(--disabled-color);
}
.page-header .breadcrumb li.breadcrumb-item a:hover,
.page-header .breadcrumb li.breadcrumb-item.active,
.page-header .breadcrumb li.breadcrumb-item.active a{
	color: var(--secondary-text)
}
.page-wrapper{
	position: relative;
	padding-top: 76px;
	transition: margin .4s ease;
}
.navbar-vertical.navbar-expand-lg {
	top: 80px;
	left: 0;
	bottom: initial;
	overflow-y: auto;
	height: calc(100% - 88px);
	box-shadow: 0 0 0 0;
	border-right: 1px solid var(--border-color);
}

.navbar-expand-lg.navbar-vertical~.navbar {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 1;
	margin-left: 0;
	box-shadow: 0 0 0 0;
	border-bottom: 1px solid var(--border-color);
}

header.navbar {
	padding: 14px 0;
}
header.navbar .lft-side{
	display: flex;
	gap: 20px;
}
header.navbar .logo a img {
	max-width: 130px;
}
header.navbar .navbar-nav {
	gap: 8px;
	align-items: center;
}
header.navbar .lft-side .search{

}
header.navbar .lft-side .search input{
	color: var(--primary-text);
    width: 100%;
    font-size: 14px;
    border-radius: 12px;
    box-shadow: 0 0 0 0;
    border-color: var(--border-color);
    transition: border .4s ease;
}
header.navbar .lft-side .search input:hover{
	border-color: var(--primary-color);
}
header.navbar .navbar-nav .search .input-icon {
	width: 39px;
	overflow: hidden;
	border-radius: 12px;
	transition: width .4s ease;
	border: 1px solid var(--border-color);
}

header.navbar .navbar-nav .search input {
	border-radius: 12px;
	box-shadow: 0 0 0 0;
	border-color: transparent;
	transition: padding .2s ease;
}

header.navbar .navbar-nav .nav-item {
	padding: 5.5px 15px;
	/*border-radius: var(--border-radius);
	border: 1px solid var(--border-color);*/
}
.navbar .navbar-nav .nav-item.userNav .dropdown-menu{
	position: absolute;
	display: block;
    top: 90%;
    right: 0;
	opacity: 0;
	visibility: hidden;
    box-shadow: 0 0 0;
    border-radius: 12px;
    border: 1px solid var(--border-color);
	transition: opacity .4s ease, visibility .4s ease, top .4s ease;
}
.navbar .navbar-nav .nav-item.userNav a.nav-link.opn ~ .dropdown-menu{
	top: 100%;
    opacity: 1;
	visibility: visible;
}
.navbar .navbar-nav .nav-item.userNav .dropdown-menu a{
	color: var(--secondary-text);
	font-size: 14px;
	font-weight: 500;
	transition: background .4s ease, color .2s ease;
}
.navbar .navbar-nav .nav-item.userNav .dropdown-menu a:hover{
	color: var(--tblr-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--tblr-dropdown-link-active-bg);
}
aside.navbar{
	transition: width .4s ease !important;
}
aside.navbar .navbar-collapse {
	padding-top: 25px;
}
aside.navbar .logo{
	display: none;
}
aside.navbar.active{
	width: 40px;
	overflow: hidden;
}
aside.navbar.active .navbar-collapse .menu-section{
	margin: 0;
}
aside.navbar.active .navbar-collapse .menu-section h4{
	display: none;
}
aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link{
	padding: 0;
	justify-content: center;
}
aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link::after{
	display: none;
}
aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link .nav-link-icon {
	margin: 0;
}
aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link .nav-link-title{
	display: none;
}
aside.navbar .navbar-collapse .menu-section {
	margin-bottom: 25px;
}
aside.navbar .navbar-collapse .menu-section:last-of-type{
	margin-bottom: 0;
}

aside.navbar .navbar-collapse .menu-section h4 {
	padding: 0 10px;
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 25px;
	color: var(--primary-text);
}

aside.navbar .navbar-collapse .menu-section ul.navbar-nav {
	padding-top: 0 !important;
}

aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link {
	color: var(--secondary-text);
	padding: 9.5px 25px;
	font-size: 14px;
	border-radius: 0;
	font-weight: 500;
	gap: 10px;
	border-left: 3px solid transparent;
	transition: color .2s ease, border .2s ease;
}
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link .nav-link-icon {
	color: var(--secondary-text);
	transition: color .2s ease;
}

aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link:hover,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link:hover .nav-link-icon,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link.show,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link.show .nav-link-icon,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link.active,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link.active .nav-link-icon {
	color: var(--primary-color);
	border-color: var(--primary-color);
}
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link.show::after,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link.active::after{
	transform: rotate(135deg) translate(2px, -2px);
}
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item ul.dropdown-menu li a{
	font-size: 12px;
    padding: 8px 10px;
    padding-left: 65px;
    color: var(--secondary-text);
    transition: background .4s ease;
}
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item ul.dropdown-menu li a:hover,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item ul.dropdown-menu li a:focus,
aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item ul.dropdown-menu li a:active{
	background-color: #0000000f;
}
.navbar-expand-lg.navbar-vertical~.page-wrapper.active{
	margin-left: 2.4rem;
}
.page-body.v_wrap .v_contenido{
	transition: width .4s ease;
}
.page-body.v_wrap .v_contenido.active{
	width: 64px;
}
.page-body.v_wrap .v_contenido .item-section{
	transition: opacity .2s ease, visibility .2s ease;
}
.page-body.v_wrap .v_contenido.active .item-section{
	opacity: 0;
	visibility: hidden;
}

.page .page-filters {
	display: flex;
	margin-bottom: 20px;
	justify-content: space-between;
}

.page .page-filters .filter-status {
	background-color: #fff;
	padding: 5px;
	display: flex;
	gap: 5px;
	border-radius: 12px;
	border: 1px solid var(--border-color);
}

.page .page-filters .filter-status button.btn {
	background-color: transparent;
	color: var(--secondary-text);
	font-size: 14px;
	font-weight: 500;
	padding: 6.5px 8px;
	border-radius: 12px;
}

.page .page-filters .filter-status button.btn.active,
.page .page-filters .filter-status button.btn:hover {
	background-color: rgba(var(--tblr-primary-rgb), .1);
	color: var(--primary-color);
}

.page .page-filters .filter-options {
	display: flex;
	gap: 5px;
}

.page .page-filters .filter-options button.btn {
	border: 1px solid var(--border-color);
}

.page .page-filters .filter-options button.btn:hover {
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.page table.table {
	background-color: transparent;
}

.page table.table thead tr th {
	background-color: var(--border-color);
	color: var(--secondary-text);
	font-size: 14px;
	font-weight: 500;
	padding: 14px;
	text-transform: capitalize;
}

.page table.table thead tr th:first-of-type {
	border-radius: 16px 0 0 0;
}

.page table.table thead tr th:last-of-type {
	border-radius: 0 16px 0 0;
}

.page table.table thead tr th button {
	color: var(--secondary-text)
}

.page table.table tbody tr td {
	background-color: #fff;
	vertical-align: middle;
	font-size: 14px;
	color: var(--primary-text);
	border-bottom: 1px solid var(--border-color);
}

.page table.table tbody tr td:first-of-type {
	border-left: 1px solid var(--border-color);
}

.page table.table tbody tr td:last-of-type {
	border-right: 1px solid var(--border-color);
}

.page table.table tbody tr:last-of-type td:first-of-type {
	border-radius: 0 0 0 16px;
}

.page table.table tbody tr:last-of-type td:last-of-type {
	border-radius: 0 0 16px 0;
}

.page table.table tbody tr:last-of-type td {}

.page table.table tbody .actions {
	display: flex;
	gap: 5px;
}

.page table.table tbody .actions button {
	background-color: transparent;
	padding: 0;
}

.input-error {
    background-color: #ffe6e6;
}

.error-message {
    color: #ff3232 !important;
}

.alert-float-top {
    position: fixed;
    top: 30%;
    right: 20%;
    z-index: 99;
    width: 40rem;
}

.cargando{
	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ffffffe0;
    z-index: 9999999;
}

.custom-link {
    color: #1E1E1E;
    text-decoration: none;
	transition: all 0.2s ease-in-out;
}

.custom-link:hover {
    color: #d5d5d5;
    text-decoration: none;
	transition: all 0.2s ease-in-out;
}
.card{
	background-color: #fff;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}
.cursos_list{
	display: grid;
}
.cursos_list .curso_item .box .cover{
	position: relative;
}
.cursos_list .curso_item .box .cover .image{

}
.cursos_list .curso_item .box .cover .image img{
	width: 100%;
	display: block;
}
.cursos_list .curso_item .box .cover .fav,
.cursos_list .curso_item .box .cover .rating{
	background-color: #fff;
	position: absolute;
	display: flex;
	right: 10px;
	align-items: center;
	justify-content: center;
}
.cursos_list .curso_item .box .cover .fav{
	cursor: pointer;
	top: 10px;
	width: 40px;
	height: 40px;
	border-radius: 8px;
}
.cursos_list .curso_item .box .cover .rating{
	gap: 5px;
	bottom: 10px;
	padding: 1px 6px;
	border-radius: 35px;
}
.cursos_list .curso_item .box .cover .rating span{
	font-size: 16px;
	font-weight: 600;
	color: var(--tertiary-text);
}
.cursos_list .curso_item .box .cats{
	margin-bottom: 5px;
}
.cursos_list .curso_item .box .cats ul{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	gap: 10px;
}
.cursos_list .curso_item .box .cats ul li{
	color: var(--tertiary-text);
	list-style: none;
	font-size: 16px;
	font-weight: 600;
	display: flex;
}
.cursos_list .curso_item .box .cats ul li::before{
	content: "·";
	display: block;
	margin-right: 10px;
}
.cursos_list .curso_item .box .cats ul li:first-of-type::before,
.cursos_list .curso_item .box .cats ul li:first-of-type::before{
	display: none;
}
.cursos_list .curso_item .box .title{
	font-size: 24px;
	font-weight: 600;
	margin: 0;
	line-height: 1.2em;
	margin-bottom: 10px;
}
.cursos_list .curso_item .box .short_description{
	font-size: 16px;
	color: var(--secondary-text);
}
.carrito .products .item .box .price h4,
.cursos_list .curso_item .box .price h4{
	display: flex;
	margin: 0;
	gap: 7px;
	font-size: 20px;
	font-weight: 600;
	color: var(--primary-color);
}
.carrito .products .item .box .price.discount,
.cursos_list .curso_item .box .price.discount{
	color: var(--info-color);
	font-size: 20px;
	font-weight: 400;
	margin-top: 15px;
}
.carrito .products .item .box .price.discount p,
.cursos_list .curso_item .box .price.discount p{
	font-size: 14px;
	font-weight: 500;
	margin: 0;
}
.cursos_list .curso_item .box .price.discount h4{
	color: var(--info-color) !important;
}
.carrito .products .item .box .price h4{
	color: var(--primary-color) !important;
}
.carrito .products .item .box .price.discount h4 .old,
.cursos_list .curso_item .box .price.discount h4 .old{
	font-size: 14px;
	color: var(--tertiary-text);
	text-decoration: line-through;
}
.carrito .products .item .box a.btn-go,
.cursos_list .curso_item .box a.btn-go{
	margin-top: 20px;
}
.goog-logo-link,
.goog-te-gadget span {
  display: none !important;
}
.goog-te-gadget {
	font-size: 0 !important; /* Oculta todo texto sin afectar el select */
	color: transparent !important;
  }
.goog-te-combo {
font-size: 14px !important;
color: black !important;
}
.botn-toggle{
	background-color: #fff;
	position: absolute;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1px solid var(--border-color);
}
.botn-toggle.sideBarToggle{
	right: 10px;
	bottom: 10px;
	transform: rotate(180deg);
	transition: transform .2s ease;
}
.botn-toggle.sideBarToggle.active{
	right: 1.5px;
	transform: rotate(0);
}
.botn-toggle.vContenidoToggle{
	right: -15px;
	top: 20px;
	transform: rotate(0);
	transition: transform .2s ease;
}
.botn-toggle.vContenidoToggle.active{
	transform: rotate(180deg);
}
.page.roles .form-help{
    background-color: transparent;
    border: 1px solid #000;
    color: #000;
}

aside.navbar .navbar-collapse button.close-menu{
    background-color: transparent;
    position: absolute;
    right: 15px;
    top: 15px;
    border: 0;
    padding: 0;
	z-index: 2;
    outline: none;
	display: none;
}

@media (max-width: 992px) {
	aside.navbar .logo,
	aside.navbar .logo a{
		display: block;
	}
	aside.navbar .logo a img{
		width: 100%;
		max-width: 120px;
	}
	aside.navbar.active{
		width: 100%;
		overflow: hidden;
		border: 0;
	}
	aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link .nav-link-title,
	aside.navbar.active .navbar-collapse .menu-section h4,
	aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link::after{
		display: block;
	}
	aside.navbar.active .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link{
		padding: 7.5px 25px;
    	justify-content: flex-start;
	}
	.page-wrapper{
		padding-top: 0;
	}
	.page-wrapper .page-header .container-xl,
	.page-wrapper .page-body .container-xl{
		padding: 0 15px;
	}
	aside.navbar .navbar-collapse button.close-menu{
		display: block;
	}
	.botn-toggle{
		display: none;
	}
	.navbar-vertical.navbar-expand-lg {
		top: 0;
		overflow: inherit;
	}
	.navbar-vertical.navbar-expand-lg .container-fluid{
		padding: 0 15px;
	}
	aside.navbar .navbar-collapse .menu-section{
		margin-bottom: 10px;
	}
	aside.navbar .navbar-collapse .menu-section:last-of-type{
		margin-bottom: 0;
	}
	aside.navbar .navbar-collapse .menu-section h4{
		margin-bottom: 10px;
	}
	aside.navbar .navbar-collapse{
		background-color: #fff;
		position: fixed;
		display: block;
		left: -290px;
		top: 0;
		z-index: 10;
		height: 100%;
		width: 100%;
		padding: 20px 0;
		max-width: 280px;
		transition: left .4s ease;
		box-shadow: 0 2px 10px 2px #00000014;
	}
	aside.navbar .navbar-collapse .m-sections{
		overflow-y: auto;
		min-height: calc(100vh - 60px);
        max-height: calc(100vh - 60px);
	}
	aside.navbar .navbar-collapse.opn{
		left: 0;
	}
	aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link{
		padding: 7.5px 25px;
	}
	aside.navbar .navbar-collapse .menu-section ul.navbar-nav li.nav-item a.nav-link .nav-link-icon{
		display: block !important;
	}
}