/*
 * EENDA
 * Marketing, Desarrollo & Consulting
 * www.eenda.com
 * © 2026
 */

 *{
	font-size:16px;
}

body{
	overflow-x: hidden;
}

html,
body{
	height: 100%;
	margin: 0;
}


body.back-end:not(.admin-not-logged-in){
	background:rgba(255, 255, 255, 1);
}

body.back-end.admin-not-logged-in{
	background:rgba(4, 100, 251, .25);
}

/*
Grid
*/
.wrapper{
	display: flex;
	height: 100%;
	width: 100%;
}

.content {
	margin-left: 18%; /* Same width as the sidebar */
	padding: 20px;
	width: 82%;

	&.sticky-top{
		padding:.25rem;
		background:rgba(0, 0, 0, .85);
		

		p{
			color:rgba(255, 255, 255, 1);
			text-align:center;

			a{
				color:rgba(255, 255, 255, .5);
			}
		}
	}
}

/*
Custom extends
*/
.container-fluid.px-0{
	overflow:hidden;
}

.flex-stack{
	justify-content: space-between;
	align-items: center;
}

.btn-primary{
	background:rgba(4, 100, 251, 1);
	color:rgba(255, 255, 255, 1);
}

select{
	cursor: pointer;
}

.dropdown.bootstrap-select{
	width:100% !important;
    display:block;
	background:rgba(255, 255, 255, 1);
	border:0;
	border-radius:0.375rem;
	transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.bootstrap-select button{
	width:100% !important;
	background:rgba(255, 255, 255, 1);
	border:1px solid #dee2e6;
	border-radius:0.375rem;
}

.bootstrap-select button[aria-expanded="true"]{
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}

.bootstrap-select input[type="search"]{
	margin-bottom:.25rem;
	border-color: transparent !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.bootstrap-select .dropdown-menu li a span.text{
	display:block;
}

.bootstrap-select .dropdown-menu li a span.text > small.text-muted{
	float:right;
}

.required:before{
    content: "*";
    position: relative;
    top: 2px;
    padding: 0 5px 0 0;
    font-weight: 700;
    font-size:1.2rem;
    color: red;
}

.form-label:not(.required){
	margin-bottom:.75rem !important;
}

.form-control::placeholder{
	font-style: italic;
	color:rgba(0, 0, 0, .35);
}

small.form-text *{
	font-size:inherit;
}

/*
CKeditor
*/
.ck-powered-by-balloon{
	display:none !important;
}

.ck-content{
	min-height:350px;
	height:auto;
	max-height:500px;
}

.label-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.label-container a {
    margin-left: auto;
    text-decoration: none;
    color: blue;
    cursor: pointer;
}

/*
XPFinder®, A Powerful Plugin for CKEditor v5
*/
.xpfinder-button img{
	max-height:16px;
}

#xpfinderLibrary .modal-header img{
	max-width:180px;
}

#xpfinderLibrary #fileList {
    max-height: 400px;
    overflow-y: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.file-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100px;
    text-align: center;
    cursor: pointer;
}

.file-item img, .file-item .file-icon {
    max-width: 80px;
    max-height: 80px;
    margin-bottom: 5px;
}

.file-item .file-icon {
    font-size: 50px;
    color: #ccc;
}

.file-item .file-name {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 5px;
    font-size: 12px;
}

.file-item button {
    position: absolute;
    top: 5px;
    width: 20px;
    height: 20px;
    border: none;
    color: white;
    border-radius: 50%;
    display: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.file-item .delete-button {
    right: 5px;
    background: rgba(255, 0, 0, 0.8);
}

.file-item .edit-button {
    left: 5px;
    background: rgba(0, 0, 255, 0.8);
}

.file-item:hover button {
    display: flex;
}

/*
Response $Ajax
*/
.response{
	display: none;
}

/*
Custom modals
*/
.modal-backdrop.show{
	opacity:.9 !important;
}

#modal_AjaxResponse .modal-body{
	padding:3rem;
	text-align: center;
}

#modal_AjaxResponse .modal-body span{
	font-size:1.15rem;
}

#modal_AjaxResponse .modal-body .error{
	color:red;
}

