Optimize CSS for http://static.tumblr.com/bfm6skv/nsBo1tqi2/main.css

Improve your CSS performance by reducing complexity

Validate CSS for parsing errors and warnings

Check and Cleanup CSS Offenders

  • Duplicated Properties32

    Duplicate properties detected for your selector

    Remove or combine duplicate properties to clean up your css

    .clip {clip: rect(1px, 1px, 1px, 1px)} body, p, section {font-size: 1.6rem} h1 {font-size: 3.2rem} h2 {font-size: 2.8rem} h3 {font-size: 2.4rem} h4 {font-size: 2rem} h5 {font-size: 1.8rem} h6 {font-size: 1.6rem} p {font-size: 1.6rem} .main-header-logo-ee {background-position: 50%} .main-header-logo-made {background-position: calc(100% - 10px) 50%} .see-more-link {font-size: 2rem} .masthead-overlay-headline {font-size: 7.5rem} .masthead-overlay-copy {font-size: 1.7rem} .masthead-overlay-copy {font-size: 2rem} .masthead-permalink .masthead-overlay-headline, .masthead-tagged .masthead-overlay-headline {font-size: 3.5rem} .masthead-permalink .masthead-overlay-copy, .masthead-tagged .masthead-overlay-copy {font-size: 1.6rem} .masthead-permalink .masthead-overlay-grad, .masthead-tagged .masthead-overlay-grad {background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, #000000 25%, #000000 75%, rgba(0, 0, 0, 0) 100%)} .navigation-link {font-size: 1.5rem} .navigation-link {display: flex} .navigation-link {font-size: 1.7rem} .post-header-controls {width: auto} .post.in-feed .post-caption > h2 {font-size: 2rem} .post-text-title {font-size: 3rem} .post-single-text-copy {color: #f0f0f0} .post-single-text-copy {font-size: 1.5rem} .post-share-label {font-size: 1.8rem} .footer-main {font-size: 1.6rem} .capture-cam-headline {font-size: 5.5rem} .capture-cam-headline {font-size: 6.4rem} .capture-cam-split {width: 95%} .capture-cam-copy {font-size: 1.8rem} 
  • Duplicated Selectors3
    body {} /* (2 times) */.container {} /* (2 times) */.nth-debug-grid > * {} /* (2 times) */
  • Empty Rules3

    Deteced empty rules

    Reduce the size of your CSS file by removing empty rules

    .post.is_video .video-wrapper {}.post {}.capture-cam {}
  • Expressions1
    .ie7 .gc {zoom: expression(this.runtimeStyle.zoom = '1', this.appendChild(document.createElement('span')).className = 'after')} 
  • Importants13

    Provides a way for a stylesheet author to give a CSS value more weight than it naturally has

    Avoid usage if at all possible. When you use !important, you’re disrupting the natural flow of your rules, giving more weight to rules that are undeserving of such weight

    .hide {display: none !important} .show {display: block !important} .offset {position: absolute !important} .offset {left: -10001px !important} .offset {overflow: hidden !important} .clip {position: absolute !important} .clip {height: 1px !important} .clip {width: 1px !important} .clip {padding: 0 !important} .clip {border: 0 !important} .tmblr-iframe {top: 100px !important} .tmblr-iframe {z-index: 1000 !important} .tmblr-iframe {position: absolute !important} 
  • Multi Classes Selectors63

    Selectors with multiple classes

    Unnecessary specificity, consider reducing to single class or id instead

    .masthead-fashion.masthead-tagged {}.masthead-fashion.masthead-tagged {}.masthead-film.masthead-tagged {}.masthead-film.masthead-tagged {}.is_text.post {}.is_text.post {}.is_text.post {}.is_text.post {}.is_text.post {}.is_photo.post {}.is_exposed.is_photo.post {}.is_photo.post {}.is_photo.post {}.in-feed.is_photo.post {}.in-feed.is_photo.post {}.is_link.post {}.is_link.post {}.is_link.post {}.is_link.post {}.is_link.post {}.is_link.post {}.is_link.post {}.is_video.post {}.is_video.post {}.is_video.post {}.is_video.post {}.is_video.post {}.is_video.post {}.is_active.is_photo.post {}.is_active.is_photo.post {}.is_active.is_video.post {}.is_active.is_video.post {}.in-feed.post {}.in-feed.is_text.post {}.in-feed.is_photo.post {}.post-content.with-caption {}.in-feed.post {}.in-feed.post {}.in-feed.post {}.in-feed.post {}.is_exposed.post {}.is_exposed.is_photo.post {}.is_exposed.is_video.post {}.is_exposed.post {}.is_exposed.post {}.is_exposed.post {}.is_exposed.post {}.is_exposed.post {}.is_exposed.post {}.is_exposed.post {}.is_exposed.post {}.facebook.post-share-list-item {}.post-share-list-item.twitter {}.pinterest.post-share-list-item {}.mail.post-share-list-item {}.nth-debug.nth-debug--disabled {}.nth-debug-grid.nth-debug-grid-desktop {}.nth-debug-grid.nth-debug-grid-desktop {}.nth-debug-grid.nth-debug-grid-mobile {}.nth-debug-grid.nth-debug-grid-mobile {}.nth-debug-grid.nth-debug-grid-mobile {}.nth-debug-grid.nth-debug-grid-mobile {}.nth-debug-grid.nth-debug-grid-desktop {}
  • Old Property Prefixes64

    Properties with a no longer needed vendor prefix

    These have since been integrated or removed from mentioned browsers and can safely be removed from CSS

    * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .nth { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .nth { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .nth * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .nth * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .border-box { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .border-box { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .container { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .container { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .reg { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .reg { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .reg * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .reg * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .reg > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .reg > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .reg img.ratio { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .reg img.ratio { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .content-box { -webkit-box-sizing: content-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .content-box { -moz-box-sizing: content-box } // was required by Firefox 28 and earlier .container { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .container { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .main-header-logo-bar { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .main-header-logo-bar { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .main-header-logo-bar > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .main-header-logo-bar > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .masthead-split { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .masthead-split { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .masthead-split > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .masthead-split > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .navigation-split { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .navigation-split { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .navigation-split > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .navigation-split > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .navigation-group { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .navigation-group { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .navigation-group > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .navigation-group > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-header-controls { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-header-controls { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-header-controls > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-header-controls > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-footer { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-footer { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-footer > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-footer > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-share { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-share { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-share > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-share > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-share-list { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-share-list { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .post-share-list > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .post-share-list > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .capture-cam-split { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .capture-cam-split { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .capture-cam-split > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .capture-cam-split > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .nth-debug * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .nth-debug * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .nth-debug-grid { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .nth-debug-grid { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier .nth-debug-grid > * { -webkit-box-sizing: border-box } // was required by Android Browser 3, Chrome 9, iOS Safari 4.2, Safari 5 and earlier .nth-debug-grid > * { -moz-box-sizing: border-box } // was required by Firefox 28 and earlier 
  • Qualified Selectors3

    Since IDs are unique and classes are more unique than tags, adding a tag name would slow down the matching process needlessly

    Don’t qualify class or ID rules with tag names, as they are more unique than the tag. Strip tag names where possible

    html.no-js {}html.js {}.reg img.ratio {}
  • Universal Selectors144

    The universal selector matches any element type

    Universal selectors can be implied (and therefore omitted) if it isn’t the only component of the simple selector, avoid whenever possible

    * {}.nth * {}.r1 > *:nth-child(n) {}.r2 > *:nth-child(n) {}.r2 > *:nth-child(2n+1) {}.r3 > *:nth-child(n) {}.r3 > *:nth-child(3n+1) {}.r4 > *:nth-child(n) {}.r4 > :nth-child(4n+1) {}.r6 > *:nth-child(n) {}.r6 > :nth-child(6n+1) {}.r12 > *:nth-child(n) {}.r12 > :nth-child(12n+1) {}.r5 > *:nth-child(n) {}.r5 > :nth-child(5n+1) {}.r7 > *:nth-child(n) {}.r7 > :nth-child(7n+1) {}.r8 > *:nth-child(n) {}.r8 > :nth-child(8n+1) {}.r9 > *:nth-child(n) {}.r9 > :nth-child(9n+1) {}.r7-5 > *:nth-child(n) {}.r7-5 > :nth-child(2n+1) {}.r7-5 > :nth-child(2n+2) {}.r8-4 > *:nth-child(n) {}.r8-4 > :nth-child(2n+1) {}.r8-4 > :nth-child(2n+2) {}.r9-3 > *:nth-child(n) {}.r9-3 > :nth-child(2n+1) {}.r9-3 > :nth-child(2n+2) {}.r3-9 > *:nth-child(n) {}.r3-9 > :nth-child(2n+1) {}.r3-9 > :nth-child(2n+2) {}.r4-8 > *:nth-child(n) {}.r4-8 > :nth-child(2n+1) {}.r4-8 > :nth-child(2n+2) {}.r5-7 > *:nth-child(n) {}.r5-7 > :nth-child(2n+1) {}.r5-7 > :nth-child(2n+2) {}.r2-10 > *:nth-child(n) {}.r2-10 > :nth-child(2n+1) {}.r2-10 > :nth-child(2n+2) {}.r10-2 > *:nth-child(n) {}.r10-2 > :nth-child(2n+1) {}.r10-2 > :nth-child(2n+2) {}.r1-11 > *:nth-child(n) {}.r1-11 > :nth-child(2n+1) {}.r1-11 > :nth-child(2n+2) {}.r11-1 > *:nth-child(n) {}.r11-1 > :nth-child(2n+1) {}.r11-1 > :nth-child(2n+2) {}.r3-3-6 > *:nth-child(n) {}.r3-3-6 > :nth-child(3n+3) {}.r6-3-3 > *:nth-child(n) {}.r6-3-3 > :nth-child(3n+1) {}.r3-6-3 > *:nth-child(n) {}.r3-6-3 > :nth-child(3n+2) {}.r4-5-3 > *:nth-child(n) {}.r4-5-3 > :nth-child(3n+1) {}.r4-5-3 > :nth-child(3n+2) {}.r4-5-3 > :nth-child(3n+3) {}.r3-5-4 > *:nth-child(n) {}.r3-5-4 > :nth-child(3n+1) {}.r3-5-4 > :nth-child(3n+2) {}.r3-5-4 > :nth-child(3n+3) {}.r5-4-3 > *:nth-child(n) {}.r5-4-3 > :nth-child(3n+1) {}.r5-4-3 > :nth-child(3n+2) {}.r5-4-3 > :nth-child(3n+3) {}.r5-3-4 > *:nth-child(n) {}.r5-3-4 > :nth-child(3n+1) {}.r5-3-4 > :nth-child(3n+2) {}.r5-3-4 > :nth-child(3n+3) {}.r4-6-2 > *:nth-child(n) {}.r4-6-2 > :nth-child(3n+1) {}.r4-6-2 > :nth-child(3n+2) {}.r4-6-2 > :nth-child(3n+3) {}.r4-2-6 > *:nth-child(n) {}.r4-2-6 > :nth-child(3n+1) {}.r4-2-6 > :nth-child(3n+2) {}.r4-2-6 > :nth-child(3n+3) {}.r6-4-2 > *:nth-child(n) {}.r6-4-2 > :nth-child(3n+1) {}.r6-4-2 > :nth-child(3n+2) {}.r6-4-2 > :nth-child(3n+3) {}.r6-2-4 > *:nth-child(n) {}.r6-2-4 > :nth-child(3n+1) {}.r6-2-4 > :nth-child(3n+2) {}.r6-2-4 > :nth-child(3n+3) {}.r2-4-6 > *:nth-child(n) {}.r2-4-6 > :nth-child(3n+1) {}.r2-4-6 > :nth-child(3n+2) {}.r2-4-6 > :nth-child(3n+3) {}.r2-6-4 > *:nth-child(n) {}.r2-6-4 > :nth-child(3n+1) {}.r2-6-4 > :nth-child(3n+2) {}.r2-6-4 > :nth-child(3n+3) {}.r2-8-2 > *:nth-child(n) {}.r2-8-2 > :nth-child(3n+1) {}.r2-8-2 > :nth-child(3n+2) {}.r2-8-2 > :nth-child(3n+3) {}.reg * {}.reg > * {}.revert > *:nth-child(n) {}.reset-revert > *:nth-child(n) {}[hidden] {}.main-header-logo-bar > * {}.main-header-logo-bar > *:nth-child(n) {}.main-header-logo-bar > *:nth-child(n) {}.main-header-logo-bar > *:nth-child(2n+1) {}.masthead-split > * {}.masthead-split > *:nth-child(n) {}.masthead-split > *:nth-child(2n+1) {}.navigation-split > * {}.navigation-split > *:nth-child(n) {}.navigation-split > *:nth-child(2n+1) {}.navigation-group > * {}.post-header-controls > * {}.post-footer > * {}.post-footer > *:nth-child(n) {}.post-footer > *:nth-child(2n+1) {}.post-share > * {}.post-share > *:nth-child(n) {}.post-share > :nth-child(2n+1) {}.post-share > :nth-child(2n+2) {}.post.is_exposed .post-share > *:nth-child(n) {}.post.is_exposed .post-share > :nth-child(2n+1) {}.post.is_exposed .post-share > :nth-child(2n+2) {}.post-share-list > * {}.post-share-list > *:nth-child(n) {}.post-share-list > :nth-child(4n+1) {}.capture-cam-split > * {}.capture-cam-split > *:nth-child(n) {}.capture-cam-split > *:nth-child(n) {}.capture-cam-split > :nth-child(2n+1) {}.capture-cam-split > :nth-child(2n+2) {}.nth-debug * {}.nth-debug-grid > * {}.nth-debug-grid.nth-debug-grid-desktop > *:nth-child(n) {}.nth-debug-grid.nth-debug-grid-desktop > :nth-child(12n+1) {}.nth-debug-grid.nth-debug-grid-mobile > *:nth-child(n) {}.nth-debug-grid.nth-debug-grid-mobile > :nth-child(4n+1) {}.nth-debug-grid > * {}.nth-debug-grid > * span {}

CSS Stats

CSS Metrics

Base64 Length0
Redundant Body Selectors0
Redundant Child Nodes Selectors0
Colors14
Comments41
Comments Length3308
Complex Selectors0
Complex Selectors By Attribute0
Old IE Fixes0
Imports0
Media Queries43
Not Minified1
Parsing Errors0
Property Resets0
Specificity Id Avg0.01
Specificity Id Total3
Specificity Class Avg1.57
Specificity Class Total735
Specificity Tag Avg0.13
Specificity Tag Total63
Selectors469
Selector Length Avg1.5437100213219617
Selectors By Attribute1
Selectors By Class524
Selectors By Id3
Selectors By Pseudo143
Selectors By Tag56
Length40614
Rules422
Declarations945