/* Colours */

.bg-light { /* El oficial es muy clarito, lo usamos para fondos de card y como contenedor de campos */
	background-color: #f2f2f2 !important;
}

.bg-primary {
	background: #42a4d1 !important;
	color: #fff;
}

.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-primary a,
.bg-primary .mdi {
	color: #fff !important;
}

.bg-secondary {	
	background: #7bc6e9 !important;
	color: #fff;
}

.bg-secondary h3,
.bg-secondary h4,
.bg-secondary h5,
.bg-secondary h6,
.bg-secondary a,
.bg-secondary .mdi {
	color: #fff !important;
}

.text-primary {
	color: #42a4d1 !important;
}

.text-secondary {
	color: #7bc6e9 !important;	
}

.border-primary {
	border-color: #9cd0e7 !important;	
}

.border-secondary {
	border-color: #42a4d1 !important;	
}

/* Headings */

h2,
h3,
h4,
h5,
h6 {
	margin-bottom: 1.1rem;
}

h2 small,
h3 small, 
h4 small,
h5 small,
h6 small {	
	font-size: 65%;
}

/* Popups */

.tooltip-inner {
    background-color: #e2f6fb;
	color: #000;
}

.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .bs-tooltip-bottom .arrow::before {
    border-bottom-color: #e2f6fb !important;
}
.bs-tooltip-auto[x-placement^=top] .arrow::before, .bs-tooltip-top .arrow::before {
    border-top-color: #e2f6fb !important;
}
.bs-tooltip-auto[x-placement^=left] .arrow::before, .bs-tooltip-left .arrow::before {
    border-left-color: #e2f6fb !important;
}
.bs-tooltip-auto[x-placement^=right] .arrow::before, .bs-tooltip-right .arrow::before {
    border-right-color: #e2f6fb !important;
}

/* Buttons */

.btn { /* 30px */
	font-size: 1rem;
 	padding: 0.35rem 0.5rem; /* Misma altura que inputs, misma altura que botones con y sin icono */
	border-radius: 0 !important;
}

.btn.disabled.mdi,
.btn.disabled .mdi {
	color: #ddd !important;
}

.btn-sm, /* 20px */
.btn-group-sm > .btn {
	font-size: 0.8rem;	
	padding: 0.1rem 0.4rem;
}

.btn-lg, /* 40px */
.btn-group-lg > .btn {
	font-size: 1.2rem;
	padding: 0.6rem 0.8rem 0.5rem;
}

.btn .mdi {
	font-size: 1rem !important;
	line-height: 1.8rem;		
}

.btn-sm .mdi {
	font-size: 0.8rem !important;
	line-height: 0.8rem;	
}

.btn-lg .mdi {
	font-size: 1.2rem !important;
	line-height: 1.2rem;	
}

.btn-labeled { /* 30px */
	border: 0;
	padding: 0 0.5rem;	
	line-height: 2.3rem;
}

.btn-labeled .btn-label {
	position: relative;
	left: -8px;
	display: inline-block;
	padding: 0 0.6em 0 0.8em;
	background: rgba(255,255,255,0.15);
}

.btn-labeled span + span {
	margin: 0 0.5em 0 0;
}

.btn-labeled .btn-label .mdi,
.btn-labeled .btn-label.mdi {
	color: #fff !important; /* Boostrap FIX */
}

.btn-sm .btn-label {
	left: -9px;
}

.btn-sm .btn-label .mdi
.btn-sm .btn-label.mdi {	
	font-size: 0.7rem;
}

.btn-sm.btn-labeled { /* 20px */
	line-height: 1.55rem;
}

.btn-lg.btn-labeled { /* 40px */
	line-height: 3.1rem;
}

.btn-lg .btn-label {
	left: -10px;
}

.btn-primary {
	background-color: #42a4d1;
	border-color: #42a4d1;
}

.btn-outline-primary {
	border-color: #42a4d1;
	color: #42a4d1;
}

