{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "display": "=if(@currentField,'flex','none')",
    "margin": "5px 0"
  },
  "children": [
    {
      "elmType": "div",
      "style": {
        "display": "flex",
        "flex-direction": "column",
        "width": "44px",
        "border-radius": "8px",
        "box-shadow": "0 1px 3px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.1)",
        "background-color": "=if(((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0)+floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/4)-floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/100)+floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/400)+1*substring('032503514624',getMonth(@currentField),getMonth(@currentField)+1)+getDate(@currentField)+6)%7)>4,'#c43b33','#4c4c4c')",
        "font-weight": "bold"
      },
      "children": [
        {
          "elmType": "div",
          "txtContent": "=substring('JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC',getMonth(@currentField)*3,getMonth(@currentField)*3+3)",
          "style": {
            "display": "flex",
            "justify-content": "center",
            "letter-spacing": "1px",
            "padding": "2px 0 2px 0",
            "color": "white"
          }
        },
        {
          "elmType": "div",
          "style": {
            "display": "flex",
            "flex-direction": "column",
            "line-height": "1.1",
            "background-color": "white",
            "border-radius": "0 0 5px 5px",
            "margin": "0 3px 3px 3px"
          },
          "children": [
            {
              "elmType": "div",
              "txtContent": "=getDate(@currentField)",
              "style": {
                "display": "flex",
                "justify-content": "center",
                "font-size": "22px"
              }
            },
            {
              "elmType": "div",
              "txtContent": "=substring('SUNMONTUEWEDTHUFRISAT',((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0)+floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/4)-floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/100)+floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/400)+1*substring('032503514624',getMonth(@currentField),getMonth(@currentField)+1)+getDate(@currentField))%7)*3,((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0)+floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/4)-floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/100)+floor((getYear(@currentField)-if((getMonth(@currentField)+1)<3,1,0))/400)+1*substring('032503514624',getMonth(@currentField),getMonth(@currentField)+1)+getDate(@currentField))%7)*3+3)",
              "style": {
                "display": "flex",
                "justify-content": "center",
                "font-size": "10px",
                "padding-bottom": "2px"
              }
            }
          ]
        }
      ]
    }
  ]
}