.CTA {
	position: relative;
	padding-bottom: 100px;
}

.CTA .b-column:last-child {
	align-self: flex-end;
}

.CTA .container {
	position: relative;
	margin: 0 -100px;
	padding: 100px;
	background: #051438;
	border-radius: 20px;
	color: #fff;
}

.CTA .container::before,
.CTA .container::after {
	content: "";
	display: block;
	overflow: hidden;
}

.CTA .image {
	margin: -60px -100px -200px 0;
}

.CTA .content h2 + p .b-button {margin-top:20px;}
.CTA .content h5 + p .b-button {margin-top:15px;}
.CTA .content p + p .b-button {margin-top:10px;}

/* footer */

.CTA.alt-footer {margin-bottom:-150px;}
.CTA.alt-footer::before{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: -999px;
	right: -999px;
	height: 300px;
	background: #f2f3f5;
}

.CTA.alt-footer:not([data-style="simple"]) .b-button {
	position: relative;
	overflow: visible;
}

.CTA.alt-footer:not([data-style="simple"]) .b-button::after {
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	right: -180px;
	width: 150px;
	height: 30px;
	background: no-repeat center url(images/ui-arrow.svg);
	background-size: contain;
	pointer-events: none;
	transition: transform 0.25s;
}

.CTA.alt-footer:not([data-style="simple"]) .b-button:hover::after {
	transform: translate(-15px, 0);
}

/* simple */

.CTA[data-style="simple"] {padding-bottom:0;}
.CTA[data-style="simple"] .container {margin:0; padding:60px;}
.CTA[data-style="simple"] .container .b-column {width:100%;}
.CTA[data-style="simple"] .container .content {transform:none !important;}
.CTA[data-style="simple"].alt-footer::before {height:auto; top:50%;}

@media screen and (min-width: 1201px) {
	.CTA h2 {font-size:42px;}
}

@media screen and (min-width: 901px) {
	.CTA[data-style="simple"] .container {padding-right:240px; padding-bottom:45px;}
	.CTA[data-style="simple"] .b-button {
		margin: 0;
		position: absolute;
		top: 50%;
		right: 60px;
		transform: translate(0, -50%);
	}
}

@media screen and (max-width: 1200px) {
	.CTA .content br {display:none;}
	.CTA.alt-footer .b-button::after {display:none !important;}
}

@media screen and (max-width: 900px) {
	.CTA {padding-bottom:0;}
	.CTA .container {margin:0 -60px; padding:60px;}
	.CTA .image {margin:20px 0 0 0;}
	.CTA.alt-footer {margin-bottom:-60px;}
	.CTA[data-style="simple"] .container {margin:0; padding:30px 20px;}
	.CTA .content h2 + p .b-button {margin-top:15px;}
	.CTA .content h5 + p .b-button {margin-top:10px;}
	.CTA .content p + p .b-button {margin-top:5px;}
}