.btn-primary:hover,
.btn-outline-primary:hover {
	background-color: #3999c5;
	border-color: #3999c5;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-outline-primary:focus,
.btn-outline-primary.focus {
	box-shadow: 0 0 0 0.2rem rgba(66, 164, 209, 0.5);
	background-color: #3999c5;
	border-color: #3999c5;
	color: #fff;
}

.btn-primary.disabled,
.btn-primary:disabled,
.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
	background-color: #c0e3f3;
	border-color: #c0e3f3;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
	background-color: #3999c5;
	border-color: #3999c5;
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
	box-shadow: 0 0 0 0.2rem rgba(66, 164, 209, 0.5);	
}

.btn-secondary {
	background-color: #7bc6e9;
	border-color: #7bc6e9;
}

.btn-outline-secondary {
	border-color: #70bcdf;
	color: #70bcdf;
}

.btn-secondary:hover,
.btn-outline-secondary:hover {
	background-color: #70bcdf;
	border-color: #70bcdf;
}

.btn-secondary:focus,
.btn-secondary.focus,
.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
	box-shadow: 0 0 0 0.2rem rgba(123, 198, 233, 0.5);
	background-color: #70bcdf;
	border-color: #70bcdf;	
	color: #fff;	
}

.btn-secondary.disabled,
.btn-secondary:disabled,
.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
	background-color: #beddeb;
	border-color: #beddeb;
}

.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle,
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
	background-color: #70bcdf;
	border-color: #70bcdf;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
	box-shadow: 0 0 0 0.2rem rgba(123, 198, 233, 0.5);
}

.btn.disabled:hover *,
.btn[disabled]:hover *,
.btn.disabled:hover,
.btn[disabled]:hover {
    cursor: not-allowed;
}

.btn-ico {
	background-color: #fff !important;
	border-color: #ced4da;
}

.btn-ico:hover:not(.disabled) {
	background-color: #f0f0f0 !important;
}

.btn-ico .mdi {
	color: #6599b0 !important;
}

.btn-ico:focus,
.btn-ico.focus {
	box-shadow: none;
	border: 1px solid #000;
	border-color: #c2c7cc;
}

.btn-ico.disabled,
.btn-ico:disabled {
	color: #fff;
	background-color: #cccfd1;
	border-color: #ced4da;
}

.btn-ico:not(:disabled):not(.disabled):active,
.btn-ico:not(:disabled):not(.disabled).active,
.show > .btn-ico.dropdown-toggle {
	color: #939292;
	background-color: #dddfe0;
	border-color: #dddfe0;
}

.btn-ico:not(:disabled):not(.disabled):active:focus,
.btn-ico:not(:disabled):not(.disabled).active:focus,
.show > .btn-ico.dropdown-toggle:focus {
	box-shadow: none;
	border: 1px solid #000;
	border-color: #c2c7cc;
}

.btn[disabled] {
  pointer-events: none;
}

/* Forms */

.form-control {
	border-radius: 0;
}

.form-control:focus,
.form-group .selectize-input.focus {
	border-color: #81c0dc;	
	box-shadow: 0 0 0 0.2rem rgba(42, 167, 222, 0.25);	
}

.form-group input,
.form-group select {
	border-radius: 0 !important;
}

.form-control { /* 30px */
	font-size: 1rem; 
	height: calc(2.15rem + 2px);
	padding: 0.25rem 0.5rem;  	
}

.form-control-sm { /* 20px */
	font-size: 0.9rem;
	height: calc(1.4rem + 2px);
	padding: 0.25rem 0.5rem;  
}

.form-control-lg { /* 40px */
	font-size: 1.2rem;
	height: calc(2.9rem + 2px);
	padding: 0.25rem 0.5rem;
}

input[readonly].form-control {
    box-shadow: none !important;
    border: 1px solid #ced4da;
	/* padding-left: 0; El campo readonly no se puede quedar con el texto pegado */
}

