@charset "UTF-8";

/* RESET */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type=hidden]{
	visibility:hidden;
	}
/* slightly enhanced, universal clearfix hack */
.clearfix:after{
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
	}
.clearfix{
	display:inline-block;
	}
/* start commented backslash hack \*/
* html .clearfix{
	height:1%;
	}
.clearfix{
	display:block;
	}
/* stop commented backslash hack */	

/* SITE STYLES */

body,input,textarea,select{
	font-size:100%;
	font-family:'Cabin',Arial,sans-serif;
	}

html{
	
	}

body{
	background-color:#fff;
	color:#0b0c0c;
	}
	
/* Structure */
	
header,
div.breadcrumbs,
section.search,
section.intro,
section.upcoming,
section.content,
footer{
	}
header .container,
div.breadcrumbs .container,
section.search .container,
section.intro .container,
section.content .container,
section.upcoming .container,
footer .container{
	max-width:1400px;
	padding:2em;
	margin:0 auto;
	box-sizing:border-box;
	}
	
/* Main */

header{
	background-color:#0b0c0c;
	color:#fff;
	}
	header .container{
		padding-top:2.25em;
		padding-bottom:2.25em;
		position:relative;
		}
	header .logo{
		}
		header .logo a{
			color:#fff;
			text-decoration:none;
			font-size:2em;
			line-height:1.25em;
			text-transform:uppercase;
			font-weight:600;
			}
	header .logo #termdateslogo{
		position:relative;
		top:3px;
		display:inline-block;
		height:1em;
		margin-right:0.25em;
		}
		header .logo #termdateslogo rect,
		header .logo #termdateslogo path{
			fill:#ffffff;
			}
	header .term-dates-responsive{
		float:right;
		margin:0 !important;
		}			

div.breadcrumbs{
	background:#272f33;
	color:#cccccc;
	}
	div.breadcrumbs .container{
		padding-top:1em;
		padding-bottom:1em;
		}
	div.breadcrumbs ul{
		
		}
		div.breadcrumbs ul li{
			display:inline-block;
			line-height:1.5em;
			}
			div.breadcrumbs ul li a{
				text-decoration:none;
				}
			div.breadcrumbs ul li i{
				margin:0 0.5em;
				}
			div.breadcrumbs ul li i.fa-level-up{
				display:none;
				}
	div.breadcrumbs a{
		color:#cccccc;
		}
	div.breadcrumbs a:hover{
		color:#ffffff;
		}
		
section.content{
	}
	section.content .container{
		padding-bottom:2em;
		}

.columns{
	margin-left:-0.5em;
	margin-right:-0.5em;
	margin-bottom:2em;
	}
	.columns:last-child{
		margin-bottom:0;
		}
	.columns > *{
		float:left;
		box-sizing:border-box;
		margin:0 0.5em;
		}
	.columns.twocolumn > *{
		width:calc(50% - 1em);
		}	
	.columns.threecolumn > *{
		width:calc(33.33333333% - 1em);
		}	
		.columns.threecolumn > *.doublecolumn{
			width:calc(66.66666666% - 1em);
			padding-right:2em;
			}		
	.columns.fourcolumn > *{
		width:calc(25% - 1em);
		}
	.columns.fourcolumn > *.doublecolumn{
		width:calc(50% - 1em);
		}
	.columns.fourcolumn > *:nth-child(1){
		}

.ui-helper-hidden-accessible{
	display:none;	
	}	

section.search{
	padding:2em 0;
	color:#ffffff;
	margin-bottom:2em;
	}	
	section.search h1{
		font-size:2em;
		font-weight:600;
		text-align:center;
		margin-bottom:2em;
		}
	section.search form{
		position:relative;
		}
		section.search form label{
			display:block;
			font-size:1.25em;
			margin-bottom:1em;
			}
		section.search form button{
			display:block;
			float:right;
			background-color:#0b0c0c;
			color:#fff;
			line-height:normal;
			height:50px;
			padding:0.5em;
			width:50px;
			box-sizing:border-box;
			border:none;
			text-align:center;
			cursor:pointer;
			}
			section.search form button:hover{
				background:#C8A564;
				}
		section.search form input{
			display:block;
			float:left;
			line-height:normal;
			height:50px;
			padding:0.5em 1em;
			width:calc(100% - 50px);
			box-sizing:border-box;
			border:none;
			border:3px solid #ffffff;
			outline:none;
			}
		section.search form input:focus{
			border:3px solid #C8A564;
			}
		section.search form fieldset{
			position:relative;
			}
		section.search form fieldset ul.ui-autocomplete{
			position:absolute;
			left:0;
			right:0;
			top:calc(100% - 3px) !important;
			width:calc(100% - 50px) !important;
			border:3px solid #C8A564;
			border-top:none;
			box-sizing:border-box;
			}
			section.search form fieldset ul.ui-autocomplete li{
				padding:0.5em 1em;
				line-height:1.5em;
				background:#ffffff;
				color:#0b0c0c;
				cursor:pointer;
				}
			section.search form fieldset ul.ui-autocomplete li:hover,
			.ui-state-focus,
			.ui-state-hover{
				background-color:rgb(200,200,200);
				}
				section.search form fieldset ul.ui-autocomplete li span.description{
					display:block;
					font-size:0.9125em;
					color:rgba(0,0,0,0.5);
					}
	
