/*

USAGE

<div class='form-container clear-after margine label-left' > margine:mette margine 18px label-left:matte label a sx altrimenti top.
    <div class='form-elem'> aggiungere classe tre per divisione in tre altrimenti divisione in due
        <label></label>
        <div></div>
    </div >
    <div class='form-elem'>
        <label></label>
        <div></div>
    </div>
    <div class='form-elem'>
        <label></label >
        <div></div >
    </div>
    <div class='content-btn'>
        <div></div>
        <div></div>
    </div>
</div >

*/

.form-container {
	position: relative;
	width: 100%;
}

.form-container.margine {
	margin-top: 18px;
}

.form-container.centra {
	margin-left: auto;
	margin-right: auto;
}

.form-container .form-elem {
	width: calc( 100% / 3 );
	float: left;
	box-sizing: border-box;
	padding-right: 10px;
	min-height:26px;
	margin-bottom: 10px;
}

.form-container.due .form-elem {
	width: calc( 100% / 2 );
	float: left;
	box-sizing: border-box;
	padding-right: 10px;
	margin-bottom: 10px;
}

.form-container.quattro .form-elem {
	width: calc( 100% / 4 );
}

.form-container.uno .form-elem {
	width: 100%;
	box-sizing: border-box;
	float: none;
	padding-right: 0px;
	margin-bottom: 10px;
}

.form-container .form-elem .due-col {
	display:flex;
	column-gap:5px;
}

.form-container.due .form-elem:nth-child(2n) {
	padding-right: 0px;
}

.form-container .form-elem.forza-lungo {
	width: 100%;
	padding-right: 0px;
	float: none;
}

.form-container.label-left .form-elem label {
	width: 125px;
	display: inline-block;
	vertical-align: middle;
}

.form-container.label-left .form-elem label.larga {
    width: 350px;
    display: inline-block;
    vertical-align: middle;
}

.form-container .form-elem label {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}

.form-container .form-elem label.grassetto {
    font-weight: bold;
    width: 150px;
}

	.form-container .form-elem label.title-cont {
		display: block;
		width: 100%;
		font-weight: 500;
		margin-bottom: 10px;
		text-transform: uppercase;
	}

.form-container .form-elem > div.dx-datebox {
	width: 100% !important;
	display: block;
}

.form-container .form-elem > div {
	width: 100%;
	display: inline-grid;
}

.form-elem > div.dx-radiogroup-horizontal:before {
	display: none !important;
}

.form-container.label-left .form-elem > div {
	width: calc( 100% - 130px );
	display: inline-block;
	vertical-align: middle;
}

.form-container .form-elem > div.dx-textarea {
	height: 80px
}

.form-container.label-left .form-elem > div.dx-datebox {
	width: calc( 100% - 130px ) !important;
}

.form-container .content-btn {
	text-align: center;
	margin-bottom: 15px;
}

    .form-container .content-btn.centra {
        text-align: center;
        margin-bottom: 15px;
    }

    .form-container .content-btn.sinistra {
        text-align: left;
        margin-bottom: 15px;
    }

	.form-container .content-btn.allinea-in-basso {
		bottom: 0;
		left: 50%;
		margin-bottom: 5px;
		position: absolute;
		text-align: center;
		transform: translate(-50%, 0);
	}

.form-container h3 {
	border-bottom: 1px solid #D0D0D0;
	font-weight: normal;
}

.clear {
	clear: both;
	height: 0;
	overflow: hidden;
}

.clear-after:after {
    content: '.';
    display: block;
    height: 0;
    overflow: hidden;
    clear: both;
}

.form-container .form-elem > div .dx-datebox-date {
	width: calc( 100% - 40px ) !important;
}

.left-form-element {
	width: calc(90% - 130px) !important;
}

.right-form-element {
    width: 9% !important;
    max-width: 120px !important;
    margin-left: 5px !important;
}

.form-container.padding-form{
	padding:10px;
}

