﻿body {
    font-family: sans-serif;
}

.floatlabel-google {
    position: relative;
    padding-top: 13px;
}

    .floatlabel-google input {
        border: 1px solid lightgrey;
        border-radius: 5px;
        outline: none;
        min-width: 250px;
        padding: 15px 20px;
        font-size: 16px;
        transition: all .1s linear;
        -webkit-transition: all .1s linear;
        -moz-transition: all .1s linear;
        -webkit-appearance: none;
    }

        .floatlabel-google input:focus {
            border: 2px solid #3951b2;
        }

        .floatlabel-google input::placeholder {
            color: transparent;
        }

    .floatlabel-google label {
        pointer-events: none;
        position: absolute;
        top: calc(50% - 8px);
        left: 15px;
        transition: all .1s linear;
        -webkit-transition: all .1s linear;
        -moz-transition: all .1s linear;
        background-color: white;
        padding: 5px;
        box-sizing: border-box;
    }

    .floatlabel-google input:required:invalid + label {
        color: red;
    }

    .floatlabel-google input:focus:required:invalid {
        border: 2px solid red;
    }

    .floatlabel-google input:required:invalid + label:before {
        content: '*';
    }

    .floatlabel-google input:focus + label,
    .floatlabel-google input:not(:placeholder-shown) + label {
        font-size: 13px;
        top: 0;
        color: #3951b2;
    }
