html, body {
	position: relative;
	height: 100%;
	margin: 0;
}
body {
	height: auto;
	min-height: 100%;
	font-family: sans-serif;
	font-size: 16px;
	color: #676767;
	background: #f4f4f4;
}

.icona_svg {
	width: 20px;
	height: 20px;
	vertical-align: middle;
}

.main{
	min-height: 100%;
	width: 100%;
}

.colonna_logo {
	position:absolute;
	flex-grow: 0;
	flex-shrink: 0;
	width: 230px;
	top: 0;
	bottom: 0;
}
.colonna_logo .logo {
	position: relative;
	z-index: 1;
	padding-top: 15px;
	background: #fff;
}
.colonna_logo .logo img {
	display: block;
	margin: auto;
}
.colonna_logo .logo:after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	bottom: -37px;
	width: 100%;
	height: 90px;
	background: #fff;
	transform: skewY(17.5deg);
}

.colonna_contenuto {
	margin-left: 230px;
	flex-grow: 1;
}
.colonna_contenuto .header {
	background: #2b373a;
	padding: 15px;
	display: flex;
	justify-content: space-between;
}
.colonna_contenuto .header a {
	background-position: center left;
	background-size: 20px auto;
	text-decoration: none;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 3px
}
.colonna_contenuto .header .menu_utente {
	display: flex;
	align-items: center;
	gap: 15px;
}

.colonna_contenuto h1 {
	margin: 0;
	margin: 20px 0;
	color: #2b373a;
}

.colonna_contenuto .messaggio_feedback {
	padding: 10px 15px;
	margin: 10px 0;
	display: flex;
	align-items: center;
	gap: 5px;
}
.colonna_contenuto .messaggio_feedback .icona_svg {
	width: 30px;
	height: 30px;
	margin: -5px 0;
	flex-shrink: 0;
}
.colonna_contenuto .messaggio_feedback.success {
	background: #dbffdb;
	border: 1px solid #008b00;
	color: #008b00;
}
.colonna_contenuto .messaggio_feedback.error {
	background: #ffdbdb;
	border: 1px solid #c00000;
	color: #c00000;
}

.colonna_contenuto .wrapper_contenuto {
	border-left: 3px solid #ddd;
	padding: 0 15px 1px;
}

.form_ricerca {
	background: #fff;
	color: #2b373a;
	margin: 0 -15px;
	padding: 15px 0;
	gap: 15px 0;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
}
.form_ricerca .campo {
	padding: 0 15px;
	box-sizing: border-box;
}
.form_ricerca .campo span {
	display: block;
	padding-bottom: 5px;
}

input[type="text"],
input[type="search"],
input[type="submit"],
select,
.scheda_iscritto .select2-container .select2-selection--single,
button {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	height: 40px;
	font-size: 16px;
	padding: 0 7px;
	border: 1px solid #adaeae;
	color: inherit;
	border-radius: 0;
}
input[disabled] {
	background: #eee;
	color: #999;
	border-color: transparent;
}

select {
	width: 150px;
	background: url("../immagini/icone/freccia_select.svg") no-repeat;
	background-position: right 7px center;
	padding-right: 20px;
}
.scheda_iscritto .select2-container .select2-selection--single {
	display: flex;
	justify-content: space-between;
	border-radius: 0;
}
.scheda_iscritto .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 40px;
	color: inherit;
	padding-left: 0;
}
.scheda_iscritto .select2-container--default .select2-selection--single .select2-selection__arrow {
	position: relative;
	height: auto;
}
.area_personale .scheda_iscritto > tbody > tr > td:first-child {
	padding-top: 22px;
}

