/* ############################################################################
   ##
   ##  CALENDAR ELEMENTS
   ##  Objects/structures that might appear on any page
   ##
   ######################################################################### */

/* 
    #EventContent is a child of #PrimaryContent in standard templates.
    - The full event details page can be targeted this way
    - #EventInfo is the summary content - usually at the top of the page - e.g. location, type, status
    - General event styling uses classes so targeting these div IDs give rules here strong specificity
*/

#EventContent {
}

    #EventContent #PublishInfo {
    }

        #EventContent #PublishInfo .date {
        }

            #EventContent #PublishInfo .date .separator {
                margin: 0 var(--site-margin-thinnest);
            }

        #EventContent #PublishInfo .time {
            /* The time block only appears on events. */
        }

    #EventContent #EventInfo {
        position: relative;
        float: left;
        box-sizing: border-box;
        width: 100%;
        margin-bottom: var(--site-box-margin-bottom);
    }

        #EventContent #EventInfo > div {
            position: relative;
            float: left;
            width: 100%;
            margin: 0;
            padding: 10px 0;
            border-bottom: #eae8e7 2px solid;
        }

        #EventContent #EventInfo > div.type {
        }

        #EventContent #EventInfo > div.status {
        }

        #EventContent #EventInfo > div.location {
        }

        #EventContent #EventInfo > div.attendees {
        }

        #EventContent #EventInfo > div.added-by {
        }
    
        /* Label/value classes could be targeted individually or together, and as children of event type and status classes. */

        #EventContent #EventInfo .label {
            display: block;
            position: relative;
            float: left;
            box-sizing: border-box;
            width: 15%;
            font-weight: bold;
        }

        #EventContent #EventInfo .value,
        #EventContent #EventInfo .mapLink {
            display: block;
            position: relative;
            float: left;
            box-sizing: border-box;
            max-width: 85%;
        }

    /* Individual event types and statuses can be targeted. */

    #EventContent.status-confirmed {
    }

        #EventContent.status-confirmed .status {
            /*background: #006600;*/
        }

            #EventContent.status-confirmed .status .value {
                /*color: #ffffff;*/
                color: #339933;
            }
            
    #EventContent.status-tentative {
    }

        #EventContent.status-tentative .status {
            /*background: #ff9900;*/
        }

            #EventContent.status-tentative .status .value {
                /*color: #ffffff;*/
                color: #ff9900;
            }

    #EventContent .map {
        margin: 0 0 var(--site-box-margin-bottom);
    }

/* 
    Event Summary 
    Note that general content styles will be inherited from the global stylesheet, so:
    - Only create styles needed especially for events below, don't double up with general site styles 
    - E.g. best not to redefine things like .text and .thumbnail, just handle stuff that's specific to events like .status and dates
    - Specificity is important if you want to do special stuff with events - e.g. see #Primary and #Secondary below
*/

