/* Table of Content
==================================================
	#Site Styles
	#Media Queries

/* #Site Styles
================================================== */

/* Wraps
-------------------------------------------------- */

	#headerWrap, #navWrap, #breadcrumbWrap, #sliderWrap, #mapWrap, #contentWrap, #footerWrap{
		width: 100%;
		position: relative;
	}
	
	#headerWrap {
		padding: 20px 0 0;
		background: #000;
		z-index: 501;
	}
	
	#navWrap {
		position: relative;
		background: #000;
		z-index: 501;
		/*border-bottom: 1px solid rgba(0,0,0,0.12);*/
		/*border-top: 1px dashed rgba(0,0,0,0.12);*/
	}
		#navWrap .twelve {
			padding: 0 0 11px;
		}
	
	#breadcrumbWrap {
		background: #f3f3f3;
		border-bottom: 1px solid rgba(0,0,0,0.08);
		padding: 15px 0 15px;
		z-index: 100;
	}
	
	#contentWrap {
		position: relative;
		background: #fff;
		padding: 65px 0 65px;
	}
		#contentWrap.hasHeader {
			padding: 0 0 55px;
		}
		
	#mapWrap {
		position: relative;
		background: #fff;
		padding: 55px 0 0;
	}
		#mapWrap .twelve {
			border-bottom: 1px solid rgba(0,0,0,0.08);
		}
		#mapWrap img {
			margin: 0 0 20px;
		}
		#mapWrap img, map area{
			outline: none;
		}
		
	#signupWrap {
		border-top: 1px solid rgba(0,0,0,0.08);
		padding: 45px 0 50px;
		background-color: #f1f1f1;
	}
        #signupWrap a.button.red {
            background-color: #d80032;
        }
	
	#footerWrap {
		padding: 35px 0 20px;
		background: #000;
	}
	
	.header {
		position: relative;
		padding: 30px 0 16px;
		border-bottom: 1px solid rgba(0,0,0,0.08);
		margin-bottom: 50px;
	}


/* Header
-------------------------------------------------- */

#logo span.epoa {
	display: block;
	float: right;
	width: 166px;
	height: 60px;
	background: url('../images/sprite.png') no-repeat -300px -120px;
	background-size: 500px 500px;
}

#logo h1 {
	font-family: 'MetaCompPro-Bold W01 Regular', Arial, Helvetica, sans-serif;
	font-size: 42px;
	line-height: 42px;
	letter-spacing: -2px;
	margin: 8px 0 32px;
}
	.panel #logo h1 {
		margin: 8px 0 12px;
	}
	#logo h1 a {
		color: #fff;
	}
		#logo h1 a:hover {
			color: #e40037;
		}
#logo h2 {
	font-family: 'MetaCompPro-Medium W01 Regular', Arial, Helvetica, sans-serif;
	color: #e40037;
	margin-bottom: 21px;
}

#logo form {
	margin: 0;
}

#login p {
	float: right;
	margin-top: 10px;
} 

#login p a {
	color: #fff;
}
	#login p a:hover {
		color: #999;
	}
#login .divider {
	color: #fff;
}
.search {
	width: 100%;
	vertical-align: middle;
	white-space: nowrap;
	position: relative;
}

.search input#search {
	width: 95%;
	max-width: 100%;
	background: rgba(255,255,255,1);
	border: none;
	float: left;
	color: #333;
	padding-left: 18px;
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 3px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	margin: 0;
	box-sizing: border-box;
}

.search button.icon {
	border-radius: 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	
	width: 5%;
	border: none;
	background: rgba(255,255,255,0.3);
	height: 46px;
	line-height: 0;
	color: #fff;
	font-size: 19px;
	margin: 0;
	
	-webkit-transition: all .25s ease;
	-moz-transition: all .25s ease;
	-ms-transition: all .25s ease;
	-o-transition: all .25s ease;
	transition: all .25s ease;
}

	.search:hover button.icon, .search:active button.icon, .search:focus button.icon{
		outline: none;
		background-color: rgba(255,255,255,0.5);
	}
 
	.search:hover button.icon:hover {
		background-color: rgba(255,255,255,0.5);
	}