section.intro{
	padding:1em;
	color:#ffffff;
	}
	section.intro h1{
		font-size:2em;
		font-weight:600;
		margin-bottom:1em;
		}	
	section.intro p{
		font-size:1.25em;
		line-height:1.5em;
		margin-bottom:1rem;
		max-width:50em;
		}
	section.intro *:last-child{
		margin-bottom:0;
		}
	
section.upcoming .container{
	padding-bottom:0;

	}
	section.upcoming .container > div{
		color:#ffffff;
		padding:2em;
		text-align:center;
		}
	section.upcoming h2{
		font-size:2em;
		font-weight:600;
		}	
	section.upcoming p{
		font-size:1em;
		line-height:1.5em;
		margin-bottom:1rem;
		}
	section.upcoming *:last-child{
		margin-bottom:0;
		}
		
section.map{
	position:relative;
	border-top:5px solid #ffffff;
	border-bottom:5px solid #ffffff;
	}
	section.map h3{
		position:absolute;
		top:0;
		left:0;
		padding:0.5em;
		background:rgba(255,255,255,0.5);
		z-index:10;
		}
	section.map #gmap{
		height:50vh;
		}
	
.infobox{
	padding:1.5em 2em;
	background:rgba(0,0,0,0.125);
	margin-bottom:2em;
	}
	
.noticebox{
	padding:1.5em 2em;
	}
	.noticebox p:last-child{
		margin-bottom:0;
		}
	
.academicyear{
	margin-bottom:3em;
	}
	
table.datelist{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	}
	table.datelist thead th{
		color:#fff;
		padding-top:1em;
		padding-bottom:1em;
		}
	table.datelist th,
	table.datelist td{
		padding:0.75em;
		}
	table.datelist th{
		text-align:left;
		font-weight:bold;
		}
	table.datelist tbody th{
		background:rgba(0,0,0,0.15);
		}
	table.datelist tbody td{
		background:rgba(0,0,0,0.05);
		}
	table.datelist tbody td{
		padding-right:1em;
		}
	table.datelist tbody tr:hover{
		background-color:rgba(0,0,0,0.1);
		}
	table.datelist td .dayname{
		color:rgba(0,0,0,0.5);
		font-size:0.8125em;
		}
	table.datelist tbody tr:nth-child(even) th{
		background:rgba(0,0,0,0.125);
		}
	table.datelist tbody tr:nth-child(even) td{
		background:rgba(0,0,0,0.025);
		}
	
/* CMS Content */
.cmscontent h1,
.cmscontent h2,
.cmscontent h3,
.cmscontent h4,
.cmscontent h5,
.cmscontent h6{
	margin-bottom:1em;
	line-height:1.5em;
	}
.cmscontent h1{
	font-size:2em;
	font-weight:600;
	}
.cmscontent h2{
	font-size:1.5em;
	font-weight:600;
	margin-bottom:0.5em;
	}
.cmscontent h3{
	font-size:1.25em;
	}
.cmscontent h4{
	}
.cmscontent h5{
	}
.cmscontent h6{
	}
.cmscontent a{
	
	}
.cmscontent p{
	margin-bottom:1em;
	line-height:1.5em;
	}
	.cmscontent p.note{
		padding:.5em 1em;
		background:rgba(0,0,0,0.125);
		}
.cmscontent strong{
	font-weight:600;
	}
.cmscontent blockquote{
	}
.cmscontent ul{
	list-style-type:disc;
	margin-left:2em;
	margin-bottom:1em;
	}
	.cmscontent ul ul{
		list-style-type:circle;
		margin-left:1em;
		margin-bottom:0.5em;
		}
.cmscontent li{
	line-height:1.5em;
	}
.cmscontent ol{
	list-style-type:decimal;
	margin-left:2em;
	margin-bottom:1em;
	}
.cmscontent img.alignleft, .cmscontent img.aligncenter, .cmscontent img.alignright{
	display:block;
	padding:5px;
	}	
.cmscontent img.alignleft{
	float:left;
	margin:0 10px 10px 0;
	}
.cmscontent img.aligncenter{
	margin:0 auto 10px auto;
	}
.cmscontent img.alignright{
	float:right;
	margin:0 0 10px 10px;
	}
.cmscontent table{
	margin-bottom:1em;
	}
	.cmscontent table + h3{
		margin-top:1.5rem;
		}
	
p.rsslink{
	float:right;
	}
p.date{
	float:right;
	}

