.wrapper {
  display: inline-block;
  position: relative;
}

.wrapper:before {
  content: '';
  height: 5px;
  width: 98%;
  top: calc(100% - 5px);
  box-shadow: 0 2px 4px 0 var(--color-greyLightest);
  position: absolute;
  left: 1%;
  z-index: -1;
  pointer-events: none;
}

.wrapper * {
  box-sizing: border-box;
}

input.input[type='text'],
input.input[type='email'],
input.input[type='password'],
input.input[type='search'],
input.input[type='url'],
textarea.input {
  background-color: var(--color-white);
  border-radius: 2px;
  border: 1px solid var(--color-greyLighter);
  box-sizing: border-box;
  color: var(--color-greyDarker);
  font-family: var(--font-avenir);
  font-size: var(--fontsize-regular);
  font-weight: var(--fontweight-regular);
  height: auto;
  letter-spacing: 0.2px;
  line-height: normal;
  margin: 0;
  padding: var(--size-sm-i) var(--size-regular);
  transition: color 150ms var(--animation-sharp);
  vertical-align: top;
  width: 100%;
}

input.high[type='text'],
input.high[type='email'],
input.high[type='password'],
input.high[type='search'],
input.high[type='url'],
textarea.high {
  padding: var(--size-regular) var(--size-lg-i);
}

input.low[type='text'],
input.low[type='email'],
input.low[type='password'],
input.low[type='search'],
input.low[type='url'],
textarea.low {
  padding: var(--size-sm-ii) var(--size-sm-i);
}

textarea.input {
  min-height: 5rem;
}

input.input[type='text']:focus,
input.input[type='email']:focus,
input.input[type='password']:focus,
input.input[type='search']:focus,
input.input[type='url']:focus,
textarea.input:focus {
  border-color: var(--color-grey);
  background-color: var(--color-white);
  color: var(--color-greyDarker);
}

.error {
  border-color: var(--color-danger);
  color: var(--color-danger);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.post {
  position: relative;
  display: block;
  width: 100%;
}

.errorMsg {
  position: absolute;
  top: 0;
  width: 100%;
  padding: var(--size-small);
  background-color: var(--color-danger);
  color: var(--color-white);
  composes: fontSmallIi from '../../../globals/typography.css';
  transition: transform 300ms var(--animation-sharp), opacity 300ms var(--animation-sharp);
  z-index: -1;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.enter,
.appear {
  transform: translateY(-100%);
  opacity: 0;
}

.enterActive,
.appearActive {
  transform: translateY(0);
  opacity: 1;
}

.leave {
  transform: translateY(0);
  opacity: 1;
}

.leaveActive {
  transform: translateY(-100%);
  opacity: 0;
}
