diff --git a/Gruntfile.js b/Gruntfile.js
index 5019f0e..3fd58db 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -44,6 +44,61 @@ module.exports = function(grunt) {
 			tinymce: ['<%= concat.tinymce.dest %>'],
 			qunit: ['tests/qunit/compiled.html']
 		},
+    csslint: {
+      all: {
+        options: {
+          'important': false,
+          'adjoining-classes': false,
+          'known-properties': false,
+          'box-sizing': false,
+          'box-model': false,
+          'overqualified-elements': true,
+          'display-property-grouping': false,
+          'bulletproof-font-face': false,
+          'compatible-vendor-prefixes': false,
+          'regex-selectors': true,
+          'errors': true,
+          'duplicate-background-images': true,
+          'duplicate-properties': true,
+          'empty-rules': true,
+          'selector-max-approaching': false,
+          'gradients': false,
+          'fallback-colors': false,
+          'font-sizes': false,
+          'font-faces': false,
+          'floats': false,
+          'star-property-hack': true,
+          'outline-none': false,
+          'import': false,
+          'ids': false,
+          'underscore-property-hack': false,
+          'rules-count': false,
+          'qualified-headings': false,
+          'selector-max': false,
+          'shorthand': false,
+          'text-indent': true,
+          'unique-headings': false,
+          'universal-selector': false,
+          'unqualified-attributes': false,
+          'vendor-prefix': false,
+          'zero-units': false
+        },
+				src: [
+          SOURCE_DIR + 'wp-admin/css/*.css',
+          SOURCE_DIR + 'wp-includes/css/*.css',
+          // forms.css contains a @moz-document directive that CSSLint cannot currently recognize
+          '!' + SOURCE_DIR + 'wp-admin/css/forms.css'
+				]
+      },
+    },
+    'wp-css-check': {
+      all: {
+				src: [
+          SOURCE_DIR + 'wp-admin/css/*.css',
+          SOURCE_DIR + 'wp-includes/css/*.css',
+				]
+      },
+    },
 		copy: {
 			files: {
 				files: [
diff --git a/package.json b/package.json
index 7f56805..005e73c 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
     "grunt-contrib-concat": "~0.5.0",
     "grunt-contrib-copy": "~0.5.0",
     "grunt-contrib-cssmin": "~0.10.0",
+    "grunt-contrib-csslint": "~0.3.1",
     "grunt-contrib-imagemin": "~0.4.1",
     "grunt-contrib-jshint": "~0.10.0",
     "grunt-contrib-qunit": "~0.5.2",
@@ -26,6 +27,7 @@
     "grunt-legacy-util": "^0.2.0",
     "grunt-patch-wordpress": "~0.2.1",
     "grunt-sass": "~0.14.0",
+    "grunt-wp-css-check": "git://github.com/x1024/grunt-wp-css-check#b00613899f76f64e27fcff7e78f9b5d9f645bb0b",
     "matchdep": "~0.3.0"
   }
 }
diff --git a/src/wp-admin/css/about.css b/src/wp-admin/css/about.css
index 50c4d92..2aa1a22 100644
--- a/src/wp-admin/css/about.css
+++ b/src/wp-admin/css/about.css
@@ -358,7 +358,7 @@
 /* =Media Queries
 -------------------------------------------------------------- */
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.about-wrap .feature-section.one-col > div,
 	.about-wrap .feature-section.two-col > div,
 	.about-wrap .feature-section.three-col > div {
@@ -379,7 +379,7 @@
 }
 
 /* Responsive release video */
-@media screen and ( max-width: 710px ) {
+@media screen and (max-width: 710px) {
 	.about-overview {
 		position: relative;
 		padding-bottom: 56.25%; /* 360 / 640 */
diff --git a/src/wp-admin/css/admin-menu.css b/src/wp-admin/css/admin-menu.css
index 7f317bd..a2ed1ed 100644
--- a/src/wp-admin/css/admin-menu.css
+++ b/src/wp-admin/css/admin-menu.css
@@ -730,7 +730,7 @@ li#wp-admin-bar-menu-toggle {
 
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.auto-fold #wpcontent {
 		position: relative;
 		margin-left: 0;
diff --git a/src/wp-admin/css/common.css b/src/wp-admin/css/common.css
index 48e0857..bfab57d 100644
--- a/src/wp-admin/css/common.css
+++ b/src/wp-admin/css/common.css
@@ -2476,7 +2476,7 @@ div.action-links {
 	font-size: 13px;
 }
 
-@media screen and ( max-width: 771px ) {
+@media screen and (max-width: 771px) {
 	#plugin-information-title.with-banner {
 		height: 100px;
 		bottom: 100px;
@@ -2622,7 +2622,7 @@ body.index-php .tb-close-icon:before {
 }
 
 /* move plugin install close icon to top on narrow screens */
-@media screen and ( max-width: 830px ) {
+@media screen and (max-width: 830px) {
 	body.plugin-install-php .tb-close-icon,
 	body.import-php .tb-close-icon,
 	body.plugins-php .tb-close-icon,
@@ -3046,7 +3046,7 @@ img {
 	width: device-width;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	html.wp-toolbar {
 		padding-top: 46px;
 	}
diff --git a/src/wp-admin/css/customize-controls.css b/src/wp-admin/css/customize-controls.css
index f9f11b3..82b3372 100644
--- a/src/wp-admin/css/customize-controls.css
+++ b/src/wp-admin/css/customize-controls.css
@@ -823,13 +823,6 @@ p.customize-section-description {
 	100% { color: #d4b146; }
 }
 
-@-ms-keyframes dice-color-change {
-	0% { color: #d4b146; }
-	50% { color: #ef54b0; }
-	75% { color: #7190d3; }
-	100% { color: #d4b146; }
-}
-
 @keyframes dice-color-change {
 	0% { color: #d4b146; }
 	50% { color: #ef54b0; }
diff --git a/src/wp-admin/css/dashboard.css b/src/wp-admin/css/dashboard.css
index 7ed45d2..867e682 100644
--- a/src/wp-admin/css/dashboard.css
+++ b/src/wp-admin/css/dashboard.css
@@ -1087,7 +1087,7 @@ a.rsswidget {
 
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	#dashboard_recent_comments #the-comment-list .comment-item .avatar {
 		height: 30px;
 		width: 30px;
diff --git a/src/wp-admin/css/edit.css b/src/wp-admin/css/edit.css
index cc64ae5..5011e28 100644
--- a/src/wp-admin/css/edit.css
+++ b/src/wp-admin/css/edit.css
@@ -1277,7 +1277,7 @@ table.links-table {
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	#post-body-content {
 		min-width: 0;
 	}
diff --git a/src/wp-admin/css/forms.css b/src/wp-admin/css/forms.css
index b80f98a..e55f846 100644
--- a/src/wp-admin/css/forms.css
+++ b/src/wp-admin/css/forms.css
@@ -765,7 +765,7 @@ table.form-table td .updated {
 /* =Media Queries
 -------------------------------------------------------------- */
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	/* Input Elements */
 	textarea {
 		-webkit-appearance: none;
diff --git a/src/wp-admin/css/install.css b/src/wp-admin/css/install.css
index 28c071c..c5f8b47 100644
--- a/src/wp-admin/css/install.css
+++ b/src/wp-admin/css/install.css
@@ -275,7 +275,7 @@ body.rtl,
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 
 	.form-table {
 		margin-top: 0;
diff --git a/src/wp-admin/css/list-tables.css b/src/wp-admin/css/list-tables.css
index 6feaa22..6afb056 100644
--- a/src/wp-admin/css/list-tables.css
+++ b/src/wp-admin/css/list-tables.css
@@ -1271,7 +1271,7 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 	margin-right: 0;
 }
 
-@media screen and ( min-width: 1600px ) {
+@media screen and (min-width: 1600px) {
 	.plugin-card {
 		width: 30%;
 		width: -webkit-calc( 33.1% - 8px );
@@ -1297,7 +1297,7 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.plugin-card {
 		margin-left: 0;
 		margin-right: 0;
@@ -1449,7 +1449,7 @@ div.action-links,
 /* =Media Queries
 -------------------------------------------------------------- */
 
-@media screen and ( max-width: 1100px ) and ( min-width: 782px ), ( max-width: 480px ) {
+@media screen and (max-width: 1100px) and (min-width: 782px), (max-width: 480px) {
 	.plugin-card .action-links {
 		position: static;
 		margin-left: 148px;
@@ -1481,7 +1481,7 @@ div.action-links,
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	/* WP List Table Options & Filters */
 	.tablenav {
 		height: auto;
diff --git a/src/wp-admin/css/login.css b/src/wp-admin/css/login.css
index 02ee1d8..687d85d 100644
--- a/src/wp-admin/css/login.css
+++ b/src/wp-admin/css/login.css
@@ -255,7 +255,7 @@ body.interim-login {
 	width: device-width;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.interim-login input[type=checkbox] {
 		height: 16px;
 		width: 16px;
diff --git a/src/wp-admin/css/media.css b/src/wp-admin/css/media.css
index e27b665..1d2ba11 100644
--- a/src/wp-admin/css/media.css
+++ b/src/wp-admin/css/media.css
@@ -334,13 +334,13 @@
 	right: 0;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.find-box-inside {
 		bottom: 57px;
 	}
 }
 
-@media screen and ( max-width: 660px ) {
+@media screen and (max-width: 660px) {
 
 	.find-box {
 		top: 0;
@@ -1100,7 +1100,7 @@ audio, video {
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.wp_attachment_details label[for="content"] {
 		font-size: 14px;
 		line-height: 1.5em;
@@ -1131,7 +1131,7 @@ audio, video {
 	}
 }
 
-@media only screen and ( max-width: 782px ) {
+@media only screen and (max-width: 782px) {
 	.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
 		top: 46px;
 		right: 10px;
diff --git a/src/wp-admin/css/nav-menus.css b/src/wp-admin/css/nav-menus.css
index 28e32b8..a2eb723 100644
--- a/src/wp-admin/css/nav-menus.css
+++ b/src/wp-admin/css/nav-menus.css
@@ -751,7 +751,7 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 /* =Media Queries
 -------------------------------------------------------------- */
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	body.nav-menus-php {
 		min-width: 0 !important;
 	}
diff --git a/src/wp-admin/css/press-this.css b/src/wp-admin/css/press-this.css
index dbf355a..3b8a423 100644
--- a/src/wp-admin/css/press-this.css
+++ b/src/wp-admin/css/press-this.css
@@ -366,7 +366,7 @@ h3.tb {
 -------------------------------------------------------------- */
 
 /* Reset responsive styles in Press This */
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.press-this ul.category-tabs li.tabs {
 		padding: 3px 5px 5px; /* Reset tabs in Press This to standard size */
 	}
diff --git a/src/wp-admin/css/revisions.css b/src/wp-admin/css/revisions.css
index f191494..62272b3 100644
--- a/src/wp-admin/css/revisions.css
+++ b/src/wp-admin/css/revisions.css
@@ -560,7 +560,7 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	#diff-next-revision,
 	#diff-previous-revision {
 		margin-top: -1em;
diff --git a/src/wp-admin/css/themes.css b/src/wp-admin/css/themes.css
index 6ff0f9f..e7662a3 100644
--- a/src/wp-admin/css/themes.css
+++ b/src/wp-admin/css/themes.css
@@ -1718,7 +1718,7 @@ body.full-overlay-active {
 	}
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.available-theme .action-links .delete-theme {
 		float: none;
 		margin: 0;
diff --git a/src/wp-includes/admin-bar.php b/src/wp-includes/admin-bar.php
index 726c50a..e8f4ab5 100644
--- a/src/wp-includes/admin-bar.php
+++ b/src/wp-includes/admin-bar.php
@@ -786,7 +786,7 @@ function _admin_bar_bump_cb() { ?>
 <style type="text/css" media="screen">
 	html { margin-top: 32px !important; }
 	* html body { margin-top: 32px !important; }
-	@media screen and ( max-width: 782px ) {
+	@media screen and (max-width: 782px) {
 		html { margin-top: 46px !important; }
 		* html body { margin-top: 46px !important; }
 	}
diff --git a/src/wp-includes/css/admin-bar.css b/src/wp-includes/css/admin-bar.css
index 4f5343c..82dd348 100644
--- a/src/wp-includes/css/admin-bar.css
+++ b/src/wp-includes/css/admin-bar.css
@@ -741,7 +741,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 /* End no @font-face */
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	/* Toolbar Touchification*/
 	html #wpadminbar {
 		left: 0 !important;
diff --git a/src/wp-includes/css/buttons.css b/src/wp-includes/css/buttons.css
index e84a0b5..8d3d7d1 100644
--- a/src/wp-includes/css/buttons.css
+++ b/src/wp-includes/css/buttons.css
@@ -305,7 +305,7 @@ TABLE OF CONTENTS:
   5.0 - Responsive Button Styles
 ---------------------------------------------------------------------------- */
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 
 	.wp-core-ui .button,
 	.wp-core-ui .button.button-large,
diff --git a/src/wp-includes/css/editor.css b/src/wp-includes/css/editor.css
index e69869a..ec7cbaf 100644
--- a/src/wp-includes/css/editor.css
+++ b/src/wp-includes/css/editor.css
@@ -961,7 +961,7 @@ i.mce-i-hr:before {
 	margin: 5px 5px 0 0;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.mce-toolbar .mce-btn button,
 	.qt-fullscreen {
 		padding: 6px 7px;
@@ -996,7 +996,7 @@ i.mce-i-hr:before {
 	}
 }
 
-@media screen and ( min-width: 782px ) {
+@media screen and (min-width: 782px) {
 	.wp-core-ui .quicktags-toolbar input.button.button-small {
 		/* .button-small is normaly 11px, but a bit too small for these buttons. */
 		font-size: 12px;
@@ -1379,7 +1379,7 @@ i.mce-i-hr:before {
 	margin-bottom: 0;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	#wp-link-wrap {
 		height: 280px;
 		margin-top: -140px;
@@ -1402,7 +1402,7 @@ i.mce-i-hr:before {
 	}
 }
 
-@media screen and ( max-width: 520px ) {
+@media screen and (max-width: 520px) {
 	#wp-link-wrap {
 		width: auto;
 		margin-left: 0;
@@ -1412,7 +1412,7 @@ i.mce-i-hr:before {
 	}
 }
 
-@media screen and ( max-height: 520px ) {
+@media screen and (max-height: 520px) {
 	#wp-link-wrap {
 		-webkit-transition: none;
 		transition: none;
@@ -1434,7 +1434,7 @@ i.mce-i-hr:before {
 	}
 }
 
-@media screen and ( max-height: 290px ) {
+@media screen and (max-height: 290px) {
 	#wp-link-wrap {
 		height: auto;
 		margin-top: 0;
@@ -1886,7 +1886,7 @@ i.mce-i-hr:before {
 	height: 30px;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	#wp-fullscreen-close,
 	#wp-fullscreen-central-toolbar,
 	#wp-fullscreen-mode-bar,
@@ -1926,7 +1926,7 @@ i.mce-i-hr:before {
 	}
 }
 
-@media screen and ( max-width: 480px ) {
+@media screen and (max-width: 480px) {
 	#wp_fs_help {
 		display: none;
 	}
diff --git a/src/wp-includes/css/jquery-ui-dialog.css b/src/wp-includes/css/jquery-ui-dialog.css
index 78e9741..45b9921 100644
--- a/src/wp-includes/css/jquery-ui-dialog.css
+++ b/src/wp-includes/css/jquery-ui-dialog.css
@@ -234,7 +234,7 @@
 	cursor: default;
 }
 
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 
 	.ui-button {
 		padding: 10px 14px;
diff --git a/src/wp-includes/css/wp-pointer.css b/src/wp-includes/css/wp-pointer.css
index 1d69823..c5a3f64 100644
--- a/src/wp-includes/css/wp-pointer.css
+++ b/src/wp-includes/css/wp-pointer.css
@@ -205,7 +205,7 @@
 }
 
 /* Disable pointers at responsive sizes */
-@media screen and ( max-width: 782px ) {
+@media screen and (max-width: 782px) {
 	.wp-pointer {
 		display: none;
 	}
