input[type=submit],
input[type=button],
button,
.button
.button:visited {
  cursor: pointer;
  height: 3rem;
  padding: 0.5rem 1rem;
  background: #000;
  color: #fff;
  line-height: 2rem;
  text-align: center;
  text-decoration: none; }
  input[type=submit] .fa,
  input[type=button] .fa,
  button .fa,
  .button
.button:visited .fa {
    display: inline-block; }
  input[type=submit] .icon,
  input[type=button] .icon,
  button .icon,
  .button
.button:visited .icon {
    display: inline-block;
    vertical-align: -0.2em;
    width: 1rem;
    height: 1rem;
    fill: #fff; }
    input[type=submit] .icon:first-child,
    input[type=button] .icon:first-child,
    button .icon:first-child,
    .button
.button:visited .icon:first-child {
      margin-right: 0.5rem; }
    input[type=submit] .icon:last-child,
    input[type=button] .icon:last-child,
    button .icon:last-child,
    .button
.button:visited .icon:last-child {
      margin-left: 0.5rem; }

input[type=submit]:hover,
input[type=button]:hover,
button:hover,
.button:hover {
  background: #404040;
  color: #fff; }

input[type=submit]:focus,
input[type=button]:focus,
button:focus,
.button:focus {
  background: #404040;
  color: #fff; }

input[type=submit]:active,
input[type=button]:active,
button:active,
.button:active {
  background: #404040;
  color: #fff; }

.button_block {
  display: block;
  width: 100%; }

.button_rounded {
  border-radius: 6.25rem; }

.button_small {
  height: 1.5rem;
  padding: 0 1rem 0;
  line-height: 1.5rem; }

.button_cta {
  background: #46caff;
  color: #fff; }

.button_cta:hover {
  background: #6fd6ff;
  color: #fff; }

.button_cta:focus {
  background: #6fd6ff;
  color: #fff; }

.button_cta:active {
  background: #6fd6ff;
  color: #fff; }

.button_hollow {
  border: 1px solid #000;
  background: none;
  color: #000; }
  .button_hollow .icon {
    fill: #000; }

.button_hollow:hover {
  border: 1px solid #404040;
  background: none;
  color: #404040; }
  .button_hollow:hover .icon {
    fill: #404040; }

.button_hollow:focus {
  border: 1px solid #404040;
  background: none;
  color: #404040; }
  .button_hollow:focus .icon {
    fill: #404040; }

.button_hollow:active {
  border: 1px solid #404040;
  background: none;
  color: #404040; }
  .button_hollow:active .icon {
    fill: #404040; }

.button_ghost {
  background: transparent;
  color: inherit; }
  .button_ghost .icon {
    fill: inherit; }

.button_ghost:hover {
  background: rgba(0, 0, 0, 0.025);
  color: inherit; }
  .button_ghost:hover .icon {
    fill: inherit; }

.button_ghost:focus {
  background: transparent;
  color: inherit; }
  .button_ghost:focus .icon {
    fill: inherit; }

.button_ghost:active {
  background: transparent;
  color: inherit;
  text-shadow: 0 0 0.5rem currentColor; }
  .button_ghost:active .icon {
    fill: inherit; }

.button_as-text {
  height: 1.5rem;
  padding: 0;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: inherit;
  line-height: 1.5rem; }

.button_as-text:hover {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: inherit; }

.button_as-text:focus {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: inherit; }

.button_as-text:active {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: inherit;
  text-shadow: 0 0 0.5rem currentColor; }

.delete-button:hover {
  background: #d00 !important;
  color: #fff !important; }

input[type=submit][disabled],
input[type=button][disabled],
button[disabled],
.button[disabled] {
  cursor: default;
  background: #fafafa;
  color: #eee; }
  input[type=submit][disabled]:hover,
  input[type=button][disabled]:hover,
  button[disabled]:hover,
  .button[disabled]:hover {
    background: #fafafa;
    color: #eee; }
  input[type=submit][disabled].button_ghost,
  input[type=button][disabled].button_ghost,
  button[disabled].button_ghost,
  .button[disabled].button_ghost {
    background: transparent; }
    input[type=submit][disabled].button_ghost:hover,
    input[type=button][disabled].button_ghost:hover,
    button[disabled].button_ghost:hover,
    .button[disabled].button_ghost:hover {
      background: transparent;
      color: #eee; }

.radio-button input[type="checkbox"],
.radio-button input[type="radio"] {
  display: block;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px; }
  .radio-button input[type="checkbox"] + .button,
  .radio-button input[type="radio"] + .button {
    background: transparent;
    color: #000; }
  .radio-button input[type="checkbox"]:checked + .button,
  .radio-button input[type="radio"]:checked + .button {
    background: #000;
    color: #fff; }
  .radio-button input[type="checkbox"] + .button_ghost,
  .radio-button input[type="radio"] + .button_ghost {
    background: transparent;
    color: inherit; }
  .radio-button input[type="checkbox"]:checked + .button_ghost,
  .radio-button input[type="radio"]:checked + .button_ghost {
    background: transparent;
    color: #46caff; }

.button-group {
  display: inline-block;
  vertical-align: middle;
  padding: 0.125rem;
  border: 2px solid #000;
  border-radius: 0.25rem; }
  .button-group input[type="button"],
  .button-group input[type="submit"],
  .button-group button,
  .button-group .button {
    border-radius: 0.125rem; }

.button-group-label {
  display: inline-block;
  vertical-align: middle;
  margin: 0 1rem 0 0;
  color: #000;
  font-style: italic; }
