.calendarDialog {
    z-index: 100000001;
    display: flex;
    flex-direction: column;
    margin: var(--margin);
    background-color: hsla(0,0%,20%, .4);
    color: var(--secondary-text);
    border-radius: var(--border-radius);
    max-width: 100vw;
    max-height: 100vh;
    overflow: auto;
	backdrop-filter: blur(76px);
}

.calendarDialog .dialogButtons {
    justify-content: flex-end;
    margin: var(--margin);
}

.calendarDialog .cancelButton {
    background-color: var(--primary-shade);
}

.calendarWrapper {
    display: none;
    opacity: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /*backdrop-filter: blur(8px);*/
    z-index: 10000000;
    /*-webkit-backdrop-filter: blur(8px);*/
}

@keyframes revealOpacity {
    from {
        /*opacity: 0;*/
		
    }
    to {
        /*opacity: 1;*/
    }
}

@keyframes hideOpacity {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.calendarWrapper.show {
    display: flex;
    opacity: 1;
    animation: revealOpacity var(--transition-time);
}

.calendarWrapper.hide {
    animation: hideOpacity var(--transition-time);
}

@keyframes zoomReveal {
    from {
		opacity: 0;
        transform: scale(.9);
    }
    to {
		opacity: 1;
        transform: scale(1);
    }
}

.calendarWrapper:not(.existed) .calendarDialog {
    animation: zoomReveal var(--transition-time);
}

.calendarDialog .month {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: center;
    text-align: center;
    padding: var(--margin);
}

.nextMonth::before {
    content: "keyboard_arrow_right"
}

.prevMonth::before {
    content: "keyboard_arrow_left"
}

.calendar {
    display: flex;
    flex-direction: column;
    padding: var(--margin);
	padding-bottom: 0;
}

.week, .weekdays {
    display: flex;
    flex-direction: row;
}

.day, .weekday {
    max-width: 14.285714%;
    width: var(--input-line-height);
    height: var(--input-line-height);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--border-radius);
    border: solid var(--line-thickness) transparent;
    transition: all var(--transition-time);
}

.day:hover {
    border: solid var(--line-thickness) var(--primary);
}

.weekday {
    height: var(--card-line-height);
}

.day.today {
    border: solid var(--line-thickness) var(--secondary-text);
}

.day.selected {
    background-color: var(--primary);
    color: var(--primary-text);
}

.day:not(.sameMonth) {
    opacity: .3;
}

.timeWrapper {
    padding: 0 var(--margin);
}

.timeWrapper .stretch {
    flex-basis: 1px;
}

.timeChanger, .timeWrapper, .dialogButtons {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    color: var(--secondary-text);
    align-items: center;
}

.timeChanger {
    padding: 0;
}

.timeChanger .dots {
    overflow: visible;
    width: var(--margin);
    text-align: center;
}

.timeChanger input {
    background-color: var(--secondary);
    color: inherit;
    border: solid var(--line-thickness) var(--primary);
    outline: none;
    border-radius: var(--border-radius);
    text-align: center;
    height: var(--input-line-height);
    width: var(--input-line-height);
    font-size: large;
}

.timeChanger .increase::before {
    content: "keyboard_arrow_up";
}

.timeChanger .decrease::before {
    content: "keyboard_arrow_down";
}

.minuteChanger, .hourChanger {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.increase.icon, .decrease.icon {
    padding: var(--margin);
    background-image: linear-gradient(0deg, transparent, hsla(0,0%,20%,.2), transparent);
    border-radius: var(--border-radius);
}
.nowContainer {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.calendarDialog .button {
    margin-left: var(--margin);
    height: var(--input-line-height);
    padding: 0 var(--margin);
    font-size: small;
}

.nowButton.inactive {
    display: none;
    /* border-color: var(--secondary-text);
    color: var(--secondary-text);
    padding: 0 calc(var(--margin) - var(--line-thickness)); */
}
