body {
  background-color: #f5f5f5;
}

.form-wrapper {
  max-width: 30%;
  min-width: 300px;
  padding: 50px 30px 50px 30px;
  margin: 50px auto;
  background-color: #ffffff;
  border-radius: 5px;
  box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
}

a,
a:visited,
a:link {
    text-decoration: none;
    color: #222;
    display: inline-block;
}

.guides {
    position: absolute;
    bottom: 0;
    left: 0;
    height: auto;
    width: 100%;
    z-index: 1;
}
section {
    bottom: 0;
    right: 0;
    padding: 32px 0 16px 0;
    color: white;
    z-index: 2;
    /* border-radius: 40px; */
}
.preview a {
  border-radius: 24px;
  margin: 1em;
  height:50px;
  font-size:1.2em;
  background: #13a3f3;
}
.preview p:hover {
  background: #ffffff20;
}
.preview p {
  color:white;
}


.form-wrapper p {
  position:relative;
  width:50%;
  height:50px;
  z-index: 10;
}
.headerbox {
  font-size:20px;
}

p {
  color: black;
  padding: 8px 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  margin: 0 auto;
}

p input {
  box-sizing:border-box;
  padding:20px 0 0;
  width:100%;
  height:100%;
  border:0 none;
  color:#595f63;
  outline:none;
}
p label {
  position:absolute;
  left:0%;
  bottom:0;
  width:100%;
  height:100%;
  border-bottom:1px solid #000;
  text-align:left;
  pointer-events:none;
}

p label:after {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:0;
  height:100%;
  border-bottom:3px solid #5fa8d3;
  transition:all .3s ease;
} /* 파란색 가로줄 */

p label span {
  position:absolute;
  left:0;
  bottom:5px;
  transition:all .3s ease;
}

p input:focus + label span, 
p input:valid + label span {
  transform:translateY(-150%);
  font-size:14px;
  color:#5fa8d3;
}  /* input에 글을 입력하고 포커스가 지나간 상태에서 제어하려면 valid 선택자를 써야한다. */
/* 포커스 될 때 label span(name)이 위로 올라감 */

p input:focus + label::after,
p input:valid + label::after {
  width:100%;
  transform:translateX(0);
}