.full-height {
	/*height: calc(100vh - 3.5rem);*/
	height: 100vh;
	overflow-y: auto;
	overflow-x: hidden;
}

#toast-container {
	z-index: 9999;
	position: fixed;
	top: 4rem;
	right: 0.5rem;
}

.no-focus-editable:focus-visible {
	outline: var(--primary) solid 1px !important;
}

/*
.bg-LA {
	color: white;
	background: var(--gray);
}
.bg-PR {
	color: white;
	background: var(--blue);
}
.bg-HC {
	color: white;
	background: var(--red);
}
.bg-VE {
	color: black;
	background: var(--teal);
}
.bg-FR {
	color: white;
	background: var(--purple);
}
.bg-GR {
	color: black;
	background: var(--yellow);
}
*/

.bg-LA { background: #999999; color: white; }
.bg-PR { background: #0001ff; color: white; }
.bg-HC { background: #ff6604; color: white; }
.bg-VE { background: #32b107; color: white; }
.bg-FR { background: #9900ff; color: white; }
.bg-GR { background: #ffc008; color: white; }
.bg-CO { background: #93c47d; color: white; }
.bg-BE { background: #ea9999; color: white; }
.bg-AL { background: #e06666; color: white; }
.bg-DU { background: #cb1902; color: white; }
.bg-SN { background: #a61c01; color: white; }
.bg-SU { background: #006f90; color: white; }
.bg-CNR, .bg-BNR { background: #c00; color: white; }

.text-LA { color: #999999; }
.text-PR { color: #0001ff; }
.text-HC { color: #ff6604; }
.text-VE { color: #32b107; }
.text-FR { color: #9900ff; }
.text-GR { color: #ffc008; }
.text-CO { color: #93c47d; }
.text-BE { color: #ea9999; }
.text-AL { color: #e06666; }
.text-DU { color: #cb1902; }
.text-SN { color: #a61c01; }
.text-SU { color: #006f90; }
.text-CNR, .text-BNR { color: #c00; }

.btn-outline-primary.text-LA:not(:disabled):not(.disabled).active { background: #999999; color: white; }
.btn-outline-primary.text-PR:not(:disabled):not(.disabled).active { background: #0001ff; color: white; }
.btn-outline-primary.text-HC:not(:disabled):not(.disabled).active { background: #ff6604; color: white; }
.btn-outline-primary.text-VE:not(:disabled):not(.disabled).active { background: #32b107; color: white; }
.btn-outline-primary.text-FR:not(:disabled):not(.disabled).active { background: #9900ff; color: white; }
.btn-outline-primary.text-GR:not(:disabled):not(.disabled).active { background: #ffc008; color: white; }
.btn-outline-primary.text-CO:not(:disabled):not(.disabled).active { background: #93c47d; color: white; }
.btn-outline-primary.text-BE:not(:disabled):not(.disabled).active { background: #ea9999; color: white; }
.btn-outline-primary.text-AL:not(:disabled):not(.disabled).active { background: #e06666; color: white; }
.btn-outline-primary.text-DU:not(:disabled):not(.disabled).active { background: #cb1902; color: white; }
.btn-outline-primary.text-SN:not(:disabled):not(.disabled).active { background: #a61c01; color: white; }
.btn-outline-primary.text-SU:not(:disabled):not(.disabled).active { background: #006f90; color: white; }
.btn-outline-primary.text-CNR:not(:disabled):not(.disabled).active, .btn-outline-primary.text-BNR:not(:disabled):not(.disabled).active { background: #c00; color: white; }

.border-LA { border-color: #999999 !important; }
.border-PR { border-color: #0001ff !important; }
.border-HC { border-color: #ff6604 !important; }
.border-VE { border-color: #32b107 !important; }
.border-FR { border-color: #9900ff !important; }
.border-GR { border-color: #ffc008 !important; }
.border-CO { border-color: #93c47d !important; }
.border-BE { border-color: #ea9999 !important; }
.border-AL { border-color: #e06666 !important; }
.border-DU { border-color: #cb1902 !important; }
.border-SN { border-color: #a61c01 !important; }
.border-SU { border-color: #006f90 !important; }
.border-CNR, .border-BNR { color: #c00 !important; }

.lgi-resaltado { position: relative; }
.lgi-resaltado:before {
	content: '';
	width: .3rem;
	position: absolute;
	height: 100%;
	left: 0;
	top: 0;
}
.lgi-LA:before { background: #999999; }
.lgi-PR:before { background: #0001ff; }
.lgi-HC:before { background: #ff6604; }
.lgi-VE:before { background: #32b107; }
.lgi-FR:before { background: #9900ff; }
.lgi-GR:before { background: #ffc008; }
.lgi-CO:before { background: #93c47d; }
.lgi-BE:before { background: #ea9999; }
.lgi-AL:before { background: #e06666; }
.lgi-DU:before { background: #cb1902; }
.lgi-SN:before { background: #a61c01; }
.lgi-SU:before { background: #006f90; }

.form-control.with-validity {
	display: inline-block;
	width: calc(100% - 1.5em - .75rem - 2px);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
input.form-control + span.validity, select.form-control + span.validity, textarea.form-control + span.validity {
	width: calc(1.5em + .75rem + 2px);
	display: inline-block;
	height: calc(1.5em + .75rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	/*border: 1px solid #ced4da;*/
	position: absolute;
}
input:invalid+span.validity:after, select:invalid+span.validity:after, textarea:invalid+span.validity:after {
	position: absolute;
	content: '❌';
	color: var(--danger);
	padding-left: 5px;
	top: .35em;
	right: .35em;
}

input:valid+span.validity:after, select:valid+span.validity:after, textarea:valid+span.validity:after {
	position: absolute;
	content: '✔';
	color: var(--success);
	padding-left: 5px;
	top: .35em;
	right: .35em;
}



.table-form td {
	padding: 0;
	vertical-align: middle;
}
.table-form td, .table-form th {
	vertical-align: middle;
}

.table-form input.form-control {
	border-radius: 0;
	border: none;
	font-weight: bold;
}

.table-form tfoot input.form-control {
	font-size: 1.5em;
}

.container.form-container {
	/*position: relative;*/
}
.btn-form-scrolling-save {
	position: absolute;
	right: 1rem;
	top: 0;
}
.form-right-spacing {
	/*width: calc(100% - 2rem);*/
	max-height: 75vh;
	overflow-y: auto;
}

#tabs-plan input[type='number'], #tabs-plan input[type='text'] {
	text-align: right;
	text-align-last: right;
}
#tabs-plan select {
	text-align-last: right;
}
#tabs-plan select > option {
	direction: rtl;
}

.mw-500 {
	max-width: 500px;
	margin: auto;
}

#table-itcmb-flex th, #table-itcmb-flex td {
	vertical-align: middle;
}
#table-itcmb-flex td.with-input {
	padding: 0;
}
#table-itcmb-flex td.with-input > .form-control {
	border: none;
	box-shadow: none;
}
#table-itcmb-flex td.with-input > input::placeholder {
	color: #ccc;
}


.plato {
	position: relative;
	/*border: 0.01rem solid var(--gray);*/
	margin: 0 0.2rem;
	cursor: pointer;
	height: 100%;
}
.plato:hover {
	background: var(--light);
}
.plato .plato-itcmb {
	/*position: absolute;
	top: 0;
	left: 0;*/
	/*margin-top: -0.1rem;*/
}
.plato p {
	line-height: 1.3em;
}
.plato .plato-img {
	/*width: 30%;*/
}


.vh-grafica {
	flex-grow: 1;
	width: 50%;
	height: 300px;
}
.vh-grafica-individual {
	width: 100%;
	height: 500px;
}


.btn-group-xs>.btn, .btn-xs {
	padding: .2rem .25rem;
	font-size: .65rem;
	line-height: 0.85rem;
	border-radius: .2rem;
}
.opcion-alimento {
	position: relative;
}
.opcion-alimento:hover {
	background: rgba(0,0,0,0.05);
}
.opcion-alimento-actions {
	position: absolute;
	right: 0;
	top: 0;
}

#alimentos-wrapper .grupo-alimento .dropdown.bootstrap-select.form-control {
	flex-basis: 30%;
}
@media (min-width:  1440px) {
	#alimentos-wrapper .grupo-alimento .dropdown.bootstrap-select.form-control {
		flex-basis: 35%;
	}
}
@media (min-width:  1600px) {
	#alimentos-wrapper .grupo-alimento .dropdown.bootstrap-select.form-control {
		flex-basis: 40%;
	}
}
#lista-platos .btn-desactivar-plato {
	position: absolute;
	right: .25rem;
	bottom: .25rem;
}

@media (min-width: 768px) {
	.w-md-50 {
		width: 50% !important;
	}
}