| Mar 31                          
            2020 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $27,214              
              $79.34 p/Share              
           | 
              343
           |  | 
 
      
      
        | Mar 31                          
            2020 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              740
           |  | 
 
      
      
        | Apr 22                          
            2019 | 
            
              SELL
             
                Open market or private sale
             | 
              $67,124              
              $73.12 p/Share              
           | 
              918
           |  | 
 
      
      
        | Mar 31                          
            2019 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $30,777              
              $79.94 p/Share              
           | 
              385
           |  | 
 
      
      
        | Mar 31                          
            2019 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              935
           |  | 
 
      
      
        | Apr 23                          
            2018 | 
            
              SELL
             
                Open market or private sale
             | 
              $50,397              
              $59.36 p/Share              
           | 
              849
           |  | 
 
      
      
        | Mar 31                          
            2018 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $20,493              
              $59.92 p/Share              
           | 
              342
           |  | 
 
      
      
        | Mar 31                          
            2018 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              1,376
           |  | 
 
      
      
        | Mar 31                          
            2017 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $16,706              
              $44.55 p/Share              
           | 
              375
           |  | 
 
      
      
        | Mar 31                          
            2017 | 
            
              SELL
             
                Open market or private sale
             | 
              $34,239              
              $44.64 p/Share              
           | 
              767
           |  | 
 
      
      
        | Mar 31                          
            2017 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              1,126
           |  | 
 
      
      
        | Mar 21                          
            2017 |  | 
              -                 
           | 
              394
           |  | 
 
      
      
        | Mar 31                          
            2016 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $8,830              
              $41.65 p/Share              
           | 
              212
           |  | 
 
      
      
        | Mar 31                          
            2016 | 
            
              SELL
             
                Open market or private sale
             | 
              $19,302              
              $41.78 p/Share              
           | 
              462
           |  | 
 
      
      
        | Mar 31                          
            2016 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              1,406
           |  |