   
   lazy var profileTopSectionView: UIView = {
     let view: UIView = UIView()
+    view.backgroundColor = ConceptColors.LightBlue
     return view
   }()
   

  }
  
  
  // MARK: - Lazy Instances
  lazy var profileBackgroundView: UIView = {
    let view: UIView = UIView()
    view.layer.cornerRadius = 12.0

class ProfileViewController: UIViewController {
  
  
  // MARK: - Lifecycle -
  override func viewDidLoad() {
    super.viewDidLoad()
    
    self.setupViewHierarchy()
    self.configureConstraints()
    
    self.drawGradientIn(self.profileTopSectionView)
  }
  
  override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    // You don't need to include self.view.layoutIfNeeded() if you call this draw from here
    // self.drawGradientIn(self.profileTopSectionView)
  }
  
  
  // MARK: - Layout -
  internal func configureConstraints() {
    
    self.profileBackgroundView.snp_makeConstraints { (make) -> Void in
//      make.top.equalTo(self.view).offset(60.0)
//      make.left.equalTo(self.view).offset(22.0)
//      make.right.equalTo(self.view).offset(-22.0)
//      make.bottom.equalTo(self.view).offset(-60.0)

      // the above is equivalent to just this:
      make.edges.equalTo(self.view).inset(UIEdgeInsetsMake(60.0, 22.0, 60.0, 22.0))
    }
    
    self.profileTopSectionView.snp_makeConstraints { (make) -> Void in
      make.top.left.right.equalTo(self.profileBackgroundView) // really get some savings here
      make.bottom.equalTo(self.profileBottomSectionView.snp_top)
    }
    
    self.profileBottomSectionView.snp_makeConstraints { (make) -> Void in
      make.left.right.bottom.equalTo(self.profileBackgroundView)
      make.top.equalTo(self.profileBackgroundView.snp_centerY).multipliedBy(1.30)
    }
    
  }
  