.search ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #888;
}
.search ::-moz-placeholder { /* Firefox 19+ */
	color: #fff;
}
.search :-ms-input-placeholder { /* IE 10+ */
	color: #fff;
}
.search :-moz-placeholder { /* Firefox 18- */
	color: #fff;
}

/* sub navigation */

ul.subNav, ul.subNav li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.subNav {
	margin: 0 0 50px;
}
	
ul.subNav li a {
	font-size: 15px;
	display: block;
	padding: 10px 25px 10px 0;
	color: #222;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}
ul.subNav li:first-child a {
	border-top: 1px solid #ddd;
}

ul.subNav li a:after {
	display: block;
	content: "";
	float: right;
	background: url('../images/sprite.png') no-repeat -170px -100px;
	background-size: 500px 500px;
	width: 7px;
	height: 12px;
	margin-right: -15px;
	margin-top: 5px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

ul.subNav li a:hover::after {
		background: url('../images/sprite.png') no-repeat -150px -100px;
		background-size: 500px 500px;
        margin-right: -5px;
	}
	
ul.subNav li a.selected, ul.subNav li a.selected:hover {
	color: #000;
	background: #f3f3f3;
	padding: 10px 15px 10px 10px;
}
	ul.subNav li a.selected::after {
		background: url('../images/sprite.png') no-repeat -150px -100px;
		background-size: 500px 500px;
		width: 7px;
		height: 14px;
		margin-top: 5px;
        margin-right: -5px;
	}

ul.subNav li a:hover {
	background: #ddd;
	color: #000;
	padding: 10px 15px 10px 10px;
}


	/* sub sub */
		ul.subNav li ul {
			margin: 0;
		}
	
		ul.subNav li li a {
			text-transform: none;
			color: #555;
			background: #fafafa !important;
			display: block;
			padding-left: 20px;
			border-bottom: 1px solid #ccc;
		}
		ul.subNav li li a:hover {
			color: #000;
			border-bottom: 1px solid #ccc;
			padding-left:30px;
		}


/* Breadcrumb
-------------------------------------------------- */
	
	#breadcrumbWrap ul, #breadcrumbWrap li {
		list-style: none;
		padding: 0;
		margin: 0;
	}
			
	#breadcrumbWrap li {
		font-size: 14px;
		float: left;
		margin: 0;
		color: #000;
	}
			
	#breadcrumbWrap li a {
		color: #555;
	}
			
	#breadcrumbWrap li a:hover {
		color: #000;
	}


/* Map & results
-------------------------------------------------- */
		
#gMap {
	max-width: 100%;
	height: 500px;
	-moz-box-shadow: 0 0 1px rgba(0,0,0, 0.3);
	-webkit-box-shadow: 0 0 1px rgba(0,0,0, 0.3);
	box-shadow: 0 0 1px rgba(0,0,0, 0.3);
	margin-bottom: 40px;
}
		
		
/* Content
-------------------------------------------------- */

/* people */

.person * {
	-webkit-transition: all 0.15s ease-out !important;
	-moz-transition: all 0.15s ease-out !important;
	-o-transition: all 0.15s ease-out !important;
	transition: all 0.15s ease-out !important;
}
.person {
	margin-bottom: 10px;
	padding-bottom: 5px;
	text-align: center;
	border-bottom: 1px solid #ddd;
}
.person img {
	margin-bottom: 15px;
}
.person h3 {
	margin-bottom: 5px;
	color: #e40037
}
.person p {
	color: #333;
}
.person a {
	display: block;
}
	.person a:hover h3 {
		color: #333;
	}

	
/* video embed */