.item.event {
}

    .item.event .thumbnail {
    }
    
        .imageLeft .item.event .thumbnail,
        .imageRight .item.event .thumbnail {
            /* cm3 9.1.1 has no way to set the thumbnail size on events widgets, it's "medium" by default. So make sure it doesn't upset content in smaller views. */
            max-width: 35%;
        }

    .item.event .text {
    }

        .item.event .text .title {
            margin-top: 0;
        }

        .item.event .text .date {
        }

            .item.event .text .date .date-start {
            }

            .item.event .text .date .date-end {
            }

            .item.event .text .date.mutiple {
                /* If both start and end dates exist, the date element will have an additional class name - "multiple". */
            }

        .item.event .text .time {
            margin-bottom: var(--site-margin-thinnest);
            color: var(--site-color-ui-mid);
        }

            .item.event .text .time .time-start {
            }

            .item.event .text .time .time-end {
            }

            .item.event .text .time.multiple{
                /* If both start and end times exist, the date element will have an additional class name - "multiple". */
            }

        /* Date and time separators could be targetd under individual elements if needed, but they're usually the same. */

            .item.event .text .date .separator,
            .item.event .text .time .separator {
                margin: 0 var(--site-margin-thinnest);
            }

        .item.event .text .type {
            display: inline-block;
            margin-bottom: var(--site-margin-thinnest);
        }

            .item.event .text .type .value::after {
                content: ", ";
            }

            .item.event .text .type .value:last-child::after {
                display: none;
            }

            /* Particular event types */

            .item.event.type-meeting {
            }

        .item.event .text .status {
            margin-bottom: var(--site-margin-thinnest);
        }

            /* Particular event statuses */

            .item.event.status-confirmed {
            }

                .item.event.status-confirmed .status {
                }

                    .item.event.status-confirmed .status .value {
                        color: #339933;
                    }

            .item.event.status-tentative {
            }

                .item.event.status-tentative .status {
                }

                    .item.event.status-tentative .status .value {
                        color: #ff9900;
                    }

        .item.event .text .location {
            font-style: italic;
            margin-bottom: var(--site-box-margin-bottom);
        }

        .item.event .text .attendees {
            margin-bottom: var(--site-margin-thinnest);
        }

        .item.event .text .summary {
        }

        /* Label/value classes could be targeted individually or together, and as children of event type and status classes - examples are below */

        .item.event .text .type .label,
        .item.event .text .location .label,
        .item.event .text .attendees .label,
        .item.event .text .status .label {
            display: none;
        }

        .item.event .text .type .value,
        .item.event .text .location .value,
        .item.event .text .attendees .value,
        .item.event .text .status .value {
        }

        .item.event.type-meeting .text .type .label {
        }

    .item.event:last-child {
    }

        .item.event:last-child .text .location {
            margin-bottom: 0;
        }

#Primary .item.event {
}

#Secondary .item.event {
}
        
/* Feature events */

.item.event.feature {
}

/* 
    Calendar Month View Table
*/

