/* http://meyerweb.com/eric/tools/css/reset/ */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

@font-face {
  font-family: "apercu";
  font-weight: normal;
  src: url("apercu_light.otf") format("opentype");
  font-display: swap;
}

body {
  -webkit-text-size-adjust: none;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  font-family: 'apercu', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: rgb(242,247,252);
  line-height: 1.6;
  background: rgb(0,0,0);
}

html, body {
  overflow-x: hidden;
}
a {
  /* Underline draws a waaaay too thick border. Use border-bottom instead */
  text-decoration: none;
  border-bottom: 1px solid rgb(242,247,252);
  color: rgb(242,247,252);
}
a:hover {
  border-bottom: none;
  cursor: pointer;
}

.section-outer {
  padding: 0 28px;
}

.section-inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
/* Mobile */
body {
   font-size: 16px;
}
h1 {
  line-height: 1.3;
  font-size: 25px;
  text-align: center;
}
h2, h3 {
  line-height: 1.3;
  font-size: 25px;
}

/* Desktop */
@media (min-width: 600px) {
  body {
    font-size: 21px;
  }
  h1 {
    font-size: 40px;

  }
  h2, h3 {
    font-size: 31px;
  }
}

.darkGray {
  background: rgb(15,16,16);
}

.lightGray {
  background: rgb(22,24,26);
}


/* ################################# */
/* Title section */
/* ################################# */

#title {
  position: relative;
  z-index: 99; /* Display over the wall div */
  padding-top: 60px;
  padding-bottom: 40px;
}

@media (min-width: 600px) {
  /* Desktop paddings and margins */
  #title {
    padding-top: 118px;
    padding-bottom: 83px;
  }
}

/* ################################# */
/* Device section */
/* ################################# */

#device {
  position: relative;
}
#device img {
  max-width: 100%;
  width: 100%;
  max-height: 100%;
  height: 100%;
}
#device .spacer {
  visibility: hidden;
}
#device .wall-outer {
  /* Same size as entire device section. text-align: center so child element .wall-inner is centered */
  position: absolute;
  margin: 0 auto;
  height: 100%;
  width:100%;
  text-align: center;
}
#device .wall-inner {
  /* inline-block so element's width is defined by the spacer image it contains */
  position: relative;
  display: inline-block;
}
#device .wall-inner-1 {
  /* Set a padding-bottom than is a percentage of parents width */
  width: 100%;
  height: 100%;

  /* Aligns the wall with the shadow */
  padding-bottom: 77%;
  position: absolute;
  top: 0;
}
#device .wall-inner-2 {
  /* A container with position: relative so child elements position is in relation to this element */
  height: 100%;
  width: 100%;
  position: relative;
}
#device .wall-inner-3 {
  /* The actual wall */
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 8000px;
  margin-left: -4000px; /* Half of width above */

  /* Rotation */
  transform: rotate(-14.7deg);
  transform-origin: bottom center;

  /* Gradient background */
  height: 1150px;
  background-image: url("images/bg_gradient.png");
  background-size: contain;
  background-repeat: repeat-x;
}

#device .iphone-outer {
  text-align: center;
  position: relative;
  margin: 0 auto;
  height: 100%;
  width:100%;
  max-width: 892px;
  background-image: url("images/phone.png"); /* The device as backgroud image */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#device .iphone-inner {
  display: inline-block;
  position: relative;
}
#device .iphone-inner .screenshot {
  position: absolute;
  top:0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 600ms ease-in-out;
  -moz-transition: opacity 600ms ease-in-out;
  -o-transition: opacity 600ms ease-in-out;
  transition: opacity 600ms ease-in-out;
  height: 100%;
  width: 100%;
}
#device .iphone-inner .screenshot.visible {
  opacity: 1;
}
#device .iphone-inner .glare {
  position: absolute;
  top:0;
  height: 100%;
  width: 100%;
}


/* ################################# */
/* App store section */
/* ################################# */

