﻿/*===================================
=            Form Styles            =
===================================*/

/*----------  Form elements ----------*/
input[type=text],
input[type=email],
input[type=password],
select,
textarea {
    border: 1px solid #b8b8b8;
    color: #3a3a3a;
    background: #f0eeee;
    width: 100%;
    font-family: 'Muli', sans-serif;
    padding: 8px 10px;
}

select {
    font-size: 1em;
    font-weight: bold;
    font-family: "Source Sans Pro", sans-serif;
}

input[type=submit] {
    background: none;
    border: 0;
}

/*----------  Custom Radio Button + Checkbox ----------*/
input[type=radio],
input[type=checkbox] {
    position: absolute;
    left: -9999px;
}

input[type=radio] + label,
input[type=checkbox] + label {
    position: relative;
    padding-left: 1.3em;
}

input[type=radio] + label:before,
input[type=checkbox] + label:before {
    position: absolute;
    content: " ";
    width: 1em;
    height: 1em;
    border: 1px solid #b8b8b8;
    background: #f0eeee;
    top: 0;
    left: 0px;
}

input[type=radio] + label:before {
    border-radius: 50%;
    width: 0.8em;
    height: 0.8em;
    top: 0.2em;
}

input[type=radio]:checked + label:before {
    background: #aa1c2a;
}

input[type=checkbox]:checked + label:before {
    font-family: "fontawesome";
    content: "\f00c";
    color: #aa1c2a;
    font-weight: bold;
}

input[type=radio]:focus + label,
input[type=checkbox]:focus + label  {
    outline-style: dotted;
    outline-width: 1px;
    outline-color: inherit;
}

/* small screens */
/*@media (max-width: 479px) {
    input[type=radio] + label:before,
    input[type=checkbox] + label:before {
        font-size: 0.8em;
    }
}*/

label,
.sfTxtLbl {
    text-transform: uppercase;
    font-family: "Muli", sans-serif;
    display: block;
    margin-bottom: 8px;
    letter-spacing: 0px;
}

.required {
    color: #aa1c2a;
    font-weight: bold;
}

/*----------  SF Form Builder  ----------*/
.sf_cols {
    margin-bottom: 1.388em;
}

.sf_2cols_1_50 .sf_2cols_1in_50 {
    margin-right: 20px;
}

.sf_2cols_2_50 .sf_2cols_2in_50 {
    margin-left: 20px;
}

@media (max-width: 767px) {
    .sf_2cols_1_50,
    .sf_2cols_2_50 {
        float: none;
        width: 100%;
    }

    .sf_2cols_1_50 {
        margin-bottom: 1.388em;
    }

    .sf_2cols_1_50 .sf_2cols_1in_50,
    .sf_2cols_2_50 .sf_2cols_2in_50 {
        margin: 0;
    }
}

.sfRadioList label {
    display: inline-block;
    /*margin-left: 10px;*/
}

.sfFormSubmit {
    margin-top: 40px;
    font-size: 1.33em;
}

/* form builder CssClass on button applies to both button and wrapper, so we need to unset the inner one */
.btn .btn {
    display: inline;
    padding: 0;
}


/*----------  Membership Forms  ----------*/
.form-row {
    margin: 0 -18px;
}

.form-row:empty {
    display: none;
}

.form-row:before,
.form-row:after {
    content: ' ';
    display: table;
}

.form-row:after {
    clear: both;
}

.form-half,
.form-full {
    padding: 0 18px;
    margin-bottom: 1.49em;
}

.form-half .form-half {
    padding-left: 18px;
    padding-right: 9px;
    width: 50%;
    float: left;
    margin-bottom: 0;
}

.form-half .form-half + .form-half {
    padding-left: 9px;
    padding-right: 18px;
}

.form-full {
    clear: both;
    width: 100%;
}

@media (min-width: 768px) {
    .form-half {
        width: 50%;
        float: left;
    }

    .form-half-right-empty {
        margin-right: 50%;
    }
}

/* validation messages */
.validation-messages {
    clear: both;
    margin: 10px 0px;
}

.form-half .validation-messages {
    margin-left: 0;
    margin-right: 0;
}

.validation-messages > div {
    padding: 0 10px;
    border-left: 3px solid #AA1C2A;
}

.sfFormDropdown label {
    display: block;
}

.sfErrorSummary,
.sfvalidationSummary,
.sfError {
    color: #AA1C2A;
}

.sfErrorSummary,
.sfvalidationSummary {
    font-weight: bold;
    font-style: italic;
    margin: 60px 0;
    border:1px dashed #f00; 
    padding: 20px 10px; 
    background-color:#fbb;
}

span.sfError {
    margin: 2px 0;
    display: block;
}


