* {
  -moz-box-sizing: border-box;
       box-sizing: border-box; }

body {
  font-family: Helvetica, sans-serif;
  font-size: 100%;
  color: white;
  background-image: url(images/duplii-bg.jpg);
  margin: 0;
  text-shadow: 0px 0 3px rgba(80, 80, 80, 0.3); }

#container {
  max-width: 700px;
  padding: 1.5rem;
  margin: 0 auto;
  min-height: 650px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.logo {
  width: 63px;
  padding: 1rem 0; }

h1 {
  font-size: 26px;
  margin: 50px 0; }

h2 {
  font-size: 19px; }

p {
  line-height: 1.5; }

a {
  color: white; }

form {
  position: relative;
  border: 2px solid white;
  border-radius: 5px;
  height: 43px;
  max-width: 520px;
  font-size: 1rem;
  text-align: center; }
  form:focus {
    box-shadow: 0px 3px 5px #444; }

input:not([type=submit]) {
  height: 39px;
  background: transparent;
  width: 100%;
  padding: 0 135px 0 10px;
  margin-bottom: 0.3rem;
  border: none;
  color: white;
  outline: none;
  font-size: 1rem; }

.button, .form-submit {
  position: absolute;
  right: 0;
  top: 0;
  width: 125px;
  height: 39px;
  float: right;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font-size: 1rem;
  color: #FF5F19;
  background: white;
  border: none;
  border-radius: 2px;
  box-shadow: none;
  cursor: pointer; }

footer {
  padding: 100px 0 0; }

ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 280px;
  margin: 0;
  padding: 0 0 3rem; }

.social {
  display: inline-block;
  list-style: none;
  width: 35px;
  padding: 0 5px; }

.copyright {
  font-size: 0.55rem;
  color: #ffb08e; }

.form-submit {
  -webkit-transition: all 0.4s ease-out;
          transition: all 0.4s ease-out;
  cursor: auto;
  text-shadow: none; }
  .form-submit.submitted {
    width: 100%;
    z-index: 1; }
  .form-submit .response {
    display: inline;
    line-height: 40px;
    opacity: 0;
    -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
            transform: scale(1.3);
    -webkit-transition: all 0.4s ease-out;
            transition: all 0.4s ease-out; }
  .form-submit.received {
    width: 100%;
    z-index: 1;
    text-align: center; }
    .form-submit.received .response {
      opacity: 1;
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }

#error-tooltip {
  position: absolute;
  bottom: 140%;
  left: 50%;
  width: 240px;
  margin-left: -120px;
  padding: 1rem;
  opacity: 0;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all 0.2s ease-out 0.3s;
          transition: all 0.2s ease-out 0.3s;
  background-color: rgba(50, 50, 50, 0.85);
  border-radius: 5px;
  text-align: center; }
  #error-tooltip::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    margin-left: -5px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid rgba(50, 50, 50, 0.85); }

.error #error-tooltip {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }

  25% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }

  50% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes shake {
  0% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }

  25% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }

  50% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
            transform: translate3d(10px, 0, 0); }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.shake {
  -webkit-animation: shake 0.3s;
          animation: shake 0.3s; }

/* Animation keyframes - you need to add prefixes */
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }

  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }

  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.submitted {
  /* Loading animation container */
  /* Spinning circle (inner circle) */
  /* Spinning circle mask */
  /* Spinner */ }
  .submitted .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 28px;
    margin: -14px 0 0 -14px; }
  .submitted .loading .maskedCircle {
    width: 20px;
    height: 20px;
    border-radius: 12px;
    border: 4px solid; }
  .submitted .loading .mask {
    width: 12px;
    height: 12px;
    overflow: hidden; }
  .submitted .loading .spinner {
    position: absolute;
    left: 1px;
    top: 1px;
    width: 26px;
    height: 26px;
    -webkit-animation: spin 1s infinite linear;
            animation: spin 1s infinite linear; }

@media (min-width: 650px) {
  #content, footer {
    text-align: center; }
  form, ul {
    margin-left: auto;
    margin-right: auto; } }

@media (min-width: 1025px) {
  #container {
    width: 75%;
    max-width: 900px; }
  #content, footer {
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
    width: 580px;
    text-align: left; }
  form, ul {
    margin-left: 0;
    margin-right: 0; }
  form {
    max-width: none;
    text-align: left; }
  .social a img, .button, .form-submit {
    -webkit-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out; }
  .social a:hover img, .social a:focus img {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2); } }

@media (min-width: 1400px) {
  #container {
    max-width: 1200px; } }