.custom-select {
	color: #6c757d;
	font-size: 1rem;
	border-radius: 0;
	height: calc(2.15rem + 2px);
	padding: 0.25rem 0.5rem;  		
}

.custom-select:disabled {
	color: #6c757d;
}

.custom-select-sm {
	height: calc(1.4rem + 2px);
	padding: 0.25rem 0.5rem;  
	font-size: 0.9rem;
	line-height: 1;	
}

.custom-select-lg {
	font-size: 1.2rem;
	height: calc(2.9rem + 2px);
	padding: 0.25rem 0.5rem;
}

.form-control-plaintext {
	font-weight: bold;
	border-bottom: 1px dotted #ced4da !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	background: transparent !important;
	padding-left: 0;	
	color: #6c757d;	
}

.form-control-plaintext:empty {
	height: 30px !important;
}

.form-control-plaintext:focus {
	color: #6c757d;
	box-shadow: none;
}

.form-group label {
	border-radius: 0;
}

.form-group label.ico-container { /* Para insertar un icono dentro y que las alturas no se desigualen */
	line-height: 14px;
}

.input-group-text {
	color: #aeaeae;
	background-color: #f0f0f0;
}

.input-group-text .mdi {
	color: #a2a2a2 !important;
}

.input-group.ico-container {
    position: relative;
}

.input-group.ico-container:not(:focus) input.form-control {
    text-indent: 25px;
}

.input-group.ico-container:not(:focus) input.form-control-plaintext {
    text-indent: 34px;
}

.input-group.ico-container .mdi-magnify::before {
    position: absolute;
    left: 7px;
    bottom: 4px;
	color: #bbb;	
	z-index: 100;
}

.form-group .selectize-input {
	border: 1px solid #ced4da;
	color: #6c757d;
	height: 1.3rem;
	padding: .45rem 1rem;	
}

.form-group .selectize-input.focus{
	border-color: #81c0dc;	
	box-shadow: 0 0 0 0.2rem rgba(42, 167, 222, 0.25);	
}

.form-group .selectize-control {
	display: flex;
}

.custom-control-input:checked ~ .custom-control-label::before {
	border-color: #7bc6e9;
	background-color: #42a4d1;
}

.custom-control-input:not(:disabled):active~.custom-control-label::before {
	background-color:#cdeaf7;
	border-color:#cdeaf7
}

#accordion .card {
	margin-bottom: 0.5rem;
}

.card {
	border-radius: 0;
	margin-bottom: 1rem;
}

.card-header {
	font-size: 1.2rem;		
	padding: 0.35rem 0.8rem;
	border-radius: 0;
	align-items: center;
}

.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
	margin-bottom: 0;
	line-height: auto;
}

.card-header[data-toggle="collapse"] h3,
.card-header [data-toggle="collapse"] h3,
.card-header[data-toggle="collapse"] h4,
.card-header [data-toggle="collapse"] h4,
.card-header[data-toggle="collapse"] h5,
.card-header [data-toggle="collapse"] h5,
.card-header[data-toggle="collapse"] h6,
.card-header [data-toggle="collapse"] h6 {
	cursor: pointer;
}

.card-header .form-control-sm {
	margin-left: 0.5rem;
}

.card-footer {
	padding: 0.40rem 1.25rem 0.3rem 0.80rem;
	border-radius: 0 !important;	
}

.card-header:first-child {
	border-radius: 0;
}

.card .card-header [data-toggle="collapse"] .mdi,
.card .card-header[data-toggle="collapse"] .mdi {
    font-size: 1.3rem;
    line-height: 1rem;
	float: left;
	margin: 0.4rem 0.4rem 0 0;
}

.card .card-header small {
	font-size: 0.85rem;
	float: left;
	padding: 0.25rem;
}

.card .card-header .float-right {
	padding: 0.2rem 1rem 0 0;
}

.card .card-header .float-right .mdi {
	font-size: 1.2rem;
	margin: 0 0.1rem;
	line-height: 22px;
}