input.error, /* asp:textbox */
select.error {
    border: 1px solid #AA1C2A;
}


input[type=radio].error + label:before,
input[type=checkbox].error + label:before {
    border-color: #AA1C2A;
}


/* .sfmemberFormWrp is the common class name */

.sfmemberFormWrp .form-section-header h2 {
    font-size: 1.35em;
    letter-spacing: 0.1px;
    border-bottom: 1px solid #b8b8b8;
    padding: 4px 0;
    margin: 0;
}

.sfmemberFormWrp h3 {
    font-size: 1.2em;
    margin-bottom: 25px;
    border-bottom: 1px solid #b8b8b8;
    padding: 14px 0 4px;
}

.sfmemberFormWrp h5 {
    clear: both;
    margin: 0px 0 0px;
    padding: 20px 0 0;
    border-bottom: 1px solid #e8e8e8;
}

.sfmemberFormWrp .form-section {
    margin: 20px 0 50px;
}

.sfmemberFormWrp .form-section-header {
    margin-bottom: 1em;
}

.sfmemberFormWrp .form-section-header p {
    font-weight: bold;
    font-style: italic;
    font-size: 0.778em;
    padding-bottom: 0.5em;
    margin-top: 1em;
}

.sfmemberFormWrp .expandable:before { /* expandable sections */
    content: "";
}

.sfmemberFormWrp .expandable.hidden * {
    display: none;
}

.sfmemberFormWrp .expandable.hidden:before {
    display: block;
    content: attr(data-text);
    color: #ab223f;
    text-transform: uppercase;
    font-family: "Muli", sans-serif;
    font-weight: bold;
    cursor: pointer;
}

/* radio button list */
.sfmemberRadio > label {
    display: inline-block;
}

.sfmemberRadio ul {
    padding: 0 0 0 5px;
    margin: 0;
    display: inline;
}

.sfmemberRadio li {
    list-style: none;
    display: inline-block;
}

.sfmemberRadio.form-full li {
    margin-right: 10px;
}

.sfmemberFormWrp select {
    padding: 5px 0px 8px 3px;
}

/* birth date fields */
.sfmemberFormWrp input.bdmmTxt,
.sfmemberFormWrp input.bdddTxt {
    width: 25%;
    margin-right: 8%;
    float: left;
}

.sfmemberFormWrp input.bdyyTxt {
    width: 34%;
    float: right;
}

.sfmemberFormWrp .sfregisterNumOfYouth label {
    margin-top: 10px;
}

.sfmemberFormWrp .sfregisterNumOfYouth select {
    width: auto;
}

.sfmemberFormWrp .sfregisterMembership table {
    margin: 20px 0;
    width: 100%;
}

.sfmemberFormWrp .sfregisterMembership table td {
    border: 1px solid #b8b8b8;
    padding: 10px 10px 8px;
    font-weight: bold;
}

.sfmemberFormWrp .sfregisterMembership table thead td {
    background: #f0eeee;
    text-transform: uppercase;
    font-family: "Muli", sans-serif;
    letter-spacing: 0;
    font-weight: normal;
}

.sfmemberFormWrp .sfregisterMembership table td label {
    font-family: 'Source Sans Pro', sans-serif;
    text-transform: none;
    margin: 0;
    padding-left: 1.8em;
}

@media (max-width: 767px) {
    .sfmemberFormWrp .form-section h2 {
        font-size: 1.25em;
    }
}

/*----------  Reg. Form----------*/
.sfregisterFormWrp {
    max-width: 670px;
    margin: 0 auto;
}

.sfregisterFormWrp .sfYouths {
    margin-top: -1.5em;
}

.sfregisterFormWrp .sfregisterLnkWrp {
    margin-top: 1em;
}

.sfregisterFormWrp .sfregisterLnkWrp:after {
    font-size: 1.8em;
}

.sfregisterFormWrp input[type=submit] {
    border: 0;
    background: none;
    font-size: 1.3em;
    letter-spacing: 2.1px;
}

@media (min-width: 768px) {
    .sfregisterFormWrp .sfregisterMembership table td {
        padding: 10px 22px 8px;
    }

}


/*----------  Profile View + Edit  ----------*/
/* .sfprofileWrp is the common css class */
.sfprofileWrp h1 {
    font-family: "Oswald", sans-serif;
    font-size: 1.5em;
    letter-spacing: 1.4px;
}

.sfprofileWrp h1 a {
    font-size: 0.65em;
    font-family: "Muli", sans-serif;
    color: #aa1c2a;
    font-weight: normal;
    text-transform: uppercase;
    text-decoration: underline;
    margin-left: 1em;
}

