* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.promo_parent {
  margin: auto;
  background-color: inherit;
  display: flex;
  height: 100%;
  width: 100%;
}

.promo_child {
  margin: auto;  /* Magic! */
  max-width: 100%;
  max-height: 100%;
}

.page-wrap {
  max-width: 75rem;
  margin: 0 auto;
}

h1 {
  color: #000066;
  font-size: 1.5rem;
  letter-spacing: -1px;
  margin: 1.25rem 0;
}

input:focus ~ label, textarea:focus ~ label, input:valid ~ label, textarea:valid ~ label {
 font-size: 0.75em;
 color: #000066;
 top: -2.25rem;
 -webkit-transition: all 0.125s ease;
 transition: all 0.125s ease;
}

input[type='number']::-webkit-inner-spin-button, 
input[type='number']::-webkit-outer-spin-button {-webkit-appearance: none; margin: 0;}

.styled-input {
	float: right;
	position: relative;
	margin-top: 2;
	margin-right: rem;
	margin-bottom: 0;
	margin-left: 1;
	width: 100%;
}

.styled-input label {
  color: #999;
  padding: 1rem;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
  pointer-events: none;
}

.styled-input.wide { width: 100%; }

input,
textarea {
  padding: 1rem 1rem;
  border: 0;
  width: 100%;
  font-size: 1rem;
}

input ~ span,
textarea ~ span {
  display: block;
  width: 0;
  height: 3px;
  background: inherit;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.125s ease;
  transition: all 0.125s ease;
}

input:focus,
textarea:focus { outline: 0; }

input:focus ~ span,
textarea:focus ~ span {
  width: 100%;
  -webkit-transition: all 0.075s ease;
  transition: all 0.075s ease;
}

textarea {
  width: 100%;
  min-height: 15em;
}

input[type=text] {
    height: 28px;
    padding-left: 10px;
    text-decoration: none;
    background-repeat: repeat-x;
    border:1px solid #777;
    border-radius:5px
}
input[type=number]{
    height: 28px;
    padding-left: 10px;
    text-decoration: none;
    background-repeat: repeat-x;
    border:1px solid #777;
    border-radius:5px
}
input[type=email]{
    height: 28px;
    padding-left: 10px;
    text-decoration: none;
    background-repeat: repeat-x;
    border:1px solid #777;
    border-radius:5px
}
input[type=date]{
    height: 28px;
    padding-left: 10px;
    text-decoration: none;
    background-repeat: repeat-x;
    border:1px solid #777;
    border-radius:5px
}