table.monthView {
    width: 100%;
    border: none;
    overflow: hidden;
    border-collapse: collapse;
}

    table.monthView tr.dayNames {
    }

        table.monthView tr.dayNames th.dayName {
            padding: var(--site-padding-thinner);
            width: 13.28%;
            color: var(--site-color-white);
            background: rgba(0,53,92,1);
            border: #ffffff 1px solid !important;
        }

            table.monthView tr.dayNames th.dayName .day-name {
                font-size: 1px;
                letter-spacing: -1px;
                color: transparent;
            }

                table.monthView tr.dayNames th.dayName .day-name::before {
                    content: "";
                    font-size: 11px;
                    letter-spacing: normal;
                    color: var(--site-color-white);
                }

                table.monthView tr.dayNames th.dayName .day-name.day-monday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-mon::before {
                    content: "Mon";
                }

                table.monthView tr.dayNames th.dayName .day-name.day-tuesday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-tue::before {
                    content: "Tue";
                }

                table.monthView tr.dayNames th.dayName .day-name.day-wednesday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-wed::before {
                    content: "Wed";
                }

                table.monthView tr.dayNames th.dayName .day-name.day-thursday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-thu::before {
                    content: "Thu";
                }

                table.monthView tr.dayNames th.dayName .day-name.day-friday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-fri::before {
                    content: "Fri";
                }

                table.monthView tr.dayNames th.dayName .day-name.day-saturday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-sat::before {
                    content: "Sat";
                }

                table.monthView tr.dayNames th.dayName .day-name.day-sunday::before,
                table.monthView tr.dayNames th.dayName .day-name.day-sun::before {
                    content: "Sun";
                }

    table.monthView tr.days {
    }

        table.monthView tr.days td.day {
            /* Default day, includes other month days */
            font-size: var(--site-font-size-tiny);
            padding: var(--site-padding-thinner);
            width: 13.28%;
            vertical-align: top;
            color: var(--site-spot-color-1);
            background: var(--site-color-ui-lightest);
            border-color: var(--site-border-color);
            border-width: var(--site-border-width);
            border-style: solid;
            overflow: hidden;
        }

                table.monthView tr.days td.day:hover {
                    /* The cells are clickable, linked to the day view report. It uses a Javascript function. To do: Should this be reviewed for UX and accessibility? It might get confusing when there are links to individual events in the cells too. */
                    cursor: pointer;
                }

                    table.monthView tr.days td.day:hover .dayDate,
                    table.monthView tr.days td.day.thisMonth:hover .dayDate,
                    table.monthView tr.days td.day.otherMonth:hover .dayDate {
                        border-color: var(--site-link-hover-color);
                    }

                        table.monthView tr.days td.day:hover .dayDate a,
                        table.monthView tr.days td.day.thisMonth:hover .dayDate a,
                        table.monthView tr.days td.day.otherMonth:hover .dayDate a {
                            color: var(--site-link-hover-color);
                        }

            table.monthView tr.days td.day a {
                text-decoration: none;
            }

            table.monthView tr.days td.day .dayDate {
                display: inline-block;
                box-sizing: border-box;
                text-align: center;
                text-decoration: underline;
            }

                table.monthView tr.days td.day .dayDate .day-name {
                    display: block;
                    width: 0;
                    height: 0;
                    overflow: hidden;
                }

                    table.monthView tr.days td.day .dayDate .day-name::before {
                        content: "";
                        display: inline-block;
                        width: 36px;
                        height: 10px;
                        text-align: center;
                        font-size: 10px;
                        text-transform: uppercase;
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-monday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-mon::before {
                        content: "Mon";
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-tuesday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-tue::before  {
                        content: "Tue";
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-wednesday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-wed::before {
                        content: "Wed";
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-thursday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-thu::before {
                        content: "Thu";
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-friday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-fri::before {
                        content: "Fri";
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-saturday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-sat::before {
                        content: "Sat";
                    }

                    table.monthView tr.days td.day .dayDate .day-name.day-sunday::before,
                    table.monthView tr.days td.day .dayDate .day-name.day-sun::before {
                        content: "Sun";
                    }

                table.monthView tr.days td.day .dayDate .day-date {
                    font-size: 16px;
                    text-decoration: underline;
                    position: absolute;
                    left: 0px;
                    top: 16px;
                    width: 36px;
                    height: 1em;
                    line-height: 1em;
                    text-align: center;
                }

                table.monthView tr.days td.day .dayDate .day-month {
                    display: block;
                    width: 0;
                    height: 0;
                    overflow: hidden;
                }

                    table.monthView tr.days td.day .dayDate .day-month::before {
                        content: "";
                        display: inline-block;
                        width: 36px;
                        height: 10px;
                        text-align: center;
                        font-size: 10px;
                        line-height: 10px;
                        text-transform: uppercase;
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-january::before {
                        content: "Jan";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-february::before {
                        content: "Feb";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-march::before {
                        content: "Mar";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-april::before {
                        content: "Apr";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-may::before {
                        content: "May";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-june::before {
                        content: "Jun";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-july::before {
                        content: "Jul";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-august::before {
                        content: "Aug";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-september::before {
                        content: "Sep";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-october::before {
                        content: "Oct";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-november::before {
                        content: "Nov";
                    }

                    table.monthView tr.days td.day .dayDate .day-month.month-december::before {
                        content: "Dec";
                    }

            table.monthView tr.days td.day.thisMonth {
                background: var(--site-color-ui-lighter);
            }

                table.monthView tr.days td.day.thisMonth:hover {
                    background: var(--site-color-ui-lightest);
                }

                table.monthView tr.days td.day.thisMonth.hasEvents {
                    /* A cell with events */
                    background: #e6e4be;
                }

                    table.monthView tr.days td.day.thisMonth.hasEvents:hover {
                        background: var(--site-color-ui-lightest);
                    }

                table.monthView tr.days td.day.thisMonth.today {
                    background: var(--site-spot-color-1);
                    color: var(--site-color-white);
                }

                    table.monthView tr.days td.day.thisMonth.today .day-date {
                        color: var(--site-color-white);
                    }

                    table.monthView tr.days td.day.thisMonth.today:hover {
                        background: var(--site-color-white);
                        color: var(--site-spot-color-1);
                    }
                    
                        table.monthView tr.days td.day.thisMonth.today:hover a {
                        }

            table.monthView tr.days td.day.otherMonth {
                background: var(--site-color-ui-lightest);
            }

                table.monthView tr.days td.day.otherMonth .dayDate {
                    border-bottom-color: var(--site-color-ui-mid-dark);
                }

                    table.monthView tr.days td.day.otherMonth .dayDate a {
                        color: var(--site-color-ui-mid-dark);
                    }

                        table.monthView tr.days td.day.otherMonth .dayDate a:hover {
                            background-color: var(--site-color-white);
                            color: var(--site-link-hover-color);
                        }

                    table.monthView tr.days td.day.otherMonth .dayDate .day-name {
                        top: 1px;
                    }

                    table.monthView tr.days td.day.otherMonth .dayDate .day-date {
                        top: 11px;
                    }

                    table.monthView tr.days td.day.otherMonth .dayDate .day-month {
                        display: none;
                        position: absolute;
                        top: 22px;
                        font-size: 1px;
                    }

            table.monthView tr.days td.day.otherMonth .dayDate .day-month::before {
                position: absolute;
            }

            table.monthView tr.days td.day.otherMonth.previousMonth {
            }

            table.monthView tr.days td.day.otherMonth.nextMonth {
            }

            table.monthView tr.days td.day.dayLinked {
                /* A cell that has a link to the event by day view. */
                cursor: pointer;
            }

            /* 
                Events within a day cell
                Note that .item is inherited from elsewhere (see above and other stylesheets), so only override stuff required for the month view table below.
            */

            table.monthView tr.days td.day .item.event {
                position: relative;
                margin-top: var(--site-margin-thinner) !important;
                margin-bottom: 0 !important;
            }

                table.monthView tr.days td.day .item.event .thumbnail {
                    display: block;
                    float: none;
                    width: 100%;
                    max-width: 100%;
                    padding: 0;
                    margin: var(--site-padding-thinnest) 0;
                    overflow: hidden;
                }
                
                table.monthView tr.days td.day .item.event .thumbnail.tiny {
                }

                table.monthView tr.days td.day .item.event .thumbnail.small {
                }

                table.monthView tr.days td.day .item.event .thumbnail.medium {
                }

                table.monthView tr.days td.day .item.event .thumbnail.large {
                }

                table.monthView tr.days td.day .item.event .thumbnail.huge {
                }

                    table.monthView tr.days td.day .item.event .thumbnail img {
                        width: 100%;
                        max-width: 100%;
                    }

                table.monthView tr.days td.day .item.event .text {
                    float: none;
                }

                    table.monthView tr.days td.day .item.event .text .title {
                        font-size: var(--site-font-size-small);
                        margin: 0 0 var(--site-margin) 0;
                    }

                    table.monthView tr.days td.day .item.event .text .date {
                    }

                    table.monthView tr.days td.day .item.event .text .time {
                        display: block !important;
                        overflow: hidden;
                        margin: 0 0 0.25em !important;
                        padding: 0 !important;
                        font-size: 91.7%;
                        font-weight: bold;
                        white-space: nowrap;
                        border: 0 !important;
                    }

                    table.monthView tr.days td.day .item.event .text .summary {
                    }

                    table.monthView tr.days td.day .item.event .text .type, 
                    table.monthView tr.days td.day .item.event .text .status, 
                    table.monthView tr.days td.day .item.event .text .location, 
                    table.monthView tr.days td.day .item.event .text .attendees {
                    }

                    table.monthView tr.days td.day .item.event .text .location {
                        font-size: var(--site-font-size-tiny);
                        color: var(--site-spot-color-10);
                    }

                    table.monthView tr.days td.day .item.event .text .label {
                        display: none;
                    }

            table.monthView tr.days td.day .item.event.status-confirmed {
            }

                table.monthView tr.days td.day .item.event.status-confirmed .status .value {
                }

            table.monthView tr.days td.day .item.event.status-tentative {
            }

                table.monthView tr.days td.day .item.event.status-tentative .status .value {
                }

            /* Events within a day cell in particular panels and templates. */

            #Primary table.monthView tr.dayNames {
            }

                #Primary table.monthView tr.dayNames th.dayName {
                    height: 25px; /* Height works like min-height for display: table-cell. */
                    font-size: var(--site-font-size-bigger);
                    padding: 6px 10px;
                    width: 13.28%;
                    background: rgba(0,53,92,1);
                    border-radius: var(--site-border-radius-medium);
                }
            
            #Primary table.monthView tr.days {
            }

                #Primary table.monthView tr.days td.day {
                    height: 75px; /* Height works like min-height for display: table-cell. */
                    padding: 6px 10px;
                    border: var(--site-color-white) 1px solid;
                    cursor: pointer;
                    position: relative;
                }

                    #Primary table.monthView tr.days td.day .item.event {
                    }

@media screen and (max-width: 600px) {

    .cols-3.calendar-month-legend {
        display: flex;
        flex-direction: column;
        gap: 6px;
        align-items: center;
    }

        .cols-3.calendar-month-legend .col {
            width: 100%;
        }

    table.monthView tr.days td.day .item.event .thumbnail {
    }

        table.monthView tr.days td.day .item.event .thumbnail img {
            width: auto;
        }

    /* Calendar components in particular panels and templates. */

    #Primary table.monthView tr.dayNames {
        display: none;
    }

    #Primary table.monthView tr.days {
        display: block;
        float: left;
        width: 100%;
        box-sizing: border-box;
    }

        #Primary table.monthView tr.days td.day {
            display: block !important;
            float: left;
            width: 100%;
            box-sizing: border-box;
            padding: 10px;
            height: auto;
        }

        #Primary table.monthView tr.days td.day.otherMonth {
            display: none !important;
        }

}

/* Calendar Month View Widget in particular panels and templates */

#Primary .eventsByMonth {
    margin-bottom: var(--site-box-margin-bottom);
}

    @media screen and (min-width: 601px) and (max-width: 900px) {

        #Primary .eventsByMonth {
            margin: 0 calc(var(--site-padding-thinner) * -1); /* Get as much room as possible, negate the page padding. */
        }

        .eventsByMonth fieldset.calendarToolbar {
            padding: 0 var(--site-padding-thinner) !important; /* Adjustment for the negated page padding above. */
        }

    }

#Secondary .eventsByMonth.calendar {
}

    #Secondary .eventsByMonth.calendar .formPanel {
        display: none;
    }

#Tertiary .eventsByMonth.calendar {
}

    body.Template_threecols1 #Secondary .eventsByMonth.calendar,
    body.Template_twocols2 #Secondary .eventsByMonth.calendar, 
    body.Template_twocols1 #Tertiary .eventsByMonth.calendar,
    body.Template_threecols1 #Tertiary .eventsByMonth.calendar {
        margin-bottom: var(--site-box-margin-bottom);
        font-size: 86%;
    }

        body.Template_threecols1 #Secondary .eventsByMonth.calendar .formPanel,
        body.Template_twocols2 #Secondary .eventsByMonth.calendar .formPanel,
        body.Template_twocols1 #Tertiary .eventsByMonth.calendar .formPanel, 
        body.Template_threecols1 #Tertiary .eventsByMonth.calendar .formPanel {
            margin: 0;
        }

    body.Template_threecols1 #Secondary table.monthView tr.dayNames th.dayName,
    body.Template_threecols1 #Secondary table.monthView tr.days td.day,
    body.Template_twocols2 #Secondary table.monthView tr.dayNames th.dayName,
    body.Template_twocols2 #Secondary table.monthView tr.days td.day,
    body.Template_twocols1 #Tertiary table.monthView tr.dayNames th.dayName,
    body.Template_twocols1 #Tertiary table.monthView tr.days td.day,
    body.Template_threecols1 #Tertiary table.monthView tr.dayNames th.dayName,
    body.Template_threecols1 #Tertiary table.monthView tr.days td.day {
        padding: 8px;
        width: 10.28%;
        vertical-align: middle;
        border: var(--site-color-white) 1px solid;
        cursor: pointer;
    }

        body.Template_threecols1 #Secondary table.monthView tr.days td.day .dayDate,
        body.Template_twocols2 #Secondary table.monthView tr.days td.day .dayDate,
        body.Template_twocols1 #Tertiary table.monthView tr.days td.day .dayDate,
        body.Template_threecols1 #Tertiary table.monthView tr.days td.day .dayDate {
            position: relative;
            width: auto;
            height: 5px;
            line-height: normal;
            background-color: transparent;
            border: 0;
        }

            body.Template_threecols1 #Secondary table.monthView tr.days td.day .dayDate .day-name,
            body.Template_twocols2 #Secondary table.monthView tr.days td.day .dayDate .day-name,
            body.Template_twocols1 #Tertiary table.monthView tr.days td.day .dayDate .day-name,
            body.Template_threecols1 #Tertiary table.monthView tr.days td.day .dayDate .day-name {
                /* @include .hide-from-sight; */
            }

            body.Template_threecols1 #Secondary table.monthView tr.days td.day .dayDate .day-date,
            body.Template_twocols2 #Secondary table.monthView tr.days td.day .dayDate .day-date,
            body.Template_twocols1 #Tertiary table.monthView tr.days td.day .dayDate .day-date,
            body.Template_threecols1 #Tertiary table.monthView tr.days td.day .dayDate .day-date {
                position: relative;
                top: auto;
                width: auto;
                height: auto;
                font-size: inherit;
            }

            body.Template_threecols1 #Secondary table.monthView tr.days td.day .dayDate .day-month
            body.Template_twocols2 #Secondary table.monthView tr.days td.day .dayDate .day-month,
            body.Template_twocols1 #Tertiary table.monthView tr.days td.day .dayDate .day-month,
            body.Template_threecols1 #Tertiary table.monthView tr.days td.day .dayDate .day-month {
                display: none;
            }