.sfprofileWrp h2 {
    font-size: 1.5em;
    border-bottom: 1px solid #b8b8b8;
    padding: 14px 0 4px;
    margin: 18px 0 22px;
}

.sfprofileWrp .profileSectionWrp {
    margin-bottom: 30px;
}

.sfprofileWrp .profileSectionWrp:after {
    content: "";
    height: 1px;
    width: 80%;
    display: block;
    margin: 30px auto;
    background: #dfdede;
}

.sfprofileWrp .profileSectionWrp:last-child:after {
    display: none;
}

/* Profile View */
.sfprofileWrp.sfprofileView .lineWrp {
    margin: 8px 0;
    font-family: "Muli", sans-serif;
}

.sfprofileWrp.sfprofileView .lineWrp .label,
.sfprofileWrp.sfprofileView .lineWrp .line-value {
    display: inline-block;
    vertical-align: top;
}

.sfprofileWrp.sfprofileView .lineWrp .label {
    width: 45%;
    max-width: 270px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.sfprofileWrp.sfprofileView .lineWrp .line-value {
    font-weight: bold;
    letter-spacing: 0.5px;
}

/* Profile Edit */
.sfprofileWrp.sfprofileEdit input[type=text],
.sfprofileWrp.sfprofileEdit input[type=email] {
    font-weight: bold;
}

.sfprofileWrp.sfprofileEdit input[type=text][readonly] {
    border: 0;
    background: none;
    padding-left: 0;
}

.sfprofileWrp.sfprofileEdit .usernameWrp label,
.sfprofileWrp.sfprofileEdit .usernameWrp input {
    display: inline-block;
    width: auto;
}

.sfprofileWrp.sfprofileEdit .usernameWrp input {
    margin-left: 1em;
}

.sfprofileWrp.sfprofileEdit .addlMemberWrp {
    margin: 3em 0 2em;
}

/*----------  Log In Form  ----------*/
.sfLoginWidgetWrp {
    margin: 2em auto 10em;
    font-weight:lighter;
    font-family: "Muli", sans-serif;
    width: 80%;
}

@media (min-width: 768px) {
    .sfLoginWidgetWrp {
        max-width: 351px;
    }
}

.sfLoginWidgetWrp h1,
.sfLoginWidgetWrp .sfSubmitBtn {
    font-family: "Oswald", sans-serif;
    font-weight: normal;
    font-size: 1.44em;
}

.sfLoginWidgetWrp .sfLoginRegister {
    font-weight: bold;
    margin-top: 1.5em;
}

.sfLoginWidgetWrp .sfLoginRemember {
    letter-spacing: 0;
}

.sfLoginWidgetWrp .sfSubmitBtn {
    /*background: #005d8c;*/
    font-weight: normal;
    width: 100%;
}

.sfLoginWidgetWrp .sfLoginUserName {
    border-top: 1px solid #dedede;
    padding-top: 1.5em;
}

.sfLoginWidgetWrp .sfRegisterNow,
.sfLoginWidgetWrp .sfLostPassword {
    color: #aa1c2a;
}

.sfLoginWidgetWrp .sfLostPassword {
    text-transform: uppercase;
    font-size: 0.778em;
}

/*----------  Contact Form  ----------*/
.sfContactFormWrp .sfRadioList label:first-of-type {
    margin-right: 12px;
}

@media (max-width: 767px) {
    .sfContactFormWrp .sfFormRadiolist .sfTxtLbl {
        display: none;
    }

    .sfContactFormWrp .sfRadioList label:first-of-type {
        margin-right: 26px;
    }
}

/*----------  Donation Form  ----------*/
.sfdonationFormWrp {
    max-width: 670px;
    margin: 0 auto;
}

.sfdonationFormWrp .sfmemberRadio input[type=text] {
    width: 5em;
}

.sfdonationFormWrp .sfmemberRadio label {
    display: block;
}


/*====================================
=            Sign Up Form            =
====================================*/
#SignUp {
    background: url('/Sitefinity/WebsiteTemplates/GenJTemplate/App_Themes/GenJ/Images/bg_signup_small.jpg') top center no-repeat;
    background-size: cover;
    padding: 22px;
}

#SignUp .half.first {
    text-transform: uppercase;
}

#SignUp h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.9333em;
    letter-spacing: 6px;
    margin-bottom: 0;
    margin-top: 0.45em;
}

#SignUp h3 {
    border-top: 1px solid #ffffff;
    font-family: 'Muli', sans-serif;
    font-size: 1.1333em;
    font-weight: 300;
    letter-spacing: 5px;
    margin-bottom: 2.1em;
    margin-top: 0.7em;
    padding-top: 0.6em;
}

