section, footer, aside, nav, article, figure {
    display: block;
}
a, a:active, a:visited{text-decoration:none;color:#fff;}

hr{
	border-color: rgba(106, 104, 204, 0.51);
	border-width: 1px 0 0 0;
	border-style: dotted none none none;
	box-shadow: 3px 2px 3px rgba(0, 0, 0, 0.1);
}
.icon{
	vertical-align: sub;
}
fieldset{
	border-width: 1px;
	box-shadow: 3px 2px 3px rgba(0, 0, 0, 0.1);
	border-color: rgba(152, 104, 204, 0.25);
	background-color: rgba(255,255,255,.05);
	margin-bottom: 10px;
}
fieldset hr{
	box-shadow: none;
}

legend{
	font-weight: bold;
	letter-spacing: 1px;
}

body {
	margin:0;
	height: 100%;
	width: 100%;
	position: absolute;
	color:#eee;
	font-family:Arial, Helvetica, sans-serif;
	background-color:#003464;
}



.topbar{
	background-color:#322b3b;
	position:fixed;
	top:0;
	left:50px;
	box-shadow: 4px 4px 5px rgba(0,0,0,0.2);
	width: calc(100% - 49px);
	/*height:48px;*/
	border-bottom: 1px #353328 solid;
	line-height:48px;
	z-index:100;
	font-size:24px;
	text-align:center;
}

nav{z-index:5000;}

.msg{
	box-shadow: 6px 6px 5px 2px rgba(0,0,0,0.2);
	position: relative;
	left:12px;
    width: calc(100% - 24px);
    margin-top:5px;
}
.obfusc{
	z-index: 999;
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0.5);
}
.alert{
	box-shadow: 6px 6px 5px 1px rgba(0,0,0,0.3);
	padding:6px 3px 3px 3px;
	width: 100vw;
    max-width: 600px;
	background-color:#285d94;
	color: #192c4c;
    border-radius: 12px 12px 4px 4px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5000;
    margin: 25vh 0;
}
.alert span:first-child{
	width: calc(100% - 28px);
    text-align: center;
    font-weight: bold;
    display: inline-block;
    color: #fff;
	margin-bottom: 2px;
}
.scrollbox span:first-child{
	color:#000;
}
.afclose{
	display: inline-block;
    color: #fff;
    font-weight: bold;
    width: 12px;
	text-shadow: 1px 1px 1px #333;
	cursor:pointer;
}
.scrollbox{
	max-height:60vh;
	background-color:#fff;
	overflow-x: hidden;
	overflow-y:auto;
}
.scrollbox tr:hover{
	cursor:pointer;
	background-color:rgba(40, 93, 148, 0.3);
}

.foglio{
	left: 8px;
    width: calc(100% - 16px);
	margin:8px 0;
	position:relative;
	text-align: center;
}
.foglio .topbar{
	position:relative;
	left:0;
	width:100%;
	background-color:rgba(45, 43, 59, 0.46);
}

.foglio .head{
	color:#7fff00;
	font-size:large;
	display:block;
	text-align:center;
	margin-bottom:5px;
}
.foglio li{
	margin:4px 0 0 0;
	cursor:default;
}
.foglio li:hover{
	color:#b7bfff;
}
.anag_update span{
	display:inline-block;
	width:100%;
	margin: 3px 0 -3px 0;
}
.anag_riep{
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: center;
}

.anag_riep fieldset{
	margin:10px;
	min-width:calc(33% - 60px);
}
/*.anag_status, .anag_pack{
	width: calc(100% - 24px);
	display:inline-block;
	vertical-align:middle;
	margin:0;
}*/

.anag_pack{display:none};

.anag_status div{
	margin-bottom:5px;
	display:block;
}

#scheda_status_socio button{
	margin:5px;
	height:2em;
}

.anag_pay button{
	height:2em;
}

.anag_crm thead{
	background-color: #13336f;
	border: 1px solid #13336f;
	border: bottom 0;;
}
.anag_crm tbody{
	background-color: rgb(161 178 193 / 36%);
    border: 1px solid rgb(81 141 184 / 66%);
    border-top: 0;
}
.anag_crm tbody:first-of-type{
	background-color: rgb(23 96 162 / 45%);
	border: 1px solid rgb(81 141 184 / 66%);
    border-top: 1px solid #2e4775;
}

