.line-seperator {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	height: 1px;
	background-color: #5b1f69;
}

/* careers Intro Section */
.careers-intro {
	position: relative;
	z-index: 3;
}

.careers-intro h2 {
	margin-bottom: 30px;
}

.careers-intro p {
	margin-bottom: 30px;
	text-align: center;
}

.careers-intro .button-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0;
}

@media(min-width: 768px) {
	.careers-intro .button-container {
		flex-direction: row;
	}
}

.careers-intro .button-container a {
	color: #5b1f69;
}

.careers-intro .button-container li {
	list-style: none;
}

.careers-intro .button-container li:not(:last-of-type) {
	margin-bottom: 20px;
}

@media(min-width: 768px) {
	.careers-intro .button-container li:not(:last-of-type) {
		margin-bottom: 0;
		margin-right: 20px;
	}
}

/* Careers Equal Block Section */
.careers-equal--block {
	background-color: #f3f3f5;
    padding: 60px 0;
    margin-top: 60px;
}

.page-template-training-contracts .careers-equal--block {
	margin-top: 0;
}

@media(min-width: 1024px) {
	.careers-equal--block {
		padding: 100px 0;
	}
}

.careers-equal--block h2 {
	margin-top: 0;
	margin-bottom: 30px;
}

.careers-equal--block .col-img {
	width: 100%;
	height: auto;
}

@media(min-width: 768px) {
	.careers-equal--block .col-img {
		width: 50%;
	}
}