#modal_AjaxResponse .modal-body .error::before{
	content:"\f071";
	padding-right:.25rem;
	font-weight:300;
	font-family:'Font Awesome 5 Pro';
}

#modal_AjaxResponse .modal-body .success{
	color:green;
}

#modal_AjaxResponse .modal-body .success::before{
	content:"\f058";
	padding-right:.25rem;
	font-weight:300;
	font-family:'Font Awesome 5 Pro';
}

#modal_AjaxResponse .modal-body:not(.modal-body-error)::after{
	content: "Esta ventana se cierra automáticamente...";
	display:block;
	margin-top:.75rem;
	font-size:.9rem;
	color:rgba(0, 0, 0, .25);
}


/*
Formulario de login
 */
.card-form{
	border:0;
	border-radius:.375rem;
	box-shadow: 0 0 8px rgba(0, 0, 0, .065);
}

.card-form .card-header{
	padding:1.5rem;
	padding-bottom:0;
	background:transparent;
	border:0;
	text-align: center;
}

.card-form .card-header h3{
	font-size:1.25rem;
	color:rgba(4, 100, 251, 1);
}

.card-form .card-header p{
	margin-bottom:0;
}

.card-form .card-body{
	padding:1.5rem;
	padding-bottom:0;
}

.card-form .form-floating > label{
	color:rgba(0, 0, 0, .5);
}

.card-form .card-footer{
	padding:1.5rem;
	padding-top:0;
	border:0;
	background:transparent;
}

.other-links{
	margin:1rem auto 0 auto;
	text-align: center;
	font-size:.95rem;
	font-weight:300;
	color:rgba(0, 0, 0, .45);
}

.other-links a{
	text-decoration: none;
	color:inherit;
}

.other-links .fas{
	color:red;
}

.card-form .card-options{
	padding:1.5rem;
}

.card-form .card-options .title{
	position:relative;
}

.card-form .card-options .title h4{
	position: relative;
	z-index: 9;
	display: inline-block;
	padding: 2px 16px;
	background-color: rgba(255, 255, 255, 1);
	font-size:.85rem;
	color:rgba(0, 0, 0, .35);
	text-transform: uppercase;
}

.card-form .card-options .title:after{
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(0, 0, 0, .15);
}

.card-form .card-options p a{
	color: rgba(0, 0, 0, .25);
	text-decoration: none;
	transition: all .4s;
}

.card-form .card-options p a:hover{
	color:rgba(4, 100, 251, 1);
}

.card-form .social-list-item{
	height: 2rem;
	width: 2rem;
	line-height: calc(2rem - 1px);
	display: block;
	border: 1px solid rgba(0, 0, 0, .25);
	border-radius: 50%;
	color: rgba(0, 0, 0, .25);
	text-align: center;
	transition: all .4s;
}

.card-form .social-list-item:hover{
	border: 1px solid rgba(4, 100, 251, 1);
	background:rgba(4, 100, 251, 1);
	color: rgba(255, 255, 255, 1);
}


/*
Menú sidebar
 */
.menu-sidebar{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: 18%;
	background:rgba(4, 100, 251, .25);
}

.menu-sidebar-header{
	padding:2rem;
	height:90px;
	border-bottom:1px solid rgba(0, 0, 0, .095);
}

.menu-sidebar-header a.logo{
	display:inline-block;
}

.menu-sidebar-header .dropdown-menu,
.page-header .nav-actions .nav-item > .dropdown-menu{
	padding:.75rem;
	background-color: rgba(255, 255, 255, 1);
	border:0;
	border-radius: 0.95rem;
	box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.25);
}

.menu-sidebar-header .dropdown-item,
.page-header .nav-actions .dropdown-item{
	display:flex;
	align-items: center;
	padding:0.65rem 1rem;
	font-size:.85rem;
	border-radius:.95rem;
}

.menu-sidebar-header .dropdown-item:hover,
.page-header .nav-actions .dropdown-item:hover{
	background:rgba(4, 100, 251, .25);
}


.menu-sidebar-header .dropdown > a,
.menu-sidebar-header .btn{
	display:flex;
	padding:0;
	justify-content: center;
	align-items: center;
	width:25px; height:25px;
	text-align: center;
	background:none;
	border:0;
	color:rgba(4, 100, 251, 1);
	border-radius: 50%;
}

