* {
	box-sizing: border-box;
}
body {
	background-color: #f39f2b;
	background: url('bg-orange.jpg') repeat top center;
	font-family: Ubuntu, Arial, Helvetica, sans-serif;
}
footer {
	color: #ffe5be;
	padding-top: 6px;
    font-size: 12px;
	max-width: 1000px;
	margin: 0 auto;
}
footer a {
	color: #ffe5be !important;
	text-decoration: none;
}
footer a:hover {
	border-bottom: 1px dashed #ffe5be;
}
h3 {
	font-weight: bold;
}
a, a:visited {
    color: #4c80af;
}
a:hover, a:active {
    color: #5a90be;
}
fieldset {
	border: 1px solid #eee;
	width: 95%;
    margin: 10px auto;
}
fieldset legend {
	font-weight: bold;
    padding: 0 10px;
}
h3 small {
	font-weight: normal;
}
.no-padding {
	padding: 0 !important;
}
.no-margin {
	margin: 0 !important;
}
.center {
	text-align: center;
}
.container {
	margin-top: 20px;
	background-color: #FFFFFF;
	padding: 20px;
	margin: 0 auto;
	margin-top: 20px;
	width: 1000px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.portal-info img {
	width: 280px;
}
.obq-form input:not([type=checkbox]), 
.obq-form textarea, 
.obq-form select {
	margin: 10px 0;
	font-size: 18px;
	width: 280px;
    padding: 12px;
    border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #FFFFFF;
	width: 100%;
}
.obq-form select {
	position: relative;
	appearance: none;
	-webkit-appearance: none;
	background: url('triangolo.png') no-repeat right center;
	background-size: contain;
}
.obq-form input:not([type=checkbox]):not([type=submit]):disabled, 
.obq-form textarea:disabled, 
.obq-form select:disabled {
	cursor: not-allowed;
	background: none;
}
.obq-form textarea {
	font-size: 1.2em;
	min-width: 280px;
	max-width: 100%;
	min-height: 100px;
	max-height: 30vh;
	resize: vertical;
}
.obq-form textarea.large {
	width: 100%;
}
.obq-form .form-group label {
	display: block;
	text-align: left;
	width: 100%;
}
.obq-form .filler {
	float: left;
	width: 16.66666%;
	padding: 1px;
	display: block;
}
.obq-form .form-group {
	float: left;
	width: 33.3%;
	padding-right: 5px;
}
.obq-form .form-group.fg-large {
	width: 66.6%;
}
.obq-form .form-group.inline {
	width: auto;
}
.obq-form .form-group.inline input[type="radio"],
.obq-form .form-group.inline input[type="checkbox"] {
	width: 20px;
    height: 20px;
    margin-right: 3px;
    display: inline;
    position: relative;
    top: 4px;
}
.obq-form .form-group.inline input[type="radio"] + label,
.obq-form .form-group.inline input[type="checkbox"] + label {
	display: inline;
}
.obq-form .form-group.inline:not(:last-child) {
	padding-right: 1em;
}
.obq-form .form-group input, 
.obq-form .form-group select {
	display: block;
	width: 100%;
	margin-top: 4px;
	height: 48px;
}
.btn, .btn:visited,
.obq-form input[type=submit] {
    background-color: #4c80af;
    color: white;
    padding: 1rem 2rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
	text-decoration: none;
	font-family: Ubuntu, Arial, Helvetica, sans-serif;
	font-size: 1rem;
}
.btn:hover,
.obq-form input[type=submit]:hover, a.bigbutton:hover {
    background-color: #5a90be;
	color: #FFFFFF;
}
.btn:disabled,
.obq-form input[type=submit]:disabled, 
.form-submitted input[type=submit],
.form-submitted button[type=submit] {
	opacity: 0.5;
	cursor: not-allowed;
}
.btn.btn-clear {
	color: #282828;
	border: 1px solid #282828;
	background: none;
}
.btn.btn-clear:hover {
	background-color: #f8f8f8;
}
.btn.btn-red {
	background-color: #c5463e;
}
.btn.btn-yellow {
	background-color: #e1ad2b;
}
.btn.btn-red:hover {
	background-color: #a4342c;;
}
.btn.btn-small {
	font-size: 0.9em !important;
	padding: 6px !important;
}
.btn.btn-form-field {
	border: 1px solid #ccc;
	width: 280px;
	margin: 10px 0;
}
.obq-form h3 {
	margin-bottom: 5px;
	margin-top: 30px;
}
.obq-form p {
	margin-top: 8px;
	margin-bottom: 0;
}
a.bigbutton {
	display: block;
	font-size: 18px;
	width: 280px;
	text-decoration: none;
	background-color: #4c80af;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
	text-align: center;
	margin: 0 auto;
}
ul.navmenu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #eee;
}
.cards {
	width: 520px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
.card-title {
	background-color: #4c80af;
	color: #FFFFFF;
	padding: 12px;
	font-size: 18px;
	cursor: pointer;
}
.card-body {
	border: 1px solid #4c80af;
	max-height: 0;
	transition: max-height 0.2s ease-out;
	overflow: hidden;
	margin-bottom: 5px;
	border-radius: 0 0 4px 4px;
}
.card-body p {
	padding: 10px;
	margin: 0;
}
.navmenu li {
    float: left;
}
.navmenu li a {
    display: block;
    color: #000;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}
.navmenu li a:hover {
    background-color: #ccc;
}
.msgs {
	/* margin: 20px; */
	padding: 4px;
	text-align: center;
}
.msgs.err, .msgs.error {
    border: 2px solid red;
    background-color: #f9e7e7;
}
.msgs.warn, .msgs.warning {
    border: 2px solid orange;
    background-color: #fff8e9;
}
.msgs.ok, .msgs.success {
    border: 2px solid green;
    background-color: #dfffdf;
}
.msgs.info {
    border: 2px solid #4c80af;
    background-color: #eef2f6;
}
.msgs.authbar {
    background: #f3f3f3;
    padding: 10px;
    margin: 1rem 0.5rem;
}
.full_table {
    border: 1px solid #eee;
    width: 100%;
}
.full_table thead {
    background-color: #eee;
}
.full_table tbody {
    background-color: #f9f9f9;
}
.obq-table {
	margin: 0 auto;
	padding-top: 15px;
}
.obq-table th, 
.obq-table td {
	background-color: #eee;
	padding: 10px 16px;
}
.obq-table tr:hover td {
	background-color: #f9f9f9;
}
.obq-table.dataTable.no-footer,
.obq-table.dataTable thead th, 
.obq-table.dataTable thead td {
    border-bottom: 1px solid #ccc !important;
}
.obq-table.dataTable input {
	width: 150px;
	background: none;
	border: none;
	font-size: 1em;
	font-family: 'Ubuntu';
	padding: 5px 8px;
	text-align: center;
	border-radius: 4px;
}
.obq-table.dataTable input:hover,
.obq-table.dataTable input:focus {
	background: #ffffff;
	outline: 1px solid #4c80af;
}
.obq-table.dataTable input.edited {
	background: #ffffff;
	outline: 1px solid #4caf51;
}
.obq-table.dataTable.collapsed .dtr-control {
	position: relative;
    padding-left: 30px;
    cursor: pointer;
}
.obq-table.dataTable.collapsed .dtr-control::before {
	top: 8px;
    left: 4px;
    height: 16px;
    width: 16px;
    display: block;
    position: absolute;
    color: white;
    border: 2px solid white;
    border-radius: 16px;
    text-align: center;
    line-height: 14px;
    box-shadow: 0 0 3px #444;
    box-sizing: content-box;
    content: '+';
    background-color: #31b131;
}
.obq-table.dataTable.collapsed .dt-hasChild .dtr-control::before {
    content: '-';
    background-color: #cd2d2d;
}
.obq-table.dataTable .dt-hasChild+.child ul {
    margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	column-gap: 1rem;
	flex-wrap: wrap;
}
.obq-table.dataTable .dt-hasChild+.child ul li span {
	display: block;
	text-align: left;
}
.obq-table.dataTable .dt-hasChild+.child ul li .dtr-title {
	font-weight: bold;
	margin-bottom: 0.5rem;
}
.header .logo {
	float: left;
	width: 180px;
	height: 150px;
	background: url('OBQ_Logo_Nero.png') no-repeat left center;
	background-size: contain;
	border-right: 1px solid #eee;
}
.header {
	width: fit-content;
	margin: 0 auto;
	display: table;
}
.header .title {
	float: left;
	margin: 25px;
}
.header h1, .header h2 {
	margin: 5px 0;
}
h1 {
	font-size: 3em;
}
.clearfix {
	clear: both;
}
.succes-tick {
	width: 150px;
	margin: 0 auto;
	margin-top: 50px;
}
.succes-tick .circ {
    opacity: 0;
    stroke-dasharray: 130;
    stroke-dashoffset: 130;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
	transition: all 1s;
}
.succes-tick .tick {
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
    -webkit-transition: stroke-dashoffset 1s 0.5s ease-out;
    -moz-transition: stroke-dashoffset 1s 0.5s ease-out;
    -ms-transition: stroke-dashoffset 1s 0.5s ease-out;
    -o-transition: stroke-dashoffset 1s 0.5s ease-out;
    transition: stroke-dashoffset 1s 0.5s ease-out;
}
.succes-tick .drawn + svg .path {
    opacity: 1;
    stroke-dashoffset: 0;
}
.fineprint {
	font-family: 'Courier New', Courier, monospace;
	text-align: left;
	font-size: 0.8em;
	padding: 1em;
}
.text-center {
	text-align: center;
}
.menu {
	padding: 0;
    list-style: none;
}
.menu li a {
	--color: #282828;
	padding: 15px 30px;
    background-color: #f3f3f3;
    max-width: 375px;
    display: block;
    margin: 0 auto;
    margin-bottom: 5px;
    text-align: left;
    color: var(--color);
    text-decoration: none;
    font-size: 1.2em;
	position: relative;
}
.menu li a:hover {
	background-color: #dddddd;
}
.menu li a:active {
	background-color: #e8e8e8;
}
.menu li a::before {
	content: "";
    position: absolute;
    border-right: 2px solid var(--color);
    border-top: 2px solid var(--color);
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    top: 22px;
    left: 12px;
}
.menu li a.disabled {
	--color: #dddddd;
	cursor: not-allowed;
}
.menu li a.disabled:hover {
	background-color: #f3f3f3;
}
.menu li a small {
	font-size: 0.65em;
}
.menu.inline {
	display: flex;
	justify-content: center;
	font-size: 0.95em;
}
.menu.inline li a {
	font-weight: bold;
	margin-right: 1px;
	padding: 12px 20px;
}
.menu.inline li a:before {
	display: none;
}

.user-tab {
	padding: 10px 20px;
    background-color: #f3f3f3;
	position: relative;
}
.user-tab:not(:last-child) {
	margin-bottom: 15px;
}
.user-tab h3, 
.user-tab p {
	margin: 10px 0;
}
.user-tab .btn-bottom { 
	position: absolute;
    right: 20px;
    bottom: 10px;
    display: block;
    text-align: center;
    padding: 8px 12px;
	margin: 10px 0;
}

.infobar {
	text-align: left;
	position: sticky;
	top: 0;
	border-top: 15px solid #fff;
    margin-top: 5px;
	z-index: 1;
}
.infobar h3 {
	margin: 0;
}
.infobar .info {
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 8px;
}
.infobar .total strong {
	font-size: 1.2em;
}

.tess_container {
	display:flex; 
	flex-direction: column; 
	align-items: center;
}
.tess_container .user_row {
	min-width: 400px;
	padding: 8px 10px; 
	border: 1px solid #dedede; 
	margin-bottom: 5px; 
}
.tess_container .row {
	text-align: left; 
	display: flex; 
	justify-content: space-between; 
	align-items: center;
	flex-wrap: wrap;
}
.tess_container .row > h3 {
	margin: 0; 
	margin-left:10px;
}
.tess_container .row .btnEditAnag {
	display: none;
}
.tess_container .check-dati .btn {
	padding: 6px 20px;
	margin-bottom: 8px;
}
.tess_container .form-group {
	width: 50%;
}
.tess_container .filler {
	display: none;
}

.bottom-links {
	color: #91b1d0;
}
.emph {
	font-weight: bold;
	font-style: italic;
}
.bold {
	font-weight: bold;
}
.flex-center {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flex-col {
	flex-direction: column;
}
.flex-align-center {
	align-items: center;
}
.d-block {
	display: block;
}
.mt-1.mt-1 {
	margin-top: 0.5em;
}
.mb-1.mb-1 {
	margin-bottom: 0.5em;
}
.mt-2.mt-2 {
	margin-top: 1em;
}
.mb-2.mb-2 {
	margin-bottom: 1em;
}
.text-error {
	color: #F44336 !important;
}
.text-success {
	color: #558b2f !important;
}
.form-submitted input[type="submit"],
.form-submitted button[type="submit"],
.loading {
	background-image: url('spinner.gif');
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
}
.loading-circle {
	border-radius: 50%;
	width: 35px;
    height: 35px;
	margin: 10px auto;
}
.obq-form .is-null {
	outline: 2px solid #F44336;
}
.d-block {
	display: block;
}
a.btnEditAnag {
	display: inline-block;
    font-size: 0.85em;
    padding: 6px 20px;
}
.text-muted {
	color: #3e3e3e;
}

.story {
	padding: 0.5rem;
}

.story p {
	font-size: 1.1rem;
	line-height: 1.5rem;
}

.story p:first-child {
	margin-top: 0;
}

.video {
	margin: 0 auto;
	width: 100%;
	aspect-ratio: 1;
	max-width: 40rem;
}

.soluzione-check {
	display: flex;
	text-align: left;
	align-items: center;
	column-gap: 0.85rem;
	margin-bottom: 0.85rem;
}
.obq-form .soluzione-check input[type=radio] {
	width: 1.5rem;
    height: 1.5rem;
    margin: 0;
}

@media screen and (max-width: 650px) {
	* {
		box-sizing: border-box;
	}
	.portal-info img, .container, .cards {
		width: 100%;
	}
	.obq-form .form-group, 
	.obq-form .form-group.fg-large, 
	.obq-form fieldset, 
	.obq-form input:not([type=checkbox]) {
		width: 100%;
		float: none;
	}
	.obq-form .filler {
		display: none;
	}
	
	.header h1 {
		font-size: 5.5vw;
	}
	.header h2 {
		font-size: 3.8vw;
	}

	.header .logo {
		width: calc(20vw + 15px);
		height: 20vw;
	}

	.header .title {
		margin: 3vw 12px;
	}

	.container {
		margin-top: 10px;
		padding: 20px 10px;
	}
	.user-tab .btn { 
		position: static; 
	}
	footer {
		text-align: center;
	}

	.tess_container .user_row {
		min-width: 100%;
	}
	/*.tess_container .user_row .row {
		justify-content: center;
	}*/
	.tess_container .user_row .row .startRichiesta {
		margin-top: 8px;
		padding: 6px 20px;
	}

	.menu.inline {
		flex-direction: column;
	}
	.obq-table.dataTable .dt-hasChild+.child ul {
		flex-direction: column;
	}
}

::placeholder { color: #bdbdbd; opacity: 1; }
:-ms-input-placeholder { color: #dddddd; }