button {
	min-width: 150px;
	padding: 0 15px;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
@keyframes icona_caricamento {
	0% {rotate: 0deg;}
	100% {rotate: 360deg;}
}
button.caricamento {
	cursor:progress;
	opacity: 0.7;
	filter: none;
	transform: none;
}
button.caricamento::before {
	content: "";
	border-radius: 100%;
	border: 3px solid currentColor;
	opacity: 0.7;
	width: 18px;
	height: 18px;
	position: absolute;
	margin-left: -23px;
	border-right-color: transparent;
	animation: icona_caricamento 1s linear infinite;
}


.paging_wrapper {
	display: flex; 
	overflow: hidden; 
	gap: 30px;
	align-items: flex-end;
	padding: 15px 0;
}
.paging {
	overflow: auto;
	display: flex;
	margin: 0 auto 0 0;
}
.paging .n_risultati,
.paging .navigazione,
.paging .totale_pagine {
	white-space: nowrap;
	height: 36px;
	line-height: 36px;
}
.paging .n_risultati {
	padding-right: 10px;
} 
.paging .navigazione {
	display: flex;
	overflow: hidden;
}
.paging .totale_pagine {
	padding: 0 10px;
}
.paging .elenco_pagine {
	display: flex;
	overflow: hidden;
}
.paging span,
.paging a {
	display: inline-block;
	box-sizing: border-box;
	flex-shrink: 0;
	margin: 0 3px;
	width: 36px;
	height: 36px;
	border: 1px solid #c2c5ca;
	line-height: 34px;
	border-radius: 3px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}
.paging a {
	background: #fff;
}
.paging .icona_svg {
	width: 100%;
	height: 12px;
}
.paging span {
	color: #c2c5ca;
}
.paging .elenco_pagine span {
	color: #fff;
}
.paging .freccia_prev,
.paging .freccia_next {
	/* background-image: url("../immagini/icone/freccia_sx.svg"); */
	background-repeat: no-repeat;
	background-position: center center;
}
.paging span.freccia_prev,
.paging span.freccia_next {
	/* background-image: url("../immagini/icone/freccia_sx_inattiva.svg"); */
}
.paging .freccia_prev {
	transform: rotate(180deg);
}
.paging .freccia_inizio,
.paging .freccia_fine {
	/* background-image: url("../immagini/icone/freccia_sx_doppia.svg"); */
	background-repeat: no-repeat;
	background-position: center center;
}
.paging span.freccia_inizio,
.paging span.freccia_fine {
	/* background-image: url("../immagini/icone/freccia_sx_doppia_inattiva.svg"); */
}
.paging .freccia_inizio {
	transform: rotate(180deg);
}

.elenco_pagine {
	margin: 0 3px;
	height: 36px;
	overflow: hidden;
}
.elenco_pagine > * {
	display: flex;
}
.elenco_pagine .pagine_precedenti {
	justify-content: right;
	flex-direction: row-reverse;
	max-width: 50%;
}
.elenco_pagine .pagine_successive {
	justify-content: left;
	max-width: 50%;
}

.bottone_esporta {
	box-sizing: border-box;
	height: 36px;
	padding: 0 10px;
	border: 2px solid transparent;
	background: #fff;
	text-decoration: none;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 5px
}

.pannello {
	border: 1px solid #ccc;
	margin: 15px auto;
}
.titolo_pannello {
	color: #fff;
	padding: 15px;
}
.contenuto_pannello {
	background: #fff;
	padding: 15px;
}

table.elenco {
	width: 100%;
	box-sizing: border-box;
	border-collapse: collapse;
	border-spacing: 0;
	border: 2px solid #c2c5ca
}
table.elenco > thead > tr > th {
	color: #fff;
	text-align: left;
}
table.elenco > thead > tr > th,
table.elenco > tbody > tr > td {
	padding: 10px 15px;
}
table.elenco > tbody > tr > td:last-child {
	width: 1px;
}
table.elenco > tbody > tr:nth-child(odd) > td { background: #fff; }
table.elenco > tbody > tr > td > a {
	white-space: nowrap;
}

.scheda_iscritto {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
.scheda_iscritto > tbody > tr > td {
	padding: 10px 15px;
}
.scheda_iscritto > tbody > tr > td:first-child{
	background: #f7f7f7;
	color: #2b373a;
	white-space: nowrap;
	width: 1px;
	vertical-align: top;
}
.scheda_iscritto > tbody > tr:first-child > td:first-child {
	border-top: 1px solid #ccc;
}
.scheda_iscritto > tbody > tr > td:last-child{
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.scheda_iscritto .evidenzia {
	color: #e33;
}

.scheda_iscritto .elenco_elementi thead th {
	font-weight: 400;
	padding: 3px 10px 3px 0;
	text-align: left;
}
.scheda_iscritto .elenco_elementi tbody td {
	background: #fff;
	border: none;
}
.scheda_iscritto .elenco_elementi a {
	text-decoration: none;
	height: 40px;
	min-width: 40px;
	display: inline-flex;
	gap: 5px;
	justify-content: center;
	align-items: center;
}

.scheda_iscritto input, 
.scheda_iscritto select {
	width: 100%;
}

.scheda_iscritto .modificato input, 
.scheda_iscritto .modificato select,
.scheda_iscritto .modificato .select2-container--default .select2-selection--single {
	border-color: rgb(187, 183, 70);
	background: rgb(251, 249, 218);
}
.scheda_iscritto .eliminato td::before, 
.scheda_iscritto .eliminato input, 
.scheda_iscritto .eliminato select {
	opacity: 0.5;
}
.scheda_iscritto .elenco_elementi tbody tr .ripristina {display: none;}
.scheda_iscritto .elenco_elementi tbody .eliminato .rimuovi {display: none;}
.scheda_iscritto .elenco_elementi tbody .eliminato .ripristina {display: flex;}

.area_personale {
	padding-bottom: 15px;
}

@media screen and (max-width: 1024px){
	.scheda_iscritto .elenco_elementi {
		display: block;
		padding: 5px 0;
	}
	.scheda_iscritto .elenco_elementi thead {display: none !important;}
	.scheda_iscritto .elenco_elementi tbody {display: block;}
	.scheda_iscritto .elenco_elementi tbody td {display: contents;}
	.scheda_iscritto .elenco_elementi tbody tr {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
	}
	.scheda_iscritto .elenco_elementi tbody.elementi tr:not(:last-child) {
		border-bottom: 1px solid #adaeae;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	
	.scheda_iscritto .elenco_elementi tbody.elementi td::before {
		content: attr(data-label);
		grid-column: 1/2;
	}
	.scheda_iscritto .elenco_elementi tbody.elementi td > * {
		grid-column: 2/3;
		margin: 3px 5px
	}
	.scheda_iscritto .elenco_elementi tbody.elementi td:last-child > a {
		grid-column: 3/4;
		grid-row: 1/99;
	}
	.scheda_iscritto .elenco_elementi tbody:last-child td a {
		grid-column: 1/3;
	}
}

@media screen and (max-width: 900px){
	.colonna_logo {
		display: none;
	}
	.colonna_contenuto {
		margin: auto;
	}
	.colonna_contenuto h1 {
		position: relative;
		padding: 30px 0 30px 120px;
		margin: 0
	}
	.colonna_contenuto h1::before {
		content: "";
		position: absolute;
		top: 5px;
		bottom: 5px;
		left: 0;
		width: 100px;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
	}
	
	.form_ricerca .campo {
		flex-basis: 50%;
		flex-grow: 1;
	}
	.form_ricerca .campo_full {
		flex-basis: 100%;
	}
	.form_ricerca .campo input, 
	.form_ricerca .campo select,
	.form_ricerca .campo button {
		width: 100%;
		min-width: 0;
	}
	
	.paging {
		display: block;
	}
	
	table.elenco > thead > tr > th, table.elenco > tbody > tr > td {
		padding: 10px 7px;
		font-size: 14px;
	}
}

@media screen and (max-width: 650px){
	.scheda_iscritto .elenco_elementi tbody.elenco tr {
		grid-template-columns: 1fr auto;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.scheda_iscritto .elenco_elementi tbody td::before {
		content: attr(data-label);
		grid-column: 1/2;
	}
	.scheda_iscritto .elenco_elementi tbody td > * {
		grid-column: 1/2;
		margin: 3px 0
	}
	.scheda_iscritto .elenco_elementi tbody td:last-child > a {
		grid-column: 2/3;
	}
	.scheda_iscritto .elenco_elementi tbody:last-child td a {
		grid-column: 1/3;
	}
}

@media screen and (max-width: 550px){
	.colonna_contenuto .messaggio_feedback {
		margin: 15px 0
	}
	
	.form_ricerca {
		padding-bottom: 45px;
	}
	.paging_wrapper {
		flex-direction: column;
		align-items: center;
	}
	.paging {
		margin: auto;
	}
	.paging .n_risultati {
		text-align: center;
	}
	.paging .navigazione {
		justify-content: center;
	}
	.paging .elenco_pagine .pagine_precedenti,
	.paging .elenco_pagine .pagine_successive {
		display: none;
	}
	.paging .elenco_pagine .pagina_attuale span {
		color: #878787;
		background: none;
		border: none;
		width: auto;
		padding-left: 10px;
	}
	.paging .totale_pagine {
		padding-left: 2px;
	}
	
	table.elenco > thead > tr > th, table.elenco > tbody > tr > td {
		font-size: 16px;
	}
	table.elenco {
		display: block;
		border: none;
		margin: 0;
	} 
	.elenco thead { display: none;}
	.elenco tbody {
		display: table;
		width: 100%;
	}
	.elenco tr {
		display: table-row-group;
		width: auto;
		border-top: 15px solid #f4f4f4;
	}
	.elenco td {
		display: table-row;
		background: #fff;
	}
	.elenco td:before {
		display: table-cell;
		content: attr(data-etichetta) " ";
		padding: 10px;
		color: #fff;
		min-height: 20px;
		border-right: 10px solid #fff;
		border-bottom: 1px solid rgba(255, 255, 255, 0.45);
	}
	.elenco td a {
		display: block;
		padding: 10px 0;
		text-align: center;
	}
	
	.pannello {
		margin: 0 -15px;
		background: #fff;
		border: none;
	}
	.contenuto_pannello {
		padding: 0;
	}
	
	.scheda_iscritto > tbody > tr,
	.scheda_iscritto > tbody > tr > td {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}
	.scheda_iscritto > tbody > tr > td:first-child {
		width: 100%;
		border: none;
		padding: 10px 15px;
	}
	.scheda_iscritto > tbody > tr > td:last-child {
		border-top: none;
		padding-bottom: 20px;
	}
	
	.wrapper_submit {
		margin-top: 15px;
	}
}

@media screen and (max-width: 480px){
	.form_ricerca .campo {
		flex-basis: 100%;
	}
}
@media screen and (max-width: 420px){
	.scheda_iscritto .elenco_elementi tbody.elementi tr {
		grid-template-columns: 1fr;
	}
	.scheda_iscritto .elenco_elementi tbody.elementi td::before {
		content: attr(data-label);
		grid-column: 1/2;
		margin-top: 10px;
	}
	.scheda_iscritto .elenco_elementi tbody.elementi td > * {
		grid-column: 1/2;
		margin: 3px 0
	}
	.scheda_iscritto .elenco_elementi tbody td:last-child > a {
		grid-column: 2/3;
	}
	.scheda_iscritto .elenco_elementi tbody:last-child td a {
		grid-column: 1/3;
	}
}