├── LICENSE ├── README.md ├── assets ├── css │ ├── font-awesome.min.css │ ├── ie8.css │ ├── ie9.css │ ├── images │ │ ├── bg.jpg │ │ ├── ie │ │ │ ├── footer.png │ │ │ └── footer.svg │ │ ├── overlay-pattern.png │ │ └── overlay.svg │ └── main.css ├── favicon.ico ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 └── js │ └── ie │ ├── PIE.htc │ ├── html5shiv.js │ └── respond.min.js ├── index.html └── playback.js /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Alain Perkaz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # web-radio-player 2 | 3 | Online radio jukebox. 4 | 5 | ## Featuring 6 | 7 | * [Radio Paradise](https://www.radioparadise.com) 8 | * [Party Gong](https://www.radiogong.de/) 9 | * [SomaFM Folk Forward](http://somafm.com/folkfwd/) 10 | * [Punk FM](http://www.punkfm.co.uk/) 11 | -------------------------------------------------------------------------------- /assets/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.6.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} 5 | -------------------------------------------------------------------------------- /assets/css/ie8.css: -------------------------------------------------------------------------------- 1 | /* 2 | Aerial by HTML5 UP 3 | html5up.net | @ajlkn 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Header */ 8 | 9 | #header nav a { 10 | position: relative; 11 | border: solid 1px #fff; 12 | border-radius: 100%; 13 | -ms-behavior: url("assets/js/ie/PIE.htc"); 14 | } 15 | 16 | #header nav a:before { 17 | border: 0; 18 | } 19 | 20 | /* Footer */ 21 | 22 | #footer { 23 | background-image: url("images/ie/footer.png"); 24 | background-position: bottom left; 25 | background-repeat: repeat-x; 26 | } -------------------------------------------------------------------------------- /assets/css/ie9.css: -------------------------------------------------------------------------------- 1 | /* 2 | Aerial by HTML5 UP 3 | html5up.net | @ajlkn 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Wrapper */ 8 | 9 | #wrapper { 10 | opacity: 1; 11 | } 12 | 13 | /* Overlay */ 14 | 15 | #overlay { 16 | opacity: 1; 17 | } 18 | 19 | /* Header */ 20 | 21 | #header { 22 | opacity: 1; 23 | } 24 | 25 | #header nav li { 26 | opacity: 1; 27 | } 28 | 29 | /* Footer */ 30 | 31 | #footer { 32 | background-image: url("images/ie/footer.svg"); 33 | } -------------------------------------------------------------------------------- /assets/css/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/css/images/bg.jpg -------------------------------------------------------------------------------- /assets/css/images/ie/footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/css/images/ie/footer.png -------------------------------------------------------------------------------- /assets/css/images/ie/footer.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /assets/css/images/overlay-pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/css/images/overlay-pattern.png -------------------------------------------------------------------------------- /assets/css/images/overlay.svg: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /assets/css/main.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,900"); 2 | @import url("font-awesome.min.css"); 3 | 4 | /* 5 | Aerial by HTML5 UP 6 | html5up.net | @ajlkn 7 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 8 | */ 9 | 10 | /* Reset */ 11 | 12 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 13 | margin: 0; 14 | padding: 0; 15 | border: 0; 16 | font-size: 100%; 17 | font: inherit; 18 | vertical-align: baseline; 19 | } 20 | 21 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 22 | display: block; 23 | } 24 | 25 | body { 26 | line-height: 1; 27 | } 28 | 29 | ol, ul { 30 | list-style: none; 31 | } 32 | 33 | blockquote, q { 34 | quotes: none; 35 | } 36 | 37 | blockquote:before, blockquote:after, q:before, q:after { 38 | content: ''; 39 | content: none; 40 | } 41 | 42 | table { 43 | border-collapse: collapse; 44 | border-spacing: 0; 45 | } 46 | 47 | body { 48 | -webkit-text-size-adjust: none; 49 | } 50 | 51 | /* Box Model */ 52 | 53 | *, *:before, *:after { 54 | -moz-box-sizing: border-box; 55 | -webkit-box-sizing: border-box; 56 | box-sizing: border-box; 57 | } 58 | 59 | /* Basic */ 60 | 61 | body, input, select, textarea { 62 | color: #fff; 63 | font-family: 'Source Sans Pro', sans-serif; 64 | font-size: 15pt; 65 | font-weight: 300 !important; 66 | letter-spacing: -0.025em; 67 | line-height: 1.75em; 68 | } 69 | 70 | body { 71 | background: #fff; 72 | overflow: hidden; 73 | } 74 | 75 | body.loading * { 76 | -moz-animation: none !important; 77 | -webkit-animation: none !important; 78 | -ms-animation: none !important; 79 | animation: none !important; 80 | } 81 | 82 | a { 83 | -moz-transition: border-color 0.2s ease-in-out; 84 | -webkit-transition: border-color 0.2s ease-in-out; 85 | -ms-transition: border-color 0.2s ease-in-out; 86 | transition: border-color 0.2s ease-in-out; 87 | border-bottom: dotted 1px; 88 | color: inherit; 89 | outline: 0; 90 | text-decoration: none; 91 | } 92 | 93 | a:hover { 94 | border-color: transparent; 95 | } 96 | 97 | /* Icon */ 98 | 99 | .icon { 100 | text-decoration: none; 101 | position: relative; 102 | } 103 | 104 | .icon:before { 105 | -moz-osx-font-smoothing: grayscale; 106 | -webkit-font-smoothing: antialiased; 107 | font-family: FontAwesome; 108 | font-style: normal; 109 | font-weight: normal; 110 | text-transform: none !important; 111 | } 112 | 113 | .icon > .label { 114 | display: none; 115 | } 116 | 117 | /* Wrapper */ 118 | 119 | @-moz-keyframes wrapper { 120 | 0% { 121 | opacity: 0; 122 | } 123 | 124 | 100% { 125 | opacity: 1; 126 | } 127 | } 128 | 129 | @-webkit-keyframes wrapper { 130 | 0% { 131 | opacity: 0; 132 | } 133 | 134 | 100% { 135 | opacity: 1; 136 | } 137 | } 138 | 139 | @-ms-keyframes wrapper { 140 | 0% { 141 | opacity: 0; 142 | } 143 | 144 | 100% { 145 | opacity: 1; 146 | } 147 | } 148 | 149 | @keyframes wrapper { 150 | 0% { 151 | opacity: 0; 152 | } 153 | 154 | 100% { 155 | opacity: 1; 156 | } 157 | } 158 | 159 | #wrapper { 160 | -moz-animation: wrapper 1s forwards; 161 | -webkit-animation: wrapper 1s forwards; 162 | -ms-animation: wrapper 1s forwards; 163 | animation: wrapper 1s forwards; 164 | height: 100%; 165 | left: 0; 166 | opacity: 0; 167 | position: fixed; 168 | top: 0; 169 | width: 100%; 170 | } 171 | 172 | /* BG */ 173 | 174 | #bg { 175 | 176 | background: url("images/bg.jpg") no-repeat center center fixed; 177 | -webkit-background-size: cover; 178 | -moz-background-size: cover; 179 | -o-background-size: cover; 180 | background-size: cover; 181 | height: 100%; 182 | 183 | } 184 | 185 | 186 | 187 | /* Overlay */ 188 | 189 | @-moz-keyframes overlay { 190 | 0% { 191 | opacity: 0; 192 | } 193 | 194 | 100% { 195 | opacity: 1; 196 | } 197 | } 198 | 199 | @-webkit-keyframes overlay { 200 | 0% { 201 | opacity: 0; 202 | } 203 | 204 | 100% { 205 | opacity: 1; 206 | } 207 | } 208 | 209 | @-ms-keyframes overlay { 210 | 0% { 211 | opacity: 0; 212 | } 213 | 214 | 100% { 215 | opacity: 1; 216 | } 217 | } 218 | 219 | @keyframes overlay { 220 | 0% { 221 | opacity: 0; 222 | } 223 | 224 | 100% { 225 | opacity: 1; 226 | } 227 | } 228 | 229 | #overlay { 230 | -moz-animation: overlay 0.25s 0.25s forwards; 231 | -webkit-animation: overlay 0.25s 0.25s forwards; 232 | -ms-animation: overlay 0.25s 0.25s forwards; 233 | animation: overlay 0.25s 0.25s forwards; 234 | background-attachment: fixed, fixed; 235 | background-image: url("images/overlay-pattern.png"), url("images/overlay.svg"); 236 | background-position: top left, center center; 237 | background-repeat: repeat, no-repeat; 238 | background-size: auto, cover; 239 | height: 100%; 240 | left: 0; 241 | opacity: 0; 242 | position: fixed; 243 | top: 0; 244 | width: 100%; 245 | } 246 | 247 | /* Main */ 248 | 249 | #main { 250 | height: 100%; 251 | left: 0; 252 | position: fixed; 253 | text-align: center; 254 | top: 0; 255 | width: 100%; 256 | } 257 | 258 | #main:before { 259 | content: ''; 260 | display: inline-block; 261 | height: 100%; 262 | margin-right: 0; 263 | vertical-align: middle; 264 | width: 1px; 265 | } 266 | 267 | /* Header */ 268 | 269 | @-moz-keyframes header { 270 | 0% { 271 | -moz-transform: translate3d(0,1em,0); 272 | -webkit-transform: translate3d(0,1em,0); 273 | -ms-transform: translate3d(0,1em,0); 274 | transform: translate3d(0,1em,0); 275 | opacity: 0; 276 | } 277 | 278 | 100% { 279 | -moz-transform: translate3d(0,0,0); 280 | -webkit-transform: translate3d(0,0,0); 281 | -ms-transform: translate3d(0,0,0); 282 | transform: translate3d(0,0,0); 283 | opacity: 1; 284 | } 285 | } 286 | 287 | @-webkit-keyframes header { 288 | 0% { 289 | -moz-transform: translate3d(0,1em,0); 290 | -webkit-transform: translate3d(0,1em,0); 291 | -ms-transform: translate3d(0,1em,0); 292 | transform: translate3d(0,1em,0); 293 | opacity: 0; 294 | } 295 | 296 | 100% { 297 | -moz-transform: translate3d(0,0,0); 298 | -webkit-transform: translate3d(0,0,0); 299 | -ms-transform: translate3d(0,0,0); 300 | transform: translate3d(0,0,0); 301 | opacity: 1; 302 | } 303 | } 304 | 305 | @-ms-keyframes header { 306 | 0% { 307 | -moz-transform: translate3d(0,1em,0); 308 | -webkit-transform: translate3d(0,1em,0); 309 | -ms-transform: translate3d(0,1em,0); 310 | transform: translate3d(0,1em,0); 311 | opacity: 0; 312 | } 313 | 314 | 100% { 315 | -moz-transform: translate3d(0,0,0); 316 | -webkit-transform: translate3d(0,0,0); 317 | -ms-transform: translate3d(0,0,0); 318 | transform: translate3d(0,0,0); 319 | opacity: 1; 320 | } 321 | } 322 | 323 | @keyframes header { 324 | 0% { 325 | -moz-transform: translate3d(0,1em,0); 326 | -webkit-transform: translate3d(0,1em,0); 327 | -ms-transform: translate3d(0,1em,0); 328 | transform: translate3d(0,1em,0); 329 | opacity: 0; 330 | } 331 | 332 | 100% { 333 | -moz-transform: translate3d(0,0,0); 334 | -webkit-transform: translate3d(0,0,0); 335 | -ms-transform: translate3d(0,0,0); 336 | transform: translate3d(0,0,0); 337 | opacity: 1; 338 | } 339 | } 340 | 341 | @-moz-keyframes nav-icons { 342 | 0% { 343 | -moz-transform: translate3d(0,1em,0); 344 | -webkit-transform: translate3d(0,1em,0); 345 | -ms-transform: translate3d(0,1em,0); 346 | transform: translate3d(0,1em,0); 347 | opacity: 0; 348 | } 349 | 350 | 100% { 351 | -moz-transform: translate3d(0,0,0); 352 | -webkit-transform: translate3d(0,0,0); 353 | -ms-transform: translate3d(0,0,0); 354 | transform: translate3d(0,0,0); 355 | opacity: 1; 356 | } 357 | } 358 | 359 | @-webkit-keyframes nav-icons { 360 | 0% { 361 | -moz-transform: translate3d(0,1em,0); 362 | -webkit-transform: translate3d(0,1em,0); 363 | -ms-transform: translate3d(0,1em,0); 364 | transform: translate3d(0,1em,0); 365 | opacity: 0; 366 | } 367 | 368 | 100% { 369 | -moz-transform: translate3d(0,0,0); 370 | -webkit-transform: translate3d(0,0,0); 371 | -ms-transform: translate3d(0,0,0); 372 | transform: translate3d(0,0,0); 373 | opacity: 1; 374 | } 375 | } 376 | 377 | @-ms-keyframes nav-icons { 378 | 0% { 379 | -moz-transform: translate3d(0,1em,0); 380 | -webkit-transform: translate3d(0,1em,0); 381 | -ms-transform: translate3d(0,1em,0); 382 | transform: translate3d(0,1em,0); 383 | opacity: 0; 384 | } 385 | 386 | 100% { 387 | -moz-transform: translate3d(0,0,0); 388 | -webkit-transform: translate3d(0,0,0); 389 | -ms-transform: translate3d(0,0,0); 390 | transform: translate3d(0,0,0); 391 | opacity: 1; 392 | } 393 | } 394 | 395 | @keyframes nav-icons { 396 | 0% { 397 | -moz-transform: translate3d(0,1em,0); 398 | -webkit-transform: translate3d(0,1em,0); 399 | -ms-transform: translate3d(0,1em,0); 400 | transform: translate3d(0,1em,0); 401 | opacity: 0; 402 | } 403 | 404 | 100% { 405 | -moz-transform: translate3d(0,0,0); 406 | -webkit-transform: translate3d(0,0,0); 407 | -ms-transform: translate3d(0,0,0); 408 | transform: translate3d(0,0,0); 409 | opacity: 1; 410 | } 411 | } 412 | 413 | #header { 414 | -moz-animation: header 1s 2.25s forwards; 415 | -webkit-animation: header 1s 2.25s forwards; 416 | -ms-animation: header 1s 2.25s forwards; 417 | animation: header 1s 2.25s forwards; 418 | -moz-backface-visibility: hidden; 419 | -webkit-backface-visibility: hidden; 420 | -ms-backface-visibility: hidden; 421 | backface-visibility: hidden; 422 | -moz-transform: translate3d(0,0,0); 423 | -webkit-transform: translate3d(0,0,0); 424 | -ms-transform: translate3d(0,0,0); 425 | transform: translate3d(0,0,0); 426 | cursor: default; 427 | display: inline-block; 428 | opacity: 0; 429 | position: relative; 430 | text-align: center; 431 | top: -1em; 432 | vertical-align: middle; 433 | width: 90%; 434 | } 435 | 436 | #header h1 { 437 | font-size: 4.35em; 438 | font-weight: 900; 439 | letter-spacing: -0.035em; 440 | line-height: 1em; 441 | } 442 | 443 | #header p { 444 | font-size: 1.25em; 445 | margin: 0.75em 0 0.25em 0; 446 | opacity: 0.75; 447 | } 448 | 449 | #header nav { 450 | margin: 1.5em 0 0 0; 451 | } 452 | 453 | #header nav li { 454 | -moz-animation: nav-icons 0.5s ease-in-out forwards; 455 | -webkit-animation: nav-icons 0.5s ease-in-out forwards; 456 | -ms-animation: nav-icons 0.5s ease-in-out forwards; 457 | animation: nav-icons 0.5s ease-in-out forwards; 458 | -moz-backface-visibility: hidden; 459 | -webkit-backface-visibility: hidden; 460 | -ms-backface-visibility: hidden; 461 | backface-visibility: hidden; 462 | -moz-transform: translate3d(0,0,0); 463 | -webkit-transform: translate3d(0,0,0); 464 | -ms-transform: translate3d(0,0,0); 465 | transform: translate3d(0,0,0); 466 | display: inline-block; 467 | height: 5.35em; 468 | line-height: 5.885em; 469 | opacity: 0; 470 | position: relative; 471 | top: 0; 472 | width: 5.35em; 473 | } 474 | 475 | #header nav li:nth-child(1) { 476 | -moz-animation-delay: 2.5s; 477 | -webkit-animation-delay: 2.5s; 478 | -ms-animation-delay: 2.5s; 479 | animation-delay: 2.5s; 480 | } 481 | 482 | #header nav li:nth-child(2) { 483 | -moz-animation-delay: 2.75s; 484 | -webkit-animation-delay: 2.75s; 485 | -ms-animation-delay: 2.75s; 486 | animation-delay: 2.75s; 487 | } 488 | 489 | #header nav li:nth-child(3) { 490 | -moz-animation-delay: 3s; 491 | -webkit-animation-delay: 3s; 492 | -ms-animation-delay: 3s; 493 | animation-delay: 3s; 494 | } 495 | 496 | #header nav li:nth-child(4) { 497 | -moz-animation-delay: 3.25s; 498 | -webkit-animation-delay: 3.25s; 499 | -ms-animation-delay: 3.25s; 500 | animation-delay: 3.25s; 501 | } 502 | 503 | #header nav li:nth-child(5) { 504 | -moz-animation-delay: 3.5s; 505 | -webkit-animation-delay: 3.5s; 506 | -ms-animation-delay: 3.5s; 507 | animation-delay: 3.5s; 508 | } 509 | 510 | #header nav li:nth-child(6) { 511 | -moz-animation-delay: 3.75s; 512 | -webkit-animation-delay: 3.75s; 513 | -ms-animation-delay: 3.75s; 514 | animation-delay: 3.75s; 515 | } 516 | 517 | #header nav li:nth-child(7) { 518 | -moz-animation-delay: 4s; 519 | -webkit-animation-delay: 4s; 520 | -ms-animation-delay: 4s; 521 | animation-delay: 4s; 522 | } 523 | 524 | #header nav li:nth-child(8) { 525 | -moz-animation-delay: 4.25s; 526 | -webkit-animation-delay: 4.25s; 527 | -ms-animation-delay: 4.25s; 528 | animation-delay: 4.25s; 529 | } 530 | 531 | #header nav li:nth-child(9) { 532 | -moz-animation-delay: 4.5s; 533 | -webkit-animation-delay: 4.5s; 534 | -ms-animation-delay: 4.5s; 535 | animation-delay: 4.5s; 536 | } 537 | 538 | #header nav li:nth-child(10) { 539 | -moz-animation-delay: 4.75s; 540 | -webkit-animation-delay: 4.75s; 541 | -ms-animation-delay: 4.75s; 542 | animation-delay: 4.75s; 543 | } 544 | 545 | #header nav a { 546 | -webkit-tap-highlight-color: transparent; 547 | -webkit-touch-callout: none; 548 | border: 0; 549 | display: inline-block; 550 | } 551 | 552 | #header nav a:before { 553 | -moz-transition: all 0.2s ease-in-out; 554 | -webkit-transition: all 0.2s ease-in-out; 555 | -ms-transition: all 0.2s ease-in-out; 556 | transition: all 0.2s ease-in-out; 557 | border-radius: 100%; 558 | border: solid 1px #fff; 559 | display: block; 560 | font-size: 1.75em; 561 | height: 2.5em; 562 | line-height: 2.5em; 563 | position: relative; 564 | text-align: center; 565 | top: 0; 566 | width: 2.5em; 567 | } 568 | 569 | #header nav a:hover { 570 | font-size: 1.1em; 571 | } 572 | 573 | #header nav a:hover:before { 574 | background-color: rgba(255, 255, 255, 0.175); 575 | color: #fff; 576 | } 577 | 578 | #header nav a:active { 579 | font-size: 0.95em; 580 | background: none; 581 | } 582 | 583 | #header nav a:active:before { 584 | background-color: rgba(255, 255, 255, 0.35); 585 | color: #fff; 586 | } 587 | 588 | #header nav a span { 589 | display: none; 590 | } 591 | 592 | /* Footer */ 593 | 594 | #footer { 595 | background-image: -moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.5) 75%); 596 | background-image: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.5) 75%); 597 | background-image: -ms-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.5) 75%); 598 | background-image: linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,0.5) 75%); 599 | bottom: 0; 600 | cursor: default; 601 | height: 6em; 602 | left: 0; 603 | line-height: 8em; 604 | position: absolute; 605 | text-align: center; 606 | width: 100%; 607 | } 608 | 609 | /* Wide */ 610 | 611 | @media screen and (max-width: 1680px) { 612 | 613 | /* Basic */ 614 | 615 | body, input, select, textarea { 616 | font-size: 13pt; 617 | } 618 | 619 | /* BG */ 620 | 621 | @-moz-keyframes bg { 622 | 0% { 623 | -moz-transform: translate3d(0,0,0); 624 | -webkit-transform: translate3d(0,0,0); 625 | -ms-transform: translate3d(0,0,0); 626 | transform: translate3d(0,0,0); 627 | } 628 | 629 | 100% { 630 | -moz-transform: translate3d(-1500px,0,0); 631 | -webkit-transform: translate3d(-1500px,0,0); 632 | -ms-transform: translate3d(-1500px,0,0); 633 | transform: translate3d(-1500px,0,0); 634 | } 635 | 636 | } 637 | 638 | @-webkit-keyframes bg { 639 | 0% { 640 | -moz-transform: translate3d(0,0,0); 641 | -webkit-transform: translate3d(0,0,0); 642 | -ms-transform: translate3d(0,0,0); 643 | transform: translate3d(0,0,0); 644 | } 645 | 646 | 100% { 647 | -moz-transform: translate3d(-1500px,0,0); 648 | -webkit-transform: translate3d(-1500px,0,0); 649 | -ms-transform: translate3d(-1500px,0,0); 650 | transform: translate3d(-1500px,0,0); 651 | } 652 | } 653 | 654 | @-ms-keyframes bg { 655 | 0% { 656 | -moz-transform: translate3d(0,0,0); 657 | -webkit-transform: translate3d(0,0,0); 658 | -ms-transform: translate3d(0,0,0); 659 | transform: translate3d(0,0,0); 660 | } 661 | 662 | 100% { 663 | -moz-transform: translate3d(-1500px,0,0); 664 | -webkit-transform: translate3d(-1500px,0,0); 665 | -ms-transform: translate3d(-1500px,0,0); 666 | transform: translate3d(-1500px,0,0); 667 | } 668 | } 669 | 670 | @keyframes bg { 671 | 0% { 672 | -moz-transform: translate3d(0,0,0); 673 | -webkit-transform: translate3d(0,0,0); 674 | -ms-transform: translate3d(0,0,0); 675 | transform: translate3d(0,0,0); 676 | } 677 | 678 | 100% { 679 | -moz-transform: translate3d(-1500px,0,0); 680 | -webkit-transform: translate3d(-1500px,0,0); 681 | -ms-transform: translate3d(-1500px,0,0); 682 | transform: translate3d(-1500px,0,0); 683 | } 684 | } 685 | 686 | } 687 | 688 | /* Normal */ 689 | 690 | @media screen and (max-width: 1280px) { 691 | 692 | /* Basic */ 693 | 694 | body, input, select, textarea { 695 | font-size: 12pt; 696 | } 697 | 698 | } 699 | 700 | /* Mobile */ 701 | 702 | @media screen and (max-width: 736px) { 703 | 704 | /* Basic */ 705 | 706 | body { 707 | min-width: 320px; 708 | } 709 | 710 | body, input, select, textarea { 711 | font-size: 11pt; 712 | } 713 | 714 | /* BG */ 715 | 716 | @-moz-keyframes bg { 717 | 0% { 718 | -moz-transform: translate3d(0,0,0); 719 | -webkit-transform: translate3d(0,0,0); 720 | -ms-transform: translate3d(0,0,0); 721 | transform: translate3d(0,0,0); 722 | } 723 | 724 | 100% { 725 | -moz-transform: translate3d(-300px,0,0); 726 | -webkit-transform: translate3d(-300px,0,0); 727 | -ms-transform: translate3d(-300px,0,0); 728 | transform: translate3d(-300px,0,0); 729 | } 730 | 731 | } 732 | 733 | @-webkit-keyframes bg { 734 | 0% { 735 | -moz-transform: translate3d(0,0,0); 736 | -webkit-transform: translate3d(0,0,0); 737 | -ms-transform: translate3d(0,0,0); 738 | transform: translate3d(0,0,0); 739 | } 740 | 741 | 100% { 742 | -moz-transform: translate3d(-300px,0,0); 743 | -webkit-transform: translate3d(-300px,0,0); 744 | -ms-transform: translate3d(-300px,0,0); 745 | transform: translate3d(-300px,0,0); 746 | } 747 | } 748 | 749 | @-ms-keyframes bg { 750 | 0% { 751 | -moz-transform: translate3d(0,0,0); 752 | -webkit-transform: translate3d(0,0,0); 753 | -ms-transform: translate3d(0,0,0); 754 | transform: translate3d(0,0,0); 755 | } 756 | 757 | 100% { 758 | -moz-transform: translate3d(-300px,0,0); 759 | -webkit-transform: translate3d(-300px,0,0); 760 | -ms-transform: translate3d(-300px,0,0); 761 | transform: translate3d(-300px,0,0); 762 | } 763 | } 764 | 765 | @keyframes bg { 766 | 0% { 767 | -moz-transform: translate3d(0,0,0); 768 | -webkit-transform: translate3d(0,0,0); 769 | -ms-transform: translate3d(0,0,0); 770 | transform: translate3d(0,0,0); 771 | } 772 | 773 | 100% { 774 | -moz-transform: translate3d(-300px,0,0); 775 | -webkit-transform: translate3d(-300px,0,0); 776 | -ms-transform: translate3d(-300px,0,0); 777 | transform: translate3d(-300px,0,0); 778 | } 779 | } 780 | 781 | 782 | /* Header */ 783 | 784 | #header h1 { 785 | font-size: 2.5em; 786 | } 787 | 788 | #header p { 789 | font-size: 1em; 790 | } 791 | 792 | #header nav { 793 | font-size: 1em; 794 | } 795 | 796 | #header nav a:hover { 797 | font-size: 1em; 798 | } 799 | 800 | #header nav a:active { 801 | font-size: 1em; 802 | } } 803 | 804 | /* Mobile (Portrait) */ 805 | 806 | @media screen and (max-width: 480px) { 807 | 808 | /* BG */ 809 | 810 | @-moz-keyframes bg { 811 | 0% { 812 | -moz-transform: translate3d(0,0,0); 813 | -webkit-transform: translate3d(0,0,0); 814 | -ms-transform: translate3d(0,0,0); 815 | transform: translate3d(0,0,0); 816 | } 817 | 818 | 100% { 819 | -moz-transform: translate3d(-412.5px,0,0); 820 | -webkit-transform: translate3d(-412.5px,0,0); 821 | -ms-transform: translate3d(-412.5px,0,0); 822 | transform: translate3d(-412.5px,0,0); 823 | } 824 | 825 | } 826 | 827 | @-webkit-keyframes bg { 828 | 0% { 829 | -moz-transform: translate3d(0,0,0); 830 | -webkit-transform: translate3d(0,0,0); 831 | -ms-transform: translate3d(0,0,0); 832 | transform: translate3d(0,0,0); 833 | } 834 | 835 | 100% { 836 | -moz-transform: translate3d(-412.5px,0,0); 837 | -webkit-transform: translate3d(-412.5px,0,0); 838 | -ms-transform: translate3d(-412.5px,0,0); 839 | transform: translate3d(-412.5px,0,0); 840 | } 841 | } 842 | 843 | @-ms-keyframes bg { 844 | 0% { 845 | -moz-transform: translate3d(0,0,0); 846 | -webkit-transform: translate3d(0,0,0); 847 | -ms-transform: translate3d(0,0,0); 848 | transform: translate3d(0,0,0); 849 | } 850 | 851 | 100% { 852 | -moz-transform: translate3d(-412.5px,0,0); 853 | -webkit-transform: translate3d(-412.5px,0,0); 854 | -ms-transform: translate3d(-412.5px,0,0); 855 | transform: translate3d(-412.5px,0,0); 856 | } 857 | } 858 | 859 | @keyframes bg { 860 | 0% { 861 | -moz-transform: translate3d(0,0,0); 862 | -webkit-transform: translate3d(0,0,0); 863 | -ms-transform: translate3d(0,0,0); 864 | transform: translate3d(0,0,0); 865 | } 866 | 867 | 100% { 868 | -moz-transform: translate3d(-412.5px,0,0); 869 | -webkit-transform: translate3d(-412.5px,0,0); 870 | -ms-transform: translate3d(-412.5px,0,0); 871 | transform: translate3d(-412.5px,0,0); 872 | } 873 | } 874 | 875 | 876 | 877 | /* Header */ 878 | 879 | #header nav { 880 | padding: 0 1em; 881 | } } 882 | -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/favicon.ico -------------------------------------------------------------------------------- /assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aperkaz/web-radio-player/a09957c2e8718a4258fd99858514ce350b968bf8/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /assets/js/ie/PIE.htc: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 96 | 97 | -------------------------------------------------------------------------------- /assets/js/ie/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d #mq-test-1 { width: 42px; }',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b 2 | 3 | 4 | Radio Jukebox 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |
15 |
16 | 17 | 34 |
35 |
36 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /playback.js: -------------------------------------------------------------------------------- 1 | const sources = [ 2 | "http://stream-dc1.radioparadise.com/aac-320", // paradise 3 | "http://radiogong-ais-edge-3073-fra-eco-cdn.cast.addradio.de/radiogong/live/mp3/high?ar-distributor=f0b7&aw_0_req.gdpr=true&_art=dj0yJmlwPTYyLjU3LjIuMjcmaWQ9aWNzY3hsLXMzeGRnenhtYiZ0PTE2MTAzODM3MDcmcz03ODY2ZjI5YyNiNzcwYWViOGUxZWU0NWI2MWJlNTAzZWE4OWUyZjQwYw", // party gong 4 | "http://ice2.somafm.com/folkfwd-128-mp3", // folk forward 5 | "http://94.23.26.22:8090/live.mp3" // punk fm 6 | ]; 7 | 8 | const labels = [ 9 | [ "Radio Paradise", "https://www.radioparadise.com" ], 10 | [ "Party Gong", "https://www.radiogong.de/"], 11 | [ "SomaFM Folk Forward", "http://somafm.com/folkfwd/"], 12 | [ "Punk FM", " http://www.punkfm.co.uk/"] 13 | ]; 14 | 15 | let playingIndex = 0; // current radio 16 | let playing = true; // stream status 17 | let music = null; 18 | 19 | setTimeout(function(){ 20 | loadStream(playingIndex); 21 | }, 1); 22 | 23 | function loadStream(index){ 24 | if(playing && music !== null) 25 | destroyStream(); 26 | 27 | music = new Audio(); 28 | music.src = sources[index]; 29 | music.load(); 30 | music.play(); 31 | setLabel(index); 32 | pauseIcon(); 33 | playingIndex = index; 34 | playing = true; 35 | } 36 | 37 | function destroyStream(){ 38 | music.pause(); 39 | music.src = ""; 40 | playIcon(); 41 | playing = false; 42 | } 43 | 44 | function changePlayback(){ 45 | if(playing){ destroyStream(); }else{ loadStream(playingIndex); } 46 | } 47 | 48 | function setLabel(index){ 49 | document.getElementById("label").innerHTML = '
' + labels[index][0] + '
'; 50 | } 51 | 52 | document.onkeydown = function(e) { 53 | e = e || window.event; 54 | switch(e.which || e.keyCode) { 55 | case 32: 56 | changePlayback(); 57 | break; 58 | } 59 | }; 60 | 61 | // icons 62 | function pauseIcon(){ 63 | document.getElementById('playbackButton').className = 'icon fa-pause'; 64 | } 65 | function playIcon(){ 66 | document.getElementById('playbackButton').className = 'icon fa-play'; 67 | } 68 | --------------------------------------------------------------------------------