.datepicker { display: inline-block; -webkit-tap-highlight-color: rgba(0,0,0,0); } .datepicker table { width: 100%; border-collapse: collapse; border-spacing: 0; border: 0; } .datepicker table th, .datepicker table td { width: calc(100% / 7); padding: 0; } .datepicker table th { color: #90CAF9; text-transform: uppercase; font-size: 0.5rem; line-height: 4; font-weight: bold; text-align: center; } .datepicker__wrapper { color: #333; border-radius: 0.125rem; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; padding: 0.5rem; position: relative; z-index: 1; background: white; border: 1px solid #4A90E2; width: 16rem; } .datepicker__wrapper::after { content: ''; display: table; clear: both; } .datepicker:not(.is-inline) .datepicker__wrapper { box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.2); margin: 0.25rem 0; } .datepicker__header { position: relative; text-align: center; background: #2196F3; padding: 0.25rem; margin: -0.5rem -0.5rem 0; } .datepicker__title { display: inline-block; padding: 0.25rem; font-size: 0.875rem; line-height: 1.5rem; font-weight: bold; color: white; } .datepicker__prev, .datepicker__next { display: block; cursor: pointer; position: relative; outline: none; width: 2rem; height: 2rem; border-radius: 50%; background: no-repeat center / 60%; font-size: 0; } .datepicker__prev:hover, .datepicker__next:hover { background-color: #1E88E5; } .datepicker__prev { float: left; background-image: url('data:image/svg+xml,'); } .datepicker__next { float: right; background-image: url('data:image/svg+xml,'); } .datepicker__prev.is-disabled, .datepicker__next.is-disabled { pointer-events: none; cursor: default; opacity: 0.4; } .datepicker__time { padding: 0.5rem 1rem; margin: 0 -0.5rem; font-size: 0.75rem; text-align: right; background: #E3F2FD; border-bottom: 1px solid #BBDEFB; } .datepicker__label { margin-right: 1rem; color: rgba(0,0,0,0.4); float: left; } .datepicker__field { display: inline-block; margin: 0 0.125rem; color: #333; width: 2ch; } .datepicker__field span { display: block; width: 100%; } .datepicker__day { color: #333; } .datepicker__day div { cursor: pointer; display: block; box-sizing: border-box; border: 0; margin: 0; background: transparent; position: relative; border-radius: 50%; } .datepicker__day div::after { content: ''; display: block; border-radius: 50%; padding-top: 100%; position: relative; background: inherit; z-index: 1; } .datepicker__day div:hover, .datepicker__day.is-highlighted div { background: #E3F2FD; } .datepicker__day.is-today { color: #2196F3; } .datepicker__day.is-today div::after { box-shadow: inset 0 0 0 1px currentColor; } .datepicker__day.is-today.is-disabled.is-selected div::after, .datepicker__day.is-today.is-otherMonth.is-selected div::after { box-shadow: none; } .datepicker__day.is-selected div { background: #2196F3; } .datepicker__day.is-selected:hover div::after { background: #1E88E5; } .datepicker__day.is-selected .datepicker__daynum { font-weight: bold; color: white; } .datepicker__day.is-selected + .is-selected div::before, .datepicker__day.is-highlighted + .is-highlighted div::before { content: ''; position: absolute; top: 0; left: -50%; width: 100%; height: 100%; background: inherit; z-index: 0; } .datepicker__day.is-disabled, .datepicker__day.is-otherMonth { cursor: default; pointer-events: none; color: #BBDEFB; } .datepicker__day.is-disabled.is-selected .datepicker__daynum, .datepicker__day.is-otherMonth.is-selected .datepicker__daynum { color: rgba(0,0,0,0.2); } .datepicker__day.is-disabled.is-selected div, .datepicker__day.is-otherMonth.is-selected div, .datepicker__day.is-disabled.is-selected + .is-selected div::before, .datepicker__day.is-otherMonth.is-selected + .is-selected div::before { background: #E3F2FD; } .datepicker__daynum { position: absolute; top: 50%; left: 0; width: 100%; font-size: 0.75rem; line-height: 1rem; margin-top: -0.5rem; text-align: center; z-index: 2; }