.embedVideo {
	position: relative;
	padding-bottom: 56.25%; /* 16/9 ratio */
	padding-top: 0; /* IE6 workaround*/
	height: 0;
	overflow: hidden;
	margin-bottom: 20px;
}

.embedVideo iframe,
.embedVideo object,
.embedVideo embed,
.embedVideo video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.intro {
	margin-bottom: 50px;
}


/* gallery */

.guideItem, .guideItem * {
	position: relative;
	overflow: hidden;
}

.guideItem, .guideItem img, .guideItem h3::after {
	-webkit-transition: all 0.15s ease-out !important;
	-moz-transition: all 0.15s ease-out !important;
	-o-transition: all 0.15s ease-out !important;
	transition: all 0.15s ease-out !important;
}
.guideItem {
    /*background: #f3f3f3;*/
    padding-bottom: 18px;
    background: #fff;
    /*margin-bottom: 40px;*/
    margin-bottom: 20px;
    /*-webkit-border-radius: 0px 0px 10px 10px;
    -moz-border-radius: 0px 0px 10px 10px;
    border-radius: 0px 0px 10px 10px;*/
}
	.guideItem:hover {
		background: #e1e1e1;
	}

.guideItem a {
	display: block;
	color: #222;
}

.guideItem figure {
	background: #fff;
	margin-bottom: 0;
}
.people .guideItem figure {
	aspect-ratio: 1 / 1;
}

.guideItem img {
	position: relative;
	margin-bottom: 0;
	z-index: 1;
	display: block;
	/*padding-bottom: 10px;*/
}

	.guideItem:hover img {
		-webkit-filter: brightness(1.08);
  		filter: brightness(1.08);
	}

.guideItem p.desc {
	font-size: 13px;
	line-height: 19px;
	padding: 0 19px;
	margin-bottom: 5px;
	z-index: 11;
}
.guideItem h3 {
	font-family: 'MetaCompPro-Bold W01 Regular', Arial, Helvetica, sans-serif;
	font-size: 18px;
	line-height: 26px;
	z-index: 12;
	color: #000;
	padding: 16px 20px 0;
	margin: 0 0 10px;
}
	.guideItem h3::after {
		content: "";
		display: block;
		float: right;
		width: 22px;
		height: 22px;
		border-radius: 50%;
		background: rgba(255,255,255,0) url('../images/sprite.png') no-repeat -192px -95px;
		background-size: 500px 500px;
	}
		.guideItem:hover h3::after {
			background: rgba(255,255,255,1) url('../images/sprite.png') no-repeat -192px -95px;
			background-size: 500px 500px;
			transform: rotate(90deg);
		}

/* call out box */

.timeRow {
    border-top: 1px dashed #ccc;
    padding-top: 15px;
    margin-bottom: 20px;
    clear: both;
}
    .timeRow h3 {
        color: #777;
        text-transform: uppercase;
        font-size: 1em;
        margin: 0;
    }
.callOut {
    position: relative;
	background: #e9e9e9;
    border: 1px solid #ccc;
	padding: 20px 20px 2px 24px;
	margin-bottom: 20px;
	box-sizing: border-box;
}
    .callOut.flow::after {
        content: "";
        position: absolute;
        display: block;
        height: 1px;
        width: 20px;
        background: #ccc;
        top: 50%;
        right: -21px;
    }
    .callOut.flow.down::after {
        height: 21px;
        width: 1px;
        background: #ccc;
        top: auto;
        right: 50%;
        bottom: -21px;
    }
    .callOut.required {
        background: rgba(228, 0, 55, 0.15);
        border: 1px solid rgba(228, 0, 55, 0.2);
    }
	.callOut h3 {
		font-size: 22px;
		line-height: 30px;
		margin-bottom: 15px;
	}
    .callOut h4 {
        margin-bottom: 5px;
    }
	.callOut ul.linklist li.tel::before {
		background: url('../images/sprite.png') no-repeat -200px -100px;
	}
	.callOut ul.linklist li.email::before {
		background: url('../images/sprite.png') no-repeat -250px -100px;
	}
	.callOut ul.linklist li.fax::before {
		background: url('../images/sprite.png') no-repeat -300px -100px;
	}

