/* Variabili */

:root {
	--mediability-color: #00a0df;
	--mediability-color-dark: #00263e;
	--mediability-color-darkest: #001624;
}

/* Inizializzazione */

a {
	color: var(--mediability-color);
}
a:hover {
	color: var(--mediability-color-dark);
}
textarea {
	resize: none;
}
table td, table th {
	vertical-align: middle !important;
}

/* Nav */

#accordion-sidebar .nav-item .nav-link {
	padding: 0.4rem 1rem;
}
#accordion-sidebar .nav-link svg {
	display: none;
}
#accordion-sidebar .nav-link:not(.collapsible) span {
	display: block;
}
#accordion-sidebar.toggled .nav-link svg {
	display: inline-block;
}
#accordion-sidebar.toggled .nav-link span {
	display: none;
}
#accordion-sidebar #page-title span {
	display: inline-block;
}
#accordion-sidebar #page-title svg {
	display: inline-block;
}
#accordion-sidebar.toggled #page-title svg {
	display: none;
}
.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover, .sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover {
	background-color: var(--mediability-color-dark);
}

/* Selectize */

.selectize-control.multi .selectize-input > div, .selectize-control.single .selectize-input > span, .selectize-control.single .selectize-input > span > * {
	background-color: var(--mediability-color);
	border-color: var(--mediability-color-dark);
	color: #fff;
}
.selectize-control.single .selectize-input.has-options span {
	padding-left: 9px;
	padding-right: 9px;
	border-radius: 3px;
}
.selectize-control.plugin-remove_button .remove-single {
    position: absolute;
    right: 4px;
    top: 0;
    font-size: 12px;
}

/* Utenti */

#user-data tr:first-child td, #user-data tr:first-child th {
	border-top: none;
}

/* Prodotti */

.product-image {
	width: 5rem;
	height: 5rem;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

/* Interfaccia luminosa */

.led-light {
	position: relative;
	text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
	border-radius: 20px;
	margin: 0 0.2rem;
	box-shadow: inset 0 0 5px #272727;
	font-size: 1rem;
	color: #000;
	text-transform: uppercase;
}
.led-light.large {
	width: 110px;
	padding: 1rem 0.5rem;
	border-radius: 100px;
	box-shadow: inset 0 0 40px #0c0c0c;
	margin: 0 1rem;
}
.led-light.large::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100px;
	opacity: 0.5;
	background-image: url('../img/grid.png');
	background-position: left top;
	background-size: 50%;
}
.led-light.green {
	background-color: #035500;
}
.led-light.green.off {
	animation: led-light-green-off .2s forwards;
}
.led-light.green.on {
	animation: led-light-green-on .2s forwards;
}
.led-light.yellow {
	background-color: #555300;
}
.led-light.yellow.on {
	animation: led-light-yellow-on .2s forwards;
}
.led-light.yellow.off {
	animation: led-light-yellow-off .2s forwards;
}
.led-light.red {
	background-color: #550000;
}
.led-light.red.on {
	animation: led-light-red-on .2s forwards;
}
.led-light.red.off {
	animation: led-light-red-off .2s forwards;
}