.careers-equal--block .col-img img {
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.careers-equal--block .col-text {
	display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
	margin-top: 30px;
	margin-bottom: 30px;
}

@media(min-width: 768px) {
	.careers-equal--block .col-text {
		padding: 0;
		padding-right: 30px;
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media(min-width: 1024px) {
	.careers-equal--block .col-text {
		padding-right: 10%;
	}
}

.careers-equal--block .col-text h3 {
	margin: 0 0 30px 0;
}

.careers-equal--block blockquote {
	font-family: Lato,Helvetica,Arial,sans-serif;
}

.careers-equal--block blockquote p {
	font-size: 24px!important;
	line-height: 36px!important;
}

.careers-equal--block blockquote:before,
.careers-equal--block blockquote:after {
	display: none;
}

.careers-equal--block cite {
	display: block;
	position: relative;
	margin-top: 30px;
	color: #5b1f69;
	font-style: normal;
	font-size: 20px;
}

/* Careers Text Block */
.careers-text-block {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	padding: 60px 0;
}

@media(min-width: 1024px) {
	.careers-text-block {
		padding: 100px 0;
	}
}

.careers-text-block h3 {
	display: block;
	position: relative;
	margin: 0 0 60px 0;
	width: 100%;
	font-size: 43px;
	text-align: center;
}

@media(min-width: 768px) {

	.careers-text-block .container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.careers-text-block .block-one {
		width: 50%;
		padding-right: 30px;
	}

	.careers-text-block .block-two {
		width: 50%;
		padding-left: 30px;
	}
}

/* Why Work Section */
.why-work {
	display: block;
	position: relative;
	background-color: #f3f3f5;
	width: 100%;
	height: auto;
	padding: 60px 0;
	z-index: 3;
}

@media(min-width: 1024px) {
	.why-work {
		padding: 80px 0;
	}
}

.why-work h3,
.why-work h4 {
	font-size: 34px;
	margin: 0 0 30px 0;
	text-align: center;
}

.why-work p {
	text-align: center;
	margin-bottom: 30px;
}

.why-work p span {
	color: #5b1f69;
	font-size: 22px;
	line-height: 30px;
}

.why-work .intro {
	display: block;
	position: relative;
	width: 100%;
}

.why-work .video {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 16/9;
}

/* Current Vacancies Section */
.current-vacancies {
	padding: 60px 0;
}

@media(min-width: 1024px) {
	.current-vacancies  {
		padding: 80px 0;
	}
}

.current-vacancies h2 {
	margin-bottom: 30px;
}

.current-vacancies p {
	text-align: center;
	margin-bottom: 30px;
}

.vacancy-list {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0;
	margin-bottom: 0;
}

@media(min-width: 768px) {
	.vacancy-list {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

.vacancy-list li {
	display: inline-block;
	position: relative;
	width: 100%;
	padding: 30px;
	background-color: #f3f3f5;
}

.vacancy-list li:not(:last-of-type) {
	margin-bottom: 20px;
}

@media(min-width: 768px) {
	.vacancy-list li {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 20px;
	}

	.vacancy-list li:nth-of-type(3n) {
		margin-right: 0;
	}
}

.vacancy-list li h2 {
	font-size: 18px;
	line-height: 24px;
	margin: 0 0 10px 0;
}

.vacancy-list li p {
	text-align: left;
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 10px;
	color: #5b1f69;
}

.vacancy-list li a {
	font-family: sans-serif;
	font-size: 14px;
	text-decoration: underline;
	color: #5b1f69;
	font-weight: 400;
}

.current-vacancies .btn-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.current-vacancies .btn-container a {
	width: 200px;
	color: #5b1f69;
}

/* Fullwidth Equal Blocks Section */
.fullwidth-equalblock {
	display: flex;
    flex-direction: column;
    width: 100%;
    padding: 60px 20px;
}

@media(min-width: 768px) {

	.fullwidth-equalblock {
		flex-direction: row;
    	padding: 80px 20px 80px 0;
	}
}

.fullwidth-equalblock .img-col {
	width: 100%;
	margin-bottom: 30px;
}

@media(min-width: 768px) {
	.fullwidth-equalblock .img-col {
		width: 50%;
		margin-bottom: 0;
	}
}

.fullwidth-equalblock .img-col img {
	width: 100%;
	height: 100%;
	object-position: center;
	object-fit: cover;
}

.fullwidth-equalblock .text-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
}

@media(min-width: 768px) {
	.fullwidth-equalblock .text-col {
		width: 50%;
		padding-right: 10%;
    	padding-left: 5%;
	}
}

.fullwidth-equalblock .text-col h3 {
	margin: 0 0 30px 0;
}

.fullwidth-equalblock .text-col p {
	margin-bottom: 30px;
}

.fullwidth-equalblock .text-col .btn {
	width: 200px;
	color: #5b1f69;
}

/* Careers Points of Interest section */
.careers-poi--links {
	display: block;
	position: relative;
	padding: 60px 0;
}

@media(min-width: 1024px) {
	.careers-poi--links {
		padding: 80px 0;
	}
}

.careers-poi--links {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.poi-link {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.poi-link:not(:last-of-type) {
	margin-bottom: 20px;
}

@media(min-width: 768px) {

	.careers-poi--links {
		flex-direction: row;
	}

	.poi-link {
		width: 49%;
	}

	.poi-link:not(:last-of-type) {
		margin-right: 2%;
		margin-bottom: 0;
	}
}

.poi-link img {
	margin-bottom: 30px;
}

.poi-heading {
	font-size: 34px;
	line-height: 40px;
	color: #44114e;
	font-family: Lato,Helvetica,Arial,sans-serif;
	font-weight: 300;
}

.poi-link p {
	margin-bottom: 30px;
}

@media(min-width: 768px) {
	.poi-link p {
		padding-right: 40px;
	}
}

.poi-link .btn {
	width: 200px;
	color: #44114e;
	margin-top: auto;
}

/* Vacancy Archive Page */

.post-type-archive-vacancies .equal-row .col-text h2 {
	margin: 0 0 30px 0;
}

@media(min-width: 768px) {
	.post-type-archive-vacancies .equal-row .col-text {
		padding: 50px 80px 50px 0;
	}
}

.post-type-archive-vacancies .equal-row .col-img {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.post-type-archive-vacancies .equal-row .col-img img {
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.post-type-archive-vacancies .equal-row .col-img .overlay-text {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(91, 31, 105, .8);
	padding: 40px;
	font-size: 30px;
	line-height: 40px;
	color: #fff;
}

/* Single Vacancy Page */
.single-vacancies .careers-intro {
	position: relative;
	margin-top: -150px;
	z-index: 3;
	padding: 30px 0;
}

.single-vacancies .apply-grant .left-col ul {
	padding-left: 0;
}

.single-vacancies .apply-grant .left-col li {
	list-style: none;
}

.single-vacancies .apply-grant .left-col li:not(:last-of-type) {
	margin-bottom: 5px;
}

/* About the role */
.about-role {
	display: block;
	position: relative;
	width: 100%;
	padding: 60px 0;
}

.about-role h4 {
	margin: 0 0 30px 0;
	font-size: 43px;
}

.about-role p strong {
	font-family: Lato,Helvetica,Arial,sans-serif;
	color: #5b1f69;
	font-weight: normal;
}

/* Apply Now */
.apply-now {
	background-color: #5b1f69;
	padding: 60px 0;
}

.apply-now h2 {
	color: #fff;
}

.apply-now p {
	color: #fff;
}

.apply-now .gfield {
	position: relative;
}

.apply-now label {
	color: #fff!important;
}

.apply-now .ginput_container_fileupload {
	color: #fff;
}

.apply-now .gform_footer input[type=submit] {
	width: 200px;
	margin-left: auto;
	margin-right: auto;
}

/* Trainee Page */
.application-message {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	padding: 30px;
	color: #fff;
	background-color: #5b1f69;
	top: -150px;
    z-index: 3;
}

.application-message h3 {
	color: #fff;
}

.application-message .gfield_label {
	position: relative !important;
	top: 0 !important;
    left: 0 !important;
	color: #fff !important;
	    display: block !important;
}

.application-message  textarea {
	color: #666;
}

.application-message  textarea {
	color: #666;
}


.application-message .gfield input {
	color: #666;
}


.application-message .ginput_container_fileupload input{
	color: #fff;
}

.application-message .gform_title {
	display: none;
}

.application-message .gform_description {
	text-align: center;
}

.application-message a {
	color: #fff;
	text-decoration: underline;
}

.application-message a:hover {
	text-decoration: none;
}

.application-msg--bottom {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	padding: 40px 30px 30px 30px;
	color: #5b1f69;
	background-color: #fff;
    z-index: 3;
}

.application-msg--bottom p {
	font-size: 24px;
	line-height: 30px;
}

.application-msg--bottom a {
	color: #5b1f69;
	text-decoration: underline;
}

.application-msg--bottom a:hover {
	text-decoration: none;
}


.validation_error {
     color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
  padding: 20px;
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 20px;
  border: 1px solid transparent;
    border-radius: 0.25rem;
}

.validation_error h2 {
	margin:  0;
    width: 100%;
    text-align: center;
	  color: #721c24;
	   font-size: 16px;
  line-height: 18px;
}
