* 		{ margin:0; padding:0; }
html 	{ font-size:100%; }
body 	{ font-family:Open Sans, Arial, sans-serif; font-size:inherit; color:#2c3c4c; }
img 	{ max-width:100%; height:auto; display:block; margin:0 auto; }
a 		{ color: #690070; }

/* Bootstrap Specific */
/* ------------------ */
.container { max-width:1280px; }

@media (max-width: 575px) {
	.row:not(.no-gutters) [class*="col-sm-"] { margin-bottom:1rem; }
}

@media (max-width: 767px) {
	.row:not(.no-gutters) [class*="col-md-"] { margin-bottom:1rem; }
}		

@media (max-width: 991px) {
	.row:not(.no-gutters) [class*="col-lg-"] { margin-bottom:1rem; }
}

@media (max-width: 1199px) {
	.row:not(.no-gutters) [class*="col-xl-"] { margin-bottom:1rem; }
}

.row [class*="col-"]:last-child { margin-bottom:0; }

/* Typography */
/* ---------- */
h1, h2, h3, h4 { font-weight:400; }

p { font-size:1em; line-height:1.5em; margin-bottom:1.3rem; }

sup { font-size:.5em; font-weight:400; }

/* Component - Icon Block */
/* ---------------------- */
.icon-block img { max-width:250px; height:auto; margin:0 auto; margin-bottom:20px; }
.icon-block h3 { margin-bottom:0; font-size:1.4em; font-weight:700; }

/* Component - Popups */
/* ------------------ */
.popup-text { text-decoration:underline; cursor:pointer; font-weight:bold; }
.popup-wrap { display:none; background-color:#ebecef; position:fixed; top:150px; width:100%; z-index:888; padding:20px; -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.5); box-shadow: 0 0 10px 0 rgba(0,0,0,.5); }
.popup__close { position:absolute; top:10px; right:10px; width:30px; height:30px; cursor:pointer; }
.popup__img img { max-width:200px; margin-bottom:1rem; }
.popup__info h3 { font-size:1.4em; font-weight:700; }
.popup__info p:last-child {  margin-bottom:0; }

@media (min-width:576px) {
	.popup-wrap {
		left:50%; transform: translate(-50%,-50%); top:50%; max-width:650px; padding:50px; border-radius:10px;   
	}
	.popup { display:flex; align-items:center; }
	.popup__img { width:35%; }
	.popup__img img { margin-bottom:0; }
	.popup__info { width:65%; padding-left:2rem; }
}

/* Component - CTA Buttons */
/* ----------------------- */
.btn { background-color:#690070; color:white; padding:10px 15px; text-transform:uppercase; font-size:16px; line-height:20px; font-weight:bold; box-sizing:border-box; display:inline-block; text-decoration:none;  position:relative; letter-spacing:2px; }
.btn.btn-outline { background-color:transparent; color:#690070; border:2px solid #690070; padding-top:8px; padding-bottom:8px; }
.btn:hover { background-color:#8d0196; }
.btn.btn-outline:hover { background-color:#690070; color:white; }
.btn.btn-clear { background-color:transparent; color:#2c3c4c; }
.btn.btn-clear:after { content:" "; position:absolute; bottom:0; left:50%; height:3px; width:0; background-color:#690070; transition:all 0.2s; }
.btn.btn-clear:hover:after { width:100%; left:0;  }
.btn.btn-static { transition:none; background-color:transparent; color:#2c3c4c; }

.btn img {
	width: 20px;
	height: 20px;
	display: inline-block;
	float: left;
	margin-right: 10px;
}

/* Component - Logo Slider */
/* ----------------------- */
.logo-slider-wrap { position:relative; }
.logo-slider { position:relative; width:80%; margin:0 auto; overflow:hidden; z-index:1; height:100px; }
.logo-slider__inner { position:absolute; height:inherit; display:flex; align-items:center; }
.logo-slider__logo { float:left; }
.logo-slider__nav {
	cursor:pointer;
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	z-index:999;
	width:30px;
	height:50px;
}
.logo-slider__nav.inactive {
	cursor:default;
	opacity:0.3;
}
.logo-slider__nav-left {
	left:0;
	left:calc(5% - 15px);
}
.logo-slider__nav-right {
	right:0;
	right:calc(5% - 15px);
}

@media (min-width:769px) {
	.logo-slider__nav {
		display:none;	
	}
}

/* Utlitiy Classes */
/* --------------- */
.img--circle { border-radius:50%; }

.txt--sm { font-size:0.9em; }
.txt--lg { font-size:1.2em; }
.txt--xl { font-size:1.5em; }
.txt--purple { color:#690070; }
.txt--center { text-align:center; }
.txt--center img { margin-left:auto; margin-right:auto; }

.u-margin-b--1 { margin-bottom:1rem; }
.u-margin-b--2 { margin-bottom:2rem; }
.u-margin-b--3 { margin-bottom:3rem; }

@media (min-width:769px) {
	.u-break--desktop { display:block; }
	.u-hide--desktop { display:none; }
}

@media (max-width:575px) {
	.u-break--mobile { display:block; }
	.u-hide--mobile { display:none; }
}

@media (max-width:768px) {
	.u-break--tablet { display:block; }
	.u-hide--tablet { display:none; }
}

/* Sections */
/* -------- */
section {
	padding:20px 0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position: center center;
}

.section-heading { font-size:2em; margin-bottom:1rem; font-weight:700; }

@media (min-width: 576px) {
	.section-heading { text-align:center; margin-bottom:2.5rem; }
}

@media (min-width:769px) {
	.section-heading { font-size:3em; margin-bottom:4rem; }
}

/* Header */
.header { text-align:center; position:fixed; width:100%; padding:20px 0; z-index:9999; background: rgba(255,255,255,1); transition:box-shadow 0.5s; }
.header.shadow { -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.5); box-shadow: 0 0 10px 0 rgba(0,0,0,.5); border-bottom:1px solid #ccc; }
.logo-wrap { width:280px; }
.logo { width:inherit; max-width:280px; height:auto; display:inline-block; float:left; }

.header-links { text-align:center; clear:both; padding-top:1rem; }
.header-links .btn { margin-right:0.5rem; }
.header-links .btn:last-child { margin-right:0; }

.header-link__login { display:none; }

@media (min-width:769px) {
	.header-links { clear:none; padding-top:0; }
}

@media (min-width:992px) {
	
	.header { text-align:left; }
	.logo-wrap { width:360px; }
	.logo { max-width:360px; margin-bottom:0; }
	
	.header-links { float:right; text-align:left; }
	.header-links .btn { margin-right:1rem; }
	.header-links .btn:last-child { margin-right:0; }
	
	.header-link__login { display:inline-block; }
}

/* Mobile icon */
.mobile-icon { display:none; }
.mobile-menu { display:none; }

@media (max-width:991px) {

	.mobile-icon {
		display:block; 
		padding: 10px 10px 0 0;
		max-width:1280px;
		margin:0 auto;
		width:100%;
		box-sizing:border-box;
		
		position: absolute;
		z-index:9999;
		top:10px;
		right: 10px;
		float:right;
		width: 30px;
		height: 20px;
		cursor: pointer;
	}

	.mobile-icon span {
		display: block;
		position: absolute;
		height: 20%;
		width: 100%;
		background: #690070;
		border-radius: 9px;
		opacity: 1;
		left: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: .25s ease-in-out;
	}

	.mobile-icon span:nth-child(1) { top:0; }
	.mobile-icon span:nth-child(2), .mobile-icon span:nth-child(3) { top: 40%; }
	.mobile-icon span:nth-child(4) { top: 80%; }

	.mobile-icon.open span:nth-child(1), .mobile-icon.open span:nth-child(4) {
		top: 40%;
		width: 0%;
		left: 50%;
	}

	.mobile-icon.open span { background:white; }

	.mobile-icon.open span:nth-child(2) {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.mobile-icon.open span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	
	.mobile-menu {
		display:none;
		padding-top:20px;
	}
	
	.mobile-menu__links {
		display:flex;
		
	}
	
	.mobile-menu__links a {
		flex-grow:1;
	}
}
/* Banner */
.banner {
	text-align:center;
	background-image:url(img/hex-bg-1.jpg);
	padding-top:160px;
}

.banner h1 { 
	font-size:3em;
	font-weight:700;
	margin-bottom:1.5rem;
}

.banner h2 {
	font-size:1.5em;
	margin-bottom:1.5rem;
}

.banner p {}

.banner__intro {
	margin-bottom:100px;
}

.banner__cta-wrap a {
	display: block;
    width: 80%;
    margin: 0 auto 1rem;
}

@media (min-width: 576px) {
	.banner__cta-wrap a {
		display: inline-block;
		width: auto;
		margin: 0 .25rem 0;
	}
}

@media (min-width:769px) {
	.banner {
		padding-top:200px;
		padding-bottom:80px;
	}
	
	.banner h1 { 
		font-size:4em;
		margin-bottom:3rem;
	}
	
	.banner h2 {
		font-size:2em;
		margin-bottom:2rem;
	}
	
	.banner p {
		font-size:1.2em;
	}	
}

/* CTA Banners */
.cta {
	background-color:#f2f2f7;
	padding:30px 0;
	background-size:cover;
	background-repeat:no-repeat;
	background-image:url(img/cta-2-bg.jpg);
	color:white;
	text-align:center;
}

.cta .row { align-items:center; }

.cta h2 {
	font-size:1.5em;
	margin-bottom:1rem;
	font-weight:700;
}

@media (min-width:769px) {
	.cta {
		padding:80px 0;
	}
	
	.cta h2 {
		font-size:2em;
		margin-bottom:2rem;
	}
}

/* Features */
.features {  }
.feature { padding:20px 0 0; }
.feature--padded { padding-bottom:20px; }
.feature:nth-child(2n) { background-color:#f2f2f7; }
.feature .row { align-items: center; }
.feature h2 { font-size:1.8em; margin-bottom:1rem; font-weight:700; }
.feature p { }

.feature-box-wrap { display:flex; align-items: center; }

@media (min-width: 576px) {
	.features {
		padding-top:50px;
	}
}

@media (min-width:769px) {
	.features { padding:120px 0 60px; }
	.feature { padding:50px 0 0; }
	.feature--padded { padding-bottom:50px; }
	
	.feature h2 { font-size:2em; margin-bottom:1.8rem; }
	.feature p { font-size:1.2em; line-height:1.8em; }
	
	.feature__info { max-width:500px; }
	.feature:nth-child(2n+1) .feature__info { float:right; }
	.feature__image { max-width:800px; }
	.feature:nth-child(2n) .feature__image { float:right; }
}

/* Testimonials Section */
.testimonials { background-color:#f2f1f7; }

.testimonial-feature__quote { font-size:1.3em; }

.report-feature { background-color:white; border-radius:5px; margin-bottom:1rem; padding:1.3rem; font-size:0.9em; }
.report-feature:last-child { margin-bottom:0; }
.report-feature p { margin-bottom:0; }
.report-feature__info a { margin-top: 1rem; display:inline-block; }

.feature-box p { font-size:1.2em; }

@media (min-width: 576px) {
	.testimonials { padding:50px 0 25px; }
	
	.report-feature {
		margin-bottom:1rem;
		display:flex;
		align-items: center;
		padding:1.5em 5em 1.5em 1.5em;
	}
	
	.report-feature__logo { float:left; width:30%; }
	.report-feature__info { float:right; width:70%; padding-left:1rem; }
	
}

@media (min-width:769px) {
	.testimonials { padding:110px 0 50px; }
	
	.testimonial-feature-wrap { display:flex; align-items:center; }
	.testimonial-feature__quote { font-size:1.5em; line-height:1.8; }
	
}

/* Integrations Section */
.integrations {}

@media (min-width: 576px) {
	.integrations {
		text-align:center;
		padding:70px 0 50px;
	}
}

@media (min-width:769px) {
	.integrations {
		text-align:center;
		padding:140px 0 90px;
	}
	
	.integrations .section-heading { margin-bottom:1rem; }
	.integrations .section-info { margin-bottom:6rem; }
}

/* Customers Section */
.customers {
	-webkit-box-shadow: 0 0 10px #ccc;
	box-shadow: 0 0 10px #ccc;
	position: relative;
}

@media (min-width: 576px) {
	.customers {
		text-align:center;
		padding:50px 0;
	}
}

@media (min-width:769px) {
	.customers {
		text-align:center;	
		padding:90px 0;
	}
	
	.customers .section-heading { margin-bottom:1rem; }
	.customers .section-info { margin-bottom:6rem; }
}

/* Request Demo Section */
.demo {
	background-image:url(img/hex-bg-2.jpg);
}

.demo h3 {
	font-size:1.5em;
}

.support {
	padding:20px;
	background-color:white;
	border-radius:5px;
	-webkit-box-shadow: 0 0 10px #ccc;
	box-shadow: 0 0 10px #ccc;
}

.support img {
	max-width:230px;
}

@media (min-width: 576px) {
	.demo {
		padding:60px 0;
	}
}


@media (min-width:769px) {
	.demo {
		padding: 120px 0 110px;
	}
	
	.demo h3 {
		font-size:2em;
	}		
}

@media (min-width: 1200px) {
	.support {
		padding:50px 100px;
	}
}

/* Footer */
.footer {
	background-color:#000;
	padding:40px 0;
	font-size: .8em;
    color: #bbb;
	text-align:center;
}
.footer a,
.footer p,
.footer ul {
    color:inherit;
    font-size: inherit;
}
.footer ul {
	list-style-type:none;
}
.footer li {
    padding: 0 5px;
	line-height: 2em;
}

@media (min-width: 576px) {
	.footer li { display:inline-block; }
}

@media (min-width:769px) {
	.footer { text-align:left; }	
}

/* Form */
/* ---- */
.form-input { margin-bottom:20px; }

.input__firstName, .input__lastName {
	width:49%;
	float:left;
}

.input__firstName {
	margin-right:2%;
}

.form-input label { font-size:14px; color:#4d4f53; }
.form-input input[type="text"],
.form-input select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #252525;
	border: 2px solid #e1e0df;
	border-radius: 0;
	outline: 0;
	width: 100%;
	max-width: 100%;
	box-shadow: none;
	display: block;
	font-size: 16px;
	line-height: 46px;
	height: 50px;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-style: normal;
	background: #fff;
	padding: 0 12px;
}

.form-input select {
    background: url(img/select-arrow.png) 95% center no-repeat #fff;
    background-size: 18px 10px;
}

.form-input button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:none;
	padding:10px 20px;
	cursor:pointer;
}

.form-input button.disabled {
	background-color: #ccc;
    cursor: default;
}

.form-input input.error,
.form-input select.error {
	border-color:red;
}
.form-input label.error {
	color:red;
}
