@function generate-theme($color, $hover-color, $border-color) {
  $theme: (
    colors: (
      disabled-text: #b2b2b2,
      disabled-bg: #f5f6f6,
      text: (
        primary: #4661b9,
        secondary: #f11c33,
        custom: $color,
      ),
      button: (
        primary: (
          default: #4661b9,
          hover: #3652ad,
          border-color: #4661b94d,
        ),
        secondary: (
          default: #f11c33,
          hover: #d80d23,
          border-color: #f11c334d,
        ),
        custom: (
          default: $color,
          hover: $hover-color,
          border-color: $border-color,
        ),
      ),
      input: (
        default: #c6d6ec,
        hover: #a5bce0,
        focused: #4661b9,
        success: #27ae60,
        warning: #f2c94c,
        error: #eb5757,
      ),
      header: (
        primary: (
          bg: #4661b9,
          text: #fff,
        ),
        secondary: (
          bg: #f11c33,
          text: #fff,
        ),
        custom: (
          bg: $color,
          text: #fff,
        ),
      ),
    ),
    small: (
      input: 32px,
      textarea: 118px,
      info-icon: 12px,
      required: 10px,
      icon: 18px,
      material: 20px,
      tel-input-arrow: 10px,
      dropdown-arrow: 18px,
      button-arrow: 14px,
      flag-width: 12px,
      flag-height: 8px,
      font-size: 14px,
      otp-font-size: 18px,
      line-height: 18px,
      border-width: 1px,
      button: (
        height: 32px,
        padding: 8px 16px,
        padding-icon: 6px,
        line-height: 16px,
      ),
    ),
    medium: (
      input: 42px,
      textarea: 153px,
      info-icon: 14px,
      required: 12px,
      icon: 20px,
      material: 22px,
      tel-input-arrow: 12px,
      dropdown-arrow: 20px,
      button-arrow: 18px,
      font-size: 16px,
      otp-font-size: 22px,
      line-height: 24px,
      border-width: 1.5px,
      button: (
        height: 42px,
        padding: 12px 24px,
        padding-icon: 10px,
        line-height: 18px,
      ),
    ),
    large: (
      input: 52px,
      textarea: 177px,
      info-icon: 16px,
      required: 14px,
      icon: 24px,
      material: 24px,
      tel-input-arrow: 14px,
      dropdown-arrow: 24px,
      button-arrow: 20px,
      font-size: 18px,
      otp-font-size: 24px,
      line-height: 24px,
      border-width: 2px,
      button: (
        height: 52px,
        padding: 16px 32px,
        padding-icon: 14px,
        line-height: 20px,
      ),
    ),
    configs: (
      border-radius: 4px,
    ),
  );
  @return $theme;
}
