/* === General Calendar Day Styling === */
.tribe-events-widget-events-month .tribe-events-calendar-month__day,
.tribe-events-widget-events-shortcode-month .tribe-events-calendar-month__day {
    aspect-ratio: auto !important;
    height: auto !important;
    padding: 0 !important;
    text-align: center;
    font-size: 12px !important;
    background: #c7ddf3 !important;
}

.tribe-events-widget-events-month .tribe-events-calendar-month__day time.tribe-events-calendar-month__day-date-daynum {
    color: #253f7e !important;
}

.tribe-events-calendar-month__day-date-daynum {
    font-size: 14px !important;
    color: white !important;
}

.tribe-events-calendar-month__day-date .tribe-common-h4 {
    font-size: 14px !important;
    color: white !important;
}

.tribe-events-calendar-month__events {
    display: none !important;
}

.tribe-events-calendar-month__header-column,
.tribe-events-calendar-month__day-date-link,
.tribe-events-pro-map__event-title {
    padding: 0 !important;
    color: white !important;
}

.tribe-events .tribe-events-calendar-month__day--current button {
    background: #5da9dd !important;
}

span.tribe-events-calendar-month__header-column-title-desktop.tribe-common-a11y-hidden {
    text-align: center;
    color: white;
    background: #352878;
    font-size: 14px;
    font-weight: bold;
}

.tribe-events-calendar-month__day,
.tribe-common.tribe-events.tribe-events-widget.tribe-events-view--shortcode.tribe-events-widget-events-shortcode-month .tribe-events-calendar-month__day {
    min-height: 43px !important;
}

.tribe-events-calendar-month__header-row {
    background: #352878 !important;
    color: white !important;
}

.tribe-events-calendar-month__header-row h3 {
    background: #352878 !important;
    color: white !important;
    font-size: 14px !important;
    padding: 10px !important;
}

.tribe-common.tribe-events.tribe-events-widget.tribe-events-view--shortcode.tribe-events-widget-events-month,
.tribe-common.tribe-events.tribe-events-widget.tribe-events-view--shortcode.tribe-events-widget-events-shortcode-month {
    padding: 0 !important;
    background: none !important;
}

.tribe-events-header {
    padding: 0 !important;
    margin: 0 !important;
    color: white;
    width: 100%;
}

button.tribe-events-calendar-month__day-cell.tribe-events-calendar-month__day-cell--mobile,
.tribe-events-calendar-month__day {
    border: 1px solid white;
    border-radius: 0 !important;
}

.tribe-events-calendar-month {
    margin-bottom: 0 !important;
}

.tribe-events-calendar-month-mobile-events {
    width: 48%;
    float: right;
}

nav.tribe-events-c-top-bar__nav {
    background: #ffffff;
    font-size: 15px !important;
    text-transform: uppercase;
    padding: 10px 0 !important;
}

.tribe-common.tribe-events.tribe-events-view {
    padding: 0 !important;
    background: none !important;
}

.tribe-events-widget-events-month__view-more-link {
    display: none !important;
}

.tribe-events-title {
    line-height: 1.1 !important;
}
.tribe-events .tribe-events-calendar-month__week{
	min-height: 70px !important;
}

/* === Mobile Event List Styling === */
.tribe-events-calendar-month-mobile-events__mobile-day .list-date {
    background-color: #e70035 !important;
}

.tribe-events-calendar-month-mobile-events__mobile-day .list-date .list-dayname {
    color: #e70035 !important;
}

.list-dayname {
    font-size: 17px !important;
}

.list-daynumber {
    font-size: 22px !important;
}

h2.tribe-events-title > a {
    color: #352878 !important;
}

.tribe-events-duration > span {
    color: #352878 !important;
}

.list-date {
    background: #666;
    box-sizing: border-box;
    display: inline;
    float: left;
    font-weight: 700;
    margin: 10px 5% 10px 0 !important;
    overflow: hidden;
    padding: 3px !important;
    text-align: center;
    width: 15%;
    margin-top: 0 !important;
}

