Stock Based Compensation (Details - RSUs) - RSUs
3 Months Ended
Mar. 31, 2018
$ / shares
shares
Number of Shares Underlying Outstanding RSUs  
RSU Shares Outstanding, Beginning of Period | shares 7,178,015
RSUs granted, Shares | shares 2,376,440
RSUs vested, Shares | shares (1,222,641)
RSUs forfeited, Shares | shares (238,327)
RSU Shares Outstanding, End of Period | shares 8,093,487
Weighted-Average Grant-Date Fair Value per RSU  
Weighted Average Fair Value, Beginning of Period, USD per Share | $ / shares $ 62.79
Weighted Average Fair Value, RSUs Granted, USD per Share | $ / shares 83.32
Weighted Average Fair Value, RSUs Vested, USD per Share | $ / shares 65.24
Weighted Average Fair Value, RSUs Forfeited, USD per Share | $ / shares 63.38
Weighted Average Fair Value, End of Period, USD per Share | $ / shares $ 68.43