﻿/* FORMS
================================================================================ */
form {
    margin: 0.625rem 0;
}

fieldset {
    padding: 0.4687rem 0;
    border: none;
}

form fieldset:nth-child(2n) {
    background: #fafafa;
}

/* Labels */
label, p.lbl {
    cursor: default;
    font-size: 0.875rem;
    margin: 0 0 0.3125rem 0;
    line-height: 2.31rem;
    min-width: 300px;
}

    label .required, p.lbl .required {
        display: inline-block;
        margin-left: 0.3125rem;
        font-size: 0.6875rem;
        background: #67b757;
        color: #fff;
        padding: 0.1875rem 0.3125rem;
        line-height: 1.14;
        border-radius: 3px;
        text-transform: uppercase;
    }

/* Text fields */
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"],
input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
    border: 1px solid rgba(0,0,0,0.2);
    margin: 0 0 0.9375rem 0;
    color: #434443;
    box-shadow: none;
}

    input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus,
    input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
    input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
        background: #ffffff;
    }

/* Placeholder text */
form ::-webkit-input-placeholder {
    color: rgba(0,0,0,0.5);
}

form :-moz-placeholder {
    color: rgba(0,0,0,0.5);
}

form ::-moz-placeholder {
    color: rgba(0,0,0,0.5);
}

form :-ms-input-placeholder {
    color: rgba(0,0,0,0.5);
}

.form-group div {
    display: inline-block;
}
/* Checkboxes and Radios */
input[type="checkbox"], input[type="radio"] {
    margin: 0.75rem 0;
}

    input[type="checkbox"] + label, input[type="radio"] + label {
        margin-bottom: 0.9375rem;
        vertical-align: top;
        line-height: 2.55;
    }

/* Custom checkboces and radios */
.custom_check input[type="checkbox"], .custom_radio input[type="radio"] {
    display: none;
    visibility: hidden;
}

    .custom_check input[type="checkbox"] + label, .custom_radio input[type="radio"] + label {
        display: inline-block;
        padding: 0.25rem 1.5625rem;
        margin-left: 0;
        margin-right: 0.9375rem;
        background-color: transparent;
        border: 2px solid #00875b;
        color: #434443;
        letter-spacing: 0.075em;
        font-size: 0.875rem;
        line-height: 1.79;
        border-radius: 2px;
    }

        .custom_check input[type="checkbox"] + label:hover, .custom_radio input[type="radio"] + label:hover,
        .custom_check input[type="checkbox"] + label.active, .custom_radio input[type="radio"] + label.active {
            background-color: #00875b;
            color: #fff;
            cursor: pointer;
            -webkit-transition: background-color 300ms ease-out, color 300ms ease-out;
            -moz-transition: background-color 300ms ease-out, color 300ms ease-out;
            transition: background-color 300ms ease-out, color 300ms ease-out;
        }

/* Select fields */
select {
    margin: 0 0 0.9375rem 0;
    padding: 0.3135rem;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,0.2);
    color: #434443;
}

    select:hover {
        background-color: #fff;
        border-color: #ccc;
    }