.menu-sidebar-header .border-end{
	border-color:rgba(0, 0, 0, 0.065) !important;
}

.menu-sidebar-body{
	position:relative;
	margin:1rem 0;
	padding:0 .75rem;
	height:90%;
	overflow-y:auto;
}

.menu-sidebar-body .accordion,
.menu-sidebar-body .accordion-item,
.menu-sidebar-body .accordion-button{
	background:transparent;
	outline: none;
}

.menu-sidebar-body .accordion-item{
	border-color:rgba(0, 0, 0, .035);
}

.menu-sidebar-body .accordion-button{
	font-weight:500;
	text-decoration: none;
	box-shadow: none;
}

.menu-sidebar-body .accordion-button{
	display:flex;
	justify-content: center;
	align-items: center;
}

/* Elementos que no despliegan */
.menu-sidebar-body .accordion-button::after{
	background:none;
	content:"\f178";
	font-weight:400;
	font-family:'Font Awesome 5 Pro';
	color:rgba(0, 0, 0, .125);
}

/* Elementos que sí despliegan */
.menu-sidebar-body .accordion-button[data-bs-toggle]::after{
	content:"\f300" !important;
}

.menu-sidebar-body .accordion-button:not(.collapsed)::after{
	content:"\f307";
	color:rgba(0, 0, 0, .095);
	transform: none;
}

.menu-sidebar-body .accordion-body{
	margin-left:1rem;
}

.menu-sidebar-body .accordion-body .list-group-item{
	margin-bottom:.25rem;
	padding:0.65rem 1rem;
	display: flex;
	align-items: center;
	background:transparent;
	font-size:.85rem;
	border:0;
	border-radius: 0.95rem;
	transition:all .2s;
}

.menu-sidebar-body .accordion-body .list-group-item:hover{
	background:rgba(4, 100, 251, .25);
}

.menu-sidebar-body .accordion-body .list-group-item::before{
	margin-right:.5rem;
	content: "\f192";
	font-weight:300;
	font-family: 'Font Awesome 5 Pro';
	color:rgba(0, 0, 0, .25);
}

/*
Offcanvas
 */

.offcanvas-start {
	background: rgba(198, 217, 255, 1);
}

.offcanvas-btn-container {
	display: none;
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	width: 72px;
	height: 72px;
	text-align: center;
	border-radius: 50%;
	z-index: 9999;
}

.offcanvas-btn-container button {
	padding: 0;
	position: relative;
	position: relative;
	width: 100%;
	height: 100% !important;
	color: rgba(255, 255, 255, 1);
	background: rgba(4, 100, 251, 1);
	border: 0;
	border-radius: 50%;
}

.offcanvas-btn-container button > img {
	max-width:50%;
	transition:all .3s;
}

.offcanvas.show + .offcanvas-btn-container button > img{
	transform:rotate(270deg);
}

.offcanvas-title {
	font-size: 1.25rem;
	color: rgba(255, 255, 255, 1);
	text-transform: uppercase;
}

.offcanvas-body .nav-link {
	color: rgba(255, 255, 255, .75);
}

.offcanvas-body .nav-link:hover {
	color: rgba(255, 255, 255, 1);
}

/*
Page container
 */

.page-wrapper{
	padding:.75rem 3rem;
}

.nav-wrapper{
	padding:.75rem 0;
}

.page-header{
	padding:1rem 0 3rem 0;
}

.page-header h2{
	margin:0;
	padding:0;
	font-size:1.5rem;
	display:flex;
	flex-direction: column;
}

.page-header nav > .breadcrumb{
	margin-bottom:0;
	opacity:50%;
}

.page-header .breadcrumb-item,
.page-header .breadcrumb-item a{
	font-size:.85rem;
}

.page-header .breadcrumb-item a{
	color:rgba(4, 100, 251, 1);
	text-decoration: none;
}

.page-header .nav-actions{
	float:right;
}

.page-header .nav-actions .nav-item > .dropdown-menu{
	padding: 0.75rem;
    background-color: rgba(255, 255, 255, 1);
    border: 0;
    border-radius: 0.95rem;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.25);
}

