body {
    margin: 0;
    font-family: "Work Sans",sans-serif;
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.5;
    color: #393939;
    text-align: left;
    background-color: #fff;
}

.main-header {
	background: #ffffff;
	padding: 10px 0 10px 0;
	-webkit-box-shadow: 0 3px 15px 3px rgba(156,156,156,.2);
    box-shadow: 0 3px 15px 3px rgba(156,156,156,.2);
}

.body-wrapper {
    overflow-x: hidden;
}

.bg {
    position: relative;
}

.bg--primary {
    background: #509e2f;
}

.bg--primary .visual-cta__img-container:after {
    background: #509e2f;
}

img {
    vertical-align: middle;
    border-style: none;
}

.visual-cta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background: #509e2f;
    color: #fff;
    z-index: 2;
}

.visual-cta__img-container {
    position: relative;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    overflow: hidden;
    padding-bottom: 75%;
}

.visual-cta__img-container img {
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-mask-image: url(../images/masks/oval.svg);
    mask-image: url(../images/masks/oval.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 160%;
    mask-size: 160%;
    -webkit-mask-position: 65% 100%;
    mask-position: 65% 100%;
    z-index: 1;
}

.visual-cta__content {
    padding: 2.2rem 1.5rem 3rem 1.5rem;
    z-index: 1;
    max-width: 700px;
}

.visual-cta__content h2 {
    font-size: 1.5rem;
    font-weight: 700;
	margin: 0;
}

.visual-cta__content p {
    font-size: 1.3rem;
    line-height: 1.2;
    font-weight: 300;
}

@media (min-width: 768px) {
	.main-header {
		padding: 20px 0 50px 0;
	}

	.visual-cta {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		min-height: 450px;
	}
	
	.visual-cta__img-container {
		padding-bottom: 0;
		min-height: 450px;
		-webkit-flex-basis: 50%;
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		width: 50%;
	}
	
	.visual-cta__img-container img {
		-webkit-mask-position: 100% 30%;
		mask-position: 100% 30%;
		-webkit-mask: none;
		mask: none;
	}
	
	.visual-cta__img-container:after {
		content: '';
		position: absolute;
		top: 0;
		right: -100px;
		width: 200px;
		height: 100%;
		-webkit-mask-image: url(../images/masks/oval.svg);
		mask-image: url(../images/masks/oval.svg);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-size: 460%;
		mask-size: 460%;
		-webkit-mask-position: 0 63%;
		mask-position: 0 63%;
		background: #509e2f;
		z-index: 1;
	}

	.visual-cta__content {
		-webkit-align-self: flex-end;
		-ms-flex-item-align: end;
		align-self: flex-end;
		-webkit-flex-basis: 50%;
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		width: 50%;
		padding: 5rem 2.25rem;
	}
}

@media (min-width: 1200px) {
	.visual-cta__img-container {
		-webkit-flex-basis: 35%;
		-ms-flex-preferred-size: 35%;
		flex-basis: 35%;
		width: 35%;
	}
	
	.visual-cta__content {
		-webkit-flex-basis: 65%;
		-ms-flex-preferred-size: 65%;
		flex-basis: 65%;
		width: 65%;
	}
}