#calmain { border: 0px; padding: 0px; font-family: 'Raleway',sans-serif; }
#calmain table { border-collapse: separate; border: 1px solid white; border-width: 0px 0px 1px 1px; margin: 10px auto; font-size: 20px; width: 620px; }

/* Normal */
#calmain td,
#calmain th { width: 100px; height: 80px; text-align: center; vertical-align: middle; background: #FFF; color: #444; position: relative; font-weight: normal; }
#calmain td:hover { background: #E1E1E1; }

/* Heading */
#calmain th { height: 30px; font-weight: normal; font-size: 18px; background: #f4db7f; color: #002c77; }
#calmain th:hover { opacity: 0.8; }

/* Marked */
#calmain td.date_has_event { background: #1474a4; color: white; }
#calmain td.date_has_event:hover { background: #2c82ad; }

#calmain td.date_has_event a { text-decoration: none; color: white; }
#calmain td.date_has_event a:hover { text-decoration: underline; }

/* Empty */
#calmain td.padding { background: #d3d3d3; }
#calmain td b { font-weight: normal; }

/* Current */
#calmain td#today { background: #b3bfd7; }
#calmain td#today:hover { opacity: 0.8; }

.events { position: relative; }
.events ul { color: white; border: 1px solid white; font-size: 15px; width: 200px; list-style: none; color: #444444; display: none; }
.events ul { text-align: left; position: absolute; z-index: 1000; padding: 15px; background: #E7ECF2 /*url(../images/calendar/popup.png) no-repeat*/; }
.events ul { -moz-border-radius: 3px; -khtml-border-radius: 3px; -webkit-border-radius: 3px; -border-radius: 3px; -webkit-box-shadow: 0px 8px 8px #333; }

.events li { padding-bottom: 5px; list-style: none; }
.events li span { display: block; font-size: 12px; text-align: left; color: #555; }
.events li span.title { font-weight: normal; color: #222; list-style: none !important; }

#calmain { margin-top: 50px; }
#calmain th a { text-decoration: none; font-size: 120%; font-weight: normal; color: white; outline-width: 0; }

.dayevents { border: 1px solid #666666; padding: 10px; text-align: left; }
.dayevents h3 { background: none repeat scroll 0 0 #303030; color: #FFFFFF; font-weight: normal; letter-spacing: 0.15em; padding: 10px; }

.red { color: red;}
.green { color: green; }
.bold { font-weight: bold; }

/* Y */
#calmain td { text-align: right; vertical-align: top; font-size: 14px; padding: 0 0 0 0; border-right: 2px solid #727071; border-bottom: 1px solid #FFF; }
#calmain th { border-right: 2px solid #727071; border-bottom: 1px solid #FFF; }
#calmain tr td:last-child,
#calmain tr th:last-child { border-right: 0; }
#calmain tr:last-child td { border-bottom: 0; }

/* 01162014 */
.calendar-control { float: left; }
.calendar-control a { background-image: url(../images/calendar-control.png); width: 20px; height: 20px; display: block; }
.calendar-control a:hover { text-decoration: none; opacity: 0.8; }
.calendar-control#next-month a { background-position: right; }

.calendar-title h2 { font-family: 'Raleway',sans-serif; color: #1b4098; font-weight: normal; font-size: 28px; float: left; margin: 0 16px; }
.calendar-title .calendar-control a { width: 16px; height: 16px; margin-top: 12px; background-image: url(../images/calendar-control-small.png); }

#calmain .calendar-control#next-month { float: right; }

#calmain th {
	-webkit-box-shadow: 0px 10px 10px 0px rgba(50, 50, 50, 0.3);
	-moz-box-shadow:    0px 10px 10px 0px rgba(50, 50, 50, 0.3);
	box-shadow:         0px 10px 10px 0px rgba(50, 50, 50, 0.3); }
#calmain td {
	-webkit-box-shadow: inset 0px 10px 10px 0px rgba(50, 50, 50, 0.3);
	-moz-box-shadow:    inset 0px 10px 10px 0px rgba(50, 50, 50, 0.3);
	box-shadow:         inset 0px 10px 10px 0px rgba(50, 50, 50, 0.3); }

label.error { color: red; font-weight: normal; position: absolute; margin-left: 10px; }