@keyframes led-light-green-on {
	0% {background-color: #035500;}
	100% {background-color: #09ff00;}
}
@keyframes led-light-green-off {
	0% {background-color: #09ff00;}
	100% {background-color: #035500;}
}
@keyframes led-light-yellow-on {
	0% {background-color: #555300;}
	100% {background-color: #fffb00;}
}
@keyframes led-light-yellow-off {
	0% {background-color: #fffb00;}
	100% {background-color: #555300;}
}
@keyframes led-light-red-on {
	0% {background-color: #550000;}
	100% {background-color: #ff0000;}
}
@keyframes led-light-red-off {
	0% {background-color: #ff0000;}
	100% {background-color: #550000;}
}

/* Generali */

#debug-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	height: 50vh;
	background-color: #fff;
	border-top: 2px solid #4e73df;
	width: 100%;
	z-index: 9999;
	box-shadow: 0 0 5px rgba(0,0,0,0.6);
	transform: translateY(45vh);
	transition: 0.5s ease-in-out;
}
#debug-bar.slide {
	transform: translateY(0);
}
#debug-bar h3 {
	text-align: center;
	padding: 0.3rem 0;
}
#debug-button {
	position: absolute;
	right: 0.5rem;
	top: 0.5rem;
	cursor: pointer;
}
#debug-container {
	margin-top: 5vh;
	height: 40vh;
}
#debug-bar th, #debug-bar td {
	background-color: inherit !important;
}
.progress-bar-vertical {
    width: 20px;
    min-height: 200px;
    background: #d0cece;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end
}
.progress-bar-vertical .progress-bar {
    width: 100%;
    height: 0;
    transition: height 0.6s ease
}
.btn-link:hover {
	text-decoration: none;
}
.small-td {
	width: 12%;
}
.small-td .form-inline {
	display: unset;
}
.small-td .form-control {
	width: 100%;
}
.no-border {
	border: none !important;
}
.no-border-top {
	border-top: none !important;
}
.system-loops-containers, .system-templates {
	position: relative;
}
.system-loops-containers:before, .system-templates:before {
	display: none;
}
.system-loops-containers, .system-templates {
	min-height: 3rem;
}
.system-loops-containers.searching:before, .system-templates.loading:before {
	position: absolute;
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: url("../img/loading.svg");
	background-size: 5% auto;
	background-repeat: no-repeat;
	background-position: center;
	background-color: rgba(255,255,255,0.8);
	z-index: 999;
}
.alert table {
	color: inherit;
}
.order-button, .download-item {
	cursor: pointer;
}
.order-button svg {
	margin-left: 0.5rem;
}
.bg-gradient-primary {
	background-image: none;
}
.btn-link {
	color: var(--mediability-color);
}
.border-primary {
	border-color: var(--mediability-color) !important;
}
.btn-link:hover, .page-link:hover {
	color: var(--mediability-color-dark);
}
.bg-success *, .alert-success *, .bg-primary * {
	color: #fff !important;
}
.btn-success:hover {
	background-color: var(--mediability-color-dark);
}
.text-primary {
	color: var(--mediability-color) !important;
}
.btn-primary, .nav-pills .nav-link.active, .nav-pills .show>.nav-link {
	background-color: var(--mediability-color);
}
.bg-gradient-primary {
	background-color: var(--mediability-color-darkest);
}
.btn-primary {
	border-color: var(--mediability-color-dark);
}
.btn-primary:hover {
	background-color: var(--mediability-color-dark);
    border-color: var(--mediability-color);
}
.page-item.active .page-link {
	background-color: var(--mediability-color);
	border-color: var(--mediability-color-dark);
}
.page-link {
	color: var(--mediability-color);
	background-color: #fff;
}
.sidebar .sidebar-brand {
	font-size: 0.7rem;
}
.btn-success.disabled, .btn-success:disabled {
	color: #fff;
	background-color: #8e9c97;
	border-color: #404744;
}
.img-icon {
	max-width: 1.2rem;
}
.img-thumb {
	max-width: 10rem;
}
.img-thumb-half {
	max-width: 6rem;
}
.sidebar .nav-item .collapse .collapse-inner .collapse-item {
	white-space: unset;
}
.bg-login-image {
	background-position: right;
}
.align-right {
	text-align: right !important;
}
.bg-login-image{
	background-image: url('../img/turnover-black.png');
	background-size: 80% auto;
	background-position: center;
	background-repeat: no-repeat;
}
.checkbox label .toggle, .checkbox-inline .toggle {
	margin-left: 0;
}
.toggle-on, .toggle-off {
	cursor: pointer;
}
.toggle-group .btn-default {
	color: #333;
    background-color: #fff;
    border-color: #ccc;
}
.toggle-off {
	background-color: red !important;
	color: #fff !important;
}
.bt-primary.disabled, .btn-primary:disabled {
	background-color: #9196a5;
	border-color: #9196a5;
}
.top-1 {
	top: 1rem;
}
.top-2 {
	top: 2rem;
}
.top-5 {
	top: 5rem;
}
.hide-scroll::-webkit-scrollbar { width: 0 !important; height: 0 !important; }
.hide-scroll { -ms-overflow-style: none; }
.hide-scroll { overflow: -moz-scrollbars-none; }
.hide-scroll { scrollbar-width: none !important; }
.json-string { color: green; }
.json-number { color: darkorange; }
.json-boolean { color: blue; }
.json-null { color: magenta; }
.json-key { color: red; }

/* Media */

@media (max-width: 1024px) {
	#product-modal {
		max-width: 90%;
	}
	#product-comparison-button {
		top: 11rem;
	}
	#filters-container {
		position: fixed;
		top: 2rem;
		right: 0;
		background-color: #fff;
		width: 60vw;
		border-style: solid;
		border-left-width: 0.1rem;
		border-top-width: 0.1rem;
		border-bottom-width: 0.1rem;
		border-right: none;
		padding: 1rem;
		box-shadow: -0.1rem 0.2rem 0.5rem #a0a0a0;
		border-top-left-radius: 0.5rem;
		border-bottom-left-radius: 0.5rem;
		transform: translateX(60vw);
		z-index: 98;
		transition: transform 0.4s ease-in-out;
	}
	#filters-inner-container {
		overflow: auto;
		height: 80vh;
	}
	#filters-container-button {
		position: absolute;
		transform: rotate(-90deg);
		padding: 0.5rem;
		top: 3rem;
		left: -4.5rem;
		border-top-left-radius: 0.3rem;
		border-top-right-radius: 0.3rem;
		box-shadow: -0.1rem -0.1rem 0.5rem #a0a0a0;
		cursor: pointer;
		z-index: 98;
		font-size: 0.9rem; 
	}
	#filters-container.show {
		transform: translateX(0);
	}
	.btn-icon-split .icon {
		display: none;
	}
	.intro-button {
		height: unset !important;
	}
	.sidebar.toggled .collapse.show {
		display: none !important;
	}
}
@media (min-width: 768px) {
	.sidebar {
		width: 13rem!important;
	}
}
@media (max-width: 768px) {
	#product-modal {
		max-height: calc(100vh - 40px);
	}
	#product-comparison-container {
		width: 90vw;
		transform: translateX(90vw);
	}
	#product-comparison-container h5 {
		font-size: .8rem;
	}
	#product-comparison-container table {
		font-size: .7rem;
	}
	#accordion-sidebar .nav-link::after {
		display: none !important;
	}
	#accordion-sidebar .nav-link span {
		display: none !important;
	}
	#accordion-sidebar .nav-link svg {
		display: inline-block;
	}
	#debug-bar {
		display: none;
	}
	.pagination li {
		font-size: .8rem;
	}
	.sidebar .nav-item .collapse {
		position: absolute;
		left: calc(6.5rem + 1.5rem / 2);
		z-index: 1;
		top: 2px;
	}
	.sidebar .sidebar-heading {
		text-align: center;
		padding: 0 1rem;
		font-weight: 800;
		font-size: .65rem;
	}
	.sidebar {
		width: 6.5rem !important;
		min-height: 100vh;
	}
	.sidebar .nav-item .nav-link {
		text-align: center;
		padding: .75rem 1rem;
		width: 6.5rem;
	}
	.sidebar.toggled {
		width: 0 !important;
		overflow: hidden;
	}
	.bg-login-image {
		background-position: center;
	}
	.table-responsive th {
		font-size: 0.8rem;
	}
	.table-responsive td {
		font-size: 0.7rem;
	}
	.btn, .option-element {
		font-size: 0.8rem;
	}
	.option-element .form-check-input {
		margin-top: .1rem;
	}
	.custom-group {
		flex-direction: column;
		border: none;
	}
	.custom-group .form-control {
		flex-grow: 1;
		display: block;
		width: 100%;
	}
	.custom-group .input-group-prepend {
		position: static;
		flex-grow: 1;
	}
	.custom-group input {
		width: 100%;
		border-radius: 0 !important;
		margin-bottom: 1rem !important;
	}
}