.comms-icon:before {
  width: 3rem;
  height: 3rem;
  position: absolute;
  content: "";
  background: url(comms_icons.png) no-repeat;
  background-size: 3rem 75rem;
}

button.comms-icon,
a[role="button"].comms-icon {
  padding: 0 2rem 0 4rem;
  text-align: left;
  position: relative;
  color: #717171;
}

button.comms-icon:before,
a[role="button"].comms-icon:before {
  left: 0.5rem;
  top: 0.3rem;
}

section[role="region"] > header:first-child .icon.comms-icon:before {
  top: 1rem;
  left: 0;
}

section[role="region"] > header:first-child menu[type="toolbar"] a:last-child .icon.comms-icon:before, 
section[role="region"] > header:first-child menu[type="toolbar"] button:last-child .icon.comms-icon:before {
  top: 1rem;
  left: 0;
}

section[role="region"] > header:first-child > button .icon.comms-icon:before, 
section[role="region"] > header:first-child > a .icon.comms-icon:before {
  left: -0.5rem;
}

[role="toolbar"] button {
  position: relative;
}

[role="toolbar"] .comms-icon:before {
  left: 1.25rem;
  top: 0.5rem;
}

[data-type="list"] aside.icon {
  top: 1.5rem;
  height: 4.5rem;
}

[role="tablist"].bottom > [role="tab"] > a.comms-icon:before {
  margin: 0.5rem 0 0 -1.5rem;
}

.activecall-dismisskeyboard:before { background-position:  -0px -0px; }
.calllog-incomingcall:before { background-position:  -0px -30px; }
.calllog-incomingsms:before { background-position:  -0px -60px; }
.calllog-missedcallgrey:before { background-position:  -0px -90px; }
.calllog-missedcallred:before { background-position:  -0px -120px; }
.calllog-outgoingcall:before { background-position:  -0px -150px; }
.calllog-outgoingsms:before { background-position:  -0px -180px; }
.contacts-addfavorite:before { background-position:  -0px -210px; }
.contacts-email:before { background-position:  -0px -240px; }
.contacts-facebook:before { background-position:  -0px -270px; }
.contacts-favorite:before { background-position:  -0px -300px; }
.contacts-importfromsim:before { background-position:  -0px -330px; }
.contacts-link:before { background-position:  -0px -360px; }
.contacts-location:before { background-position:  -0px -390px; }
.contacts-phone:before { background-position:  -0px -420px; }
.contacts-sms:before { background-position:  -0px -450px; }
.contacts-twitter:before { background-position:  -0px -480px; }
.dailer-contacts:before { background-position:  -0px -515px; }
.dailer-contacts:hover:before,
.dailer-contacts:active:before { background-position:  -0px -555px; }
.dailer-dialpad:before { background-position:  -0px -595px; }
.dailer-dialpad:hover:before,
.dailer-dialpad:active:before { background-position:  -0px -635px; }
.dailer-recentcalls:before { background-position:  -0px -675px; }
.dailer-recentcalls:hover:before,
.dailer-recentcalls:active:before { background-position:  -0px -715px; }