.anag_crm select{
	width:200px;
}
.anag_crm input{
	width:300px;
}

.anag_crm tbody tr td div{
	padding:2px;
}

.anag_crm tbody:first-of-type tr:nth-child(2) td{
	padding-top:.5em!important;
}
.anag_crm tbody:nth-of-type(2) tr:nth-child(1) td{
	padding-top:.25em!important;
}

.anag_crm tbody tr td:nth-child(-n + 3) div{
	max-width:200px;
}
.anag_crm tbody tr td:nth-child(4) div{
	max-width:300px;
	max-height: 2.3em;
	overflow-y:auto;
}

.anag_crm tbody:first-of-type tr:nth-child(n+2):hover,
.anag_crm  tbody:nth-of-type(2) tr:hover{
	background-color: rgba(157, 255, 0, 0.33)!important;
	cursor:default;
	color:#A0F0F0;
}

.anag_crm tbody:first-of-type tr:nth-child(n+2):hover *,
.anag_crm  tbody:nth-of-type(2) tr:hover * {
	color:#A0F0F0;
}

.anag_crm tbody:first-of-type tr:nth-child(n+2):hover button,
.anag_crm  tbody:nth-of-type(2) tr:hover button {
	background-color: #A0F0F0;
    color: #42688b;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.crm-list-ok{
	display:none;
}

.crm-date{
	font-weight:bold;
}

.crm-expired {
    border: 2px solid #f50;
    background-color: #ab3a3a;
}
.crm-expiring {
    border: 2px solid #ff0;
    /*background-color: #8b8033;*/
}


.crm-editor fieldset{
	max-width:610px;
	max-height: 90vh;
    overflow-y: auto;
}
.crm-editor fieldset:first-of-type{
	max-width:825px;
	max-height: 90vh;
    overflow-y: auto;
}
.crm-editor select{
	max-width:150px;
}
.crm-editor tbody tr:nth-of-type(2n), #crm-riassunto-tabella tbody tr:nth-of-type(2n){
	background-color:rgba(255,255,255,.05);
}
.crm-editor tbody tr:nth-of-type(2n+1), #crm-riassunto-tabella tbody tr:nth-of-type(2n+1){
	background-color:rgba(255,255,255,.1);
}
.crm-editor tbody tr.crm-system-event:nth-of-type(2n), .crm-editor tbody tr.crm-system-exit:nth-of-type(2n){
	background-color:rgba(0, 255, 85, 0.1);
}
.crm-editor tbody tr.crm-system-event:nth-of-type(2n+1), .crm-editor tbody tr.crm-system-exit:nth-of-type(2n+1){
	background-color:rgba(0,255,85,.18);
}

.crm-editor tbody td{
	padding-top:.5em;
	padding-bottom:.5em;
}

.crm-editor thead tr{
	background-color: rgba(0, 173, 255, 0.3);
    border-bottom: 1px solid #fff;
}

.crm-event-save, .crm-esito-save{
	display:none;
}

tbody tr:first-of-type .crm-event-save,
tbody tr:first-of-type .crm-esito-save{
	display:block;
}

#crm-riassunto-tabella{
	font-size:.8em;
}
#crm-riassunto-tabella tbody tr td{
	padding:.25em .5em;
	text-align:left;
}

.crm-hover-same-idp {
    background-color: rgba(157, 255, 0, 0.33) !important;
}


.crm-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    max-width: 100%;
    justify-content: space-between;
	max-height: 20vh;
    overflow-y: auto;
    border: 1px solid #666;
    padding: 2px;
}

.crm-checkbox-group label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    padding: 2px 4px;
    background-color: rgba(255,255,255,0.05);
    border-radius: 4px;
    max-width: 155px;
}

.crm-esito-text {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
    flex-shrink: 1;
}

.crm-esito-handle {
    cursor: move;
    text-align: center;
    font-size: 18px;
    color: #aaa;
    width: 2em;
}

.crm-event-handle {
    cursor: grab;
    text-align: center;
    font-size: 18px;
    width: 1em;
}

.crm-event-descr, .crm-esito-descr{
	width:145px!important;
}

#crm-event-search-wrapper {
    position: sticky;
    top: -6px;
    background-color: #095f98;
    padding: 8px;
    z-index: 10;
    border-bottom: 1px solid #fff;
}