/* dates */

.dateBlock, .dateBlock * {
    box-sizing: border-box;
    text-align: center !important;
    white-space: nowrap;
}
.dateBlock {
    margin-bottom: 20px;
}
.dateBlock span {
    display: block;
    width: 100%;
    font-family:'MetaCompPro-Bold W01 Regular', Arial, Helvetica, sans-serif;
}
.dateBlock .year {
    background: #e40037;
    color: #fff;
    font-size: 25px;
    line-height: 30px;
    padding: 10px 15px 18px;
    border-radius: 4px 4px 0 0;
}
.dateBlock .day {
    background: #fff;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    font-size: 34px;
    line-height: 34px;
    color: #777;
    text-transform: uppercase;
    padding: 15px 15px 0;
}
.dateBlock .date {
    background: #fff;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    font-size: 50px;
    line-height: 40px;
    color: #222;
    padding: 0 15px 30px;
}
.dateBlock .book {
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    padding: 0 5px 15px;
    border-radius: 0 0 4px 4px;
    font-size: 1em;
}
.dateBlock p {
    margin-bottom: 0;
}

    .dateBlock.booked .date,
    .dateBlock.booked .day,
    .dateBlock.booked .book {
        background: #f5f5f5;
        color: #777;
    }
    .dateBlock.booked .year {
        background: #999;
        color: #fff;
    }
	
		
/* Footer
-------------------------------------------------- */

#goTop a {
	display: block;
	background: url('../images/sprite.png') no-repeat 0 -75px;
	background-size: 500px 500px;
	width: 32px;
	height: 32px;
	margin: 0 auto;
}

#goTop a:hover {
	display: block;
	background: url('../images/sprite.png') no-repeat 0 -107px;
	background-size: 500px 500px;
}

#footerWrap ul, #footerWrap li {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

#footerWrap li {
	font-size: 15px;
	margin: 0 0 3px;
}

#footerWrap p {
	font-size: 15px;
	color: #999;
	line-height: 23px;
	margin-right: 0;
}

#footerWrap a {
	text-decoration: none;
	color: #fff;
}

#footerWrap a:hover {
	color: #e40037;
}

#epoa {
	display: block;
	width: 166px;
	height: 60px;
	background: url('../images/sprite.png') no-repeat -300px -120px;
	background-size: 500px 500px;
	margin-bottom: 20px;
}

#lockLogo {
	display: block;
	width: 120px;
	height: 58px;
	background: url('../images/sprite.png') no-repeat -100px 0;
	background-size: 500px 500px;
	margin-bottom: 20px;
}