.card .card-header .col-auto {
	padding-top: 0;
}

.card .float-right .mdi.info {
	color: #666 !important;
}

.card.bg-primary {
	border: 1px solid #dcdcdc;
}

.card.bg-primary .card-header,
.card.bg-primary .card-footer {
	background: #42a4d1 !important;
	color: #fff;
}

.card .card-header.bg-primary .mdi:first-child:before {
	color: #fff !important;
}

.card.bg-secondary {
	border: 1px solid #dcdcdc;
}

.card.bg-secondary .card-header,
.card.bg-secondary .card-footer{
	background: #7bc6e9 !important;
	color: #fff;
}

.card.bg-secondary .card-header a,
.card.bg-secondary .card-footer a {
	color: #fff;
}

.card.bg-secondary .card-header a:hover,
.card.bg-secondary .card-footer a:hover {
	color: #eee;
}

.card .card-header.bg-secondary .mdi:first-child:before {
	color: #fff !important;
}

.card-header .mdi.mdi-chevron-down:before {
	transition: .3s transform ease-in-out;
	color: #373737;
}

.card-header a:hover {
	color: #373737;
}

.card-header .collapsed .mdi-chevron-down:before,
.card-header.collapsed .mdi-chevron-down:before {
	transform: rotate(-90deg) !important;
}

.card-header .mdi-chevron-down:hover,
.card-header .mdi-chevron-up:hover {
	cursor: pointer !important;
}

/* Tables */

.table caption {
	caption-side: top;
}

.table.border-dashed td {
	border-top: 1px dashed #dee2e6;
	border-bottom: 1px dashed #dee2e6;
}

.table.border-dotted td {
	border-top: 1px dotted #dee2e6;
	border-bottom: 1px dotted #dee2e6;
}

.table.border-dotted .form-control-plaintext,
.table.border-dotted input[readonly].form-control { /* Anulo los bordes del plaintext dentro de una tabla con borde */
	border: 0 !important;
}

.table thead.bg-primary tr th {
	background: #42a4d1 !important;	
	color: #fff;
}

.table thead.bg-secondary tr th {
	background: #7bc6e9 !important;	
	color: #fff;
}

/* Lists */

.list-group.list-group-striped li:nth-of-type(2n+1),
.list-group.list-group-striped a:nth-of-type(2n+1){
    background-color: #f7f7f7;
}

.list-group.list-group-striped li:nth-of-type(2n+2),
.list-group.list-group-striped a:nth-of-type(2n+2){
    background-color: #fff;	
}

.list-group-item-action:focus, .list-group-item-action:hover {
	background-color: #edebeb !important;
}

.list-group-item-action a:hover {
	color: #495057;
}

.list-group-item-action:focus {
	background: #d2d2d2 !important;
}

/* Borders */

.border-2 {
    border-width: 2px !important;
}

.border-3 {
    border-width: 3px !important;
}

.border-4 {
    border-width: 4px !important;
}

.border-5 {
    border-width: 5px !important;
}

/* Dialog */
/* (El diseño por defecto de un dialog sin bg-primary o bg-secondary es igual a una card) */

body.modal-open {
	overflow: auto; !important;
}

.modal-header {
	border-radius: 0;
	align-items: center;	
    background: rgba(0,0,0,.03);
    border-bottom: 1px solid rgba(0,0,0,.125);	
	padding: 0.2rem 1rem;		
}

.modal-header .mdi:before { /* Puede ser que haya un icono a la izq. */
	color: #666;
}

.modal-header h3,
.modal-header h4,
.modal-header h5,
.modal-header h6 {
	color: #666;
}

.modal-header .close {
	color: #666;
	text-shadow: none;
	opacity: 1;	
	line-height: auto;
	padding: 1.5rem 1rem;
}

.modal-content {
	border-radius: 0;
}

.modal-footer a,
.modal-footer a:link,
.modal-footer a:visited,
.modal-footer a:active {
	color: #666;	
}

