/* Generic formatting */
.contacts:after, .contacts .contact:after, .contacts .contact .contact-inner:after, .contacts.Details .details-grid .contact .loadContact .profile:after {
	clear: both;
	content: '';
	display: block;
}
.contacts .contact a {
	word-break: break-all;
}
.hidecontacts .contact {
	display: none;
}
.contacts:not(.overlay) .contact h2, .contacts .details-contact .details-content h2 {
	font-size: 1.9em;
}
.contacts:not(.overlay) .contact h3, .contacts .details-contact .details-content h3 {
	color: #555;
	font-size: 1.4em;
	font-style: italic;
	margin: 0;
}
.contacts:not(.overlay) .contact h5, .contacts .details-contact .details-content h5 {
	color: #777;
	margin: 5px 0 15px;
}
.contacts:not(.overlay) .contact p, .contacts .details-contact .details-content p {
	margin: 15px 0 0;
}
.contacts:not(.overlay) .contact ul, .contacts .details-contact .details-content ul {
	margin: 10px 0 0;
}
.contacts:not(.overlay) .contact ul li, .contacts .details-contact .details-content ul li {
	display: inline-block;
	list-style-type: none;
	margin: 5px 20px 0 0;
}
.contacts:not(.overlay).centred .contact ul li {
	margin: 5px 10px 0;
}
.contacts:not(.overlay):not(.centred) .contact ul li:last-child {
	margin-right: 0;
}
.contacts:not(.overlay) .contact ul li .fa, .contacts .details-contact .details-content ul li .fa {
	color: #264A72;
	margin-right: 5px;
}
.contacts .details-contact .details-content {
	background: #eee;
	padding: 30px;
}
.contacts .details-contact .details-content h2 {
	margin-top: 0;
}
/* Grid */
.contacts.Grid, .contacts.masonry {
	margin: 0 -15px;
}
.contacts.Grid .contact, .contacts.Details .contact {
	float: left;
	padding: 15px;
}
.contacts.Grid .contact.w25:nth-child(4n-3), .contacts.Grid .contact.w33:nth-child(3n-2), .contacts.Grid .contact.w50:nth-child(2n-1),
.contacts.Details .contact.w25:nth-child(4n-3), .contacts.Details .contact.w33:nth-child(3n-2), .contacts.Details .contact.w50:nth-child(2n-1) {
	clear:both;
}
.contacts.Grid .contact.w25, .contacts.Details .contact.w25 {
	width: 25%;
}
.contacts.Grid .contact.w33, .contacts.Details .contact.w33 {
	width: 33.3333%;
}
.contacts.Grid .contact.w50, .contacts.Details .contact.w50 {
	width: 50%;
}
/* Details */
.contacts.Details {
	padding-top: 15px;
}
.contacts.Details .details, .contacts.Details .details-grid {
    position: relative;
}
.contacts.Details .details:before, .contacts.Details .details-grid:before {
	content: '';
	display: block;
	background: #264A72;
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0;
}
.contacts.Details .details-grid:before {
	left: auto;
	right: -1px;
}
.contacts.Details .details {
	float: right;
	padding-left: 30px;
	width: 33%;
}
.contacts.Details .details .details-contact {
	display: none;
}
.contacts.Details .details .details-contact:first-child {
	display: block;
}
.contacts.Details .details .details-contact img {
	width: 100%;
}
.contacts.Details .details-grid {
	float: left;
	width: 67%;
}
.contacts.Details .details-grid .contact {
	padding: 0 30px 30px 0;
}
.contacts.Details .details-grid .contact .loadContact {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: none;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	display: block;
	height: 100%;
	letter-spacing: 0;
	margin: 0;
	outline: 0;
	outline: none;
	padding: 0;
	position: relative;
	width: 100%;
}
.contacts.Details.justified .details-grid .contact .loadContact {
	text-align: justify;
}
.contacts.Details .details-grid .contact .loadContact img {
	margin-bottom: 0;
}
.contacts.Details .details-grid .contact .loadContact.focused img {
	filter: alpha(opacity=25);
	opacity: .25;
}
.contacts.Details .details-grid .contact .loadContact .profile {
	position: relative;
}
.contacts.Details .details-grid .contact .loadContact.focused .profile {
	background: #243648;
	background: rgba(36, 54, 72, .85);
}
.contacts.Details .details-grid .contact .loadContact .viewContact {
	background: #fff;
	background: rgba(255,255,255,.9);
	-moz-box-shadow: inset 0 0 0 2px #243648;
	-webkit-box-shadow: inset 0 0 0 2px #243648;
	box-shadow: inset 0 0 0 2px #243648;
	color: #243648;
	height: 100%;
	left: 0;
	filter: alpha(opacity=0);
	letter-spacing: 1px;
	opacity: 0;
	position: absolute;
	text-transform: uppercase;
	top: 0;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	-webkit-transition: all .2s;
	transition: all .2s;
	width: 100%;
}
.contacts.Details .details-grid .contact .loadContact:not(.focused):hover .viewContact {
	filter: alpha(opacity=100);
	opacity: 1;
}
.contacts.Details .details-grid .contact .loadContact:not(.focused):hover .profile .viewContact {
	z-index: 1;
}
.contacts.Details .details-grid .contact .loadContact .viewContact span {
	display: block;
	height: 86px;
	left: 0;
	margin-top: -43px;
	right: 0;
	position: absolute;
	text-align: center;
	top: 50%;
}
.contacts.Details.Circle .details-grid .contact .loadContact .viewContact span {
	margin-top: -50px;
}
.contacts.Details .details-grid .contact .loadContact .viewContact span .fa {
	display: block;
	margin-bottom: 10px;
}
.contacts.Details .details-grid .contact .overlay {
	bottom: 0;
	left: 0;
	right: 0;
}
.contacts.Details .loadMore {
	clear: left;
	float: left;
	margin-top: 0;
	padding-right: 30px;
	width: 67%;
}
/* Masonry */
.contacts.masonry .contact {
	padding: 15px;
}
.contacts.masonry:not(.Circle) .contact .contact-inner {
    background-color: #eee;
	background-color: rgba(0,0,0,.07);
}
.contacts.masonry:not(.overlay) .contact .contact-inner img {
	margin-bottom: 0;
}
.contacts.masonry:not(.overlay) .contact .contact-inner .contact-content {
	padding: 30px;
}
.contacts.masonry:not(.overlay) .contact .contact-inner .contact-content h2 {
	margin-top: 0;
}
.contacts.masonry.Rounded .contact .contact-inner {
	-moz-border-radius: 11px;
	-webkit-border-radius: 11px;
	border-radius: 11px;
}
.contacts.masonry.Rounded:not(.overlay) .contact .contact-inner img {
	-moz-border-radius: 11px 11px 0 0;
	-webkit-border-radius: 11px 11px 0 0;
	border-radius: 11px 11px 0 0;
}
.contacts.masonry.Offset .contact .contact-inner {
	-moz-border-radius: 15px 0;
	-webkit-border-radius: 15px 0;
	border-radius: 15px 0;
}
.contacts.masonry.Offset:not(.overlay) .contact .contact-inner img {
	-moz-border-bottom-right-radius: 0;
	-webkit-border-bottom-right-radius: 0;
	border-bottom-right-radius: 0;
}
/* List */
.contacts.List .contact {
	float: left;
	margin-bottom: 15px;
	width: 100%;
}
.contacts.List .contact:not(:first-child) {
	border-top: 1px solid #eee;
	margin-top: 15px;
	padding-top: 30px;
}
/* Banner */
.contacts.Banner .slick-list {
	overflow: visible !important;
}
.contacts.Banner .slick-slide img {
	width: auto;
}
.contacts.Banner .contact {
	padding: 10px 0;
}
.contacts.Banner .contact .contact-inner {
	background: #fff;
	background: rgba(255,255,255,.9);
	border: 1px solid rgba(0,0,0,.15);
	-moz-box-shadow: 0 0 15px rgba(0,0,0,.1);
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,.1);
	box-shadow: 0 0 15px rgba(0,0,0,.1);
	filter: alpha(opacity=50);
	opacity: .5;
	padding: 30px;
	-moz-transform: scale(0.95);
	-ms-transform: scale(0.95);
	-o-transform: scale(0.95);
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-webkit-transition: all 300ms ease;
	transition: all 300ms ease;
}
.contacts.Banner .contact.slick-active .contact-inner,
.contacts.Banner .contact.slick-center .contact-inner {
	-moz-box-shadow: 0 0 15px rgba(0,0,0,.25);
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,.25);
	box-shadow: 0 0 15px rgba(0,0,0,.25);
	filter: alpha(opacity=100);
	opacity: 1;
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
}
.contacts.Banner .contact .contact-inner .overlay {
	bottom: 30px;
	left: 30px;
	right: 30px;
}
/* Accordion */
.contacts.Accordion {
	margin-bottom: 0;
}
.contacts.Accordion .panel {
	border: none;
	margin: 1px 0 0;
}
.contacts.Accordion .panel-default>.panel-heading .panel-title > a.collapsed {
	background-color: #eee;
	color: #264A72;
}
.contacts.Accordion .panel-default>.panel-heading .panel-title > a.collapsed:hover {
	background-color: #ddd;
}
.contacts.Accordion .panel-default>.panel-heading .panel-title > a {
	background-color: #264A72;
	border: none;
	color: #fff;
	padding: 15px;
	padding-right: 45px;
}
.contacts.Accordion .panel-default>.panel-heading .panel-title > a > i {
	right: 15px;
}
.contacts.Accordion .panel-default>.panel-heading+.panel-collapse .panel-body {
	border-top: none;
	-moz-box-shadow: inset 0 0 0 3px #264A72;
	-webkit-box-shadow: inset 0 0 0 3px #264A72;
	box-shadow: inset 0 0 0 3px #264A72;
	padding: 30px;
}
.contacts.Accordion .contact h3 {
	margin-top: 15px;
}
/* Hierarchy */
.contacts.Hierarchy {
	margin-bottom: 80px;
	padding-bottom: 50px;
	position: relative;
}
.contacts.Hierarchy.hiddenItems .loadMore {
	bottom: auto;
	top: calc(100% + 30px);
}
.contacts.Hierarchy.itemsShown {
	margin-bottom: 0;
}
.contacts.Hierarchy:before, .contacts.Hierarchy:after, .contacts.Hierarchy .bookend:before {
	background: #eee;
	content: '';
	display: block;
	left: 50%;
	position: absolute;
	top: 0;
	z-index: -1;
}
.contacts.Hierarchy:before, .contacts.Hierarchy .bookend:before {
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	border-radius: 100%;
	height: 20px;
	margin-left: -10px;
	width: 20px;
}
.contacts.Hierarchy:after {
	height: 100%;
	margin-left: -2px;
	width: 4px;
}
.contacts.Hierarchy .contact:before {
	background-color: #eee;
	content: '';
	display: block;
	height: 4px;
	left: 100%;
	margin-top: -2px;
	position: absolute;
	top: 50%;
	width: 11.1111%;
	z-index: -1;
}
.contacts.Hierarchy .contact:nth-child(even):before {
	left: auto;
	right: 100%;
}
.contacts.Hierarchy .contact {
	-moz-box-shadow: inset 0 0 0 4px #eee, 0 0 15px rgba(0,0,0,0);
	-webkit-box-shadow: inset 0 0 0 4px #eee, 0 0 15px rgba(0,0,0,0);
	box-shadow: inset 0 0 0 4px #eee, 0 0 15px rgba(0,0,0,0);
	clear: both;
	float: left;
	margin-top: -100px;
	min-height: 230px;
	padding: 15px;
	position: relative;
	width: 45%;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.contacts.Hierarchy .contact:hover {
	-moz-box-shadow: inset 0 0 0 4px #264A72, 0 0 15px rgba(0,0,0,.15);
	-webkit-box-shadow: inset 0 0 0 4px #264A72, 0 0 15px rgba(0,0,0,.15);
	box-shadow: inset 0 0 0 4px #264A72, 0 0 15px rgba(0,0,0,.15);
}
.contacts.Hierarchy .contact:first-child {
	margin-top: 50px;
}
.contacts.Hierarchy .contact:nth-child(even) {
	float: right;
}
.contacts.Hierarchy .contact h2 {
	font-size: 1.8em;
	margin-top: 10px;
}
.contacts.Hierarchy .bookend {
	clear: both;
	position: relative;
}
.contacts.Hierarchy .bookend:before {
	top: 30px;
}
.contacts.Hierarchy.Circle .contact {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	background-color: #fff;
}
.contacts.Hierarchy.Circle .contact {
	padding-left: 0;
}
.contacts.Hierarchy.Circle .contact:nth-child(even) {
	padding-left: 15px;
	padding-right: 0;
}
.contacts.Hierarchy.justified .contact img, .contacts.Hierarchy.centred .contact img {
	margin-bottom: 15px;
}
.contacts.Hierarchy.imgLtxtR .contact img {
	margin-right: 15px;
}
.contacts.Hierarchy.txtLimgR .contact img {
	margin-left: 15px;
}
/* Shapes */
.contacts.Circle .contact img {
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	border-radius: 100%;
	margin: 0 auto;
	width: auto !important;
}
.contacts.Rounded .contact img {
	-moz-border-radius: 11px;
	-webkit-border-radius: 11px;
	border-radius: 11px;
}
.contacts.Offset .contact img {
	-moz-border-radius: 15px 0;
	-webkit-border-radius: 15px 0;
	border-radius: 15px 0;
}
.contacts.Rounded .contact .overlay {
	-moz-border-radius: 0 0 11px 11px;
	-webkit-border-radius: 0 0 11px 11px;
	border-radius: 0 0 11px 11px;
}
.contacts.Offset .contact .overlay {
	-moz-border-bottom-right-radius: 15px;
	-webkit-border-bottom-right-radius: 15px;
	border-bottom-right-radius: 15px;
}
/* overlay format */
.contacts.overlay .contact {
	position: relative;
}
.contacts.overlay .contact img {
	width: 100%;
}
.contacts.overlay .contact .overlay {
	background: #243648;
	background: rgba(36, 54, 72, .85);
	bottom: 15px;
	color: #fff;
	left: 15px;
	right: 15px;
	padding: 15px;
	position: absolute;
	text-align: center;
}
.contacts.overlay .contact .overlay h2, .contacts.overlay .contact .overlay h3 {
	margin: 0;
}
.contacts.overlay .contact .overlay h2 {
	color: #fff;
	margin-bottom: 5px;
}
.contacts.overlay .contact .overlay h3 {
	color: #ccc;
}
/* imgLtxtR format */
.contacts.imgLtxtR .contact img {
	float: left;
	margin-right: 30px;
}
/* txtLimgR format */
.contacts.txtLimgR .contact img {
	float: right;
	margin-left: 30px;
}
/* centred format */
.contacts.centred .contact {
	text-align: center;
}
.contacts.centred .contact img {
	margin: 0 auto;
}
.contacts.centred .contact img, .contacts.justified .contact img {
	margin-bottom: 30px;
}
/* justified format */
.contacts.justified:not(.Accordion) .contact img {
	width: 100%;
}
/* Media queries */
@media only screen and (max-width: 1199px) {
	.contacts.Grid.imgLtxtR .contact img, .contacts.Grid.txtLimgR .contact img {
		float: none;
		margin: 0;
	}
}
@media only screen and (max-width: 991px) {
	.contacts.Details {
		padding: 0;
	}
	.contacts.Details .details, .contacts.Details .details-grid, .contacts.Grid.imgLtxtR .contact, .contacts.Grid.txtLimgR .contact, .contacts.Grid.justified .contact, .contacts.Grid.centred .contact, .contacts.Grid.overlay .contact {
		float: none;
		width: auto;
	}
	.contacts.Details .details {
		padding: 0 0 30px;
	}
	.contacts.Details .details:before, .contacts.Details .details-grid:before {
		display: none;
	}
	.contacts.Details .details-grid {
		margin-left: -30px;
	}
	.contacts.Details .details-grid:after {
		clear: both;
		content: '';
		display: block;
	}
	.contacts.Details .details-grid .contact {
		padding-left: 30px;
		padding-right: 0;
		width: 50% !important;
	}
	.contacts.Grid .contact.w25:nth-child(4n-3), .contacts.Grid .contact.w33:nth-child(3n-2), .contacts.Grid .contact.w50:nth-child(2n-1), .contacts.Details .contact.w25:nth-child(4n-3), .contacts.Details .contact.w33:nth-child(3n-2), .contacts.Details .contact.w50:nth-child(2n-1) {
		clear: none;
	}
	.contacts.Details .details-grid .contact:nth-child(2n-1) {
		clear: both !important;
	}
	.contacts.Details .details-grid .contact:last-child {
		padding-bottom: 0;
	}
	.contacts.Details .loadMore {
		padding: 0;
		width: 100%;
	}
	.contacts.Grid.imgLtxtR .contact img {
		float: left;
		margin-right: 30px;
	}
	.contacts.Grid.txtLimgR .contact img {
		float: right;
		margin-left: 30px;
	}
	.contacts.masonry .ig-sizer:not(.w50), .contacts.masonry .contact.ig-item:not(.w50) {
		width: 50%;
	}
}
@media only screen and (max-width: 991px) and (min-width: 569px) {
	.contacts.Hierarchy:not(.centred):not(.overlay) .contact img {
		float: none;
		margin: 0 0 20px;
	}
}
@media only screen and (max-width: 567px) {
	.contacts.Details .details-grid {
		margin: 0;
	}
	.contacts.Details .details-grid .contact {
		padding-left: 0;
		width: 100% !important;
	}
	.contacts.Grid.imgLtxtR .contact img, .contacts.Grid.txtLimgR .contact img {
		float: none;
		margin: 0;
	}
	.contacts.masonry .ig-sizer, .contacts.masonry .contact.ig-item {
		width: 50%;
	}
	.contacts.List:not(.centred) .contact img, .contacts.Accordion:not(.centred) .contact img {
		float: none;
		margin: 0 0 30px;
	}
	.contacts.Banner .contact img {
		float: none;
		margin: 0 auto;
	}
	.contacts.Hierarchy {
		padding-top: 30px;
	}
	.contacts.Hierarchy:before, .contacts.Hierarchy .bookend:before {
		left: 0;
		margin-left: 0;
	}
	.contacts.Hierarchy:after {
		left: 10px;
	}
	.contacts.Hierarchy .contact, .contacts.Hierarchy .contact:first-child, .contacts.Hierarchy .contact:nth-child(even) {
		float: none;
		margin-left: 30px;
		margin-top: 20px;
		width: auto;
	}
	.contacts.Hierarchy .contact:before {
		left: auto;
		right: 100%;
		width: 20px;
	}
}
@media only screen and (max-width: 450px) {
	.contacts.masonry .ig-sizer, .contacts.masonry .contact.ig-item {
		width: 100% !important;
	}
	.contacts.Hierarchy:not(.centred):not(.overlay) .contact img {
		float: none;
		margin: 0 0 20px;
	}
}