.frm input[type=text],
.frm input[type=password],
.frm input[type=date],
.frm input[type=time],
.frm input[type=email],
.frm select,
.frm textarea            {font-size:16px;background:#fff;min-height:1em;padding:0.6em 0.2em;line-height:1.5em;outline:none;border:1px solid #ccc;border-radius:0;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
.frm select              {position:relative;padding:0 0.5em;padding-right:2em;height:3.1em;vertical-align:top;background-image:url("../img/select_bg.png");background-position:100% 50%;background-repeat:no-repeat;background-size:15px 10px;}
.frm select::-ms-expand  {display:none;}
.frm button              {outline:0;}

.frm input[type=text]:focus,
.frm input[type=password]:focus,
.frm input[type=date]:focus,
.frm input[type=time]:focus,
.frm input[type=email]:focus,
.frm select:focus,
.frm textarea:focus      {border:1px solid #006DD9;background-color:#fff;}

:placeholder-shown          {color:#999;}
::-webkit-input-placeholder {color:#999;}
:-moz-placeholder           {color:#999;opacity:1;}
::-moz-placeholder          {color:#999;opacity:1;}
:-ms-input-placeholder      {color:#999;}

.frm_check,
.frm_radio                                        {font-size:96%;padding:0.4em 0;display:inline-block;}
.frm_check label,
.frm_radio label                                  {position:relative;display:inline-block;line-height:160%;margin-right: 1.5em;}
.frm_check input,
.frm_radio input                                  {opacity:0;position:absolute;}
.frm_check input + i,
.frm_radio input + i                              {position:relative;display:inline-block;vertical-align:top;padding-left:1.4em;white-space:nowrap;}
/* ----------------------------------------------- checkbox */
.frm_check input[type=checkbox] + i:after,
.frm_check input[type=checkbox] + i:before        {border:1px solid #ccc;background:#fff;content:"";position:absolute;display:block;-moz-box-sizing:border-box;box-sizing:border-box;transition:0.2s;}
.frm_check input[type=checkbox] + i:before        {z-index:3;width:1em;height:1em;top:0.16em;left:0;}
.frm_check input[type=checkbox] + i:after         {z-index:5;width:0;height:0;top:calc(0.16em + 0.7em);left:0.7em;border:0 none;border-left:0 solid #111;border-bottom:0 solid #111;left:3px;width:0;height:0;margin-top:0;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
.frm_check input[type=checkbox]:checked + i:after {border-left:3px solid #111;border-bottom: 3px solid #111;background:transparent;left:3px;width:1em;height:0.5em;margin-top:-8px;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
.frm_check input[type=checkbox]:checked + i:after {border-color:#f60;}
.frm_check input[type=checkbox]:focus + i:before  {border-color:#ccc;}
/* ----------------------------------------------- radio button */
.frm_radio input[type=radio] + i:after,
.frm_radio input[type=radio] + i:before           {background:#fff;content:"";position:absolute;display:block;-moz-box-sizing:border-box;box-sizing:border-box;transition:0.2s ease;border-radius:50%;}
.frm_radio input[type=radio] + i:before           {z-index:3;width:1em;height:1em;top:0.16em;left:0;border:1px solid #ccc;}
.frm_radio input[type=radio] + i:after            {z-index:5;width:0;height:0;top:0.5em;left:0.5em;opacity:0;}
.frm_radio input[type=radio]:checked + i:after    {width:0.7em;height:0.7em;top:calc(0.16em + 0.15em);left:0.15em;opacity:1;}
.frm_radio input[type=radio]:checked + i:after    {background-color:#f60;}
.frm_radio input[type=radio]:focus + i:before     {border-color:#ccc;}
/* ----------------------------------------------- error */
.ErrorMessage            {font-size:87.5%;color:#fff;background:#d12;margin-bottom:1em;padding:0.5em;line-height:1.5;font-weight:bold;display:none;}
.frm .error              {color:#d12;font-weight:bold;display:block;}
.frm .error:before       {content:"▲";}
.frm textarea.error,
.frm select.error,
.frm input.error         {border:2px solid #e34;background-color:#fff;padding-top:calc(0.6em - 1px);padding-bottom:calc(0.6em - 1px);}
/* ----------------------------------------------- text */
.frm_text i              {display:block;min-height:1em;padding:0.45em 0.5em;line-height:1.5em;border:1px solid #ddd;border-radius:0;width:auto;}
