.flatpickr {
    position: relative;
}

.flatpickr .form-control {
    cursor: pointer;
}

.flatpickr-calendar {
/*    top: calc(1.6em + 1.625rem) !important;
    left: 0 !important;*/
    width: auto;
    padding: 1rem 1rem;
    box-shadow: 0px 10px 40px 10px rgba(140, 152, 164, 0.175);
}

.flatpickr-calendar::before, .flatpickr-calendar::after {
    display: none;
}

.flatpickr-calendar.animate.open {
    -webkit-animation: fadeInUp 300ms cubic-bezier(0.23, 1, 0.32, 1);
    animation: fadeInUp 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-months {
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0.75rem;
}

.flatpickr-current-month,
.flatpickr-prev-month,
.flatpickr-next-month {
    padding: 0;
}

.flatpickr-current-month {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    width: auto;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    position: static;
    color: #677788;
    width: 2.6875rem;
    height: 2.6875rem;
    line-height: 2.6875rem;
    background-color: transparent;
    border-radius: 0.3125rem;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
width: 0.6125rem;
height: 0.6125rem;
margin-bottom: 0;
}

.flatpickr-prev-month svg path,
.flatpickr-next-month svg path {
    fill: #677788;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
background-color: rgba(55, 125, 255, 0.1);
}

.flatpickr-prev-month:hover svg path,
.flatpickr-next-month:hover svg path {
    fill: #377dff;
}

.flatpickr-weekday {
    color: #97a4af;
    text-transform: uppercase;
    font-weight: 600;
}

.rangeMode .flatpickr-day {
    margin-top: 0.25rem;
}

.flatpickr-monthDropdown-months {
    font-size: 1rem;
    font-weight: 600;
}

.flatpickr-monthDropdown-months:hover {
    background-color: transparent;
}

.flatpickr-current-month input.cur-year {
    font-size: 1rem;
    font-weight: 600;
}

.flatpickr-day {
    border-color: transparent;
}

.flatpickr-day:focus, .flatpickr-day:hover {
    color: #377dff;
    background-color: rgba(55, 125, 255, 0.1);
}

.flatpickr-day.today {
    color: #fff;
    border-color: transparent;
    background-color: #808080;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    color: #fff;
    background-color: #377dff;
    border-color: #377dff;
}

.flatpickr-day.inRange {
    color: #fff;
    background-color: #377dff;
    box-shadow: -0.5rem 0 0 #377dff, 0.3125rem 0 0 #377dff;
}

.flatpickr-day.inRange.prevMonthDay, .flatpickr-day.inRange.prevMonthDay:focus, .flatpickr-day.inRange.prevMonthDay:hover, .flatpickr-day.inRange.nextMonthDay, .flatpickr-day.inRange.nextMonthDay:focus, .flatpickr-day.inRange.nextMonthDay:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected.prevMonthDay:focus, .flatpickr-day.selected.prevMonthDay:hover, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.selected.nextMonthDay:focus, .flatpickr-day.selected.nextMonthDay:hover {
    color: #fff;
    border-color: #377dff;
    background-color: #377dff;
}



.flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay {
    color: #e7eaf3;
}

.flatpickr-day.prevMonthDay:focus, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:focus, .flatpickr-day.nextMonthDay:hover {
    color: #bdc5d1;
    background-color: #e7eaf3;
    border-color: #e7eaf3;
}

.flatpickr-day.disabled {
    color: #677788;
}

.flatpickr-day.disabled:hover {
    color: #677788;
    background-color: #e7eaf3;
    border-color: #e7eaf3;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    box-shadow: -0.5rem 0 0 #377dff, 0.3125rem 0 0 #377dff;
}

.numInputWrapper span.arrowUp,
.numInputWrapper span.arrowDown {
    display: none;
}

.numInputWrapper:hover {
    background-color: transparent;
}

/* Skins */
.flatpickr-white .flatpickr-form-control::-webkit-input-placeholder {
    color: #fff;
}

.flatpickr-white .flatpickr-form-control::-moz-placeholder {
    color: #fff;
}

.flatpickr-white .flatpickr-form-control:-ms-input-placeholder {
    color: #fff;
}

.flatpickr-white .flatpickr-form-control::-ms-input-placeholder {
    color: #fff;
}

.flatpickr-white .flatpickr-form-control,
.flatpickr-white .flatpickr-form-control::placeholder {
    color: #fff;
}

.flatpickr-white .input-group-text {
    color: rgba(255, 255, 255, 0.7);
}

/* Positions */
.flatpickr-right .flatpickr-calendar {
    right: 0 !important;
    left: auto !important;
}
