div[id^='calendario_'].calendario {
	position: relative;
}

div[id^='calendario_'].calendario .calendario-toolbar {
	display: flex;
	align-items: center;
	justify-content: center;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-toolbar-tipo {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-toolbar-tipo > span {
	cursor: pointer;
	transition: opacity 100ms linear;
	opacity: 0.7;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-toolbar-tipo > span:hover {
	opacity: 1;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-toolbar-tipo > span.calendario-toolbar-tipo-attivo {
	cursor: initial;
	opacity: 1;
}

div[id^='calendario_'].calendario.calendario-grande .calendario-toolbar .calendario-toolbar-tipo {
	display: block;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-indietro, 
div[id^='calendario_'].calendario .calendario-toolbar .calendario-avanti {
    width: 50px;
    text-align: center;
	cursor: pointer;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-titolo {
    /*width: calc(100% - 100px);*/
    text-align: center;
	font-weight: 500;
	cursor: pointer;
}

div[id^='calendario_'].calendario .calendario-toolbar .calendario-titolo:hover {
    text-decoration: underline;
}

div[id^='calendario_'].calendario table {
    background-color: #fff;
    border: solid 1px #ddd !important;
	border-right-width: 0 !important;
	border-bottom-width: 0 !important;
    border-collapse: separate;
	border-spacing: 0;
	text-align: center;
	max-width: 100%;
	/*height: 728px;*/
	table-layout: fixed;
	font-size: 11px;
}

div[id^='calendario_'].calendario tr {
    background-color: #fff;
}

div[id^='calendario_'].calendario th {
    background-color: #fff;
    border: 1px solid #ddd !important;
	border-top-width: 0 !important;
	border-left-width: 0 !important;
	height: 20px;
	text-align: center;
	vertical-align: middle;
}

div[id^='calendario_'].calendario td {
    background-color: #fff;
    border: 1px solid #ddd !important;
	border-top-width: 0 !important;
	border-left-width: 0 !important;
	position: relative;
	padding: 4px;
}

div[id^='calendario_'].calendario td.calendario-oggi {
	background-color: rgba(255,220,40,.15);
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-non-attivo > div {
    opacity: 0.5;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-contenitore {
    /*position: relative;*/
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno {
    width: 100%;
    text-align: center;
    cursor: pointer;
    font-size: 14px;
}

div[id^='calendario_'].calendario.calendario-grande.calendario-mensile .calendario-giorno {
    text-align: right;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno:hover {
    text-decoration: underline;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-con-eventi::before {
    content: " ";
    width: 5px;
    height: 5px;
    display: block;
    background-color: #3788d8;
    border-radius: 50%;
    position: absolute;
	top: 2px;
	left: 2px;
	display: none;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-evento-singolo-lista {
	display: none;	
	height: 75px;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-evento-singolo {
    font-size: 12px;
	font-weight: normal;
	text-align: left;
	height: 14px;
	padding: 2px 0;
	margin: 2px 0;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	transition: background-color 100ms linear;
	color: initial;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-evento-singolo:hover {
	background: rgba(0, 0, 0, 0.1);
	border-radius: 3px;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-evento-singolo::before {
    content: " ";
    width: 8px;
    height: 8px;
    display: block;
    background-color: #3788d8;
    border-radius: 50%;
	margin-left: 3px;
	margin-right: 3px;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-evento-singolo-ora {
	margin-right: 3px;
    font-weight: normal !important;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-evento-singolo-nome {
    font-weight: 500;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	flex: 1;
}

div[id^='calendario_'].calendario.calendario-grande.calendario-mensile .calendario-giorno-evento-singolo-lista {
	display: block;
	margin-bottom: 10px;
}

div[id^='calendario_'].calendario.calendario-piccolo.calendario-mensile .calendario-giorno-con-eventi::before {
	display: block;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-altri-eventi {
    text-align: left;
    margin-top: 6px;
    cursor: pointer;
}

div[id^='calendario_'].calendario.calendario-mensile .calendario-giorno-altri-eventi:hover {
    text-decoration: underline;
}



div[id^='calendario_'].calendario.calendario-giornaliera .calendario-box-intestazione,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-box-intestazione {
   	overflow-y: scroll;
   	border: solid 1px #ddd;
}

div[id^='calendario_'].calendario.calendario-giornaliera .calendario-box-ore-eventi,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-box-ore-eventi {
    height: 672px;
    overflow: hidden;
    overflow-y: auto;
    border: solid 1px #ddd;
}

div[id^='calendario_'].calendario.calendario-giornaliera table,
div[id^='calendario_'].calendario.calendario-settimanale table {
   	border: 0 !important;
}

div[id^='calendario_'].calendario.calendario-giornaliera th,
div[id^='calendario_'].calendario.calendario-settimanale th {
    cursor: pointer;
}

div[id^='calendario_'].calendario.calendario-giornaliera th:hover, 
div[id^='calendario_'].calendario.calendario-settimanale th:hover {
    text-decoration: underline;
}


div[id^='calendario_'].calendario.calendario-giornaliera th,
div[id^='calendario_'].calendario.calendario-giornaliera td, 
div[id^='calendario_'].calendario.calendario-settimanale th,
div[id^='calendario_'].calendario.calendario-settimanale td {
	padding: 0px;
}

div[id^='calendario_'].calendario.calendario-giornaliera table tr:last-child td,
div[id^='calendario_'].calendario.calendario-settimanale table tr:last-child td {
    border-bottom: 0 !important;
}

div[id^='calendario_'].calendario.calendario-giornaliera .calendario-riga-ora,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-riga-ora {
    color: #555;
    text-align: right;
    box-sizing: border-box;
    padding: 2px;
}

div[id^='calendario_'].calendario.calendario-giornaliera .calendario-grafica-mezzora,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-grafica-mezzora {
    height: 21px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #ddd;
    box-sizing: border-box;
}

div[id^='calendario_'].calendario.calendario-giornaliera .calendario-evento-singolo,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-evento-singolo {
    display: flex;
	background-color: #3788d8;
	color: #fff;
	font-weight: normal !important;
	border: solid 1px #fff;
	padding: 3px;
	height: 100%;
	box-sizing: border-box;
	text-align: left;
	font-size: 12px;
	border-radius: 5px;
}

div[id^='calendario_'].calendario.calendario-giornaliera .calendario-evento-singolo-ora,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-evento-singolo-ora {
    margin-right: 3px;
    font-weight: normal !important;
}

div[id^='calendario_'].calendario.calendario-giornaliera .calendario-evento-singolo-nome,
div[id^='calendario_'].calendario.calendario-settimanale .calendario-evento-singolo-nome {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}