.page-header .nav-actions .nav-link{
	display:flex;
	align-items:center;
	justify-content: center;
	text-align: center;
	width:42px; height:42px;
	margin-left:.15rem;
	background:rgba(4, 100, 251, .75);
	border:1px solid rgba(0, 0, 0, .065);
	color:rgba(255, 255, 255, 1);
	text-decoration: none;
	border-radius:.75rem;
	transition:all .3s;
}

.page-header .nav-actions .nav-link span{
	display:none;
}

.page-header .nav-actions .nav-link:hover{
	background:rgba(4, 100, 251, 1);
}

.page-header .nav-actions .nav-link:active{
	box-shadow:inset 0 3px rgba(0, 0, 0, .25);
}

.page-body{
	padding:2rem;
	border-radius:.95rem;
	background:rgba(0, 0, 0, .025);
}

.page-title{
	margin-bottom:1.25rem;
	font-size:1.15rem;
	color:rgba(4, 100, 251, 1);
	text-transform: uppercase;
}

.page-body table thead th{
	font-weight:600;
}

.page-body .w-action{
	width:45px;
	text-align: center;
	border-left: 1px solid transparent;
}

.page-body tr.unactive td,
.page-body tr.unactive .w-action a,
.page-body .w-action .text-muted{
	color:rgba(0, 0, 0, .25) !important;
}

.page-body .w-action .disabled{
	color:rgba(0, 0, 0, .25) !important;
    pointer-events: none;
    opacity: 0.65;
}

.page-body .list-group-item{
	margin-bottom:.25rem;
	border-bottom:0;
	border-left:4px solid rgba(0, 0, 0, .25);
	border-radius:0;
	transition:all .3s;
}

.page-body .list-group-item:hover{
	border-left:4px solid rgba(0, 0, 0, 1);
}

.page-body .list-group-item a{
	color:rgba(0, 0, 0, .85);
	text-decoration: none;

	&::before{
		margin-right:.5rem;
		content: "\f192";
		font-weight:300;
		font-family: 'Font Awesome 5 Pro';
		color:rgba(0, 0, 0, .25);
	}

	&:hover{
		color:rgba(4, 100, 251, 1);

		&::before{
			color:rgba(4, 100, 251, 1);
		}
	}
}

.page-body .list-group-item.no-icon a{

	&::before{
		margin-right:0;
		content: "";
	}
}

.page-body .accordion-button.collapsed{
	background:rgba(4, 100, 251, .15);
}

.page-body .accordion-button:not(.collapsed){
	background:rgba(4, 100, 251, .5);
	color:rgba(255, 255, 255, 1) !important;
	box-shadow:none;
}

.page-body .nav-tabs .nav-link{
	padding: .5rem 1rem;
	background:transparent;
	color:rgba(0, 0, 0, .5);
}

.page-body .nav-tabs .nav-link.active{
	background:rgba(255, 255, 255, 1);
	color:rgba(0, 0, 0, 1);
}

.page-body .tab-content{
	margin-bottom:3rem;
	padding:3rem 1.25rem .5rem 1.25rem;
	background:rgba(255, 255, 255, 1);
	border:1px solid rgba(0, 0, 0, 0.115);
	border-top:0;
	border-bottom-left-radius:.75rem;
	border-bottom-right-radius:.75rem;
}

/*
DataTables Styling
*/
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter{
	margin-bottom:1rem !important;
	padding:.75rem 1rem;
	background:rgba(0, 0, 0, .035);
	border-radius: .95rem;
}

.dataTables_wrapper .dataTables_filter{
	background:none;
	border-radius: 0;
}

.dataTables_wrapper .dataTables_length select{
	margin: 0 .5rem;
}

.dataTables_wrapper .dataTables_filter input{
	margin: 0 0 0 .5rem;
}

.dataTables_wrapper .sorter{
	margin:1rem 0;
	border-bottom: 0 !important;
	border-color:rgba(0, 0, 0, .25) !important;
}

.dataTables_wrapper .dataTables_info{
	color:rgba(4, 100, 251, .25);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{
	background:none;
	border:0;
	color:rgba(0, 0, 0, .25) !important;
}

.dataTables_wrapper .dataTables_paginate span .current{
	background:rgba(0, 0, 0, .05) !important;
	border:0 !important;
	border-radius:1rem;
	color:rgba(0, 0, 0, .25) !important;
}