/* Calendar List View Widget in particular panels and templates */
   
#Primary .eventsByMonth.list {
}

    #Primary .eventsByMonth.list .day {
    }

        #Primary .eventsByMonth.list .day .dayTitle {
        }

    #Primary .eventsByMonth.list .day .item.event .text .date {
        display: none; /* Even when dates are turned on it doesn't make sense to show a single date, since the date is shown at the top of each day. */
    }

        #Primary .eventsByMonth.list .day .item.event .text .date.multiple {
            display: block; /* For multi-day events, it still makes sense to show the date. */
        }

#Secondary .eventsByMonth.list {
}

#Tertiary .eventsByMonth.list {
}

/*
    Calendar Toolbar
*/

.eventsByMonth .formPanel {
    margin: 20px 0 0 0;
    padding: 14px 0;
    background: var(--site-spot-color-1);
    border-radius: var(--site-border-radius-medium);
}

.eventsByMonth fieldset.calendarToolbar {
    display: inline-block;
    vertical-align: middle;
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 var(--site-padding-thinner);
    background: var(--site-spot-color-1);
    border: 0;
}

    .eventsByMonth fieldset.calendarToolbar legend {
        display: none;
    }

.eventsByMonth fieldset.calendarToolbar ul.formFields {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
}

    .eventsByMonth fieldset.calendarToolbar .fieldContainer {
        clear: none;
        box-sizing: border-box;
        width: auto;
        margin: 0 !important;
        padding-right: var(--site-padding-thinnest);
    }

    .eventsByMonth fieldset.calendarToolbar .fieldContainer.dropdownField {
        width: 40%;
    }
    
    .eventsByMonth fieldset.calendarToolbar .fieldContainer.buttonField {
        width: 20%;
        padding-right: 0;
    }

        .eventsByMonth fieldset.calendarToolbar .fieldContainer .fieldTitle {
            display: none;
        }

        .eventsByMonth fieldset.calendarToolbar .fieldContainer .fieldContent {
            width: 100%;
            max-width: 100%;
        }

            .eventsByMonth fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls {
            }

                .eventsByMonth fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls select {
                    width: 100%;
                    padding: var(--site-padding-micro);
                    border: var(--site-color-white) 2px solid;
                    border-radius: var(--site-border-radius-tiny);
                }

        .eventsByMonth .button {
            width: 100%;
            margin: 0;
            padding: 4px 10px;
            font-size: var(--site-font-size-small);
            line-height: 25px;
            border: var(--site-color-white) 2px solid !important;
        }

        .eventsByMonth .button:hover {
            background-color: var(--site-spot-color-2) !important; 
        }