/**/

.modal-header.bg-primary {
    background-color: #42a4d1;
}

.modal-header.bg-primary .mdi:before { /* Puede ser que haya un icono a la izq. */
	color: #fff;
}

.modal-header.bg-primary h3,
.modal-header.bg-primary h4,
.modal-header.bg-primary h5,
.modal-header.bg-primary h6 {
	color: #fff;
}

.modal-header.bg-primary .close {
	color: #fff;
}

.modal-footer.bg-primary a,
.modal-footer.bg-primary a:link,
.modal-footer.bg-primary a:visited,
.modal-footer.bg-primary a:active {
	color: #fff;	
}

.modal-header.bg-secondary {
    background-color: #7bc6e9;
}

.modal-header.bg-secondary .mdi:before { /* Puede ser que haya un icono a la izq. */
	color: #fff;
}

.modal-header.bg-secondary h3,
.modal-header.bg-secondary h4,
.modal-header.bg-secondary h5,
.modal-header.bg-secondary h6 {
	color: #fff;
}

.modal-header.bg-secondary .close {
	color: #fff;
}

.modal-footer.bg-secondary a,
.modal-footer.bg-secondary a:link,
.modal-footer.bg-secondary a:visited,
.modal-footer.bg-secondary a:active {
	color: #fff;	
}

/* Ampliación de los estados de error de los formularios is-valid, is-invalid */

.custom-select.is-valid,
.custom-select.is-invalid,
.custom-select.is-warning,
.form-control.is-warning {	
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);	
}

.form-control.is-warning,
.custom-select.is-warning {
	border-color: #ffc107;
	padding-right: calc(1.5em + 0.75rem);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffc107' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 5.177l8.631 15.823h-17.262l8.631-15.823zm0-4.177l-12 22h24l-12-22zm-1 9h2v6h-2v-6zm1 9.75c-.689 0-1.25-.56-1.25-1.25s.561-1.25 1.25-1.25 1.25.56 1.25 1.25-.561 1.25-1.25 1.25z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center right calc(0.375em + 0.1875rem);
}

.form-control.is-warning:focus,
.custom-select.is-warning:focus {
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

.custom-control-input.is-warning:checked~.custom-control-label::before {
	border-color: #ffc107;
	background-color: #ffc107;
}

.custom-control-input.is-warning ~ .custom-control-label::before {
	border-color: #ffc107;
}

.custom-control-input.is-warning ~ .custom-control-label {
	color: #ffc107;
}

.custom-control-input.is-warning:focus:not(:checked) ~ .custom-control-label::before {
	color: #ffc107;
}

.custom-control-input.is-warning:focus ~ .custom-control-label::before {	
	box-shadow: 0 0 0 .2rem rgba(255,193,7,.25);
}

.custom-control-input.is-warning:focus:not(:checked) ~ .custom-control-label::before {
	border-color: #ffc107;
}

.custom-control-input.is-warning:not(:disabled):active ~ .custom-control-label::before {
	background-color: #ffc107;
	border-color: #ffc107;
}

/* Mejora de los controles is-valid, is-invalid ya existentes */

.custom-select.is-valid {
	background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
}

.custom-control-input.is-valid:not(:disabled):active ~ .custom-control-label::before {
	background-color: #34ce57;
	border-color: #34ce57;
}

.custom-select.is-invalid {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
}

.custom-control-input.is-invalid:not(:disabled):active ~ .custom-control-label::before {
	background-color: #e4606d;
	border-color: #e4606d;
}

/* Estado de checkbox deshabilitado. Aunque tenga is-valid, is-invalid, is-warning es gris */

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
	background-color: rgba(195,195,195,.5);
	color: #c3c3c3;
	border-color: #c3c3c3;
}

.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before {
	background-color: rgba(195,195,195,.5);
	color: #c3c3c3;
	border-color: #c3c3c3;
}

