     (destroy-children! content)
     (set-html! content form-html)
     (append! content greeting-html)
+    ;; Required for IE8 to work correctly
+    (style/setOpacity (single-node (xpath label)) 1)
     (set-styles! (xpath cloud) {:opacity "0" :display "none" :margin-top "-500px"})
     (set-styles! (by-id "greet-button") {:opacity "0.2" :disabled true})
     (play form form-in {:after #(.focus (by-id "name-input") ())})))

  "Move the form out of view and the greeting into view. Run when the
  submit button is clicked and the form has valid input."
  []
  (let [e {:effect :fade :start 1 :end 0 :time 500}]
    (play-animation (parallel (bind form e)
                              (bind label e) ; Since the label won't fade in IE
                              (bind cloud
                                    {:effect :color :time 500} ; Dummy animation for delay purposes
                                    {:effect :fade-in-and-show :time 600}))
                    {:before #(gforms/setDisabled (by-id "name-input") true)
                     ;; We need this next one because IE8 won't hide the button
                     :after #(set-styles! (by-id "greet-button") {:display "none"})})))

  "Make the passed input field label invisible. Run when the input
  field loses focus and contains a valid input value."
  [label]
  (play label {:effect :fade :end 0 :time 200}))

(def move-down [{:effect :fade :end 1 :time 200}
                {:effect :color :end "#BBC4D7" :time 200}
