.calendar {
    --cal-column-min-width: 2em;
}

.js-cal .calendar {
    display: flex;
    width: 100%;
    max-width: 600px;
    position: relative;
    flex-direction: column;
    font-weight: normal;
}
.js-cal .cal-top {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    background-color: var(--page-grey-kit-darkbg1);
    color: var(--page-grey-kit-darkfg1);
    padding: 2em 0;
    font-size: clamp(0.8em, 1em, 1.7vw);
}

.js-cal .cal-year {
    font-size: 2em;
}

.js-cal .cal-month {
    display: flex;
    font-size: 2em;
    font-weight: bold;
    text-transform: uppercase;
}

.js-cal .cal-arrow-left, .js-cal .cal-arrow-right {
    position: absolute;
    display: flex;
    cursor: pointer;
    top: 0;
    width: 10%;
    height: 100%;
    user-select: none;
    align-items: center;
    justify-content: center;
    color: var(--page-grey-kit-bg3);
}
.js-cal .cal-arrow-left:active, .js-cal .cal-arrow-right:active {
    color: var(--page-link-color);
}
.js-cal .cal-arrow-left:not(:active), .js-cal .cal-arrow-right:not(:active) {
    transition: color 0.7s linear;
}
.js-cal .cal-arrow-right { 
    right: 0;  
}
.js-cal .cal-arrow-right > svg {
    max-height: 20%;
}
.js-cal .cal-arrow-left {
    left: 0;
}
.js-cal .cal-arrow-left > svg {
    transform: rotateY(180deg);
    max-height: 20%;
}
/* .js-cal .cal-arrow-left:hover, .cal-arrow-right:hover{
    color: var(--js-cal-text-hover-color);
} */

.js-cal .cal-bottom {
    display: flex;
    flex-direction: column;
    background-color: var(--page-grey-kit-bg3);;
    user-select: none;   
    padding-bottom: 2em;
    /* min-width: 385px; */
    
}
.js-cal .cal-week-name {
    display: flex;
    justify-content: center;
    flex-grow: 1;
    flex-basis: 0;
    height: 2em;
    min-width: var(--cal-column-min-width);
    max-width: 4em;
}
.js-cal .cal-week-names {
    display: flex;
    background-color: var(--page-grey-kit-darkbg1);
    color: var(--page-grey-kit-darkfg1);
    justify-content: center;
    /* min-width: 385px; */
    font-size: 0.8em;
    margin-bottom: 2em;
}
.js-cal .cal-week {
    display: flex;
    /* min-width: 385px; */
    justify-content: center;
    font-size: 0.8em;
}
.js-cal .cal-day {
    display: flex;
    justify-content: center;
    flex-grow: 1;
    flex-basis: 0;
    color: var(--page-main-kit-fg2);
    transition: all .15s ease-out;
    margin: 1px;
    height: 2em;
    box-sizing: border-box;
    padding: 3px 5px;
    align-items: center;
    border: 1px solid transparent;
    min-width: var(--cal-column-min-width);
    max-width: 4em;
}
.js-cal .cal-day.current-day {
    /* border: 1px solid var(--cal-active-day-bg-color); */
    font-weight: bold;
} 
.js-cal .cal-link {
    cursor: pointer;
    color: var(--page-link-color);
}
.js-cal .empty-day {
    color: var(--page-grey-kit-fg3-2);
    /* font-weight: normal !important; */
}
.js-cal .active-day {
	border: 1px solid var(--page-link-color);
	border-radius: 1em;
    cursor: pointer;
}
/* .js-cal .cal-day.active-day:hover {
    background-color: var(--page-main-kit-bg1);
    border: 1px solid var(--page-main-kit-bg3);
    color: var(--page-main-kit-bg3);
} */
.js-cal .cal-day.cal-link:hover {
    /* background-color: var(--page-bg-color);
    border: 1px solid var(--cal-active-day-bg-color);
    color: var(--page-link-color); */
    text-decoration: underline;
}