.search-container {
    display: inline-block;
    position: relative;
}

#crm-event-search {
    width: 200px;
    padding-right: 24px; /* spazio per l'icona */
}

#crm-event-reset {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #aaa;
    display: none;
    font-size: 16px;
}

.crm-event-scrollbox {
    overflow-y: auto;
    height: calc(100% - 46px);
}

#crm-eventi thead th {
    position: sticky;
    top: 0;
    background-color: #095f98;
    z-index: 5;
    border-bottom: 1px solid #fff;
}

.ui-menu{
	background-color:#354b5f!important;
}

.postit, .sms {
	color:#000;
	line-height: 1;
	text-align:center;
	width: 275px;
	margin: 5px auto;
	min-height:3em;
	position:relative;
	padding: 0.5em 0.25em;
	display:block;
	background: #ffff88;
	box-shadow: 2px 2px 1px rgba(0,0,0,0.3);
}
.postit textarea{
	background-color:rgba(255,255,255,.75);
}
.postit .icon{
	cursor:pointer;
}
.sms{background:#fff2;}
.pink{background-color:#fdb4b4;}
div.note{
	max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
}

.add_class span{
	display:inline-block;
	margin: 3px;
}



#title{
	font-size:24px;
	margin-left:24px;
}

nav{
	position:fixed;
	left:0;
	width:48px;
	border-right: 1px #353328 solid;
	font-variant:small-caps;
}


nav.nav1{
	top:0;
	height:100%;
	background-color:#252328;
	box-shadow: 4px 0px 5px rgba(0,0,0,0.2);
}
nav.nav2{
	transition: all 1s;
	overflow:hidden;
	background-color:#28343c;
	position:relative;
	top:0;
	left:0;
	max-height:0;
}
nav.nav2 a:first-child{
	box-shadow: inset 0px 2px 2px 0px rgba(0, 0, 0, 0.20);
}
nav a{
	cursor:pointer;
	display:block;
	width:100%;
	height:48px;
	border-bottom: 1px #2b2d27 solid;
	line-height:62px;
	text-align:center;
}

nav.nav1 a:hover, a.foc{
	background-color:#6a9428;
}

nav.nav2 a{
	border-bottom: none;
}
nav.nav2 a:hover, a.foc2{
	background-color:#4e61ea;
}
nav a::before{
	line-height:62px;
	font-size:24px;
}

nav a span{
		display:none;
	}

#main{
	width: calc(100% - 50px);
	height:  calc(100% - 50px);
	position:absolute;
	top:50px;
	left:50px;
}
/*.brick{
	display:inline-block;
	height:282px;
	width:376px;
	margin:5px;
	vertical-align:bottom;
	overflow:hidden;
}*/

div.green{
	background-color: #6a9428;
}
div.orange{
	background-color: #c18d2d;
}
div.red{
	background-color: #ea4e4e;
}
div.msg span{
	display: inline-block;
	vertical-align: middle;
	margin: 10px;
}
div.msg span.icon{
	text-shadow: 2px 2px 2px #555;
	cursor: pointer;
}

table{border-collapse:collapse;margin-bottom: 10px;width:100%}
td{padding:0 3px;}

.elenco tr{
	border-bottom: 2px;
}

.accessi tr:hover{
	background-color:rgba(157, 255, 0, 0.33)!important;
	cursor:pointer;
}

#usertable tbody{
	text-align:left;
}
#usertable tbody td{
	padding:4px;
}

