/* -------------------------------------------------- */
/* Reset - http://purecss.io/base
/* -------------------------------------------------- */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section, main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}.hide{display:none;}html{box-sizing: border-box;}*,*:before,*:after{box-sizing:inherit;}.clear{font-size:0px;clear: both;height: 0px;}*:focus{outline: none;}strong{font-weight:bold;}em{font-style:italic;}input:invalid{box-shadow: none;}button{border:none;background:none;padding:0;margin: 0;}button::-moz-focus-inner{border:0;}input,button{border-radius:0;border-radius:none;}html{scroll-behavior: smooth;}

/* -------------------------------------------------- */
/* Common
/* -------------------------------------------------- */
body{
	background: #121640;
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	color: #000;
}
a{
	color: #47a442;
}
a:hover{
	text-decoration: none;
}
.dark-bg a{
	color: #fff;
}
strong{
	font-weight: 700;
}
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}
p{
	line-height: 1.6em;
	margin: 1em 0;
}
p.links{
	display: flex;
	align-items: center;
	margin: -12px;
}
p.links a{
	margin: 12px;
}
.text-center{
	text-align: center;
}
.text-center p.links,
p.links.text-center{
	justify-content: center;
}
.lrg-text{
	font-size: 21px;
}
ul.checks{
	margin: 0 0 1.6em 0;
}
ul.checks.pad{
	padding-top: 1.5em;
}
ul.checks.checks-2-cols{
	display: flex;
	flex-wrap: wrap;
	align-items: start;
}
ul.checks.checks-2-cols li{
	width: 50%;
	padding: 0 1em 0 27px;
}
ul.checks li{
	background: url('/assets/images/check.svg') no-repeat left .25em;
	padding: 0 0 0 27px;
	line-height: 1.6em;
	margin-bottom: .4em;
}
ul.checks.file-types li{
	position: relative;
}
ul.checks.file-types ul{
  background: rgba(0,0,0,.9);
	display: block;
	column-count: 2;
	visibility: hidden;
	opacity: 0;
  position: absolute;
  z-index: 1;
  left: 0; 
  right: 0; 
  margin-left: auto; 
  margin-right: auto; 
  padding: 18px;
  width: 100%;
  max-width: 400px;
  border-radius: 9px;
  bottom: 130%;
  -webkit-transition: opacity .25s; /* Safari */
  transition: opacity .25s;
}
ul.checks.file-types ul.just-text{
	column-count: 1;
}
ul.checks.file-types ul.just-text li{
	background: none;
	padding-left: 0;
}
ul.checks.file-types ul li{
	background: url('/assets/images/bullet.svg') no-repeat left .5em;
	background-size: 3px 3px;
	padding: 0 1em 0 9px;
	width: auto;
	color: #fff;
	line-height: 1.2em;
	font-size: 13px;
	text-decoration: none;
}
ul.checks.file-types li:hover{
	cursor: default
}
ul.checks.file-types li:hover ul{
	visibility: visible;
	opacity: 1;
}
.info{
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url('/assets/images/info.svg') no-repeat;
	opacity: .3;
	-webkit-transition: opacity .25s; /* Safari */
	transition: opacity .25s;
	margin: 0 0 -4px 4px;
}
ul.checks.file-types li:hover .info{
	opacity: 1;
}
img.flex{
	width: 100%;
	height: auto;
}
ol{
	padding: 1em;
	list-style-type: num;
	list-style-position: inside;
}
ol li{
	padding-bottom: .8em;
}
ol p{
	display: inline;
	padding: 0;
	margin: 0;
}
figure img{
	width: 100%;
	height: auto;
}
figure.block-img-right{
	float: right;
	margin: 1em 0 1em 1em;
}

/* -------------------------------------------------- */
/* Containers
/* -------------------------------------------------- */
.container,
.container-xsm,
.container-sm,
.container-lg{
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 36px;
}
.container-xsm{
	max-width: 900px;
}
.container-sm{
	max-width: 1100px;
}
.container-lg{
	max-width: 1600px;
}

