.fr-btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}

.fr-btn-outline-primary {
  color: #007bff;
  background-color: transparent;
  background-image: none;
  border-color: #007bff;
}

.fr-btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.fr-btn-outline-primary:focus,
.fr-btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.fr-btn-outline-primary.disabled,
.fr-btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}

.fr-btn-outline-primary:not(:disabled):not(.disabled):active,
.fr-btn-outline-primary:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.fr-btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-primary:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.fr-btn-outline-secondary {
  color: #6c757d;
  background-color: transparent;
  background-image: none;
  border-color: #6c757d;
}

.fr-btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.fr-btn-outline-secondary:focus,
.fr-btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.fr-btn-outline-secondary.disabled,
.fr-btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.fr-btn-outline-secondary:not(:disabled):not(.disabled):active,
.fr-btn-outline-secondary:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.fr-btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-secondary:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.fr-btn-outline-success {
  color: #28a745;
  background-color: transparent;
  background-image: none;
  border-color: #28a745;
}

.fr-btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.fr-btn-outline-success:focus,
.fr-btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.fr-btn-outline-success.disabled,
.fr-btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.fr-btn-outline-success:not(:disabled):not(.disabled):active,
.fr-btn-outline-success:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.fr-btn-outline-success:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-success:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.fr-btn-outline-info {
  color: #17a2b8;
  background-color: transparent;
  background-image: none;
  border-color: #17a2b8;
}

.fr-btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.fr-btn-outline-info:focus,
.fr-btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.fr-btn-outline-info.disabled,
.fr-btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.fr-btn-outline-info:not(:disabled):not(.disabled):active,
.fr-btn-outline-info:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.fr-btn-outline-info:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-info:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.fr-btn-outline-warning {
  color: #ffc107;
  background-color: transparent;
  background-image: none;
  border-color: #ffc107;
}

.fr-btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.fr-btn-outline-warning:focus,
.fr-btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.fr-btn-outline-warning.disabled,
.fr-btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.fr-btn-outline-warning:not(:disabled):not(.disabled):active,
.fr-btn-outline-warning:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.fr-btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-warning:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.fr-btn-outline-danger {
  color: #dc3545;
  background-color: transparent;
  background-image: none;
  border-color: #dc3545;
}

.fr-btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.fr-btn-outline-danger:focus,
.fr-btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.fr-btn-outline-danger.disabled,
.fr-btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.fr-btn-outline-danger:not(:disabled):not(.disabled):active,
.fr-btn-outline-danger:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.fr-btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-danger:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.fr-btn-outline-light {
  color: #f8f9fa;
  background-color: transparent;
  background-image: none;
  border-color: #f8f9fa;
}

.fr-btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.fr-btn-outline-light:focus,
.fr-btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.fr-btn-outline-light.disabled,
.fr-btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.fr-btn-outline-light:not(:disabled):not(.disabled):active,
.fr-btn-outline-light:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.fr-btn-outline-light:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-light:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.fr-btn-outline-dark {
  color: #343a40;
  background-color: transparent;
  background-image: none;
  border-color: #343a40;
}

.fr-btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.fr-btn-outline-dark:focus,
.fr-btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.fr-btn-outline-dark.disabled,
.fr-btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.fr-btn-outline-dark:not(:disabled):not(.disabled):active,
.fr-btn-outline-dark:not(:disabled):not(.disabled).fr-active,
.show > .fr-btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.fr-btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.fr-btn-outline-dark:not(:disabled):not(.disabled).fr-active:focus,
.show > .fr-btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.fr-btn-link {
  font-weight: 400;
  color: #007bff;
  background-color: transparent;
}

.fr-btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
  background-color: transparent;
  border-color: transparent;
}

.fr-btn-link:focus,
.fr-btn-link.focus {
  text-decoration: underline;
  border-color: transparent;
  box-shadow: none;
}

.fr-btn-link:disabled,
.fr-btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.fr-btn-lg,
.fr-btn-group-lg > .fr-btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.fr-btn-sm,
.fr-btn-group-sm > .fr-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.fr-btn-block {
  display: block;
  width: 100%;
}

.fr-btn-block + .fr-btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].fr-btn-block,
input[type="reset"].fr-btn-block,
input[type="button"].fr-btn-block {
  width: 100%;
}
