.frm input[type=text],
.frm input[type=password],
.frm input[type=date],
.frm input[type=time],
.frm select,
.frm textarea            {font-size:16px;background:#fff;min-height:1em;padding:0.4em 0.5em;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:2.38em;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 select:focus,
.frm textarea:focus      {border:2px solid #4a1;background-color:#fff;padding-top:calc(0.4em - 1px);padding-bottom:calc(0.4em - 1px);}

: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:100%;line-height: 1.2;padding:0.4em 0;display:inline-block;cursor: pointer;}
.frm_check label,
.frm_radio label                                  {position:relative;display:inline-block;line-height:160%;}
.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:#000;}
.frm_check input[type=checkbox]:focus + i:before  {border-color:#4a1;}
/* ----------------------------------------------- radio button */
.frm_radio input[type=radio] + i:after,
.frm_radio input[type=radio] + 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 ease;border-radius:50%;}
.frm_radio input[type=radio] + i:before           {z-index:3;width:1em;height:1em;top:0.16em;left:0;}
.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    {background:#ccc;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:#000;}
.frm_radio input[type=radio]:focus + i:before     {border-color:#4a1;}

/* ----------------------------------------------- button */
button::-moz-focus-inner {border:0;padding:0;margin-top:-2px;}
a.btn, a:link.btn, a:visited.btn,
.btn                     {font-size:16px;background-color:#000;color:#fff;padding:0 1.6em;line-height:3em;border:0 none;display:inline-block;text-align:center;text-decoration:none;vertical-align:top;cursor:pointer;-webkit-appearance:none;border-radius:0;transition:all 0.2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;}
a.btn_posi, a:link.btn_posi, a:visited.btn_posi,
.btn_posi                {background-color:#111;color:#fff;}
a.btn_posi:hover, a:link.btn_posi:hover, a:visited.btn_posi:hover,
.btn_posi:hover          {background-color:#333;}
.btn_nega                {background-color:#999;color:#fff;}
.btn_nega:hover          {background-color:#aaa;}
