
.input {

    position: relative;

    margin-bottom: 1.6rem;

    display: flex;

    width: 100%;

    align-items: center;

    -moz-column-gap: 1.0rem;

         column-gap: 1.0rem;

    border-bottom-width: 1px;

    --tw-border-opacity: 1;

    border-bottom-color: rgb(var(--color-navy-03) / var(--tw-border-opacity));

    padding-top: 1.4rem;

    padding-bottom: 1.4rem;

    transition-property: transform,color;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 150ms
}

.input .input-content {

    flex: 1 1 0%
}

.input .input-content .input-placeholder {

    position: absolute;

    top: 2.4rem;

    font-size: var(--font-overline-med-size);

    line-height: var(--font-overline-med-line-height, normal);

    letter-spacing: var(--font-overline-med-letter-spacing, 0);

    font-weight: var(--font-overline-med-weight, 400);

    text-transform: uppercase;

    --tw-text-opacity: 1;

    color: rgb(var(--color-navy-01) / var(--tw-text-opacity));

    transition-property: transform,color;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 150ms;

    overflow: hidden;

    display: -webkit-box;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 1
}

.input .input-content .input-field-container {

    position: relative;

    display: flex;

    width: 100%
}

.input .input-content .input-field-container span {

    position: relative;

    top: 0.6rem;

    display: flex;

    flex: 1 1 0%
}

.input .input-content .input-field-container label {

    display: none
}

.input .input-field {

    position: relative;

    display: flex;

    width: 100%;

    align-items: center;

    gap: 1.2rem;

    background-color: transparent;

    transition-property: transform,color;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 150ms
}

.input .input-field:focus-visible {

    outline: 2px solid transparent;

    outline-offset: 2px
}

.input .input-error-message {

    font-family: var(--font-family-din-pro);

    font-size: var(--font-caption-m-size);

    line-height: var(--font-caption-m-line-height, normal);

    letter-spacing: var(--font-caption-m-letter-spacing, 0);

    font-weight: var(--font-caption-m-weight, 400)
}

.input .input-error-message {

    position: absolute;

    left: 0;

    top: 100%;

    margin-top: 0.4rem;

    display: none;

    --tw-text-opacity: 1;

    color: rgb(var(--color-magenta-01) / var(--tw-text-opacity))
}

/* ERROR MESSAGE STATE */
.input[data-error='true'] .input-error-message {

    display: block
}

/* CONTROL ON DIRTY OR FOCUSED STATE */
.input[data-dirty='true'],
.input[data-focus='true'] {

    --tw-border-opacity: 1;

    border-bottom-color: rgb(var(--color-navy-01) / var(--tw-border-opacity))
}

/* FIELD ON DIRTY STATE */
.input[data-dirty='false'][data-focus='false'] .input-field {

    top: 0;

    opacity: 0
}

/* PLACEHOLDER ON DIRTY OR FOCUSED STATE */
.input[data-dirty='true'] .input-placeholder,
.input[data-focus='true'] .input-placeholder {

    top: 1.0rem;

    z-index: -10;

    --tw-translate-y: -0.6rem;

    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));

    font-size: var(--font-overline-size);

    line-height: var(--font-overline-line-height, normal);

    letter-spacing: var(--font-overline-letter-spacing, 0);

    font-weight: var(--font-overline-weight, 400);

    --tw-text-opacity: 1;

    color: rgb(var(--color-navy-03) / var(--tw-text-opacity))
}

/* PLACEHOLDER ASTERISK */
.input[data-required='true'] .input-placeholder::after {

    --tw-content: '*';

    content: var(--tw-content)
}
@media (min-width: 640px) {

    .container {

        max-width: 640px
    }

    .\!container {

        max-width: 640px !important
    }
}
@media (min-width: 768px) {

    .container {

        max-width: 768px
    }

    .\!container {

        max-width: 768px !important
    }
}
@media (min-width: 1024px) {

    .container {

        max-width: 1024px
    }

    .\!container {

        max-width: 1024px !important
    }

    .gap-grid {

        gap: 2.4rem
    }

    .input .input-error-message {

        font-size: var(--font-caption-size);

        line-height: var(--font-caption-line-height, normal);

        letter-spacing: var(--font-caption-letter-spacing, 0);

        font-weight: var(--font-caption-weight, 400)
    }
}
@media (min-width: 1280px) {

    .container {

        max-width: 1280px
    }

    .\!container {

        max-width: 1280px !important
    }
}
@media (min-width: 1536px) {

    .container {

        max-width: 1536px
    }

    .\!container {

        max-width: 1536px !important
    }
}
@media (min-width: 1800px) {

    .container {

        max-width: 1800px
    }

    .\!container {

        max-width: 1800px !important
    }
}
