.picker-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* grid-template-rows: repeat(4, 100%); */
    grid-template-rows: repeat(4, 0px);
    /* opacity: 1; */
    grid-template-areas: "title title year year";
    grid-gap: 5px;
    font-size: 15px;
    z-index: 100;

    max-width: 185px;

    background-color: #f9f3e9;
    border-radius: 5px;
    padding: 5px;

    position: absolute;
    visibility: hidden;

    opacity: 0;
    transition: visibility 0s .2s, opacity .2s linear, grid-template-rows .2s linear;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.3);
    /* border: 5px purple solid; */
}
div.picker > span:first-child {
    cursor: pointer;
}
.picker-wrapper > div:first-child {
    height: 40px;
    width: 100%;
    text-align: center;
    line-height: 40px;
    grid-area: title;
    cursor: default;

    background-color: #f9f3e9;
    /* background-color: rgb(19, 19, 19); */
}
.picker-wrapper > div {
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    cursor: pointer;

    background-color: #fff;
    /* background-color: rgb(19, 19, 19); */
    color: #4f4f4f;
    font-weight: bold;
    border-radius: 5px;

    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
    supported by Chrome and Opera */
}
.picker-wrapper > div:not(:first-child):hover {
    background-color: #4499ee;
    color: #fff;
}
.picker-wrapper > div:nth-child(2):hover {
    border-radius: 5px 5px 0 0;
}
.picker-wrapper > div:nth-child(2):hover > a {
    color: #fff;
}
.picker-wrapper > div.start-selection {
    border-radius: 5px 0 0 5px;
    background-color: #4499ee;
    color: #fff;
}
.picker-wrapper > div.selection-range {
    border-radius: unset;
    background-color: #cdecfa;
}
.picker-wrapper > div.end-selection {
    border-radius: 0 5px 5px 0;
    background-color: #4499ee;
    color: #fff;
}
.picker-wrapper > div.one-month-selection {
    border-radius: 5px;
    background-color: #4499ee;
    color: #fff;
}

/* for year selection */
.picker-wrapper > div.year-selection {
    grid-area: year;
    width: 100%;
}
.picker-wrapper > div.year-selection > a {
    color: #4f4f4f;
    text-decoration: none;
    outline: 0;
}
.picker-wrapper > div.year-selection > a + div {
    /* z-index: 2; */
    /* max-height: 140px; */
    overflow: hidden;
    position: relative;
    border-radius: 0 0 5px 5px;
}
.picker-wrapper > div.year-selection > a + div > div {
    height: 135px;
    padding-right: 1px;
    box-sizing: content-box;
    width: 120%;
    overflow-x: hidden;
    
}
.picker-wrapper > div.year-selection > a + div > div > span {
    color: #4f4f4f;
    height: 38px;
    width: 85px;
    background-color: #fff;
    /* background-color: black; */
    display: block;
    line-height: 38px;
}
.picker-wrapper > div.year-selection > a + div > div > span:hover {
    background-color: #4499ee;
    color: #fff;
}
/* show-hide */
div.picker-wrapper .hide {
    display: none;
}

/* to make the picker close with animation */
div.picker-wrapper.open {
  visibility: visible;
  opacity: 1;
  transition: opacity .2s linear, grid-template-rows .2s linear;
  grid-template-rows: repeat(4, 40px);
}