diff --git a/core/assets/vendor/modernizr/modernizr.min.js b/core/assets/vendor/modernizr/modernizr.min.js
index 407556f4e03a01ea9544775b25017d3d887318af..b991aac0b7df12a1542ba22fc70237a6f96b87f3 100644
--- a/core/assets/vendor/modernizr/modernizr.min.js
+++ b/core/assets/vendor/modernizr/modernizr.min.js
@@ -1,3 +1,3 @@
-/*! modernizr 3.3.1 (Custom Build) | MIT *
- * http://modernizr.com/download/?-details-inputtypes-touchevents-addtest-prefixes-setclasses-teststyles !*/
-!function(e,t,n){function o(e,t){return typeof e===t}function i(){var e,t,n,i,s,a,r;for(var l in d)if(d.hasOwnProperty(l)){if(e=[],t=d[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(i=o(t.fn,"function")?t.fn():t.fn,s=0;s<e.length;s++)a=e[s],r=a.split("."),1===r.length?Modernizr[r[0]]=i:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=i),u.push((i?"":"no-")+r.join("-"))}}function s(e){var t=m.className,n=Modernizr._config.classPrefix||"";if(v&&(t=t.baseVal),Modernizr._config.enableJSClass){var o=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(o,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(t+=" "+n+e.join(" "+n),v?m.className.baseVal=t:m.className=t)}function a(e,t){if("object"==typeof e)for(var n in e)h(e,n)&&a(n,e[n]);else{e=e.toLowerCase();var o=e.split("."),i=Modernizr[o[0]];if(2==o.length&&(i=i[o[1]]),"undefined"!=typeof i)return Modernizr;t="function"==typeof t?t():t,1==o.length?Modernizr[o[0]]=t:(!Modernizr[o[0]]||Modernizr[o[0]]instanceof Boolean||(Modernizr[o[0]]=new Boolean(Modernizr[o[0]])),Modernizr[o[0]][o[1]]=t),s([(t&&0!=t?"":"no-")+o.join("-")]),Modernizr._trigger(e,t)}return Modernizr}function r(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):v?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function l(){var e=t.body;return e||(e=r(v?"svg":"body"),e.fake=!0),e}function f(e,n,o,i){var s,a,f,u,d="modernizr",c=r("div"),p=l();if(parseInt(o,10))for(;o--;)f=r("div"),f.id=i?i[o]:d+(o+1),c.appendChild(f);return s=r("style"),s.type="text/css",s.id="s"+d,(p.fake?p:c).appendChild(s),p.appendChild(c),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(t.createTextNode(e)),c.id=d,p.fake&&(p.style.background="",p.style.overflow="hidden",u=m.style.overflow,m.style.overflow="hidden",m.appendChild(p)),a=n(c,e),p.fake?(p.parentNode.removeChild(p),m.style.overflow=u,m.offsetHeight):c.parentNode.removeChild(c),!!a}var u=[],d=[],c={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){d.push({name:e,fn:t,options:n})},addAsyncTest:function(e){d.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=c,Modernizr=new Modernizr;var p=c._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];c._prefixes=p;var h,m=t.documentElement,v="svg"===m.nodeName.toLowerCase();!function(){var e={}.hasOwnProperty;h=o(e,"undefined")||o(e.call,"undefined")?function(e,t){return t in e&&o(e.constructor.prototype[t],"undefined")}:function(t,n){return e.call(t,n)}}(),c._l={},c.on=function(e,t){this._l[e]||(this._l[e]=[]),this._l[e].push(t),Modernizr.hasOwnProperty(e)&&setTimeout(function(){Modernizr._trigger(e,Modernizr[e])},0)},c._trigger=function(e,t){if(this._l[e]){var n=this._l[e];setTimeout(function(){var e,o;for(e=0;e<n.length;e++)(o=n[e])(t)},0),delete this._l[e]}},Modernizr._q.push(function(){c.addTest=a});var y=r("input"),g="search tel url email datetime date month week time datetime-local number range color".split(" "),_={};Modernizr.inputtypes=function(e){for(var o,i,s,a=e.length,r="1)",l=0;a>l;l++)y.setAttribute("type",o=e[l]),s="text"!==y.type&&"style"in y,s&&(y.value=r,y.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(o)&&y.style.WebkitAppearance!==n?(m.appendChild(y),i=t.defaultView,s=i.getComputedStyle&&"textfield"!==i.getComputedStyle(y,null).WebkitAppearance&&0!==y.offsetHeight,m.removeChild(y)):/^(search|tel)$/.test(o)||(s=/^(url|email)$/.test(o)?y.checkValidity&&y.checkValidity()===!1:y.value!=r)),_[e[l]]=!!s;return _}(g);var w=c.testStyles=f;Modernizr.addTest("touchevents",function(){var n;if("ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch)n=!0;else{var o=["@media (",p.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");w(o,function(e){n=9===e.offsetTop})}return n}),Modernizr.addTest("details",function(){var e,t=r("details");return"open"in t?(w("#modernizr details{display:block}",function(n){n.appendChild(t),t.innerHTML="<summary>a</summary>b",e=t.offsetHeight,t.open=!0,e=e!=t.offsetHeight}),e):!1}),i(),s(u),delete c.addTest,delete c.addAsyncTest;for(var b=0;b<Modernizr._q.length;b++)Modernizr._q[b]();e.Modernizr=Modernizr}(window,document);
\ No newline at end of file
+/*! modernizr 3.8.0 (Custom Build) | MIT *
+ * https://modernizr.com/download/?-details-inputtypes-addtest-mq-prefixed-prefixes-setclasses-teststyles !*/
+!function(e,t,n){function r(e,t){return typeof e===t}function i(e){var t=w.className,n=Modernizr._config.classPrefix||"";if(b&&(t=t.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(e.length>0&&(t+=" "+n+e.join(" "+n)),b?w.className.baseVal=t:w.className=t)}function o(e,t){if("object"==typeof e)for(var n in e)_(e,n)&&o(n,e[n]);else{e=e.toLowerCase();var r=e.split("."),s=Modernizr[r[0]];if(2===r.length&&(s=s[r[1]]),void 0!==s)return Modernizr;t="function"==typeof t?t():t,1===r.length?Modernizr[r[0]]=t:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=t),i([(t&&!1!==t?"":"no-")+r.join("-")]),Modernizr._trigger(e,t)}return Modernizr}function s(e,t){return!!~(""+e).indexOf(t)}function l(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):b?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function a(){var e=t.body;return e||(e=l(b?"svg":"body"),e.fake=!0),e}function u(e,n,r,i){var o,s,u,f,c="modernizr",d=l("div"),p=a();if(parseInt(r,10))for(;r--;)u=l("div"),u.id=i?i[r]:c+(r+1),d.appendChild(u);return o=l("style"),o.type="text/css",o.id="s"+c,(p.fake?p:d).appendChild(o),p.appendChild(d),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(t.createTextNode(e)),d.id=c,p.fake&&(p.style.background="",p.style.overflow="hidden",f=w.style.overflow,w.style.overflow="hidden",w.appendChild(p)),s=n(d,e),p.fake?(p.parentNode.removeChild(p),w.style.overflow=f,w.offsetHeight):d.parentNode.removeChild(d),!!s}function f(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function c(t,n,r){var i;if("getComputedStyle"in e){i=getComputedStyle.call(e,t,n);var o=e.console;if(null!==i)r&&(i=i.getPropertyValue(r));else if(o){var s=o.error?"error":"log";o[s].call(o,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}else i=!n&&t.currentStyle&&t.currentStyle[r];return i}function d(t,r){var i=t.length;if("CSS"in e&&"supports"in e.CSS){for(;i--;)if(e.CSS.supports(f(t[i]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var o=[];i--;)o.push("("+f(t[i])+":"+r+")");return o=o.join(" or "),u("@supports ("+o+") { #modernizr { position: absolute; } }",function(e){return"absolute"===c(e,null,"position")})}return n}function p(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function m(e,t,i,o){function a(){f&&(delete z.style,delete z.modElem)}if(o=!r(o,"undefined")&&o,!r(i,"undefined")){var u=d(e,i);if(!r(u,"undefined"))return u}for(var f,c,m,h,y,v=["modernizr","tspan","samp"];!z.style&&v.length;)f=!0,z.modElem=l(v.shift()),z.style=z.modElem.style;for(m=e.length,c=0;c<m;c++)if(h=e[c],y=z.style[h],s(h,"-")&&(h=p(h)),z.style[h]!==n){if(o||r(i,"undefined"))return a(),"pfx"!==t||h;try{z.style[h]=i}catch(e){}if(z.style[h]!==y)return a(),"pfx"!==t||h}return a(),!1}function h(e,t){return function(){return e.apply(t,arguments)}}function y(e,t,n){var i;for(var o in e)if(e[o]in t)return!1===n?e[o]:(i=t[e[o]],r(i,"function")?h(i,n||t):i);return!1}function v(e,t,n,i,o){var s=e.charAt(0).toUpperCase()+e.slice(1),l=(e+" "+T.join(s+" ")+s).split(" ");return r(t,"string")||r(t,"undefined")?m(l,t,i,o):(l=(e+" "+P.join(s+" ")+s).split(" "),y(l,t,n))}var g=[],C={_version:"3.8.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){g.push({name:e,fn:t,options:n})},addAsyncTest:function(e){g.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=C,Modernizr=new Modernizr;var _,S=[],w=t.documentElement,b="svg"===w.nodeName.toLowerCase();!function(){var e={}.hasOwnProperty;_=r(e,"undefined")||r(e.call,"undefined")?function(e,t){return t in e&&r(e.constructor.prototype[t],"undefined")}:function(t,n){return e.call(t,n)}}(),C._l={},C.on=function(e,t){this._l[e]||(this._l[e]=[]),this._l[e].push(t),Modernizr.hasOwnProperty(e)&&setTimeout(function(){Modernizr._trigger(e,Modernizr[e])},0)},C._trigger=function(e,t){if(this._l[e]){var n=this._l[e];setTimeout(function(){var e;for(e=0;e<n.length;e++)(0,n[e])(t)},0),delete this._l[e]}},Modernizr._q.push(function(){C.addTest=o});var x="Moz O ms Webkit",T=C._config.usePrefixes?x.split(" "):[];C._cssomPrefixes=T;var k={elem:l("modernizr")};Modernizr._q.push(function(){delete k.elem});var z={style:k.elem.style};Modernizr._q.unshift(function(){delete z.style});var P=C._config.usePrefixes?x.toLowerCase().split(" "):[];C._domPrefixes=P,C.testAllProps=v;var E=function(t){var r,i=N.length,o=e.CSSRule;if(void 0===o)return n;if(!t)return!1;if(t=t.replace(/^@/,""),(r=t.replace(/-/g,"_").toUpperCase()+"_RULE")in o)return"@"+t;for(var s=0;s<i;s++){var l=N[s];if(l.toUpperCase()+"_"+r in o)return"@-"+l.toLowerCase()+"-"+t}return!1};C.atRule=E;var j=(C.prefixed=function(e,t,n){return 0===e.indexOf("@")?E(e):(-1!==e.indexOf("-")&&(e=p(e)),t?v(e,t,n):v(e,"pfx"))},C.testStyles=u),L=function(){var t=e.matchMedia||e.msMatchMedia;return t?function(e){var n=t(e);return n&&n.matches||!1}:function(t){var n=!1;return u("@media "+t+" { #modernizr { position: absolute; } }",function(t){n="absolute"===(e.getComputedStyle?e.getComputedStyle(t,null):t.currentStyle).position}),n}}();C.mq=L;var N=C._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];C._prefixes=N,Modernizr.addTest("details",function(){var e,t=l("details");return"open"in t&&(j("#modernizr details{display:block}",function(n){n.appendChild(t),t.innerHTML="<summary>a</summary>b",e=t.offsetHeight,t.open=!0,e=e!==t.offsetHeight}),e)});var A=l("input");!function(){for(var e,r,i,o=["search","tel","url","email","datetime","date","month","week","time","datetime-local","number","range","color"],s=0;s<o.length;s++)A.setAttribute("type",e=o[s]),i="text"!==A.type&&"style"in A,i&&(A.value="1)",A.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&A.style.WebkitAppearance!==n?(w.appendChild(A),r=t.defaultView,i=r.getComputedStyle&&"textfield"!==r.getComputedStyle(A,null).WebkitAppearance&&0!==A.offsetHeight,w.removeChild(A)):/^(search|tel)$/.test(e)||(i=/^(url|email)$/.test(e)?A.checkValidity&&!1===A.checkValidity():"1)"!==A.value)),Modernizr.addTest("inputtypes."+e,!!i)}(),function(){var e,t,n,i,o,s,l;for(var a in g)if(g.hasOwnProperty(a)){if(e=[],t=g[a],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(i=r(t.fn,"function")?t.fn():t.fn,o=0;o<e.length;o++)s=e[o],l=s.split("."),1===l.length?Modernizr[l[0]]=i:(Modernizr[l[0]]&&(!Modernizr[l[0]]||Modernizr[l[0]]instanceof Boolean)||(Modernizr[l[0]]=new Boolean(Modernizr[l[0]])),Modernizr[l[0]][l[1]]=i),S.push((i?"":"no-")+l.join("-"))}}(),i(S),delete C.addTest,delete C.addAsyncTest;for(var O=0;O<Modernizr._q.length;O++)Modernizr._q[O]();e.Modernizr=Modernizr}(window,document);
diff --git a/core/core.libraries.yml b/core/core.libraries.yml
index 0bb3fda980587f91a13562636b500997067a0182..ff4a50ecee45fe393774000923b899b5aec1eed5 100644
--- a/core/core.libraries.yml
+++ b/core/core.libraries.yml
@@ -574,9 +574,10 @@ modernizr:
     name: MIT
     url: http://modernizr.com/license/
     gpl-compatible: true
-  version: "v3.3.1"
+  version: "3.8.0"
   js:
     assets/vendor/modernizr/modernizr.min.js: { preprocess: 0, weight: -21, minified: true }
+    misc/modernizr-additional-tests.js: { preprocess: 0, weight: -20 }
 
 normalize:
   remote: https://github.com/necolas/normalize.css
diff --git a/core/misc/modernizr-additional-tests.es6.js b/core/misc/modernizr-additional-tests.es6.js
new file mode 100644
index 0000000000000000000000000000000000000000..00fb90e936fc819545a72bf5d8d0d96cf5f164a9
--- /dev/null
+++ b/core/misc/modernizr-additional-tests.es6.js
@@ -0,0 +1,43 @@
+/**
+ * @file
+ * Provides additional Modernizr tests.
+ */
+(Modernizr => {
+  // This is a copy of Modernizr's touchevents test from version 3.3.1. Drupal
+  // core has updated Modernizr to a version newer than 3.3.1, but this newer
+  // version does not include the touchevents test in its build. Modernizr's
+  // touchevents test is deprecated, and newer versions of this test do not work
+  // properly with Drupal as it significantly changes the criteria used for
+  // determining if touchevents are supported.
+  // The most recent known-to-work version, 3.3.1 is provided here. The only
+  // changes are refactoring the code to meet Drupal's JavaScript coding
+  // standards and calling prefixes and testStyles() via the Modernizr object
+  // as they are not in scope when adding a test via Modernizr.addTest();
+  // @todo find alternative to Modernizr's deprecated touchevent test in
+  //   http://drupal.org/node/3101922
+  // @see https://github.com/Modernizr/Modernizr/blob/v3.3.1/feature-detects/touchevents.js
+  Modernizr.addTest('touchevents', () => {
+    let bool;
+
+    if (
+      'ontouchstart' in window ||
+      (window.DocumentTouch && document instanceof window.DocumentTouch)
+    ) {
+      bool = true;
+    } else {
+      // include the 'heartz' as a way to have a non matching MQ to help
+      // terminate the join https://git.io/vznFH
+      const query = [
+        '@media (',
+        Modernizr._prefixes.join('touch-enabled),('),
+        'heartz',
+        ')',
+        '{#modernizr{top:9px;position:absolute}}',
+      ].join('');
+      Modernizr.testStyles(query, node => {
+        bool = node.offsetTop === 9;
+      });
+    }
+    return bool;
+  });
+})(Modernizr);
diff --git a/core/misc/modernizr-additional-tests.js b/core/misc/modernizr-additional-tests.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec7bbc4547eae9075d39b77a6abb2ed7405be2a7
--- /dev/null
+++ b/core/misc/modernizr-additional-tests.js
@@ -0,0 +1,22 @@
+/**
+* DO NOT EDIT THIS FILE.
+* See the following change record for more information,
+* https://www.drupal.org/node/2815083
+* @preserve
+**/
+
+(function (Modernizr) {
+  Modernizr.addTest('touchevents', function () {
+    var bool = void 0;
+
+    if ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) {
+      bool = true;
+    } else {
+      var query = ['@media (', Modernizr._prefixes.join('touch-enabled),('), 'heartz', ')', '{#modernizr{top:9px;position:absolute}}'].join('');
+      Modernizr.testStyles(query, function (node) {
+        bool = node.offsetTop === 9;
+      });
+    }
+    return bool;
+  });
+})(Modernizr);
\ No newline at end of file