/* ========================================================================== $BASE-PICKER ========================================================================== */ /** * Note: the root picker element should *NOT* be styled more than what’s here. */ .picker { font-size: 16px; text-align: left; line-height: 1.2; color: #000000; position: absolute; z-index: 10000; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /** * The picker input element. */ .picker__input { cursor: default; } /** * When the picker is opened, the input element is “activated”. */ .picker__input.picker__input--active { border-color: #0089ec; } /** * The holder is the only “scrollable” top-level container element. */ .picker__holder { width: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; } /*! * Classic picker styling for pickadate.js * Demo: http://amsul.github.io/pickadate.js */ /** * Note: the root picker element should *NOT* be styled more than what’s here. */ .picker { width: 100%; } /** * The holder is the base of the picker. */ .picker__holder { position: absolute; background: #ffffff; border: 1px solid #aaaaaa; border-top-width: 0; border-bottom-width: 0; border-radius: 0 0 5px 5px; box-sizing: border-box; min-width: 176px; max-width: 466px; max-height: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); -moz-opacity: 0; opacity: 0; -webkit-transform: translateY(-1em) perspective(600px) rotateX(10deg); transform: translateY(-1em) perspective(600px) rotateX(10deg); transition: -webkit-transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s 0.15s, border-width 0s 0.15s; transition: transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s 0.15s, border-width 0s 0.15s; } /** * The frame and wrap work together to ensure that * clicks within the picker don’t reach the holder. */ .picker__frame { padding: 1px; } .picker__wrap { margin: -1px; } /** * When the picker opens... */ .picker--opened .picker__holder { max-height: 25em; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; border-top-width: 1px; border-bottom-width: 1px; -webkit-transform: translateY(0) perspective(600px) rotateX(0); transform: translateY(0) perspective(600px) rotateX(0); transition: -webkit-transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s, border-width 0s; transition: transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s, border-width 0s; box-shadow: 0 6px 18px 1px rgba(0, 0, 0, 0.12); } /* ========================================================================== $BASE-DATE-PICKER ========================================================================== */ /** * The picker box. */ .picker__box { padding: 0 1em; } /** * The header containing the month and year stuff. */ .picker__header { text-align: center; position: relative; margin-top: .75em; } /** * The month and year labels. */ .picker__month, .picker__year { font-weight: 500; display: inline-block; margin-left: .25em; margin-right: .25em; } .picker__year { color: #999999; font-size: .8em; font-style: italic; } /** * The month and year selectors. */ .picker__select--month, .picker__select--year { border: 1px solid #b7b7b7; height: 2em; padding: .5em; margin-left: .25em; margin-right: .25em; } @media (min-width: 24.5em) { .picker__select--month, .picker__select--year { margin-top: -0.5em; } } .picker__select--month { width: 35%; } .picker__select--year { width: 22.5%; } .picker__select--month:focus, .picker__select--year:focus { border-color: #0089ec; } /** * The month navigation buttons. */ .picker__nav--prev, .picker__nav--next { position: absolute; padding: .5em 1.25em; width: 1em; height: 1em; box-sizing: content-box; top: -0.25em; } @media (min-width: 24.5em) { .picker__nav--prev, .picker__nav--next { top: -0.33em; } } .picker__nav--prev { left: -1em; padding-right: 1.25em; } @media (min-width: 24.5em) { .picker__nav--prev { padding-right: 1.5em; } } .picker__nav--next { right: -1em; padding-left: 1.25em; } @media (min-width: 24.5em) { .picker__nav--next { padding-left: 1.5em; } } .picker__nav--prev:before, .picker__nav--next:before { content: " "; border-top: .5em solid transparent; border-bottom: .5em solid transparent; border-right: 0.75em solid #000000; width: 0; height: 0; display: block; margin: 0 auto; } .picker__nav--next:before { border-right: 0; border-left: 0.75em solid #000000; } .picker__nav--prev:hover, .picker__nav--next:hover { cursor: pointer; color: #000000; background: #b1dcfb; } .picker__nav--disabled, .picker__nav--disabled:hover, .picker__nav--disabled:before, .picker__nav--disabled:before:hover { cursor: default; background: none; border-right-color: #f5f5f5; border-left-color: #f5f5f5; } /** * The calendar table of dates */ .picker__table { text-align: center; border-collapse: collapse; border-spacing: 0; table-layout: fixed; font-size: inherit; width: 100%; margin-top: .75em; margin-bottom: .5em; } @media (min-height: 33.875em) { .picker__table { margin-bottom: .75em; } } .picker__table td { margin: 0; padding: 0; } /** * The weekday labels */ .picker__weekday { width: 14.285714286%; font-size: .75em; padding-bottom: .25em; color: #999999; font-weight: 500; /* Increase the spacing a tad */ } @media (min-height: 33.875em) { .picker__weekday { padding-bottom: .5em; } } /** * The days on the calendar */ .picker__day { padding: .3125em 0; font-weight: 200; border: 1px solid transparent; } .picker__day--today { position: relative; } .picker__day--today:before { content: " "; position: absolute; top: 2px; right: 2px; width: 0; height: 0; border-top: 0.5em solid #0059bc; border-left: .5em solid transparent; } .picker__day--disabled:before { border-top-color: #aaaaaa; } .picker__day--outfocus { color: #dddddd; } .picker__day--infocus:hover, .picker__day--outfocus:hover { cursor: pointer; color: #000000; background: #b1dcfb; } .picker__day--highlighted { border-color: #0089ec; } .picker__day--highlighted:hover, .picker--focused .picker__day--highlighted { cursor: pointer; color: #000000; background: #b1dcfb; } .picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected { background: #0089ec; color: #ffffff; } .picker__day--disabled, .picker__day--disabled:hover, .picker--focused .picker__day--disabled { background: #f5f5f5; border-color: #f5f5f5; color: #dddddd; cursor: default; } .picker__day--highlighted.picker__day--disabled, .picker__day--highlighted.picker__day--disabled:hover { background: #bbbbbb; } /** * The footer containing the "today", "clear", and "close" buttons. */ .picker__footer { text-align: center; } .picker__button--today, .picker__button--clear, .picker__button--close { border: 1px solid #ffffff; background: #ffffff; font-size: .8em; padding: .66em 0; font-weight: bold; width: 33%; display: inline-block; vertical-align: bottom; } .picker__button--today:hover, .picker__button--clear:hover, .picker__button--close:hover { cursor: pointer; color: #000000; background: #b1dcfb; border-bottom-color: #b1dcfb; } .picker__button--today:focus, .picker__button--clear:focus, .picker__button--close:focus { background: #b1dcfb; border-color: #0089ec; outline: none; } .picker__button--today:before, .picker__button--clear:before, .picker__button--close:before { position: relative; display: inline-block; height: 0; } .picker__button--today:before, .picker__button--clear:before { content: " "; margin-right: .45em; } .picker__button--today:before { top: -0.05em; width: 0; border-top: 0.66em solid #0059bc; border-left: .66em solid transparent; } .picker__button--clear:before { top: -0.25em; width: .66em; border-top: 3px solid #ee2200; } .picker__button--close:before { content: "\D7"; top: -0.1em; vertical-align: top; font-size: 1.1em; margin-right: .35em; color: #777777; } .picker__button--today[disabled], .picker__button--today[disabled]:hover { background: #f5f5f5; border-color: #f5f5f5; color: #dddddd; cursor: default; } .picker__button--today[disabled]:before { border-top-color: #aaaaaa; } /* ========================================================================== $CLASSIC-DATE-PICKER ========================================================================== */ /* ========================================================================== $BASE-TIME-PICKER ========================================================================== */ /** * The list of times. */ .picker__list { list-style: none; padding: 0.75em 0 4.2em; margin: 0; } /** * The times on the clock. */ .picker__list-item { border-bottom: 1px solid #dddddd; border-top: 1px solid #dddddd; margin-bottom: -1px; position: relative; background: #ffffff; padding: .75em 1.25em; } @media (min-height: 46.75em) { .picker__list-item { padding: .5em 1em; } } /* Hovered time */ .picker__list-item:hover { cursor: pointer; color: #000000; background: #b1dcfb; border-color: #0089ec; z-index: 10; } /* Highlighted and hovered/focused time */ .picker__list-item--highlighted { border-color: #0089ec; z-index: 10; } .picker__list-item--highlighted:hover, .picker--focused .picker__list-item--highlighted { cursor: pointer; color: #000000; background: #b1dcfb; } /* Selected and hovered/focused time */ .picker__list-item--selected, .picker__list-item--selected:hover, .picker--focused .picker__list-item--selected { background: #0089ec; color: #ffffff; z-index: 10; } /* Disabled time */ .picker__list-item--disabled, .picker__list-item--disabled:hover, .picker--focused .picker__list-item--disabled { background: #f5f5f5; border-color: #f5f5f5; color: #dddddd; cursor: default; border-color: #dddddd; z-index: auto; } /** * The clear button */ .picker--time .picker__button--clear { display: block; width: 80%; margin: 1em auto 0; padding: 1em 1.25em; background: none; border: 0; font-weight: 500; font-size: .67em; text-align: center; text-transform: uppercase; color: #666; } .picker--time .picker__button--clear:hover, .picker--time .picker__button--clear:focus { color: #000000; background: #b1dcfb; background: #ee2200; border-color: #ee2200; cursor: pointer; color: #ffffff; outline: none; } .picker--time .picker__button--clear:before { top: -0.25em; color: #666; font-size: 1.25em; font-weight: bold; } .picker--time .picker__button--clear:hover:before, .picker--time .picker__button--clear:focus:before { color: #ffffff; border-color: #ffffff; } /* ========================================================================== $CLASSIC-TIME-PICKER ========================================================================== */ /** * Note: the root picker element should __NOT__ be styled * more than what’s here. Style the `.picker__holder` instead. */ .picker--time { min-width: 256px; max-width: 320px; } /** * The holder is the base of the picker. */ .picker--time .picker__holder { background: #f2f2f2; } @media (min-height: 40.125em) { .picker--time .picker__holder { font-size: .875em; } } /** * The box contains the list of times. */ .picker--time .picker__box { padding: 0; position: relative; } // Customization .picker__month { text-transform: capitalize; } .picker__day { font-size: em(14px); } .picker__day--today:before { border-top: 0.5em solid $picker-date-today; } .picker__day--infocus:hover, .picker__day--outfocus:hover { color: $picker-item-hover-color; background: $picker-selected; } .picker__button--today:before { border-top: 0.66em solid $picker-selected; } .picker__day--highlighted { border-color: transparent; } .picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected { background: $picker-selected; } .picker__list-item--selected, .picker__list-item--selected:hover, .picker--focused .picker__list-item--selected { background: $picker-selected; } .picker__list-item:hover { color: $picker-item-hover-color; background: $picker-selected; border-color: $picker-item-hover-color; } .picker__list-item--highlighted { border-color: $picker-selected; }