/* 
	Generic helper classes and patterns.
	Anything that's useful for layout or spacing etc.
*/

.bg-light-grey {
	background-color: #f4f4f4;
}
section.bg-light-grey {
    padding: 4em 0 !important;
}
section.bg-light-grey + section.bg-light-grey {
    padding-top: 0 !important;
    margin-top: -2.5em;
}
.bg-light-grey h1 + p {
    margin-top: 20px;
}
.pull-up {
	background: #fff;
	background: -moz-linear-gradient(0deg, #fff 0%, #fff 50%, #f4f4f4 50%, #f4f4f4 100%);
	background: -webkit-linear-gradient(0deg, #fff 0%, #fff 50%, #f4f4f4 50%, #f4f4f4 100%);
	background: linear-gradient(0deg, #fff 0%, #fff 50%, #f4f4f4 50%, #f4f4f4 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f4f4f4",GradientType=1);
}

.row--reverse {
	flex-direction: row-reverse;
}

.stack > * + * {
	margin-top: .5rem;
}
.stack-l > * + * {
	margin-top: 3rem;
}
.stack-s > * + * {
	margin-top: 1rem;
}
.stack-xs > * + * {
	margin-top: 0.5rem;
}
.media {
	display: flex;
	align-items: flex-start;
}
.media__figure {
	margin-right: 15px;
}
.media__figure--l {
	margin-right: 30px;
}
.media__body {
	flex: 1;
}

.rel {
	position: relative;
	z-index: 2;
}

.text-white {
	color: #fff;
}
.text-red, .color--red {
	color: #ee3424;
}
.block {
	width: 100%;
	height: auto;
}
.img-220 {
	max-width: 200px;
}
.round-img {
	border-radius: 50%;
}
.resp-img {
	position: relative;
	overflow: hidden;
	transform: translateZ(0);
	min-height:  500px;
}
.resp-img:before {
    content: '';
    background: black;
    left:0;
    right: 0;
    top:0;
    bottom:0;
    position: absolute;
    z-index:2;
    opacity:0.3;
    mix-blend-mode: multiply;
} 
.resp-img-empty {
	position: relative;
	overflow: hidden;
	transform: translateZ(0);
	min-height: 325px;
}
.resp-img__img{
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: "parent-fit: cover, object-fit: cover";
}

.btn {
	display: inline-block;
	padding: 10px 35px 10px 20px;
	background: #3e3e3e url(/assets/images/chevron-right-white.svg) no-repeat right 10px center;
	background-size: 8px;
	color: #fff;
	font-size: 14px;
	position: relative;
	margin-right:11px;
	margin-bottom:10px;
}
/* .btn + .btn {
	margin-left: 11px;
} */
.btn--solid-white {
	background-color: #fff;
	background-image: url(/assets/images/chevron-right-red.svg);
	color: #3e3e3e;
}
.btn--secondary {
	background-color: #fff;
	background-image: url(/assets/images/chevron-right-red.svg);
	color: #3e3e3e;
}
.btn--news {
	background-color: #f4f4f4;
	background-image: url(/assets/images/chevron-right-red.svg);
	color: #3e3e3e;
}
.btn:before {
	-webkit-transition: bottom 150ms ease, height 150ms ease;
	-moz-transition: 	bottom 150ms ease, height 150ms ease;
	-o-transition: 		bottom 150ms ease, height 150ms ease;
	transition: 		bottom 150ms ease, height 150ms ease;
}

.btn--secondary:before, .btn--news:before {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 5px;
	left: 20px;
	height: 3px;
	/*background-color: #ee3424;*/
}
.btn--tertiary {
	background-color: #1c6533;
	background-image: url(/assets/images/chevron-right-white.svg);
}
.btn--flush-left {
	padding-left: 0;
}
.btn--flush-left:before {
	left: 0;
}
.btn--link {
	padding-left: 0;
	padding-right: 0;
	background: none;
}
.btn--link:before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 5px;
	left: 0;
	height: 3px;
	background-color: #ee3424;
}
.btn--link + .btn--link {
	margin-left: 22px;
}
.btn--none {
	text-transform: uppercase;
	color: #ee3424;
	background: none;
	padding: 10px 20px;
}
.btn:hover {
	background-color: #fff;
	background-image: url(/assets/images/chevron-right-3e3e3e.svg);
	color: #3e3e3e;
	outline: 1px solid #3e3e3e;
}
.btn--solid-white:hover {
	background-color: #3e3e3e;
	background-image: url(/assets/images/chevron-right-red.svg);
	color: #fff;
	outline: 1px solid #fff;
}
.btn--tertiary:hover {
	background-color: #f4f4f4;
	background-image: url(/assets/images/chevron-right-green.svg);
	color: #3e3e3e;
	outline: 1px solid #aaa;
}
.btn--secondary:hover {
	color: #707070;
	background-image: url(/assets/images/chevron-right-red.svg);
	outline: none;
}
.btn--secondary:hover:before,
.btn--link:hover:before {
	height: 5px;
	bottom: 2px
}
.btn--link:hover {
	background: none;
	color: #fff;
}
.btn--none:hover {
	background: none;
	outline: none;
}

.cols-2 {
	column-gap: 30px;
}
.h-pad {
	padding-right: 0;
	padding-left: 0;
}
.row > .col-md-4 + .col-md-4,
.row > .col-md-6 + .col-md-6,
.row > .col-lg-3 + .col-lg-3 {
	margin-top: 30px;
}

/* .flex {
    display: flex;
} */
.flex--align-center {
	align-items: center;
}
.flex--justify-content-space-between {
	justify-content: space-between;
}
.align-self-center {
	align-self: center;
}

.mar-v-xs-0 { margin-top: 0; margin-bottom: 0; }
.mar-v-xs-xs { margin-top: 15px; margin-bottom: 15px; }
.mar-v-xs-s  { margin-top: 30px; margin-bottom: 30px; }
.mar-v-xs-m  { margin-top: 60px; margin-bottom: 60px; }
.mar-v-xs-l  { margin-top: 90px; margin-bottom: 90px; }
.mar-v-xs-xl { margin-top: 120px; margin-bottom: 120px; }

.mar-t-xs-0 { margin-top: 0; }
.mar-t-xs-xs { margin-top: 15px; }
.mar-t-xs-s  { margin-top: 30px; }
.mar-t-xs-m  { margin-top: 60px; }
.mar-t-xs-l  { margin-top: 90px; }
.mar-t-xs-xl { margin-top: 120px; }

.mar-b-xs-0 { margin-bottom: 0; }
.mar-b-xs-xs { margin-bottom: 15px; }
.mar-b-xs-s  { margin-bottom: 30px; }
.mar-b-xs-m  { margin-bottom: 60px; }
.mar-b-xs-l  { margin-bottom: 90px; }
.mar-b-xs-xl { margin-bottom: 120px; }

.pad-v-xs-0 { padding-top: 0; padding-bottom: 0; }
.pad-v-xs-xs { padding-top: 15px; padding-bottom: 15px; }
.pad-v-xs-s  { padding-top: 30px; padding-bottom: 30px; }
.pad-v-xs-m  { padding-top: 60px; padding-bottom: 60px; }
.pad-v-xs-l  { padding-top: 90px; padding-bottom: 90px; }
.pad-v-xs-xl { padding-top: 120px; padding-bottom: 120px; }

.pad-t-xs-0 { padding-top: 0; }
.pad-t-xs-xs { padding-top: 15px; }
.pad-t-xs-s  { padding-top: 30px; }
.pad-t-xs-m  { padding-top: 60px; }
.pad-t-xs-l  { padding-top: 90px; }
.pad-t-xs-xl { padding-top: 120px; }

.pad-b-xs-0 { padding-bottom: 0; }
.pad-b-xs-xs { padding-bottom: 15px; }
.pad-b-xs-s  { padding-bottom: 30px; }
.pad-b-xs-m  { padding-bottom: 60px; }
.pad-b-xs-l  { padding-bottom: 90px; }
.pad-b-xs-xl { padding-bottom: 120px; }

.pad-r-xs-0 { padding-right: 0; }
.pad-r-xs-xs { padding-right: 15px; }
.pad-r-xs-s  { padding-right: 30px; }
.pad-r-xs-m  { padding-right: 60px; }
.pad-r-xs-l  { padding-right: 90px; }
.pad-r-xs-xl { padding-right: 120px; }

.pad-l-xs-0 { padding-left: 0; }
.pad-l-xs-xs { padding-left: 15px; }
.pad-l-xs-s  { padding-left: 30px; }
.pad-l-xs-m  { padding-left: 60px; }
.pad-l-xs-l  { padding-left: 90px; }
.pad-l-xs-xl { padding-left: 120px; }

.mar-r-xs-0 { margin-right: 0; }
.mar-r-xs-xs { margin-right: 15px; }
.mar-r-xs-s  { margin-right: 30px; }
.mar-r-xs-m  { margin-right: 60px; }
.mar-r-xs-l  { margin-right: 90px; }
.mar-r-xs-xl { margin-right: 120px; }

.pad-m {
	padding: 60px;
}
.flex-xs {
	display: flex;
}

@media (min-width: 576px){
	.mar-v-sm-0  { margin-top: 0; margin-bottom: 0; }
	.mar-v-sm-xs { margin-top: 15px; margin-bottom: 15px; }
	.mar-v-sm-s  { margin-top: 30px; margin-bottom: 30px; }
	.mar-v-sm-m  { margin-top: 60px; margin-bottom: 60px; }
	.mar-v-sm-l  { margin-top: 90px; margin-bottom: 90px; }
	.mar-v-sm-xl { margin-top: 120px; margin-bottom: 120px; }
	
	.mar-t-sm-0  { margin-top: 0; }
	.mar-t-sm-xs { margin-top: 15px; }
	.mar-t-sm-s  { margin-top: 30px; }
	.mar-t-sm-m  { margin-top: 60px; }
	.mar-t-sm-l  { margin-top: 90px; }
	.mar-t-sm-xl { margin-top: 120px; }
	
	.mar-b-sm-0  { margin-bottom: 0; }
	.mar-b-sm-xs { margin-bottom: 15px; }
	.mar-b-sm-s  { margin-bottom: 30px; }
	.mar-b-sm-m  { margin-bottom: 60px; }
	.mar-b-sm-l  { margin-bottom: 90px; }
	.mar-b-sm-xl { margin-bottom: 120px; }

	.pad-v-sm-0  { padding-top: 0; padding-bottom: 0; }
	.pad-v-sm-xs { padding-top: 15px; padding-bottom: 15px; }
	.pad-v-sm-s  { padding-top: 30px; padding-bottom: 30px; }
	.pad-v-sm-m  { padding-top: 60px; padding-bottom: 60px; }
	.pad-v-sm-l  { padding-top: 90px; padding-bottom: 90px; }
	.pad-v-sm-xl { padding-top: 120px; padding-bottom: 120px; }
	
	.pad-t-sm-0  { padding-top: 0; }
	.pad-t-sm-xs { padding-top: 15px; }
	.pad-t-sm-s  { padding-top: 30px; }
	.pad-t-sm-m  { padding-top: 60px; }
	.pad-t-sm-l  { padding-top: 90px; }
	.pad-t-sm-xl { padding-top: 120px; }
	
	.pad-b-sm-0  { padding-bottom: 0; }
	.pad-b-sm-xs { padding-bottom: 15px; }
	.pad-b-sm-s  { padding-bottom: 30px; }
	.pad-b-sm-m  { padding-bottom: 60px; }
	.pad-b-sm-l  { padding-bottom: 90px; }
	.pad-b-sm-xl { padding-bottom: 120px; }

	.cols-2 {
		columns: 2;
	}
	.flex-sm { 
		display: flex; 
	}
}

@media (min-width: 768px){
	.mar-v-md-0  { margin-top: 0; margin-bottom: 0; }
	.mar-v-md-xs { margin-top: 15px; margin-bottom: 15px; }
	.mar-v-md-s  { margin-top: 30px; margin-bottom: 30px; }
	.mar-v-md-m  { margin-top: 60px; margin-bottom: 60px; }
	.mar-v-md-l  { margin-top: 90px; margin-bottom: 90px; }
	.mar-v-md-xl { margin-top: 120px; margin-bottom: 120px; }
	
	.mar-t-md-0  { margin-top: 0; }
	.mar-t-md-xs { margin-top: 15px; }
	.mar-t-md-s  { margin-top: 30px!important; }
	.mar-t-md-m  { margin-top: 60px; }
	.mar-t-md-l  { margin-top: 90px; }
	.mar-t-md-xl { margin-top: 120px; }
	
	.mar-b-md-0  { margin-bottom: 0; }
	.mar-b-md-xs { margin-bottom: 15px; }
	.mar-b-md-s  { margin-bottom: 30px; }
	.mar-b-md-m  { margin-bottom: 60px; }
	.mar-b-md-l  { margin-bottom: 90px; }
	.mar-b-md-xl { margin-bottom: 120px; }

	.pad-v-md-0  { padding-top: 0; padding-bottom: 0; }
	.pad-v-md-xs { padding-top: 15px; padding-bottom: 15px; }
	.pad-v-md-s  { padding-top: 30px; padding-bottom: 30px; }
	.pad-v-md-m  { padding-top: 60px; padding-bottom: 60px; }
	.pad-v-md-l  { padding-top: 90px; padding-bottom: 90px; }
	.pad-v-md-xl { padding-top: 120px; padding-bottom: 120px; }
	
	.pad-t-md-0  { padding-top: 0; }
	.pad-t-md-xs { padding-top: 15px; }
	.pad-t-md-s  { padding-top: 30px; }
	.pad-t-md-m  { padding-top: 60px; }
	.pad-t-md-l  { padding-top: 90px; }
	.pad-t-md-xl { padding-top: 120px; }
	
	.pad-b-md-0  { padding-bottom: 0; }
	.pad-b-md-xs { padding-bottom: 15px; }
	.pad-b-md-s  { padding-bottom: 30px; }
	.pad-b-md-m  { padding-bottom: 60px; }
	.pad-b-md-l  { padding-bottom: 90px; }
	.pad-b-md-xl { padding-bottom: 120px; }

	.pad-r-md-0 { padding-right: 0; }
	.pad-r-md-xs { padding-right: 15px; }
	.pad-r-md-s  { padding-right: 30px; }
	.pad-r-md-m  { padding-right: 60px; }
	.pad-r-md-l  { padding-right: 90px; }
	.pad-r-md-xl { padding-right: 120px; }
	
	.pad-lr-md-0 { padding-right: 0; padding-left: 0;}
	.pad-lr-md-xs { padding-right: 15px; padding-left: 15px;}
	.pad-lr-md-s  { padding-right: 30px; padding-left: 30px;}
	.pad-lr-md-m  { padding-right: 60px; padding-left: 60px;}
	.pad-lr-md-l  { padding-right: 90px; padding-left: 90px;}
	.pad-lr-md-xl { padding-right: 120px; padding-left: 120px;}
	
	.row > .col-md-4 + .col-md-4,
	.row > .col-md-6 + .col-md-6 {
		margin-top: 0;
	}
	.flex-md { 
		display: flex; 
	}
}

@media (min-width: 992px){
	.mar-v-lg-0  { margin-top: 0; margin-bottom: 0; }
	.mar-v-lg-xs { margin-top: 15px; margin-bottom: 15px; }
	.mar-v-lg-s  { margin-top: 30px; margin-bottom: 30px; }
	.mar-v-lg-m  { margin-top: 60px; margin-bottom: 60px; }
	.mar-v-lg-l  { margin-top: 90px; margin-bottom: 90px; }
	.mar-v-lg-xl { margin-top: 120px; margin-bottom: 120px; }
	
	.mar-t-lg-0  { margin-top: 0; }
	.mar-t-lg-xs { margin-top: 15px; }
	.mar-t-lg-s  { margin-top: 30px; }
	.mar-t-lg-m  { margin-top: 60px; }
	.mar-t-lg-l  { margin-top: 90px; }
	.mar-t-lg-xl { margin-top: 120px; }
	
	.mar-b-lg-0  { margin-bottom: 0; }
	.mar-b-lg-xs { margin-bottom: 15px; }
	.mar-b-lg-s  { margin-bottom: 30px; }
	.mar-b-lg-m  { margin-bottom: 60px; }
	.mar-b-lg-l  { margin-bottom: 90px; }
	.mar-b-lg-xl { margin-bottom: 120px; }

	.pad-v-lg-0  { padding-top: 0; padding-bottom: 0; }
	.pad-v-lg-xs { padding-top: 15px; padding-bottom: 15px; }
	.pad-v-lg-s  { padding-top: 30px; padding-bottom: 30px; }
	.pad-v-lg-m  { padding-top: 60px; padding-bottom: 60px; }
	.pad-v-lg-l  { padding-top: 90px; padding-bottom: 90px; }
	.pad-v-lg-xl { padding-top: 120px; padding-bottom: 120px; }
	
	.pad-t-lg-0  { padding-top: 0; }
	.pad-t-lg-xs { padding-top: 15px; }
	.pad-t-lg-s  { padding-top: 30px; }
	.pad-t-lg-m  { padding-top: 60px; }
	.pad-t-lg-l  { padding-top: 90px; }
	.pad-t-lg-xl { padding-top: 120px; }
	
	.pad-b-lg-0  { padding-bottom: 0; }
	.pad-b-lg-xs { padding-bottom: 15px; }
	.pad-b-lg-s  { padding-bottom: 30px; }
	.pad-b-lg-m  { padding-bottom: 60px; }
	.pad-b-lg-l  { padding-bottom: 90px; }
	.pad-b-lg-xl { padding-bottom: 120px; }

	.flex-lg { 
		display: flex; 
	}
	.h-pad {
		padding-right: 20px;
		padding-left: 45px;
	}
	
}

@media (min-width: 1200px){
	.mar-v-xl-0  { margin-top: 0; margin-bottom: 0; }
	.mar-v-xl-xs { margin-top: 15px; margin-bottom: 15px; }
	.mar-v-xl-s  { margin-top: 30px; margin-bottom: 30px; }
	.mar-v-xl-m  { margin-top: 60px; margin-bottom: 60px; }
	.mar-v-xl-l  { margin-top: 90px; margin-bottom: 90px; }
	.mar-v-xl-xl { margin-top: 120px; margin-bottom: 120px; }
	
	.mar-t-xl-0  { margin-top: 0; }
	.mar-t-xl-xs { margin-top: 15px; }
	.mar-t-xl-s  { margin-top: 30px; }
	.mar-t-xl-m  { margin-top: 60px; }
	.mar-t-xl-l  { margin-top: 90px; }
	.mar-t-xl-xl { margin-top: 120px; }
	
	.mar-b-xl-0  { margin-bottom: 0; }
	.mar-b-xl-xs { margin-bottom: 15px; }
	.mar-b-xl-s  { margin-bottom: 30px; }
	.mar-b-xl-m  { margin-bottom: 60px; }
	.mar-b-xl-l  { margin-bottom: 90px; }
	.mar-b-xl-xl { margin-bottom: 120px; }

	.pad-v-xl-0  { padding-top: 0; padding-bottom: 0; }
	.pad-v-xl-xs { padding-top: 15px; padding-bottom: 15px; }
	.pad-v-xl-s  { padding-top: 30px; padding-bottom: 30px; }
	.pad-v-xl-m  { padding-top: 60px; padding-bottom: 60px; }
	.pad-v-xl-l  { padding-top: 90px; padding-bottom: 90px; }
	.pad-v-xl-xl { padding-top: 120px; padding-bottom: 120px; }
	
	.pad-t-xl-0  { padding-top: 0; }
	.pad-t-xl-xs { padding-top: 15px; }
	.pad-t-xl-s  { padding-top: 30px; }
	.pad-t-xl-m  { padding-top: 60px; }
	.pad-t-xl-l  { padding-top: 90px; }
	.pad-t-xl-xl { padding-top: 120px; }
	
	.pad-b-xl-0  { padding-bottom: 0; }
	.pad-b-xl-xs { padding-bottom: 15px; }
	.pad-b-xl-s  { padding-bottom: 30px; }
	.pad-b-xl-m  { padding-bottom: 60px; }
	.pad-b-xl-l  { padding-bottom: 90px; }
	.pad-b-xl-xl { padding-bottom: 120px; }

	.flex-xl { 
		display: flex; 
	}
}

.left {
	float:left;
}
.right {
	float:right;
}
.text-right {
	text-align:right;
}
.text-left {
	text-align:left;
}
.v-center-align {
	display: flex;
	align-items: center;
}

@media (min-width: 768px) {
	.text-md-center {
		text-align: center!important;
	}
}
@media (min-width: 768px){
	.right-lg {
		float:right;
	}
}