/*!
forms.css - version number 0.2
*/
/***********************************************
Forms with labels
***********************************************/
form                                                        { margin:0 0 16px; padding:0; display:inline-block; width:100%; }
label                                                       { margin:0; padding:0 16px 0 0; text-align:right; width:30%; height:40px; font-family:inherit; font-size:15px; color:#666; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; }
label.checkbox, label.radio                                 { text-align:left; width:auto; }
fieldset                                                    { margin:0 0 20px 0; padding:0; display:block; position:relative; top:0; left:0; }
fieldset small                                              { margin:0 0 0 30%; padding:3px 8px; font-family:sans-serif; font-size:11px; line-height:20px; color:#FFF; border-color:#E74C3C; background-color:#E74C3C; width:70%; float:right; display:inline-block; position:relative; top:-1px; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; }
input, textarea, select, textarea {
margin:0 0 20px 0;
padding:17px;
display:block;
border-radius: 10px;
width:100%;
height:40px;
font-family: "Proxima Nova", sans-serif;
font-size:14px;
line-height:28px;
color:#555;
border: 1px solid #E4E4E4;
overflow:hidden;
position:relative;
top:0;
left:0;
outline:0 none;
box-sizing:border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
textarea                                                    { padding:0 0 0 10px; resize:none; min-height:100px; overflow-y:auto; }
.no-style                                                   { border: 1px solid #bbb; border-radius: 0; box-sizing: border-box; color: #555; display: inline; font-family: sans-serif; font-size: 14px; height: inherit; left: 0; line-height: 40px; margin: 0 5px 0 0; outline: 0 none; overflow: hidden; padding: 0 10px; position: inherit; top: 0; width: inherit; }


/***********************************************
Styled Select fields
***********************************************/
.select                                                     { margin:0; padding:0; position:relative; display:inline-block; width:100%; right:0; top:0; height:40px; background-color:#FFF; overflow:hidden; border:solid 1px #BBB; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; }
.select:after                                               { margin:0; padding:0; content:'\25be'; font-size: 20px; color:#999; line-height:35px; text-align:center; right:0; top:0; background-color:#FFF; width:38px; height:38px; position:absolute; pointer-events:none; }
.select select                                              { padding:10px; padding-top:11px; -webkit-padding-before:0; -webkit-padding-start:6px; width:100%; height:40px; font-family:sans-serif; font-size:14px; line-height:40px; float:left; color:#333; border:none; display:block; -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer; background-color: #ffffff; }
.select option                                              { padding:10px; border-bottom:1px solid #F2F2F2;  }
.select optgroup                                            { padding:0 10px; color:#000; background-color:#FFF; }
.select optgroup[label]                                     { padding-top:10px; background-color:#FFF; font-style:normal; }
.select optgroup option                                     { border-bottom:1px solid #F2F2F2; font-family:sans-serif; font-size:12px; line-height:40px; }
.select optgroup option:first-child                         { margin:10px 0 0 0; border-top:1px solid #F2F2F2; }


/***********************************************
Styled Radio button
***********************************************/
.radio                                                      { padding:8px 0 0; width:70%; float:right; }
.radio > span                                               { margin:0 0 10px; padding:0 20px 0 0; float:left; position:relative; top:0; left:0; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; }
.radio > span label                                         { margin:0; padding:2px 0 0 32px; width:100%; height:auto; font-family:sans-serif; font-size:14px; line-height:20px; text-align:left; cursor:pointer; display:block; position:relative; left:0; top:0; }
input[type="radio"],
input[type="radio"]:not(:focus):invalid                     { width:22px; border:none; }
input[type="radio"] + label:before                          { margin:0; content:''; position:absolute; left:0; top:0; background-color:#FFF; border:1px solid #CCC; cursor:pointer; display:inline-block; height:20px; width:20px; text-align:center; font-family:sans-serif; font-size:13px; line-height:22px; color:#CCC; border-radius:50%; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; transition:all .1s linear 0s; -moz-transition:all .1s linear 0s; -webkit-transition:all .1s linear 0s; -o-transition:all .1s linear 0s; }
input[type="radio"]:checked + label:before                  { border:7px solid #000; transition:all .1s linear 0s; -moz-transition:all .1s linear 0s; -webkit-transition:all .1s linear 0s; -o-transition:all .1s linear 0s; }
input[type="radio"] + label + small                         { margin:0; padding:0 0 0 32px; background:none; border:none; color:#E74C3C; width:auto; float:none; }


/***********************************************
Validation
***********************************************/
input:not(:focus):invalid                                   { -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none; }

input:focus:invalid,
.error input,
select:focus:invalid,
input[type="checkbox"]:focus:invalid,
input[type="checkbox"]:focus:invalid + label:before         { color:#E74C3C; -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none; }

input:focus:invalid::-webkit-input-placeholder              { color:#E74C3C; opacity:1; }
input:focus:invalid:-moz-placeholder                        { color:#E74C3C; opacity:1; }
input:focus:invalid::-moz-placeholder                       { color:#E74C3C; opacity:1; }
input:focus:invalid:-ms-input-placeholder                   { color:#E74C3C; opacity:1; }

.error input + small                                        { margin:0; padding:3px 8px; font-family:sans-serif; font-size:11px; line-height:20px; color:#FFF; border-color:#E74C3C; background-color:#E74C3C; width:70%; float:right; display:inline-block; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; }


/***********************************************
Forms without labels
***********************************************/
.hide-lables label                                          { display:none; }
.hide-lables .checkbox label,
.hide-lables .radio label                                   { display:block; }

.hide-lables input,
.hide-lables textarea,
.hide-lables select,
.hide-lables .select,
.hide-lables fieldset.error input + small                   { width:100%; }
.hide-lables small                                          { margin:0; width:100%; }
.hide-lables .radio, .hide-lables .checkbox                 { width:100%; float:right; }


/***********************************************
Validation
***********************************************/
.hide-lables input:not(:focus):invalid + small              { width:100%; }


/***********************************************
Buttons
***********************************************/
.hide-lables input[type="button"],
.hide-lables input[type="submit"],
.hide-lables input[type="reset"]                            { margin:6px 6px 6px 0; width:auto; }


/***********************************************
Placeholder
***********************************************/
::-webkit-input-placeholder                                 { color:#333; opacity:.5; }
:-moz-placeholder                                           { color:#333; opacity:.5; }
::-moz-placeholder                                          { color:#333; opacity:.5; }
:-ms-input-placeholder                                      { color:#333; opacity:.5; }

:focus::-webkit-input-placeholder                           { color:#333; opacity:1; }
:focus:-moz-placeholder                                     { color:#333; opacity:1; }
:focus::-moz-placeholder                                    { color:#333; opacity:1; }
:focus:-ms-input-placeholder                                { color:#333; opacity:1; }

input:focus                                                 { color:#000; border-color:#999; outline:none; }
textarea:focus                                              { color:#000; border-color:#999; outline:none; }
select:focus                                                { color:#000; border-color:#999; outline:none; }


/***********************************************
NYSMNYD
***********************************************/
.nysmnyd-labels fieldset label                              { display:block; position:absolute; left:1px; top:0; height:auto; width:auto; z-index:1; font-family:sans-serif; font-size:12px; line-height:40px; color:#999; transition:all .1s ease-out 0s; -moz-transition:all .1s ease-out 0s; -webkit-transition:all .1s ease-out 0s; -o-transition:all .1s ease-out 0s; }
.nysmnyd-labels fieldset.show-all label                     { top:-27px; transition:all .1s ease-out 0s; -moz-transition:all .1s ease-out 0s; -webkit-transition:all .1s ease-out 0s; -o-transition:all .1s ease-out 0s; }

.nysmnyd-labels input,
.nysmnyd-labels .select,
.nysmnyd-labels textarea                                    { z-index:2; }

.nysmnyd-labels input,
.nysmnyd-labels textarea,
.nysmnyd-labels select,
.nysmnyd-labels .select,
.nysmnyd-labels fieldset.error input + small,
.nysmnyd-labels fieldset input:not(:focus):invalid + small,
.nysmnyd-labels small                                       { width:100%; }

.nysmnyd-labels .radio, .nysmnyd-labels .checkbox           { width:100%; float:right; }