/* -------------------------------------------------- */
/* Headers
/* -------------------------------------------------- */
h1, h2, h3, h4{
	line-height: 1.2em;
	font-weight: 900;
}
h1{
	font-size: 51px;
}
h2{
	font-size: 30px;
}
h3{
	font-size: 24px;
}
h4{
	font-size: 18px;
}
.main h2, 
.main h2, 
.main h3{
	padding-top: 1em;
}

.hdl{
	font-family: 'Nunito Sans', sans-serif;
	font-weight: 900;
}
.sur{
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 1px;
	opacity: .7;
}

/* -------------------------------------------------- */
/* Header
/* -------------------------------------------------- */
header{
	position: absolute;
	z-index: 100;
	padding: 18px 0;
	width: 100%;
	height: 84px;
}
header .container,
header .container-lg{
	display: flex;
	align-items: center;
}
.logo{
	width: 186px;
	height: 49px;
	overflow: hidden;
}
.logo svg{
	width: 186px;
	height: 49px;
}
.logo svg .elements rect,
.logo svg .elements path{
	fill:#47a442;
}
.logo svg .text polygon,
.logo svg .text path,
.logo svg .text rect{
	fill: #fff;
}
nav.prime{
	margin-left: auto;
}
nav.prime ul{
	display: flex;
	align-items: center;
	margin: 0 -18px;
}
nav.prime li{
	padding: 0 18px;
}
nav.prime a{
	display: block;
	padding-top: 4px;
	text-decoration: none;
	color: #47a442;
	color: #fff;
	font-weight: 600;
	-webkit-transition: color .25s; /* Safari */
	transition: color .25s;
}
nav.prime hr{
	padding-top: 3px;
	margin: 0;
	border: none;
	border-bottom: 1px solid #fff;
	width: 0;
	-webkit-transition: width .25s; /* Safari */
	transition: width .25s;
}
nav.prime a:hover,
nav.prime .active a{
	color: #fff;
}
nav.prime a:hover hr,
nav.prime .active a hr{
	width: 100%;
}

/* -------------------------------------------------- */
/* Buttons
/* -------------------------------------------------- */
.prime a.btn,
a.btn,
button.btn{
	display: inline-flex;
	align-items: center;
	padding: 0 24px;
	height: 48px;
	border-radius: 24px;
	background-color: rgba(80,184,74,1);
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	-webkit-transition: background-color .25s, color .25s; /* Safari */
	transition: background-color .25s, color .25s;
}
a.btn:hover,
button.btn:hover{
	cursor: pointer;
	background-color: rgba(20,25,73,1);
}
.dark-bg a.btn:hover,
.dark-bg button.btn:hover{
	background-color: rgba(255,255,255,1);
	color: #141949;
}
button.btn{
	font-size: 16px;
}

/* -------------------------------------------------- */
/* Sections
/* -------------------------------------------------- */
.sec{
	padding: 108px 0;
}
.sec-intro{
	margin: 0 0 1em 0;
}
.dark-bg h1,
.dark-bg p,
.dark-bg li{
	color: #fff;
}
p.blurb{
	display: inline-block;
	width: 80%;
}

figure.screenshot{
	border: 1px solid #e7e6ec;
	border-radius: 18px;
	padding: 18px;
	margin: 0;
	background: #fff;
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	box-shadow: 0 0 18px rgba(0,0,0,.075);
}
figure.screenshot img{
	width: 100%;
	height: auto;
}

/* -------------------------------------------------- */
/* Modals
/* -------------------------------------------------- */
.modal {
  display: none;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: none;
  overflow: hidden;
  background-color: rgba(0,0,0, 0.5);
  z-index: 9999;
}
.modal-window {
  position: relative;
  background-color: #ffffff;
  width: 100%;
  max-width: 640px;
  height: 100%;
  max-height: 640px;
  padding: 48px 24px;
  box-shadow: 0 0 18px rgba(0,0,0,.2);
  overflow-y: auto;
}
.modal-window.video-modal-window{
	padding: 0;
	max-width: 1280px;
	height: auto;
	max-height: 720px;
	overflow: hidden;
}
.modal-window.video-modal-window .video{
	margin: 0;
}
.close {
    position: absolute;
    top: 9px;
    right: 9px;
    color: #22262a;
    height: 30px;
    width: 30px;
    font-size: 30px;
    line-height: 30px;
    text-align: center;
}
.close:hover,
.close:focus {
    cursor: pointer;
}
.open {
    display: flex;
}
body.active-modal{
	overflow: hidden;
}

/* -------------------------------------------------- */
/* Columns
/* -------------------------------------------------- */
.cols-2,
.cols-3{
	display: flex;
	flex-wrap: wrap;
	margin: -36px;
	align-items: center;
}
.cols-2.align-top,
.cols-3.align-top{
	align-items: start;
}
.cols-2.pad{
	padding: 2em 0;
}
.cols-2 .col,
.cols-3 .col{
	width: 50%;
	padding: 36px;
}
.cols-3 .col{
	width: 33.33%;
}
.cols-flip{
	flex-direction: row-reverse;
}

/* -------------------------------------------------- */
/* Hero
/* -------------------------------------------------- */
.hero{
	background-color: #141949;
	background-image: linear-gradient(to bottom right, #141949, #262f89);
	line-height: 0;
}
.hero-bg{
	background: url('/assets/images/check-bg.webp') no-repeat 60% bottom;
	padding: 120px 0 54px 0;
}
.hero .col:last-child{
	overflow: hidden;
	margin-bottom: -54px;
	padding-left: 0;
}
.hero h1{
	font-size: 54px;
}
.hero p.blurb{
	font-size: 18px;
	padding: .5em 0;
	width: 100%;
}

/* -------------------------------------------------- */
/* Features/Benefits
/* -------------------------------------------------- */
.middle-vrt-line{
	width: 50%;
	height: 54px;
	border-right: 1px solid #e8e7ed;
}
.middle-vrt-line.short{
	height: 27px;
}
.features-sec .cols-2{
	box-shadow: 0 0 36px rgba(0,0,0,.075);
	border-top: 1px solid #e8e7ed;
	border-bottom: 1px solid #e8e7ed;
	border-radius: 36px;
	margin: 0;
}
.features-sec .cols-2.shot{
	padding: 36px;
}
.vault{
	text-align: center;
}
.vault img{
	width: 100%;
	max-width: 400px;
	height: auto;
	margin-top: -36px;
}


/* -------------------------------------------------- */
/* Facts
/* -------------------------------------------------- */
.fact-sec{
	bbackground-color: #141949;
	background-image: linear-gradient(to bottom right, #141949, #262f89);
	color: #fff;
}
.facts{
	display: flex;
	flex-wrap: wrap;
	margin: -9px;
	padding: 2em 0;
}
.facts .item{
	padding: 9px;
	width: 33.33%;
}
.facts p{
	background: rgba(255,255,255,.01);
	padding: 36px;
	box-shadow: 0 0 36px rgba(0,0,0,.3);
	border: 1px solid rgba(255,255,255,.05);
	border-radius: 9px;
	margin: 0;
	height: 100%;
}
.facts .num{
	display: block;
	font-size: 72px;
	font-weight: 700;
	line-height: 1em;
	margin-bottom: 18px;
}
.facts .text{
	display: block;
	opacity: .8;
	line-height: 1.5em;
}

/* -------------------------------------------------- */
/* Partner Section
/* -------------------------------------------------- */
.partners-sec{
	background: #eeece3;
}

/* -------------------------------------------------- */
/* FAQs
/* -------------------------------------------------- */
.faq-sec .cols-2{
	align-items: start;
}
.faqs{
	border-bottom: 1px solid #e8e7ed;
}
.faq .q{
	display: flex;
	align-items: center;
	border-top: 1px solid #e8e7ed;
	padding: 18px 0;
	font-weight: 700;
}
.faq:first-child .q{
	border-top: none;
}
.faq .q span{
	flex-grow: 1;
	display: block;
	padding-right: 18px;
	line-height: 1.4em;
}
.faq .q button{
	flex: 0 0 48px;
}
.faq .a{
	padding: 0 66px 18px 0;
	display: none;
}
.faq.show .a{
	display: block;
}

.btn-icon{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	border-radius: 24px;
	background-color: rgba(20,25,73,.075);
	-webkit-transition: background-color .25s, transform .25s;  
	transition: background-color .25s, transform .25s; 
}
.btn-icon svg{
	fill: #141949;
	pointer-events: none;
}
.btn-icon:hover,
.faq .q:hover .btn-icon{
	cursor: pointer;
	background-color: rgba(20,25,73,1) !important;
}
.faq .q:hover{
	cursor: pointer;
}
.btn-icon:hover svg,
.faq .q:hover .btn-icon svg{
	fill: #fff;
}
.faq.show .btn-icon{
	transform: rotate(180deg);
}

/* -------------------------------------------------- */
/* CTA
/* -------------------------------------------------- */
.cta-sec{
	background-color: #141949;
	background-image: linear-gradient(to bottom right, #141949, #262f89);
	color: #fff;
}

/* -------------------------------------------------- */
/* Responsive video
/* -------------------------------------------------- */
.video { 
	position: relative; 
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
} 
.video iframe, .video object, .video embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* -------------------------------------------------- */
/* Template Landing
/* -------------------------------------------------- */
body.temp{
	background: #1a124c;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.temp .logo{
	width: auto;
	height: 100px;
}
.temp .logo .elements rect,
.temp .logo .elements path{
	fill:#47a442;
}
.temp .logo .text polygon,
.temp .logo .text path{
	fill: #ffffff;
}

/* -------------------------------------------------- */
/* Interior: Page Header
/* -------------------------------------------------- */
.pg-hd{
	background: #141949 url('/assets/images/check-bg.webp') no-repeat 60% bottom;
	padding: 192px 0 54px 0;
	display: flex;
	align-items: center;
}
.pg-hd h1{
	font-size: 54px;
}
.pg-hd p{
	font-size: 18px;
}

/* -------------------------------------------------- */
/* Interior: Main
/* -------------------------------------------------- */
.main{
	padding: 54px 0 108px 0;
}

/* -------------------------------------------------- */
/* Team  
/* -------------------------------------------------- */
.team{
	padding: 2em 0;
}
.team-cards{
	display: flex;
	flex-wrap: wrap;
	margin: -12px;
}
.team-cards .card{
	width: 25%;
	padding: 12px 12px 24px 12px;
}
.team-cards .img{
	position: relative;
	border-radius: 18px;
	box-shadow: 0 0 18px rgba(0,0,0,.1);
	overflow: hidden;
	margin-bottom: 12px;
	line-height: 0;
}
.team-cards .img .btn-icon{
	background-color: rgba(255,255,255,.5);
	position: absolute;
	top: 12px;
	right: 12px;
}
.team-cards h3{
	padding: 0 0 6px 0;
}
.team-cards .position{
	opacity: .6;
	font-size: 15px;
}
.team-cards .modal img{
	width: 280px;
	height: auto;
	float: right;
	border-radius: 18px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	margin: 0 -24px 24px 24px;
}
.team-cards .modal .btn-icon{
	position: absolute;
	top: 24px;
	right: 24px;
}

/* -------------------------------------------------- */
/* Contact form 
/* -------------------------------------------------- */
.cform{
	padding: 2em 0;
}
.form-row{
	padding-bottom: 12px;
}
.form-cols{
	display: flex;
	flex-wrap: wrap;
	margin: -6px;
}
.form-cols div{
	padding: 6px;
	width: 50%;
}
@media screen and (max-width: 600px) {
	.form-cols div{
		width: 100%;
	}
}
.form-row label{
	display: block;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	padding-bottom: 6px;
}
input, select, textarea{
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	color: #000;
	width: 100%;
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
}
p.alert{
	color: red;
}

/* -------------------------------------------------- */
/* Footer 
/* -------------------------------------------------- */
footer{
	background: #efefef;
	padding: 54px 0;
}
footer .logo,
footer .logo svg{
	width: 186px;
	height: auto
}
footer .logo svg .text polygon,
footer .logo svg .text path,
footer .logo svg .text rect{
	fill: #141949;
}
.foot-cols{
	display: flex;
	flex-wrap: wrap;
	margin: -27px;
}
.foot-cols .col{
	padding: 27px;
	flex-grow: 1;
}
footer p{
	margin: 0 0 1.6em 0;
}
footer h3{
	color: #1f2670;
	padding: 0;
	margin-bottom: .5em;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
}
ul.foot-nav{
	margin-bottom: 1em;
}
ul.foot-nav a{
	display: block;
	padding: 6px 0;
}
ul.social{
	display: flex;
	justify-content: center;
	margin: -3px;
}
ul.social li{
	padding: 3px;
	background: none;
	line-height: 0;
	margin: 0;
}
ul.social span{
	display: none;
}
ul.social a{
	display: block;
	width: 36px;
	height: 36px;
	background: #141949 no-repeat center;
	background-size: auto 18px;
	border-radius: 21px;
}
ul.social a.x{
	background-image: url('/assets/images/twitter-x.svg');
}
ul.social a.fb{
	background-image: url('/assets/images/facebook.svg');
}
ul.social a.insta{
	background-image: url('/assets/images/instagram.svg');
}
ul.social a.li{
	background-image: url('/assets/images/linkedin.svg');
}

/* -------------------------------------------------- */
/* Mobile Navigation
/* -------------------------------------------------- */
#page{
	background: #ffffff;
	position: relative;
	z-index: 20;
	width: 100%;
	background: #fff;
	-webkit-transition: all .25s; /* Safari */
	transition: all .25s;
}
#page.show{
	transform: translateX(-240px);
}
.mnav{
	position: fixed;
	z-index: 10;
	height: 100vh;
	overflow-y: scroll;
	width: 240px;
	padding: 18px;
	top: 0;
	right: 0;
}
.mnav li{
	border-bottom: 1px solid rgba(255,255,255,.15);
}
.mnav li:last-child{
	border: none;
}
.mnav a{
	display: block;
	padding: 18px 0;
	color: #fff;
	text-decoration: none;
}
.btn-mnav{
	display: none;
	background: url('/assets/images/menu.svg') no-repeat center;
}
#page.show .btn-mnav{
	background-image: url('/assets/images/close.svg');
}

/* -------------------------------------------------- */
/* Breaking Points
/* -------------------------------------------------- */
@media screen and (max-width: 1279px) {
	.hero. h1, h1{ font-size: 42px; }
	.hero img.flex{ min-width: 600px; }
	.facts .item{ width: 50%; }
	.facts p{ padding: 36px; }
	ul.checks.checks-2-cols li{ width: 100%; }
}
@media screen and (max-width: 1019px) {
	.hero .cols-2 .col{
		width: 100%;
		text-align: center;
	}
	.hero img.flex{ max-width: 600px; }
	.links{
		justify-content: center;
		text-align: centercenter;
	}
}
@media screen and (max-width: 1079px) {
	nav.prime ul, nav.primary{ display: none; }
	.btn-mnav{ display: block; }
}
@media screen and (min-width: 1080px) {
	#page.show{
		transform: translateX(0);
	}
}
@media screen and (max-width: 800px) {
	.cols-2 .col, .cols-3 .col{ width: 100%; }
	.features-sec .cols-2{ flex-direction: column-reverse; }
	p.blurb{ width: 100%; }
	.facts .item{ width: 100%; }
	.facts p{ padding: 36px 18px; text-align:center;}
	.foot-cols .col{ width: 100%; text-align: center;}
}
@media screen and (max-width: 640px) {
	.hero. h1, h1{ font-size: 39px; }
	.hero img.flex{ min-width: 450px; }
	.sec{ padding: 54px 0; }
	.container,
	.container-xsm,
	.container-sm,
	.container-lg{
		padding: 0 18px;
	}
	.cols-2{ margin: -18px; }
	.cols-2 .col{ padding: 18px; }
	.middle-vrt-line{ height: 24px; }
}
@media screen and (max-width: 500px) {
	.hero h1, h1{ font-size: 39px; }
	h2{ font-size: 24px; }
	nav.footer li{
		padding: 6px 0;
		width: 100%;
		border: none;
	}
	/*ul.file-types .info,
	ul.file-types.checks-2-cols ul{
		display: none;
	}*/
}