/* #Media Queries
================================================== */

	@media only screen and (min-width: 1280px) and (max-width: 1480px) {		
		#logo h1 {
			font-size: 36px;
			line-height: 36px;
			margin: 9px 0 35px;
		}
	}
	
	/* standard desktop and below  */
	@media only screen and (max-width: 1279px)  {

		#epoa,
		#logo span.epoa {
			width: 120px;
			height: 43px;
			background: url('../images/sprite.png') no-repeat -217px -86px;
			background-size: 361px 361px;
		}
		
		#logo h1 {
			font-size: 28px;
			line-height: 28px;
			margin: 4px 0 27px;
		}
			.panel #logo h1 {
				margin-bottom: 5px;
			}
		
		#login p {
			font-size: 13px;
			line-height: 20px;
		} 
		
		.search input#search {
			height: 40px;
			width: 93%
		}
		
		.search button.icon {
			height: 40px;
			line-height: 10px;
			font-size: 16px;
			width: 7%
		}
        .callOut p, .callOut li {
            font-size: 14px;
            line-height: 22px;
        }
		
	}

	/* Tablet Landscape size to wide monitor  */
	@media only screen and (min-width: 960px) and (max-width: 1279px) {
		
		h1 {
			font-size: 24px;
			line-height: 32px;
		}
		h2 {
			font-size: 20px;
			line-height: 28px;
		}
			h2.searchTitle {
				font-size: 17px;
				line-height: 25px;
			}
		h3 {
			font-size: 16px;
			line-height: 24px;
		}
		
		input[type="text"],  input[type="password"],  input[type="email"],  textarea,  select {
			width: 280px;
		}
		
		#navWrap .twelve {
			padding: 15px 0 11px;
		}
		
		.guideItem {
			padding-bottom: 14px;
		}
		
		.guideItem h3{
			font-size: 16px;
			line-height: 22px;
			padding: 13px 20px 0;
		}

	}

	/* Tablet Portrait size to standard 960  */
	@media only screen and (min-width: 768px) and (max-width: 959px) {
		
		body {
			font-size: 15px;
			line-height: 21px;
		}
		
		h1 {
			font-size: 24px;
			line-height: 32px;
		}
		h2 {
			font-size: 20px;
			line-height: 28px;
		}
			h2.searchTitle {
				font-size: 17px;
				line-height: 25px;
			}
		h3 {
			font-size: 16px;
			line-height: 24px;
		}
		
		blockquote, blockquote p {
			font-size: 22px;
			line-height: 29px;
		}
		
		.no-mob-all{
			display: none !important;
		}
		.mob-only-all {
			display: block !important;
		}
		.no-tab {
			display: none !important;
		}
		.tab-only {
			display: block !important;
		}
		
		.matchLabel {
			margin-left: 0 !important;
		}
		#epoa,
		#logo span.epoa {
			width: 108px;
			height: 39px;
			background: url('../images/sprite.png') no-repeat -195px -79px;
			background-size: 325px 325px;
		}
		
		#logo h1 {
			margin: -2px 0 20px;
		}
		.panel #logo h2 {
			margin-bottom: 30px;
		}
		.search input#search {
			width: 75%;
			margin-bottom: 12px;
		}
		
		#navWrap .twelve {
			padding: 0;
		}
		
		#breadcrumb ul {
			margin: 0;
		}
		
		#contentWrap {
			padding: 45px 0 45px;
		}
				
		ul.subNav li a {
			font-size: 14px;
		}
		
		ul.tabNavigation li {
			margin: 0 4px -1px 0;
		}
		
		ul.tabNavigation li a {
			font-size: 12px;
			padding: 8px 6px 7px;
		}
		
		.guideItem {
			margin-bottom: 20px;
		}
		
		.guideItem h3 {
			font-size: 15px;
			line-height: 21px;
			margin-bottom: 0;
		}
		
		.guideItem p.desc {
			display: none;
		}
		
	}

	/* All Mobile Sizes  */
	@media only screen and (max-width: 767px) {
		
		/* top bar
		-------------------------------------------------- */
		
		.no-mob, .no-mob-all {
			display: none !important;
		}
		.mob-only, .mob-only-all {
			display: block !important;
		}
		
		h1 {
			font-size: 24px;
			line-height: 32px;
		}
		h2 {
			font-size: 20px;
			line-height: 28px;
		}
			h2.searchTitle {
				font-size: 17px;
				line-height: 25px;
			}
		h3 {
			font-size: 16px;
			line-height: 24px;
		}
		
		p.lead {
			font-size: 16px;
			line-height: 24px;
		}
        p.feedback {
            text-align: left;
        }
		blockquote, blockquote p {
			font-size: 22px;
			line-height: 29px;
		}
		
		hr {
			padding-top: 20px;
			margin: 0 0 30px !important;
		}
		
		#mainContent img {
			max-width: 100%;
		}
		
		table th, table td {
			font-size: 13px;
		}
		
		.matchLabel {
			margin-left: 0 !important;
		}
		
		#headerWrap {
			padding: 11px 0 2px;
		}
		
		#navWrap .twelve {
			padding: 0;
		}
		#epoa,
		#logo span.epoa {
			width: 80px;
			height: 30px;
			background: url('../images/sprite.png') no-repeat -145px -58px;
			background-size: 241px 241px;
			margin-bottom: 10px;
		}
		.panel #logo > .ten.alpha,
		#logo > .five.alpha {
			width: calc(100% - 80px);
		}
		#login {
			width: 80px;
		}
		#logo .two.omega {
			width: 80px
		}
		#logo h1 {
			font-size: 26px;
			line-height: 26px;
			margin: 0 0 15px;
		}
		.panel #logo h1 {
			margin: 0 0 6px;
		}
		#login p {
			display: none;
		} 
		
		.search input#search {
			width: 55%;
			margin-bottom: 12px;
		}
		
		.search button.icon {
			width: 15%
		}
		
		#contentWrap {
			position: relative;
			padding: 40px 0 40px;
		}
		
		#mapWrap img {
			margin: 10px 0 10px;
		}
		
		#breadcrumb ul {
			margin: 0;
		}
		
		.header {
			position: relative;
			padding: 11px 0 10px;
			margin-bottom: 50px;
		}
		
		ul.subNav li a.selected::after {
			background: url('../images/sprite.png') no-repeat -150px -100px;
			background-size: 500px 500px;
			width: 11px;
			height: 14px;
			margin-top: 1px;
			margin-right: 8px;
			transform: rotate(-90deg);
		}
		
		.guideItem {
			margin-bottom: 20px !important;
			border-bottom: 1px solid rgba(0,0,0,0.1);
		}
		
		.guideItem h3{
			font-size: 16px;
			line-height: 22px;
			margin-bottom: 0;
		}
		
		#footerWrap hr {
			padding-top: 15px;
			border-color: #555;
		}
		
		#footerWrap li {
			font-size: 14px;
		}
		
		#footerWrap p {
			font-size: 14px;
			line-height: 20px;
		}
		
		#lockLogo {
			display: block;
			width: 200px;
			height: 53px;
			background: url('../images/sprite.png') no-repeat 0 0;
			background-size: 450px 450px;
		}

        .callOut.flow::after {
            height: 20px;
            width: 1px;
            background: #ccc;
            bottom: -21px;
            top: auto;
            right: 50%;
        }
		
	}

	/* Mobile Landscape Size to Tablet Portrait  */
	@media only screen and (min-width: 480px) and (max-width: 767px) {
		#gMap {
			height: 360px
		}
		.guideItem h3::after {
			display: none;
		}
		.guideItem p.desc {
			margin-bottom: 20px;
		}

	}

	/* Mobile Portrait Size to Mobile Landscape Size  */
	@media only screen and (max-width: 479px) {
		
		.no-mob-p {
			display: none !important;
		}
		
		.mob-only-p {
			display: block !important;
		}
		
		#logo h1 {
			font-size: 22px;
			line-height: 22px;
			margin: 0 0 15px;
		}
		#logo h2 {
			font-size: 14px;
			line-height: 22px;
		}
		#gMap {
			height: 300px
		}
		
		.guideItem h3{
			padding: 15px 18px;
			margin-bottom: 0;
		}
		
	}
	
	
	@media print {
		
		#logo h1 {
			color: #000 !important;
		}
		
		#headerWrap, #contentWrap {
			padding: 0;
		}
		
		#contentWrap {
			padding-top: 1cm;
		}
		
		#headerWrap .one,
		#headerWrap .eleven form,
		#navHolder,
		#sideBar,
		#mainContent nav,
		#signupWrap,
		#footerWrap						{ display: none; }
	  
	}
