HTML
CSS
JS
Result
Skip Results Iframe
EDIT ON
Live
Live
Live
This Pen is owned by
Himalaya Singh
on
CodePen
.
See more by @himalayasingh on CodePen
External CSS
https://use.fontawesome.com/releases/v5.3.1/css/all.css
External JavaScript
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js
{"__browser":{"device":"unknown_device","mobile":false,"name":"unknown browser","platform":"unknown_platform","version":"0"},"__constants":{},"__CPDATA":{"domain_iframe":"https://cdpn.io","environment":"production","host":"codepen.io","iframe_allow":"accelerometer; ambient-light-sensor; camera; display-capture; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr","iframe_sandbox":"allow-forms allow-modals allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-top-navigation-by-user-activation allow-downloads allow-presentation"},"__graphql":{"data":{"data":null,"errors":[{"message":"Cannot return null for non-nullable field Query.sessionUser"}]},"url":"https://codepen.io/graphql","api":"cprails","cpedata":{"action":"show","controller":"embed"}},"__pay_stripe_public_key":"pk_live_2GndomDfiklqpSNQn8FrGuwZSMIMzha7DkLJqlYe7IR0ihKAlKdiHg68JJc5eVPt68rzAjzAAVXcUwjySHRCsgjQQ00gtRBUFNH","__pay_braintree_env":"production","__boomboom":{"serve_url":"https://cdpn.io/cpe/boomboom","store_url":"https://codepen.io/cpe/boomboom/store"},"__pageType":"embed","__item":"{\"editor_settings\":{\"auto_run\":true,\"autocomplete\":false,\"code_folding\":true,\"css_pre_processor\":\"none\",\"css_prefix\":\"neither\",\"css_starter\":\"neither\",\"emmet_active\":true,\"font_size\":14,\"font_type\":\"system\",\"format_on_save\":false,\"html_pre_processor\":\"none\",\"indent_with\":\"spaces\",\"js_pre_processor\":\"none\",\"key_bindings\":\"normal\",\"line_numbers\":true,\"line_wrapping\":true,\"match_brackets\":true,\"snippets\":{\"markupSnippets\":{},\"stylesheetSnippets\":{}},\"tab_size\":2,\"theme\":\"twilight\",\"id\":\"QZKqOX\",\"auto_save\":true},\"hashid\":\"QZKqOX\",\"itemType\":\"pen\",\"resources\":[{\"url\":\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js\",\"order\":0,\"resource_type\":\"js\",\"par_content\":\"\"},{\"url\":\"https://use.fontawesome.com/releases/v5.3.1/css/all.css\",\"order\":0,\"resource_type\":\"css\",\"par_content\":\"\"}],\"tags\":[\"music-player\",\"audio-player\",\"player\",\"stream\",\"music\"],\"id\":28766494,\"user_id\":1595198,\"html\":\"<!-- Tracks used in this music/audio player application are free to use. I downloaded them from Soundcloud and NCS websites. I am not the owner of these tracks. -->\\n\\n<div id=\\\"app-cover\\\">\\n <div id=\\\"bg-artwork\\\"></div>\\n <div id=\\\"bg-layer\\\"></div>\\n <div id=\\\"player\\\">\\n <div id=\\\"player-track\\\">\\n <div id=\\\"album-name\\\"></div>\\n <div id=\\\"track-name\\\"></div>\\n <div id=\\\"track-time\\\">\\n <div id=\\\"current-time\\\"></div>\\n <div id=\\\"track-length\\\"></div>\\n </div>\\n <div id=\\\"s-area\\\">\\n <div id=\\\"ins-time\\\"></div>\\n <div id=\\\"s-hover\\\"></div>\\n <div id=\\\"seek-bar\\\"></div>\\n </div>\\n </div>\\n <div id=\\\"player-content\\\">\\n <div id=\\\"album-art\\\">\\n <img src=\\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/img/_1.jpg\\\" class=\\\"active\\\" id=\\\"_1\\\">\\n <img src=\\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/img/_2.jpg\\\" id=\\\"_2\\\">\\n <img src=\\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/img/_3.jpg\\\" id=\\\"_3\\\">\\n <img src=\\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/img/_4.jpg\\\" id=\\\"_4\\\">\\n <img src=\\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/img/_5.jpg\\\" id=\\\"_5\\\">\\n <div id=\\\"buffer-box\\\">Buffering ...</div>\\n </div>\\n <div id=\\\"player-controls\\\">\\n <div class=\\\"control\\\">\\n <div class=\\\"button\\\" id=\\\"play-previous\\\">\\n <i class=\\\"fas fa-backward\\\"></i>\\n </div>\\n </div>\\n <div class=\\\"control\\\">\\n <div class=\\\"button\\\" id=\\\"play-pause-button\\\">\\n <i class=\\\"fas fa-play\\\"></i>\\n </div>\\n </div>\\n <div class=\\\"control\\\">\\n <div class=\\\"button\\\" id=\\\"play-next\\\">\\n <i class=\\\"fas fa-forward\\\"></i>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n</div>\",\"css\":\"*:focus {\\n outline: none;\\n}\\n\\nbody {\\n font-family: Helvetica, Arial;\\n margin: 0;\\n background-color: #ffeff5;\\n}\\n\\n#app-cover {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n left: 0;\\n width: 430px;\\n height: 100px;\\n margin: -4px auto;\\n}\\n\\n#bg-artwork {\\n position: fixed;\\n top: -30px;\\n right: -30px;\\n bottom: -30px;\\n left: -30px;\\n background-image: url(\\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/img/_1.jpg\\\");\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: 50%;\\n filter: blur(40px);\\n -webkit-filter: blur(40px);\\n z-index: 1;\\n}\\n\\n#bg-layer {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: #fff;\\n opacity: 0.51;\\n z-index: 2;\\n}\\n\\n#player {\\n position: relative;\\n height: 100%;\\n z-index: 3;\\n}\\n\\n#player-track {\\n position: absolute;\\n top: 0;\\n right: 15px;\\n left: 15px;\\n padding: 13px 22px 10px 184px;\\n background-color: #fff7f7;\\n border-radius: 15px 15px 0 0;\\n transition: 0.3s ease top;\\n z-index: 1;\\n}\\n\\n#player-track.active {\\n top: -92px;\\n}\\n\\n#album-name {\\n color: #54576f;\\n font-size: 17px;\\n font-weight: bold;\\n}\\n\\n#track-name {\\n color: #acaebd;\\n font-size: 13px;\\n margin: 2px 0 13px 0;\\n}\\n\\n#track-time {\\n height: 12px;\\n margin-bottom: 3px;\\n overflow: hidden;\\n}\\n\\n#current-time {\\n float: left;\\n}\\n\\n#track-length {\\n float: right;\\n}\\n\\n#current-time,\\n#track-length {\\n color: transparent;\\n font-size: 11px;\\n background-color: #ffe8ee;\\n border-radius: 10px;\\n transition: 0.3s ease all;\\n}\\n\\n#track-time.active #current-time,\\n#track-time.active #track-length {\\n color: #f86d92;\\n background-color: transparent;\\n}\\n\\n#s-area,\\n#seek-bar {\\n position: relative;\\n height: 4px;\\n border-radius: 4px;\\n}\\n\\n#s-area {\\n background-color: #ffe8ee;\\n cursor: pointer;\\n}\\n\\n#ins-time {\\n position: absolute;\\n top: -29px;\\n color: #fff;\\n font-size: 12px;\\n white-space: pre;\\n padding: 5px 6px;\\n border-radius: 4px;\\n display: none;\\n}\\n\\n#s-hover {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n opacity: 0.2;\\n z-index: 2;\\n}\\n\\n#ins-time,\\n#s-hover {\\n background-color: #3b3d50;\\n}\\n\\n#seek-bar {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 0;\\n background-color: #fd6d94;\\n transition: 0.2s ease width;\\n z-index: 1;\\n}\\n\\n#player-content {\\n position: relative;\\n height: 100%;\\n background-color: #fff;\\n box-shadow: 0 30px 80px #656565;\\n border-radius: 15px;\\n z-index: 2;\\n}\\n\\n#album-art {\\n position: absolute;\\n top: -40px;\\n width: 115px;\\n height: 115px;\\n margin-left: 40px;\\n transform: rotateZ(0);\\n transition: 0.3s ease all;\\n box-shadow: 0 0 0 10px #fff;\\n border-radius: 50%;\\n overflow: hidden;\\n}\\n\\n#album-art.active {\\n top: -60px;\\n box-shadow: 0 0 0 4px #fff7f7, 0 30px 50px -15px #afb7c1;\\n}\\n\\n#album-art:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 50%;\\n right: 0;\\n left: 0;\\n width: 20px;\\n height: 20px;\\n margin: -10px auto 0 auto;\\n background-color: #d6dee7;\\n border-radius: 50%;\\n box-shadow: inset 0 0 0 2px #fff;\\n z-index: 2;\\n}\\n\\n#album-art img {\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0;\\n z-index: -1;\\n}\\n\\n#album-art img.active {\\n opacity: 1;\\n z-index: 1;\\n}\\n\\n#album-art.active img.active {\\n z-index: 1;\\n animation: rotateAlbumArt 3s linear 0s infinite forwards;\\n}\\n\\n@keyframes rotateAlbumArt {\\n 0% {\\n transform: rotateZ(0);\\n }\\n 100% {\\n transform: rotateZ(360deg);\\n }\\n}\\n\\n#buffer-box {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n left: 0;\\n height: 13px;\\n color: #1f1f1f;\\n font-size: 13px;\\n font-family: Helvetica;\\n text-align: center;\\n font-weight: bold;\\n line-height: 1;\\n padding: 6px;\\n margin: -12px auto 0 auto;\\n background-color: rgba(255, 255, 255, 0.19);\\n opacity: 0;\\n z-index: 2;\\n}\\n\\n#album-art img,\\n#buffer-box {\\n transition: 0.1s linear all;\\n}\\n\\n#album-art.buffering img {\\n opacity: 0.25;\\n}\\n\\n#album-art.buffering img.active {\\n opacity: 0.8;\\n filter: blur(2px);\\n -webkit-filter: blur(2px);\\n}\\n\\n#album-art.buffering #buffer-box {\\n opacity: 1;\\n}\\n\\n#player-controls {\\n width: 250px;\\n height: 100%;\\n margin: 0 5px 0 141px;\\n float: right;\\n overflow: hidden;\\n}\\n\\n.control {\\n width: 33.333%;\\n float: left;\\n padding: 12px 0;\\n}\\n\\n.button {\\n width: 26px;\\n height: 26px;\\n padding: 25px;\\n background-color: #fff;\\n border-radius: 6px;\\n cursor: pointer;\\n}\\n\\n.button i {\\n display: block;\\n color: #d6dee7;\\n font-size: 26px;\\n text-align: center;\\n line-height: 1;\\n}\\n\\n.button,\\n.button i {\\n transition: 0.2s ease all;\\n}\\n\\n.button:hover {\\n background-color: #d6d6de;\\n}\\n\\n.button:hover i {\\n color: #fff;\\n}\\n\",\"js\":\"$(function () {\\n var playerTrack = $(\\\"#player-track\\\"),\\n bgArtwork = $(\\\"#bg-artwork\\\"),\\n bgArtworkUrl,\\n albumName = $(\\\"#album-name\\\"),\\n trackName = $(\\\"#track-name\\\"),\\n albumArt = $(\\\"#album-art\\\"),\\n sArea = $(\\\"#s-area\\\"),\\n seekBar = $(\\\"#seek-bar\\\"),\\n trackTime = $(\\\"#track-time\\\"),\\n insTime = $(\\\"#ins-time\\\"),\\n sHover = $(\\\"#s-hover\\\"),\\n playPauseButton = $(\\\"#play-pause-button\\\"),\\n i = playPauseButton.find(\\\"i\\\"),\\n tProgress = $(\\\"#current-time\\\"),\\n tTime = $(\\\"#track-length\\\"),\\n seekT,\\n seekLoc,\\n seekBarPos,\\n cM,\\n ctMinutes,\\n ctSeconds,\\n curMinutes,\\n curSeconds,\\n durMinutes,\\n durSeconds,\\n playProgress,\\n bTime,\\n nTime = 0,\\n buffInterval = null,\\n tFlag = false,\\n albums = [\\n \\\"Dawn\\\",\\n \\\"Me & You\\\",\\n \\\"Electro Boy\\\",\\n \\\"Home\\\",\\n \\\"Proxy (Original Mix)\\\"\\n ],\\n trackNames = [\\n \\\"Skylike - Dawn\\\",\\n \\\"Alex Skrindo - Me & You\\\",\\n \\\"Kaaze - Electro Boy\\\",\\n \\\"Jordan Schor - Home\\\",\\n \\\"Martin Garrix - Proxy\\\"\\n ],\\n albumArtworks = [\\\"_1\\\", \\\"_2\\\", \\\"_3\\\", \\\"_4\\\", \\\"_5\\\"],\\n trackUrl = [\\n \\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/music/2.mp3\\\",\\n \\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/music/1.mp3\\\",\\n \\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/music/3.mp3\\\",\\n \\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/music/4.mp3\\\",\\n \\\"https://raw.githubusercontent.com/himalayasingh/music-player-1/master/music/5.mp3\\\"\\n ],\\n playPreviousTrackButton = $(\\\"#play-previous\\\"),\\n playNextTrackButton = $(\\\"#play-next\\\"),\\n currIndex = -1;\\n\\n function playPause() {\\n setTimeout(function () {\\n if (audio.paused) {\\n playerTrack.addClass(\\\"active\\\");\\n albumArt.addClass(\\\"active\\\");\\n checkBuffering();\\n i.attr(\\\"class\\\", \\\"fas fa-pause\\\");\\n audio.play();\\n } else {\\n playerTrack.removeClass(\\\"active\\\");\\n albumArt.removeClass(\\\"active\\\");\\n clearInterval(buffInterval);\\n albumArt.removeClass(\\\"buffering\\\");\\n i.attr(\\\"class\\\", \\\"fas fa-play\\\");\\n audio.pause();\\n }\\n }, 300);\\n }\\n\\n function showHover(event) {\\n seekBarPos = sArea.offset();\\n seekT = event.clientX - seekBarPos.left;\\n seekLoc = audio.duration * (seekT / sArea.outerWidth());\\n\\n sHover.width(seekT);\\n\\n cM = seekLoc / 60;\\n\\n ctMinutes = Math.floor(cM);\\n ctSeconds = Math.floor(seekLoc - ctMinutes * 60);\\n\\n if (ctMinutes < 0 || ctSeconds < 0) return;\\n\\n if (ctMinutes < 0 || ctSeconds < 0) return;\\n\\n if (ctMinutes < 10) ctMinutes = \\\"0\\\" + ctMinutes;\\n if (ctSeconds < 10) ctSeconds = \\\"0\\\" + ctSeconds;\\n\\n if (isNaN(ctMinutes) || isNaN(ctSeconds)) insTime.text(\\\"--:--\\\");\\n else insTime.text(ctMinutes + \\\":\\\" + ctSeconds);\\n\\n insTime.css({ left: seekT, \\\"margin-left\\\": \\\"-21px\\\" }).fadeIn(0);\\n }\\n\\n function hideHover() {\\n sHover.width(0);\\n insTime.text(\\\"00:00\\\").css({ left: \\\"0px\\\", \\\"margin-left\\\": \\\"0px\\\" }).fadeOut(0);\\n }\\n\\n function playFromClickedPos() {\\n audio.currentTime = seekLoc;\\n seekBar.width(seekT);\\n hideHover();\\n }\\n\\n function updateCurrTime() {\\n nTime = new Date();\\n nTime = nTime.getTime();\\n\\n if (!tFlag) {\\n tFlag = true;\\n trackTime.addClass(\\\"active\\\");\\n }\\n\\n curMinutes = Math.floor(audio.currentTime / 60);\\n curSeconds = Math.floor(audio.currentTime - curMinutes * 60);\\n\\n durMinutes = Math.floor(audio.duration / 60);\\n durSeconds = Math.floor(audio.duration - durMinutes * 60);\\n\\n playProgress = (audio.currentTime / audio.duration) * 100;\\n\\n if (curMinutes < 10) curMinutes = \\\"0\\\" + curMinutes;\\n if (curSeconds < 10) curSeconds = \\\"0\\\" + curSeconds;\\n\\n if (durMinutes < 10) durMinutes = \\\"0\\\" + durMinutes;\\n if (durSeconds < 10) durSeconds = \\\"0\\\" + durSeconds;\\n\\n if (isNaN(curMinutes) || isNaN(curSeconds)) tProgress.text(\\\"00:00\\\");\\n else tProgress.text(curMinutes + \\\":\\\" + curSeconds);\\n\\n if (isNaN(durMinutes) || isNaN(durSeconds)) tTime.text(\\\"00:00\\\");\\n else tTime.text(durMinutes + \\\":\\\" + durSeconds);\\n\\n if (\\n isNaN(curMinutes) ||\\n isNaN(curSeconds) ||\\n isNaN(durMinutes) ||\\n isNaN(durSeconds)\\n )\\n trackTime.removeClass(\\\"active\\\");\\n else trackTime.addClass(\\\"active\\\");\\n\\n seekBar.width(playProgress + \\\"%\\\");\\n\\n if (playProgress == 100) {\\n i.attr(\\\"class\\\", \\\"fa fa-play\\\");\\n seekBar.width(0);\\n tProgress.text(\\\"00:00\\\");\\n albumArt.removeClass(\\\"buffering\\\").removeClass(\\\"active\\\");\\n clearInterval(buffInterval);\\n }\\n }\\n\\n function checkBuffering() {\\n clearInterval(buffInterval);\\n buffInterval = setInterval(function () {\\n if (nTime == 0 || bTime - nTime > 1000) albumArt.addClass(\\\"buffering\\\");\\n else albumArt.removeClass(\\\"buffering\\\");\\n\\n bTime = new Date();\\n bTime = bTime.getTime();\\n }, 100);\\n }\\n\\n function selectTrack(flag) {\\n if (flag == 0 || flag == 1) ++currIndex;\\n else --currIndex;\\n\\n if (currIndex > -1 && currIndex < albumArtworks.length) {\\n if (flag == 0) i.attr(\\\"class\\\", \\\"fa fa-play\\\");\\n else {\\n albumArt.removeClass(\\\"buffering\\\");\\n i.attr(\\\"class\\\", \\\"fa fa-pause\\\");\\n }\\n\\n seekBar.width(0);\\n trackTime.removeClass(\\\"active\\\");\\n tProgress.text(\\\"00:00\\\");\\n tTime.text(\\\"00:00\\\");\\n\\n currAlbum = albums[currIndex];\\n currTrackName = trackNames[currIndex];\\n currArtwork = albumArtworks[currIndex];\\n\\n audio.src = trackUrl[currIndex];\\n\\n nTime = 0;\\n bTime = new Date();\\n bTime = bTime.getTime();\\n\\n if (flag != 0) {\\n audio.play();\\n playerTrack.addClass(\\\"active\\\");\\n albumArt.addClass(\\\"active\\\");\\n\\n clearInterval(buffInterval);\\n checkBuffering();\\n }\\n\\n albumName.text(currAlbum);\\n trackName.text(currTrackName);\\n albumArt.find(\\\"img.active\\\").removeClass(\\\"active\\\");\\n $(\\\"#\\\" + currArtwork).addClass(\\\"active\\\");\\n\\n bgArtworkUrl = $(\\\"#\\\" + currArtwork).attr(\\\"src\\\");\\n\\n bgArtwork.css({ \\\"background-image\\\": \\\"url(\\\" + bgArtworkUrl + \\\")\\\" });\\n } else {\\n if (flag == 0 || flag == 1) --currIndex;\\n else ++currIndex;\\n }\\n }\\n\\n function initPlayer() {\\n audio = new Audio();\\n\\n selectTrack(0);\\n\\n audio.loop = false;\\n\\n playPauseButton.on(\\\"click\\\", playPause);\\n\\n sArea.mousemove(function (event) {\\n showHover(event);\\n });\\n\\n sArea.mouseout(hideHover);\\n\\n sArea.on(\\\"click\\\", playFromClickedPos);\\n\\n $(audio).on(\\\"timeupdate\\\", updateCurrTime);\\n\\n playPreviousTrackButton.on(\\\"click\\\", function () {\\n selectTrack(-1);\\n });\\n playNextTrackButton.on(\\\"click\\\", function () {\\n selectTrack(1);\\n });\\n }\\n\\n initPlayer();\\n});\\n\",\"html_pre_processor\":\"none\",\"css_pre_processor\":\"none\",\"js_pre_processor\":\"none\",\"html_classes\":\"\",\"css_starter\":\"neither\",\"js_library\":null,\"created_at\":\"2018-10-06T12:31:45.000Z\",\"updated_at\":\"2022-01-08T08:10:55.403Z\",\"title\":\"Music Player | Audio Player 🎵\",\"description\":\"Simple Beautiful Fully Functional Music | Audio Player.\\n\\nDesign inspired by: https://dribbble.com/shots/4240318-Made-with-InVision-Studio-Music-Player\",\"slug_hash\":\"QZKqOX\",\"head\":\"\",\"private\":false,\"has_animation\":true,\"team_id\":0,\"css_prefix\":\"autoprefixer\",\"template\":false,\"parent_id\":0,\"comments_count\":0,\"custom_screenshot_filename\":null,\"loves_count\":0,\"pick\":false,\"popularity_score\":0,\"views_count\":0,\"pick_visible_at\":\"2022-11-08T22:42:55.128Z\",\"cpid\":null,\"pen_hash\":null}","__jwt":"eyJhbGciOiJIUzI1NiJ9.eyJjbGFpbXMiOnsidXNlcl9pZCI6MX0sImV4cCI6MTY3OTM5OTA2Mn0.ESUE4tlayG1Ic_xxnZlQLKrdc567FENKmqsywSdVxak","__processorsMap":{"autoprefixer":"autoprefixer-10","babel":"babel-7","coffeescript":"coffeescript-2","format-1":"format-1","flutter":"flutter-1","haml":"haml-4","less":"less-3","lint-1":"lint-1","livescript":"livescript-1","markdown":"markdown-11","postcss":"postcss-7","pug":"pug-2","sass":"sass-1","scss":"sass-1","sass-ruby-3":"sass-ruby-3","sass-ruby-compass-3":"sass-ruby-compass-3","slim":"slim-3","stylus":"stylus-0","typescript":"typescript-4","vue":"vue-2","vue3":"vue-3"},"__favicon_mask_icon":"https://cpwebassets.codepen.io/assets/favicon/logo-pin-b4b4269c16397ad2f0f7a01bcdf513a1994f4c94b8af2f191c09eb0d601762b1.svg","__favicon_shortcut_icon":"https://cpwebassets.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico","__path_to_iframe_console_runner":"https://cpwebassets.codepen.io/assets/editor/iframe/iframeConsoleRunner-6bce046e7128ddf9391ccf7acbecbf7ce0cbd7b6defbeb2e217a867f51485d25.js","__path_to_iframe_refresh_css":"https://cpwebassets.codepen.io/assets/editor/iframe/iframeRefreshCSS-44fe83e49b63affec96918c9af88c0d80b209a862cf87ac46bc933074b8c557d.js","__path_to_iframe_runtime_errors":"https://cpwebassets.codepen.io/assets/editor/iframe/iframeRuntimeErrors-4f205f2c14e769b448bcf477de2938c681660d5038bc464e3700256713ebe261.js","__path_to_processor_worker":"https://cpwebassets.codepen.io/assets/packs/router.js","__path_to_stop_execution_on_timeout":"https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js","__pen_normalize_css_url":"https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css","__pen_prefix_free_url":"https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js","__pen_reset_css_url":"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"}