form.form-placeholder-shown {
    margin: 2em 0;
}
/**
* Make the field a flex-container, reverse the order so label is on top.
*/

form.form-placeholder-shown .field {
    display: flex;
    flex-flow: column-reverse;
    margin-bottom: 1em;
}
/**
* Add a transition to the label and input.
* I'm not even sure that touch-action: manipulation works on
* inputs, but hey, it's new and cool and could remove the
* pesky delay.
*/
form.form-placeholder-shown label, form.form-placeholder-shown input {
    transition: all 0.2s;
    touch-action: manipulation;
}

form.form-placeholder-shown .select2-container--default .select2-selection--single .select2-selection__rendered
{
    color: rgb(3,3,3);
    padding: 0;
    height: 24px;
}

form.form-placeholder-shown .select2-container .select2-selection.select2-selection--single
{
    height: 24px;
}


.form-placeholder-shown input:-moz-read-only { /* For Firefox */
    }

.form-placeholder-shown input:read-only {
    }

form.form-placeholder-shown input,
form.form-placeholder-shown .select2.select2-container.select2-container--default
{
    font-size: 18px;
    border: 0 !important;
    border-bottom: 1px solid #ccc !important;
    -webkit-appearance: none;
    border-radius: 0;
    padding: 0;
    cursor: text;
    background: white;
}
form.form-placeholder-shown .select2.select2-container.select2-container--default{
	padding-bottom: 8px;
}

form.form-placeholder-shown .select2-container .select2-selection  {
    border: 0 !important;
    border-bottom: 1px solid #ccc;
    -webkit-appearance: none;
    border-radius: 0;
    padding: 0;
    cursor: pointer;
    background: white;
}

form.form-placeholder-shown input:focus {
    outline: 0;
    border-bottom: 1px solid #F5A623 !important;
}

form.form-placeholder-shown label {
    letter-spacing: 0.05em;
}
/**
* Translate down and scale the label up to cover the placeholder,
* when following an input (with placeholder-shown support).
* Also make sure the label is only on one row, at max 2/3rds of the
* field—to make sure it scales properly and doesn't wrap.
*/
form.form-placeholder-shown input:placeholder-shown + label{
    cursor: text;
    max-width: 82%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transform-origin: left bottom;

    transform: translate(0, 1.725rem) scale(1.2);
}

/**
* By default, the placeholder should be transparent. Also, it should
* inherit the transition.
*/
form.form-placeholder-shown ::-moz-placeholder  {
    opacity: 0;
    transition: inherit;
}

form.form-placeholder-shown ::-webkit-input-placeholder
{
    opacity: 0;
    transition: inherit;
}
/**
* Show the placeholder when the input is focused.
*/
form.form-placeholder-shown input:focus::-moz-placeholder
{
    opacity: 1;
}
form.form-placeholder-shown input:focus::-webkit-input-placeholder
{
    opacity: 1;
}
/**
* When the element is focused, remove the label transform.
* Also, do this when the placeholder is _not_ shown, i.e. when
* there's something in the input at all.
*/
form.form-placeholder-shown input:not(:placeholder-shown) + label,
form.form-placeholder-shown input:focus + label
{
    transform: translate(0, 0) scale(1);
    cursor: pointer;
}

form.form-placeholder-shown input.error{
    outline: 0;
    border-bottom: 2px solid #da041f !important;
}

form.form-placeholder-shown input.success{
    outline: 0;
    border-bottom: 2px solid green !important;
}

.form-placeholder-shown label.required:after
{
    content:" *";
    position: absolute;
    color: #F5A623;
    right:0px;
}

form.form-placeholder-shown span.error
{
    position: absolute;
    bottom: -20px;
    color: #da041f;
    font-size: 13px;
}