#appstore {
  text-align: center;
}
#appstore p.watch svg {
  fill: rgb(242,247,252);
  vertical-align: middle;
  margin-right: 10px;
  position: relative;
  top: -1px;
}

#appstore a.download {
  display: inline-block;
  text-decoration: none;
  border-bottom: none;
}
#appstore a.download svg {
  vertical-align: top;
}

#appstore .apple-text {
  font-size: 10px;
  color: rgb(195, 199, 206);
}

/* Mobile paddings and margins */
#appstore {
  padding-top: 55px; /* From gray section to text */
}
#appstore p.watch {
  margin-top: 24px;
}
#appstore a.download {
  margin-top: 35px;
  margin-bottom: 75px;
}
#appstore .apple-text {
  padding-bottom: 15px;
}
#appstore a.download svg {
  width: 216px; /* Just has to be big enought to contain the svg */
  height: 64px;
}

@media (min-width: 600px) {
  /* Desktop paddings and margins */
  #appstore {
    padding-top: 80px; /* From gray section to text */
  }
  #appstore br {
    display: none
  }
  #appstore p.watch {
    margin-top: 40px;
  }
  #appstore a.download {
    margin-top: 60px;
    margin-bottom: 115px;
  }
  #appstore .apple-text {
    padding-bottom: 22px;
  }
  #appstore a.download svg {
    width: 285px; /* Just has to be big enough to contain the svg */
    height: 84px;
  }
}



/* ################################# */
/* Info section */
/* ################################# */

/* Mobile paddings and margins */
#info {
  padding-top: 74px;
  padding-bottom: 80px;
}
#info h2 {
  margin-bottom: 65px;
  margin-bottom: 50px;
}
#info h3 {
  margin-bottom: 6px;
}
#info .left {
  margin-bottom: 50px;
}

@media (min-width: 600px) {
  /* Desktop paddings and margins */
  #info {
    padding-top: 155px;
    padding-bottom: 165px;
  }
  #info h2 {
    margin-bottom: 100px;
  }
  #info h3 {
    margin-bottom: 7px;
  }
  #info .left, #info .right {
    display: table-cell;
    vertical-align: top;
    width: 50%;
  }
  #info .left {
    padding-right: 18px;
  }
  #info .right {
    padding-left: 18px;
  }
  #info .left-right-container {
    display: table;
    width: 100%;
  }
}
@media (min-width: 1012px) {
  /* Avoid ugly linebreak in RAC quote on desktop */
  #info .quote.rac {
    padding-right: 56px;
  }
}





/* ################################# */
/* Milestones section */
/* ################################# */

#milestones .item {
  margin-bottom: 55px;
}
#milestones .item:last-of-type {
  margin-bottom: 0;
}
#milestones p.date {
  font-size: 13px;
  color: rgb(242,247,252);
  margin-bottom: 3px;
  letter-spacing: 0.5px;
}

/* Mobile paddings and margins */
#milestones {
  padding-top: 74px;
  padding-bottom: 90px;
}

@media (min-width: 600px) {
  /* Desktop paddings and margins */
  #milestones {
    padding-top: 130px;
    padding-bottom: 150px;
  }
}






/* #################################
/* Footer section */
/* ################################# */
#footer .section-inner {
  text-align: center;
  font-size: 12px;

}
#footer a {
  /* For links we user a border instead of text-decoration: underline */
  /* Make sure we change the color so it matches the text */
  color: rgb(150,150,150);
  border-color: rgb(150,150,150);
}

/* Mobile paddings and margins */
#footer {
  padding-top: 86px;
  padding-bottom: 15px;
  color: rgb(150,150,150);
}
#footer svg {
  margin-bottom: 63px;
  width: 100px;
  height: 82px; /* Just has to be big enough to contain the svg */
}
@media (min-width: 600px) {
  /* Desktop paddings and margins */
  #footer {
    padding-top: 234px;
    padding-bottom: 22px;
  }
  #footer svg {
    margin-bottom: 200px;
    height: 121px;
    width: 144px; /* Just has to be big enought to contain the svg */
  }
}
