* {
	font-family: 'Helvetica', sans-serif ;
	font-size: 12px ;
	color: rgb(63,63,63) ;
}
html {
	margin: 0 ;
	padding: 0 ;
}
body {
	margin: 1ex ;
	padding: 0 ;
}
body > header {
	padding: 1ex 2ex ;
	margin: 0 ;
	background: rgb(222,222,222) ;
}
body > header div#sun ul {
	margin: 0 ;
	padding: 0 ;
	text-align: center ;
}
body > header div#sun li:first-child {
	padding-left: 0 ;
}
body > header div#sun li {
	display: inline ;
	text-align: center ;
	padding-left: 1em ;
}
body > header hgroup {
	position: relative ;
}
body > header hgroup h1 {
	margin: 0 ;
	padding: 0 ;
	font-size: 200% ;
}
body > header hgroup h2 {
	display: inline-block ;
	position: absolute ;
	top: -1.5ex ;
	right: 0 ;
	font-size: 80% ;
	font-weight: normal ;
	text-align: center ;
}
body > header hgroup h2:hover {
	cursor: pointer ;
}
article {
	position: relative ;
}
article header {
	margin: 0 ;
	padding: 0 2ex ;
}
article header h1#year {
	font-weight: normal ;
	font-size: 200% ;
	display: inline-block ;
	margin: 0.8em 0 ;
	padding: 0 ;
}
article header h1#year:hover {
	cursor: pointer ;
}
article nav {
	border: 1px solid rgb(204,204,204) ;
	border-radius: 5px ;
	position: absolute ;
	top: 1.8em ;
	right: 2ex ;
	display: inline-block ;
	margin: 0 ;
	padding: 0 ;
}
article nav ul {
	margin: 0 ;
	padding: 0 ;
	list-style-type: none ;
}
article nav li {
	margin: 0 ;
	padding: 0.4ex 1ex ;
	display: table-cell ;
	text-align: center ;
}
article nav li:hover {
	cursor: pointer ;
}
article nav li#prev-year {
	padding-left: 0.4ex ;
	border-right: 1px solid rgb(204,204,204) ;

}
article nav li#next-year {
	padding-right: 0.4ex ;
	border-left: 1px solid rgb(204,204,204) ;
}
article #content {
	width: 100% ;
	margin: 0 auto ;
	padding: 0 ;
	display: inline-block ;
	text-align: center ;
}
footer {
	margin: 1ex 1em ;
	padding: 1em 1ex 2em ;
	border-top: 1px solid rgb(242,242,242) ;
	-moz-column-count: 3 ;
	text-align: center ;
}
footer * {
	font-size: 80% ;
	color: rgb(212,212,212) ;
}
footer p {
	margin: 0 ;
}

/* Months */
table[class^="month"] {
	display: inline-block ;
	/* float: left ; */
	margin: 1ex ;
	border-spacing: 0 ;
}
table[class^="month"] thead.current tr.month-names td:not(:first-child) {
	background-color: rgb(87,150,220) ;
	background-image: -moz-linear-gradient(top,rgb(96,175,229),rgb(87,150,220)) ;
	color: rgb(255,255,255) ;
}
table[class^="month"] thead.current tr.days-names td:not(:first-child) {
	background-color: rgb(87,150,220) ;
	background-image: -moz-linear-gradient(top,rgb(87,150,220),rgb(79,132,213)) ;
	color: rgb(168,195,235) ;
}
table[class^="month"] thead tr.month-names td:not(:first-child) {
	color: rgb(0,0,0) ;
	background-color: rgb(222,222,222) ;
	font-weight: bold ;
	padding: 1ex 0.5ex ;
}
table[class^="month"] thead tr.days-names td:not(:first-child) {
	color: rgb(146,146,146) ;
	background-color: rgb(222,222,222) ;
	font-size: 70% ;
	text-align: center ;
}
table[class^="month"] thead tr td:nth-child(2) {
	border-left: 1px solid rgb(204,204,204) ;
}
table[class^="month"] thead tr:first-child td:not(:first-child) {
	border-top: 1px solid rgb(204,204,204) ;
}
table[class^="month"] thead tr:first-child td:last-child {
	border-radius: 5px 5px 0 0 ;
}
table[class^="month"] thead tr td:last-child {
	border-right: 1px solid rgb(204,204,204) ;
}
table[class^="month"] tbody tr td:not(:first-child) {
	border-right: 1px solid rgb(222,222,222) ;
	color: rgb(76,76,76) ;
}
table[class^="month"] tbody tr td:last-child {
	border-right: 1px solid rgb(204,204,204) ;
}
table[class^="month"] colgroup.sun-days {
	background: rgb(235,245,255) ;
}
table[class^="month"] colgroup.sat-days {
	background: rgb(245,250,255) ;
}
table[class^="month"] tbody tr td:nth-child(2) {
	border-left: 1px solid rgb(204,204,204) ;
}
table[class^="month"] tbody tr td.past,
table[class^="month"] tbody tr td.future {
	color: rgba(169,169,169,0.8) ;
	background: rgba(242,242,242,0.8) ;
}
table[class^="month"] tbody tr:first-child td {
	border-top: 1px solid rgb(204,204,204) ;
}
table[class^="month"] tbody tr td {
	border-top: 1px solid rgb(222,222,222) ;
}
table[class^="month"] tbody tr td.current {
	background-color: rgb(87,150,220) ;
	background-image: -moz-linear-gradient(top,rgb(96,175,229),rgb(79,132,213)) ;
	color: rgb(255,255,255) ;
}
table[class^="month"] tbody tr td.bh {
	background-color: rgba(255,220,220,0.5) ;
}
table[class^="month"] tbody tr:last-child td {
	border-bottom: 1px solid rgb(204,204,204) ;
}
table[class^="month"] tbody tr td {
	text-align: center ;
	width: 3.5ex ;
	height: 4ex ;
	overflow: hidden ;
	vertical-align: middle ;
}
table[class^="month"] tbody tr td.week-nb {
	border-radius: 5px 0 0 5px ;
	border-top: 1px solid rgb(222,222,222) ;
	border-left: 1px solid rgb(222,222,222) ;
	color: rgb(169,169,169) ;
	background-color: rgb(255,252,225) ;
}
table[class^="month"] tbody tr:last-child td.week-nb {
	border-bottom: 1px solid rgb(222,222,222) ;
}
@keyframes pulse {
	from {
		background-color: rgb(222,222,222) ;
	}
	to {
		background-color: rgba(255,255,255,0.5) ;
	}
}

#location-sun li:hover {
	animation-name: pulse ;
	animation-duration: 1s ;
	animation-iteration-count: infinite ;
	animation-direction: alternate ;
}
