/* --------- theme ---------- */
:root {
	--base-text: #c6c6c;
	--link: #14377d;
	--link-hover: #184296;
	--primary: #14377d;
	--primary-hover: #184296;
	--dark: #333333;
}

/* GENERAL */

body {
	color: var(--base-text)
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	color: var(--base-text);
	font-weight: bold;
}

.text-primary {
	color: var(--primary) !important
}

a {
	color: var(--base-text);
	transition: all .5s;
}

	a:hover {
		color: var(--link-hover);
		text-decoration: none;
		transition: all .3s;
	}

.btn-link {
	color: var(--base-text);
	transition: all .5s;
	opacity: .85
}

	.btn-link:hover {
		color: var(--link);
		text-decoration: none;
		transition: all .3s;
		opacity: 1
	}

.page-item.active .page-link, .list-group-item.active {
	border-color: var(--primary)
}

.btn-primary, .btn-primary:active, .btn-outline-primary:hover, .page-item.active .page-link, .dropdown-item.active, .dropdown-item:active, .custom-control-input:checked ~ .custom-control-label::before {
	font-weight: bold;
	background: var(--primary) !important;
	border-color: transparent !important;
	color: #fff
}

.page-item.active .page-link {
	background: #fff !important;
	color: var(--primary) !important
}

.btn-primary:hover {
	background: var(--primary-hover) !important;
	border-color: transparent !important;
	color: #fff
}

