Prefix CSS selectors (v5)

Revision 5 of this benchmark created on


Preparation HTML

<script>
  var cssText = '/*!
 * Bootstrap v2.0.3
 *
 * Copyright 2012 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world @twitter by @mdo and @fat.
 */
@charset utf-8;
/*--
        Theme Name: theme1601
        Theme URI: http://template-help.com/
        Description: A theme for Wordpress 3.1+ from Template-Help.com Collection
        Author: Template_Help.com 
        Author URL: http://www.Template-Help.com/ 
--*/
/* General
---------------------------------------- */
html, body {
  min-width: 960px;
}
body {
  background: #d7d7d7 url(../images/pattern.gif);
  color: #858585;
  font: 100%/1.25em Arial, Helvetica, sans-serif;
  position: relative;
  padding-top: 40px;
}
#main-holder {
  width: 950px;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}
#main {
  font-size: .75em;
  position: relative;
  width: 960px;
  margin: 0 -5px;
}
/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin: 0 0 1em 0;
  color: #5a5a5a;
}
h1 {
  font-size: 36px;
  line-height: 40px;
  padding-bottom: 17px;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 20px;
  letter-spacing: -1px;
}
h2 {
  font-size: 27px;
  line-height: 1.2em;
  padding-bottom: 24px;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 15px;
  letter-spacing: -1px;
}
h5 {
  font-size: 1em;
}
h6 {
  color: #858585;
  font-size: 1em;
  font-weight: normal;
  font-style: italic;
  margin: 0;
}
/* List styling */
ul li {
  background: url(../images/marker.png) 0 8px no-repeat;
  padding: 0 0 4px 14px;
  list-style-type: none;
  margin: 0;
}
ul li a {
  color: #858585;
  text-decoration: none;
}
ul li a:hover {
  color: #f4cb0b;
  text-decoration: underline;
}
dl {
  padding: 0;
  margin: 0;
}
dl dt {
  background: url(../images/marker2.png) no-repeat 0 3px;
  padding: 0 0 3px 22px;
  margin: 0 0 .5em 0;
  font-size: 18px;
  line-height: 1.2em;
}
dl dd {
  padding: 0 0 0 22px;
  margin: 0 0 1.7em 0;
}
/* Links, inline elements */
a {
  color: #f4cb0b;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
strong {
  color: #5a5a5a;
}
/* Header
---------------------------------------- */
#header {
  min-height: 80px;
  position: relative;
  z-index: 99;
  margin-bottom: 35px;
}
.home #header {
  margin-bottom: 40px;
}
/* Logo */
.logo {
  position: absolute;
  left: 0;
  top: 23px;
}
.logo h1, .logo h2 {
  font-size: 44px;
  text-transform: uppercase;
  line-height: 1em;
  margin-bottom: 0;
  border: none;
  padding: 0 0 16px 0;
  font-weight: normal;
  font-family: Impact, Charcoal, sans-serif;
}
.logo h1 a, .logo h2 a {
  color: #f4cb0b;
  text-decoration: none;
}
.logo .tagline {
  font-size: 10px;
  text-transform: uppercase;
  color: #aeaeae;
  letter-spacing: 4px;
  position: relative;
  margin: -19px 0 0 60px;
}
/* Social Networks */
#widget-header .social-networks {
  list-style-type: none;
  padding: 0;
  margin: 0;
  border: none;
}
#widget-header .social-networks li {
  float: left;
  border: none;
  padding: 0;
  margin: 0 0 0 5px;
  list-style-type: none;
  height: 30px;
}
#widget-header .social-networks li a {
  text-decoration: none;
  float: left;
  height: 30px;
  display: block;
}
#widget-header .social-networks li a:hover {
  color: red;
}
/* EasyTooltip */
.tooltip {
  background: none repeat scroll 0 0 #252525;
  border: 1px solid #000000;
  color: #EEEEEE;
  display: none;
  font-size: 11px;
  line-height: 1.2em;
  margin: 13px 0 0;
  padding: 5px;
  z-index: 99;
}
/* Request a quote */
.top-box h2 {
  font-size: 36px;
  line-height: 40px;
}
.top-box h2 strong {
  display: block;
  font-size: 52px;
  line-height: 1em;
  text-transform: uppercase;
  color: #8c8c8c;
}
.box-text {
  margin-bottom: 1.3em;
}
/* Slider
---------------------------------------- */
#slider-wrapper {
  height: 450px;
  overflow: hidden;
  position: relative;
  margin-bottom: 50px;
}
#slider {
  position: relative;
  width: 870px;
  height: 450px;
  background: url(../images/loading.gif) no-repeat 50% 50%;
}
#slider img {
  position: absolute;
  top: 0px;
  left: 0px;
  display: none;
}
#slider a {
  border: 0;
  display: block;
}
/* The Nivo Slider styles */
.nivoSlider {
  position: relative;
}
.nivoSlider img {
  position: absolute;
  top: 0px;
  left: 0px;
}
/* If an image is wrapped in a link */
.nivoSlider a.nivo-imageLink {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  z-index: 60;
  display: none;
}
/* The slices in the Slider */
.nivo-slice {
  display: block;
  position: absolute;
  z-index: 50;
  height: 100%;
}
.nivo-box {
  display: block;
  position: absolute;
  z-index: 5;
}
/* Caption styles */
.nivo-caption {
  position: absolute;
  left: 0px;
  bottom: 0px;
  background: #000;
  color: #fff;
  opacity: 0.8;
  /* Overridden by captionOpacity setting */

  width: 100%;
  z-index: 89;
}
.nivo-caption .nivo-caption-inner {
  padding: 0;
  margin: 0;
}
.nivo-caption a {
  display: inline !important;
}
.nivo-html-caption {
  display: none;
}
/* Direction nav styles (e.g. Next & Prev) */
.nivo-directionNav a {
  position: absolute;
  top: 45%;
  z-index: 99;
  cursor: pointer;
}
.nivo-prevNav {
  left: 0px;
}
.nivo-nextNav {
  right: 0px;
}
/* Control nav styles (e.g. 1,2,3...) */
.nivo-controlNav {
  position: absolute;
  right: 1px;
  bottom: 1px;
  text-align: center;
}
.nivo-controlNav a {
  position: relative;
  z-index: 99;
  cursor: pointer;
  display: inline-block !important;
  background: #ccc;
  line-height: 35px;
  padding: 0 14px;
  color: #5a5a5a;
  text-decoration: none;
  margin-left: 1px;
}
.nivo-controlNav a:hover, .nivo-controlNav a.active {
  background: #f4cb0b;
  color: #ffffff;
}
.nivo-directionNav a {
  position: absolute;
  display: block;
  width: 36px;
  height: 35px;
  text-indent: -9999px;
  border: 0;
  top: 50%;
  background: url(../images/direction_nav.png) no-repeat 0 0;
}
a.nivo-nextNav {
  right: 0;
  background-position: -36px 0;
}
a.nivo-nextNav:hover {
  background-position: -36px -35px;
}
a.nivo-prevNav {
  left: 0;
  background-position: 0 0;
}
a.nivo-prevNav:hover {
  background-position: 0 -35px;
}
#slider .nivo-controlNav img {
  display: inline;
  /* Unhide the thumbnails */

  position: relative;
  margin-right: 10px;
  width: 120px;
  height: auto;
}
/* Navigations
---------------------------------------- */
/* Primary navigation */
nav.primary {
  position: relative;
  z-index: 2;
}
/* Essential styles for dropdown menu */
.sf-menu, .sf-menu * {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sf-menu {
  line-height: 1.0;
}
.sf-menu ul {
  position: absolute;
  top: -999em;
  width: 140px;
  /* left offset of submenus need to match (see below) */

}
.sf-menu ul li {
  width: 100%;
}
.sf-menu li:hover {
  visibility: inherit;
  /* fixes IE7 'sticky bug' */

}
.sf-menu li {
  float: left;
  position: relative;
}
.sf-menu a {
  display: block;
  position: relative;
}
.sf-menu li:hover ul, .sf-menu li.sfHover ul {
  left: 0;
  top: 80px;
  /* match top ul list item height */

  z-index: 99;
}
ul.sf-menu li:hover li ul, ul.sf-menu li.sfHover li ul {
  top: -999em;
}
ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul {
  left: 140px;
  /* match ul width */

  top: 0;
}
ul.sf-menu li li:hover li ul, ul.sf-menu li li.sfHover li ul {
  top: -999em;
}
ul.sf-menu li li li:hover ul, ul.sf-menu li li li.sfHover ul {
  left: 140px;
  /* match ul width */

  top: 0;
}
/* Our skin for dropdown menu */
.sf-menu {
  max-width: 670px;
  float: right;
  background: #f3f3f3;
  margin: 0 -40px 0 0;
  -webkit-box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.05);
}
.sf-menu a {
  text-decoration: none;
  color: #8c8c8c;
}
.sf-menu a:hover {
  text-decoration: none;
}
.sf-menu li {
  background: none;
}
.sf-menu > li > a {
  font-size: 14px;
  height: 80px;
  line-height: 80px;
  text-decoration: none;
  padding: 0 26px;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.sf-menu > li:last-child > a {
  padding: 0 40px;
}
.sf-menu > li.last-child > a {
  padding: 0 40px;
}
.sf-menu > li > a:hover, .sf-menu > li.sfHover > a, .sf-menu > li.current-menu-item > a {
  color: #3a3a3a;
  background: #e5e5e5;
  text-decoration: none;
}
/* Submenu */
.sf-menu ul {
  background: #e5e5e5;
}
.sf-menu li li a {
  padding: 5px 10px 5px 28px;
  line-height: 20px;
  font-size: 13px;
}
.sf-menu li li a:hover {
  background: #f4cb0b;
  color: #ffffff;
}
.sf-menu li:hover,
.sf-menu li.sfHover,
.sf-menu a:focus,
.sf-menu a:hover,
.sf-menu a:active,
.sf-menu li.current-menu-item > a {
  outline: 0;
}
/*** arrows **/
.sf-menu a.sf-with-ul {
  padding-right: 2.25em;
  min-width: 1px;
  /* trigger IE7 hasLayout so spans position accurately */

}
.sf-sub-indicator {
  position: absolute;
  display: block;
  right: .75em;
  top: 1.05em;
  /* IE6 only */

  width: 10px;
  height: 10px;
  text-indent: -999em;
  overflow: hidden;
  background: url(../images/arrows-ffffff.png) no-repeat -10px -100px;
  /* 8-bit indexed alpha png. IE6 gets solid image only */

}
a > .sf-sub-indicator {
  /* give all except IE6 the correct values */

  top: .8em;
  background-position: 0 -100px;
  /* use translucent arrow for modern browsers*/

}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
  background-position: -10px -100px;
  /* arrow hovers for modern browsers*/

}
/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator {
  background-position: -10px 0;
}
.sf-menu ul a > .sf-sub-indicator {
  background-position: 0 0;
}
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
  background-position: -10px 0;
  /* arrow hovers for modern browsers*/

}
/*** shadows for all but IE6 ***/
.sf-shadow ul {
  background: url(../images/shadow.png) no-repeat bottom right;
  padding: 0 8px 9px 0;
  -moz-border-radius-bottomleft: 17px;
  -moz-border-radius-topright: 17px;
  -webkit-border-top-right-radius: 17px;
  -webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {
  background: transparent;
}
/* Content
---------------------------------------- */
.primary_content_wrap {
  position: relative;
  z-index: 1;
  padding-bottom: 70px;
}
.widget-holder {
  margin-top: 55px;
}
.widget-holder:first-child {
  margin-top: 0;
}
#content.left {
  float: right !important;
}
#content .indent {
  padding: 0 45px 0 0;
}
#content.left .indent {
  padding: 0 0 0 45px;
}
/* Primary Content Area - Home page */
.description {
  margin-bottom: 1.3em;
}
#primary_content_area .post_list {
  overflow: hidden;
  padding: 0;
  margin: 0 0 -10px 0;
}
#primary_content_area .post_list li {
  float: left;
  width: 120px;
  margin: 0 10px 10px 0;
  padding: 0;
  list-style-type: none;
  border: none;
  line-height: 18px;
}
#primary_content_area .post_list li:nth-child(4n) {
  margin-right: 0;
}
#primary_content_area .post_list li.nomargin {
  margin-right: 0;
}
#primary_content_area .post_list li .post-title {
  font-weight: bold;
  color: #5a5a5a;
  text-decoration: none;
}
#primary_content_area .post_list li img {
  float: none;
  margin: 0 0 6px 0;
}
#primary_content_area .post_list li .post-title:hover {
  color: #f4cb0b;
  text-decoration: underline;
}
#primary_content_area .cat-item {
  float: left;
  width: 146px;
}
/* Secondary Content Area - Home page */
#secondary_content_area .textwidget {
  background: #efefef;
  padding: 30px 25px 20px 18px;
  margin: -16px 0 0 0;
  position: relative;
}
/* Page */
/* Comments
---------------------------------------- */
h2#comments {
  padding-top: 25px;
  margin-bottom: 0;
}
.commentlist {
  list-style-type: none;
  padding: 0 0 40px 0;
  margin: 0;
}
li.comment {
  list-style-type: none;
  overflow: hidden;
  background: none;
  padding: 0;
  margin: 0;
  position: relative;
}
li.comment .comment-body {
  padding: 20px 20px 20px 130px;
  position: relative;
  zoom: 1;
  background: #efefef;
  margin-top: 10px;
}
.comment-author {
  padding: 0;
  color: #5a5a5a;
  font-weight: bold;
}
.comment-meta {
  margin: 0 0 1em 0;
}
.comment-meta a {
  color: #5a5a5a;
  text-decoration: none;
}
.comment-meta a:hover {
  color: #f4cb0b;
  text-decoration: underline;
}
li.comment .avatar {
  float: none;
  margin: 0;
  position: absolute;
  left: 20px;
  top: 20px;
  vertical-align: top;
  overflow: hidden;
}
li.comment .avatar {
  display: block;
  vertical-align: top;
  overflow: hidden;
}
.commentlist ul.children {
  margin: 0 0 0 30px;
  overflow: hidden;
}
.reply {
  text-align: right;
}
.reply a {
  color: #f4cb0b;
  text-decoration: underline;
}
.reply a:hover {
  color: #5a5a5a;
  text-decoration: none;
}
.cancel-comment-reply {
  padding-bottom: 7px;
}
.cancel-comment-reply a {
  font-size: 12px;
  text-transform: uppercase;
  color: red;
  text-decoration: none;
}
.allowed_tags {
  background: #eee;
  padding: 15px;
  font-size: 11px;
  font-family: "Courier New", Courier, monospace;
  color: #666;
}
.allowed_tags strong {
  font-family: Tahoma, Geneva, sans-serif;
}
#respond {
  padding: 1em 0 0 0;
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
}
/* Post
---------------------------------------- */
.post-holder {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
/* Post header */
.post-holder .entry-header {
  margin-bottom: 10px;
}
.post-holder .entry-header h1, .post-holder .entry-header h2 {
  font-size: 18px;
  line-height: 1.2em;
  padding: 0;
  margin-bottom: .3em;
  border: none;
  font-weight: normal;
  letter-spacing: 0;
}
.post-holder .entry-header h2 a {
  color: #858585;
  text-decoration: none;
}
.post-holder .entry-header h2 a:hover {
  color: #f4cb0b;
  text-decoration: underline;
}
.post-holder.single-post {
  border: none;
  padding-bottom: 0;
  overflow: hidden;
  width: 100%;
}
/* Featured thumbnail */
.featured-thumbnail {
  float: left;
  margin: 5px 20px 10px 0;
}
.featured-thumbnail img {
  float: left;
}
/* Small thumbnail */
.featured-thumbnail.small img {
  padding: 4px;
}
/* Large thumbnail */
.featured-thumbnail.large {
  margin-right: 0;
  overflow: hidden;
  margin-bottom: 1.2em;
}
.featured-thumbnail.large img {
  max-width: 100%;
  height: auto;
}
/* Thumbnail with prettyphoto */
.featured-thumbnail .image-wrap[rel="prettyphoto"] {
  background: url(../images/magnify.png) no-repeat 50% 50%;
  display: block;
  float: left;
}
.featured-thumbnail .image-wrap[rel="prettyphoto"] img {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
.featured-thumbnail .image-wrap[rel="prettyphoto"]:hover img {
  opacity: .5;
  filter: progid:dximagetransform.microsoft.alpha(Opacity=50);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
/* Post content */
.post-content .excerpt {
  margin-bottom: 1.5em;
}
.pagination a {
  display: inline-block;
  padding: 0 5px;
  background: #eee;
}
/* Post footer */
.post-holder .post-footer {
  clear: both;
  padding: 15px 0 0 0;
}
.post-holder.single-post .post-footer {
  margin-top: 20px;
}
/* Meta information for post */
.post-meta {
  width: 100%;
  overflow: hidden;
}
.post-meta .ico {
  padding: 0 0 0 20px;
  margin-right: 13px;
}
.post-meta .ico.date {
  background: url(../images/icon-date.png) 0 2px no-repeat;
}
.post-meta .ico.author {
  background: url(../images/icon-author.png) 0 2px no-repeat;
}
.post-meta .ico.comment {
  background: url(../images/icon-comment.png) 0 2px no-repeat;
}
.post-meta a {
  color: #858585;
  text-decoration: none;
}
.post-meta a:hover {
  color: #f4cb0b;
  text-decoration: underline;
}
p.gravatar {
  float: left;
  margin-right: 20px;
}
/* Post edit link */
.post-edit-link {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  padding: 2px 7px;
  background: #000;
  color: #fff;
  font-size: 10px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 3px;
}
.post-edit-link:hover {
  background: #666;
}
/* Image styling */
.alignleft {
  float: left;
  margin: 0 20px 10px 0;
}
.alignright {
  float: right;
  margin: 0 0 10px 20px;
}
.aligncenter {
  text-align: center;
  margin: 0 auto;
}
article .post-content img {
  max-width: 710px;
}
.frame {
  padding: 7px;
  background: #fff;
  border: 1px solid #dbdbdb;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  text-align: center;
}
.frame img.alignleft, .frame img.alignright {
  margin: 0;
  padding: 0;
  border: none;
}
/* Page Navigaton (wp-pagenavi) */
.wp-pagenavi {
  clear: both;
  overflow: hidden;
}
.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  padding: 0 7px;
  margin-right: 5px;
  display: inline-block;
  color: #5a5a5a;
  line-height: 35px;
  text-decoration: none;
  font-size: 18px;
  float: left;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
  color: #f4cb0b;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .last,
.wp-pagenavi .first {
  font-size: 12px;
  color: #ffffff;
  padding: 0 15px;
  background: #c4c4c4;
}
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .last:hover,
.wp-pagenavi .first:hover {
  background: #f4cb0b;
  color: #ffffff;
}
.wp-pagenavi .nextpostslink, .wp-pagenavi .first {
  margin-left: 10px;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .last {
  margin-right: 10px;
}
.wp-pagenavi span.current {
  font-weight: bold;
}
.wp-pagenavi .pages {
  float: right;
  border: none;
  color: #999;
}
/* Older and newer navigation */
nav.oldernewer {
  width: 100%;
  overflow: hidden;
  margin-bottom: 1.5em;
}
.older {
  float: left;
}
.newer {
  float: right;
}
/* Author
---------------------------------------- */
#post-author {
  overflow: hidden;
  border: 1px solid #dbdbdb;
  padding: 20px;
  margin-bottom: 2em;
}
#author-link {
  margin-top: 1.5em;
}
#post-author .gravatar {
  margin: 0 20px 0 0;
}
#post-author .gravatar img {
  background: #fff;
  border: 1px solid #dbdbdb;
  padding: 5px;
}
/* Recent author posts */
#recent-author-posts {
  margin-bottom: 3em;
}
/* Recent author comments */
.author-info {
  width: 100%;
  overflow: hidden;
  margin-bottom: 3em;
  padding-bottom: 2em;
  border-bottom: 1px solid #eee;
}
.author-info .avatar {
  margin: 0 20px 0 0;
}
.author-info .avatar img {
  float: left;
  background: #fff;
  padding: 7px;
  border: 1px solid #dbdbdb;
}
.author-meta {
  margin-bottom: 20px;
  overflow: hidden;
  width: 100%;
}
.author-meta p.gravatar {
  margin: 0;
}
/* 404
---------------------------------------- */
#error404 {
  padding: 30px 0 100px 0;
}
.error404-num {
  font-size: 250px;
  line-height: 1.2em;
  color: #999;
  text-align: center;
}
#error404 hgroup {
  margin: 0 0 2em 0;
  padding-top: 50px;
}
#error404 h1 {
  border: none;
  padding-bottom: 0;
}
/* Portfolio
---------------------------------------- */
.latestwork {
  width: 100%;
  overflow: hidden;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.latestwork li {
  float: left;
  margin-right: 20px;
}
/* Gallery */
.header-title {
  margin-bottom: 1.2em;
}
.header-title h1 {
  margin-bottom: .1em;
  font-size: 27px;
  line-height: 1.2em;
  padding-bottom: 24px;
}
.header-title .page-desc {
  font-size: .91em;
  color: #999;
}
/* Default layout 3 columns */
#gallery .portfolio {
  width: 100%;
  overflow: hidden;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
#gallery .portfolio li {
  display: -moz-inline-box;
  display: inline-block;
  zoom: 1;
  vertical-align: top;
  width: 270px;
  margin: 0 26px 30px 0;
  position: relative;
  background: none;
  padding: 0;
}
* + html #gallery .portfolio li {
  display: inline;
}
#gallery .portfolio li.nomargin {
  margin-right: 0 !important;
}
#gallery .portfolio li span.image-border {
  display: block;
  height: 180px;
  width: 270px;
  position: relative;
}
#gallery .portfolio li a.image-wrap {
  display: block;
  overflow: hidden;
  width: 270px;
  height: 180px;
  position: relative;
  background: #f5f5f5 url(../images/loading-folio.gif) 50% 50% no-repeat;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
}
#gallery .portfolio li a.image-wrap img {
  float: left;
}
#gallery .portfolio .folio-desc {
  margin-bottom: 0;
  padding: 1.2em 0 0 0;
}
#gallery .portfolio .folio-desc h3 {
  font-size: 1em;
  margin: 0;
}
#gallery .portfolio .folio-desc h3 a {
  color: #5a5a5a;
}
#gallery .portfolio .folio-desc h3 a:hover {
  color: #f4cb0b;
  text-decoration: underline;
}
#gallery .portfolio p.excerpt {
  padding: 0;
}
.zoom-icon {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.7);
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  opacity: 0;
}
.no-rgba .zoom-icon {
  background: url(../images/black-opacity-70.png);
  visibility: hidden;
}
.zoom-icon:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42px;
  height: 62px;
  margin: -31px 0 0 -21px;
  background: url(../images/magnify.png) 50% 50% no-repeat;
}
.image-wrap:hover .zoom-icon {
  opacity: 1;
}
.no-rgba .image-wrap:hover .zoom-icon {
  visibility: visible;
}
/* 1 column portfolio*/
#gallery.one_column .portfolio li {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
#gallery.one_column .portfolio li span.image-border {
  width: 470px;
  height: 284px;
  float: left;
}
#gallery.one_column .portfolio li a.image-wrap {
  width: 470px;
  height: 284px;
}
#gallery.one_column .folio-desc {
  float: left;
  margin: 0 0 0 20px;
  padding: 0;
  overflow: hidden;
  width: 365px;
}
/* 2 columns portfolio*/
#gallery.two_columns .portfolio li {
  width: 420px;
}
#gallery.two_columns .portfolio li span.image-border {
  width: 420px;
  height: 260px;
}
#gallery.two_columns .portfolio li a.image-wrap {
  width: 420px;
  height: 260px;
}
/* 4 columns portfolio*/
#gallery.four_columns .portfolio li {
  width: 195px;
}
#gallery.four_columns .portfolio li span.image-border {
  width: 195px;
  height: 130px;
}
#gallery.four_columns .portfolio li a.image-wrap {
  width: 195px;
  height: 130px;
}
/* Sidebar
---------------------------------------- */
.widget {
  margin-bottom: 40px;
}
.widget h3 {
  font-size: 27px;
  line-height: 1.2em;
  padding-bottom: 24px;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 15px;
  letter-spacing: -1px;
}
/* Calendar */
#calendar_wrap {
  padding: 0;
}
#wp-calendar {
  width: 100%;
}
#wp-calendar td {
  text-align: center;
  padding: 6px 0;
  border: none;
}
#wp-calendar #today {
  background: #f4cb0b;
  color: #ffffff;
}
#wp-calendar caption {
  font-size: 12px;
  color: #ffffff;
  padding: 6px 0;
  margin-bottom: 5px;
  text-align: center;
  background: #c4c4c4;
  text-transform: uppercase;
}
#wp-calendar thead th {
  padding: 7px 0;
  color: #5a5a5a;
  text-align: center;
}
#wp-calendar #prev {
  text-align: left;
}
#wp-calendar #next {
  text-align: right;
}
/* Custom widgets
---------------------------------------- */
/* Recent Comments */
ul.recentcomments {
  padding: 0;
  margin: 0;
}
ul.recentcomments li {
  border-top: 1px solid #c6c6c6;
  padding: 25px 0 25px 0;
  margin: 0;
  border-bottom: none;
  background: none;
  overflow: hidden;
  list-style-type: none;
}
ul.recentcomments li:first-child {
  padding-top: 0;
  border-top: none;
}
ul.recentcomments li img {
  float: left;
  margin: 0 12px 0 0;
}
ul.recentcomments .comment-body {
  padding: 15px 0 0 0;
}
ul.recentcomments .comment-body a {
  text-decoration: none;
  color: #96999d;
}
ul.recentcomments .comment-body a:hover {
  color: #000;
  text-decoration: underline;
}
ul.recentcomments li h4 {
  margin-bottom: .1em;
}
ul.recentcomments li h4 a {
  text-decoration: none;
}
ul.recentcomments li h4 a:hover {
  color: #000;
}
ul.recentcomments li small {
  font-size: 11px;
  color: #6a6a6a;
}
/* Posts Type widget */
.post_list {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.post_list li {
  overflow: hidden;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  border-top: 1px solid #dbdbdb;
  margin: 0;
}
.post_list li:first-child {
  border: none;
  padding-top: 0;
}
.post_list li img {
  float: left;
  margin: 0 15px 0 0;
}
/* Popular posts */
.popular-posts {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.popular-posts li {
  overflow: hidden;
  background: none;
  padding: 0;
  margin: 0 0 2em 0;
}
.popular-posts li .post-thumb {
  float: left;
  margin-right: 20px;
  width: 100px;
  height: 100px;
  overflow: hidden;
}
.popular-posts li .post-thumb .thumbnail {
  width: 100%;
  height: auto;
}
.popular-posts li .post-thumb.empty-thumb {
  background: url(../images/empty_thumb.gif) no-repeat 50% 50% #ececec;
}
.popular-posts li h5 {
  font-size: 1em;
  margin-bottom: .5em;
}
.popular-posts li .excerpt {
  margin-bottom: .8em;
}
/* Post Cycle */
.post_cycle {
  padding: 0;
  margin: 0;
}
#post-cycle .cycle_item {
  display: none;
}
#post-cycle .cycle_item:first {
  display: block;
}
/* Folio Cycle */
.folio_cycle {
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;
  overflow: hidden;
}
.folio_cycle .folio_item {
  overflow: hidden;
  display: none;
}
.folio_cycle .folio_item:first {
  display: block;
}
.folio_cycle .folio_item .featured-thumbnail {
  float: none;
  margin: 0 0 15px 0;
}
.folio_cycle .folio_item .featured-thumbnail img {
  float: none;
}
#folio-controls {
  text-align: center;
  overflow: hidden;
}
#folio-controls ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#folio-controls ul li {
  padding: 0 5px 0 0;
  margin: 0;
  background: none;
  display: inline;
}
#folio-controls ul li a {
  display: inline-block;
  text-decoration: none;
  width: 10px;
  height: 10px;
  background: #f4cb0b;
  font-size: 0;
  line-height: 0;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#folio-controls ul li a:hover, #folio-controls ul li.activeSlide a {
  background: #5a5a5a;
}
/* Recent Posts */
.latestpost {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.latestpost li {
  background: none;
  padding: 0;
  margin: 0 0 1.7em 0;
  list-style-type: none;
}
.latestpost li h4 {
  margin-bottom: 0;
}
.latestpost li .excerpt {
  margin: 0;
}
/* Twitter widget */
.twitter {
  position: relative;
}
.twitter_update_list {
  overflow: hidden;
}
.twitter ul li {
  list-style-type: none;
  margin: 0 0 15px 0;
  padding: 0 0 0 37px;
  background: url(../images/twitter-icon.png) no-repeat 0 0;
}
.twitter ul li .twitt-body {
  padding: 0 0 5px 0;
}
.twitter ul li .twitt-body a {
  font-weight: bold;
}
.twitter ul li a.timesince {
  font-size: 11px;
}
.twitter .preloader {
  position: absolute;
  top: 40px;
  left: 0;
  height: 25px;
  line-height: 25px;
  padding-left: 30px;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-image: url(../images/loading-twitter.gif);
}
/* Flickr widget */
.flickrImages {
  overflow: hidden;
  position: relative;
}
.flickrImages a {
  float: left;
  display: block;
  width: 75px;
  height: 75px;
  background: #000;
  margin: 0 1px 1px 0;
}
.flickrImages a img {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.flickrImages a:hover img {
  opacity: .5;
}
.flickrImages a.link {
  display: inline;
  float: none;
  width: auto;
  height: auto;
  margin: 0;
  background: none;
}
/* Banner widget */
.banners-holder {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.banners-holder li {
  list-style-type: none;
  float: left;
  margin: 0 3px 3px 0;
  padding: 0;
}
.banners-holder li img {
  vertical-align: top;
  float: left;
}
/* Shortcodes
---------------------------------------- */
/* Recent Posts */
.recent-posts {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow: hidden;
  border: none;
}
.recent-posts li {
  margin: 0 0 20px 0;
  padding: 0;
  border: none;
}
.recent-posts li img.thumb {
  float: left;
  margin: 0 20px 0 0;
}
.recent-posts li h5 {
  font-size: 1em;
  margin-bottom: 0;
}
.recent-posts li .excerpt {
  margin-bottom: 1.5em;
}
.recent-posts li span.meta {
  display: block;
  margin-bottom: .5em;
  font-size: 10px;
  color: #888;
  text-transform: uppercase;
}
/* Our team */
.recent-posts.team {
  margin: 0;
  padding: 0;
}
.recent-posts.team li {
  float: left;
  width: 174px;
  overflow: hidden;
  margin: 0 19px 20px 0;
  background: #dbdbdb;
  padding: 10px;
  color: #969695;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.recent-posts.team li:hover {
  background: #999;
  color: #000;
}
.recent-posts.team li:nth-child(3n) {
  margin-right: 0;
}
.recent-posts.team li.nomargin {
  margin-right: 0;
}
.recent-posts.team li .featured-thumbnail {
  width: 174px;
  overflow: hidden;
  float: none;
  margin: 0 0 3px 0;
  background: none;
  padding: 0;
  border: none;
}
.recent-posts.team li .excerpt {
  margin-bottom: 0;
}
.recent-posts.team li:hover a {
  color: #ffffff;
}
/* Services */
.recent-posts.services {
  list-style-type: none;
  padding: 0;
  margin: 0 0 -30px 0;
  overflow: hidden;
}
.recent-posts.services li {
  width: 230px;
  margin: 0 28px 30px 0;
  padding: 0 20px 20px 20px;
  background: #efefef;
  display: -moz-inline-box;
  display: inline-block;
  zoom: 1;
  vertical-align: top;
}
* + html .recent-posts.services li {
  display: inline;
}
.recent-posts.services li:nth-child(3n) {
  margin-right: 0;
}
.recent-posts.services li.nomargin {
  margin-right: 0;
}
.recent-posts.services li .featured-thumbnail {
  float: none;
  margin: 0 -20px 15px -20px;
  overflow: hidden;
}
.recent-posts.services li h5 {
  font-size: 18px;
  line-height: 1.2em;
  font-weight: normal;
  margin: 0 0 .5em 0;
  padding: 0;
}
.recent-posts.services li h5 a {
  color: #858585;
}
.recent-posts.services li .excerpt {
  display: inline;
}
/* Practice */
.recent-posts.practice li .link {
  font-style: normal;
}
/* Popular Posts */
.popular_posts {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.popular_posts li {
  list-style-type: none;
  padding: 0 0 20px 0;
  margin: 0;
  overflow: hidden;
}
/* Tags */
.tags-cloud a, .tagcloud a, .post-footer a {
  display: inline-block;
  background: #c4c4c4;
  padding: 5px 8px;
  text-decoration: none;
  color: #ffffff;
  margin: 0 1px 4px 0;
  font-size: 11px !important;
  line-height: 1.5em;
  vertical-align: top;
}
.tags-cloud a:hover, .tagcloud a:hover, .post-footer a:hover {
  background: #f4cb0b;
  color: #ffffff;
}
/* Recent Comments */
.recent-comments {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.recent-comments li {
  padding: 0;
  margin: 0;
  border: none;
  padding-bottom: .5em;
}
/* Footer
---------------------------------------- */
#footer {
  padding: 26px 0 26px 0;
  font-size: .75em;
  color: #5a5a5a;
}
#footer a {
  color: #5a5a5a;
  text-decoration: underline;
}
#footer a:hover {
  text-decoration: none;
}
/* Footer navigation */
nav.footer ul {
  margin: 0;
  padding: 0;
}
nav.footer ul li {
  list-style-type: none;
  float: left;
  padding: 0 15px 0 0;
  margin: 0;
  background: none;
}
/* Copyright */
/* Footer text */
#footer-text {
  float: left;
}
/* Footer Info */
#footer-info {
  float: right;
  text-align: right;
}
.phone {
  display: inline-block;
  background: url(../images/icon-phone.png) 0 0 no-repeat;
  padding: 0 0 0 15px;
}
/* Misc
---------------------------------------- */
.button, .recent-posts.practice li .link {
  display: inline-block;
  padding: 7px 15px;
  background: #c4c4c4;
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.button:hover, .recent-posts.practice li .link:hover {
  color: #ffffff;
  text-decoration: none !important;
  background: #f4cb0b;
}
.link {
  font-style: italic;
  color: #f4cb0b;
  text-decoration: underline;
}
.link:hover {
  text-decoration: none;
  color: #5a5a5a;
}
/* Tabs */
.tabs {
  margin: 1px 0 20px 0;
}
.tabs .tab-wrapper {
  border: 1px solid #dddddd;
  border-radius: 0 5px 5px 5px;
  -moz-border-radius: 0 5px 5px 5px;
  -webkit-border-radius: 0 5px 5px 5px;
  margin: -1px 0 0 0;
}
.tabs .tab-menu ul {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.tabs .tab-menu li {
  display: inline;
  float: left;
  margin: 0;
  padding: 0;
}
.tabs .tab-menu a {
  background-color: #fafafa;
  border: 1px solid #dddddd;
  border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  color: #aaaaaa;
  display: block;
  font-size: 12px;
  letter-spacing: 1px;
  margin: 0 2px 0 0;
  padding: 8px 20px;
}
.tabs .tab-menu a:hover {
  background-color: #f2f2f2;
  color: #666666;
}
.tabs .tab-menu a.active {
  background-color: #ffffff;
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#fafafa');
  background: -moz-linear-gradient(bottom, #fafafa 0px, #f6f6f6 90%) repeat scroll 0 0 transparent;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fafafa), color-stop(90%, #f6f6f6));
  border-bottom: none;
  color: #666666;
  padding: 8px 20px 9px 20px;
}
.tabs .tab {
  background-color: #fafafa;
  border-radius: 0 5px 5px 5px;
  -moz-border-radius: 0 5px 5px 5px;
  -webkit-border-radius: 0 5px 5px 5px;
  padding: 20px;
}
/* Toggle */
.toggle {
  padding: 0 0 2px 0;
}
.toggle .trigger {
  background-color: #f5f5f5;
  background: -moz-linear-gradient(bottom, #f2f2f2 0px, #ffffff 100%);
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #f2f2f2), color-stop(1, #ffffff));
  border: 1px solid #dddddd;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  color: #666666;
  display: block;
  padding: 10px 12px 10px 40px;
  position: relative;
  text-decoration: none;
  height: 1%;
}
.toggle .trigger span {
  background: url(../includes/images/toggle.png) 0 0 no-repeat;
  display: block;
  position: absolute;
  top: 9px;
  left: 10px;
  text-indent: -9999px;
  width: 22px;
  height: 20px;
}
.toggle .trigger:hover, .toggle .active {
  background: #191919;
  color: #fff;
}
.toggle .active span {
  background-position: 0 -20px;
}
.toggle .box {
  background-color: #fafafa;
  border: 1px solid #dddddd;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  padding: 20px;
}
/* Dropcap */
.dropcap {
  display: block;
  float: left;
  margin: 0 22px 20px 0;
  text-transform: uppercase;
  width: 51px;
  height: 51px;
  background: #f4cb0b;
  border-radius: 25px;
  font-size: 27px;
  line-height: 51px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
}
.no-borderradius .dropcap {
  background: url(../images/dropcap.png) 0 0 no-repeat;
}
.hr {
  height: 1px;
  background: #eee;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  margin: 30px 5px;
}
.grid_1 .hr,
.grid_2 .hr,
.grid_3 .hr,
.grid_4 .hr,
.grid_5 .hr,
.grid_6 .hr,
.grid_7 .hr,
.grid_8 .hr,
.grid_9 .hr,
.grid_10 .hr,
.grid_11 .hr,
.grid_12 .hr,
.grid_13 .hr,
.grid_14 .hr,
.grid_15 .hr,
.grid_16 .hr,
.grid_17 .hr,
.grid_18 .hr,
.grid_19 .hr,
.grid_20 .hr,
.grid_21 .hr,
.grid_22 .hr,
.grid_23 .hr,
.grid_24 .hr {
  margin-left: 0;
  margin-right: 0;
}
.sm_hr {
  height: 1px;
  background: #eee;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  margin: 25px 10px;
}
.grid_1 .sm_hr,
.grid_2 .sm_hr,
.grid_3 .sm_hr,
.grid_4 .sm_hr,
.grid_5 .sm_hr,
.grid_6 .sm_hr,
.grid_7 .sm_hr,
.grid_8 .sm_hr,
.grid_9 .sm_hr,
.grid_10 .sm_hr,
.grid_11 .sm_hr,
.grid_12 .sm_hr {
  margin-left: 0;
  margin-right: 0;
}
.spacer {
  height: 30px;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}
/* Address */
.address {
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}
.address dt {
  float: left;
  width: 165px;
  margin-right: 20px;
  padding: 0 0 0 55px;
  background: none;
  font-size: 1em;
  line-height: 20px;
  background: url(../images/address-icon1.png) no-repeat 0 3px;
}
.address dd {
  float: left;
  width: 217px;
  padding: 0 0 0 53px;
  background: url(../images/address-icon2.png) no-repeat 0 3px;
}
.address dd ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.address dd ul li {
  background: none;
  padding: 0;
}
.address dd span {
  float: left;
  width: 100px;
}
.address dd a {
  font-style: italic;
  color: #191919;
  text-decoration: underline;
}
.address dd a:hover {
  text-decoration: none;
}
/* VIDEO */
.video-wrap {
  margin-bottom: 10px;
  position: relative;
  zoom: 1;
}
.video-wrap object {
  position: relative;
  z-index: 2;
}
.video-bg {
  background-color: black;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
/* AUDIO */
.audio-wrapper {
  margin-bottom: 1.5em;
}
.audio-desc {
  font-size: .91em;
  color: #999;
  padding: .5em 0 0 0;
}
.audiojs audio {
  position: absolute;
  left: -1px;
}
.audiojs {
  width: 460px;
  height: 36px;
  background: #404040;
  overflow: hidden;
  font-family: monospace;
  font-size: 12px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #444444), color-stop(0.5, #555555), color-stop(0.51, #444444), color-stop(1, #444444));
  background-image: -moz-linear-gradient(center top, #444444 0%, #555555 50%, #444444 51%, #444444 100%);
  -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3);
}
.audiojs .play-pause {
  width: 25px;
  height: 40px;
  padding: 4px 6px;
  margin: 0px;
  float: left;
  overflow: hidden;
  border-right: 1px solid #000;
}
.audiojs p {
  display: none;
  width: 25px;
  height: 40px;
  margin: 0px;
  cursor: pointer;
}
.audiojs .play {
  display: block;
}
.audiojs .scrubber {
  position: relative;
  float: left;
  width: 280px;
  background: #5a5a5a;
  height: 14px;
  margin: 10px;
  border-top: 1px solid #3f3f3f;
  border-left: 0px;
  border-bottom: 0px;
  overflow: hidden;
}
.audiojs .progress {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 14px;
  width: 0px;
  background: #ccc;
  z-index: 1;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #cccccc), color-stop(0.5, #dddddd), color-stop(0.51, #cccccc), color-stop(1, #cccccc));
  background-image: -moz-linear-gradient(center top, #cccccc 0%, #dddddd 50%, #cccccc 51%, #cccccc 100%);
}
.audiojs .loaded {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 14px;
  width: 0px;
  background: #000;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #222222), color-stop(0.5, #333333), color-stop(0.51, #222222), color-stop(1, #222222));
  background-image: -moz-linear-gradient(center top, #222222 0%, #333333 50%, #222222 51%, #222222 100%);
}
.audiojs .time {
  float: left;
  height: 36px;
  line-height: 36px;
  margin: 0px 0px 0px 6px;
  padding: 0px 6px 0px 12px;
  border-left: 1px solid #000;
  color: #ddd;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
}
.audiojs .time em {
  padding: 0px 2px 0px 0px;
  color: #f9f9f9;
  font-style: normal;
}
.audiojs .time strong {
  padding: 0px 0px 0px 2px;
  font-weight: normal;
}
.audiojs .error-message {
  float: left;
  display: none;
  margin: 0px 10px;
  height: 36px;
  width: 400px;
  overflow: hidden;
  line-height: 36px;
  white-space: nowrap;
  color: #fff;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  -icab-text-overflow: ellipsis;
  -khtml-text-overflow: ellipsis;
  -moz-text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
}
.audiojs .error-message a {
  color: #eee;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: 1px solid #999;
  white-space: wrap;
}
.audiojs .play {
  background: url(../javascript/audiojs/player-graphics.gif) -2px -1px no-repeat;
}
.audiojs .loading {
  background: url(../javascript/audiojs/player-graphics.gif) -2px -31px no-repeat;
}
.audiojs .error {
  background: url(../javascript/audiojs/player-graphics.gif) -2px -61px no-repeat;
}
.audiojs .pause {
  background: url(../javascript/audiojs/player-graphics.gif) -2px -91px no-repeat;
}
.playing .play, .playing .loading, .playing .error {
  display: none;
}
.playing .pause {
  display: block;
}
.loading .play, .loading .pause, .loading .error {
  display: none;
}
.loading .loading {
  display: block;
}
.error .time,
.error .play,
.error .pause,
.error .scrubber,
.error .loading {
  display: none;
}
.error .error {
  display: block;
}
.error .play-pause p {
  cursor: auto;
}
.error .error-message {
  display: block;
}
/* Alert boxes
---------------------------------------- */
.alert-box, .wpcf7-response-output {
  padding: 20px 20px 20px 90px !important;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  font-size: .91em;
  line-height: 1.4em;
  border: 1px solid #dbdbdb;
  font-family: Arial, Helvetica, sans-serif;
  margin-bottom: 15px;
}
.error-box, .wpcf7-mail-sent-ng {
  border-color: #ff9999;
  color: #c31b00;
  background: url(../images/icons/alert/icon-error.png) no-repeat 20px 50% #ffcccc;
}
.attention-box, .wpcf7-validation-errors, .wpcf7-spam-blocked {
  border-color: #e6c555;
  color: #9e660d;
  background: url(../images/icons/alert/icon-note.png) no-repeat 20px 50% #fdebae;
}
.notice-box {
  border-color: #68a2cf;
  color: #2e6093;
  background: url(../images/icons/alert/icon-info.png) no-repeat 20px 50% #bfe4f9;
}
.approved-box, .wpcf7-mail-sent-ok {
  border-color: #a3c159;
  color: #5e6f33;
  background: url(../images/icons/alert/icon-download.png) no-repeat 20px 50% #ccff99;
}
/* Forms
---------------------------------------- */
/* Form defaults */
input, select, textarea {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  vertical-align: middle;
  font-weight: normal;
  border: 1px solid #dcdcdc;
  outline: none;
}
input[type="text"], textarea {
  background: #efefef;
  border: 1px solid #dcdcdc;
  padding: 6px 9px;
  color: #858585;
}
input[type="submit"], input[type="reset"] {
  display: inline-block;
  padding: 0 15px;
  height: 35px;
  line-height: 35px;
  background: #c4c4c4;
  color: #ffffff;
  text-decoration: none;
  border: none;
  cursor: pointer;
  margin: 0 5px 0 0;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
input[type="submit"]:hover, input[type="reset"]:hover {
  background: #f4cb0b;
}
/* Comment form */
#commentform {
  overflow: hidden;
  position: relative;
}
#commentform p.field {
  margin-bottom: 10px;
}
#commentform small {
  color: #8b8b8b;
}
#commentform label {
  display: block;
}
#commentform input[type="text"] {
  width: 250px;
}
#commentform textarea {
  width: 485px;
  max-width: 485px;
  min-width: 485px;
  height: 100px;
  min-height: 100px;
  overflow: auto;
}
.children #commentform textarea {
  width: 350px;
  max-width: 350px;
  min-width: 350px;
}
#commentform a {
  color: #f4cb0b;
  text-decoration: underline;
}
#commentform a:hover {
  color: #5a5a5a;
  text-decoration: underline;
}
/* Contact form */
.wpcf7-form p.field {
  margin-bottom: 10px;
  overflow: hidden;
  vertical-align: top;
  position: relative;
}
.wpcf7-form p.field label {
  float: left;
  width: 79px;
  padding-top: 4px;
}
.wpcf7-form p.field input {
  float: left;
  width: 210px;
}
.wpcf7-form p.field small {
  color: red;
}
.wpcf7-form textarea {
  float: left;
  width: 210px;
  max-width: 210px;
  min-width: 210px;
  height: 255px;
  min-height: 255px;
  overflow: auto;
  margin-bottom: 17px;
}
.wpcf7-form .submit-wrap {
  padding: 0 0 0 79px;
  margin: 0;
}
span.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-not-valid-tip {
  width: 219px !important;
  position: absolute;
  left: 79px !important;
  top: 0 !important;
  padding: 4px 0 4px 10px !important;
  background: #f3b7b7 !important;
  color: red !important;
  border: none !important;
  border-left: 1px solid red !important;
  border-top: 1px solid red !important;
}
/* Sidebar search form */
#searchform .searching {
  width: 170px;
  margin-right: 10px;
  padding-top: 9px;
  padding-bottom: 9px;
}
#searchform .submit {
  width: 60px;
  cursor: pointer;
  padding-left: 0;
  padding-right: 0;
}
/* Fluid Columns */
.one_half {
  width: 48%;
}
.one_third {
  width: 30.66%;
}
.two_third {
  width: 65.33%;
}
.one_fourth {
  width: 22%;
}
.three_fourth {
  width: 74%;
}
.one_fifth {
  width: 16.8%;
}
.two_fifth {
  width: 37.6%;
}
.three_fifth {
  width: 58.4%;
}
.four_fifth {
  width: 79.2%;
}
.one_sixth {
  width: 13.33%;
}
.five_sixth {
  width: 82.67%;
}
.one_half,
.one_third,
.two_third,
.three_fourth,
.one_fourth,
.one_fifth,
.two_fifth,
.three_fifth,
.four_fifth,
.one_sixth,
.five_sixth {
  position: relative;
  margin-right: 4%;
  float: left;
}
.last {
  margin-right: 0 !important;
  clear: right;
}
.fleft {
  float: left;
}
.fright {
  float: right;
}
.clear {
  clear: both;
}
.wrapper {
  width: 100%;
  overflow: hidden;
}
.extra-wrap {
  overflow: hidden;
}
/* Clear Floated Elements */
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}
.clearfix:after {
  clear: both;
  content: ' ';
  display: block;
  font-size: 0;
  line-height: 0;
  visibility: hidden;
  width: 0;
  height: 0;
}
.clearfix {
  display: inline-block;
}
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/* Always remember to compress your live stylesheet and keep an uncompressed backup */
';
  var regular = new RegExp("([^\\s][\\s\\S]*?)(\\{[\\s\\S]*?\\})", "g");
  var prefix = ".bodywrapper ";
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Regular expression
//Match a css rule
var match, results = [],
    selectors, prefixedSelectors;
while (match = regular.exec(cssText)) {
 //There might be a concatenation of selectors, explode them
 selectors = match[1].split(",");
 prefixedSelectors = [];

 for (var i = 0, l = selectors.length; i < l; i += 1) {
  prefixedSelectors.push(prefix + selectors[i]);
 }
 results.push(prefixedSelectors.join(","), match[2], "\n");
}

var prefixedCss = results.join("");
ready
String manipulation
var parts = cssText.split("}"),
    length = parts.length;

/* Splitting on } means that each line is a CSS rule */
var decomposed, selectors, prefixed;
for (var i = 0; i < length; i += 1) {
 decomposed = parts[i].split("{");
 selectors = decomposed[0].replace("\n", "");

 if (!selectors) {
  continue;
 }
 selectors = selectors.split(",");
 prefixed = [];

 for (var j = 0, k = selectors.length; j < k; j += 1) {
  prefixed.push(prefix + selectors[j]);
 }

 decomposed[0] = prefixed.join(",");
 parts[i] = decomposed.join("{");
}

var prefixedCss = parts.join("}\n");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.