#SignUp input[type=text],
#SignUp input[type=email] {
    height: 2.8em;
    padding: 0.6em 0.63em;
    background: #ffffff;
}

#SignUp .sfCheckboxes {
    font-size: 1.2em;
    font-weight: lighter;
    vertical-align: middle;
}

#SignUp .sfCheckboxes label {
    display: inline-block;
    margin-left: 0.5em;
    text-transform: none;
}

#SignUp .sfFormSubmit {
    margin: 0 -22px;
    background: rgba(170, 28, 42, 0.65);
    text-align: center;
    font-size: 2.667em;
    font-family: "Oswald", sans-serif;
    letter-spacing: 3px;
}

#SignUp .sfFormSubmit input {
    text-transform: uppercase;
}

#SignUp .LV_validation_message {
    font-weight:bold; 
    margin: 0 0 5px 0; 
    display: none; 
    color:#FF0000;
    font-size:1.1em; 
}
/*----------  Adjustments for small small screens  ----------*/
@media (max-width: 480px) {
    #SignUp h2 {
        font-size: 1.5em;
        letter-spacing: 2px;
    }

    #SignUp h3 {
        font-size: 1em;
        letter-spacing: 2px;
    }

    #SignUp label {
        margin: 5px;
    }
}

@media (min-width:768px) {
    #SignUp .sfCheckboxes label {
        margin-left: 12px;
        margin-right: 0;
    }

    #SignUp .half.second {
        padding-left: 3.75%;
        padding-right: 6px;
    }

    #SignUp .sfFormSubmit {
        font-size: 1.7778em;
        padding: 11px 0;
        margin: 11px 0;
    }

    #SignUp .sfFormSubmit input {
        padding: 0;
        height: auto;
    }

}

@media (min-width: 960px) {
    #SignUp h2 {
        font-size: 2.222em;
        letter-spacing: 6px;
        margin-bottom: 0.7em;
    }

    #SignUp .half.first {
        padding-right: 2.8%;
        text-transform: uppercase;
    }

    #SignUp h3 {
        font-size: 1.333em;
        letter-spacing: 3.5px;
        margin-top: 0;
        padding-top: 12px;
    }

    #SignUp .sfCheckboxes {
        margin-top: 12px;
        margin-left: -3px;
    }

    #SignUp .sfCheckboxes label {
        margin-left: 25px;
        margin-top: 5px;
        display: block;
    }

    #SignUp input {
        padding: 18px 25px;
        margin-bottom: 8px;
        height: 65px;
    }
    
    .sidebar #SignUp {
        padding: 22px 10px;
    }

    .sidebar #SignUp .half {
        float: none;
        width: 100%;
    }

    .sidebar #SignUp h2 {
        font-size: 1.3333em;
    }

    .sidebar #SignUp h3 {
        font-size: 0.7778em;
        letter-spacing: 1px;
    }

    .sidebar #SignUp .half.second {
        padding: 0;
    }

    .sidebar #SignUp .sfCheckboxes {
        font-size: 1em;
    }

    .sidebar #SignUp .sfFormSubmit {
        margin: 41px -10px 6px;
    }
}

@media (min-width: 1280px) {
    #SignUp .sfCheckboxes label {
        margin-left: 15px;
        display: inline-block;
    }
}

/*=======================================
=            Special Buttons            =
=======================================*/
/* input[type=submit] cannot have :before or :after pseudo elements */
/* thus, the button width needs to be minimal so that the arrow appears next to it */
/* the arrow is made of text/font instead of image so that it can be easily resized for responsiveness */
/* the soluion is to put data-text which is the same as what the button says into :before of the wrapper */
/* and absolute position the button to cover the whole div while using text-indent to move the button text out of screen */
div.sfBtnWrp.right-arrowed {
    position: relative;
}

div.sfBtnWrp.right-arrowed:before {
    content: attr(data-text);
    letter-spacing: 2.1px;
    color: #ffffff;
}

div.sfBtnWrp.right-arrowed:before,
div.sfBtnWrp.right-arrowed:after {
    font-size: 1.15em;
    vertical-align: middle;
}

div.sfregisterLnkWrp:before,
div.sfregisterLnkWrp:after {
    font-size: 1.3em;
}

div.sfBtnWrp.right-arrowed input[type=submit] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    text-indent: -9999px;
}

@media (max-width: 768px) {
    div.sfBtnWrp {
        padding: 10px 0;
    }

    div.sfBtnWrp.right-arrowed:before,
    div.sfBtnWrp.right-arrowed:after {
        font-size: 0.85em;
        vertical-align: middle;
    }

    div.sfregisterLnkWrp.right-arrowed:before,
    div.sfregisterLnkWrp.right-arrowed:after {
        font-size: 1.3em;
    }
}