.list-date .list-dayname {
    background: #fff;
    color: #666;
    display: block;
    font-size: 11px;
    letter-spacing: 0.5px;
    padding: 3px;
    text-align: center;
    text-transform: uppercase;
}

.list-date .list-daynumber {
    color: #fff;
    display: block;
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
    width: 100%;
}

.type-tribe_events > div > div > .list-date {
    background: #253f7e !important;
}

.type-tribe_events > div > div > .list-date > .list-dayname {
    color: #253f7e !important;
}

.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event {
    padding: 0 0 20px;
}

.tribe-events-calendar-month-mobile-events__mobile-event-datetime time {
    font-size: 13px !important;
    color: #352878 !important;
}

span.tribe-events-calendar-month__header-column-title-mobile {
    color: #ceb96e;
}

.tribe-events-calendar-month__day-date.tribe-common-h6 {
    z-index: 10 !important;
}

/* === Accessibility and Tooltip Icons === */
.fusion-body #main .tribe-common .tribe-common-c-btn-icon--caret-left:before,
.fusion-body #main .tribe-common .tribe-common-c-btn-icon--caret-right:before {
    color: #253f7e !important;
}

/* === Day Marker Hidden === */
.tribe-events-c-day-marker.tribe-events-calendar-month-mobile-events__day-marker {
    display: none !important;
}

/* === Active Event Mobile Icon === */
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
    background: #253f7e !important;
    height: 100% !important;
    width: 100% !important;
    position: absolute !important;
    border-radius: 0 !important;
}

/* === Day Number with Active Event Styling === */
#main time.tribe-events-calendar-month__day-date-daynum.has-event {
    color: white !important;
}

/* === Focus and Selection Backgrounds === */
.tribe-common.tribe-events.tribe-events-widget-shortcode.tribe-events-widget-shortcode-events-month .tribe-events-calendar-month__day-cell--mobile:focus,
.tribe-common.tribe-events.tribe-events-widget-shortcode.tribe-events-widget-shortcode-events-month .tribe-events-calendar-month__day-cell--mobile:hover,
.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__day-cell--selected:focus,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
    background-color: inherit !important;
}

/* === View Loader === */
.tribe-events .tribe-events-view-loader {
    width: 48% !important;
    background: #352878 url(https://n2n3c8y8.stackpathcdn.com/wp-content/plugins/the-events-calendar/src/resources/images/tribe-loading.gif) center center / 20px 20px no-repeat !important;
}

/* === Nav Arrows and Buttons === */
li.tribe-events-c-top-bar__nav-list-date {
    display: block;
    width: 100%;
    font-size: 3.5rem;
    font-weight: bold;
    text-align: center;
    color: #253f7e !important;
}

li.tribe-events-c-top-bar__nav-list-item {
    width: 60px !important;
    height: 30px;
    position: relative;
}

li.tribe-events-c-top-bar__nav-list-item a {
    display: block;
    width: 60px !important;
    height: 30px !important;
    position: absolute;
    text-align: center;
    left: 0;
    top: 0;
}

li.tribe-events-c-top-bar__nav-list-item a.tribe-events-c-top-bar__nav-link--prev:before {
    content: '«' !important;
    width: 60px !important;
}

li.tribe-events-c-top-bar__nav-list-item a.tribe-events-c-top-bar__nav-link--next:before {
    content: '»' !important;
    width: 60px !important;
}

.tribe-calendar-wrapper {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    width: 48%;
    float: left;
}

/* === Responsive Fixes === */
@media screen and (max-width: 800px) {
    .tribe-events-calendar-month-mobile-events {
        margin-top: 0 !important;
    }

    .tribe-events .tribe-events-view-loader,
    .tribe-events-calendar-month,
    .tribe-events-header,
    .tribe-events-calendar-month-mobile-events {
        width: 100% !important;
    }

    .list-dayname {
        font-size: 12px !important;
    }

    .list-date {
        width: 20% !important;
    }
}
