*, *:before, *:after {
  box-sizing: border-box;
}

.head {
    background-color: #e04f4a;
    background: linear-gradient(to top, #911317, #e04f4a);
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    font: bold 1.1em/1.42em 'Hammersmith One', sans-serif;
	letter-spacing: 1px;
    border-radius: 4px 4px 0 0;
    border-bottom: 1px solid #233;
    width: 100%;
}

.head th {
	width: 15%;
	! padding: 0 0.5em;
    position: relative;
}

.head th img {
	width: 0.7em;
	position: absolute;
	top: -0.7em;
	left: 100%;
	transform: translateX(-50%)
}

.head th:last-child img{
	left: 0%;
}

.head th a {
	color: #fff;
	text-decoration: none;
}

.head th a:hover {
	text-decoration: underline;
}

.calend {
	background-color:#e6e6f6;
	border-radius: 0 0 4px 4px;
	width: 100%;
	padding: 0;
	border-spacing: 0;
}

.calend tr:first-child {
	background-color:#00a095;
	background:linear-gradient(to bottom, #006a55, #00a095);
}

.calend th {
	width: 14.286%;
	color: #fff;
	font: 0.75em/1.7em 'Hammersmith One', sans-serif;
	border-bottom: 1px solid #077;
	border-left: 1px solid #077;
}

.calend td {
    color: #444;
    text-align:center;
    font: bold 1.2em/1.8em 'Hammersmith One', sans-serif;
    border: 1px solid #bbc;
    border-width: 0 0 1px 1px;
    position:relative;
    padding: 1px;
}

.calend td .festa {
	color: #9b0703;
}

.calend td:last-child {
    border-right: 1px solid #bbc;
}

.calend td .oggi {
    background-color: #009184;
    color: #fff;
    ! border: 4px solid #009184;
    ! border-color: #009184;
    ! line-height: 18px;
    ! border-radius: 15px;
    overflow: hidden;
}

.calend td .oggi.festa {
    color: #9b0703;
    text-shadow: 1px 1px 2px #bb2, -1px -1px 2px #bb2;
}

.calend td .vacanza {
	opacity: 0.4;
}

.calend td b {
	cursor: pointer;
	display: block;
    text-decoration: none;
    position: relative;
}

.calend td b i {
    font: 12px Verdana, Arial;
    z-index:10;
    display: none;
    border: 1px solid #888;
    border-radius: 5px;
    padding: 10px;
    position:absolute;
    top: 25px;
    left: 30px;
    white-space: nowrap;
    color: #444;
    background-color: #ffc;
}

.calend td b:hover i {
    display: block;
}

.calend td b span {
    border-bottom: 3px solid #008475; !#d33;
    display: inline-block;
    height: 1.55em;
    min-width: .7em;
}

.calend td .oggi b span {
    border-color: #dd3;
}

.calend td b:hover {
    background-color: #bb2;
}

.calend td .oggi b:hover span {
    border-color: #39c;
}

.linkx {
    text-decoration: none;
    color: #333;
    display: inline-block;
    font: bold 15px/26px Arial, Helvetica, sans-serif;
}

.linkx:hover {
    text-decoration: underline;
    color: #006699;
    background-color: #eea;
    display:block;
}

.tabella {
    border-spacing: 0;
    padding: 1px;
    width:100%;
    font: normal 15px/20px Georgia, "Times New Roman", Times, serif;
    border: 1px solid #000;
}

.tabella th {
    background-color: #eee;
    font: bold 14px/20px Georgia, "Times New Roman", Times, serif;
    font-variant: small-caps;
    color: #006a55;
    width: 30px;
    white-space: nowrap;
    border-bottom: 1px solid #077;
    border-left: 1px solid #077;
    padding: 8px;
}

.tabella td {
    font: 12px Verdana, Arial;
    word-wrap: break-word;
    border: 1px solid #077;
    border-top: none;
    padding: 8px;
    text-align: left;
    background: cornsilk;
}

.tabella tr:first-child td, .tabella tr:first-child th {
	border-top: 1px solid #077;
}

.tabella td a:hover {
	background: transparent;
}


