Optimize CSS for http://samuelbourdon.com/stylesheets/application.css

Improve your CSS performance by reducing complexity

Validate CSS for parsing errors and warnings

Check and Cleanup CSS Offenders

  • Complex Selectors By Attribute2

    Selectors whose attribute value contains a specified value

    Attribute selectors have a slower lookup time

    [class^="icon-"] {}[class*=" icon-"] {}
  • Duplicated Properties96

    Duplicate properties detected for your selector

    Remove or combine duplicate properties to clean up your css

    blockquote, blockquote:after, q, q:after {content: none} body {font-size: 1rem} body {line-height: 1.5rem} h1, .services__title, .h1-like {font-size: 2.875rem} h1, .services__title, .h1-like {line-height: 3rem} h1, .services__title, .h1-like {font-size: 2.375rem} h1, .services__title, .h1-like {line-height: 3rem} h2, .price__title, .h2-like {font-size: 1.75rem} h2, .price__title, .h2-like {line-height: 3rem} h3, .h3-like {font-size: 1.375rem} h3, .h3-like {line-height: 3rem} h4, .portfolio__subtitle, .h4-like {font-size: 1.25rem} h4, .portfolio__subtitle, .h4-like {line-height: 3rem} .chapo {font-size: 1.25rem} .chapo {line-height: 1.5rem} .comments-time, .comments-notes-after, .comments-block .reply {font-size: 0.875rem} .comments-time, .comments-notes-after, .comments-block .reply {line-height: 1.5rem} .mbs {margin-bottom: 0.75rem} .mbm, .row, .apropos__content {margin-bottom: 1.5rem} .mbl, .row-ml, .services__title, .services__btns, .services__btn, .price__btn {margin-bottom: 3rem} .mts {margin-top: 0.75rem} .mtm, .contact__content p {margin-top: 1.5rem} .mtl, .services__title {margin-top: 3rem} .pbs {padding-bottom: 0.75rem} .pbm {padding-bottom: 1.5rem} .pbl {padding-bottom: 3rem} .pts {padding-top: 0.75rem} .ptm, .row, .apropos__content {padding-top: 1.5rem} .ptl, .row-ml {padding-top: 3rem} button, .button, .form-submit input, input.wpcf7-submit {font-size: 1rem} button, .button, .form-submit input, input.wpcf7-submit {line-height: 1.5rem} .btn--bigger {font-size: 1.125rem} .btn--bigger {line-height: 3rem} .hire>p, .hire>ul {font-size: 1.125rem} .hire>p, .hire>ul {line-height: 1.875rem} .hire-me {font-size: 1.25rem} .hire-me {line-height: 2.25rem} .e404 {font-size: 1.375rem} .e404 {line-height: 1.5rem} .navigation__toggle {font-size: 1.25rem} .navigation__toggle {line-height: 3rem} .contact__paper {font-size: 1.125rem} .contact__paper {line-height: 3rem} .footer__copyright {font-size: 0.875rem} .footer__copyright {line-height: 1.5rem} .footer__phone {font-size: 1.125rem} .footer__phone {line-height: 1.5rem} .footer__title {font-size: 1.125rem} .footer__title {line-height: 1.5rem} .footer__title--bigger {font-size: 1.5rem} .footer__title--bigger {line-height: 1.5rem} .post__h1, .portfolio__title {font-size: 2rem} .post__h1, .portfolio__title {line-height: 3rem} .blogpost h2, .blogpost .price__title {font-size: 1.75rem} .blogpost h2, .blogpost .price__title {line-height: 2.25rem} .blogpost h3 {font-size: 1.375rem} .blogpost h3 {line-height: 2.25rem} .blogpost__meta {font-size: 0.8125rem} .blogpost__meta {line-height: 1.5rem} .bloglist__title {font-size: 2rem} .bloglist__title {line-height: 2.25rem} .bloglist__title {font-size: 1.625rem} .bloglist__title {line-height: 2.25rem} .featured__button {font-size: 1.125rem} .featured__button {line-height: 1.5rem} .intro__title {font-size: 2.375rem} .intro__title {line-height: 3rem} .intro__title {font-size: 1.875rem} .intro__title {line-height: 3rem} .intro__title {font-size: 1.375rem} .intro__title {line-height: 3rem} .intro p {font-size: 1.25rem} .intro p {line-height: 1.5rem} .intro p {font-size: 1rem} .intro p {line-height: 1.5rem} .path__h2 {font-size: 1.875rem} .path__h2 {line-height: 3rem} .path__title {font-size: 2rem} .path__title {line-height: 3rem} .path__title {font-size: 1.625rem} .path__title {line-height: 3rem} .rslides__title {font-size: 1.625rem} .rslides__title {line-height: 1.5rem} .portfolio__content h2, .portfolio__content .price__title {font-size: 1.75rem} .portfolio__content h2, .portfolio__content .price__title {line-height: 2.25rem} .portfolio__id--client {font-size: 0.875rem} .portfolio__id--client {line-height: 1.5rem} .portfolio__id--name {font-size: 1.5rem} .portfolio__id--name {line-height: 1.5rem} .portfolio__id--swash {font-size: 2rem} .portfolio__id--swash {line-height: 3rem} .portfolio__list--swash {font-size: 1.5rem} .portfolio__list--swash {line-height: 1.5rem} .price-table__price {font-size: 2.5rem} .price-table__price {line-height: 4.5rem} .wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {background-color: #fff} 
  • Duplicated Selectors6
    .form-wrap {} /* (2 times) */body {} /* (2 times) */ol, ul {} /* (2 times) */input, textarea, select {} /* (2 times) */input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, textarea:focus {} /* (2 times) */button:hover, button:focus, .button:hover, .form-submit input:hover, input.wpcf7-submit:hover, .button:focus, .form-submit input:focus, input.wpcf7-submit:focus {} /* (2 times) */
  • Importants11

    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

    .lt-ie9 .wow {display: block !important} .lt-ie9 .wow {visibility: visible !important} .animated {visibility: visible\9 !important} .flipInX {-webkit-backface-visibility: visible !important} .flipInX {backface-visibility: visible !important} input[type="submit"] {height: 3em !important} select {-webkit-appearance: none !important} select {-moz-appearance: none !important} select {appearance: none !important} textarea.wpcf7-textarea {height: 9em !important} .wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {background-color: transparent !important} 
  • Multi Classes Selectors5

    Selectors with multiple classes

    Unnecessary specificity, consider reducing to single class or id instead

    .animated.infinite {}.animated.hinge {}.alignnone.wp-caption {}.alignleft.wp-caption {}.alignright.wp-caption {}
  • Old IE Fixes1

    Rules specific to IE greater than or equal to IE 6 or IE 7

    Lower browser usage for previous versions of IE prevents these rules from being very useful

    input, textarea, select {*font-size: 100%} 
  • Old Property Prefixes5

    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

    .bounce { -ms-transform-origin: center bottom } // was required by IE 9 and earlier .valign { -ms-transform: translateY(-50%) } // was required by IE 9 and earlier button, .button, .form-submit input, input.wpcf7-submit { -webkit-border-radius: 0 } // was required by Android Browser 2.1, Chrome 4, iOS Safari 3.2, Safari 4 and earlier .item-eye { -ms-transform: scale(0) } // was required by IE 9 and earlier a:hover .item-over .item-eye { -ms-transform: scale(1) } // was required by IE 9 and earlier 
  • Property Resets93
    html: "font" resets "font-size" property set earlier body: "font" resets "font-size" property set earlier div: "font" resets "font-size" property set earlier span: "font" resets "font-size" property set earlier applet: "font" resets "font-size" property set earlier object: "font" resets "font-size" property set earlier iframe: "font" resets "font-size" property set earlier h1: "font" resets "font-size" property set earlier .services__title: "font" resets "font-size" property set earlier h2: "font" resets "font-size" property set earlier .price__title: "font" resets "font-size" property set earlier h3: "font" resets "font-size" property set earlier h4: "font" resets "font-size" property set earlier .portfolio__subtitle: "font" resets "font-size" property set earlier h5: "font" resets "font-size" property set earlier h6: "font" resets "font-size" property set earlier p: "font" resets "font-size" property set earlier blockquote: "font" resets "font-size" property set earlier pre: "font" resets "font-size" property set earlier a: "font" resets "font-size" property set earlier abbr: "font" resets "font-size" property set earlier acronym: "font" resets "font-size" property set earlier address: "font" resets "font-size" property set earlier big: "font" resets "font-size" property set earlier cite: "font" resets "font-size" property set earlier code: "font" resets "font-size" property set earlier del: "font" resets "font-size" property set earlier dfn: "font" resets "font-size" property set earlier em: "font" resets "font-size" property set earlier img: "font" resets "font-size" property set earlier ins: "font" resets "font-size" property set earlier kbd: "font" resets "font-size" property set earlier q: "font" resets "font-size" property set earlier s: "font" resets "font-size" property set earlier samp: "font" resets "font-size" property set earlier small: "font" resets "font-size" property set earlier strike: "font" resets "font-size" property set earlier strong: "font" resets "font-size" property set earlier sub: "font" resets "font-size" property set earlier sup: "font" resets "font-size" property set earlier tt: "font" resets "font-size" property set earlier var: "font" resets "font-size" property set earlier b: "font" resets "font-size" property set earlier u: "font" resets "font-size" property set earlier i: "font" resets "font-size" property set earlier center: "font" resets "font-size" property set earlier dl: "font" resets "font-size" property set earlier dt: "font" resets "font-size" property set earlier dd: "font" resets "font-size" property set earlier ol: "font" resets "font-size" property set earlier ul: "font" resets "font-size" property set earlier li: "font" resets "font-size" property set earlier fieldset: "font" resets "font-size" property set earlier form: "font" resets "font-size" property set earlier label: "font" resets "font-size" property set earlier legend: "font" resets "font-size" property set earlier table: "font" resets "font-size" property set earlier caption: "font" resets "font-size" property set earlier tbody: "font" resets "font-size" property set earlier tfoot: "font" resets "font-size" property set earlier thead: "font" resets "font-size" property set earlier tr: "font" resets "font-size" property set earlier th: "font" resets "font-size" property set earlier td: "font" resets "font-size" property set earlier article: "font" resets "font-size" property set earlier aside: "font" resets "font-size" property set earlier canvas: "font" resets "font-size" property set earlier details: "font" resets "font-size" property set earlier embed: "font" resets "font-size" property set earlier figure: "font" resets "font-size" property set earlier figcaption: "font" resets "font-size" property set earlier footer: "font" resets "font-size" property set earlier header: "font" resets "font-size" property set earlier hgroup: "font" resets "font-size" property set earlier menu: "font" resets "font-size" property set earlier nav: "font" resets "font-size" property set earlier output: "font" resets "font-size" property set earlier ruby: "font" resets "font-size" property set earlier section: "font" resets "font-size" property set earlier summary: "font" resets "font-size" property set earlier time: "font" resets "font-size" property set earlier mark: "font" resets "font-size" property set earlier audio: "font" resets "font-size" property set earlier video: "font" resets "font-size" property set earlier .bg--blue: "background" resets "background-color" property set earlier .apropos: "background" resets "background-color" property set earlier .intro__container: "background" resets "background-color" property set earlier .portfolio__header--bg: "background" resets "background-color" property set earlier .portfolio__list--bg: "background" resets "background-color" property set earlier .bg--black: "background" resets "background-color" property set earlier .bg--contact: "background" resets "background-color" property set earlier .bg--grey: "background" resets "background-color" property set earlier .contact__paper: "background" resets "background-color" property set earlier 
  • Qualified Selectors56

    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

    input[type="text"].radius {}input[type="password"].radius {}input[type="date"].radius {}input[type="datetime"].radius {}input[type="datetime-local"].radius {}input[type="month"].radius {}input[type="week"].radius {}input[type="email"].radius {}input[type="number"].radius {}input[type="search"].radius {}input[type="tel"].radius {}input[type="time"].radius {}input[type="url"].radius {}textarea.radius {}select.radius {}[data-abide] .error small.error {}[data-abide] span.error {}[data-abide] small.error {}[data-abide] span.error {}[data-abide] small.error {}span.error {}small.error {}.error label.error {}.error small.error {}.error span.error-message {}input.error {}textarea.error {}label.error {}input.wpcf7-submit {}input.wpcf7-submit:hover {}input.wpcf7-submit:focus {}input.wpcf7-submit:hover {}input.wpcf7-submit:focus {}.services__btns input.wpcf7-submit {}.services__btns input.wpcf7-submit:last-child {}.footer__content div.icon-swash {}ul.comments-list>li:nth-child(odd) {}ol.children {}ol.children {}.services__btns input.wpcf7-submit {}.services__btns input.wpcf7-submit {}.intro__title span.s-hide {}input.wpcf7-captchar {}input.wpcf7-submit {}input.wpcf7-submit {}div.wpcf7 img.ajax-loader {}div.wpcf7 img.ajax-loader {}textarea.wpcf7-textarea {}p.wpcf7-box {}.lt-ie9 textarea.wpcf7-textarea {}div.aligncenter {}a img.alignright {}a img.alignnone {}a img.alignleft {}a img.aligncenter {}.wp-caption p.wp-caption-text {}
  • Redundant Child Nodes Selectors1

    Deteced redundancies for child node selectors

    Dry up duplication by nesting rules under a set of similar selectors

    ul.comments-list>li:nth-child(odd) {}
  • Universal Selectors11

    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

    * {}*::after {}*: {}* {}[class^="icon-"] {}[class*=" icon-"] {}[data-abide] .error small.error {}[data-abide] span.error {}[data-abide] small.error {}[data-abide] span.error {}[data-abide] small.error {}

CSS Stats

CSS Metrics

Base64 Length0
Redundant Body Selectors0
Colors44
Comments1
Comments Length142
Complex Selectors0
Empty Rules0
Expressions0
Imports0
Media Queries72
Not Minified0
Parsing Errors0
Specificity Id Avg0
Specificity Id Total0
Specificity Class Avg1.09
Specificity Class Total1082
Specificity Tag Avg0.5
Specificity Tag Total500
Selectors997
Selector Length Avg1.1965897693079237
Selectors By Attribute119
Selectors By Class773
Selectors By Id0
Selectors By Pseudo207
Selectors By Tag465
Length51570
Rules544
Declarations1379