
// ---------------------------------------------------------------------------------------------


@datepicker-header-bottom-border: @theme-grey3;
@datepicker-column-text-color: @theme-grey10;
@datepicker-other-month-link-bg: #c4c4c4;
@datepicker-buttonpane-bg: #C9C9C9;
@datepicker-buttonpane-to-border: #AAA;
@datepicker-title-height: 55px;
.datepicker {
}


.datePickerHolder,
.datepicker__container {
    display: inline-block;
    position: relative;
}

.datepicker__container--full-width {
    display: block;
    width: 100%;
}

/* Custom jQuery UI Calendar CSS NOTE: class names and specificity can't change here */
.ui-datepicker-trigger {
    background-image: linear-gradient(-180deg, #fefefd 0%, #DADADA 99%);
    background-repeat: no-repeat, no-repeat;
    background-position: 5px 4px, top right;
    height: 40px;
    width: 28px;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    border: none;
    border: 1px solid @color-border-main;
    border-radius: 0 @border-radius-default @border-radius-default 0;

    &:active,
    &:focus {
        outline: none;
    }
}

.ui-datepicker-calendar {
    .rounded-small;
}

.ui-datepicker-calendar td a.ui-state-default, .ui-datepicker-calendar td span.ui-state-default {
    display: block;
    padding: 10px;
    color: @theme-grey7;
    border: 0;
}

.ui-datepicker-calendar td span.ui-state-default {
    color: @datepicker-column-text-color;
}

.ui-datepicker-calendar td a.ui-state-default.ui-state-hover {
    background: @color-buildium-green;
    color: white;
}

.ui-datepicker-calendar td a.ui-state-highlight {
    background: @color-background-highlight;
}

.ui-datepicker-today .ui-state-highlight, .ui-datepicker-current-day .ui-state-active {
    background: @color-buildium-green;
    color: white;
}

.ui-widget-content .ui-datepicker-header a { // fix for onmouse hover effect for pre & next icons
    &:hover, &.ui-state-hover, &.ui-state-focus {
        background-color: transparent;
    }
}

.ui-datepicker {
    display: none;
    position: relative;
    // Important is required here because jquery UI adds an inline z-index style
    z-index: @z-index-datepicker !important;
    margin-top: 3px;
    background: white;
    border: 1px solid @color-border-main;
    .rounded-medium;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    display: inline-block;
    width: 29px;
    height: @datepicker-title-height;
    text-align: center;
    cursor: pointer;
    line-height: 600%;
    overflow: hidden;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
    visibility: hidden;
}

.ui-datepicker-prev {
    .pull-left;
    background: url("@{icons}datepicker-prev-chevron.svg") no-repeat 15px 25px;

    &:hover {
        background: url("@{icons}datepicker-prev-chevron-hover.svg") no-repeat 15px 25px;
    }
}


.ui-datepicker-next {
    .pull-right;
    background: url("@{icons}datepicker-next-chevron.svg") no-repeat 10px 25px;

    &:hover {
        background: url("@{icons}datepicker-next-chevron-hover.svg") no-repeat 10px 25px;
    }
}

.ie .ui-datepicker-buttonpane button {
    background: url("@{icons}bg-button.jpg") repeat-x;
}

.ui-datepicker-buttonpane button:hover {
    text-shadow: 1px 1px 0 white;
    color: @color-buildium-green;
}

.ui-datepicker-title {
    background: @color-background-default;
    padding: 3px;
    border-bottom: 1px solid @datepicker-header-bottom-border;
    text-align: center;
    .rounded-medium-top();
    height: @datepicker-title-height;
    box-sizing: border-box;
}

.ui-datepicker-calendar th {
    background: @color-background-default;
    border-bottom: 1px solid @datepicker-header-bottom-border;
    border-left: 1px solid @theme-grey3;
    padding: 3px;
    text-align: center;
    font-weight: normal;
}

.ui-datepicker-calendar th:first-child {
    border-left: none;
}

.ui-datepicker-calendar td {
    border-top: 1px solid @theme-grey1;
    border-left: 1px solid @theme-grey1;
    text-align: center;
}

.ui-datepicker-calendar td:first-child {
    border-left: none;
}

.ui-datepicker-calendar tr:first-child td {
    border-top: none;
}

.ui-datepicker-calendar td a.ui-state-default {
    display: block;
    padding: 10px;
    color: @theme-grey7;
    border: 0;

    &:hover {
        background: @color-buildium-green;
        color: white;
        text-decoration: none;
    }
}

.ui-datepicker-calendar .ui-datepicker-today a.ui-state-default {
    background: @color-background-highlight;
    color: @theme-grey7;
}

.ui-datepicker-calendar .ui-datepicker-current-day a.ui-state-default {
    background: @color-buildium-green;
    color: white;
}

.ui-datepicker-today .ui-state-highlight, .ui-datepicker-current-day .ui-state-active {
    background: @color-buildium-green;
    color: white;
    font-weight: normal;
}

.ui-datepicker-current-day .ui-state-active {
    background: @color-buildium-green;
    color: white;
}

.ui-datepicker-today .ui-state-highlight,
.ui-datepicker-today .ui-state-highlight .ui-state-active {
    background: @color-buildium-green;
    color: white;
}

.ui-datepicker-today .ui-state-highlight .ui-state-hover {
    background: @color-buildium-green;
    color: white;
}

.ui-datepicker-other-month {
    background: @theme-grey8;
    opacity: .5;
}

.ui-datepicker-other-month a:hover {
    background: @datepicker-other-month-link-bg !important;
    color: @theme-grey7 !important;
}

.ui-datepicker-month {
    margin-right: 5px;
}


.ui-datepicker-buttonpane {
    padding: 6px;
    border-top: 1px solid @datepicker-buttonpane-to-border;
    background: @datepicker-buttonpane-bg url("@{icons}datepicker-buttonpane-bg.png") 50% bottom repeat-x;
    .rounded-medium-bottom;
}

.ui-datepicker-close {
    .pull-right;
}


.ui-datepicker-trigger {
    height: 40px;
    background: white;
    border: 1px solid @color-border-input;
    border-radius: 0 @border-radius-default @border-radius-default 0;

    &:hover {
        border-color: @color-border-input-hover;
    }

    &:before {
        display: block;
        content: ' ';
        width: 28px;
        height: 40px;
        position: absolute;
        top: -1px;
        right: 0;
        background: url("@{icons}datepicker-trigger.svg") center center no-repeat;
    }
}

.ui-datepicker-title {
    background: white;
    border-bottom: 1px solid @color-border-input;
}

.form-element__datepicker {
    min-width: 125px;
}


.datePickerHolder,
.datepicker__container {
    .form-element__input:disabled,
    .form-element__datepicker:disabled {
        opacity: @opacity-disabled;
        border: 1px solid @color-border-input;

        & + .ui-datepicker-trigger {
            border: 1px solid @color-border-input;
            opacity: @opacity-disabled;
        }

        &:hover {
            border: 1px solid @color-disabled-input;
        }
    }
}

// Legacy datepickers error state
.datePickerHolder.error {
    .form-element__input,
    .ui-datepicker-trigger{
        border: 1px solid @color-error;
    }

    &:hover {
        .form-element__input,
        .ui-datepicker-trigger {
            border: 1px solid @color-error;
        }
    }
}

.datePickerHolder:hover,
.datePickerHolderLegacy:hover,
.datepicker__container:hover {
    .form-element__input,
    .form-element__datepicker {
        border: 1px solid @color-border-input-hover;
    }

    .form-element__input, .form-element__datepicker {
        border: 1px solid @color-border-input-hover;
    }

    .ui-datepicker-trigger {
        border: 1px solid @color-border-input-hover;

        &:before {
            background: url("@{icons}datepicker-trigger-hover.svg") center center no-repeat;
        }
    }
    // Disabled hover
    .form-element__input:disabled,
    .form-element__input[readonly="readonly"], //Report search
    .form-element__datepicker:disabled {
        border: 1px solid @color-border-input;
        opacity: @opacity-disabled;

        & + .ui-datepicker-trigger {
            border-left: 1px solid @color-border-input;
            cursor: not-allowed;
            opacity: @opacity-disabled;

            &:before {
                background: url("@{icons}datepicker-trigger.svg") center center no-repeat;
            }
        }
    }

    // Error hover
    .form-element__input.form-element--has-error {
        border: 1px solid @color-error;
        & + .ui-datepicker-trigger {
            border: 1px solid @color-error;

            &:hover{
                border: 1px solid @color-error;
            }
        }
    }
}

.form-element__input.form-element--has-error,
.form-element__input.form-element--has-error.hasDatepicker:focus {
    box-shadow: none;
    & + .ui-datepicker-trigger {
        border: 1px solid @color-error;

        &:hover{
            border: 1px solid @color-error;
        }
    }
}

.form-element__input.hasDatepicker:focus {
    & + .ui-datepicker-trigger {
        border: 1px solid @color-border-input-focus;

        &:hover{
            border: 1px solid @color-border-input-hover;
        }
    }
}

.form-element__input.hasDatepicker:hover {
    & + .ui-datepicker-trigger {
        border: 1px solid @color-border-input-hover;

        &:before {
            background: url("@{icons}datepicker-trigger-hover.svg") center center no-repeat;
        }
    }
    // Disabled
    &:disabled + .ui-datepicker-trigger {
        border: 1px solid @color-border-input;
        cursor: not-allowed;
        opacity: @opacity-disabled;

        &:before {
            background: url("@{icons}datepicker-trigger.svg") center center no-repeat;
        }
    }
}

.datePickerHolderLegacy {
    display: inline-block;
    position: relative;
}

.datePickerHolder .datePickerBlocker {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: none;
    background-image: url("@{icons}transparent.png");
    z-index: @z-index-datepicker-input-blocker;
}

.ui-datepicker-buttonpane {
    background: white;
    padding: 7.5px 10px;
    border-top: 1px solid @color-border-input;
}

.ui-datepicker-current {
    color: #767676;
    display: inline-block;
    width: auto;
    font-size: 14px;
    font-weight: 600;
    overflow: visible;
    vertical-align: middle;
    padding: 12px 20px;
    border: 1px solid @color-border-input;
    background-color: #FFFFFF;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: .2px;
    text-align: center;
    -webkit-font-smoothing: antialiased;
}

.ui-datepicker-close {
    display: none;
}

.ui-datepicker-calendar th {
    border-left: 1px solid @color-border-input;
    border-bottom: 1px solid @color-border-input;
    background: #f2f2f2;
}

.ui-datepicker-calendar td a.ui-state-default {
    padding: 10px 16px;
}

.ui-datepicker-calendar td a.ui-state-default {
    &:hover {
        background: @color-border-input;
        color: black;
    }
}
