{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Schema for the Design of the EMU-webApp",
  "type": "object",
  "properties": {
    "color": {
      "type": "object",
      "properties": {
        "black": {
          "type": "string"
        },
        "white": {
          "type": "string"
        },
        "blue": {
          "type": "string"
        },
        "red": {
          "type": "string"
        },
        "yellow": {
          "type": "string"
        },
        "green": {
          "type": "string"
        },
        "grey": {
          "type": "string"
        },
        "lightGrey": {
          "type": "string"
        },
        "darkGrey": {
          "type": "string"
        },
        "transparent": {
          "type": "object",
          "properties": {
            "grey": {
              "type": "string"
            },
            "lightGrey": {
              "type": "string"
            },
            "black": {
              "type": "string"
            },
            "red": {
              "type": "string"
            },
            "yellow": {
              "type": "string"
            }
          },
          "required": [
            "grey",
            "lightGrey",
            "black",
            "red",
            "yellow"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "black",
        "white",
        "blue",
        "red",
        "yellow",
        "green",
        "grey",
        "lightGrey",
        "darkGrey",
        "transparent"
      ],
      "additionalProperties": false
    },
    "animation": {
      "type": "object",
      "properties": {
        "duration": {
          "type": "integer"
        }
      },
      "required": [
        "duration"
      ],
      "additionalProperties": false
    },
    "font": {
      "type": "object",
      "properties": {
        "small": {
          "type": "object",
          "properties": {
            "family": {
              "type": "string"
            },
            "size": {
              "type": "string"
            },
            "weight": {
              "type": "string"
            }
          },
          "required": [
            "family",
            "size",
            "weight"
          ],
          "additionalProperties": false
        },
        "large": {
          "type": "object",
          "properties": {
            "family": {
              "type": "string"
            },
            "size": {
              "type": "string"
            },
            "weight": {
              "type": "string"
            }
          },
          "required": [
            "family",
            "size",
            "weight"
          ],
          "additionalProperties": false
        },
        "input": {
          "type": "object",
          "properties": {
            "family": {
              "type": "string"
            },
            "size": {
              "type": "string"
            },
            "weight": {
              "type": "string"
            }
          },
          "required": [
            "family",
            "size",
            "weight"
          ],
          "additionalProperties": false
        },
        "code": {
          "type": "object",
          "properties": {
            "family": {
              "type": "string"
            },
            "size": {
              "type": "string"
            },
            "weight": {
              "type": "string"
            }
          },
          "required": [
            "family",
            "size",
            "weight"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "small",
        "large",
        "input",
        "code"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "color",
    "animation",
    "font"
  ],
  "additionalProperties": false
}