#usertable tbody tr:hover{
	outline: 1px solid rgb(13, 172, 174);
	outline-offset:-1px;
	cursor:pointer;
}
tr._rp1{
	background-color:rgba(255,255,255,.15);
}
tr._rd1{
	background-color:rgba(255,255,255,.1);
}
tr._rp2{
	background-color:rgba(255,255,255,.05);
}
tr._rd2{
	background-color:rgba(255,255,255,.03);
}
form[name="inserimento_anagrafe"] span{
	line-height:25px;
}
form[name="inserimento_anagrafe"] fieldset{
	display:inline-block;vertical-align:top;margin:5px 10px;
}
input[type="text"],input[type="number"], input[type="password"], input[type="date"],input[type="datetime-local"], input[type="email"],input[type="time"],select{
	height: 25px;
    line-height: 25px;
    background-color: rgba(0,0,0,0);
    border: none;
	border-bottom: 1px solid #0dacae;
	color: #0dacae;
	padding: 0 5px;
	width:170px;
	font-size:15px;
	box-sizing: border-box;
	outline: none;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus,input[type="datetime-local"]:focus, input[type="email"]:focus,input[type="time"]:focus{
	color:#A0F0F0;
}
.pt-promo input, .pt-promo select{color:orange;}

select:focus{
	color:rgb(30, 51, 51);
}
input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus,input[type="datetime-local"]:focus, input[type="email"]:focus,input[type="time"]:focus{
	border-bottom: 1px solid #A0F0F0;
}

select{
	width:initial;
}
option{
	background-color: rgba(52, 113, 171, 0.56);
}
input[type="date"]{
	padding:0 0 0 20px;
	/*background-color:#ccc;*/
}
input[type="time"]{
	width:initial;
}
button, input[type="button"], input[type="submit"]{
	border: 1px solid #0dacae;
    border-radius: 3px;
    color: #0dacae;
    cursor: pointer;
    padding: 2px 6px;
    background: linear-gradient(rgba(13, 172, 174, 0.2), rgba(0,0,0,0));
}
.anag_update input{
	width:100%;
}
/*.anag_idv, */.anag_gdpr{
	display:none;
}
.anag_gdpr input[type="radio"]{
	width:initial;
}
.text_note{
	display:inline-block;
	width:80%;
}
.note{
	margin-bottom:10px;
}
input.uinput{
	width:170px;
	height: 25px;
	font-weight: bold;
}
button.uinput{
	width:170px;
	border-top:none;
}
#ck_fs, #daundera{display:none}
#ck_fs{background-color:#4e3573}


fieldset.lezioni div{
	display: inline-block;
	vertical-align: top;
	margin: 5px;
	background-color: rgba(255,255,255,.03);
	padding: 10px 15px 10px 10px;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.05);
	width: calc(100% - 30px);
	max-width: 300px;
}
fieldset.lezioni div li{
	cursor:pointer;
}
span.corsi{
	display:inline-block;
	height:20px;
	padding:5px 10px;
	background-color:#3c423e;
	border-radius:5px;
	margin:5px;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.1);
}

.pricetable input{
	width:100%
}
.pricetable thead td{
	padding:0 5px;
}
.pricetable .icon{
	cursor:pointer;
}

.active_cred td{
	padding: 0 3px;
}
.active_cred thead td{
	padding: 0 6px;
}

.active_cred thead td:first-child{
	min-width:25vw;
}

fieldset.elenco{
	width: 100%;
	max-width: 800px;
}
fieldset.lezioni{
	text-align: left;
    width: 100%;
}

#movimenti table{text-align:left;}
#movimenti table tr:hover{background-color:rgba(0, 200, 255, 0.2)}
#movimenti thead tr:hover{background-color:rgba(0, 173, 255, 0.3)}
#movimenti thead tr{padding: 4px 0;background-color:rgba(0, 173, 255, 0.3);border-bottom:1px solid #fff}
#movimenti .currency{text-align:right;min-width:75px;}
#movimenti .currency span:last-child{color:rgba(255,255,255,.3);}
#movimenti .fsmov{display:block;width:calc(100% - 30px)}

#movimenti fieldset{
	margin-bottom:2em;
}
#movimenti fieldset legend span{
	color: rgba(255, 255, 255, .3);
    font-weight: normal;
}

#ultimericevute{text-align:left;}
#ultimericevute tr:hover{background-color:rgba(0, 200, 255, 0.2)}
#ultimericevute thead tr:hover{background-color:rgba(0, 173, 255, 0.3)}
#ultimericevute thead tr{padding: 4px 0;background-color:rgba(0, 173, 255, 0.3);border-bottom:1px solid #fff}

.vdebiti{width:100%;max-width:420px;}


.ffattura, .fbusta, .fscontrino {
	display:none;
}

.hid_cf{display:none}






.calendario{
	position:relative;
	margin: 0 auto;
	overflow:auto;
	left: 2px;
	width: calc(100% - 4px);
	padding:0;
}

