.calendar {
    color: var(--hrz-home-calendar-link-color);
}

.calendar .calendar-head {
    padding: 16px 0;
    background: var(--hrz-home-calendar-head-bgcolor);
}

.calendar-head .row > div {
    width: auto;
    margin-top: 0;
}

.calendar-head .row span,
.calendar-head .row .section-title {
    font-weight: 600;
    font-size: 1.5em;
}

.calendar-head .row .section-title {
    margin: 0;
}

.calendar .calendar-head a {
    color: var(--hrz-home-calendar-link-color);
    text-decoration: none;
}

.calendar .calendar-head a:hover {
    text-decoration: underline;
}

.calendar .calendar-body {
    padding: 16px 0;
    background: var(--hrz-home-calendar-main-bgcolor);
    max-width: 100%;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .1);
}

.calendar .calendar-body .calendar-single-day a:not(.disabled) {
    text-decoration: none;
    font-weight: bold;
    color: var(--hrz-home-calendar-day-active);
}

.calendar .calendar-body .calendar-single-day a.disabled {
    color: var(--hrz-home-calendar-day-inactive);
    font-weight: lighter;
    cursor: default;
    text-decoration: none;
}

.calendar .calendar-body .calendar-single-day a:not(.disabled):hover {
    text-decoration: underline;
}

#calendar-carousel {
    padding: 0 35px;
}

.calendar .splide__pagination {
    display: none;
}

.calendar .splide__arrows {
    background: transparent;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 90;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.calendar .splide__arrows .splide__arrow {
    background: transparent;
    border: none;
    fill: var(--hrz-home-calendar-arrows-active);
}

#calendar-carousel .splide__track {
    z-index: 91;
}

.calendar .day-link-menu {
    background: var(--hrz-home-calendar-event-bgcolor);
    display: none;
    padding: 12px 0;
}

.calendar .day-link-menu a {
    font-size: 1em;
    font-weight: 600;
    color: var(--hrz-home-calendar-link-color);
    text-decoration: none;
}

.calendar .day-link-menu a:hover {
    text-decoration: underline;
}

@media screen and (min-width: 992px) {
    .calendar .splide__arrows {
        display: none;
    }
}

@media screen and (max-width: 576px) {
    .calendar .calendar-head {
        padding: 16px;
    }

    .calendar .day-link-menu {
        padding: 12px 16px;
    }
}

/* Focus effect */
#calendar-carousel .single-day-link {
    margin: 2px 0;
}