/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
 
img {
	max-width: 100%;
	height: auto;
}

.object-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.object-contain {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.banner-img {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: -1;
}

.span-page {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
} 

.YTwrapper {
    position: relative;
}

.video-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: 50% 0;
    cursor: pointer;
}

.video-overlay:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .2);
}

.video-overlay svg {
    position: relative;
    z-index: 1;
    width: 100px;
}

.z-hide {
    z-index: -9999;
}

.single-lead_page #masthead:before {
	content: '';
	position: absolute;
	top: 0; right: 0; left: 0;
	background-color: #0A3250;
	height: 210px;
	transition: all .2s;
	z-index: -1;
}

.single-lead_page #masthead.header-scroll:before {
	height: 125px;
}

.flexlead-wrap {
	padding-top: 50px;
}

.flexlead-page-sidebar {
	padding-left: 30px !important;
}

.flexlead-header h1 {
	margin-top: 20px;
}

.flexlead-freeform-content,
.flexlead-video,
.flexlead-list{
	margin: 50px 0;
}

.flexlead-header + div:not(.flexlead-cta) {
	margin-top: 20px;
}

.flexlead-video .VideoWrapper {
	margin-top: 20px;
}

.flexlead-sidebar {
	padding: 30px;
	margin-bottom: 50px;
	position: sticky;
	position: -webkit-sticky;
	z-index: 10;
}

.flexlead-list-item {
	margin-bottom: 50px;
}

.flexlead-list-inner {
	margin-top: 20px;
}

.flexlead-num {
	font-size: 80px;
}

.flexlead-cta {
	left: 96.4% !important;
	padding: 150px 0;
	z-index: 1;
}

.flexlead-cta:before {
	content: '';
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
}

.flexlead-cta.dark-overlay:before {
	background-color: #000;
	opacity: .3;
}

.flexlead-cta.light-overlay:before {
	background-color: #fff;
	opacity: .3;
}

.flexlead-cta-inner {
	position: relative;
	z-index: 1;
}

.flexlead-video .VideoWrapper {
	position: relative;
}

.flexlead-footer-inner {
	padding: 60px 0;
}

.flexlead-footer-logo {
	height: 100px;
	margin-bottom: 15px;
}

.flexlead-footer-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.flexlead-site-info {
	background-color: #fff;
	color: #000;
	padding: 12px 15px;
}


/* Responsive */
@media (max-width:1199px) {
	.single-lead_page #masthead:before {
		height: 160px;
	}

	.single-lead_page #masthead.header-scroll:before {
		height: 90px;
	}
	
	.flexlead-cta {
		left: 87.7% !important;
	}
}

@media (max-width:991px) {
	.flexlead-cta {
		left: 50% !important;
	}
	
	.flexlead-cta-inner {
		padding: 0 !important;
	}
	
	.flexlead-page-sidebar {
		padding-left: 15px !important;
	}
	
	.flexlead-sidebar {
		margin-top: 50px;
	}
	
	.mobile-cta {
		position: fixed;
		left: 0; bottom: 0; right: 0;
		z-index: 10;
		padding: 10px;
	}
	
	.flexlead-site-info {
		padding-bottom: 75px;
	}
}

@media (max-width:767px) {
	.single-lead_page #masthead:before {
		display: none;
	}
	
	.flexlead-cta {
		padding: 70px 0;
	}
	
	.flexlead-footer-col + .flexlead-footer-col {
		margin-top: 30px;
	}
}