/* Custom select fields */
.select_con {
    overflow: hidden;
    margin: 0 0 0.9375rem 0;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,0.2);
    position: relative;
    padding-right: 30px;
}
    /* Handles drop-down arrow - remove if using image instead */
    .select_con:after {
        border-color: #aaaaaa rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
        border-image: none;
        border-right: 5px inset rgba(0, 0, 0, 0);
        border-style: solid inset inset;
        border-width: 5px;
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 0.9375em;
        margin-top: -3px;
    }

    .select_con:hover:after {
        border-color: #222222 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    }

    .select_con select {
        width: calc(100% + 50px);
        background: transparent none;
        margin: 0;
        border: none;
        height: auto;
    }

/* Error messages */
p.error, body .sfContentBlock p.error {
    margin: 0 0 0.9375rem 0;
    padding: 7px 0 0 0;
    background: url(../images/style/error_bg.png) 10px 0 no-repeat;
}

    p.error span {
        padding: 0.3125rem 0.625rem;
        color: #fff;
        background: #c60f13;
        display: block;
    }

input.error, textarea.error {
    background: #f4cfd0;
    border-color: #c60f13;
    margin-bottom: 0.3125rem;
}

/* Form buttons */
form button {
    margin: 30px 0;
    font-size: 0.875rem;
    min-width: 200px;
}

    form .postfix.button, form button.postfix {
        line-height: 2.3125;
        background: #00875b;
        color: #fff;
        margin-top: 0;
        min-width: 0;
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        padding: 0;
        border: none;
    }

        form .postfix.button:focus, form .postfix.button:hover, form button.postfix:focus, form button.postfix:hover {
            background: #67b757;
        }

/* jQuery UI Datepicker */
.ui-datepicker {
    background: #e3e3e3;
    border: 1px solid #00875b;
    display: none;
    overflow: hidden;
    z-index: 3 !important;
}

    .ui-datepicker a:hover, .ui-datepicker a:focus {
        border-bottom: none;
    }

.ui-datepicker-header {
    background: #00875b;
}

    .ui-datepicker-header a {
        position: absolute;
        top: 0;
        width: 35px;
        height: 35px;
        text-indent: -9999px;
    }

        .ui-datepicker-header a.ui-datepicker-next {
            right: 0;
        }

        .ui-datepicker-header a span {
            position: absolute;
            display: block;
            content: "";
            height: 15px;
            width: 15px;
            margin: 0 auto;
            top: 10px;
            right: 12px;
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
        }

        .ui-datepicker-header a:hover span {
            border-color: #67b757;
        }

        .ui-datepicker-header a.ui-datepicker-prev {
            left: 0;
        }

            .ui-datepicker-header a.ui-datepicker-prev span {
                left: 12px;
                right: auto;
                transform: rotate(135deg);
                -webkit-transform: rotate(135deg);
                -moz-transform: rotate(135deg);
                -o-transform: rotate(135deg);
                -ms-transform: rotate(135deg);
            }

    .ui-datepicker-header .ui-datepicker-title {
        margin: 0 auto;
        width: calc(100% - 70px);
        text-align: center;
        color: #fff;
        line-height: 2.1875;
        font-size: 1rem;
    }

    .ui-datepicker-header .ui-datepicker-month {
    }

    .ui-datepicker-header .ui-datepicker-year {
    }

.ui-datepicker-calendar {
    margin: 0;
    border: none !important;
    display: table;
    max-width: 300px;
    table-layout: fixed;
}

    .ui-datepicker-calendar thead {
    }

        .ui-datepicker-calendar thead tr {
        }

        .ui-datepicker-calendar thead th {
            background: #ececec;
            color: #666;
            font-weight: 400;
        }

    .ui-datepicker-calendar tbody {
    }

        .ui-datepicker-calendar tbody tr {
        }

        .ui-datepicker-calendar tbody td {
            text-align: center;
        }

            .ui-datepicker-calendar tbody td a {
            }

            .ui-datepicker-calendar tbody td.ui-datepicker-unselectable {
                color: #a5a5a5;
            }

            .ui-datepicker-calendar tbody td.ui-datepicker-today {
                background: #ececec;
            }

                .ui-datepicker-calendar tbody td.ui-datepicker-today a {
                }

            .ui-datepicker-calendar tbody td.ui-datepicker-current-day {
                background: #f47f37;
            }

                .ui-datepicker-calendar tbody td.ui-datepicker-current-day a {
                    color: #fff;
                }

.feedback {
    display: none;
}

/* BUTTONS
================================================================================ */
/*.button, button, body .sfContentBlock .button, body a.button:link, body a.button:visited {
    display: inline-block;
    padding: 0.375rem 1.5625rem;
    margin: 1.25rem 0;
    background-color: transparent;
    border: 2px solid #00875b;
    border-radius: 2px;
    color: #434443;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 2;
    letter-spacing: 0.075em;
    min-width: 200px;
    -webkit-transition: background-color 300ms ease-out, color 300ms ease-out;
    -moz-transition: background-color 300ms ease-out, color 300ms ease-out;
    transition: background-color 300ms ease-out, color 300ms ease-out;
}

    .button:hover, button:hover, .button:focus, button:focus, body .sfContentBlock .button:hover, body .sfContentBlock .button:focus, body a.button:hover, body a.button:focus {
        background-color: #00875b;
        border: 2px solid #00875b;
        color: #fff;
    }*/

/* SOCIAL
================================================================================ */
.social {
}
    /* Google+ */
    .social a.addthis_button_google_plusone {
        position: relative;
        width: 28px;
        height: 24px;
    }

        .social a.addthis_button_google_plusone > div {
            position: absolute;
            top: 4px;
            right: 2px;
            opacity: 0;
            /* IE 8 */
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
            /* IE 5-7 */
            filter: alpha(opacity=0);
        }

        .social a.addthis_button_google_plusone > img {
            position: absolute;
            top: 0;
            right: 2px;
        }

/* MISC 
    ================================================================================ */
.square_box {
    display: block;
    position: relative;
    width: 50%; /* desired width */
}

    .square_box:before {
        content: "";
        display: block;
        padding-top: 100%; /* initial ratio of 1:1*/
    }

    .square_box .content {
        position: absolute;
        overflow: hidden;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }

        .square_box .content img {
            margin-left: -50%;
        }

#top-link {
    bottom: 0;
    right: 0;
    margin: 0;
    position: fixed;
    z-index: 99999;
}

    #top-link a {
        background: rgba(0,0,0,0.75);
        font-size: 1rem;
        line-height: 1;
        color: #fff;
        display: block;
        padding: 0.625rem 1.875rem;
        -webkit-transition: background-color 300ms ease-out, color 300ms ease-out;
        -moz-transition: background-color 300ms ease-out, color 300ms ease-out;
        transition: background-color 300ms ease-out, color 300ms ease-out;
    }

        #top-link a:hover, #top-link a:focus {
            background-color: #00875b;
            border-bottom: none;
        }


/* MISC  END
    ================================================================================ */