@media screen and (max-width: 1300px) {
	.form-container .form-elem {
		width: 50%;
	}

	.form-container .form-elem {
		padding-right: 10px;
	}
}


@media screen and (max-width: 1100px) {
	.form-container.quattro .form-elem {
		width: 50% !important;
	}
	.form-container .form-elem.tre {
		width: 50%;
	}

	.form-container .form-elem {
		width: 50%;
	}

	.form-container .form-elem.tre:nth-child(2n) {
		padding-right: 0px;
	}

	.form-container .form-elem.tre:nth-child(3n) {
		padding-right: 10px;
	}
}

.label {
	display: inline-block;
	width: 150px;
}

.form-container .dx-invalid-message.dx-overlay-wrapper {
	width: auto !important;
}

.form-container .dx-overlay-content {
	position: relative;
}

.form-container .title-sub-form {
    font-weight: 500;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.form-container .title-cont {
	display: block;
	width: 100%;
	margin-bottom: 10px;
	margin-top: 10px;
	text-transform: uppercase;
	font-weight: 700;
}

/*form in flex*/

.form-container-flex {
	display: flex;
	position: relative;
	width: 100% !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}
.form-container-flex.align-top {
	display: flex;
	position: relative;
	width: 100% !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
}

.form-container-flex .title-cont {
	display: block;
	width: 100%;
	text-transform: uppercase;
	font-weight: 700;
	margin: 10px 0;
}

.form-container-flex > .form-elem {
	width: calc( (100% / 3) - (40px / 3) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.label-left .form-elem label {
	width: 125px;
}

.form-container-flex.label-left .form-elem label.larga {
	width: 350px;
}

.form-container-flex.label-left .form-elem > div {
	width: calc( 100% - 130px );
}

.form-container-flex.due > .form-elem {
	width: calc( (100% / 2) - (20px / 2) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.uno > .form-elem {
	width: 100%;
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.quattro > .form-elem {
	width: calc( (100% / 4) - (60px / 4) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex .form-elem > div.dx-textarea {
	height: 80px
}

.form-container-flex.tre.right-max .form-elem {
	width: calc( (100% / 4) - (40px / 3) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.tre.right-max .form-elem:nth-child(3) {
	width: calc( (100% / 2) - (40px / 3) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

form-container-flex.tre.left-max .form-elem {
	width: calc( (100% / 4) - (40px / 3) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.tre.left-max .form-elem:first-child {
	width: calc( (100% / 2) - (40px / 3) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex .content-btn.centra {
	text-align:center;
	width:100%;
}

.form-container-flex.due.right-max > .form-elem {
	width: calc( (100% / 3) - (20px / 2) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.due.right-max > .form-elem:nth-child(2) {
	width: calc( (100% / (3/2)) - (20px / 2) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.due.left-max > .form-elem {
	width: calc( (100% / 3) - (20px / 2) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container-flex.due.left-max > .form-elem:first-child {
	width: calc( (100% / (3/2)) - (20px / 2) );
	box-sizing: border-box;
	min-height: 26px;
	display: flex;
	align-items: center;
}

.form-container .content-bottoni.centra {
	display: flex;
	justify-content: center;
	gap: 0 15px;
	padding-top: 5px;
	padding-bottom: 10px;
}

.form-container-flex .form-elem label {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}

.content-btn.allinea-in-basso {
	bottom: 0;
	left: 50%;
	margin-bottom: 5px;
	position: absolute;
	text-align: center;
	transform: translate(-50%, 0);
	padding-top: 5px;
	border-top: 1px solid #ddd;
	width: 98% !important;
}
.form-container.label-left .form-elem > div .auto-resize {
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	width: 100%;
	align-items: center;
	box-sizing: border-box;
}

.form-container.label-left .form-elem > div .auto-resize .box {
	flex: 1 1 0;
	min-width: 0;
}

.form-container.label-left .form-elem > div .auto-resize .separator {
	flex-shrink: 0;
}