@font-face {
  font-family: 'RobotoMedium';
  src: url("/fonts/Roboto-Medium-webfont.eot");
  src: url("/fonts/Roboto-Medium-webfont.eot?#iefix") format("embedded-opentype"),
       url("/fonts/Roboto-Medium-webfont.woff") format("woff"),
       url("/fonts/Roboto-Medium-webfont.ttf") format("truetype"),
       url("/fonts/Roboto-Medium-webfont.svg#RobotoMedium") format("svg");
  font-weight: normal;
  font-style: normal;
}

body {
  background-color: #fff;
  background-image: url("../images/background.jpg");
  background-size: cover;
  margin: 0;
  padding: 0;
  font-family: 'RobotoMedium';
}

.wrapper {
  width: 98%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

.display {
  position: relative;
  height: 800px;
  overflow: visible;
}

.mockups {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
}

.desktop {
  position: absolute;
  width: 566px;
  height: 538px;
  background-image: url("../images/large-screen-optimised.png");
  top: 0;
  left: 60px;
  z-index: 1;
}

.desktop iframe {
  left: 28px;
  top: 38px;
  width: 1600px;
  height: 992px;
  transform: scale(0.3181);
  transform-origin: top left;
  position: relative;
}

.laptop {
  position: absolute;
  width: 477px;
  height: 307px;
  background-image: url("../images/laptop-screen-optimised.png");
  top: 264px;
  left: 400px;
  z-index: 2;
}

.laptop iframe {
  width: 1280px;
  height: 802px;
  top: 26px;
  left: 60px;
  transform: scale(0.277);
  transform-origin: top left;
  position: relative;
}

.tablet {
  position: absolute;
  width: 246px;
  height: 400px;
  background-image: url("../images/ipad-optimised.png");
  top: 230px;
  left: 0px;
  z-index: 3;
}

.tablet iframe {
  width: 768px;
  height: 1024px;
  top: 36px;
  left: 39px;
  overflow-y: hidden;
  position: relative;
}

.mobile {
  position: absolute;
  width: 95px;
  height: 196px;
  background-image: url("../images/iphone-optimised.png");
  top: 375px;
  left: 230px;
  z-index: 4;
}

.mobile iframe {
  width: 320px;
  height: 480px;
  top: 33px;
  left: 11px;
  overflow-y: hidden;
  position: relative;
}

.url {
  float: left;
  background-color: #cc4e46;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0px -2px 5px #333;
}

form {
  width: 85%;
  margin: 1em auto;
}

div {
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
}

iframe {
  transform-origin: top left;
  margin: 0;
  padding: 0;
  position: relative;
  background-color: #fff;
}

.about-tool {
  font-size: 1.2em;
  max-width: 64em;
  width: 80%;
  margin: 1em auto;
}

.about-tool li {
  margin-bottom: 0.5em;
  line-height: 1.2;
}

@media (max-width: 1160px) {
  .display {
    transform: scale(0.81);
    height: 550px;
  }
  input { width: 88%; }
}

@media (max-width: 1070px) {
  .display {
    transform: scale(0.75);
  }
}

@media (max-width: 1000px) {
  .display {
    transform: scale(0.71);
    height: 500px;
    top: -40px;
  }
}

@media (max-width: 850px) {
  .display {
    transform: scale(0.65);
    height: 500px;
  }
}

@media (max-width: 768px) {
  .display {
    transform: scale(0.55);
    height: 450px;
  }
  a.button {
    font-size: 1.6em;
    line-height: 1.75em;
    margin-top: 0.5em;
    width: 100%;
  }
  input {
    height: 1.2em;
    width: 100%;
  }
}

@media (max-width: 670px) {
  .display {
    transform: scale(0.45);
    height: 400px;
  }
}

@media (max-width: 580px) {
  input {
    font-size: 1.4em;
    height: 1.4em;
    width: 100%;
  }
  a.button {
    width: 100%;
    float: left;
    font-size: 1.4em;
    margin-top: 0.5em;
  }
}

@media (max-width: 560px) {
  .display {
    transform: scale(0.37);
    height: 270px;
    top: -65px;
  }
}

@media (max-width: 440px) {
  .display {
    transform: scale(0.35);
    width: 70px;
    top: -65px;
  }
}

@media (max-width: 380px) {
  .display {
    transform: scale(0.27);
    height: 235px;
    width: 70px;
    top: -65px;
  }
  h1 { font-size: 1.2em; }
  p { margin: 1em; }
}