.icalendar-button { background: transparent url(../img/calendar.png) no-repeat center center; display: inline-block; text-indent: -999px; width: 20px; }
.icalendar { width: 240px; background-color: rgba(255, 255, 255, 0.5); border: 1px solid #b5b5b5; border-radius: 5px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; }
.icalendar.icalendar-bottom { margin-top: 5px; }
.icalendar.icalendar-top { margin-top: -5px; }
.icalendar.icalendar-left { margin-right: 5px; margin-top: 0; }
.icalendar.icalendar-right { margin-left: 5px; margin-top: 0; }
.icalendar-header { border-bottom: 1px solid #b5b5b5; height: 60px; }
.icalendar-header span { float: left; width: 20px; height: 30px; display: block; text-align: center; line-height: 30px; z-index: 3; cursor: pointer; }
.icalendar-header span.icalendar-month { width: 160px; outline: none; }
.icalendar-header strong { float: left; width: 30px; height: 30px; display: block; text-align: center; line-height: 30px; }
.icalendar-footer { border-top: 1px solid #b5b5b5; }
.icalendar-footer span { height: 30px; padding: 0 5px; line-height: 30px; cursor: pointer; }
.icalendar-footer span.icalendar-close-button { float: right; }
.icalendar-month:hover { border: 1px solid #b5b5b5; border-top: none; margin: 0 -1px -1px; }
.icalendar-date { display: inline-block; }
.icalendar-date strong,
.icalendar-date span { float: left; width: 30px; height: 30px; display: block; text-align: center; line-height: 30px; }
.icalendar-date span { cursor: pointer; }
.icalendar-date .icalendar-out-of-range { cursor: inherit; }
.icalendar-time { background: transparent url(../img/clock.png) no-repeat 20px 5px; padding-right: 20px; text-align: right; }
.icalendar-time input { width: auto; }
.icalendar-time span { padding: 0 5px; }
.icalendar-other-month { opacity: 0.5; }
.icalendar-out-of-range { opacity: 0.5; }
.icalendar-weekend { color: red; }
.icalendar-today { color: green; }
.icalendar-selected { border-radius: 3px; background-color: yellow; }
.icalendar-overlay { position: absolute; top: 31px; left: 0; right: 0; bottom: 0; z-index: 2; padding: 10px 30px; background-color: rgba(255, 255, 255, 0.8); border-radius: 10px; }
.icalendar-overlay input { width: 100%; }
.icalendar-overlay ol { list-style-type: none; padding: 0; }
.icalendar-overlay li { width: 25%; text-align: center; height: 30px; float: left; padding: 0; line-height: 30px; cursor: pointer; }
.icalendar-overlay li.selected { font-weight: bold; }