/* calendar.css overrides */

:root .calendar-head {
    margin:0 0 1.5em;
}

    :root .calendar-head h2 {
        margin-top: 0;
        border-bottom: none;
        padding-bottom: 0;
        line-height: 1.1;
    }

    @media (max-width:650px) {
        :root .calendar-head>h2>span {
            margin: 0;
        }
    }

:root .calendar-day {
    border:none;
    padding:0;
    margin:0 0 .5em;
}

    @media (min-width:650px) {

        :root .calendar-day {
            padding:0 .5em 0 0;
            overflow: visible;
        }

            :root .calendar-day:last-child {
                padding:0;
            }

        :root .calendar-day>header {
            background: #fff;
            margin:0 -.5em .25em 0;
            padding: .25em;
            border-bottom: none;
        }
    }


:root .calendar-day-events {
    height: auto;
}


/* Broad rules */

.events-calendar a {
    text-decoration:none;
}


/* Week / Day containers */

@media (min-width:651px) {
    .calendar-week {
        margin:0 0 1em;
        border-bottom: 2px solid #CCC;
    }
}

@media (max-width:650px) {

    .calendar-week, .calendar-day {
        display:-ms-flexbox;
        display:-webkit-flex;
        display:flex;
        -ms-flex-align: end;
        -webkit-align-items: flex-end;
        align-items: flex-end;
        -ms-flex-wrap:wrap;
        -webkit-flex-wrap:wrap;
        flex-wrap:wrap;
    }

        @media (max-width:320px) {
            .calendar-week {
                -ms-flex-align: center;
                -webkit-align-items: center;
                align-items: center;
                -ms-flex-direction: column;
                -webkit-flex-direction: column;
                flex-direction: column;
            }
        }

        :root .calendar-day {
            width:100%;
            margin:0 0 1.5em;
        }

            .calendar-day.no-events {
                display:none;
            }

    :root .calendar-day > header {
        width:100%;
        margin: 0;
    }

}

.calendar-day h3 {
    margin: 0;
    padding: 0;
    font-size: 1.5em;
    font-weight:normal;
    border-bottom: none;
}
    
    @media (max-width:650px) {

        .calendar-day h3 {
            margin:0 0 .25em;
        }
    }

    .calendar-day-name {
        font-size:.7em;
        text-transform:uppercase;
    }

    .calendar-today h3 {
        font-weight:bold;
    }

    .calendar-past h3 {
        font-weight:100;
    }



/* Event box */

.aaec-calendar-event {
    margin:0 0 .5em;
    overflow: hidden;
}

    @media (max-width:650px) {
        .aaec-calendar-event {
            margin-bottom: .5em;
            overflow:hidden;
            width: 100%;
        }
    }

    .aaec-calendar-event:last-of-type {
        margin:0;
    }

    .aaec-calendar-event-time, .aaec-calendar-event a {
        display: block;
    }

/* Generic / Community Crowd Sourced Event */

        .aaec-calendar-event a {
			background: #788920;
            color: #fff;
            font-size:.9em;
            word-break: break-word;
            line-height:1.3;
            position:relative;
            overflow: hidden;
            padding: .35em .5em .5em;
            transition:opacity 60ms linear;
        }

            .calendar-past .aaec-calendar-event a {
                opacity:.5;
            }

            .aaec-calendar-event a:hover {
                color: #FFF;
            	background-color: #555;
                opacity:1;
            }


/* Colour Coded Links based on Event Category */
/* FLOW */

.aaec-calendar-cat-flow a {
	background-color: #005f82;
	color:#FFF;
}

.aaec-calendar-cat-flow a:hover {
	background-color: #000;
	color:#FFF;
}

/* Landholder */

.aaec-calendar-cat-land-holder a {
	background-color: #c08f23;
	color:#11363d;
}

.aaec-calendar-cat-land-holder a:hover {
	background-color: #000;
	color:#FFF;
}

        .aaec-calendar-event-time {
            margin:0 0 .15em;
            font-weight:bold;
            font-size:1.1em;
        }

        .aaec-calendar-event-thumbnail, .aaec-calendar-event-thumbnail img {
            display:block;
        }

            .aaec-calendar-event-thumbnail {
                margin:-.35em -.5em .5em;
            }



/* Single event */

#aaec-map {
    height: 22em;
    width: 100%;
    
}

.event-times,
.event-times tr,
.event-times td,
.event-times th {
    border: none;
}

    .event-times {
        width:100%;
    }

    .event-times tr {
        display:table-row;
    }

    .event-times td, .event-times th {
        padding:0 1em .5em 0;
        display:table-cell;
    }


@media (min-width:750px) {
    .event-details__aside {
        max-width:100%;
        width:22em;
        background: #EEE;
        padding: 15px 3% 10px;
        border-radius: 1em
    }
    
    .event-details {
        display:-webkit-flex;
        display:flex;
    }

        .event-details__content {
            margin-right:2em;
            -webkit-flex: 1 1 auto;
            flex: 1 1 auto;
        }

        .event-details__aside {
            -webkit-flex:0 0 auto;
            flex:0 0 auto;
        }

}

.events-calendar {
        padding: 10px 3% 10px;
        background: #eee;
        border-radius: 1em;
        margin:20px auto 20px;
    }


@media (min-width: 750px) {

    .events-calendar {
        position: relative;
    }

}


@media (min-width: 651px) {

    header.calendar-head {
        text-align: center;
    }

}

@media (max-width:750px) {
    
    .event-details {
        display: flex;
        flex-flow: row wrap;
    }
    
    .event-details__content, .event-details__aside {
        width:100%;
    }
    
    .event-details__content {
        order:2;
    }
     
}


#EventDisclaimer {
	font-size: 11px;
    text-align: center;
    margin-top:30px;
}


page-template-template-events .aaec-category-select-wrap {
	display:none!important;
}

h1.event-title-heading {
    display: block;
    width:100%;
    max-width: 65%;
}

@media (max-width:750px) {
    
    h1.event-title-heading {
        max-width: 100%;
        margin-bottom: 15px!important;
    }
    
    
}

h2.c-aside-box__title {
    margin-top:0;
}


.flex-containers {
    display: flex;
    flex-wrap: nowrap;

}


.flex-containers .conimg {
    width: 300mm;
    margin: 10px;
    text-align: center;


}

.flex-containers .contents {
    margin: 10px;
    text-align: left;
}