/******************************************************************************
 *
 * PiRho Contact Centre
 * Contact Forms Styling
 *
 * Document: contact.css
 * Version : 1.0
 *
 ******************************************************************************/

/******************************************************************************
 * Main Content
 ******************************************************************************/

form
{
    max-width: 900px;
    margin: 32px 0;
}

/******************************************************************************
 * Introductory Text
 ******************************************************************************/

form > p:first-child
{
    margin-bottom: 32px;
    color: #D8D8D8;
}

/******************************************************************************
 * Fieldsets
 ******************************************************************************/

fieldset
{
    margin: 0 0 32px 0;
    padding: 24px;

    background-color: #111111;

    border: 1px solid #2A2A2A;
}

legend
{
    padding: 0 8px;

    color: #FFFFFF;

    font-size: 1rem;
    font-weight: 600;

    letter-spacing: 0.05em;
}

/******************************************************************************
 * Form Fields
 ******************************************************************************/

.form-field
{
    margin-bottom: 24px;
}

.form-field:last-child
{
    margin-bottom: 0;
}

/******************************************************************************
 * Labels
 ******************************************************************************/

.form-field label
{
    display: block;

    margin-bottom: 8px;

    color: #FFFFFF;

    font-weight: 600;
}

.form-field label span
{
    display: inline-block;
}

/******************************************************************************
 * Hint Text
 ******************************************************************************/

.form-field p
{
    margin: 8px 0 0 0;

    color: #A0A0A0;

    font-size: 0.875rem;
    line-height: 1.5;
}

/******************************************************************************
 * Inputs
 ******************************************************************************/

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="time"],
input[type="number"],
input[type="search"],
input[type="password"],
select,
textarea
{
    width: 100%;

    padding: 10px 12px;

    box-sizing: border-box;

    /*background-color: #1A1A1A;*/
    /*background-color: #181818;*/
    background-color: #202020;

    border: 1px solid #2A2A2A;

    color: #FFFFFF;

    font-family: inherit;
    font-size: 1rem;
    line-height: 1.4;
}

/******************************************************************************
 * Text Areas
 ******************************************************************************/

textarea
{
    min-height: 180px;

    resize: vertical;
}

/******************************************************************************
 * Focus States
 ******************************************************************************/

input:focus,
select:focus,
textarea:focus
{
    border-color: #74AFFF;

    outline: none;

    box-shadow:
        0 0 0 1px #74AFFF,
        0 0 12px rgba(116,175,255,0.20);
}

/******************************************************************************
 * Placeholder Text
 ******************************************************************************/

input::placeholder,
textarea::placeholder
{
    color: #808080;
}

/******************************************************************************
 * Required Fields
 ******************************************************************************/

[required]
{
    border-left: 3px solid #74AFFF;
}

/******************************************************************************
 * Select Fields
 ******************************************************************************/

select
{
    cursor: pointer;
}

/******************************************************************************
 * Checkboxes & Radio Buttons
 ******************************************************************************/

input[type="checkbox"],
input[type="radio"]
{
    margin-right: 8px;
}

/******************************************************************************
 * Form Actions
 ******************************************************************************/

.form-actions
{
    margin-top: 32px;
    padding-top: 24px;

    border-top: 1px solid #2A2A2A;
}

/******************************************************************************
 * Primary Action
 ******************************************************************************/

.form-actions input[type="submit"]
{
    padding: 12px 24px;

    background-color: #74AFFF;

    border: 0;

    color: #000000;

    font-weight: 600;
    font-size: 1rem;

    cursor: pointer;
}

.form-actions input[type="submit"]:hover
{
    background-color: #8BBEFF;
}

.form-actions input[type="submit"]:focus
{
    outline: none;

    box-shadow:
        0 0 0 2px #74AFFF,
        0 0 12px rgba(116,175,255,0.30);
}

/******************************************************************************
 * Secondary Actions
 ******************************************************************************/

.form-actions a
{
    margin-left: 16px;

    color: #74AFFF;

    text-decoration: none;
}

.form-actions a:hover
{
    text-decoration: underline;
}

/******************************************************************************
 * Information Panel
 *
 * Optional:
 * "What Happens Next?"
 ******************************************************************************/

.page-information
{
    margin: 32px 0;
    padding: 24px;

    background-color: #111111;

    border-left: 4px solid #74AFFF;
}

.page-information h3
{
    margin-top: 0;
    margin-bottom: 16px;
}

.page-information ol,
.page-information ul
{
    margin: 0;
    padding-left: 24px;
}

/******************************************************************************
 * Success Messages
 ******************************************************************************/

.success-message
{
    margin: 32px 0;
    padding: 24px;

    background-color: #111111;

    border-left: 4px solid #74AFFF;
}

.success-message h2,
.success-message h3
{
    margin-top: 0;
}

/******************************************************************************
 * Validation Messages
 ******************************************************************************/

.validation-error
{
    margin-top: 8px;

    color: #FFB300;

    font-size: 0.875rem;
}

.validation-summary
{
    margin-bottom: 24px;
    padding: 16px;

    border-left: 4px solid #FFB300;

    background-color: #111111;
}

.validation-summary h3
{
    margin-top: 0;
}

/******************************************************************************
 * Responsive
 ******************************************************************************/

@media screen and (max-width: 768px)
{
    form
    {
        max-width: 100%;
    }

    fieldset
    {
        padding: 16px;
    }

    .form-actions input[type="submit"]
    {
        display: block;

        width: 100%;
    }

    .form-actions a
    {
        display: block;

        margin-top: 16px;
        margin-left: 0;
    }
}
