label { margin: 0 0 1rem; font-family: $font-family-sans-serif; } textarea { height: 7.5em; resize: none; } input[type="text"], input[type="email"], input[type="tel"], textarea { flex-grow: 1; border-top: 0; border-right: 0; border-left: 0; border-bottom: solid 2px var(--black, #000); padding: 0 0 1em; font-size: 0.875rem; font-weight: 600; font-family: $font-family-sans-serif; background: transparent; -webkit-appearance: none; -moz-appearance: none; &:focus { outline: none; border-bottom: solid 2px var(--accent); } } input[type="submit"] { cursor: pointer; } .form { width: rem(354); ::placeholder { color: #000; } &__notice { margin-bottom: 2rem; font-size: 0.875rem; font-weight: $font-weight-bold; font-family: $font-family-sans-serif; text-transform: uppercase; text-align: center; &--error { color: #c00; } &--success { color: #070; } } &__row { display: flex; flex-direction: row; align-items: center; justify-content: center; width: 100%; position: relative; margin-bottom: 2rem; label { position: absolute; left: 0; top: 0; transition: 0.2s; background: #f6f6f6; line-height: 1; } input, textarea { &:focus, &:valid, &.error { + label { top: 100%; margin-top: -1.125rem; font-size: 0.75rem; } } &.error { border-bottom: solid 2px #c00; + label { color: #c00; } } } &:last-child { margin-top: rem(48); } } } // Contact form .contact { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; padding: rem(65) 0 rem(120); background: #f6f6f6; h2 { margin-bottom: rem(40); } }