.bg-primary {
	background-color: var(--primary) !important
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link, .badge-primary, .list-group-item.active {
	background-color: var(--primary)
}

.bg-dark {
	background-color: var(--dark) !important
}

.table .thead-dark th, .pagination.bg-dark {
	background-color: var(--primary) !important
}

.btn-white {
	background-color: #fff;
	border: 0;
	color: var(--primary) !important
}

	.btn-white:hover {
		background-color: rgba(255,255,255,.95);
		border: 0;
		color: var(--primary) !important
	}

	.btn-white.shadow:hover {
		box-shadow: 0 .2rem .4rem rgba(0,0,0,.1) !important
	}

.btn-outline-primary {
	color: var(--primary);
	border-color: var(--primary);
}

.input-group-text {
	background-color: #eee
}

.table td, .table th {
	padding: .9rem .8rem
}

.table .thead-dark th {
	border-color: transparent;
	border-radius: 5px 5px 0 0;
}

.table th {
	line-height: 1.15em;
	font-size: .785rem;
	padding: 1rem .8rem
}

.td-sm {
	width: 1%
}

.table {
	font-size: .875rem
}

.table-striped tbody tr:nth-of-type(2n+1) {
	background-color: rgba(0,0,0,.008);
}

.table-striped tbody tr:hover {
	background-color: rgba(0,0,0,.05);
}

.icon-lg {
	font-size: 1.5em
}

.icon-bg {
	position: absolute;
	display: block;
	bottom: .15em;
	right: .15em;
	font-size: 5rem !important;
	opacity: .04;
}

.check-lg {
	padding-left: 1.9rem;
}

	.check-lg .form-check-input {
		width: 1.45rem;
		height: 1.45rem;
		margin-top: 0;
		margin-left: -1.9rem;
		cursor: pointer;
	}

	.check-lg, .check-lg .form-check-input, .check-lg .form-check-label {
		cursor: pointer;
	}

.form-number-sm {
	width: 80px;
	height: 1.8rem;
	padding: .25rem .5rem;
	text-align: center
}

.stato-wrp {
	position: relative;
	padding-left: 16px
}

.stato-spot {
	margin-top: -2px;
	display: inline-block;
	width: 12px;
	height: 12px;
	vertical-align: middle;
	border-radius: 50%;
	box-shadow: 0 3px 8px rgba(255,255,255,0.25) inset;
	background: #999
}

.stato-wrp .stato-spot {
	position: absolute;
	left: 0;
	top: .4em;
}

.text-success .stato-spot {
	background: #63b80f
}

.text-warning .stato-spot {
	background: #ffcc33
}

.text-danger .stato-spot {
	background: #ee3b33
}

.text-info .stato-spot {
	background: #17a2b8
}




* {
	font-family: 'Montserrat', sans-serif;
}

body {
	min-height: 100vh
}

.display-1, .display-2, .display-3, .display-4, .display-5 {
	font-weight: inherit
}

.modal-backdrop {
	background: var(--base-text)
}

	.modal-backdrop.show {
		opacity: .5
	}

.text-white .text-muted, .footer-wrp .text-muted, .alert .text-muted {
	color: inherit !important;
	opacity: .5 !important
}

.bg-xlight {
	background-color: #fafbfd !important
}

.modal-content {
	border-radius: .3rem
}

.modal-title {
	line-height: 1.1em
}

.modal-content.shadow-lg {
	box-shadow: 0 1.5rem 4rem rgba(0,0,0,.3) !important;
}

.h-u {
	border-bottom: 1px solid #EBEDF2;
	padding-bottom: 0.35em;
}

hr.hb {
	width: 3.5rem;
	margin: 1rem 0;
	border-width: .35rem;
	height: .275rem;
	display: inline-block;
	clear: both;
	border-color: var(--primary)
}

hr.section-divider {
	margin-bottom: 1.5rem;
	border-top: 1px dashed rgba(0,0,0,.5)
}

.flip-x {
	transform: scaleX(-1);
}

.flip-y {
	transform: scaleY(-1);
}

.main-section {
	min-height: calc(100vh - 280px);
	z-index: 1;
	position: relative;
}

	.main-section.dashboard-section {
		min-height: calc(100vh - 205px);
	}

	.main-section.login-section {
		min-height: calc(100vh - 190px);
	}

@media (min-width: 1440px) {
	.container {
		max-width: 1420px
	}
}

@media (min-width: 1640px) {
	.container {
		max-width: 1600px
	}
}

textarea.form-control {
	height: 110px
}


.accordion > .card > .card-header {
	background: #fff linear-gradient(0deg, rgba(0,0,0,.035) 0%,rgba(0,0,0,0.01) 100%);
	padding: 0
}

.accordion .accordion-toggle {
	cursor: pointer;
	padding: .85rem 1.2rem
}

	.accordion .accordion-toggle:before {
		position: absolute;
		right: .5em;
		font-family: "Font Awesome 5 Free";
		content: "\f106";
		display: block;
		color: rgba(0,0,0,0.2)
	}

	.accordion .accordion-toggle.collapsed:before {
		content: "\f107";
	}

.tabs-section {
	padding-top: .5rem;
	background: linear-gradient(0deg, rgba(0,0,0,.03) 0%,rgba(0,0,0,0) 100%);
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
	box-shadow: 5px -5px 5px rgba(0,0,0,.01);
}


/* VALIDAZIONE CUSTOM */

.is-invalid .form-control {
	border-color: #dc3545;
	padding-right: calc(1.5em + .75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.is-invalid select.form-control {
	background-position: right calc(1.2em) center;
	padding-right: 2.3em;
}

.is-invalid .custom-control-label::before {
	border-color: var(--danger)
}

.is-invalid .invalid-feedback, .is-invalid .invalid-tooltip {
	display: block;
}

.form-group > label {
	color: rgba(0,0,0,.7);
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.15em
}

input.form-control {
	color: #212529
}

.form-group {
	margin-bottom: 1.25rem
}

.toolbar-wrp {
	border-radius: .25rem
}

.form-row {
	margin-right: -15px;
	margin-left: -15px
}

	.form-row > .col, .form-row > [class*="col-"] {
		padding-right: 15px;
		padding-left: 15px;
	}

.form-compact .form-group {
	margin-bottom: .5rem !important
}

	.form-compact .form-group > label {
		font-size: 1rem;
		margin-bottom: 0;
		padding-top: .5rem;
	}

.nav-tabs .nav-link {
	font-size: .8rem
}

iframe.html-preview {
	width: 100%;
	overflow: auto;
	height: 350px
}

@media (min-width: 990px) {
	.form-compact .form-group > label {
		padding-left: 1.5rem;
	}

	.form-compact .form-group > .check-group, .form-compact .form-group > .radio-group {
		padding-top: .5rem;
	}

	.nav-tabs .nav-link {
		font-size: 1.1rem
	}
}




/* NAV */
.navbar-main {
	z-index: 3
}

	.navbar-main .navbar-toggler {
		border: transparent
	}

		.navbar-main .navbar-toggler.collapsed .navbar-toggler-icon {
			background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
		}

	.navbar-main .navbar-toggler-icon {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' width='28'%0A%3E%3Cg transform='translate(3.9661017,3.5677966)' id='imagebot_2' label='Layer 1'%3E%3Cpath d='M -2.5783352e-4,-0.00146808 17.435473,18.212367' id='imagebot_5' style='opacity:1;fill:%23000000;stroke:%23000000;stroke-width:2.23161912;stroke-linecap:round;stroke-miterlimit:4;fill-opacity:1;stroke-opacity:1' /%3E%3Cpath d='M -2.5783352e-4,18.212367 17.435473,-0.00146808' id='imagebot_4' style='opacity:1;fill:%23000000;stroke:%23000000;stroke-width:2.23161912;stroke-linecap:round;stroke-miterlimit:4;fill-opacity:1;stroke-opacity:1' /%3E%3C/g%3E%3C/svg%3E%0A");
	}

.nav-user .nav-link {
	max-width: 470px;
	overflow: hidden;
	white-space: nowrap;
	display: inline-block;
	text-overflow: ellipsis;
}

.navbar-main .navbar-nav li {
	border-bottom: 1px solid rgba(255,255,255,.2)
}

	.navbar-main .navbar-nav li.active {
		border-left: 3px solid var(--primary);
		padding-left: 1rem
	}

.navbar-main, .navbar-main .navbar-collapse {
	align-items: stretch;
}

	.navbar-main .navbar-nav .nav-link {
		padding: .75rem 0;
		line-height: 1em;
	}

		.navbar-main .navbar-nav .nav-link:hover {
			color: var(--primary) !important
		}

	.navbar-main .navbar-nav > li {
		border-bottom: none;
	}

	.navbar-main hr.hb {
		margin: .5rem 0 0 0
	}

	.navbar-main .navbar-collapse {
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 9;
		background: #fff
	}


@media (max-width: 767px) {
	.navbar-main .navbar-brand img {
		max-height: 35px
	}

	.nav-user .nav-link {
		max-width: 170px;
		font-size: .8rem;
	}

	.navbar-main .navbar-collapse {
		top: 67px;
	}
}



/* dropdown multilevel nav */
.navbar-nav > .dropdown > .dropdown-menu {
	margin-top: -5px;
	border: none
}

.navbar-nav .dropdown-toggle, .navbar-nav .dropdown-menu a {
	cursor: pointer;
}

.navbar-nav .dropdown-item.active, .navbar-nav .dropdown-item:active {
	color: inherit;
	text-decoration: none;
	background-color: inherit;
}

.navbar-nav .dropdown-item:focus, .navbar-nav .dropdown-item:hover {
	text-decoration: none;
}

.navbar-nav .dropdown-menu li {
	background: transparent !important
}

	.navbar-nav .dropdown-menu li a {
		display: block;
	}

	.navbar-nav .dropdown-menu li:hover {
		background: rgba(0,0,0,0.05) !important
	}

.navbar-main .navbar-nav li li.dropdown {
	display: block
}

	.navbar-main .navbar-nav li li.dropdown.show:hover {
		background: #fff !important
	}

.navbar-nav .dropdown-menu .dropdown-menu {
	position: static;
	border: none;
	box-shadow: none;
	font-size: .9rem;
}

	.navbar-nav .dropdown-menu .dropdown-menu a {
		opacity: .85
	}

		.navbar-nav .dropdown-menu .dropdown-menu a:hover {
			opacity: 1
		}

@media (min-width: 768px) {
	.navbar-nav .dropdown-toggle:not(.nav-link)::after {
		display: inline-block;
		width: 0;
		height: 0;
		margin-left: .5em;
		vertical-align: 0;
		border-bottom: .3em solid transparent;
		border-top: .3em solid transparent;
		border-left: .3em solid;
	}
}


/* HEAD */
.jumbotron {
	align-items: center;
	display: flex;
	position: relative;
	overflow: hidden;
	border-radius: 0;
	padding: 0;
	background: #f8f8f8 linear-gradient(-70deg, rgba(0,0,0,.1) 0%,rgba(0,0,0,0) 100%)
}

.jumbotron-heading {
	margin: 0;
	line-height: 1;
	color: var(--base-text);
	font-weight: bold
}

	.jumbotron-heading:after {
		display: block;
		content: '';
		width: 3.5rem;
		margin: 1rem 0;
		height: .275rem;
		clear: both;
		border: .2rem solid var(--primary);
		position: absolute
	}

.jumbotron .container-fluid, .jumbotron .container {
	z-index: 2;
}

.jumbo-bg {
	position: absolute;
	left: 0;
	height: 100%;
}

	.jumbo-bg .embed-responsive-item {
		object-fit: cover;
		opacity: 0.15;
	}

@media (max-width: 1023.99px) {
	.jumbotron-heading {
		font-size: 1.85rem
	}

	.jumbotron .btn-lg {
		margin: -.5rem 0;
		padding: .4rem .75rem
	}
}


/* DASHBOARD */
.dashboard-section .card-title::after {
	display: block;
	content: '';
	width: 3.5rem;
	margin: .5rem 0 1rem 0;
	height: .275rem;
	clear: both;
	border: .2rem solid #dadada;
}

.dashboard-section .card:hover {
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.1) !important;
}

.dashboard-section .card, .dashboard-section .card:hover {
	transition: all .4s;
}


/* FOOTER */
section.footer-wrp {
	border-top: 3px solid var(--primary)
}

	section.footer-wrp p.text-white {
		color: rgba(255,255,255,.66) !important
	}

	section.footer-wrp a {
		color: #fff
	}

		section.footer-wrp a:hover {
			color: var(--primary)
		}


/* show more */
.page-wrp {
	overflow: hidden;
	height: 100%
}

.btn-more-filters {
	order: 99;
	min-width: 260px;
	padding: .75rem 1.25rem .75rem 2.75rem;
	border-radius: 0 0 .75rem .75rem;
	cursor: pointer;
	z-index: 2;
	border-top: 1px solid rgba(0,0,0,.075);
	display: none;
}

	.btn-more-filters:before {
		content: "\f055";
		font-family: "Font Awesome 5 Free";
		display: inline-block;
		position: absolute;
		left: 20px;
		font-weight: 900;
	}

.dropFilter .btn-more-filters {
	display: block
}

.show .btn-more-filters:before {
	transform: rotate(45deg);
}

@media (max-width: 1023.99px) {
	.page-wrp {
		max-width: 100vw
	}
}

.btn-toggle.collapsed .fa-search-minus:before {
	content: "\f002"
}

.btn-toggle.collapsed .fa-times-circle::before {
	content: "\f002";
}




/* PAGINATION */

.table-fixed-height {
	overflow: auto;
	height: 556px;
}

.page-link {
	padding: .65rem .9rem;
	border: none !important;
	background-color: rgba(255,255,255,.2);
	min-width: 2.45em;
	font-weight: 700;
	margin: 1px;
	color: #fff;
	text-align: center
}

	.page-link:hover {
		color: var(--primary);
	}

.page-item.disabled .page-link {
	background-color: rgba(255,255,255,.15);
}

.page-link {
	padding: .65rem .9rem;
	border: none !important;
	background-color: rgba(255,255,255,.2);
	min-width: 2.45em;
	font-weight: 700;
	margin: 1px;
	color: #fff;
}



#blazor-error-ui {
	background: lightyellow;
	bottom: 0;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
	display: none;
	left: 0;
	padding: 0.6rem 1.25rem 0.7rem 1.25rem;
	position: fixed;
	width: 100%;
	z-index: 1000;
}

	#blazor-error-ui .dismiss {
		cursor: pointer;
		position: absolute;
		right: 0.75rem;
		top: 0.5rem;
	}

.spinner {
	border: 16px solid silver;
	border-top: 16px solid #337ab7;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	animation: spin 700ms linear infinite;
	top: 60%;
	position: absolute;
}

.center-spinner {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
}

.wrapper {
	flex: 1 0 auto;
}

.push {
	height: 50px;
}

.page-container {
	position: relative;
	min-height: 100vh;
}

.content-wrap {
	padding-bottom: 2.5rem; /* Footer height */
}

.my-footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	/*height: 2.5rem;*/
}

.custom-button {
	width: 320px;
	height: 320px;
	font-size: 40px;
	margin: 10px;
	white-space: normal;
}

.left-custom-color {
	background-color: blue;
	color: white;
}

.center-custom-color {
	background-color: red;
	color: white;
}

.right-custom-color {
	background-color: green;
	color: white;
}
