/* ---------- Colour styles ---------- */

.enhanced-header {
	width:100%
}

.enhanced-header>h1,
.enhanced-header>h3 {
	background-color: #2c3c8e;
	color: #fff;
	margin: 0.5rem 0;
	padding: 0.5rem;
}

.enhanced-footer {
	background-color: #2c3c8e;
	height: 3rem;
	margin-bottom:1em;
}

#job-description a,
#job-description a strong {
	color: #d73738;
}

#job-description a:hover,
#job-description a:hover strong {
	color: #e06161;
}

#job-description strong {
	color: #000;
}

#job-description p:last-child {
	margin-bottom:0;
}

/* ---------- Video style ---------- */

.video {
	max-width:90%;
	border:1px solid #ccc;
	padding:1em;
	margin-bottom:1em;
}

/* ---------- Jobs list styles ---------- */

.job-list {
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.job-list>li {
	margin: 0.5rem 0;
	background-color: #d73738;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

.job-list>li:hover {
	background-color: #e06161;
}

.job-list>li>a {
	color: #FFFFFF;
	display: block;
	margin: 0;
	padding: 1rem;
}

/* ---------- Accordion styles ---------- */

.tab {
	position: relative;
	margin-bottom: 1px;
	width: 100%;
	color: #fff;
	overflow: hidden;
}

.tab input {
	position: absolute;
	opacity: 0;
	z-index: -1;
}

.tab label {
	position: relative;
	display: block;
	padding: 1rem 2em 1rem 1em;
	background-color: #333;
	font-weight: bold;
	cursor: pointer;
}

.tab-content {
	max-height: 0;
	overflow: hidden;
	-webkit-transition: max-height .35s;
	-o-transition: max-height .35s;
	transition: max-height .35s;
}

.tab-content p {
	margin: 1em;
}

/* :checked */

.tab input:checked~.tab-content {
	max-height: 1000vh;
}

/* Icon */

.tab label::after {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 3em;
	height: 3em;
	line-height: 3;
	text-align: center;
	-webkit-transition: all .35s;
	-o-transition: all .35s;
	transition: all .35s;
}

.tab input[type=checkbox]+label::after {
	content: "\f078";
	font-family: FontAwesome;
}

.tab input[type=checkbox]:checked+label::after {
	transform: rotateX(180deg);
}

/* ---------- Layout styles ---------- */

.default-logo,
.add-logo {
	max-height: 180px;
	margin-top: 0.5rem;
}

.top-banner .j-image {
	width: 100%;
}

.j-enhanced__logos {
	display: block;
}

@media screen and (min-width: 768px) {
	.j-enhanced__logos {
		display: inline-flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	.default-logo,
	.add-logo {
		max-width: 48%;
		object-fit: contain;
	}
}

@media screen and (min-width: 1024px) {}

@media screen and (min-width: 2560px) {
	.default-logo,
	.add-logo {
		max-height: 240px;
	}
}
/* ---------- Footer logos ---------- */

.ftr-logos {
	grid-row-gap: 3rem;
    grid-column-gap: 3rem;
	justify-items: center;
	grid-template-columns: repeat(2, 1fr);
}

@media screen and (min-width: 768px) {
	.ftr-logos {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.num-logos-5 {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.num-logos-9 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (min-width: 1280px) {
	.ftr-logos {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.num-logos-5 {
		grid-template-columns: repeat(5, 1fr);
	}
	
	.num-logos-7 {
		grid-template-columns: repeat(5, 1fr);
	}
}

@media screen and (min-width: 2560px) {
	.ftr-logos {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.num-logos-5 {
		grid-template-columns: repeat(5, 1fr);
	}
	
	.num-logos-9 {
		grid-template-columns: repeat(5, 1fr);
	}
}
/* ---------- IE fixes ---------- */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {

   .sub-grid.sub-grid__2-col.sub-grid__2-col--large-left.sub-grid--variable-height {
	display:-ms-grid;
	}
	
	#job-description.j-enhanced__advert-text {
	-ms-grid-column:1;
	}
	
	.j-enhanced__details-box {
	-ms-grid-column:2;
	}
}