.custom-control-input:disabled ~ .custom-control-label {
	color: #c3c3c3;
}

.custom-control-input:disabled ~ .custom-control-label::before {
	border-color: #dbdbdb;
}

.custom-control-input:disabled ~ .custom-control-label::after {
	/* No hay que poner un background */
}

/* Listas */

.list-group-flush li:first-child {
	border-top: none;
}

.list-group-flush li:last-child {
	border-bottom: none;
}

.list-group-item:first-child {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.list-group-item:last-child {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

/* Navbar */

.navbar-dark .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.85)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.85)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-toggler {
	border-color: rgba(255,255,255,0.85);
}

.navbar-light .navbar-toggler {
	border-color: rgba(0,0,0,0.85);
}

.navbar-dark .navbar-toggler {
	color: rgba(255,255,255,.85);		
	border-radius: 0;
}

.navbar-light .navbar-toggler {
	color: rgba(0,0,0,.85);	
	border-radius: 0;
}

/*  Dropdowns con icono */

button.dropdown-toggle.btn-info.ico:before,
button.dropdown-toggle.btn-success.ico:before,
button.dropdown-toggle.btn-danger.ico:before,
button.dropdown-toggle.btn-light.ico:before {
	float: left;
	margin: -3px 5px -2px 0px;
	font-family: "Material Design Icons";
	font-size: 1.3rem;
}

button.dropdown-toggle.btn-info.ico:before {	
	content: "\f2d7";
}

button.dropdown-toggle.btn-success.ico:before {
	content: "\f133";
}

button.dropdown-toggle.btn-danger.ico:before  {
	content: "\f028";
}

button.dropdown-toggle.btn-light.ico:before {
	content: "\f7fb";
}

/* Dropdowns con menú */

.dropdown-item {
	padding: .4rem 1rem;	
}

.dropdown-menu a.dropdown-item .mdi {
font-size: 1.2rem !important;
line-height: 1.2rem;
float: none !important;
height: auto;
margin: 0 0.75rem 0 0 !important;
}

.dropdown-item.active,
.dropdown-item:active {
	background: #eee;
	color: #000;
}

/* Input group */

.input-group {
  align-self: flex-start; /* Para arreglar un bug de Bootstrap cuando pones un BTN dentro de un input-group */
}						  /* https://github.com/twbs/bootstrap/issues/27505 */

.input-group .btn-ico.mdi.disabled {
	color: #c8c8c8 !important;
}

.input-group .input-group-append .mdi,
.input-group .input-group-prepend .mdi {
	font-size: 1.2rem !important;
	line-height: 1.2rem;
}

.input-group-sm .input-group-append .mdi,
.input-group-sm .input-group-prepend .mdi {
	font-size: 1rem !important;
	line-height: 1rem;
}

.input-group-lg .input-group-append .btn .mdi,
.input-group-lg .input-group-prepend .btn .mdi {
	font-size: 1.4rem !important;
	line-height: 1.4rem;	
}

.input-group-append .btn {
	padding: 0.1rem 0.5rem 0;
}

.input-group-text {
	padding: 0 0.5rem;
	line-height: 1.4 !important;
}

.input-group-text .mdi {
	display: inherit;
}

.input-group.input-space button {
    margin-left: 5px !important;
}

.input-group-text {
	border-radius: 0 !important;
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
	height: calc(1.5rem + 2px) !important;
	padding: 0.05rem 0.5rem;		
} 

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
	height: calc(2.75rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
	padding: 0 0.75rem;
	border-radius: 0;
}

.input-group-lg > .input-group-prepend > .input-group-text .mdi,
.input-group-lg > .input-group-append > .input-group-text .mdi,
.input-group-lg > .input-group-prepend > .input-group-text.mdi,
.input-group-lg > .input-group-append > .input-group-text.mdi {
	font-size: 1.2rem !important;
}

/* Badges */

.badge {
	line-height: auto;
	font-size: inherit;
	padding: .5em .7em;
	border-radius: 0;
}

