.form-item { width: 100%; margin-bottom: 1.6rem; &-header { width: 100%; display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.8rem; position: relative; p { @include text-sm; margin: 0; } .item-tooltip { position: relative; cursor: pointer; .trigger i { display: block; } .content { position: absolute; top: 0; right: 0; display: none; width: max-content; max-width: min(75vw, 65ch); padding: 1rem; background-color: var(--information-lightest); color: var(--information); border: 1px solid var(--information); border-radius: 8px; font-size: 14px; font-weight: normal; line-height: 1.2em; z-index: 1; & > span { display: block; } a { color: var(--gray-hard); text-decoration: underline; } } &:hover .content { display: block; } } } &.is-hidden { display: none; } &.is-required &-header p::after { content: "*"; margin-left: 0.5ch; color: var(--error); } &-field { min-height: 4rem; display: grid; grid-template-areas: "icon field addon"; grid-template-columns: min-content minmax(0, 1fr) min-content; border: 1px solid var(--gray-soft-dark); border-radius: var(--border-radius); transition: border-color ease-in-out 0.15s; .icon, .addon { width: 4rem; display: flex; justify-content: center; align-items: center; color: var(--gray-hard-light); background-color: var(--gray-soft); } .icon { grid-area: icon; border-right: 1px solid var(--gray-soft-dark); } & > input { grid-area: field; border: none; border-radius: var(--border-radius); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .08); padding: 0 0.8rem; color: var(--gray-hard-darkest); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; &::placeholder { font-weight: 400; color: var(--gray-soft-darkest); } &:focus { outline: none; box-shadow: 0 0 0 2px var(--information); } } // override React-select component's style .rs { grid-area: field; &__control { border: none; border-radius: var(--border-radius); &--is-focused { box-shadow: 0 0 0 2px var(--information); } } &__menu { margin-top: 1px; border: 1px solid var(--gray-soft-dark); box-shadow: var(--shadow); } &__option { color: #000000; &:hover { background-color: var(--information-lightest); } &--is-selected, &--is-selected:hover { background-color: var(--information-light); } } &__placeholder { font-weight: 400; color: var(--gray-soft-darkest); } } .addon { grid-area: addon; border-left: 1px solid var(--gray-soft-dark); } } &.is-incorrect &-field { border-color: var(--error); .icon { color: var(--error); border-color: var(--error); background-color: var(--error-lightest); } } &.is-disabled &-field input, &.is-readOnly &-field input { background-color: var(--gray-soft-light); } &-error { margin-top: 0.4rem; color: var(--error); } }