@media screen and (max-width: 600px) {

    .eventsByMonth fieldset.calendarToolbar ul.formFields {
        display: block !important;
    }

    .eventsByMonth fieldset.calendarToolbar .fieldContainer.buttonField {
        width: 100%;
        padding-top: 5px;
    }

    .eventsByMonth fieldset.calendarToolbar .fieldContainer.dropdownField {
        width: 50%;
    }

}

/* These template spots are always thin... */

body.Template_threecols1 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar,
body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar,
body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar,
body.Template_threecols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar {
    border: 0;
    padding: 0;
    margin: 0 0 var(--site-margin-thinner);
    display: none;
}

    body.Template_threecols1 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar legend,
    body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar legend,
    body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar legend,
    body.Template_threecols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar legend {
        font-size: 155.6%; /* 14px/9px */
        padding: 0;
        margin: 0 0 var(--site-margin-thinnest);
    }

    body.Template_threecols1 #Secondary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer,
    body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer,
    body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer,
    body.Template_threecols1 #Tertiary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer {
        padding: 0;
        margin: 0;
        width: 100%;
        clear: both;
    }

        body.Template_threecols1 #Secondary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldTitle,
        body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldTitle,
        body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldTitle,
        body.Template_threecols1 #Tertiary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldTitle {
            display: none;
        }

        body.Template_threecols1 #Secondary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldContent,
        body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent,
        body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent,
        body.Template_threecols1 #Tertiary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldContent {
            width: 100%;
            max-width: 100%;
            padding: 0;
            background: transparent;
        }

            body.Template_threecols1 #Secondary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls,
            body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls,
            body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls,
            body.Template_threecols1 #Tertiary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls {
            }

                body.Template_threecols1 #Secondary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls select,
                body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls select,
                body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls select,
                body.Template_threecols1 #Tertiary .eventsByMonth.calendar  fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls select {
                }

                body.Template_threecols1 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls .button,
                body.Template_twocols2 #Secondary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls .button,
                body.Template_twocols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls .button,
                body.Template_threecols1 #Tertiary .eventsByMonth.calendar fieldset.calendarToolbar .fieldContainer .fieldContent .fieldControls .button {
                    line-height: 34px;
                }

/* 
    Upcoming Events Widget
*/

.upcomingEvents {
}

    .upcomingEvents .item.event {
    }