/* Alerts */

.alert {	
	border-radius: 0;
}

.alert-danger a {
	color: #721c24 !important;
}

.alert-danger a:hover {
	color: #42090e !important;
	text-decoration: underline;	
}

.alert-success a {
	color: #155724 !important;
}

.alert-success a:hover {
	color: #093413 !important;
	text-decoration: underline;
}

.alert-warning a {
	color: #856404 !important;
}

.alert-warning a:hover {
	color: #5b470c !important;
	text-decoration: underline;
}

.alert-info a {
	color: #0c5460 !important;
}

.alert-info a:hover {
	color: #053840 !important;
	text-decoration: underline;
}

/* Switch */
/* Ref: https://stackoverflow.com/questions/55593229/increasing-the-size-of-a-bootstrap-checkbox */
/* A poder ser, el disabled / OFF dejarlo en tonos grises */

.custom-switch {
	padding-left: 2.25rem;
	padding-bottom: 1rem; /* added for positioning */	
}

.custom-switch .custom-control-label { /* added for alignment with the switch */
	padding-top: 0.25rem;
	padding-left: 1.5rem;
	padding-bottom: 0;	
	cursor: pointer;
}

.custom-switch .custom-control-label::before {
	height: 1.55rem;
	width: 3rem; /* it was 1.75rem before. Sliding way is longer than before. */
	pointer-events: all;
	border-radius: 1rem;
	/*border: 1px solid #adb5bd;*/
}

.custom-switch .custom-control-label::after {
	top: calc(0.25rem + 2px);
	left: calc(-2.25rem + 2px);
	width: calc(1.5rem - 4px); /* it was calc(1rem - 4px) before. Oval is bigger than before. */
	height: calc(1.55rem - 4px); /* it was calc(1rem - 4px) before. Oval is bigger than before. */
	background-color: #adb5bd;
	border-radius: 2rem; /* it was 0.5rem before. Oval is bigger than before. */
	transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out !important;
	transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
	transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out !important;
}

@media (prefers-reduced-motion: reduce) {
.custom-switch .custom-control-label::after {
	transition: none;
  }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
	background-color: #fff;
	-webkit-transform: translateX(1.5rem); /* translateX(0.75rem); */
	transform: translateX(1.5rem); /* translateX(0.75rem); */
	height: calc(1.55rem - 4px); /* it was calc(1rem - 4px) before. Oval is bigger than before. */	
}

/**/

.custom-switch.custom-switch-sm .custom-control-label::before {
	width: 2rem;
	height: 1rem;
}

.custom-switch.custom-switch-sm .custom-control-label::after {
	width: calc(1rem - 4px);
	height: calc(1rem - 4px);
}

.custom-switch.custom-switch-sm .custom-control-input:checked ~ .custom-control-label::after {
	-webkit-transform: translateX(1rem);
	transform: translateX(1rem);
	height: calc(1rem - 4px);	
}

.custom-switch.custom-switch-sm .custom-control-label {
	padding-top: 0.1rem;
	padding-left: 0.5rem;
}

/**/
	
.custom-switch.custom-switch-lg .custom-control-label::before {
	height: 2rem;
	width: 4rem;	
}

.custom-switch.custom-switch-lg .custom-control-label::after {
	width: calc(2rem - 4px) !important;
	height: calc(2rem - 4px) !important;
}

.custom-switch.custom-switch-lg .custom-control-input:checked ~ .custom-control-label::after {
	transform: translateX(2rem) !important;
	height: calc(2rem - 4px) !important;	
}

.custom-switch.custom-switch-lg .custom-control-label {
	padding-top: 0.5rem;
    padding-left: 2.5rem;
}

/* Navs */

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
	background: #42a4d1;
}

/* Page links */

.page-item.active .page-link {
	background: #2aa7de !important;
	border-color: #2aa7de;
}

.page-link:hover {
	color: #000;
}
