html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

html,
body {
  height: 100%;
}

body {
  background: url('../images/arrow-pattern.svg');
  background-color: #092f3c;
  background-size: 100px;
  font-family: 'Titillium Web','Lato','Helvetica Neue',sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.logo {
  display: block;
  width: 100%;
  height: 80px;
  margin: 0 auto 30px auto;
  background: url('../images/up-booking-engine.svg') no-repeat;
  background-position: center;
}

.login-box {
  text-align: center;
  background-color: #fff;
  padding: 30px;
  width: 400px;
  line-height: 150%;
  box-shadow: 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12), 0 3px 5px -1px rgba(0,0,0,.2);
  border-radius: 2px;
}

.login-box p {
  font-size: 0.9em;
}

.login-footer {
  width: 400px;
  text-align: center;
  color: #fff;
  font-size: 0.93em;
}
.login-footer a {
  color: #fff;
}

.subscribe {
  margin-bottom: 0;
  padding-bottom: 0;
}

.subscribe a {
  color: #0f546e;
}

.content-container {
  max-width: 1160px;
  min-width: 300px;
  margin: 0 auto;


  background: #fff;
  line-height: 150%;
  box-shadow: 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12), 0 3px 5px -1px rgba(0,0,0,.2);
  border-radius: 2px;
  padding: 30px;
}

h1 small {
  font-size: 0.5em;
}

h1 small a {
  color: #000;
}

form {
  margin-top: 30px;
}

.login-button {
  display: block;
  margin: 0 20px 0 0 0;
  padding: 20px 30px;
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  background-color: #555857;
  border: none;
}

.login-button.apaleo {
  background-image: url('../images/apaleo-icon.png');
  background-position: 5%;
  background-repeat: no-repeat;
  background-size: 10%;
  padding-left: 70px;
}

.login-button:hover {
  cursor: pointer;
  background-color: #333333;
}

.error {
  margin-top: 30px;
  padding: 20px;
  border: solid 2px #ed4748;
  color: #ed4748;
  font-weight: bold;
  text-align: center;
}

.notification {
  margin-top: 30px;
  padding: 20px;
  border: solid 2px #33B4E2;
  color: #33B4E2;
  font-weight: bold;
  text-align: center;
}

.form-control input {
  width: 100%;
  border: solid 1px #555857;
  padding: 15px;
  min-height: 50px;
}

.form-control label {
  display: block;
  text-align: left;
  margin-bottom: 5px;
}

.form-control {
  margin-top: -1px;
}
