:root {
    --success: #8de527;
    --danger: #ff0000;
    --error: #ff0000;
    --warning: #ffa500;
    --info: #71c3e9;
    --default: #999;
    --stateless: #ccc;
}

div.box {
    border-radius: 30px;
    box-shadow: 0 0 20px 3px #d4d4d4;
    margin: 1em auto;
    color: #999;
    font-size: 1.1em;
    background: #fff;
    max-width: 580px;
    width: 100%;
    padding: 2em;
}

input {
    color: #666 !important;
    font-size: 1em !important;
    height: 2.5em !important;
    width: 100% !important;
    border: 1px solid #ccc !important;
    margin: 0.5em 0 !important;
    padding: 0 1em !important;
    border-radius: 10px !important;
    background: transparent no-repeat 95% center !important;
    background-size: 1em !important;
    transition: all 0.30s ease-in-out !important;
    outline: none !important;
}

input:focus {
    box-shadow: 0 0 7px #0fa0ea !important;
    border: 1px solid #0fa0ea !important;
}

input {
    font-weight: 300 !important;
    font-family: 'Roboto', Arial, sans-serif !important;
}

input[type="tel"], .phone {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 38'%3E%3Cpath d='M22.5 0H3.6C1.6 0 .1 1.6.1 3.6v30.9c0 2 1.6 3.6 3.5 3.6h18.9c2 0 3.5-1.6 3.5-3.6V3.6c0-2-1.6-3.6-3.5-3.6zm1.2 34.4c0 .7-.5 1.2-1.2 1.2H3.6c-.7 0-1.2-.5-1.2-1.2V32h21.3zm0-3.6H2.4V7.1h21.3zm0-24.9H2.4V3.5c0-.7.5-1.2 1.2-1.2h18.9c.7 0 1.2.5 1.2 1.2zm-8.3-1.8a.65.65 0 0 1-.6.6h-3.5a.65.65 0 0 1-.6-.6.65.65 0 0 1 .6-.6h3.5a.65.65 0 0 1 .6.6zm-1.2 29.7a.65.65 0 0 1-.6.6h-1.2a.65.65 0 0 1-.6-.6.65.65 0 0 1 .6-.6h1.2a.65.65 0 0 1 .6.6z' fill='%23939191'/%3E%3C/svg%3E") !important;
    padding-right: 1.5em !important;
    background-size: 0.8em !important;
}

label {
    display: block;
    color: #666;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}

button {
    font-size: inherit;
    border: none;
    color: white;
    background-color: var(--info);
    padding: .7em 3em;
    margin: auto;
    border-radius: 30px;
    cursor: pointer;
    display: block;
    text-align: center;
    line-height: initial;
    width: fit-content;
}

label {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
    display: block;
    font-size: 0.9em;
    color: var(--default);
}

label span {
    color: #ff0000;
    margin-left: 0.5em;
}

.text-center {
    text-align: center;
}

main {
    margin: 1em;
}

.copyright {
    font-size: 0.8em;
    text-align: center;
    padding: 1em 1em;
}
