<form action="#" method="post">
  <div>
    <label for="name">Text Input</label>
    <input type="text" name="name" id="name" value="" />
  </div>
   
  <div class="checkbox">
    <label>
    <input type="checkbox" name="checkbox" id="checkbox" />
      <span>Checkbox</span></label>
  </div>

  <div>
    <input class="g-button g-button-submit" type="submit" value="Submit" />
  </div>
</form>  

<div class="jfk-bubble active">
  <p>
    People you connect with on Google may see the month and day of your birthday. 
    <a target="_blank" href="#">Learn more</a>
  </p>
  <div class="jfk-bubble-arrow jfk-bubble-arrowright"></div>
</div>
@import "compass/css3";

html {
  font: 81.25% arial, helvetica, sans-serif;
  color: #333;
  line-height: 1;
}
a {
  color: #15c;
  text-decoration: none;
}
p {
  margin: 0;
}

/* FORM */
form {
  margin: 10px 290px;
  width: 362px;
  padding: 25px;
  background: #f1f1f1;
  border: 1px solid #e5e5e5;
  div {
    position: relative;
    margin: 0 0 1.5em;
  }
}
label {
  display: inline-block;
  width: 100%;
  position: relative;
  margin: 0 0 .5em;
  font-weight: bold;
  color: #222;
}
/* regular input */
input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url] {
  display: inline-block;
  height: 29px;
  margin: 0;
  padding: 0 8px;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-top: 1px solid #c0c0c0;
  box-sizing: border-box;
  border-radius: 1px;
  width: 100%;
  &:hover {
    border: 1px solid #b9b9b9;
    border-top: 1px solid #a0a0a0;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  }
  &:focus {
    outline: none;
    border: 1px solid #4d90fe;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
}
/* checbox */
input[type=checkbox], input[type=radio] {
  -webkit-appearance: none;
  appearance: none;
  width: 13px;
  height: 13px;
  margin: 0;
  cursor: pointer;
  vertical-align: bottom;
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 1px;
  box-sizing: border-box;
  position: relative;
  &:hover {
    border-color: #c6c6c6;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);
  }
  &:checked {
    background: #fff;
    &:after {
      content: url(https://dl.dropbox.com/u/15746367/images/checkmark.png);
      display: block;
      position: absolute;
      top: -6px;
      left: -5px;
    }
  }
}
.checkbox span{
  font-weight: normal;
}

/* button */
.g-button {
  display: inline-block;
  min-width: 46px;
  text-align: center;
  color: #444;
  font-size: 11px;
  font-weight: bold;
  height: 27px;
  padding: 0 8px;
  line-height: 27px;
  border-radius: 2px;
  @include transition(all 0.218s);
  border: 1px solid #dcdcdc;
  background-color: #f5f5f5;
  @include background-image(linear-gradient(top, #f5f5f5, #f1f1f1));
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
}
.g-button {
  height: 29px;
  line-height: 29px;
  vertical-align: bottom;
  margin: 0;
  &:hover {
    border: 1px solid #c6c6c6;
    color: #333;
    text-decoration: none;
    @include transition(all 0.0s);
    background-color: #f8f8f8;
    @include background-image(linear-gradient(top, #f8f8f8, #f1f1f1));
    box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  }
  &:active {
    background-color: #f6f6f6;  
    @include background-image(linear-gradient(top, #f6f6f6, #f1f1f1));
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  }
  &:visited {
    color: #666;
  }
}
/* blue button */
.g-button-submit {
  border: 1px solid #3079ed;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.1);
  background-color: #4d90fe;
  @include background-image(linear-gradient(top, #4d90fe, #4787ed));
  &:hover {
    border: 1px solid #2f5bb7;
    color: #fff;
    text-shadow: 0 1px rgba(0,0,0,0.3);
    background-color: #357ae8;
    @include background-image(linear-gradient(top, #4d90fe, #357ae8));
  }
  &:active {
    background-color: #357ae8;
    @include background-image(linear-gradient(top, #4d90fe, #357ae8));
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
}

/* BUBBLE */
.jfk-bubble {
  box-shadow: 0 1px 3px rgba(black,.2);
  background-color: #fff;
  border: 1px solid;
  position: absolute;
  z-index: 1201 !important;
  border-color: #bbb #bbb #a8a8a8;
  padding: 16px;
  width: 255px;
  line-height: 17px;
  visibility: hidden; 
  opacity: 0;
  left: 16px; 
  top: 48px; 
  @include transition(all 0.218s);
  &.active {
    visibility: visible; 
    opacity: 1;
  }
}

/* bubble arrow */
.jfk-bubble-arrow {
  position: absolute;
  top: 20px;
  &:before, &:after {
    content: "";
    display: block;
    height: 0;
    position: absolute;
    width: 0;
  }
  &:before {
    border: 9px solid;
    border-color: transparent #bbb;
    top: -9px;
  }
  &:after {
    border: 8px solid;
    border-color: transparent #fff;
    top: -8px;
  }
}

.jfk-bubble-arrowright {
  right: 0;
  &:before, &:after {
    border-right-width: 0;
  }
} 


View Compiled
$(function(){
  var jfk = $(".jfk-bubble"); 
  $("#name").focus(function(){
    jfk.addClass("active");
  }).blur(function(){
    jfk.removeClass("active");
  });
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js