Created
October 3, 2016 16:55
Star
You must be signed in to star a gist
pEWRPk
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<title>LIVE TV - A Pen by fumanchew</title> | |
<link rel="stylesheet prefetch" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900,200italic,300italic,400italic,600italic,700italic,900italic"> | |
<link rel="stylesheet prefetch" href="//fonts.googleapis.com/css?family=Tauri|Playfair+Display:400,400italic|Playfair+Display+SC&subset=latin,latin-ext"> | |
<style data-eqcss-read="true"> | |
*, | |
*:before, | |
*:after { | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
text-rendering: optimizeLegibility; | |
-webkit-font-smoothing: antialiased; | |
-moz-osx-font-smoothing: grayscale; | |
font-kerning: auto; | |
} | |
html { | |
font-size: 10pt; | |
line-height: 1.4; | |
font-weight: 400; | |
font-family: 'Open Sans', 'Source Sans Pro', Roboto, 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', 'Myriad Pro', 'Segoe UI', Myriad, Helvetica, 'Lucida Grande', 'DejaVu Sans Condensed', 'Liberation Sans', 'Nimbus Sans L', Tahoma, Geneva, Arial, sans-serif; | |
-webkit-text-size-adjust: 100%; | |
} | |
body { | |
margin: 0; | |
} | |
header { | |
padding: 1em; | |
background: -webkit-linear-gradient(270deg, #cc0000, #660000); | |
background: linear-gradient(180deg, #cc0000, #660000); | |
} | |
header h1 { | |
margin: 0; | |
font-family: "Playfair Display SC", serif; | |
font-weight: 900; | |
font-style: italic; | |
color: white; | |
text-shadow: 0 2px 2px black; | |
} | |
article { | |
max-width: 1440px; | |
margin: 0 auto; | |
padding: 1em; | |
} | |
article:after { | |
content: ''; | |
display: block; | |
clear: both; | |
} | |
footer p { | |
font-family: "Source Sans Pro", sans-serif; | |
font-size: 10pt; | |
color: #555; | |
} | |
[data-best-picture] h1 { | |
font-family: "Playfair Display SC", serif; | |
font-size: 1.125em; | |
font-weight: 400; | |
font-style: smallcaps; | |
text-align: center; | |
background: -webkit-linear-gradient(270deg, #333, #111); | |
background: linear-gradient(180deg, #333, #111); | |
color: white; | |
padding: 1rem; | |
} | |
aside[data-best-picture] h1 { | |
background: linear-gradient(180deg, #333, #111); | |
color: white; | |
} | |
[data-best-picture] ol { | |
list-stlye: none; | |
padding: 0; | |
margin: 1em; | |
} | |
[data-best-picture] li { | |
display: block; | |
} | |
[data-best-picture] li + li { | |
border-top: 1px solid #ddd; | |
padding-top: 0.5em; | |
margin-top: 0.5em; | |
} | |
[data-best-picture] a { | |
text-decoration: none; | |
display: block; | |
position: relative; | |
} | |
[data-best-picture] a:after { | |
content: ''; | |
display: table; | |
clear: both; | |
} | |
[data-best-picture] img { | |
float: left; | |
width: 20%; | |
-webkit-transition: -webkit-transform 150ms ease-in-out; | |
transition: -webkit-transform 150ms ease-in-out; | |
transition: transform 150ms ease-in-out; | |
transition: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out; | |
} | |
[data-best-picture] a:hover [data-best-picture] img { | |
-webkit-transform: scale(0.9); | |
transform: scale(0.9); | |
} | |
[data-best-picture] div { | |
float: left; | |
width: 80%; | |
padding-left: 0.5em; | |
box-sizing: border-box; | |
} | |
[data-best-picture] h2 { | |
color: #333; | |
margin: 0; | |
font-family: "Playfair Display", serif; | |
font-weight: 400; | |
font-size: 1em; | |
} | |
[data-best-picture] .winner h2 { | |
font-weight: 700; | |
font-style: italic; | |
color: #C69F24; | |
} | |
[data-best-picture] p { | |
margin: 0; | |
color: #666; | |
font-family: "Tauri", sans-serif; | |
font-size: 0.75em; | |
font-weight: 400; | |
} | |
[data-best-picture] .winner p { | |
color: #888; | |
} | |
[data-best-picture] p:before { | |
content: 'Directed by: '; | |
font-weight: 400; | |
color: #999; | |
display: none; | |
} | |
aside { | |
display: none; | |
} | |
@element '[data-best-picture] p' and (min-width: 220px) { | |
$this:before { | |
display: inline; | |
} | |
} | |
@element '[data-best-picture] .winner div' and (min-width: 220px) { | |
$this:before { | |
content: 'Best Picture Winner'; | |
} | |
} | |
@element '[data-best-picture]' and (min-width: 400px) { | |
$this h1 { | |
background: none; | |
color: #333; | |
font-size: 1.25em; | |
} | |
$this li { | |
display: inline-block; | |
width: 50%; | |
} | |
$this li + li { | |
border-top: none; | |
padding-top: auto; | |
margin-top: auto; | |
margin-left: -4px; | |
} | |
$this a { | |
overflow: hidden; | |
margin: 0.5em; | |
border: 1px solid #333; | |
box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.5); | |
} | |
$this a:after { | |
display: block; | |
content: ''; | |
padding-top: 147.5095785%; | |
} | |
$this img { | |
float: none; | |
width: 100%; | |
position: absolute; | |
display: block; | |
} | |
$this a:hover img { | |
-webkit-transform: scale(1.1); | |
transform: scale(1.1); | |
} | |
$this div { | |
float: none; | |
width: 100%; | |
position: absolute; | |
bottom: 0; | |
padding: 1.5em 1em; | |
background: -webkit-linear-gradient(270deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); | |
background: linear-gradient(180deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); | |
} | |
$this .winner div { | |
background: -webkit-linear-gradient(270deg, rgba(193, 165, 32, 0.9), rgba(137, 100, 14, 0.9)); | |
background: linear-gradient(180deg, rgba(193, 165, 32, 0.9), rgba(137, 100, 14, 0.9)); | |
padding: 0.5em 1em 1.5em; | |
} | |
$this .winner div:before { | |
content: '2015 Winner'; | |
color: white; | |
font-family: "Tauri", sans-serif; | |
font-size: 0.675em; | |
text-shadow: 0px -1px rgba(0, 0, 0, 0.3); | |
text-transform: uppercase; | |
display: block; | |
text-align: center; | |
letter-spacing: 0.25em; | |
margin: 0 -1em 0.5em; | |
} | |
$this h2 { | |
font-size: 1.125em; | |
color: white; | |
text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); | |
} | |
$this .winner h2 { | |
font-weight: 700; | |
color: white; | |
text-shadow: 0 -1px #89640E; | |
} | |
$this p { | |
color: white; | |
text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); | |
} | |
$this p:before { | |
color: #aaa; | |
} | |
$this .winner p { | |
color: #312A05; | |
text-shadow: 0 1px rgba(214, 188, 46, 0.4); | |
} | |
[data-best-picture] .winner p:before { | |
color: #413806; | |
} | |
} | |
@element '[data-best-picture]' and (min-width: 600px) { | |
$this h1 { | |
font-size: 1.75em; | |
} | |
$this ol { | |
margin: 1em; | |
} | |
$this li { | |
width: 33.333%; | |
} | |
} | |
@element '[data-best-picture]' and (min-width: 900px) { | |
$this h1 { | |
font-size: 2.5em; | |
} | |
$this li { | |
width: 25%; | |
} | |
} | |
@element 'article' and (min-width: 900px) { | |
$this section, | |
$this aside { | |
float: left; | |
} | |
$this section { | |
width: 75%; | |
} | |
$this aside { | |
display: block; | |
width: 25% | |
} | |
} | |
</style> | |
<style id="data-eqcss-0-0" data-eqcss-read="true"> [data-eqcss-0-0]:before { display: inline; } </style><style id="data-eqcss-0-1" data-eqcss-read="true"> [data-eqcss-0-1]:before { display: inline; } </style><style id="data-eqcss-0-2" data-eqcss-read="true"> [data-eqcss-0-2]:before { display: inline; } </style><style id="data-eqcss-0-3" data-eqcss-read="true"> [data-eqcss-0-3]:before { display: inline; } </style><style id="data-eqcss-0-4" data-eqcss-read="true"> [data-eqcss-0-4]:before { display: inline; } </style><style id="data-eqcss-0-5" data-eqcss-read="true"> [data-eqcss-0-5]:before { display: inline; } </style><style id="data-eqcss-0-6" data-eqcss-read="true"> [data-eqcss-0-6]:before { display: inline; } </style><style id="data-eqcss-0-7" data-eqcss-read="true"> [data-eqcss-0-7]:before { display: inline; } </style><style id="data-eqcss-0-8" data-eqcss-read="true"> [data-eqcss-0-8]:before { display: inline; } </style><style id="data-eqcss-0-9" data-eqcss-read="true"> [data-eqcss-0-9]:before { display: inline; } </style><style id="data-eqcss-0-10" data-eqcss-read="true"> [data-eqcss-0-10]:before { display: inline; } </style><style id="data-eqcss-0-11" data-eqcss-read="true"> [data-eqcss-0-11]:before { display: inline; } </style><style id="data-eqcss-0-12" data-eqcss-read="true"> [data-eqcss-0-12]:before { display: inline; } </style><style id="data-eqcss-0-13" data-eqcss-read="true"> [data-eqcss-0-13]:before { display: inline; } </style><style id="data-eqcss-0-14" data-eqcss-read="true"> [data-eqcss-0-14]:before { display: inline; } </style><style id="data-eqcss-0-15" data-eqcss-read="true"> [data-eqcss-0-15]:before { display: inline; } </style><style id="data-eqcss-0-16" data-eqcss-read="true"> [data-eqcss-0-16]:before { display: inline; } </style><style id="data-eqcss-0-17" data-eqcss-read="true"> [data-eqcss-0-17]:before { display: inline; } </style><style id="data-eqcss-0-18" data-eqcss-read="true"> [data-eqcss-0-18]:before { display: inline; } </style><style id="data-eqcss-0-19" data-eqcss-read="true"> [data-eqcss-0-19]:before { display: inline; } </style><style id="data-eqcss-0-20" data-eqcss-read="true"> [data-eqcss-0-20]:before { display: inline; } </style><style id="data-eqcss-0-21" data-eqcss-read="true"> [data-eqcss-0-21]:before { display: inline; } </style><style id="data-eqcss-0-22" data-eqcss-read="true"> [data-eqcss-0-22]:before { display: inline; } </style><style id="data-eqcss-0-23" data-eqcss-read="true"> [data-eqcss-0-23]:before { display: inline; } </style><style id="data-eqcss-0-24" data-eqcss-read="true"> [data-eqcss-0-24]:before { display: inline; } </style><style id="data-eqcss-0-25" data-eqcss-read="true"> [data-eqcss-0-25]:before { display: inline; } </style><style id="data-eqcss-0-26" data-eqcss-read="true"> [data-eqcss-0-26]:before { display: inline; } </style><style id="data-eqcss-0-27" data-eqcss-read="true"> [data-eqcss-0-27]:before { display: inline; } </style><style id="data-eqcss-0-28" data-eqcss-read="true"> [data-eqcss-0-28]:before { display: inline; } </style><style id="data-eqcss-0-29" data-eqcss-read="true"> [data-eqcss-0-29]:before { display: inline; } </style><style id="data-eqcss-0-30" data-eqcss-read="true"> [data-eqcss-0-30]:before { display: inline; } </style><style id="data-eqcss-0-31" data-eqcss-read="true"> [data-eqcss-0-31]:before { display: inline; } </style><style id="data-eqcss-0-32" data-eqcss-read="true"> [data-eqcss-0-32]:before { display: inline; } </style><style id="data-eqcss-0-33" data-eqcss-read="true"> [data-eqcss-0-33]:before { display: inline; } </style><style id="data-eqcss-0-34" data-eqcss-read="true"> [data-eqcss-0-34]:before { display: inline; } </style><style id="data-eqcss-0-35" data-eqcss-read="true"> [data-eqcss-0-35]:before { display: inline; } </style><style id="data-eqcss-2-0" data-eqcss-read="true"> [data-eqcss-2-0] h1 { background: none; color: #333; font-size: 1.25em; } [data-eqcss-2-0] li { display: inline-block; width: 50%; } [data-eqcss-2-0] li + li { border-top: none; padding-top: auto; margin-top: auto; margin-left: -4px; } [data-eqcss-2-0] a { overflow: hidden; margin: 0.5em; border: 1px solid #333; box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.5); } [data-eqcss-2-0] a:after { display: block; content: ''; padding-top: 147.5095785%; } [data-eqcss-2-0] img { float: none; width: 100%; position: absolute; display: block; } [data-eqcss-2-0] a:hover img { -webkit-transform: scale(1.1); transform: scale(1.1); } [data-eqcss-2-0] div { float: none; width: 100%; position: absolute; bottom: 0; padding: 1.5em 1em; background: -webkit-linear-gradient(270deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); background: linear-gradient(180deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); } [data-eqcss-2-0] .winner div { background: -webkit-linear-gradient(270deg, rgba(193, 165, 32, 0.9), rgba(137, 100, 14, 0.9)); background: linear-gradient(180deg, rgba(193, 165, 32, 0.9), rgba(137, 100, 14, 0.9)); padding: 0.5em 1em 1.5em; } [data-eqcss-2-0] .winner div:before { content: '2015 Winner'; color: white; font-family: "Tauri", sans-serif; font-size: 0.675em; text-shadow: 0px -1px rgba(0, 0, 0, 0.3); text-transform: uppercase; display: block; text-align: center; letter-spacing: 0.25em; margin: 0 -1em 0.5em; } [data-eqcss-2-0] h2 { font-size: 1.125em; color: white; text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); } [data-eqcss-2-0] .winner h2 { font-weight: 700; color: white; text-shadow: 0 -1px #89640E; } [data-eqcss-2-0] p { color: white; text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); } [data-eqcss-2-0] p:before { color: #aaa; } [data-eqcss-2-0] .winner p { color: #312A05; text-shadow: 0 1px rgba(214, 188, 46, 0.4); } [data-best-picture] .winner p:before { color: #413806; } </style><style id="data-eqcss-3-0" data-eqcss-read="true"> [data-eqcss-3-0] h1 { font-size: 1.75em; } [data-eqcss-3-0] ol { margin: 1em; } [data-eqcss-3-0] li { width: 33.333%; } </style><style id="data-eqcss-4-0" data-eqcss-read="true"> [data-eqcss-4-0] h1 { font-size: 2.5em; } [data-eqcss-4-0] li { width: 25%; } </style></head> | |
<body translate="no" data-eqcss-2-0-parent="" data-eqcss-3-0-parent="" data-eqcss-4-0-parent=""> | |
<title data-eqcss-2-0-prev="" data-eqcss-3-0-prev="" data-eqcss-4-0-prev=""> | |
</title> | |
<section data-best-picture="" data-eqcss-2-0="" data-eqcss-3-0="" data-eqcss-4-0=""> | |
<h1> | |
Premium Live IPTV Cable TV<br>by<br>Future Ready Media | |
</h1> | |
<ol> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8458.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/VH1.jpg" alt="VH1"> | |
<div data-eqcss-0-0-parent=""> | |
<h2 data-eqcss-0-0-prev=""> | |
VH1 | |
</h2> | |
<p data-eqcss-0-0=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8454.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/VH1CL.jpg" alt="VH1 Classic"> | |
<div data-eqcss-0-1-parent=""> | |
<h2 data-eqcss-0-1-prev=""> | |
VH1 Classic | |
</h2> | |
<p data-eqcss-0-1=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8452.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/True.jpg" alt="True"> | |
<div data-eqcss-0-2-parent=""> | |
<h2 data-eqcss-0-2-prev=""> | |
TRUE TV | |
</h2> | |
<p data-eqcss-0-2=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8448.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/TRAV.jpg" alt="TRAV"> | |
<div data-eqcss-0-3-parent=""> | |
<h2 data-eqcss-0-3-prev=""> | |
Travel Channel | |
</h2> | |
<p data-eqcss-0-3=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8447.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/TLC.jpg" alt="TLC"> | |
<div data-eqcss-0-4-parent=""> | |
<h2 data-eqcss-0-4-prev=""> | |
TLC | |
</h2> | |
<p data-eqcss-0-4=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8444.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/TCM.jpg" alt="TCM"> | |
<div data-eqcss-0-5-parent=""> | |
<h2 data-eqcss-0-5-prev=""> | |
TCM | |
</h2> | |
<p data-eqcss-0-5=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8443.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/SCIFI.jpg" alt="SCIFI"> | |
<div data-eqcss-0-6-parent=""> | |
<h2 data-eqcss-0-6-prev=""> | |
SyFy | |
</h2> | |
<p data-eqcss-0-6=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8442.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/SPIKETV.jpg" alt="SPIKETV"> | |
<div data-eqcss-0-7-parent=""> | |
<h2 data-eqcss-0-7-prev=""> | |
Spike | |
</h2> | |
<p data-eqcss-0-7=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8441.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/sony_movie_channel-logo.png" alt="logo"> | |
<div data-eqcss-0-8-parent=""> | |
<h2 data-eqcss-0-8-prev=""> | |
Sony Movies | |
</h2> | |
<p data-eqcss-0-8=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8416.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/DISN.jpg" alt="DISN"> | |
<div data-eqcss-0-9-parent=""> | |
<h2 data-eqcss-0-9-prev=""> | |
Sky Disney | |
</h2> | |
<p data-eqcss-0-9=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8397.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/NIK.jpg" alt="NIK"> | |
<div data-eqcss-0-10-parent=""> | |
<h2 data-eqcss-0-10-prev=""> | |
Nickelodeon | |
</h2> | |
<p data-eqcss-0-10=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8396.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/nickjr.jpg" alt="nickjr"> | |
<div data-eqcss-0-11-parent=""> | |
<h2 data-eqcss-0-11-prev=""> | |
Nick Junior | |
</h2> | |
<p data-eqcss-0-11=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8394.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/NatGeowild.jpg" alt="NatGeowild"> | |
<div data-eqcss-0-12-parent=""> | |
<h2 data-eqcss-0-12-prev=""> | |
NAT GEO WILD | |
</h2> | |
<p data-eqcss-0-12=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8395.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/NGC.jpg" alt="NGC"> | |
<div data-eqcss-0-13-parent=""> | |
<h2 data-eqcss-0-13-prev=""> | |
National Geographic | |
</h2> | |
<p data-eqcss-0-13=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8392.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/MTV2.jpg" alt="MTV2"> | |
<div data-eqcss-0-14-parent=""> | |
<h2 data-eqcss-0-14-prev=""> | |
MTV Rocks | |
</h2> | |
<p data-eqcss-0-14=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8391.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/MTV.jpg" alt="MTV"> | |
<div data-eqcss-0-15-parent=""> | |
<h2 data-eqcss-0-15-prev=""> | |
MTV Music | |
</h2> | |
<p data-eqcss-0-15=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8393.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/MTVHTZ.jpg" alt="MTVHTZ"> | |
<div data-eqcss-0-16-parent=""> | |
<h2 data-eqcss-0-16-prev=""> | |
MTV Hits | |
</h2> | |
<p data-eqcss-0-16=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8377.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/ID.jpg" alt="ID"> | |
<div data-eqcss-0-17-parent=""> | |
<h2 data-eqcss-0-17-prev=""> | |
Investigation Discovery | |
</h2> | |
<p data-eqcss-0-17=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8372.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/FNC.jpg" alt="FNC"> | |
<div data-eqcss-0-18-parent=""> | |
<h2 data-eqcss-0-18-prev=""> | |
Fox News | |
</h2> | |
<p data-eqcss-0-18=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://painel.soeu.ws:8000/live/pedro/pedro/1318.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/FOX.jpg" alt="FOX"> | |
<div data-eqcss-0-19-parent=""> | |
<h2 data-eqcss-0-19-prev=""> | |
Fox | |
</h2> | |
<p data-eqcss-0-19=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://painel.soeu.ws:8000/live/pedro/pedro/1319.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/FOOD.jpg" alt="FOOD"> | |
<div data-eqcss-0-20-parent=""> | |
<h2 data-eqcss-0-20-prev=""> | |
Food Network | |
</h2> | |
<p data-eqcss-0-20=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8356.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/DSC.jpg" alt="DSC"> | |
<div data-eqcss-0-21-parent=""> | |
<h2 data-eqcss-0-21-prev=""> | |
Discovery | |
</h2> | |
<p data-eqcss-0-21=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8354.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/COMEDY.jpg" alt="COMEDY"> | |
<div data-eqcss-0-22-parent=""> | |
<h2 data-eqcss-0-22-prev=""> | |
Comedy Central | |
</h2> | |
<p data-eqcss-0-22=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8345.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/cbsreality.png" alt=""> | |
<div data-eqcss-0-23-parent=""> | |
<h2 data-eqcss-0-23-prev=""> | |
CBS REALITY | |
</h2> | |
<p data-eqcss-0-23=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8344.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/CBSDrama.jpg" alt="CBSDrama> | |
<div> | |
<h2> | |
CBS DRAMA | |
</h2> | |
<p> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href=" "http:="" rts-tv-service.webhop.biz:7664="" live="" michele="" rheinheim="" 1715.m3u8"=""><img src="https://s3.amazonaws.com/tvchannelicons/BBC_One_logo.svg.png" alt="svg"> | |
<div data-eqcss-0-24-parent=""> | |
<h2 data-eqcss-0-24-prev=""> | |
BBC 1 | |
</h2> | |
<p data-eqcss-0-24=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://rts-tv-service.webhop.biz:7664/live/michele/rheinheim/1714.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/BBC2W_logo.png" alt="BBC2W"> | |
<div data-eqcss-0-25-parent=""> | |
<h2 data-eqcss-0-25-prev=""> | |
BBC 2 | |
</h2> | |
<p data-eqcss-0-25=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://rts-tv-service.webhop.biz:7664/live/michele/rheinheim/1713.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/BBC_Three_HD.svg.png" alt="svg"> | |
<div data-eqcss-0-26-parent=""> | |
<h2 data-eqcss-0-26-prev=""> | |
BBC 3 | |
</h2> | |
<p data-eqcss-0-26=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://rts-tv-service.webhop.biz:7664/live/michele/rheinheim/1712.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/BBC_Four_HD_Logo.svg.png" alt="svg"> | |
<div data-eqcss-0-27-parent=""> | |
<h2 data-eqcss-0-27-prev=""> | |
BBC 4 | |
</h2> | |
<p data-eqcss-0-27=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8353.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/CNNFN.jpg" alt="CNNFN"> | |
<div data-eqcss-0-28-parent=""> | |
<h2 data-eqcss-0-28-prev=""> | |
CNN | |
</h2> | |
<p data-eqcss-0-28=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8352.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/CNN.jpg" alt="CNN"> | |
<div data-eqcss-0-29-parent=""> | |
<h2 data-eqcss-0-29-prev=""> | |
CNN News | |
</h2> | |
<p data-eqcss-0-29=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8366.m3u8"><img src="http://s3.amazonaws.com/tvchannelicons/E!.jpg" alt="E!"> | |
<div data-eqcss-0-30-parent=""> | |
<h2 data-eqcss-0-30-prev=""> | |
E! | |
</h2> | |
<p data-eqcss-0-30=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8334.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/BLOOM.jpg" alt="BLOOM"> | |
<div data-eqcss-0-31-parent=""> | |
<h2 data-eqcss-0-31-prev=""> | |
Bloomberg | |
</h2> | |
<p data-eqcss-0-31=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8335.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/Boomerang_2014_logo.svg.png" alt="svg"> | |
<div data-eqcss-0-32-parent=""> | |
<h2 data-eqcss-0-32-prev=""> | |
BOOMERANG | |
</h2> | |
<p data-eqcss-0-32=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8342.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/CRTNTWK.jpg" alt="CRTNTWK"> | |
<div data-eqcss-0-33-parent=""> | |
<h2 data-eqcss-0-33-prev=""> | |
Cartoon Network | |
</h2> | |
<p data-eqcss-0-33=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8327.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/ANIMAL.jpg" alt="ANIMAL"> | |
<div data-eqcss-0-34-parent=""> | |
<h2 data-eqcss-0-34-prev=""> | |
Animal Planet | |
</h2> | |
<p data-eqcss-0-34=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8343.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/cbsaction.jpg" alt="cbsaction"> | |
<div data-eqcss-0-35-parent=""> | |
<h2 data-eqcss-0-35-prev=""> | |
CBS Action | |
</h2> | |
<p data-eqcss-0-35=""> | |
</p> | |
</div></a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8688.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/BET.jpg" alt=""> | |
<div data-eqcss-0-36-parent=""> | |
<h2 data-eqcss-0-36-prev=""> | |
BET | |
</h2> | |
<p data-eqcss-0-36=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8680.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/AMC.jpg" alt="AMC"> | |
<div data-eqcss-0-38-parent=""> | |
<h2 data-eqcss-0-38-prev=""> | |
AMC HD | |
</h2> | |
<p data-eqcss-0-38=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8615.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/HBO.jpg" alt="HBO"> | |
<div data-eqcss-0-39-parent=""> | |
<h2 data-eqcss-0-39-prev=""> | |
HBO | |
</h2> | |
<p data-eqcss-0-39=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8616.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/HBO2W.jpg" alt="HBO2"> | |
<div data-eqcss-0-40-parent=""> | |
<h2 data-eqcss-0-40-prev=""> | |
HBO2 | |
</h2> | |
<p data-eqcss-0-40=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8615.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/HBOCP.jpg" alt="COMEDY"> | |
<div data-eqcss-0-41-parent=""> | |
<h2 data-eqcss-0-41-prev=""> | |
HBO COMEDY | |
</h2> | |
<p data-eqcss-0-41=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8532.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/GOLF.jpg" alt="GOLF"> | |
<div data-eqcss-0-42-parent=""> | |
<h2 data-eqcss0-42-prev=""> | |
NBC GOLF HD | |
</h2> | |
<p data-eqcss-0-42=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8516.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/TBS.jpg" alt=""> | |
<div data-eqcss-0-43-parent=""> | |
<h2 data-eqcss-0-43-prev=""> | |
TBS | |
</h2> | |
<p data-eqcss-0-43=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8517.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/TBS.jpg" alt="TRUTV"> | |
<div data-eqcss-0-44-parent=""> | |
<h2 data-eqcss-0-44-prev=""> | |
Tru HD | |
</h2> | |
<p data-eqcss-0-44=""> | |
</p> | |
</div> | |
</a> | |
</li> | |
<li> | |
<a href="http://89.163.148.31:8000/live/claire/claire/8464.m3u8"><img src="https://s3.amazonaws.com/tvchannelicons/CINDEM.jpg" alt="CINEMAX"> | |
<div data-eqcss-0-43-parent=""> | |
<h2 data-eqcss-0-43-prev=""> | |
CINEMAX | |
</h2> | |
<p data-eqcss-0-43=""> | |
</p> | |
</div> | |
</a></li> | |
</ol> | |
</section><script language="JavaScript" data-eqcss-2-0-next="" data-eqcss-3-0-next="" data-eqcss-4-0-next=""> | |
<!-- | |
//Disable right mouse click Script | |
//By Maximus (maximus@nsimail.com) w/ mods by DynamicDrive | |
//For full source code, visit http://www.dynamicdrive.com | |
var message="Function Disabled!"; | |
/////////////////////////////////// | |
function clickIE4(){ | |
if (event.button==2){ | |
alert(message); | |
return false; | |
} | |
} | |
function clickNS4(e){ | |
if (document.layers||document.getElementById&&!document.all){ | |
if (e.which==2||e.which==3){ | |
alert(message); | |
return false; | |
} | |
} | |
} | |
if (document.layers){ | |
document.captureEvents(Event.MOUSEDOWN); | |
document.onmousedown=clickNS4; | |
} | |
else if (document.all&&!document.getElementById){ | |
document.onmousedown=clickIE4; | |
} | |
document.oncontextmenu=new Function("alert(message);return false") | |
// --> | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var Main = {}; | |
//called when application was loaded | |
Main.onLoad = function () { | |
console.log("Main.onLoad()"); | |
//enabling media keys | |
Main.enableMediaKeys(); | |
// setup handler to key events | |
Main.handleKeyDownEvents(); | |
// setup video player | |
Player.init("player"); | |
Player.prepare("http://yourvideourl.mp4"); // <-- set video URL here! | |
} | |
// called when application has closed | |
Main.onUnload = function () { | |
console.log("Main.onUnload()"); | |
} | |
// enabling media keys | |
Main.enableMediaKeys = function () { | |
console.log("Main.enableMediaKeys()"); | |
tizen.tvinputdevice.registerKey("MediaPlayPause"); | |
tizen.tvinputdevice.registerKey("MediaPlay"); | |
tizen.tvinputdevice.registerKey("MediaStop"); | |
tizen.tvinputdevice.registerKey("MediaPause"); | |
tizen.tvinputdevice.registerKey("MediaRewind"); | |
tizen.tvinputdevice.registerKey("MediaFastForward"); | |
} | |
// handle all keydown events triggered through remote control. | |
Main.handleKeyDownEvents = function () { | |
// add eventListener for keydown | |
document.addEventListener('keydown', function(e) { | |
switch(e.keyCode){ | |
case tvKey.LEFT: //LEFT arrow | |
console.log("LEFT"); | |
break; | |
case tvKey.UP: //UP arrow | |
console.log("UP"); | |
break; | |
case tvKey.RIGHT: //RIGHT arrow | |
console.log("RIGHT"); | |
break; | |
case tvKey.DOWN: //DOWN arrow | |
console.log("DOWN"); | |
break; | |
case tvKey.ENTER: //OK button | |
console.log("OK"); | |
Player.setDisplayArea(0, 0, 1920, 1080); | |
break; | |
case tvKey.RETURN: //RETURN button | |
console.log("RETURN"); | |
Player.setDisplayArea(0, 0, 960, 540); | |
break; | |
case tvKey.PLAYPAUSE: // PLAYPAUSE button | |
console.log("PLAYPAUSE"); | |
if (Player.state == Player.STATES.PLAYING) { | |
Player.pause(); | |
} else { | |
Player.play(); | |
} | |
break; | |
case tvKey.PLAY: // PLAY button | |
console.log("PLAY"); | |
Player.play(); | |
break; | |
case tvKey.PAUSE: // PAUSE button | |
console.log("PAUSE"); | |
Player.pause(); | |
break; | |
default: | |
console.log("Key code : " + e.keyCode); | |
break; | |
} | |
}); | |
} | |
// binding some events | |
window.onload = Main.onLoad; | |
window.onunload = Main.onUnload; | |
/*********************************************** Player *************************************************/ | |
(function(){ | |
var Player = { | |
videoElem: null, // tag video | |
STATES: { | |
STOPPED: 0, | |
PLAYING: 1, | |
PAUSED: 2, | |
PREPARED: 4 | |
}, | |
state: 0 // initial state: STOPPED | |
}; | |
// Initialize player | |
Player.init = function (id) { | |
console.log("Player.init("+id+")"); | |
this.state = this.STATES.STOPPED; | |
if (!this.videoElem && id) { | |
this.videoElem = document.getElementById(id); | |
} | |
Player.setupEventListeners(); | |
} | |
// Load video. | |
Player.prepare = function (url) { | |
console.log("Player.prepare("+url+")"); | |
if (this.state > this.STATES.STOPPED) { | |
return; | |
} | |
if (!this.videoElem) { | |
return 0; | |
} | |
this.videoElem.src = url; | |
this.videoElem.load(); | |
} | |
// Play video | |
Player.play = function (url) { | |
console.log("Player.play("+url+")"); | |
if (this.state < this.STATES.PAUSED) { | |
return; | |
} | |
this.state = this.STATES.PLAYING; | |
if (url) { | |
this.videoElem.src = url; | |
} | |
this.videoElem.play(); | |
} | |
// Pause video | |
Player.pause = function () { | |
console.log("Player.pause()"); | |
if (this.state != this.STATES.PLAYING) { | |
return; | |
} | |
this.state = this.STATES.PAUSED; | |
this.videoElem.pause(); | |
} | |
// Stop video | |
Player.stop = function () { | |
console.log("Player.stop()"); | |
this.state = this.STATES.STOPPED; | |
if (this.videoElem.readyState > 0) { | |
this.videoElem.src = ""; | |
} | |
} | |
// Set position and dimension of video area | |
Player.setDisplayArea = function (x, y, width, height) { | |
if (!this.videoElem) { | |
return 0; | |
} | |
this.videoElem.style.top = x + "px"; | |
this.videoElem.style.top = y + "px"; | |
this.videoElem.style.width = width + "px"; | |
this.videoElem.style.height = height + "px"; | |
} | |
// format time in seconds to hh:mm:ss | |
Player.formatTime = function (seconds) { | |
var hh = Math.floor(seconds / 3600), | |
mm = Math.floor(seconds / 60) % 60, | |
ss = Math.floor(seconds) % 60; | |
return (hh ? (hh < 10 ? "0" : "") + hh + ":" : "") + | |
((mm < 10) ? "0" : "") + mm + ":" + | |
((ss < 10) ? "0" : "") + ss; | |
} | |
// Setup Listeners for video player events | |
Player.setupEventListeners = function () { | |
if (!this.videoElem) { | |
return 0; | |
} | |
var that = this; | |
// triggered when video metadata was loaded, i.e. duration dimensions etc | |
this.videoElem.addEventListener('loadedmetadata', function() { | |
console.log("Video metadata info was loaded"); | |
that.state = that.STATES.PREPARED; | |
document.getElementById("total-time").innerHTML = that.formatTime(that.videoElem.duration); | |
}, false); | |
// triggered when video has ended. | |
this.videoElem.addEventListener('ended', function() { | |
console.log("Video ended"); | |
that.state = that.STATES.PREPARED; | |
}, false); | |
// triggered when playing has changed | |
this.videoElem.addEventListener('timeupdate', function () { | |
var duration = that.videoElem.duration; | |
if (duration > 0) { | |
document.getElementById('progress-amount').style.width = ((that.videoElem.currentTime / duration)*100) + "%"; | |
document.getElementById("current-time").innerHTML = that.formatTime(that.videoElem.currentTime); | |
} | |
}, false); | |
// triggered when the browser is in the process of getting the media data | |
this.videoElem.addEventListener('progress', function () { | |
console.log("Buffering..."); | |
}, false); | |
// triggered when a file is ready to start playing (when it has buffered enough to begin) | |
this.videoElem.addEventListener('canplay', function () { | |
console.log('Buffering Complete, Can play now!'); | |
}, false); | |
// triggered when some error during video happens | |
this.videoElem.addEventListener('error', function(e) { | |
console.log("Some error had happened: " + e); | |
}, false); | |
} | |
if (!window.Player) { | |
window.Player = Player; | |
} | |
})(); | |
(function () { | |
var tvKey = { | |
N1: 49, | |
N2: 50, | |
N3: 51, | |
N4: 52, | |
N5: 53, | |
N6: 54, | |
N7: 55, | |
N8: 56, | |
N9: 57, | |
N0: 48, | |
PRECH: 10190, | |
VOL_UP: 448, | |
VOL_DOWN: 447, | |
MUTE: 449, | |
CH_UP: 427, | |
CH_DOWN: 428, | |
TOOLS: 10135, | |
ENTER: 13, | |
RETURN: 10009, | |
INFO: 457, | |
EXIT: 10182, | |
UP: 38, | |
DOWN: 40, | |
LEFT: 37, | |
RIGHT: 39, | |
RED: 403, | |
GREEN: 404, | |
YELLOW: 405, | |
BLUE: 406, | |
RW: 412, | |
PAUSE: 19, | |
FF: 417, | |
REC: 416, | |
PLAY: 415, | |
STOP: 413, | |
PLAYPAUSE: 10252 | |
}; | |
// tvkey | |
window.tvKey = tvKey; | |
})(); | |
function onStart() { | |
sf.core.loadCSS([ | |
"app/stylesheets/file1.css", | |
"app/stylesheets/file2.css" | |
], function () { | |
// callback on file loading | |
}); | |
} | |
/* | |
* EQCSS / Tommy Hodgins, Maxime Euzière / MIT licence | |
* github.com/eqcss/eqcss | |
* elementqueries.com | |
* version 1.2.2 | |
*/ | |
EQCSS = { | |
data: [] | |
}; | |
/* | |
* EQCSS.load() | |
* Called automatically on page load. | |
* Call it manually after adding EQCSS code in the page. | |
* Loads and parses all the EQCSS code. | |
*/ | |
EQCSS.load = function() { | |
// Retrieve all style blocks | |
var styles = document.querySelectorAll("style"); | |
for (var i = 0; i < styles.length; i++) { | |
// Test if the style is not read yet | |
if (styles[i].getAttribute("data-eqcss-read") === null) { | |
// Mark the style block as read | |
styles[i].setAttribute("data-eqcss-read", "true"); | |
// Process | |
EQCSS.parse(styles[i].innerHTML); | |
EQCSS.apply(); | |
} | |
} | |
// Retrieve all script blocks | |
styles = document.querySelectorAll("script"); | |
for (var i = 0; styles.length; i++) { | |
// Test if the script is not read yet and has type="text/eqcss" | |
if (styles[i].getAttribute("data-eqcss-read") === null && styles[i].getAttribute("type") === "text/eqcss") { | |
// Test if they contain external EQCSS code | |
if (styles[i].src) { | |
// retrieve the file content with AJAX and process it | |
(function() { | |
var xhr = new XMLHttpRequest; | |
xhr.open("GET", styles[i].src, true); | |
xhr.send(null); | |
xhr.onload = function() { | |
EQCSS.parse(xhr.responseText); | |
EQCSS.apply(); | |
}; | |
})(); | |
} | |
// or embedded EQCSS code | |
else { | |
// Process | |
EQCSS.parse(styles[i].innerHTML); | |
EQCSS.apply(); | |
} | |
// Mark the script block as read | |
styles[i].setAttribute("data-eqcss-read", "true"); | |
} | |
} | |
// Retrieve all link tags | |
styles = document.querySelectorAll("link"); | |
for (i = 0; i < styles.length; i++) { | |
// Test if the link is not read yet, and has rel=stylesheet | |
if (styles[i].getAttribute("data-eqcss-read") === null && styles[i].getAttribute("rel") == "stylesheet") { | |
// retrieve the file content with AJAX and process it | |
if (styles[i].href) { | |
(function() { | |
var xhr = new XMLHttpRequest; | |
xhr.open("GET", styles[i].href, true); | |
xhr.send(null); | |
xhr.onload = function() { | |
EQCSS.parse(xhr.responseText); | |
EQCSS.apply(); | |
} | |
})(); | |
}; | |
// Mark the link as read | |
styles[i].setAttribute("data-eqcss-read", "true"); | |
} | |
} | |
}; | |
/* | |
* EQCSS.parse() | |
* Called by load for each script / style / link resource. | |
* Generates data for each Element Query found | |
*/ | |
EQCSS.parse = function(code) { | |
// Cleanup | |
code = code.replace(/\s+/g, " "); // reduce spaces and line breaks | |
code = code.replace(/\/\*[\w\W]*?\*\//g, ""); // remove comments | |
code = code.replace(/@element/g, "\n@element"); // one element query per line | |
code = code.replace(/(@element.*?\{([^}]*?\{[^}]*?\}[^}]*?)*\}).*/g, "$1"); // Keep the queries only (discard regular css written around them) | |
// Parse | |
// For each query | |
code.replace(/(@element.*(?!@element))/g, function(string, query) { | |
// Create a data entry | |
dataEntry = {}; | |
// Extract the selector | |
query.replace(/@element ?["']([^"']*)["']/g, function(string, selector) { | |
dataEntry.selector = selector; | |
}); | |
// Extract the conditions (measure, value, unit) | |
dataEntry.conditions = []; | |
query.replace(/and ?\( ?([^:]*) ?: ?([^)]*) ?\)/g, function(string, measure, value) { | |
// Separate value and unit if it's possible | |
var unit = null; | |
unit = value.replace(/^(\d*\.?\d+)(\D+)$/, "$2"); | |
if (unit == value) { | |
unit = null; | |
} | |
value = value.replace(/^(\d*\.?\d+)\D+$/, "$1"); | |
dataEntry.conditions.push({ | |
measure: measure, | |
value: value, | |
unit: unit | |
}); | |
}); | |
// Extract the styles | |
query.replace(/{(.*)}/g, function(string, style) { | |
dataEntry.style = style; | |
}); | |
// Add it to data | |
EQCSS.data.push(dataEntry); | |
}); | |
}; | |
/* | |
* EQCSS.apply() | |
* Called on load, on resize and manually on DOM update | |
* Enable the Element Queries in which the conditions are true | |
*/ | |
EQCSS.apply = function() { | |
var i, j, k; // Iterators | |
var elements; // Elements targeted by each query | |
var element_guid; // GUID for current element | |
var css_block; // CSS block corresponding to each targeted element | |
var element_guid_parent; // GUID for current element's parent | |
var css_code; // CSS code to write in each CSS block (one per targeted element) | |
var element_width, parent_width; // Computed widths | |
var element_height, parent_height; // Computed heights | |
var element_line_height; // Computed line-height | |
var test; // Query's condition test result | |
var computed_style; // Each targeted element's computed style | |
var parent_computed_style; // Each targeted element parent's computed style | |
// Loop on all element queries | |
for (i = 0; i < EQCSS.data.length; i++) { | |
// Find all the elements targeted by the query | |
elements = document.querySelectorAll(EQCSS.data[i].selector); | |
// Loop on all the elements | |
for (j = 0; j < elements.length; j++) { | |
// Create a guid for this element | |
// Pattern: "EQCSS_{element-query-index}_{matched-element-index}" | |
element_guid = "data-eqcss-" + i + "-" + j; | |
// Add this guid as an attribute to the element | |
elements[j].setAttribute(element_guid, ""); | |
// Create a guid for the parent of this element | |
// Pattern: "EQCSS_{element-query-index}_{matched-element-index}_parent" | |
element_guid_parent = "data-eqcss-" + i + "-" + j + "-parent"; | |
// Add this guid as an attribute to the element's parent (except if element is the root element) | |
if (elements[j] != document.documentElement) { | |
elements[j].parentNode.setAttribute(element_guid_parent, ""); | |
} | |
// Create a guid for the prev sibling of this element | |
// Pattern: "EQCSS_{element-query-index}_{matched-element-index}_prev" | |
element_guid_prev = "data-eqcss-" + i + "-" + j + "-prev"; | |
// Add this guid as an attribute to the element's prev sibling | |
if (elements[j].previousElementSibling) { | |
elements[j].previousElementSibling.setAttribute(element_guid_prev, ""); | |
} | |
// Create a guid for the next sibling of this element | |
// Pattern: "EQCSS_{element-query-index}_{matched-element-index}_next" | |
element_guid_next = "data-eqcss-" + i + "-" + j + "-next"; | |
// Add this guid as an attribute to the element's next sibling | |
if (elements[j].nextElementSibling) { | |
elements[j].nextElementSibling.setAttribute(element_guid_next, ""); | |
} | |
// Get the CSS block associated to this element (or create one in the <HEAD> if it doesn't exist) | |
css_block = document.querySelector("#" + element_guid); | |
if (!css_block) { | |
css_block = document.createElement("STYLE"); | |
css_block.id = element_guid; | |
css_block.setAttribute("data-eqcss-read", "true"); | |
document.querySelector("head").appendChild(css_block); | |
} | |
css_block = document.querySelector("#" + element_guid); | |
// Reset the query test's result (first, we assume that the selector is matched) | |
test = true; | |
// Loop on the conditions | |
test_conditions: for (k = 0; k < EQCSS.data[i].conditions.length; k++) { | |
// Reuse element and parent's computed style instead of computing it everywhere | |
computed_style = window.getComputedStyle(elements[j], null); | |
parent_computed_style = null; | |
if (elements[j] != document.documentElement) { | |
parent_computed_style = window.getComputedStyle(elements[j].parentNode, null); | |
} | |
// Do we have to reconvert the size in px at each call? | |
// This is true only for vw/vh/vmin/vmax | |
var recomputed = false; | |
// If the condition's unit is vw, convert current value in vw, in px | |
if (EQCSS.data[i].conditions[k].unit === "vw") { | |
recomputed = true; | |
var value = parseInt(EQCSS.data[i].conditions[k].value); | |
EQCSS.data[i].conditions[k].recomputed_value = value * window.innerWidth / 100; | |
} | |
// If the condition's unit is vh, convert current value in vh, in px | |
else if (EQCSS.data[i].conditions[k].unit === "vh") { | |
recomputed = true | |
var value = parseInt(EQCSS.data[i].conditions[k].value); | |
EQCSS.data[i].conditions[k].recomputed_value = value * window.innerHeight / 100; | |
} | |
// If the condition's unit is vmin, convert current value in vmin, in px | |
else if (EQCSS.data[i].conditions[k].unit === "vmin") { | |
recomputed = true; | |
var value = parseInt(EQCSS.data[i].conditions[k].value); | |
EQCSS.data[i].conditions[k].recomputed_value = value * Math.min(window.innerWidth, window.innerHeight) / 100; | |
} | |
// If the condition's unit is vmax, convert current value in vmax, in px | |
else if (EQCSS.data[i].conditions[k].unit === "vmax") { | |
recomputed = true; | |
var value = parseInt(EQCSS.data[i].conditions[k].value); | |
EQCSS.data[i].conditions[k].recomputed_value = value * Math.max(window.innerWidth, window.innerHeight) / 100; | |
} | |
// If the condition's unit is set and is not px or %, convert it into pixels | |
else if (EQCSS.data[i].conditions[k].unit != null && EQCSS.data[i].conditions[k].unit != "px" && EQCSS.data[i].conditions[k].unit != "%") { | |
// Create a hidden DIV, sibling of the current element (or its child, if the element is <html>) | |
// Set the given measure and unit to the DIV's width | |
// Measure the DIV's width in px | |
// Remove the DIV | |
var div = document.createElement('DIV'); | |
div.style.visibility = 'hidden'; | |
div.style.border = '1px solid red'; | |
div.style.width = EQCSS.data[i].conditions[k].value + EQCSS.data[i].conditions[k].unit; | |
var position = elements[j]; | |
if (elements[j] != document.documentElement) { | |
position = elements[j].parentNode; | |
} | |
position.appendChild(div); | |
EQCSS.data[i].conditions[k].value = parseInt(window.getComputedStyle(div, null).getPropertyValue('width')); | |
EQCSS.data[i].conditions[k].unit = "px"; | |
position.removeChild(div); | |
} | |
// Store the good value in final_value depending if the size is recomputed or not | |
var final_value = recomputed ? EQCSS.data[i].conditions[k].recomputed_value : parseInt(EQCSS.data[i].conditions[k].value); | |
// Check each condition for this query and this element | |
// If at least one condition is false, the element selector is not matched | |
switch (EQCSS.data[i].conditions[k].measure) { | |
// Min-width | |
case "min-width": | |
// Min-width in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
element_width = parseInt(computed_style.getPropertyValue("width")); | |
if (!(element_width >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Min-width in % | |
if (EQCSS.data[i].conditions[k].unit == "%") { | |
element_width = parseInt(computed_style.getPropertyValue("width")); | |
parent_width = parseInt(parent_computed_style.getPropertyValue("width")); | |
if (!(parent_width / element_width <= 100 / final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Max-width | |
case "max-width": | |
// Max-width in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
element_width = parseInt(computed_style.getPropertyValue("width")); | |
if (!(element_width <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Max-width in % | |
if (EQCSS.data[i].conditions[k].unit == "%") { | |
element_width = parseInt(computed_style.getPropertyValue("width")); | |
parent_width = parseInt(parent_computed_style.getPropertyValue("width")); | |
if (!(parent_width / element_width >= 100 / final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Min-height | |
case "min-height": | |
// Min-height in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
element_width = parseInt(computed_style.getPropertyValue("height")); | |
if (!(element_width >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Min-height in % | |
if (EQCSS.data[i].conditions[k].unit == "%") { | |
element_width = parseInt(computed_style.getPropertyValue("height")); | |
parent_width = parseInt(parent_computed_style.getPropertyValue("height")); | |
if (!(parent_width / element_width <= 100 / final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Max-height | |
case "max-height": | |
// Max-height in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
element_height = parseInt(computed_style.getPropertyValue("height")); | |
if (!(element_height <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Max-height in % | |
if (EQCSS.data[i].conditions[k].unit == "%") { | |
element_height = parseInt(computed_style.getPropertyValue("height")); | |
parent_height = parseInt(parent_computed_style.getPropertyValue("height")); | |
if (!(parent_height / element_height >= 100 / final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Min-scroll-x | |
case "min-scroll-x": | |
var element = elements[j]; | |
var element_scroll = element.scrollLeft; | |
if (!element.hasScrollListener) { | |
if (element == document.documentElement || element == document.body) { | |
window.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} else { | |
element.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} | |
} | |
// Min-scroll-x in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
if (!(element_scroll >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Min-scroll-x in % | |
else if (EQCSS.data[i].conditions[k].unit == "%") { | |
var element_scroll_size = elements[j].scrollWidth; | |
var element_size; | |
if (elements[j] == document.documentElement || elements[j] == document.body) { | |
element_size = window.innerWidth; | |
} else { | |
element_size = parseInt(computed_style.getPropertyValue("width")); | |
} | |
if (!((element_scroll / (element_scroll_size - element_size)) * 100 >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Min-scroll-y | |
case "min-scroll-y": | |
var element = elements[j]; | |
element_scroll = elements[j].scrollTop; | |
if (!element.hasScrollListener) { | |
if (element == document.documentElement || element == document.body) { | |
window.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} else { | |
element.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} | |
} | |
// Min-scroll-y in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
if (!(element_scroll >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Min-scroll-y in % | |
else if (EQCSS.data[i].conditions[k].unit == "%") { | |
var element_scroll_size = elements[j].scrollHeight; | |
var element_size; | |
if (elements[j] == document.documentElement || elements[j] == document.body) { | |
element_size = window.innerHeight; | |
} else { | |
element_size = parseInt(computed_style.getPropertyValue("height")); | |
} | |
if (!((element_scroll / (element_scroll_size - element_size)) * 100 >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Max-scroll-x | |
case "max-scroll-x": | |
var element = elements[j]; | |
element_scroll = elements[j].scrollLeft; | |
if (!element.hasScrollListener) { | |
if (element == document.documentElement || element == document.body) { | |
window.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} else { | |
element.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} | |
} | |
// Max-scroll-x in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
if (!(element_scroll <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Max-scroll-x in % | |
else if (EQCSS.data[i].conditions[k].unit == "%") { | |
var element_scroll_size = elements[j].scrollWidth; | |
var element_size; | |
if (elements[j] == document.documentElement || elements[j] == document.body) { | |
element_size = window.innerWidth; | |
} else { | |
element_size = parseInt(computed_style.getPropertyValue("width")); | |
} | |
if (!((element_scroll / (element_scroll_size - element_size)) * 100 <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Max-scroll-y | |
case "max-scroll-y": | |
var element = elements[j]; | |
element_scroll = elements[j].scrollTop; | |
if (!element.hasScrollListener) { | |
if (element == document.documentElement || element == document.body) { | |
window.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} else { | |
element.addEventListener("scroll", function() { | |
EQCSS.throttle(); | |
element.hasScrollListener = true; | |
}) | |
} | |
} | |
// Max-scroll-y in px | |
if (recomputed == true || EQCSS.data[i].conditions[k].unit == "px") { | |
if (!(element_scroll <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// Max-scroll-y in % | |
else if (EQCSS.data[i].conditions[k].unit == "%") { | |
var element_scroll_size = elements[j].scrollHeight; | |
var element_size; | |
if (elements[j] == document.documentElement || elements[j] == document.body) { | |
element_size = window.innerHeight; | |
} else { | |
element_size = parseInt(computed_style.getPropertyValue("height")); | |
} | |
if (!((element_scroll / (element_scroll_size - element_size)) * 100 <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Min-characters | |
case "min-characters": | |
// form inputs | |
if (elements[j].value) { | |
if (!(elements[j].value.length >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// blocks | |
else { | |
if (!(elements[j].textContent.length >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Max-characters | |
case "max-characters": | |
// form inputs | |
if (elements[j].value) { | |
if (!(elements[j].value.length <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
// blocks | |
else { | |
if (!(elements[j].textContent.length <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
} | |
break; | |
// Min-children | |
case "min-children": | |
if (!(elements[j].children.length >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
break; | |
// Max-children | |
case "max-children": | |
if (!(elements[j].children.length <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
break; | |
// Min-lines | |
case "min-lines": | |
element_height = | |
parseInt(computed_style.getPropertyValue("height")) - | |
parseInt(computed_style.getPropertyValue("border-top-width")) - | |
parseInt(computed_style.getPropertyValue("border-bottom-width")) - | |
parseInt(computed_style.getPropertyValue("padding-top")) - | |
parseInt(computed_style.getPropertyValue("padding-bottom")) | |
element_line_height = parseInt(computed_style.getPropertyValue("line-height")); | |
if (!(element_height / element_line_height >= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
break; | |
// Max-lines | |
case "max-lines": | |
element_height = | |
parseInt(computed_style.getPropertyValue("height")) - | |
parseInt(computed_style.getPropertyValue("border-top-width")) - | |
parseInt(computed_style.getPropertyValue("border-bottom-width")) - | |
parseInt(computed_style.getPropertyValue("padding-top")) - | |
parseInt(computed_style.getPropertyValue("padding-bottom")) | |
element_line_height = parseInt(computed_style.getPropertyValue("line-height")); | |
if (!(element_height / element_line_height + 1 <= final_value)) { | |
test = false; | |
break test_conditions; | |
} | |
break; | |
} | |
} | |
// Update CSS block: | |
// If all conditions are met: copy the CSS code from the query to the corresponding CSS block | |
if (test === true) { | |
// Get the CSS code to apply to the element | |
css_code = EQCSS.data[i].style; | |
// Replace eval(xyz) with the result of try{with(element){eval(xyz)}} in JS | |
css_code = css_code.replace( | |
/eval\( *((".*?")|('.*?')) *\)/g, | |
function(string, match) { | |
var $it = elements[j]; | |
var ret = ""; | |
try { | |
with($it) { | |
ret = eval(match.slice(1, -1)) | |
} | |
} catch (e) { | |
ret = ""; | |
}; | |
return ret; | |
} | |
); | |
// Replace "$this" or "eq_this" with "[element_guid]" | |
css_code = css_code.replace(/(\$|eq_)this/g, "[" + element_guid + "]"); | |
// Replace "$parent" or "eq_parent" with "[element_guid_parent]" | |
css_code = css_code.replace(/(\$|eq_)parent/g, "[" + element_guid_parent + "]"); | |
// Replace "$prev" or "eq_prev" with "[element_guid_prev]" | |
css_code = css_code.replace(/(\$|eq_)prev/g, "[" + element_guid_prev + "]"); | |
// Replace "$next" or "eq_next" with "[element_guid_next]" | |
css_code = css_code.replace(/(\$|eq_)next/g, "[" + element_guid_next + "]"); | |
// Replace "$root" or "eq_root" with html | |
css_code = css_code.replace(/(\$|eq_)root/g, "html"); | |
// good browsers | |
try { | |
css_block.innerHTML = css_code; | |
} | |
// IE8 | |
catch (e) { | |
css_block.styleSheet.cssText = css_code; | |
} | |
} | |
// If condition is not met: empty the CSS block | |
else { | |
// Good browsers | |
try { | |
css_block.innerHTML = ""; | |
} | |
// IE8 | |
catch (e) { | |
css_block.styleSheet.cssText = ""; | |
} | |
} | |
} | |
} | |
} | |
/* | |
* "DOM Ready" cross-browser polyfill / Diego Perini / MIT license | |
* Forked from: https://github.com/dperini/ContentLoaded/blob/master/src/contentloaded.js | |
*/ | |
EQCSS.domReady = function(fn) { | |
var done = false, | |
top = true, | |
doc = window.document, | |
root = doc.documentElement, | |
modern = !~navigator.userAgent.indexOf("MSIE 8"), | |
add = modern ? 'addEventListener' : 'attachEvent', | |
rem = modern ? 'removeEventListener' : 'detachEvent', | |
pre = modern ? '' : 'on', | |
init = function(e) { | |
if (e.type == 'readystatechange' && doc.readyState != 'complete') return; | |
(e.type == 'load' ? window : doc)[rem](pre + e.type, init, false); | |
if (!done && (done = true)) fn.call(window, e.type || e); | |
}, | |
poll = function() { | |
try { | |
root.doScroll('left'); | |
} catch (e) { | |
setTimeout(poll, 50); | |
return; | |
} | |
init('poll'); | |
}; | |
if (doc.readyState == 'complete') fn.call(window, 'lazy'); | |
else { | |
if (!modern && root.doScroll) { | |
try { | |
top = !window.frameElement; | |
} catch (e) {} | |
if (top) poll(); | |
} | |
doc[add](pre + 'DOMContentLoaded', init, false); | |
doc[add](pre + 'readystatechange', init, false); | |
window[add](pre + 'load', init, false); | |
} | |
} | |
// Call load (and apply, indirectly) on page load | |
EQCSS.domReady(function() { | |
EQCSS.load(); | |
EQCSS.throttle(); | |
}); | |
/* EQCSS.throttle | |
Ensures EQCSS.apply() is not called more than once every (EQCSS_timeout)ms | |
*/ | |
var EQCSS_throttle_available = true; | |
var EQCSS_throttle_queued = false; | |
var EQCSS_mouse_down = false; | |
var EQCSS_timeout = 200; | |
EQCSS.throttle = function() { | |
if (EQCSS_throttle_available) { | |
EQCSS.apply(); | |
EQCSS_throttle_available = false; | |
setTimeout(function() { | |
EQCSS_throttle_available = true; | |
if (EQCSS_throttle_queued) { | |
EQCSS_throttle_queued = false; | |
EQCSS.apply(); | |
} | |
}, EQCSS_timeout); | |
} else { | |
EQCSS_throttle_queued = true; | |
} | |
} | |
// On resize, scroll, input, click, mousedown + mousemove, call EQCSS.throttle. | |
window.addEventListener("resize", EQCSS.throttle); | |
window.addEventListener("input", EQCSS.throttle); | |
window.addEventListener("click", EQCSS.throttle); | |
window.addEventListener("mousedown", function() { | |
EQCSS_mouse_down = true; | |
}); | |
window.addEventListener("mouseup", function() { | |
EQCSS_mouse_down = false; | |
EQCSS.throttle(); | |
}); | |
window.addEventListener("mousemove", function() { | |
if (EQCSS_mouse_down) { | |
EQCSS.throttle(); | |
} | |
}); | |
//window.addEventListener("scroll", EQCSS.throttle); | |
// => to avoid annoying slowness, scroll events are only listened on elements that have a scroll EQ. | |
// Debug: here's a shortcut for console.log | |
function l(a) { | |
console.log(a) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! | |
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome | |
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) | |
*/ | |
/* FONT PATH | |
* -------------------------- */ | |
@font-face { | |
font-family: 'FontAwesome'; | |
src: url('../fonts/fontawesome-webfont.eot?v=4.3.0'); | |
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.3.0#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; | |
transform: translate(0, 0); | |
} | |
/* makes the font 33% larger relative to the icon container */ | |
.fa-lg { | |
font-size: 1.33333333em; | |
line-height: 0.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: 0.14285714em; | |
text-align: center; | |
} | |
.fa-li.fa-lg { | |
left: -1.85714286em; | |
} | |
.fa-border { | |
padding: .2em .25em .15em; | |
border: solid 0.08em #eeeeee; | |
border-radius: .1em; | |
} | |
.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 { | |
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); | |
-webkit-transform: rotate(90deg); | |
-ms-transform: rotate(90deg); | |
transform: rotate(90deg); | |
} | |
.fa-rotate-180 { | |
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); | |
-webkit-transform: rotate(180deg); | |
-ms-transform: rotate(180deg); | |
transform: rotate(180deg); | |
} | |
.fa-rotate-270 { | |
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); | |
-webkit-transform: rotate(270deg); | |
-ms-transform: rotate(270deg); | |
transform: rotate(270deg); | |
} | |
.fa-flip-horizontal { | |
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 { | |
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: #ffffff; | |
} | |
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen | |
readers do not read off random characters that represent icons */ | |
.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-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: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-rebel:before { | |
content: "\f1d0"; | |
} | |
.fa-ge:before, | |
.fa-empire:before { | |
content: "\f1d1"; | |
} | |
.fa-git-square:before { | |
content: "\f1d2"; | |
} | |
.fa-git:before { | |
content: "\f1d3"; | |
} | |
.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-genderless:before, | |
.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-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-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"; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment