*{
  margin: 0;
  padding: 0;
  box-sizing:border-box;
}

body{
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 27px;
  color:#1D3157;
  background-color:#162B46;
}
body.preload a{
  transition: none !important;
}
.white{
  background-color:#FFF;
}

img{
  border: 0;
  max-width:100%;
  vertical-align:middle;
}

a{
  text-decoration: none;
  cursor:pointer;
  color:#304e5a;
  transition:.7s all;
}
a:focus{
  outline: none;
}
a:hover{
  color:#0072bc;
  transition:.3s all;
}


h3{
  font-size: 35px;
  line-height: 40px;
  font-weight:700;
  margin-bottom: 20px;
  margin-top: 50px;
}
h3:first-child{
  margin-top:0;
}

p{
  margin-bottom: 20px;
}

ul, ol{
  margin: 0 0 15px 30px;
}
ol li{
  margin-bottom: 10px;
}

b,strong{
  font-weight:700;
}

.clear{
  clear:both;
}

.break{
  height: 10px;
}


.container{
  max-width: 2000px;
  margin: 0 auto;
  padding: 0 5vw;
}
.container.narrow{
  max-width:900px;
}
.container.med{
  max-width:1200px;
}
.container.terms{
  text-align:left;
  max-width: 900px;
}

.terms h1{
  font-size: 40px;
  line-height: 40px;
  font-weight:700;
  margin-bottom: 50px;
}
.terms h2{
  font-size: 25px;
  line-height: 30px;
  font-weight:700;
  margin-bottom: 10px;
  margin-top: 50px;
}


.header, .footer{
  position:relative;
  background-color:#1D3157;
  height: 75px;
  overflow:hidden;
  padding: 7px 5vw 5px 5vw;
}
.header h1 img, .footer h1 img{
  height: 60px;
  display:block;
  float:left;
}

.header ul{
  float:right;
  display:inline;
}
.header ul li{
  display:inline;
}
.header ul li a{
  display:inline-block;
  color:#FFF;
  margin-left: 25px;
  font-size: 16px;
  line-height: 45px;
}

.header ul li a:hover, .footer ul li a:hover{
  color:#AEC4E6;
}
.header ul li a.current, .footer ul li a.current{
  font-weight:700;
}

.header a.button{
  margin-top: 10px;
  padding: 0 25px !important;
  line-height: 40px;
}
.header a.button.login{
  margin-left: 10px;
}


.home{
  background-position: center center;
  background-repeat: no-repeat;
  background-size:cover;
  text-align:left;
  color: #1D3157;
}
.home .mobilefade{
  height: 80vh;
  max-height: 1200px;
}

.home .welcome{
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
.welcome h2{
  font-size: 90px;
  line-height: 100%;
  font-weight:700;
  margin-bottom: 30px;
}

.welcome p{
  font-size: 32px;
  line-height:110%;
  font-weight:600;
  margin-bottom: 30px;
}


.button{
  display:inline-block;
  border: 1px solid #FFF;
  border-radius: 5px;
  padding: 10px 45px;
  font-weight:700;
  color:#FFF;
  font-size: 18px;
  background-color:#1D3157;
  cursor:pointer;
  transition:.7s background-color,.7s border-color;
}
.button:hover{
  background-color:#000;
  border-color:#000;
  color:#FFF !important;
  transition:.3s background-color, .3s border-color;
}

.button.greenbutton{
  background-color:#85C441;
  border-color:#85C441;
}
.button.greenbutton:hover{
  background-color:#1D3157;
  border-color:#fff;
  color:#FFF;
}

.how{
  display:flex;
  background-color:#1D3157;
  color:#FFF;
}
.how .third{
  width: 33.3333333%;
  padding: 5vw;
}
.how .twothirds{
  width: 66.6666666%;
  background-size:cover;
  background-position:center center;
}

.centered{
  text-align:center;
}

.play{
  display:inline-block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 auto;
  width: 150px;
  transition:.7s width;
}
.play:hover{
  width: 180px;
  transition:.3s width;
}


.steps{
  display:flex;
}
.steps .step{
  display:block;
  width:33.3333333333%;
  text-align:center;
  padding: 5vw;
  color:#FFF;
  position:relative;
  overflow:hidden;
}
.steps .step h3{
  margin-top:0;
}
.steps .step img{
  height: 70px;
  transition:.3s height, .3s margin-bottom;
  margin-bottom: 10px;
}
.steps .step:hover img{
  height: 80px;
  margin-bottom:0;
  transition:.3s height, .3s margin-bottom;
}

.steps .step .number{
  position:absolute;
  left:0;
  top:0;
  font-size: 370px;
  line-height:100%;
  font-weight:700;
  color:rgba(255,255,255,.03);
}

.steps .step:nth-child(1){
  background-color:#1B3157;
}
.steps .step:nth-child(2){
  background-color:#23446F;
}
.steps .step:nth-child(3){
  background-color:#27577E;
}


.greenfeature{
  background-color:#85C441;
  color:#FFF;
  padding: 5vw 0;
  text-align:center;
  position:relative;
  font-size: 20px;
  line-height:30px;
}
.greenfeature .magnify{
  position:absolute;
  z-index:1;
  left: 5vw;
  top: 10%;
  height: 80%;
  opacity:.15;
}
.greenfeature .container{
  position:relative;
  z-index:2;
}

.greenfeature h2{
  font-size: 4vw;
  line-height: 100%;
  font-weight:700;
  color:#fff;
  margin-bottom: 30px;
}
.greenfeature .button.greenbutton{
  border-color:#fff;
}

.halves{
  display:flex;
}
.halves .half{
  width:50%;
  padding: 5vw;
  background-size:cover;
  background-position:center center;
}

.footer{
  padding-top:10px;
}
.footer ul{
  position:absolute;
  top:20px;
  left:0;
  width:100%;
  text-align:center;
}
.footer ul li{
  display:inline;
}
.footer ul li a{
  display:inline-block;
  color:#FFF;
  font-size: 16px;
  line-height: 20px;
  border-left: 1px solid #FFF;
  padding-left: 20px;
  margin-left: 20px;
}
.footer ul li:first-child a{
  border-left:0;
  padding-left:0;
  margin-left:0;
}

.footer h1{
  position:relative;
  z-index:1;
}

.footer .social{
  float:right;
  position:relative;
  z-index:1;
  padding-top:7px;
}
.footer .social img{
  width: 40px;
  transition:.5s transform;
}
.footer .social a{
  margin-left: 15px;
}
.footer .social a:hover img{
  transform:rotate(360deg);
  transition:.5s transform;
}

.copy{
  background-color:#162B46;
  color:#FFF;
  padding: 10px 5vw;
  font-size: 13px;
}
.copy a{
  color:#FFF;
  margin-left: 20px;
}


.top{
  background-position: center top;
  background-repeat: no-repeat;
  background-size:cover;
  background-image: linear-gradient(#1D3157,#12213A);
  /* border-top: 1px solid #FFF;*/
}
.top h2{
  color:#FFF;
  font-size: 90px;
  line-height: 100%;
  font-weight:700;
  text-align:center;
  margin:0;
  padding: 12vh 2vw;
}
.top h2.long{
  font-size: 60px;
}
.top.fullscreen{
  height: calc(100vh - 75px);
}

.stage{
  display:flex;
}

.stage .screenshot{
  width: 30%;
  background-color:#E2ECF1;
  position:relative;
  padding: 4vw 2vw;
}

.stage .explanation{
  width: 50%;
  background-color:#1B3157;
  padding: 4vw 2vw;
  color:#FFF;
}
.stage .explanation h3{
  color:#FFF;
  text-align:center;
}
.stage .explanation h3 + p{
  font-weight:700;
}

.stage .icon{
  width: 20%;
  background-color:#23446F;
  position:relative;
}
.stage .icon img{
  width: 50%;
}
.stage .iconvert{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  text-align:center;
  padding: 4vw 2vw;
}
.stage .iconvert img{
  position:relative;
  top: 50%;
  transform: translateY(-50%);
}

.stage .blogphoto{
  width:30%;
  background-color:#23446F;
  position:relative;
  padding: 4vw 2vw;
}
.stage .blog{
  width: 70%;
  padding: 4vw 2vw;
  background-color:#F1F1F2;
}
.stage .blog .date{
  font-size: 14px;
  color:#666;
}

.stage .blogphoto .date{
  color:#CCC;
  margin-top:25px;
}
.stage .blog .blog-article{
  max-width: 700px;
}

.transparent{
  background-color:#E2ECF1;
  padding: 60px 0 150px 0;
  text-align:center;
}


.bluepricing{
  background-color:#1B3157;
  position:relative;
}

.container.pullup{
  position:relative;
  top: -110px;
}
.pricing{
  border: 4px solid #FFF;
  border-bottom:none;
  background-color:#E2ECF1;
}
.row{
  display:flex;
  border-bottom: 4px solid #FFF;
}
.row.featured{
  background-color: #c8dfac;
}
.row.heading{
  background-color:#1B3157;
  color:#FFF;
  font-weight:700;
  text-transform:uppercase;
}

.row div{
  width:25%;
  text-align:center;
  padding: 20px 5px;
}

.row div.buy{
  padding:0;
}

.row .rrp{
  text-decoration: line-through;
}

.row .button{
  vertical-align:middle;
  margin-top: 7px;
  text-align:center;
}

.priceterms{
  color:#FFF;
  font-size: 14px;
  margin-top: 10px;
  margin-bottom:0;
}

.contact{
  display:flex;
}
.contact .contactleft{
  background-color:#1B3157;
  width:50%;
  padding: 5vw;
  position:relative;
}
.contact .contactleft.lighter{
  background-color:#23446F;
}
.contact .contactleft .contactcopy{
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  padding: 2vw;
  color:#FFF;
  text-align:center;
}

.contact .contactform{
  width:50%;
  padding: 5vw;
  background-color:#F1F1F2;
}

.input{
  background-color:#E6E7E8;
  padding: 15px;
  width:100%;
  margin-bottom: 20px;
  display:block;
  border:0;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  line-height: 27px;
  color:#1D3157;
}
textarea.input{
  height: 200px;
}
.input.halfinput{
  width:48%;
  display:inline-block;
}
.input.halfinput.righthalfinput{
  margin-left:4%;
}

.loginbox{
  background-color:#F1F1F2;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px;
}
.top.fullscreen{
  background-color:#23446F;
}
.top.fullscreen h2{
  padding-bottom: 40px;
}

.notice{
  background-color:#E6AC00;
  color:#FFF;
  padding: 30px;
  margin-bottom: 30px;
  font-weight:700;
  text-align:center;
}
.notice a{
  color:#FFF;
}

.forgotpass{
  float:right;
}

.owl img{
  display:block;
  width:100%;
}

.owl-nav, .owl-dots{
  display:none;
}



.leftalign{
  text-align:left;
}
.leftalign h3{
  text-align:center;
}

.blocklinks{
  list-style-type:none;
  margin:0;
  border-top: 1px solid #FFF;
}
.blocklinks a{
  display:block;
  border-bottom: 1px solid #FFF;
  padding: 10px 0;
  font-weight: 700;
}

.here{display:block;}
.gone{ display:none;}

.faqq{
  display: block;
  font-weight: bold;
  margin-top: 15px;
  font-size: 18px;
  line-height:30px;
}
.faqa{
  margin-bottom: 40px;
}



.margined{
  margin-top: 100px; 
  margin-bottom: 100px; 
}