ul.longlist{
	margin-left:0;
	}
ul.longlist li{
	text-overflow:ellipsis;
	white-space:nowrap;
	overflow:hidden;
	list-style-type:none;
	margin-left:0;
	margin-bottom:0.5em;
	padding-right:2em;
	}

.exception{
	font-family:monospace;
	}
	.exception h1,
	.exception h2,
	.exception p{
		margin-bottom:1em;
		line-height:1.25em;		
		}
	.exception ol.trace {
		margin-bottom:1em;
		}
		.exception ol.trace li{
			list-style-type:decimal;
			margin-left:2em;
			line-height:1.25em;
			margin-bottom:0.5em;
			}
		.exception ol.trace li span.file{
			opacity:0.75;
			}

/* Forms */
.container form.standard{
	}
	.container form.standard fieldset{
		}
	.container form.standard fieldset.continued{
		padding-bottom:0;
		margin-bottom:0;
		border-bottom:0;
		}		
	.container form.standard fieldset.continuation{
		padding-top:0;
		margin-top:0;
		border-top:0;
		}		
	.container form.standard fieldset.submit {
		}
	.container form.standard legend{
		margin-bottom:0.5em;
		}
	.container form.standard p{
		margin-bottom:0.75em;
		}
	.container form.standard p.error{
		color:#f00;
		}
	.container form.standard p.success{
		}
	.container form.standard p.information{
		}
	.container form.standard .text input,
	.container form.standard .text textarea,
	.container form.standard .select select{
		width:200px;
		border:1px solid #949699;
		padding:3px;
		}
	.container form.standard .text input.short{
		}
	.container form.standard .text input.button{
		}
	.container form.standard .select select{
		}		
	.container form.standard .text input:hover,
	.container form.standard .text textarea:hover,
	.container form.standard .text input:focus,
	.container form.standard .text textarea:focus,
	.container form.standard .select select:hover,
	.container form.standard .select select:focus{
		border:1px solid #000;
		}
		
	.container form.standard .text label,
	.container form.standard .submit label,
	.container form.standard .select label{
		display:block;
		width:160px;
		float:left;
		padding:4px 0;
		}
		.container form.standard label.required:before{
			content:"* ";
			color:#f00;
			font-weight:bold;
			}
	.container form.standard .forgot{
		margin-top:4em;
		font-size:0.75em;
		}
	.container form.standard .submit input{
		padding:8px 16px;
		text-transform:uppercase;
		margin-left:158px;
		}
		.container form.standard .submit input:hover{
			}
	section.content form.standard .checkbox input{
		margin-left:160px;
		}
	section.content form.standard .checkbox label{
		}
	/* Anti Spam Field - should not be shown to humans */ 
	form p.antis{
		display:none;
		}

#cookiepolicy{
	display:none;
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	text-align:center;
	line-height:20px;
	padding:20px;
	background-color:#6c276a;
	color:#eeeeee;
	box-sizing:border-box;
	font-size:14px;
	z-index:80;
	}
	#cookiepolicy a{
		text-decoration:none;
		display:inline-block;
		margin-left:1em;
		background-color:#eeeeee;
		color:#6c276a;
		border-radius:3px;
		font-weight:bold;
		padding:6px 12px;
		}
	#cookiepolicy a:hover{
		text-decoration:underline;
		}

/* Footer
*********************************************************/
footer{
	background-color:#dee0e2;
	border-top:10px solid #ffffff;
	}
	footer .container{
		}
	footer ul{
		float:left;
		}
		footer ul li{
			float:left;
			padding-right:10px;
			}
	footer p{
		float:right;
		}		
		
/* Responsive layout for <= Tablet */
@media screen and (max-width: 767px) {			
	
	header .container,
	div.breadcrumbs .container,
	section.search .container,
	section.intro .container,
	section.content .container,
	section.upcoming .container,
	footer .container{
		padding-left:1em;
		padding-right:1em;
		}
	header .term-dates-responsive{
		position:static;
		width:100%;
		height:auto;
		margin-top:0.5em !important;
		}	
	.columns{
		margin-left:0;
		margin-right:0;
		}
	div.breadcrumbs ul li{
		display:none;
		}
		div.breadcrumbs ul li:nth-last-child(2){
			display:block;
			}
		div.breadcrumbs ul li i.fa-angle-right{
			display:none;
			}
		div.breadcrumbs ul li i.fa-level-up{
			display:inline-block;
			}
	table.datelist td .dayname{
		display:none;
		}
	.columns.threecolumn > *,
	.columns.threecolumn > *.doublecolumn,
	.columns.fourcolumn > *{
		float:none;
		width:100%;
		margin:0 0 2em 0;
		}
	.columns.threecolumn.longlist > *{
		margin-bottom:0.5em;
		}
	.columns.threecolumn > *.doublecolumn{
		padding-right:0;
		}
	footer ul{
		display:none;
		}
		
}
