.modal-background {
  opacity: 0.0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3);
  transition-duration: 0.3s;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  z-index: 300; }
  .modal-background.show {
    opacity: 1.0;
    visibility: visible; }
  .modal-background * {
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    box-sizing: border-box;
    padding: 0;
    margin: 0; }
    .modal-background *:focus {
      outline: none; }

.modal {
  right: unset;
  bottom: unset;
  z-index: inherit;
  overflow: unset;
  display: block;
  position: absolute;
  top: 80px;
  left: 50%;
  margin-left: -250px;
  height: auto;
  width: 500px;
  background-color: #fff;
  border: 1px solid #eee;
  padding: 20px 30px 70px 30px;
  transform: translateY(-80px);
  -webkit-transform: translateY(-80px);
  -moz-transform: translateY(-80px);
  -ms-transform: translateY(-80px);
  -o-transform: translateY(-80px);
  transition-duration: 0.3s;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s; }
  .modal.show {
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px); }
  @media screen and (min-width: 0px) and (max-width: 768px) {
    .modal {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border: none;
      margin-left: 0;
      width: unset;
      padding: 0; } }
  .modal > .modal-close {
    position: absolute;
    top: -50px;
    right: 0;
    color: #fff;
    cursor: pointer;
    border: 1px solid #fff;
    border-radius: 32px;
    width: 32px;
    height: 32px;
    text-align: center;
    line-height: 32px;
    font-size: 18px; }
    .modal > .modal-close:hover {
      background-color: rgba(255, 255, 255, 0.3); }
  .modal > .modal-title {
    font-size: 24px;
    margin-bottom: 20px;
    line-height: 1.42857143; }
    .modal > .modal-title > .back {
      display: none; }
    @media screen and (min-width: 0px) and (max-width: 768px) {
      .modal > .modal-title {
        height: 50px;
        background-color: #283238;
        padding: 0;
        color: #fff;
        font-size: 18px;
        margin-bottom: 0;
        line-height: 50px;
        padding-left: 15px; }
        .modal > .modal-title > * {
          display: inline-block;
          vertical-align: middle; }
        .modal > .modal-title > .back {
          display: inline-block;
          margin-right: 10px;
          font-size: 22px; } }
  @media screen and (min-width: 0px) and (max-width: 768px) {
    .modal > .modal-body {
      padding: 20px 20px 20px 20px; }
      .modal > .modal-body .form-group {
        margin-left: 0;
        margin-right: 0; } }
  .modal > .modal-buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
    .modal > .modal-buttons > button {
      width: 50%;
      border: none;
      border-top: 1px solid #eee;
      background-color: #fff;
      cursor: pointer;
      padding: 15px; }
      .modal > .modal-buttons > button:hover {
        background-color: #eee; }
    .modal > .modal-buttons > .modal-buttons__close {
      float: left;
      border-right: 1px solid #eee; }
      .modal > .modal-buttons > .modal-buttons__close.full-width {
        float: none;
        width: 100%; }
    .modal > .modal-buttons > .modal-buttons__submit {
      float: right;
      color: #138bbe; }
