
.ctabanner-block {
position: relative;
padding: 90px 0;
overflow: hidden;
}
.ctabanner {
position: relative;
display: flex;
align-items: stretch;
overflow: hidden;
border-radius: 4px;
}
.ctabanner .ctatext {
position: relative;
flex: 0 1 calc(100% - 350px);
box-sizing: border-box;
padding: 30px;
z-index: 1;
}
.ctabanner .ctatext * {
max-width: 600px;
}
.ctabanner .ctatext p:last-child {
margin: 0;
}
.ctabanner figure {
flex: 0 0 350px;
margin-left: auto;
margin-bottom: 0;
}
.ctabanner figure img {
display: block;
width: 100%;
height: 100% !important;
object-fit: cover;
object-position: 50% 50%;
}
.ctabanner .minheight {
min-height: 180px;
}
.ctabanner .minheight + h6 {
margin: 0;
}
@media screen and (max-width: 767px) {
	.ctabanner-block {
	padding: 60px 0;
	}
	.ctabanner {
	flex-wrap: wrap;
	}
	.ctabanner-block .ctatext {
	flex: 0 0 100%;
	}
	.ctabanner .ctatext * {
	max-width: none;
	}
	.ctabanner figure {
	flex: 0 0 100%;
	}
	.ctabanner .minheight {
	min-height: 0;
	}
	.ctabanner a.cta,
	.ctabanner .minheight + h6 {
	margin-bottom: 40px;
	}
	.ctabanner.image-background a.cta {
	margin: 40px 0 0 0;
	}
}

/* Full width CTAs */
.ctabanner-block.full {
padding: 0;
}
.ctabanner-block.full .center {
width: 100%;
max-width: none;
margin: 0;
}
.ctabanner-block.full .swiper-header {
max-width: 1440px;
width: 90%;
box-sizing: border-box;
margin-left: auto;
margin-right: auto;
}
.ctabanner-block.full .ctabanner {
display: block;
position: relative;
}
.ctabanner-block.full .ctabanner .ctatext {
max-width: 1440px;
width: 85%;
box-sizing: border-box;
padding: 90px 0;
margin: 0 auto;
}
.ctabanner-block.full .ctabanner .minheight {
min-height: 0;
width: 48.25%;
}
.ctabanner-block.full .ctabanner figure {
position: absolute;
top: 0;
right: 0;
width: 48.25%;
height: 100%;
}
.ctabanner-block.full .ctabanner figure img {
display: block;
width: 100%;
height: 100% !important;
object-fit: cover;
object-position: 50% 50%;
}
@media screen and (max-width: 767px) {
	.ctabanner-block.full .ctabanner figure {
	position: relative;
	top: auto;
	right: auto;
	width: 100%;
	height: auto;
	}
	.ctabanner-block.full .ctabanner .ctatext {
	padding: 30px 0;
	}
	.ctabanner-block.full .ctabanner .minheight {
	width: 100%;
	}
}

/* Image background CTAs */
.ctabanner.image-background {
position: relative;
color: #fff;
background-color: rgba(1,28,65,0.8);
}
.ctabanner.image-background figure {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.ctabanner-block.full .ctabanner.image-background figure {
width: 100%;
}
@media screen and (max-width: 767px) {
	.ctabanner-block.full .ctabanner.image-background figure {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	}
}

/* Background images */
.ctabanner-block .bg-shdw {
position: absolute;
top: -750px;
right: 90px;
width: 1920px;
height: 1920px;
background-position: 0 0;
background-repeat: no-repeat;
background-size: 1920px 1920px;
z-index: 0;
}
.ctabanner-block.full .bg-shdw {
top: 0;
right: 25%;
background-position: 0 -450px;
margin-right: calc(25% - 275px);
}
@media screen and (max-width: 767px) {
	.ctabanner-block .bg-shdw {
	top: auto;
	bottom: 0;
	right: -500px;
	background-position: 0px -150px;
	rotate: 90deg;
	margin-bottom: calc(55% - 150px);
	}
	.ctabanner-block.full .bg-shdw {
	top: auto;
	bottom: 100px;
	right: -500px;
	background-position: 100px 50px;
	rotate: 90deg;
	margin-bottom: calc(55% - 150px);
	}
	/* Outer glow on outer right shdw cuts off on mobile, so tweak it to avoid issue */
	.ctabanner-block.full .bg-shdw.shdw-right-outer {
	bottom: -120px;
	rotate: -90deg;
	}
}