.calendario .day{
	display:block;
	position:relative;
	background-color: #88864666;
	border-radius: 5px;
    box-shadow: 1px 1px 2px #2222;
	margin: 2px 0 2px 0;
}

.calendario .day div:first-child{
	margin:5px;
	text-align:center;
}

.lezione{
	margin:5px;
	width:calc(100% - 10px);
	background-color:#fff3;
	border-radius:5px;
	position:absolute;
	box-shadow: 4px 0px 5px rgba(0,0,0,0.2);
	border: 1px solid #0003;
	cursor:pointer;
}
.lezione span{
	margin: 3px 4px 2px 2px;
    top: 0;
}
.lezione span:first-child{
	left: 0;
	position:relative;
}
.lezione span:last-child{
	position: absolute;
    right: 0;
}
.lezione:last-child{
	margin-bottom:5px;
}


.cb_crm{
	cursor:pointer;
}

.tab-abti thead{
	background-color: rgba(255, 255, 255, .16);
}
.tab-abti tbody tr:nth-child(2n+1){
	background-color:rgba(255,255,255,.08);
}
.tab-abti tbody tr:hover{
	background-color:rgba(121, 179, 255, 0.322);
}

#funnel_table{
	text-align:center!important;
}
#funnel_table tbody td{
	padding: 0.3em 3px;
	border-top: 1px solid rgba(255, 255, 255, .2);
}
#funnel_table thead td{
	padding: 0.1em 1em;
	border-top: 1px solid rgba(255, 255, 255, .2);
}
#funnel_table tbody tr td span:nth-of-type(2){
	color:rgba(255,255,255,.6);
	font-size:.8em;
}
#funnel_table tbody tr td span:nth-of-type(3){
	color:rgba(255,255,255,.6);
	font-size:.8em;
}

@media screen and (min-width:640px){
	fieldset{
		display: inline-block;
		vertical-align: top;
	}
	fieldset.fsblock{ display:block;}
	.alert{
		width: 80vw;
		margin: 25vh 10vw;
	}
}

@media screen and (min-width: 800px) {
	.alert{
		width: 60vw;
		margin: 25vh 20vw;
		max-width: 700px;
	}
	.topbar, #main{
		left:201px;
		width: calc(100% - 201px);
	}
	.foglio{
		margin:12px auto;
		left:12px;
		width:calc(100% - 24px);
		max-width:1500px;
	}
	.anag_update span{
		width:auto;
	}
	
	nav{
		top:0;
		width:200px;
	}
	nav.nav1{
		height:100%;
	}
	nav.nav2{
		/*width:calc(100% - 49px);*/
		width:100%;
	}
	nav a{
		text-align:left;
	}
	nav.nav2 a{
		padding-left:40px;
	}
	nav.nav2 a:first-child{
		box-shadow: inset -20px 2px 2px 0px rgba(0, 0, 0, 0.20);
	}
	nav a span{
		display:inline-block;
		margin: 0 0 0 5px;
		transform: translateY(-4px);
	}
	nav a::before{
		margin-left:3px;
	}
	.anag_update input{
		width:200px;
	}
	.anag_update input[name="addr"]{
		width:404px;
	}
	.foglio .head{
		margin-bottom:10px;
	}
	.foglio li{
		margin:6px 0;
	}
	
	/*.anag_status, .anag_pack{
		width: calc(50% - 48px);
	}
	
	.anag_pack{
		margin-left:24px;
	}*/
	.pcdes{min-width:100px;}

	.calendario{
		width:calc(100% - 24px);
		left:auto;
		top:-24px;
		padding: 0 12px;
	}
	.calendario .day{
		display: inline-block;
		width: calc((100% - 40px ) / 7 );
		vertical-align:top;
		height: calc( 100vh - 250px);
		
	}
}

@media screen and (min-width: 1024px) {
	.topbar{
		text-align:left;
	}
	.topbar span{
		margin-left:12px;
	}
	.pcdes{min-width:180px;}
	.alert span:first-child{
		width: calc(100% - 14px);
	}
}
@media screen and (min-width: 1280px) {
	.topbar{
		text-align:left;
	}
	.topbar span{
		margin-left:12px;
	}
	.pcdes{min-width:400px;}
	
	#movimenti .fsmov{display:inline-block;width:calc(50% - 30px)}
}