CINXE.COM

Vídeos - RFM

<!DOCTYPE html> <html lang="pt-pt"> <head> <title>Vídeos - RFM</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="robots" content="index, follow, max-image-preview:large" /> <meta name="googlebot" content="index, follow, max-image-preview:large" /> <meta name="id" content="rfm.pt" /> <meta name="author" content="RFM" /> <meta name="revisit-after" content="1 days" /> <meta name="description" content="A rádio também é imagem. Vê aqui os melhores momentos dos nossos programas e tudo o que a RFM faz dentro e fora dos estúdios, só para te dar o melhor!" /> <meta name="keywords" content="Rock in Rio, Bruno Mars, RFM, Rádio, Radio, Music, Humor, Comédia, Nilton, Café da Manhã, Top 25, Jazzy, Dance It, Latinas, 90s, Rocks, Toca Portugal, Oceano Pacífico, 80s RFM, 80srfm, Somnii, radio online, rádio online, emissão online, 6pm, Fridayboyz" /> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <meta name="HandheldFriendly" content="True" /> <meta name="MobileOptimized" content="320" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-itunes-app" content="app-id=1413710774" /> <link rel="manifest" href="/manifest.json" /> <link rel="preconnect" href="https://rfmsite2023-images.azureedge.net/" /> <link rel="dns-prefetch" href="https://rfmsite2023-images.azureedge.net/" /> <link rel="preconnect" href="https://cdnjs.cloudflare.com/" /> <link rel="dns-prefetch" href="https://cdnjs.cloudflare.com/" /> <link rel="preconnect" href="https://cdns.eu1.gigya.com" /> <link rel="dns-prefetch" href="https://cdns.eu1.gigya.com" /> <link rel="preconnect" href="https://www.google-analytics.com" /> <link rel="dns-prefetch" href="https://www.google-analytics.com" /> <link rel="preconnect" href="https://gapt.hit.gemius.pl" /> <link rel="dns-prefetch" href="https://gapt.hit.gemius.pl" /> <link rel="preconnect" href="https://www.googletagmanager.com" /> <link rel="dns-prefetch" href="https://www.googletagmanager.com" /> <!-- Favico --> <link rel="icon" type="image/png" href="https://rfm.pt/favicon-96x96.png" sizes="96x96" /> <link rel="icon" type="image/svg+xml" href="https://rfm.pt/favicon.svg" /> <link rel="shortcut icon" href="https://rfm.pt/favicon.ico" /> <link rel="apple-touch-icon" sizes="180x180" href="https://rfm.pt/apple-touch-icon.png" /> <meta name="apple-mobile-web-app-title" content="RFM" /> <link rel="manifest" href="https://rfm.pt/manifest.json" /> <script type="text/javascript"> var siteUrl = "https://rfm.pt/"; </script> <meta property="og:type" content="website" /> <meta property="og:title" content="Vídeos - RFM" /> <meta property="og:description" content="A rádio também é imagem. Vê aqui os melhores momentos dos nossos programas e tudo o que a RFM faz dentro e fora dos estúdios, só para te dar o melhor!" /> <meta property="og:image" content="https://images.rfm.pt/img_rfm_partilha29260980.jpg" /> <meta property="og:url" content="https://rfm.pt/videos" /> <meta property="og:site_name" content="RFM" /> <!--Tag AMP --> <link rel="canonical" href="https://rfm.pt/videos" /> <meta property="fb:pages" content="53498842922" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@rfmportugal" /> <meta name="twitter:site:id" content="282123042" /> <meta name="twitter:title" content="Vídeos - RFM" /> <meta name="twitter:description" content="A rádio também é imagem. Vê aqui os melhores momentos dos nossos programas e tudo o que a RFM faz dentro e fora dos estúdios, só para te dar o melhor!" /> <meta name="twitter:image" content="https://images.rfm.pt/img_rfm_partilha29260980.jpg" /> <meta name="twitter:url" content="https://rfm.pt/videos" /> <meta property="fb:app_id" content="205173995773" /> <link rel="image_src" href="https://images.rfm.pt/img_rfm_partilha29260980.jpg" /> <link rel="search" type="application/opensearchdescription+xml" title="RFM Search" href="https://rfm.pt/opensearch.xml" /> <link rel="alternate" type="application/rss+xml" title="RFM - Últimas da Atualidade" href="https://rfm.pt/rssfeed" /> <!-- Sitelinks Search Box --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "RadioStation", "name": "RFM", "url": "https://rfm.pt/", "logo": "https://rfmsite2023-images.azureedge.net/images/logoMain.png", "image":{"@type":"ImageObject","url":"https://rfmsite2023-images.azureedge.net/images/logoMain.png"}, "address" :{ "@type": "PostalAddress", "streetAddress": "Quinta do Bom Pastor, Estrada da Buraca 8-12", "addressLocality": "Lisboa", "postalCode": "1549-025", "addressCountry": "PT" }, "telephone": "+351213239200", "sameAs": [ "https://www.facebook.com/rfmoficial/", "https://www.instagram.com/rfmportugal/", "https://twitter.com/rfmportugal", "https://www.youtube.com/RFMsoGrandesMusicas" ] } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": "RFM", "url": "https://rfm.pt/" } </script> <!-- Preload css --> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/css/normalize.min.css?v=2.9" as="style"/> <link rel="preload" href="https://rfm.pt/css/main.min.css?v=2.9" as="style"/> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/css/menu.min.css?v=2.9" as="style"/> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/css/mediaqueries.min.css?v=2.9" as="style"/> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/css/slick.min.css?v=2.9" as="style"/> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/css/slick-theme.min.css?v=2.9" as="style"/> <!-- Fim Preload css --> <!-- Preload js --> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/navbar.min.js?v=2.8" as="script" /> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/scripts.min.js?v=2.8" as="script" /> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/lazysizes.min.js?v=2.8" as="script" /> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/pub/anti-adblocker.js?v=2.8" as="script" /> <!-- Fim Preload js --> <!--css's--> <link rel="stylesheet" media="all" type="text/css" href="https://rfmsite2023-images.azureedge.net/css/normalize.min.css?v=2.9" /> <link rel="stylesheet" media="all" type="text/css" href="https://rfm.pt/css/main.min.css?v=2.9" /> <link rel="stylesheet" media="all" type="text/css" href="https://rfmsite2023-images.azureedge.net/css/menu.min.css?v=2.9" /> <link rel="stylesheet" media="all" type="text/css" href="https://rfmsite2023-images.azureedge.net/css/mediaqueries.min.css?v=2.9" /> <link rel="stylesheet" media="all" type="text/css" href="https://rfmsite2023-images.azureedge.net/css/slick.min.css?v=2.9" /> <link rel="stylesheet" media="all" type="text/css" href="https://rfmsite2023-images.azureedge.net/css/slick-theme.min.css?v=2.9" /> <!-- Fim css's--> <!-- js's --> <script>!function (e, t) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, function (ie, e) { "use strict"; var oe = [], r = Object.getPrototypeOf, ae = oe.slice, g = oe.flat ? function (e) { return oe.flat.call(e) } : function (e) { return oe.concat.apply([], e) }, s = oe.push, se = oe.indexOf, n = {}, i = n.toString, ue = n.hasOwnProperty, o = ue.toString, a = o.call(Object), le = {}, v = function (e) { return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item }, y = function (e) { return null != e && e === e.window }, C = ie.document, u = { type: !0, src: !0, nonce: !0, noModule: !0 }; function m(e, t, n) { var r, i, o = (n = n || C).createElement("script"); if (o.text = e, t) for (r in u) (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o) } function x(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[i.call(e)] || "object" : typeof e } var t = "3.7.1", l = /HTML$/i, ce = function (e, t) { return new ce.fn.init(e, t) }; function c(e) { var t = !!e && "length" in e && e.length, n = x(e); return !v(e) && !y(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) } function fe(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() } ce.fn = ce.prototype = { jquery: t, constructor: ce, length: 0, toArray: function () { return ae.call(this) }, get: function (e) { return null == e ? ae.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function (e) { var t = ce.merge(this.constructor(), e); return t.prevObject = this, t }, each: function (e) { return ce.each(this, e) }, map: function (n) { return this.pushStack(ce.map(this, function (e, t) { return n.call(e, t, e) })) }, slice: function () { return this.pushStack(ae.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, even: function () { return this.pushStack(ce.grep(this, function (e, t) { return (t + 1) % 2 })) }, odd: function () { return this.pushStack(ce.grep(this, function (e, t) { return t % 2 })) }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(0 <= n && n < t ? [this[n]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: s, sort: oe.sort, splice: oe.splice }, ce.extend = ce.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, u = arguments.length, l = !1; for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || v(a) || (a = {}), s === u && (a = this, s--); s < u; s++)if (null != (e = arguments[s])) for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (ce.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || ce.isPlainObject(n) ? n : {}, i = !1, a[t] = ce.extend(l, o, r)) : void 0 !== r && (a[t] = r)); return a }, ce.extend({ expando: "jQuery" + (t + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e) }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== i.call(e)) && (!(t = r(e)) || "function" == typeof (n = ue.call(t, "constructor") && t.constructor) && o.call(n) === a) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, globalEval: function (e, t, n) { m(e, { nonce: t && t.nonce }, n) }, each: function (e, t) { var n, r = 0; if (c(e)) { for (n = e.length; r < n; r++)if (!1 === t.call(e[r], r, e[r])) break } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; return e }, text: function (e) { var t, n = "", r = 0, i = e.nodeType; if (!i) while (t = e[r++]) n += ce.text(t); return 1 === i || 11 === i ? e.textContent : 9 === i ? e.documentElement.textContent : 3 === i || 4 === i ? e.nodeValue : n }, makeArray: function (e, t) { var n = t || []; return null != e && (c(Object(e)) ? ce.merge(n, "string" == typeof e ? [e] : e) : s.call(n, e)), n }, inArray: function (e, t, n) { return null == t ? -1 : se.call(t, e, n) }, isXMLDoc: function (e) { var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement; return !l.test(t || n && n.nodeName || "HTML") }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)e[i++] = t[r]; return e.length = i, e }, grep: function (e, t, n) { for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)!t(e[i], i) !== a && r.push(e[i]); return r }, map: function (e, t, n) { var r, i, o = 0, a = []; if (c(e)) for (r = e.length; o < r; o++)null != (i = t(e[o], o, n)) && a.push(i); else for (o in e) null != (i = t(e[o], o, n)) && a.push(i); return g(a) }, guid: 1, support: le }), "function" == typeof Symbol && (ce.fn[Symbol.iterator] = oe[Symbol.iterator]), ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) { n["[object " + t + "]"] = t.toLowerCase() }); var pe = oe.pop, de = oe.sort, he = oe.splice, ge = "[\\x20\\t\\r\\n\\f]", ve = new RegExp("^" + ge + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ge + "+$", "g"); ce.contains = function (e, t) { var n = t && t.parentNode; return e === n || !(!n || 1 !== n.nodeType || !(e.contains ? e.contains(n) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(n))) }; var f = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; function p(e, t) { return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e } ce.escapeSelector = function (e) { return (e + "").replace(f, p) }; var ye = C, me = s; !function () { var e, b, w, o, a, T, r, C, d, i, k = me, S = ce.expando, E = 0, n = 0, s = W(), c = W(), u = W(), h = W(), l = function (e, t) { return e === t && (a = !0), 0 }, f = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", t = "(?:\\\\[\\da-fA-F]{1,6}" + ge + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", p = "\\[" + ge + "*(" + t + ")(?:" + ge + "*([*^$|!~]?=)" + ge + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + t + "))|)" + ge + "*\\]", g = ":(" + t + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + p + ")*)|.*)\\)|)", v = new RegExp(ge + "+", "g"), y = new RegExp("^" + ge + "*," + ge + "*"), m = new RegExp("^" + ge + "*([>+~]|" + ge + ")" + ge + "*"), x = new RegExp(ge + "|>"), j = new RegExp(g), A = new RegExp("^" + t + "$"), D = { ID: new RegExp("^#(" + t + ")"), CLASS: new RegExp("^\\.(" + t + ")"), TAG: new RegExp("^(" + t + "|[*])"), ATTR: new RegExp("^" + p), PSEUDO: new RegExp("^" + g), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ge + "*(even|odd|(([+-]|)(\\d*)n|)" + ge + "*(?:([+-]|)" + ge + "*(\\d+)|))" + ge + "*\\)|)", "i"), bool: new RegExp("^(?:" + f + ")$", "i"), needsContext: new RegExp("^" + ge + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ge + "*((?:-\\d)?\\d*)" + ge + "*\\)|)(?=[^-]|$)", "i") }, N = /^(?:input|select|textarea|button)$/i, q = /^h\d$/i, L = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, H = /[+~]/, O = new RegExp("\\\\[\\da-fA-F]{1,6}" + ge + "?|\\\\([^\\r\\n\\f])", "g"), P = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) }, M = function () { V() }, R = J(function (e) { return !0 === e.disabled && fe(e, "fieldset") }, { dir: "parentNode", next: "legend" }); try { k.apply(oe = ae.call(ye.childNodes), ye.childNodes), oe[ye.childNodes.length].nodeType } catch (e) { k = { apply: function (e, t) { me.apply(e, ae.call(t)) }, call: function (e) { me.apply(e, ae.call(arguments, 1)) } } } function I(t, e, n, r) { var i, o, a, s, u, l, c, f = e && e.ownerDocument, p = e ? e.nodeType : 9; if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n; if (!r && (V(e), e = e || T, C)) { if (11 !== p && (u = L.exec(t))) if (i = u[1]) { if (9 === p) { if (!(a = e.getElementById(i))) return n; if (a.id === i) return k.call(n, a), n } else if (f && (a = f.getElementById(i)) && I.contains(e, a) && a.id === i) return k.call(n, a), n } else { if (u[2]) return k.apply(n, e.getElementsByTagName(t)), n; if ((i = u[3]) && e.getElementsByClassName) return k.apply(n, e.getElementsByClassName(i)), n } if (!(h[t + " "] || d && d.test(t))) { if (c = t, f = e, 1 === p && (x.test(t) || m.test(t))) { (f = H.test(t) && U(e.parentNode) || e) == e && le.scope || ((s = e.getAttribute("id")) ? s = ce.escapeSelector(s) : e.setAttribute("id", s = S)), o = (l = Y(t)).length; while (o--) l[o] = (s ? "#" + s : ":scope") + " " + Q(l[o]); c = l.join(",") } try { return k.apply(n, f.querySelectorAll(c)), n } catch (e) { h(t, !0) } finally { s === S && e.removeAttribute("id") } } } return re(t.replace(ve, "$1"), e, n, r) } function W() { var r = []; return function e(t, n) { return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n } } function F(e) { return e[S] = !0, e } function $(e) { var t = T.createElement("fieldset"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function B(t) { return function (e) { return fe(e, "input") && e.type === t } } function _(t) { return function (e) { return (fe(e, "input") || fe(e, "button")) && e.type === t } } function z(t) { return function (e) { return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && R(e) === t : e.disabled === t : "label" in e && e.disabled === t } } function X(a) { return F(function (o) { return o = +o, F(function (e, t) { var n, r = a([], e.length, o), i = r.length; while (i--) e[n = r[i]] && (e[n] = !(t[n] = e[n])) }) }) } function U(e) { return e && "undefined" != typeof e.getElementsByTagName && e } function V(e) { var t, n = e ? e.ownerDocument || e : ye; return n != T && 9 === n.nodeType && n.documentElement && (r = (T = n).documentElement, C = !ce.isXMLDoc(T), i = r.matches || r.webkitMatchesSelector || r.msMatchesSelector, r.msMatchesSelector && ye != T && (t = T.defaultView) && t.top !== t && t.addEventListener("unload", M), le.getById = $(function (e) { return r.appendChild(e).id = ce.expando, !T.getElementsByName || !T.getElementsByName(ce.expando).length }), le.disconnectedMatch = $(function (e) { return i.call(e, "*") }), le.scope = $(function () { return T.querySelectorAll(":scope") }), le.cssHas = $(function () { try { return T.querySelector(":has(*,:jqfake)"), !1 } catch (e) { return !0 } }), le.getById ? (b.filter.ID = function (e) { var t = e.replace(O, P); return function (e) { return e.getAttribute("id") === t } }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && C) { var n = t.getElementById(e); return n ? [n] : [] } }) : (b.filter.ID = function (e) { var n = e.replace(O, P); return function (e) { var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); return t && t.value === n } }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && C) { var n, r, i, o = t.getElementById(e); if (o) { if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; i = t.getElementsByName(e), r = 0; while (o = i[r++]) if ((n = o.getAttributeNode("id")) && n.value === e) return [o] } return [] } }), b.find.TAG = function (e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : t.querySelectorAll(e) }, b.find.CLASS = function (e, t) { if ("undefined" != typeof t.getElementsByClassName && C) return t.getElementsByClassName(e) }, d = [], $(function (e) { var t; r.appendChild(e).innerHTML = "<a id='" + S + "' href='' disabled='disabled'></a><select id='" + S + "-\r\\' disabled='disabled'><option selected=''></option></select>", e.querySelectorAll("[selected]").length || d.push("\\[" + ge + "*(?:value|" + f + ")"), e.querySelectorAll("[id~=" + S + "-]").length || d.push("~="), e.querySelectorAll("a#" + S + "+*").length || d.push(".#.+[+~]"), e.querySelectorAll(":checked").length || d.push(":checked"), (t = T.createElement("input")).setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), r.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && d.push(":enabled", ":disabled"), (t = T.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || d.push("\\[" + ge + "*name" + ge + "*=" + ge + "*(?:''|\"\")") }), le.cssHas || d.push(":has"), d = d.length && new RegExp(d.join("|")), l = function (e, t) { if (e === t) return a = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !le.sortDetached && t.compareDocumentPosition(e) === n ? e === T || e.ownerDocument == ye && I.contains(ye, e) ? -1 : t === T || t.ownerDocument == ye && I.contains(ye, t) ? 1 : o ? se.call(o, e) - se.call(o, t) : 0 : 4 & n ? -1 : 1) }), T } for (e in I.matches = function (e, t) { return I(e, null, null, t) }, I.matchesSelector = function (e, t) { if (V(e), C && !h[t + " "] && (!d || !d.test(t))) try { var n = i.call(e, t); if (n || le.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n } catch (e) { h(t, !0) } return 0 < I(t, T, null, [e]).length }, I.contains = function (e, t) { return (e.ownerDocument || e) != T && V(e), ce.contains(e, t) }, I.attr = function (e, t) { (e.ownerDocument || e) != T && V(e); var n = b.attrHandle[t.toLowerCase()], r = n && ue.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !C) : void 0; return void 0 !== r ? r : e.getAttribute(t) }, I.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e) }, ce.uniqueSort = function (e) { var t, n = [], r = 0, i = 0; if (a = !le.sortStable, o = !le.sortStable && ae.call(e, 0), de.call(e, l), a) { while (t = e[i++]) t === e[i] && (r = n.push(i)); while (r--) he.call(e, n[r], 1) } return o = null, e }, ce.fn.uniqueSort = function () { return this.pushStack(ce.uniqueSort(ae.apply(this))) }, (b = ce.expr = { cacheLength: 50, createPseudo: F, match: D, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(O, P), e[3] = (e[3] || e[4] || e[5] || "").replace(O, P), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || I.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && I.error(e[0]), e }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return D.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && j.test(n) && (t = Y(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function (e) { var t = e.replace(O, P).toLowerCase(); return "*" === e ? function () { return !0 } : function (e) { return fe(e, t) } }, CLASS: function (e) { var t = s[e + " "]; return t || (t = new RegExp("(^|" + ge + ")" + e + "(" + ge + "|$)")) && s(e, function (e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "") }) }, ATTR: function (n, r, i) { return function (e) { var t = I.attr(e, n); return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(v, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")) } }, CHILD: function (d, e, t, h, g) { var v = "nth" !== d.slice(0, 3), y = "last" !== d.slice(-4), m = "of-type" === e; return 1 === h && 0 === g ? function (e) { return !!e.parentNode } : function (e, t, n) { var r, i, o, a, s, u = v !== y ? "nextSibling" : "previousSibling", l = e.parentNode, c = m && e.nodeName.toLowerCase(), f = !n && !m, p = !1; if (l) { if (v) { while (u) { o = e; while (o = o[u]) if (m ? fe(o, c) : 1 === o.nodeType) return !1; s = u = "only" === d && !s && "nextSibling" } return !0 } if (s = [y ? l.firstChild : l.lastChild], y && f) { p = (a = (r = (i = l[S] || (l[S] = {}))[d] || [])[0] === E && r[1]) && r[2], o = a && l.childNodes[a]; while (o = ++a && o && o[u] || (p = a = 0) || s.pop()) if (1 === o.nodeType && ++p && o === e) { i[d] = [E, a, p]; break } } else if (f && (p = a = (r = (i = e[S] || (e[S] = {}))[d] || [])[0] === E && r[1]), !1 === p) while (o = ++a && o && o[u] || (p = a = 0) || s.pop()) if ((m ? fe(o, c) : 1 === o.nodeType) && ++p && (f && ((i = o[S] || (o[S] = {}))[d] = [E, p]), o === e)) break; return (p -= g) === h || p % h == 0 && 0 <= p / h } } }, PSEUDO: function (e, o) { var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || I.error("unsupported pseudo: " + e); return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? F(function (e, t) { var n, r = a(e, o), i = r.length; while (i--) e[n = se.call(e, r[i])] = !(t[n] = r[i]) }) : function (e) { return a(e, 0, t) }) : a } }, pseudos: { not: F(function (e) { var r = [], i = [], s = ne(e.replace(ve, "$1")); return s[S] ? F(function (e, t, n, r) { var i, o = s(e, null, r, []), a = e.length; while (a--) (i = o[a]) && (e[a] = !(t[a] = i)) }) : function (e, t, n) { return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop() } }), has: F(function (t) { return function (e) { return 0 < I(t, e).length } }), contains: F(function (t) { return t = t.replace(O, P), function (e) { return -1 < (e.textContent || ce.text(e)).indexOf(t) } }), lang: F(function (n) { return A.test(n || "") || I.error("unsupported lang: " + n), n = n.replace(O, P).toLowerCase(), function (e) { var t; do { if (t = C ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") } while ((e = e.parentNode) && 1 === e.nodeType); return !1 } }), target: function (e) { var t = ie.location && ie.location.hash; return t && t.slice(1) === e.id }, root: function (e) { return e === r }, focus: function (e) { return e === function () { try { return T.activeElement } catch (e) { } }() && T.hasFocus() && !!(e.type || e.href || ~e.tabIndex) }, enabled: z(!1), disabled: z(!0), checked: function (e) { return fe(e, "input") && !!e.checked || fe(e, "option") && !!e.selected }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeType < 6) return !1; return !0 }, parent: function (e) { return !b.pseudos.empty(e) }, header: function (e) { return q.test(e.nodeName) }, input: function (e) { return N.test(e.nodeName) }, button: function (e) { return fe(e, "input") && "button" === e.type || fe(e, "button") }, text: function (e) { var t; return fe(e, "input") && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: X(function () { return [0] }), last: X(function (e, t) { return [t - 1] }), eq: X(function (e, t, n) { return [n < 0 ? n + t : n] }), even: X(function (e, t) { for (var n = 0; n < t; n += 2)e.push(n); return e }), odd: X(function (e, t) { for (var n = 1; n < t; n += 2)e.push(n); return e }), lt: X(function (e, t, n) { var r; for (r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;)e.push(r); return e }), gt: X(function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)e.push(r); return e }) } }).pseudos.nth = b.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) b.pseudos[e] = B(e); for (e in { submit: !0, reset: !0 }) b.pseudos[e] = _(e); function G() { } function Y(e, t) { var n, r, i, o, a, s, u, l = c[e + " "]; if (l) return t ? 0 : l.slice(0); a = e, s = [], u = b.preFilter; while (a) { for (o in n && !(r = y.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = m.exec(a)) && (n = r.shift(), i.push({ value: n, type: r[0].replace(ve, " ") }), a = a.slice(n.length)), b.filter) !(r = D[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ value: n, type: o, matches: r }), a = a.slice(n.length)); if (!n) break } return t ? a.length : a ? I.error(e) : c(e, s).slice(0) } function Q(e) { for (var t = 0, n = e.length, r = ""; t < n; t++)r += e[t].value; return r } function J(a, e, t) { var s = e.dir, u = e.next, l = u || s, c = t && "parentNode" === l, f = n++; return e.first ? function (e, t, n) { while (e = e[s]) if (1 === e.nodeType || c) return a(e, t, n); return !1 } : function (e, t, n) { var r, i, o = [E, f]; if (n) { while (e = e[s]) if ((1 === e.nodeType || c) && a(e, t, n)) return !0 } else while (e = e[s]) if (1 === e.nodeType || c) if (i = e[S] || (e[S] = {}), u && fe(e, u)) e = e[s] || e; else { if ((r = i[l]) && r[0] === E && r[1] === f) return o[2] = r[2]; if ((i[l] = o)[2] = a(e, t, n)) return !0 } return !1 } } function K(i) { return 1 < i.length ? function (e, t, n) { var r = i.length; while (r--) if (!i[r](e, t, n)) return !1; return !0 } : i[0] } function Z(e, t, n, r, i) { for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); return a } function ee(d, h, g, v, y, e) { return v && !v[S] && (v = ee(v)), y && !y[S] && (y = ee(y, e)), F(function (e, t, n, r) { var i, o, a, s, u = [], l = [], c = t.length, f = e || function (e, t, n) { for (var r = 0, i = t.length; r < i; r++)I(e, t[r], n); return n }(h || "*", n.nodeType ? [n] : n, []), p = !d || !e && h ? f : Z(f, u, d, n, r); if (g ? g(p, s = y || (e ? d : c || v) ? [] : t, n, r) : s = p, v) { i = Z(s, l), v(i, [], n, r), o = i.length; while (o--) (a = i[o]) && (s[l[o]] = !(p[l[o]] = a)) } if (e) { if (y || d) { if (y) { i = [], o = s.length; while (o--) (a = s[o]) && i.push(p[o] = a); y(null, s = [], i, r) } o = s.length; while (o--) (a = s[o]) && -1 < (i = y ? se.call(e, a) : u[o]) && (e[i] = !(t[i] = a)) } } else s = Z(s === t ? s.splice(c, s.length) : s), y ? y(null, t, s, r) : k.apply(t, s) }) } function te(e) { for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = J(function (e) { return e === i }, a, !0), l = J(function (e) { return -1 < se.call(i, e) }, a, !0), c = [function (e, t, n) { var r = !o && (n || t != w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); return i = null, r }]; s < r; s++)if (t = b.relative[e[s].type]) c = [J(K(c), t)]; else { if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) { for (n = ++s; n < r; n++)if (b.relative[e[n].type]) break; return ee(1 < s && K(c), 1 < s && Q(e.slice(0, s - 1).concat({ value: " " === e[s - 2].type ? "*" : "" })).replace(ve, "$1"), t, s < n && te(e.slice(s, n)), n < r && te(e = e.slice(n)), n < r && Q(e)) } c.push(t) } return K(c) } function ne(e, t) { var n, v, y, m, x, r, i = [], o = [], a = u[e + " "]; if (!a) { t || (t = Y(e)), n = t.length; while (n--) (a = te(t[n]))[S] ? i.push(a) : o.push(a); (a = u(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function (e, t, n, r, i) { var o, a, s, u = 0, l = "0", c = e && [], f = [], p = w, d = e || x && b.find.TAG("*", i), h = E += null == p ? 1 : Math.random() || .1, g = d.length; for (i && (w = t == T || t || i); l !== g && null != (o = d[l]); l++) { if (x && o) { a = 0, t || o.ownerDocument == T || (V(o), n = !C); while (s = v[a++]) if (s(o, t || T, n)) { k.call(r, o); break } i && (E = h) } m && ((o = !s && o) && u--, e && c.push(o)) } if (u += l, m && l !== u) { a = 0; while (s = y[a++]) s(c, f, t, n); if (e) { if (0 < u) while (l--) c[l] || f[l] || (f[l] = pe.call(r)); f = Z(f) } k.apply(r, f), i && !e && 0 < f.length && 1 < u + y.length && ce.uniqueSort(r) } return i && (E = h, w = p), c }, m ? F(r) : r))).selector = e } return a } function re(e, t, n, r) { var i, o, a, s, u, l = "function" == typeof e && e, c = !r && Y(e = l.selector || e); if (n = n || [], 1 === c.length) { if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && C && b.relative[o[1].type]) { if (!(t = (b.find.ID(a.matches[0].replace(O, P), t) || [])[0])) return n; l && (t = t.parentNode), e = e.slice(o.shift().value.length) } i = D.needsContext.test(e) ? 0 : o.length; while (i--) { if (a = o[i], b.relative[s = a.type]) break; if ((u = b.find[s]) && (r = u(a.matches[0].replace(O, P), H.test(o[0].type) && U(t.parentNode) || t))) { if (o.splice(i, 1), !(e = r.length && Q(o))) return k.apply(n, r), n; break } } } return (l || ne(e, c))(r, t, !C, n, !t || H.test(e) && U(t.parentNode) || t), n } G.prototype = b.filters = b.pseudos, b.setFilters = new G, le.sortStable = S.split("").sort(l).join("") === S, V(), le.sortDetached = $(function (e) { return 1 & e.compareDocumentPosition(T.createElement("fieldset")) }), ce.find = I, ce.expr[":"] = ce.expr.pseudos, ce.unique = ce.uniqueSort, I.compile = ne, I.select = re, I.setDocument = V, I.tokenize = Y, I.escape = ce.escapeSelector, I.getText = ce.text, I.isXML = ce.isXMLDoc, I.selectors = ce.expr, I.support = ce.support, I.uniqueSort = ce.uniqueSort }(); var d = function (e, t, n) { var r = [], i = void 0 !== n; while ((e = e[t]) && 9 !== e.nodeType) if (1 === e.nodeType) { if (i && ce(e).is(n)) break; r.push(e) } return r }, h = function (e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, b = ce.expr.match.needsContext, w = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function T(e, n, r) { return v(n) ? ce.grep(e, function (e, t) { return !!n.call(e, t, e) !== r }) : n.nodeType ? ce.grep(e, function (e) { return e === n !== r }) : "string" != typeof n ? ce.grep(e, function (e) { return -1 < se.call(n, e) !== r }) : ce.filter(n, e, r) } ce.filter = function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? ce.find.matchesSelector(r, e) ? [r] : [] : ce.find.matches(e, ce.grep(t, function (e) { return 1 === e.nodeType })) }, ce.fn.extend({ find: function (e) { var t, n, r = this.length, i = this; if ("string" != typeof e) return this.pushStack(ce(e).filter(function () { for (t = 0; t < r; t++)if (ce.contains(i[t], this)) return !0 })); for (n = this.pushStack([]), t = 0; t < r; t++)ce.find(e, i[t], n); return 1 < r ? ce.uniqueSort(n) : n }, filter: function (e) { return this.pushStack(T(this, e || [], !1)) }, not: function (e) { return this.pushStack(T(this, e || [], !0)) }, is: function (e) { return !!T(this, "string" == typeof e && b.test(e) ? ce(e) : e || [], !1).length } }); var k, S = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (ce.fn.init = function (e, t, n) { var r, i; if (!e) return this; if (n = n || k, "string" == typeof e) { if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : S.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (r[1]) { if (t = t instanceof ce ? t[0] : t, ce.merge(this, ce.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : C, !0)), w.test(r[1]) && ce.isPlainObject(t)) for (r in t) v(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); return this } return (i = C.getElementById(r[2])) && (this[0] = i, this.length = 1), this } return e.nodeType ? (this[0] = e, this.length = 1, this) : v(e) ? void 0 !== n.ready ? n.ready(e) : e(ce) : ce.makeArray(e, this) }).prototype = ce.fn, k = ce(C); var E = /^(?:parents|prev(?:Until|All))/, j = { children: !0, contents: !0, next: !0, prev: !0 }; function A(e, t) { while ((e = e[t]) && 1 !== e.nodeType); return e } ce.fn.extend({ has: function (e) { var t = ce(e, this), n = t.length; return this.filter(function () { for (var e = 0; e < n; e++)if (ce.contains(this, t[e])) return !0 }) }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = "string" != typeof e && ce(e); if (!b.test(e)) for (; r < i; r++)for (n = this[r]; n && n !== t; n = n.parentNode)if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && ce.find.matchesSelector(n, e))) { o.push(n); break } return this.pushStack(1 < o.length ? ce.uniqueSort(o) : o) }, index: function (e) { return e ? "string" == typeof e ? se.call(ce(e), this[0]) : se.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (e, t) { return this.pushStack(ce.uniqueSort(ce.merge(this.get(), ce(e, t)))) }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), ce.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (e) { return d(e, "parentNode") }, parentsUntil: function (e, t, n) { return d(e, "parentNode", n) }, next: function (e) { return A(e, "nextSibling") }, prev: function (e) { return A(e, "previousSibling") }, nextAll: function (e) { return d(e, "nextSibling") }, prevAll: function (e) { return d(e, "previousSibling") }, nextUntil: function (e, t, n) { return d(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return d(e, "previousSibling", n) }, siblings: function (e) { return h((e.parentNode || {}).firstChild, e) }, children: function (e) { return h(e.firstChild) }, contents: function (e) { return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (fe(e, "template") && (e = e.content || e), ce.merge([], e.childNodes)) } }, function (r, i) { ce.fn[r] = function (e, t) { var n = ce.map(this, i, e); return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = ce.filter(t, n)), 1 < this.length && (j[r] || ce.uniqueSort(n), E.test(r) && n.reverse()), this.pushStack(n) } }); var D = /[^\x20\t\r\n\f]+/g; function N(e) { return e } function q(e) { throw e } function L(e, t, n, r) { var i; try { e && v(i = e.promise) ? i.call(e).done(t).fail(n) : e && v(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) } catch (e) { n.apply(void 0, [e]) } } ce.Callbacks = function (r) { var e, n; r = "string" == typeof r ? (e = r, n = {}, ce.each(e.match(D) || [], function (e, t) { n[t] = !0 }), n) : ce.extend({}, r); var i, t, o, a, s = [], u = [], l = -1, c = function () { for (a = a || r.once, o = i = !0; u.length; l = -1) { t = u.shift(); while (++l < s.length) !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1) } r.memory || (t = !1), i = !1, a && (s = t ? [] : "") }, f = { add: function () { return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { ce.each(e, function (e, t) { v(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== x(t) && n(t) }) }(arguments), t && !i && c()), this }, remove: function () { return ce.each(arguments, function (e, t) { var n; while (-1 < (n = ce.inArray(t, s, n))) s.splice(n, 1), n <= l && l-- }), this }, has: function (e) { return e ? -1 < ce.inArray(e, s) : 0 < s.length }, empty: function () { return s && (s = []), this }, disable: function () { return a = u = [], s = t = "", this }, disabled: function () { return !s }, lock: function () { return a = u = [], t || i || (s = t = ""), this }, locked: function () { return !!a }, fireWith: function (e, t) { return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this }, fire: function () { return f.fireWith(this, arguments), this }, fired: function () { return !!o } }; return f }, ce.extend({ Deferred: function (e) { var o = [["notify", "progress", ce.Callbacks("memory"), ce.Callbacks("memory"), 2], ["resolve", "done", ce.Callbacks("once memory"), ce.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", ce.Callbacks("once memory"), ce.Callbacks("once memory"), 1, "rejected"]], i = "pending", a = { state: function () { return i }, always: function () { return s.done(arguments).fail(arguments), this }, "catch": function (e) { return a.then(null, e) }, pipe: function () { var i = arguments; return ce.Deferred(function (r) { ce.each(o, function (e, t) { var n = v(i[t[4]]) && i[t[4]]; s[t[1]](function () { var e = n && n.apply(this, arguments); e && v(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments) }) }), i = null }).promise() }, then: function (t, n, r) { var u = 0; function l(i, o, a, s) { return function () { var n = this, r = arguments, e = function () { var e, t; if (!(i < u)) { if ((e = a.apply(n, r)) === o.promise()) throw new TypeError("Thenable self-resolution"); t = e && ("object" == typeof e || "function" == typeof e) && e.then, v(t) ? s ? t.call(e, l(u, o, N, s), l(u, o, q, s)) : (u++, t.call(e, l(u, o, N, s), l(u, o, q, s), l(u, o, N, o.notifyWith))) : (a !== N && (n = void 0, r = [e]), (s || o.resolveWith)(n, r)) } }, t = s ? e : function () { try { e() } catch (e) { ce.Deferred.exceptionHook && ce.Deferred.exceptionHook(e, t.error), u <= i + 1 && (a !== q && (n = void 0, r = [e]), o.rejectWith(n, r)) } }; i ? t() : (ce.Deferred.getErrorHook ? t.error = ce.Deferred.getErrorHook() : ce.Deferred.getStackHook && (t.error = ce.Deferred.getStackHook()), ie.setTimeout(t)) } } return ce.Deferred(function (e) { o[0][3].add(l(0, e, v(r) ? r : N, e.notifyWith)), o[1][3].add(l(0, e, v(t) ? t : N)), o[2][3].add(l(0, e, v(n) ? n : q)) }).promise() }, promise: function (e) { return null != e ? ce.extend(e, a) : a } }, s = {}; return ce.each(o, function (e, t) { var n = t[2], r = t[5]; a[t[1]] = n.add, r && n.add(function () { i = r }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () { return s[t[0] + "With"](this === s ? void 0 : this, arguments), this }, s[t[0] + "With"] = n.fireWith }), a.promise(s), e && e.call(s, s), s }, when: function (e) { var n = arguments.length, t = n, r = Array(t), i = ae.call(arguments), o = ce.Deferred(), a = function (t) { return function (e) { r[t] = this, i[t] = 1 < arguments.length ? ae.call(arguments) : e, --n || o.resolveWith(r, i) } }; if (n <= 1 && (L(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || v(i[t] && i[t].then))) return o.then(); while (t--) L(i[t], a(t), o.reject); return o.promise() } }); var H = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; ce.Deferred.exceptionHook = function (e, t) { ie.console && ie.console.warn && e && H.test(e.name) && ie.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t) }, ce.readyException = function (e) { ie.setTimeout(function () { throw e }) }; var O = ce.Deferred(); function P() { C.removeEventListener("DOMContentLoaded", P), ie.removeEventListener("load", P), ce.ready() } ce.fn.ready = function (e) { return O.then(e)["catch"](function (e) { ce.readyException(e) }), this }, ce.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --ce.readyWait : ce.isReady) || (ce.isReady = !0) !== e && 0 < --ce.readyWait || O.resolveWith(C, [ce]) } }), ce.ready.then = O.then, "complete" === C.readyState || "loading" !== C.readyState && !C.documentElement.doScroll ? ie.setTimeout(ce.ready) : (C.addEventListener("DOMContentLoaded", P), ie.addEventListener("load", P)); var M = function (e, t, n, r, i, o, a) { var s = 0, u = e.length, l = null == n; if ("object" === x(n)) for (s in i = !0, n) M(e, t, s, n[s], !0, o, a); else if (void 0 !== r && (i = !0, v(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) { return l.call(ce(e), n) })), t)) for (; s < u; s++)t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : l ? t.call(e) : u ? t(e[0], n) : o }, R = /^-ms-/, I = /-([a-z])/g; function W(e, t) { return t.toUpperCase() } function F(e) { return e.replace(R, "ms-").replace(I, W) } var $ = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; function B() { this.expando = ce.expando + B.uid++ } B.uid = 1, B.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = {}, $(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t }, set: function (e, t, n) { var r, i = this.cache(e); if ("string" == typeof t) i[F(t)] = n; else for (r in t) i[F(r)] = t[r]; return i }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][F(t)] }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function (e, t) { var n, r = e[this.expando]; if (void 0 !== r) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(F) : (t = F(t)) in r ? [t] : t.match(D) || []).length; while (n--) delete r[t[n]] } (void 0 === t || ce.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !ce.isEmptyObject(t) } }; var _ = new B, z = new B, X = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, U = /[A-Z]/g; function V(e, t, n) { var r, i; if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(U, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) { try { n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : X.test(i) ? JSON.parse(i) : i) } catch (e) { } z.set(e, t, n) } else n = void 0; return n } ce.extend({ hasData: function (e) { return z.hasData(e) || _.hasData(e) }, data: function (e, t, n) { return z.access(e, t, n) }, removeData: function (e, t) { z.remove(e, t) }, _data: function (e, t, n) { return _.access(e, t, n) }, _removeData: function (e, t) { _.remove(e, t) } }), ce.fn.extend({ data: function (n, e) { var t, r, i, o = this[0], a = o && o.attributes; if (void 0 === n) { if (this.length && (i = z.get(o), 1 === o.nodeType && !_.get(o, "hasDataAttrs"))) { t = a.length; while (t--) a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = F(r.slice(5)), V(o, r, i[r])); _.set(o, "hasDataAttrs", !0) } return i } return "object" == typeof n ? this.each(function () { z.set(this, n) }) : M(this, function (e) { var t; if (o && void 0 === e) return void 0 !== (t = z.get(o, n)) ? t : void 0 !== (t = V(o, n)) ? t : void 0; this.each(function () { z.set(this, n, e) }) }, null, e, 1 < arguments.length, null, !0) }, removeData: function (e) { return this.each(function () { z.remove(this, e) }) } }), ce.extend({ queue: function (e, t, n) { var r; if (e) return t = (t || "fx") + "queue", r = _.get(e, t), n && (!r || Array.isArray(n) ? r = _.access(e, t, ce.makeArray(n)) : r.push(n)), r || [] }, dequeue: function (e, t) { t = t || "fx"; var n = ce.queue(e, t), r = n.length, i = n.shift(), o = ce._queueHooks(e, t); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { ce.dequeue(e, t) }, o)), !r && o && o.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return _.get(e, n) || _.access(e, n, { empty: ce.Callbacks("once memory").add(function () { _.remove(e, [t + "queue", n]) }) }) } }), ce.fn.extend({ queue: function (t, n) { var e = 2; return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? ce.queue(this[0], t) : void 0 === n ? this : this.each(function () { var e = ce.queue(this, t, n); ce._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && ce.dequeue(this, t) }) }, dequeue: function (e) { return this.each(function () { ce.dequeue(this, e) }) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, t) { var n, r = 1, i = ce.Deferred(), o = this, a = this.length, s = function () { --r || i.resolveWith(o, [o]) }; "string" != typeof e && (t = e, e = void 0), e = e || "fx"; while (a--) (n = _.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t) } }); var G = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Y = new RegExp("^(?:([+-])=|)(" + G + ")([a-z%]*)$", "i"), Q = ["Top", "Right", "Bottom", "Left"], J = C.documentElement, K = function (e) { return ce.contains(e.ownerDocument, e) }, Z = { composed: !0 }; J.getRootNode && (K = function (e) { return ce.contains(e.ownerDocument, e) || e.getRootNode(Z) === e.ownerDocument }); var ee = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && K(e) && "none" === ce.css(e, "display") }; function te(e, t, n, r) { var i, o, a = 20, s = r ? function () { return r.cur() } : function () { return ce.css(e, t, "") }, u = s(), l = n && n[3] || (ce.cssNumber[t] ? "" : "px"), c = e.nodeType && (ce.cssNumber[t] || "px" !== l && +u) && Y.exec(ce.css(e, t)); if (c && c[3] !== l) { u /= 2, l = l || c[3], c = +u || 1; while (a--) ce.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o; c *= 2, ce.style(e, t, c + l), n = n || [] } return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i } var ne = {}; function re(e, t) { for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)(r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = _.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && ee(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ne[s]) || (o = a.body.appendChild(a.createElement(s)), u = ce.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ne[s] = u)))) : "none" !== n && (l[c] = "none", _.set(r, "display", n))); for (c = 0; c < f; c++)null != l[c] && (e[c].style.display = l[c]); return e } ce.fn.extend({ show: function () { return re(this, !0) }, hide: function () { return re(this) }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { ee(this) ? ce(this).show() : ce(this).hide() }) } }); var xe, be, we = /^(?:checkbox|radio)$/i, Te = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, Ce = /^$|^module$|\/(?:java|ecma)script/i; xe = C.createDocumentFragment().appendChild(C.createElement("div")), (be = C.createElement("input")).setAttribute("type", "radio"), be.setAttribute("checked", "checked"), be.setAttribute("name", "t"), xe.appendChild(be), le.checkClone = xe.cloneNode(!0).cloneNode(!0).lastChild.checked, xe.innerHTML = "<textarea>x</textarea>", le.noCloneChecked = !!xe.cloneNode(!0).lastChild.defaultValue, xe.innerHTML = "<option></option>", le.option = !!xe.lastChild; var ke = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] }; function Se(e, t) { var n; return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && fe(e, t) ? ce.merge([e], n) : n } function Ee(e, t) { for (var n = 0, r = e.length; n < r; n++)_.set(e[n], "globalEval", !t || _.get(t[n], "globalEval")) } ke.tbody = ke.tfoot = ke.colgroup = ke.caption = ke.thead, ke.th = ke.td, le.option || (ke.optgroup = ke.option = [1, "<select multiple='multiple'>", "</select>"]); var je = /<|&#?\w+;/; function Ae(e, t, n, r, i) { for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++)if ((o = e[d]) || 0 === o) if ("object" === x(o)) ce.merge(p, o.nodeType ? [o] : o); else if (je.test(o)) { a = a || f.appendChild(t.createElement("div")), s = (Te.exec(o) || ["", ""])[1].toLowerCase(), u = ke[s] || ke._default, a.innerHTML = u[1] + ce.htmlPrefilter(o) + u[2], c = u[0]; while (c--) a = a.lastChild; ce.merge(p, a.childNodes), (a = f.firstChild).textContent = "" } else p.push(t.createTextNode(o)); f.textContent = "", d = 0; while (o = p[d++]) if (r && -1 < ce.inArray(o, r)) i && i.push(o); else if (l = K(o), a = Se(f.appendChild(o), "script"), l && Ee(a), n) { c = 0; while (o = a[c++]) Ce.test(o.type || "") && n.push(o) } return f } var De = /^([^.]*)(?:\.(.+)|)/; function Ne() { return !0 } function qe() { return !1 } function Le(e, t, n, r, i, o) { var a, s; if ("object" == typeof t) { for (s in "string" != typeof n && (r = r || n, n = void 0), t) Le(e, s, n, r, t[s], o); return e } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = qe; else if (!i) return e; return 1 === o && (a = i, (i = function (e) { return ce().off(e), a.apply(this, arguments) }).guid = a.guid || (a.guid = ce.guid++)), e.each(function () { ce.event.add(this, t, i, r, n) }) } function He(e, r, t) { t ? (_.set(e, r, !1), ce.event.add(e, r, { namespace: !1, handler: function (e) { var t, n = _.get(this, r); if (1 & e.isTrigger && this[r]) { if (n) (ce.event.special[r] || {}).delegateType && e.stopPropagation(); else if (n = ae.call(arguments), _.set(this, r, n), this[r](), t = _.get(this, r), _.set(this, r, !1), n !== t) return e.stopImmediatePropagation(), e.preventDefault(), t } else n && (_.set(this, r, ce.event.trigger(n[0], n.slice(1), this)), e.stopPropagation(), e.isImmediatePropagationStopped = Ne) } })) : void 0 === _.get(e, r) && ce.event.add(e, r, Ne) } ce.event = { global: {}, add: function (t, e, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, v = _.get(t); if ($(t)) { n.handler && (n = (o = n).handler, i = o.selector), i && ce.find.matchesSelector(J, i), n.guid || (n.guid = ce.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function (e) { return "undefined" != typeof ce && ce.event.triggered !== e.type ? ce.event.dispatch.apply(t, arguments) : void 0 }), l = (e = (e || "").match(D) || [""]).length; while (l--) d = g = (s = De.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = ce.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = ce.event.special[d] || {}, c = ce.extend({ type: d, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && ce.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), ce.event.global[d] = !0) } }, remove: function (e, t, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, v = _.hasData(e) && _.get(e); if (v && (u = v.events)) { l = (t = (t || "").match(D) || [""]).length; while (l--) if (d = g = (s = De.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) { f = ce.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; while (o--) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || ce.removeEvent(e, d, v.handle), delete u[d]) } else for (d in u) ce.event.remove(e, d + t[l], n, r, !0); ce.isEmptyObject(u) && _.remove(e, "handle events") } }, dispatch: function (e) { var t, n, r, i, o, a, s = new Array(arguments.length), u = ce.event.fix(e), l = (_.get(this, "events") || Object.create(null))[u.type] || [], c = ce.event.special[u.type] || {}; for (s[0] = u, t = 1; t < arguments.length; t++)s[t] = arguments[t]; if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) { a = ce.event.handlers.call(this, u, l), t = 0; while ((i = a[t++]) && !u.isPropagationStopped()) { u.currentTarget = i.elem, n = 0; while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((ce.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation())) } return c.postDispatch && c.postDispatch.call(this, u), u.result } }, handlers: function (e, t) { var n, r, i, o, a, s = [], u = t.delegateCount, l = e.target; if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) for (; l !== this; l = l.parentNode || this)if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { for (o = [], a = {}, n = 0; n < u; n++)void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < ce(i, this).index(l) : ce.find(i, this, null, [l]).length), a[i] && o.push(r); o.length && s.push({ elem: l, handlers: o }) } return l = this, u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s }, addProp: function (t, e) { Object.defineProperty(ce.Event.prototype, t, { enumerable: !0, configurable: !0, get: v(e) ? function () { if (this.originalEvent) return e(this.originalEvent) } : function () { if (this.originalEvent) return this.originalEvent[t] }, set: function (e) { Object.defineProperty(this, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) } }) }, fix: function (e) { return e[ce.expando] ? e : new ce.Event(e) }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return we.test(t.type) && t.click && fe(t, "input") && He(t, "click", !0), !1 }, trigger: function (e) { var t = this || e; return we.test(t.type) && t.click && fe(t, "input") && He(t, "click"), !0 }, _default: function (e) { var t = e.target; return we.test(t.type) && t.click && fe(t, "input") && _.get(t, "click") || fe(t, "a") } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } } }, ce.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, ce.Event = function (e, t) { if (!(this instanceof ce.Event)) return new ce.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ne : qe, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && ce.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[ce.expando] = !0 }, ce.Event.prototype = { constructor: ce.Event, isDefaultPrevented: qe, isPropagationStopped: qe, isImmediatePropagationStopped: qe, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = Ne, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = Ne, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = Ne, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() } }, ce.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, "char": !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: !0 }, ce.event.addProp), ce.each({ focus: "focusin", blur: "focusout" }, function (r, i) { function o(e) { if (C.documentMode) { var t = _.get(this, "handle"), n = ce.event.fix(e); n.type = "focusin" === e.type ? "focus" : "blur", n.isSimulated = !0, t(e), n.target === n.currentTarget && t(n) } else ce.event.simulate(i, e.target, ce.event.fix(e)) } ce.event.special[r] = { setup: function () { var e; if (He(this, r, !0), !C.documentMode) return !1; (e = _.get(this, i)) || this.addEventListener(i, o), _.set(this, i, (e || 0) + 1) }, trigger: function () { return He(this, r), !0 }, teardown: function () { var e; if (!C.documentMode) return !1; (e = _.get(this, i) - 1) ? _.set(this, i, e) : (this.removeEventListener(i, o), _.remove(this, i)) }, _default: function (e) { return _.get(e.target, r) }, delegateType: i }, ce.event.special[i] = { setup: function () { var e = this.ownerDocument || this.document || this, t = C.documentMode ? this : e, n = _.get(t, i); n || (C.documentMode ? this.addEventListener(i, o) : e.addEventListener(r, o, !0)), _.set(t, i, (n || 0) + 1) }, teardown: function () { var e = this.ownerDocument || this.document || this, t = C.documentMode ? this : e, n = _.get(t, i) - 1; n ? _.set(t, i, n) : (C.documentMode ? this.removeEventListener(i, o) : e.removeEventListener(r, o, !0), _.remove(t, i)) } } }), ce.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, i) { ce.event.special[e] = { delegateType: i, bindType: i, handle: function (e) { var t, n = e.relatedTarget, r = e.handleObj; return n && (n === this || ce.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t } } }), ce.fn.extend({ on: function (e, t, n, r) { return Le(this, e, t, n, r) }, one: function (e, t, n, r) { return Le(this, e, t, n, r, 1) }, off: function (e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj) return r = e.handleObj, ce(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) { for (i in e) this.off(i, t, e[i]); return this } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = qe), this.each(function () { ce.event.remove(this, e, n, t) }) } }); var Oe = /<script|<style|<link/i, Pe = /checked\s*(?:[^=]|=\s*.checked.)/i, Me = /^\s*<!\[CDATA\[|\]\]>\s*$/g; function Re(e, t) { return fe(e, "table") && fe(11 !== t.nodeType ? t : t.firstChild, "tr") && ce(e).children("tbody")[0] || e } function Ie(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function We(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e } function Fe(e, t) { var n, r, i, o, a, s; if (1 === t.nodeType) { if (_.hasData(e) && (s = _.get(e).events)) for (i in _.remove(t, "handle events"), s) for (n = 0, r = s[i].length; n < r; n++)ce.event.add(t, i, s[i][n]); z.hasData(e) && (o = z.access(e), a = ce.extend({}, o), z.set(t, a)) } } function $e(n, r, i, o) { r = g(r); var e, t, a, s, u, l, c = 0, f = n.length, p = f - 1, d = r[0], h = v(d); if (h || 1 < f && "string" == typeof d && !le.checkClone && Pe.test(d)) return n.each(function (e) { var t = n.eq(e); h && (r[0] = d.call(this, e, t.html())), $e(t, r, i, o) }); if (f && (t = (e = Ae(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) { for (s = (a = ce.map(Se(e, "script"), Ie)).length; c < f; c++)u = e, c !== p && (u = ce.clone(u, !0, !0), s && ce.merge(a, Se(u, "script"))), i.call(n[c], u, c); if (s) for (l = a[a.length - 1].ownerDocument, ce.map(a, We), c = 0; c < s; c++)u = a[c], Ce.test(u.type || "") && !_.access(u, "globalEval") && ce.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? ce._evalUrl && !u.noModule && ce._evalUrl(u.src, { nonce: u.nonce || u.getAttribute("nonce") }, l) : m(u.textContent.replace(Me, ""), u, l)) } return n } function Be(e, t, n) { for (var r, i = t ? ce.filter(t, e) : e, o = 0; null != (r = i[o]); o++)n || 1 !== r.nodeType || ce.cleanData(Se(r)), r.parentNode && (n && K(r) && Ee(Se(r, "script")), r.parentNode.removeChild(r)); return e } ce.extend({ htmlPrefilter: function (e) { return e }, clone: function (e, t, n) { var r, i, o, a, s, u, l, c = e.cloneNode(!0), f = K(e); if (!(le.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ce.isXMLDoc(e))) for (a = Se(c), r = 0, i = (o = Se(e)).length; r < i; r++)s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && we.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); if (t) if (n) for (o = o || Se(e), a = a || Se(c), r = 0, i = o.length; r < i; r++)Fe(o[r], a[r]); else Fe(e, c); return 0 < (a = Se(c, "script")).length && Ee(a, !f && Se(e, "script")), c }, cleanData: function (e) { for (var t, n, r, i = ce.event.special, o = 0; void 0 !== (n = e[o]); o++)if ($(n)) { if (t = n[_.expando]) { if (t.events) for (r in t.events) i[r] ? ce.event.remove(n, r) : ce.removeEvent(n, r, t.handle); n[_.expando] = void 0 } n[z.expando] && (n[z.expando] = void 0) } } }), ce.fn.extend({ detach: function (e) { return Be(this, e, !0) }, remove: function (e) { return Be(this, e) }, text: function (e) { return M(this, function (e) { return void 0 === e ? ce.text(this) : this.empty().each(function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) }) }, null, e, arguments.length) }, append: function () { return $e(this, arguments, function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Re(this, e).appendChild(e) }) }, prepend: function () { return $e(this, arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Re(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function () { return $e(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function () { return $e(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (ce.cleanData(Se(e, !1)), e.textContent = ""); return this }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map(function () { return ce.clone(this, e, t) }) }, html: function (e) { return M(this, function (e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !Oe.test(e) && !ke[(Te.exec(e) || ["", ""])[1].toLowerCase()]) { e = ce.htmlPrefilter(e); try { for (; n < r; n++)1 === (t = this[n] || {}).nodeType && (ce.cleanData(Se(t, !1)), t.innerHTML = e); t = 0 } catch (e) { } } t && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function () { var n = []; return $e(this, arguments, function (e) { var t = this.parentNode; ce.inArray(this, n) < 0 && (ce.cleanData(Se(this)), t && t.replaceChild(e, this)) }, n) } }), ce.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, a) { ce.fn[e] = function (e) { for (var t, n = [], r = ce(e), i = r.length - 1, o = 0; o <= i; o++)t = o === i ? this : this.clone(!0), ce(r[o])[a](t), s.apply(n, t.get()); return this.pushStack(n) } }); var _e = new RegExp("^(" + G + ")(?!px)[a-z%]+$", "i"), ze = /^--/, Xe = function (e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = ie), t.getComputedStyle(e) }, Ue = function (e, t, n) { var r, i, o = {}; for (i in t) o[i] = e.style[i], e.style[i] = t[i]; for (i in r = n.call(e), t) e.style[i] = o[i]; return r }, Ve = new RegExp(Q.join("|"), "i"); function Ge(e, t, n) { var r, i, o, a, s = ze.test(t), u = e.style; return (n = n || Xe(e)) && (a = n.getPropertyValue(t) || n[t], s && a && (a = a.replace(ve, "$1") || void 0), "" !== a || K(e) || (a = ce.style(e, t)), !le.pixelBoxStyles() && _e.test(a) && Ve.test(t) && (r = u.width, i = u.minWidth, o = u.maxWidth, u.minWidth = u.maxWidth = u.width = a, a = n.width, u.width = r, u.minWidth = i, u.maxWidth = o)), void 0 !== a ? a + "" : a } function Ye(e, t) { return { get: function () { if (!e()) return (this.get = t).apply(this, arguments); delete this.get } } } !function () { function e() { if (l) { u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", J.appendChild(u).appendChild(l); var e = ie.getComputedStyle(l); n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), J.removeChild(u), l = null } } function t(e) { return Math.round(parseFloat(e)) } var n, r, i, o, a, s, u = C.createElement("div"), l = C.createElement("div"); l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", le.clearCloneStyle = "content-box" === l.style.backgroundClip, ce.extend(le, { boxSizingReliable: function () { return e(), r }, pixelBoxStyles: function () { return e(), o }, pixelPosition: function () { return e(), n }, reliableMarginLeft: function () { return e(), s }, scrollboxSize: function () { return e(), i }, reliableTrDimensions: function () { var e, t, n, r; return null == a && (e = C.createElement("table"), t = C.createElement("tr"), n = C.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "box-sizing:content-box;border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", J.appendChild(e).appendChild(t).appendChild(n), r = ie.getComputedStyle(t), a = parseInt(r.height, 10) + parseInt(r.borderTopWidth, 10) + parseInt(r.borderBottomWidth, 10) === t.offsetHeight, J.removeChild(e)), a } })) }(); var Qe = ["Webkit", "Moz", "ms"], Je = C.createElement("div").style, Ke = {}; function Ze(e) { var t = ce.cssProps[e] || Ke[e]; return t || (e in Je ? e : Ke[e] = function (e) { var t = e[0].toUpperCase() + e.slice(1), n = Qe.length; while (n--) if ((e = Qe[n] + t) in Je) return e }(e) || e) } var et = /^(none|table(?!-c[ea]).+)/, tt = { position: "absolute", visibility: "hidden", display: "block" }, nt = { letterSpacing: "0", fontWeight: "400" }; function rt(e, t, n) { var r = Y.exec(t); return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t } function it(e, t, n, r, i, o) { var a = "width" === t ? 1 : 0, s = 0, u = 0, l = 0; if (n === (r ? "border" : "content")) return 0; for (; a < 4; a += 2)"margin" === n && (l += ce.css(e, n + Q[a], !0, i)), r ? ("content" === n && (u -= ce.css(e, "padding" + Q[a], !0, i)), "margin" !== n && (u -= ce.css(e, "border" + Q[a] + "Width", !0, i))) : (u += ce.css(e, "padding" + Q[a], !0, i), "padding" !== n ? u += ce.css(e, "border" + Q[a] + "Width", !0, i) : s += ce.css(e, "border" + Q[a] + "Width", !0, i)); return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u + l } function ot(e, t, n) { var r = Xe(e), i = (!le.boxSizingReliable() || n) && "border-box" === ce.css(e, "boxSizing", !1, r), o = i, a = Ge(e, t, r), s = "offset" + t[0].toUpperCase() + t.slice(1); if (_e.test(a)) { if (!n) return a; a = "auto" } return (!le.boxSizingReliable() && i || !le.reliableTrDimensions() && fe(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === ce.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === ce.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + it(e, t, n || (i ? "border" : "content"), o, r, a) + "px" } function at(e, t, n, r, i) { return new at.prototype.init(e, t, n, r, i) } ce.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = Ge(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { animationIterationCount: !0, aspectRatio: !0, borderImageSlice: !0, columnCount: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, scale: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeMiterlimit: !0, strokeOpacity: !0 }, cssProps: {}, style: function (e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var i, o, a, s = F(t), u = ze.test(t), l = e.style; if (u || (t = Ze(s)), a = ce.cssHooks[t] || ce.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; "string" === (o = typeof n) && (i = Y.exec(n)) && i[1] && (n = te(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (ce.cssNumber[s] ? "" : "px")), le.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n)) } }, css: function (e, t, n, r) { var i, o, a, s = F(t); return ze.test(t) || (t = Ze(s)), (a = ce.cssHooks[t] || ce.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Ge(e, t, r)), "normal" === i && t in nt && (i = nt[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i } }), ce.each(["height", "width"], function (e, u) { ce.cssHooks[u] = { get: function (e, t, n) { if (t) return !et.test(ce.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? ot(e, u, n) : Ue(e, tt, function () { return ot(e, u, n) }) }, set: function (e, t, n) { var r, i = Xe(e), o = !le.scrollboxSize() && "absolute" === i.position, a = (o || n) && "border-box" === ce.css(e, "boxSizing", !1, i), s = n ? it(e, u, n, a, i) : 0; return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - it(e, u, "border", !1, i) - .5)), s && (r = Y.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = ce.css(e, u)), rt(0, t, s) } } }), ce.cssHooks.marginLeft = Ye(le.reliableMarginLeft, function (e, t) { if (t) return (parseFloat(Ge(e, "marginLeft")) || e.getBoundingClientRect().left - Ue(e, { marginLeft: 0 }, function () { return e.getBoundingClientRect().left })) + "px" }), ce.each({ margin: "", padding: "", border: "Width" }, function (i, o) { ce.cssHooks[i + o] = { expand: function (e) { for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++)n[i + Q[t] + o] = r[t] || r[t - 2] || r[0]; return n } }, "margin" !== i && (ce.cssHooks[i + o].set = rt) }), ce.fn.extend({ css: function (e, t) { return M(this, function (e, t, n) { var r, i, o = {}, a = 0; if (Array.isArray(t)) { for (r = Xe(e), i = t.length; a < i; a++)o[t[a]] = ce.css(e, t[a], !1, r); return o } return void 0 !== n ? ce.style(e, t, n) : ce.css(e, t) }, e, t, 1 < arguments.length) } }), ((ce.Tween = at).prototype = { constructor: at, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || ce.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (ce.cssNumber[n] ? "" : "px") }, cur: function () { var e = at.propHooks[this.prop]; return e && e.get ? e.get(this) : at.propHooks._default.get(this) }, run: function (e) { var t, n = at.propHooks[this.prop]; return this.options.duration ? this.pos = t = ce.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : at.propHooks._default.set(this), this } }).init.prototype = at.prototype, (at.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = ce.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 }, set: function (e) { ce.fx.step[e.prop] ? ce.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !ce.cssHooks[e.prop] && null == e.elem.style[Ze(e.prop)] ? e.elem[e.prop] = e.now : ce.style(e.elem, e.prop, e.now + e.unit) } } }).scrollTop = at.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, ce.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 }, _default: "swing" }, ce.fx = at.prototype.init, ce.fx.step = {}; var st, ut, lt, ct, ft = /^(?:toggle|show|hide)$/, pt = /queueHooks$/; function dt() { ut && (!1 === C.hidden && ie.requestAnimationFrame ? ie.requestAnimationFrame(dt) : ie.setTimeout(dt, ce.fx.interval), ce.fx.tick()) } function ht() { return ie.setTimeout(function () { st = void 0 }), st = Date.now() } function gt(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; r < 4; r += 2 - t)i["margin" + (n = Q[r])] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i } function vt(e, t, n) { for (var r, i = (yt.tweeners[t] || []).concat(yt.tweeners["*"]), o = 0, a = i.length; o < a; o++)if (r = i[o].call(n, t, e)) return r } function yt(o, e, t) { var n, a, r = 0, i = yt.prefilters.length, s = ce.Deferred().always(function () { delete u.elem }), u = function () { if (a) return !1; for (var e = st || ht(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++)l.tweens[r].run(n); return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1) }, l = s.promise({ elem: o, props: ce.extend({}, e), opts: ce.extend(!0, { specialEasing: {}, easing: ce.easing._default }, t), originalProperties: e, originalOptions: t, startTime: st || ht(), duration: t.duration, tweens: [], createTween: function (e, t) { var n = ce.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); return l.tweens.push(n), n }, stop: function (e) { var t = 0, n = e ? l.tweens.length : 0; if (a) return this; for (a = !0; t < n; t++)l.tweens[t].run(1); return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this } }), c = l.props; for (!function (e, t) { var n, r, i, o, a; for (n in e) if (i = t[r = F(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = ce.cssHooks[r]) && "expand" in a) for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); else t[r] = i }(c, l.opts.specialEasing); r < i; r++)if (n = yt.prefilters[r].call(l, o, c, l.opts)) return v(n.stop) && (ce._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; return ce.map(c, vt, l), v(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), ce.fx.timer(ce.extend(u, { elem: o, anim: l, queue: l.opts.queue })), l } ce.Animation = ce.extend(yt, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return te(n.elem, e, Y.exec(t), n), n }] }, tweener: function (e, t) { v(e) ? (t = e, e = ["*"]) : e = e.match(D); for (var n, r = 0, i = e.length; r < i; r++)n = e[r], yt.tweeners[n] = yt.tweeners[n] || [], yt.tweeners[n].unshift(t) }, prefilters: [function (e, t, n) { var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, p = this, d = {}, h = e.style, g = e.nodeType && ee(e), v = _.get(e, "fxshow"); for (r in n.queue || (null == (a = ce._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { a.unqueued || s() }), a.unqueued++, p.always(function () { p.always(function () { a.unqueued--, ce.queue(e, "fx").length || a.empty.fire() }) })), t) if (i = t[r], ft.test(i)) { if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { if ("show" !== i || !v || void 0 === v[r]) continue; g = !0 } d[r] = v && v[r] || ce.style(e, r) } if ((u = !ce.isEmptyObject(t)) || !ce.isEmptyObject(d)) for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = _.get(e, "display")), "none" === (c = ce.css(e, "display")) && (l ? c = l : (re([e], !0), l = e.style.display || l, c = ce.css(e, "display"), re([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === ce.css(e, "float") && (u || (p.done(function () { h.display = l }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] })), u = !1, d) u || (v ? "hidden" in v && (g = v.hidden) : v = _.access(e, "fxshow", { display: l }), o && (v.hidden = !g), g && re([e], !0), p.done(function () { for (r in g || re([e]), _.remove(e, "fxshow"), d) ce.style(e, r, d[r]) })), u = vt(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)) }], prefilter: function (e, t) { t ? yt.prefilters.unshift(e) : yt.prefilters.push(e) } }), ce.speed = function (e, t, n) { var r = e && "object" == typeof e ? ce.extend({}, e) : { complete: n || !n && t || v(e) && e, duration: e, easing: n && t || t && !v(t) && t }; return ce.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in ce.fx.speeds ? r.duration = ce.fx.speeds[r.duration] : r.duration = ce.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { v(r.old) && r.old.call(this), r.queue && ce.dequeue(this, r.queue) }, r }, ce.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(ee).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function (t, e, n, r) { var i = ce.isEmptyObject(t), o = ce.speed(e, n, r), a = function () { var e = yt(this, ce.extend({}, t), o); (i || _.get(this, "finish")) && e.stop(!0) }; return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) }, stop: function (i, e, o) { var a = function (e) { var t = e.stop; delete e.stop, t(o) }; return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function () { var e = !0, t = null != i && i + "queueHooks", n = ce.timers, r = _.get(this); if (t) r[t] && r[t].stop && a(r[t]); else for (t in r) r[t] && r[t].stop && pt.test(t) && a(r[t]); for (t = n.length; t--;)n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); !e && o || ce.dequeue(this, i) }) }, finish: function (a) { return !1 !== a && (a = a || "fx"), this.each(function () { var e, t = _.get(this), n = t[a + "queue"], r = t[a + "queueHooks"], i = ce.timers, o = n ? n.length : 0; for (t.finish = !0, ce.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;)i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); for (e = 0; e < o; e++)n[e] && n[e].finish && n[e].finish.call(this); delete t.finish }) } }), ce.each(["toggle", "show", "hide"], function (e, r) { var i = ce.fn[r]; ce.fn[r] = function (e, t, n) { return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(gt(r, !0), e, t, n) } }), ce.each({ slideDown: gt("show"), slideUp: gt("hide"), slideToggle: gt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, r) { ce.fn[e] = function (e, t, n) { return this.animate(r, e, t, n) } }), ce.timers = [], ce.fx.tick = function () { var e, t = 0, n = ce.timers; for (st = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || ce.fx.stop(), st = void 0 }, ce.fx.timer = function (e) { ce.timers.push(e), ce.fx.start() }, ce.fx.interval = 13, ce.fx.start = function () { ut || (ut = !0, dt()) }, ce.fx.stop = function () { ut = null }, ce.fx.speeds = { slow: 600, fast: 200, _default: 400 }, ce.fn.delay = function (r, e) { return r = ce.fx && ce.fx.speeds[r] || r, e = e || "fx", this.queue(e, function (e, t) { var n = ie.setTimeout(e, r); t.stop = function () { ie.clearTimeout(n) } }) }, lt = C.createElement("input"), ct = C.createElement("select").appendChild(C.createElement("option")), lt.type = "checkbox", le.checkOn = "" !== lt.value, le.optSelected = ct.selected, (lt = C.createElement("input")).value = "t", lt.type = "radio", le.radioValue = "t" === lt.value; var mt, xt = ce.expr.attrHandle; ce.fn.extend({ attr: function (e, t) { return M(this, ce.attr, e, t, 1 < arguments.length) }, removeAttr: function (e) { return this.each(function () { ce.removeAttr(this, e) }) } }), ce.extend({ attr: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? ce.prop(e, t, n) : (1 === o && ce.isXMLDoc(e) || (i = ce.attrHooks[t.toLowerCase()] || (ce.expr.match.bool.test(t) ? mt : void 0)), void 0 !== n ? null === n ? void ce.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = ce.find.attr(e, t)) ? void 0 : r) }, attrHooks: { type: { set: function (e, t) { if (!le.radioValue && "radio" === t && fe(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, removeAttr: function (e, t) { var n, r = 0, i = t && t.match(D); if (i && 1 === e.nodeType) while (n = i[r++]) e.removeAttribute(n) } }), mt = { set: function (e, t, n) { return !1 === t ? ce.removeAttr(e, n) : e.setAttribute(n, n), n } }, ce.each(ce.expr.match.bool.source.match(/\w+/g), function (e, t) { var a = xt[t] || ce.find.attr; xt[t] = function (e, t, n) { var r, i, o = t.toLowerCase(); return n || (i = xt[o], xt[o] = r, r = null != a(e, t, n) ? o : null, xt[o] = i), r } }); var bt = /^(?:input|select|textarea|button)$/i, wt = /^(?:a|area)$/i; function Tt(e) { return (e.match(D) || []).join(" ") } function Ct(e) { return e.getAttribute && e.getAttribute("class") || "" } function kt(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(D) || [] } ce.fn.extend({ prop: function (e, t) { return M(this, ce.prop, e, t, 1 < arguments.length) }, removeProp: function (e) { return this.each(function () { delete this[ce.propFix[e] || e] }) } }), ce.extend({ prop: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && ce.isXMLDoc(e) || (t = ce.propFix[t] || t, i = ce.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] }, propHooks: { tabIndex: { get: function (e) { var t = ce.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : bt.test(e.nodeName) || wt.test(e.nodeName) && e.href ? 0 : -1 } } }, propFix: { "for": "htmlFor", "class": "className" } }), le.optSelected || (ce.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) } }), ce.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { ce.propFix[this.toLowerCase()] = this }), ce.fn.extend({ addClass: function (t) { var e, n, r, i, o, a; return v(t) ? this.each(function (e) { ce(this).addClass(t.call(this, e, Ct(this))) }) : (e = kt(t)).length ? this.each(function () { if (r = Ct(this), n = 1 === this.nodeType && " " + Tt(r) + " ") { for (o = 0; o < e.length; o++)i = e[o], n.indexOf(" " + i + " ") < 0 && (n += i + " "); a = Tt(n), r !== a && this.setAttribute("class", a) } }) : this }, removeClass: function (t) { var e, n, r, i, o, a; return v(t) ? this.each(function (e) { ce(this).removeClass(t.call(this, e, Ct(this))) }) : arguments.length ? (e = kt(t)).length ? this.each(function () { if (r = Ct(this), n = 1 === this.nodeType && " " + Tt(r) + " ") { for (o = 0; o < e.length; o++) { i = e[o]; while (-1 < n.indexOf(" " + i + " ")) n = n.replace(" " + i + " ", " ") } a = Tt(n), r !== a && this.setAttribute("class", a) } }) : this : this.attr("class", "") }, toggleClass: function (t, n) { var e, r, i, o, a = typeof t, s = "string" === a || Array.isArray(t); return v(t) ? this.each(function (e) { ce(this).toggleClass(t.call(this, e, Ct(this), n), n) }) : "boolean" == typeof n && s ? n ? this.addClass(t) : this.removeClass(t) : (e = kt(t), this.each(function () { if (s) for (o = ce(this), i = 0; i < e.length; i++)r = e[i], o.hasClass(r) ? o.removeClass(r) : o.addClass(r); else void 0 !== t && "boolean" !== a || ((r = Ct(this)) && _.set(this, "__className__", r), this.setAttribute && this.setAttribute("class", r || !1 === t ? "" : _.get(this, "__className__") || "")) })) }, hasClass: function (e) { var t, n, r = 0; t = " " + e + " "; while (n = this[r++]) if (1 === n.nodeType && -1 < (" " + Tt(Ct(n)) + " ").indexOf(t)) return !0; return !1 } }); var St = /\r/g; ce.fn.extend({ val: function (n) { var r, e, i, t = this[0]; return arguments.length ? (i = v(n), this.each(function (e) { var t; 1 === this.nodeType && (null == (t = i ? n.call(this, e, ce(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = ce.map(t, function (e) { return null == e ? "" : e + "" })), (r = ce.valHooks[this.type] || ce.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)) })) : t ? (r = ce.valHooks[t.type] || ce.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof (e = t.value) ? e.replace(St, "") : null == e ? "" : e : void 0 } }), ce.extend({ valHooks: { option: { get: function (e) { var t = ce.find.attr(e, "value"); return null != t ? t : Tt(ce.text(e)) } }, select: { get: function (e) { var t, n, r, i = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], u = a ? o + 1 : i.length; for (r = o < 0 ? u : a ? o : 0; r < u; r++)if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !fe(n.parentNode, "optgroup"))) { if (t = ce(n).val(), a) return t; s.push(t) } return s }, set: function (e, t) { var n, r, i = e.options, o = ce.makeArray(t), a = i.length; while (a--) ((r = i[a]).selected = -1 < ce.inArray(ce.valHooks.option.get(r), o)) && (n = !0); return n || (e.selectedIndex = -1), o } } } }), ce.each(["radio", "checkbox"], function () { ce.valHooks[this] = { set: function (e, t) { if (Array.isArray(t)) return e.checked = -1 < ce.inArray(ce(e).val(), t) } }, le.checkOn || (ce.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value }) }); var Et = ie.location, jt = { guid: Date.now() }, At = /\?/; ce.parseXML = function (e) { var t, n; if (!e || "string" != typeof e) return null; try { t = (new ie.DOMParser).parseFromString(e, "text/xml") } catch (e) { } return n = t && t.getElementsByTagName("parsererror")[0], t && !n || ce.error("Invalid XML: " + (n ? ce.map(n.childNodes, function (e) { return e.textContent }).join("\n") : e)), t }; var Dt = /^(?:focusinfocus|focusoutblur)$/, Nt = function (e) { e.stopPropagation() }; ce.extend(ce.event, { trigger: function (e, t, n, r) { var i, o, a, s, u, l, c, f, p = [n || C], d = ue.call(e, "type") ? e.type : e, h = ue.call(e, "namespace") ? e.namespace.split(".") : []; if (o = f = a = n = n || C, 3 !== n.nodeType && 8 !== n.nodeType && !Dt.test(d + ce.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[ce.expando] ? e : new ce.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : ce.makeArray(t, [e]), c = ce.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) { if (!r && !c.noBubble && !y(n)) { for (s = c.delegateType || d, Dt.test(s + d) || (o = o.parentNode); o; o = o.parentNode)p.push(o), a = o; a === (n.ownerDocument || C) && p.push(a.defaultView || a.parentWindow || ie) } i = 0; while ((o = p[i++]) && !e.isPropagationStopped()) f = o, e.type = 1 < i ? s : c.bindType || d, (l = (_.get(o, "events") || Object.create(null))[e.type] && _.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && $(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault()); return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !$(n) || u && v(n[d]) && !y(n) && ((a = n[u]) && (n[u] = null), ce.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, Nt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, Nt), ce.event.triggered = void 0, a && (n[u] = a)), e.result } }, simulate: function (e, t, n) { var r = ce.extend(new ce.Event, n, { type: e, isSimulated: !0 }); ce.event.trigger(r, null, t) } }), ce.fn.extend({ trigger: function (e, t) { return this.each(function () { ce.event.trigger(e, t, this) }) }, triggerHandler: function (e, t) { var n = this[0]; if (n) return ce.event.trigger(e, t, n, !0) } }); var qt = /\[\]$/, Lt = /\r?\n/g, Ht = /^(?:submit|button|image|reset|file)$/i, Ot = /^(?:input|select|textarea|keygen)/i; function Pt(n, e, r, i) { var t; if (Array.isArray(e)) ce.each(e, function (e, t) { r || qt.test(n) ? i(n, t) : Pt(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i) }); else if (r || "object" !== x(e)) i(n, e); else for (t in e) Pt(n + "[" + t + "]", e[t], r, i) } ce.param = function (e, t) { var n, r = [], i = function (e, t) { var n = v(t) ? t() : t; r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) }; if (null == e) return ""; if (Array.isArray(e) || e.jquery && !ce.isPlainObject(e)) ce.each(e, function () { i(this.name, this.value) }); else for (n in e) Pt(n, e[n], t, i); return r.join("&") }, ce.fn.extend({ serialize: function () { return ce.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { var e = ce.prop(this, "elements"); return e ? ce.makeArray(e) : this }).filter(function () { var e = this.type; return this.name && !ce(this).is(":disabled") && Ot.test(this.nodeName) && !Ht.test(e) && (this.checked || !we.test(e)) }).map(function (e, t) { var n = ce(this).val(); return null == n ? null : Array.isArray(n) ? ce.map(n, function (e) { return { name: t.name, value: e.replace(Lt, "\r\n") } }) : { name: t.name, value: n.replace(Lt, "\r\n") } }).get() } }); var Mt = /%20/g, Rt = /#.*$/, It = /([?&])_=[^&]*/, Wt = /^(.*?):[ \t]*([^\r\n]*)$/gm, Ft = /^(?:GET|HEAD)$/, $t = /^\/\//, Bt = {}, _t = {}, zt = "*/".concat("*"), Xt = C.createElement("a"); function Ut(o) { return function (e, t) { "string" != typeof e && (t = e, e = "*"); var n, r = 0, i = e.toLowerCase().match(D) || []; if (v(t)) while (n = i[r++]) "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t) } } function Vt(t, i, o, a) { var s = {}, u = t === _t; function l(e) { var r; return s[e] = !0, ce.each(t[e] || [], function (e, t) { var n = t(i, o, a); return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1) }), r } return l(i.dataTypes[0]) || !s["*"] && l("*") } function Gt(e, t) { var n, r, i = ce.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && ce.extend(!0, e, r), e } Xt.href = Et.href, ce.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Et.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": zt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": ce.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? Gt(Gt(e, ce.ajaxSettings), t) : Gt(ce.ajaxSettings, e) }, ajaxPrefilter: Ut(Bt), ajaxTransport: Ut(_t), ajax: function (e, t) { "object" == typeof e && (t = e, e = void 0), t = t || {}; var c, f, p, n, d, r, h, g, i, o, v = ce.ajaxSetup({}, t), y = v.context || v, m = v.context && (y.nodeType || y.jquery) ? ce(y) : ce.event, x = ce.Deferred(), b = ce.Callbacks("once memory"), w = v.statusCode || {}, a = {}, s = {}, u = "canceled", T = { readyState: 0, getResponseHeader: function (e) { var t; if (h) { if (!n) { n = {}; while (t = Wt.exec(p)) n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]) } t = n[e.toLowerCase() + " "] } return null == t ? null : t.join(", ") }, getAllResponseHeaders: function () { return h ? p : null }, setRequestHeader: function (e, t) { return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this }, overrideMimeType: function (e) { return null == h && (v.mimeType = e), this }, statusCode: function (e) { var t; if (e) if (h) T.always(e[T.status]); else for (t in e) w[t] = [w[t], e[t]]; return this }, abort: function (e) { var t = e || u; return c && c.abort(t), l(0, t), this } }; if (x.promise(T), v.url = ((e || v.url || Et.href) + "").replace($t, Et.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(D) || [""], null == v.crossDomain) { r = C.createElement("a"); try { r.href = v.url, r.href = r.href, v.crossDomain = Xt.protocol + "//" + Xt.host != r.protocol + "//" + r.host } catch (e) { v.crossDomain = !0 } } if (v.data && v.processData && "string" != typeof v.data && (v.data = ce.param(v.data, v.traditional)), Vt(Bt, v, t, T), h) return T; for (i in (g = ce.event && v.global) && 0 == ce.active++ && ce.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Ft.test(v.type), f = v.url.replace(Rt, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(Mt, "+")) : (o = v.url.slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (At.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(It, "$1"), o = (At.test(f) ? "&" : "?") + "_=" + jt.guid++ + o), v.url = f + o), v.ifModified && (ce.lastModified[f] && T.setRequestHeader("If-Modified-Since", ce.lastModified[f]), ce.etag[f] && T.setRequestHeader("If-None-Match", ce.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + zt + "; q=0.01" : "") : v.accepts["*"]), v.headers) T.setRequestHeader(i, v.headers[i]); if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) return T.abort(); if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Vt(_t, v, t, T)) { if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h) return T; v.async && 0 < v.timeout && (d = ie.setTimeout(function () { T.abort("timeout") }, v.timeout)); try { h = !1, c.send(a, l) } catch (e) { if (h) throw e; l(-1, e) } } else l(-1, "No Transport"); function l(e, t, n, r) { var i, o, a, s, u, l = t; h || (h = !0, d && ie.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) { var r, i, o, a, s = e.contents, u = e.dataTypes; while ("*" === u[0]) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r) for (i in s) if (s[i] && s[i].test(r)) { u.unshift(i); break } if (u[0] in n) o = u[0]; else { for (i in n) { if (!u[0] || e.converters[i + " " + u[0]]) { o = i; break } a || (a = i) } o = o || a } if (o) return o !== u[0] && u.unshift(o), n[o] }(v, T, n)), !i && -1 < ce.inArray("script", v.dataTypes) && ce.inArray("json", v.dataTypes) < 0 && (v.converters["text script"] = function () { }), s = function (e, t, n, r) { var i, o, a, s, u, l = {}, c = e.dataTypes.slice(); if (c[1]) for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; o = c.shift(); while (o) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if ("*" === o) o = u; else if ("*" !== u && u !== o) { if (!(a = l[u + " " + o] || l["* " + o])) for (i in l) if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) { !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1])); break } if (!0 !== a) if (a && e["throws"]) t = a(t); else try { t = a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + u + " to " + o } } } return { state: "success", data: t } }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (ce.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (ce.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --ce.active || ce.event.trigger("ajaxStop"))) } return T }, getJSON: function (e, t, n) { return ce.get(e, t, n, "json") }, getScript: function (e, t) { return ce.get(e, void 0, t, "script") } }), ce.each(["get", "post"], function (e, i) { ce[i] = function (e, t, n, r) { return v(t) && (r = r || n, n = t, t = void 0), ce.ajax(ce.extend({ url: e, type: i, dataType: r, data: t, success: n }, ce.isPlainObject(e) && e)) } }), ce.ajaxPrefilter(function (e) { var t; for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") }), ce._evalUrl = function (e, t, n) { return ce.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { ce.globalEval(e, t, n) } }) }, ce.fn.extend({ wrapAll: function (e) { var t; return this[0] && (v(e) && (e = e.call(this[0])), t = ce(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () { var e = this; while (e.firstElementChild) e = e.firstElementChild; return e }).append(this)), this }, wrapInner: function (n) { return v(n) ? this.each(function (e) { ce(this).wrapInner(n.call(this, e)) }) : this.each(function () { var e = ce(this), t = e.contents(); t.length ? t.wrapAll(n) : e.append(n) }) }, wrap: function (t) { var n = v(t); return this.each(function (e) { ce(this).wrapAll(n ? t.call(this, e) : t) }) }, unwrap: function (e) { return this.parent(e).not("body").each(function () { ce(this).replaceWith(this.childNodes) }), this } }), ce.expr.pseudos.hidden = function (e) { return !ce.expr.pseudos.visible(e) }, ce.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) }, ce.ajaxSettings.xhr = function () { try { return new ie.XMLHttpRequest } catch (e) { } }; var Yt = { 0: 200, 1223: 204 }, Qt = ce.ajaxSettings.xhr(); le.cors = !!Qt && "withCredentials" in Qt, le.ajax = Qt = !!Qt, ce.ajaxTransport(function (i) { var o, a; if (le.cors || Qt && !i.crossDomain) return { send: function (e, t) { var n, r = i.xhr(); if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields) for (n in i.xhrFields) r[n] = i.xhrFields[n]; for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) r.setRequestHeader(n, e[n]); o = function (e) { return function () { o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(Yt[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { binary: r.response } : { text: r.responseText }, r.getAllResponseHeaders())) } }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () { 4 === r.readyState && ie.setTimeout(function () { o && a() }) }, o = o("abort"); try { r.send(i.hasContent && i.data || null) } catch (e) { if (o) throw e } }, abort: function () { o && o() } } }), ce.ajaxPrefilter(function (e) { e.crossDomain && (e.contents.script = !1) }), ce.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return ce.globalEval(e), e } } }), ce.ajaxPrefilter("script", function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") }), ce.ajaxTransport("script", function (n) { var r, i; if (n.crossDomain || n.scriptAttrs) return { send: function (e, t) { r = ce("<script>").attr(n.scriptAttrs || {}).prop({ charset: n.scriptCharset, src: n.url }).on("load error", i = function (e) { r.remove(), i = null, e && t("error" === e.type ? 404 : 200, e.type) }), C.head.appendChild(r[0]) }, abort: function () { i && i() } } }); var Jt, Kt = [], Zt = /(=)\?(?=&|$)|\?\?/; ce.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Kt.pop() || ce.expando + "_" + jt.guid++; return this[e] = !0, e } }), ce.ajaxPrefilter("json jsonp", function (e, t, n) { var r, i, o, a = !1 !== e.jsonp && (Zt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Zt.test(e.data) && "data"); if (a || "jsonp" === e.dataTypes[0]) return r = e.jsonpCallback = v(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Zt, "$1" + r) : !1 !== e.jsonp && (e.url += (At.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function () { return o || ce.error(r + " was not called"), o[0] }, e.dataTypes[0] = "json", i = ie[r], ie[r] = function () { o = arguments }, n.always(function () { void 0 === i ? ce(ie).removeProp(r) : ie[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, Kt.push(r)), o && v(i) && i(o[0]), o = i = void 0 }), "script" }), le.createHTMLDocument = ((Jt = C.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Jt.childNodes.length), ce.parseHTML = function (e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (le.createHTMLDocument ? ((r = (t = C.implementation.createHTMLDocument("")).createElement("base")).href = C.location.href, t.head.appendChild(r)) : t = C), o = !n && [], (i = w.exec(e)) ? [t.createElement(i[1])] : (i = Ae([e], t, o), o && o.length && ce(o).remove(), ce.merge([], i.childNodes))); var r, i, o }, ce.fn.load = function (e, t, n) { var r, i, o, a = this, s = e.indexOf(" "); return -1 < s && (r = Tt(e.slice(s)), e = e.slice(0, s)), v(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && ce.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done(function (e) { o = arguments, a.html(r ? ce("<div>").append(ce.parseHTML(e)).find(r) : e) }).always(n && function (e, t) { a.each(function () { n.apply(this, o || [e.responseText, t, e]) }) }), this }, ce.expr.pseudos.animated = function (t) { return ce.grep(ce.timers, function (e) { return t === e.elem }).length }, ce.offset = { setOffset: function (e, t, n) { var r, i, o, a, s, u, l = ce.css(e, "position"), c = ce(e), f = {}; "static" === l && (e.style.position = "relative"), s = c.offset(), o = ce.css(e, "top"), u = ce.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), v(t) && (t = t.call(e, n, ce.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : c.css(f) } }, ce.fn.extend({ offset: function (t) { if (arguments.length) return void 0 === t ? this : this.each(function (e) { ce.offset.setOffset(this, t, e) }); var e, n, r = this[0]; return r ? r.getClientRects().length ? (e = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: e.top + n.pageYOffset, left: e.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0 }, position: function () { if (this[0]) { var e, t, n, r = this[0], i = { top: 0, left: 0 }; if ("fixed" === ce.css(r, "position")) t = r.getBoundingClientRect(); else { t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; while (e && (e === n.body || e === n.documentElement) && "static" === ce.css(e, "position")) e = e.parentNode; e && e !== r && 1 === e.nodeType && ((i = ce(e).offset()).top += ce.css(e, "borderTopWidth", !0), i.left += ce.css(e, "borderLeftWidth", !0)) } return { top: t.top - i.top - ce.css(r, "marginTop", !0), left: t.left - i.left - ce.css(r, "marginLeft", !0) } } }, offsetParent: function () { return this.map(function () { var e = this.offsetParent; while (e && "static" === ce.css(e, "position")) e = e.offsetParent; return e || J }) } }), ce.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (t, i) { var o = "pageYOffset" === i; ce.fn[t] = function (e) { return M(this, function (e, t, n) { var r; if (y(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === n) return r ? r[i] : e[t]; r ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset) : e[t] = n }, t, e, arguments.length) } }), ce.each(["top", "left"], function (e, n) { ce.cssHooks[n] = Ye(le.pixelPosition, function (e, t) { if (t) return t = Ge(e, n), _e.test(t) ? ce(e).position()[n] + "px" : t }) }), ce.each({ Height: "height", Width: "width" }, function (a, s) { ce.each({ padding: "inner" + a, content: s, "": "outer" + a }, function (r, o) { ce.fn[o] = function (e, t) { var n = arguments.length && (r || "boolean" != typeof e), i = r || (!0 === e || !0 === t ? "margin" : "border"); return M(this, function (e, t, n) { var r; return y(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + a], r["scroll" + a], e.body["offset" + a], r["offset" + a], r["client" + a])) : void 0 === n ? ce.css(e, t, i) : ce.style(e, t, n, i) }, s, n ? e : void 0, n) } }) }), ce.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { ce.fn[t] = function (e) { return this.on(t, e) } }), ce.fn.extend({ bind: function (e, t, n) { return this.on(e, null, t, n) }, unbind: function (e, t) { return this.off(e, null, t) }, delegate: function (e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) }, hover: function (e, t) { return this.on("mouseenter", e).on("mouseleave", t || e) } }), ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, n) { ce.fn[n] = function (e, t) { return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n) } }); var en = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; ce.proxy = function (e, t) { var n, r, i; if ("string" == typeof t && (n = e[t], t = e, e = n), v(e)) return r = ae.call(arguments, 2), (i = function () { return e.apply(t || this, r.concat(ae.call(arguments))) }).guid = e.guid = e.guid || ce.guid++, i }, ce.holdReady = function (e) { e ? ce.readyWait++ : ce.ready(!0) }, ce.isArray = Array.isArray, ce.parseJSON = JSON.parse, ce.nodeName = fe, ce.isFunction = v, ce.isWindow = y, ce.camelCase = F, ce.type = x, ce.now = Date.now, ce.isNumeric = function (e) { var t = ce.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) }, ce.trim = function (e) { return null == e ? "" : (e + "").replace(en, "$1") }, "function" == typeof define && define.amd && define("jquery", [], function () { return ce }); var tn = ie.jQuery, nn = ie.$; return ce.noConflict = function (e) { return ie.$ === ce && (ie.$ = nn), e && ie.jQuery === ce && (ie.jQuery = tn), ce }, "undefined" == typeof e && (ie.jQuery = ie.$ = ce), ce });</script> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/navbar.min.js?v=2.8"></script> <!-- Fim js's --> <script> (function () { var docElem = document.documentElement; window.lazySizesConfig = window.lazySizesConfig || {}; window.lazySizesConfig.loadMode = 1; window.lazySizesConfig.expand = Math.max(Math.min(docElem.clientWidth, docElem.clientHeight, 1222) - 1, 359); window.lazySizesConfig.expFactor = lazySizesConfig.expand < 380 ? 3 : 2; })(); </script> <!-- Google Tag Manager --> <script>(function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-NN3B2C2');</script> <!-- End Google Tag Manager --> <!-- Facebook Pixel Code --> <script> !function (f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '660369728267137'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=660369728267137&ev=PageView&noscript=1" /></noscript> <!-- End Facebook Pixel Code --> <!-- PUB BUNDLE--> <script src="https://rfmsite2023-images.azureedge.net/js/pub/tagbundle.js?v=2.8"></script> <script> //targeting page level tagBundleConfig.targeting = { segmentacao: ['videos'] } </script> <!-- Para limitar a altura para o formato fluid aplicar a css--> <style> .stickyBottom {max-height: 100px; } </style> <!-- PUB BUNDLE--> <!-- PUB BUNDLE STICK--> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/pub/stick.min.js?v=2.8" as="script" /> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/pub/stick.min.js?v=2.8"></script> <!--Anti-AdBlocker: AD BLOCKING RECOVERY TAG --> <script async src="https://fundingchoicesmessages.google.com/i/pub-9376757882493680?ers=1" nonce="-JtmwVSv3mOryevFq_Bkhw"></script> <script nonce="-JtmwVSv3mOryevFq_Bkhw">(function () { function signalGooglefcPresent() { if (!window.frames['googlefcPresent']) { if (document.body) { const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe); } else { setTimeout(signalGooglefcPresent, 0); } } } signalGooglefcPresent(); })();</script> <script src="https://rfmsite2023-images.azureedge.net/js/pub/anti-adblocker.js?v=2.8"></script> <!-- inMobi Consent--> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NN3B2C2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- PUB BUNDLE--> <div id="sticky_Bottom"> <ad-placement class="stickyBottom" format="stickyBottom" adunit="RFM/rfm_ros_stickyBottom"></ad-placement> </div> <!-- PUB BUNDLE--> <script type="text/javascript"> var nonioenabled =false; </script> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/nonio/noniogatting.min.js?v=2.8"></script> <div id="wrapperContentGatingNonio" style="display: none;"> <div class="maskContentGatingNonio"> <!--caixa esquerda--> <div class="left-columnContentGatingNonio"> <div class="logotipoContentGatingNonio" style="background-image: url('https://images.rr.pt/logo_rfm_white6036587e.png')"></div> <div class="h-2ContentGatingNonio hidedesktopContentGatingNonio"> Para continuar a ler, <div class="h4rep">registe-se no Nónio</div> </div> <div class="h-1ContentGatingNonio hidemobileContentGatingNonio">Olá, para continuar a ler os nossos conteúdos e garantir o acesso aos melhores sites portugueses faça já o seu registo. </div> <div class="vantagensContentGatingNonio"> <div> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background: new 0 0 20 20;" xml:space="preserve"> <g> <path class="st0ContentGatingNonio" d="M10,0.2c-5.4,0-9.9,4.4-9.9,9.9c0,5.4,4.4,9.9,9.9,9.9s9.9-4.4,9.9-9.9C19.8,4.6,15.4,0.2,10,0.2z M10,18.6 c-4.7,0-8.6-3.8-8.6-8.6S5.2,1.4,10,1.4s8.6,3.8,8.6,8.6S14.7,18.6,10,18.6z" /> <polygon class="st0ContentGatingNonio" points="8.3,11.6 6,8.9 5,9.7 7.3,12.4 8.2,13.4 9.2,12.6 15,7.6 14.1,6.6 " /> </g> </svg> Acesso aos melhores conteúdos </div> <div> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background: new 0 0 20 20;" xml:space="preserve"> <g> <path class="st0ContentGatingNonio" d="M10,0.2c-5.4,0-9.9,4.4-9.9,9.9c0,5.4,4.4,9.9,9.9,9.9s9.9-4.4,9.9-9.9C19.8,4.6,15.4,0.2,10,0.2z M10,18.6 c-4.7,0-8.6-3.8-8.6-8.6S5.2,1.4,10,1.4s8.6,3.8,8.6,8.6S14.7,18.6,10,18.6z" /> <polygon class="st0ContentGatingNonio" points="8.3,11.6 6,8.9 5,9.7 7.3,12.4 8.2,13.4 9.2,12.6 15,7.6 14.1,6.6 " /> </g> </svg> Simples: Registo único em menos de 1 minuto </div> <div> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background: new 0 0 20 20;" xml:space="preserve"> <g> <path class="st0ContentGatingNonio" d="M10,0.2c-5.4,0-9.9,4.4-9.9,9.9c0,5.4,4.4,9.9,9.9,9.9s9.9-4.4,9.9-9.9C19.8,4.6,15.4,0.2,10,0.2z M10,18.6 c-4.7,0-8.6-3.8-8.6-8.6S5.2,1.4,10,1.4s8.6,3.8,8.6,8.6S14.7,18.6,10,18.6z" /> <polygon class="st0ContentGatingNonio" points="8.3,11.6 6,8.9 5,9.7 7.3,12.4 8.2,13.4 9.2,12.6 15,7.6 14.1,6.6 " /> </g> </svg> Um único login que lhe dá acesso permanente a este e aos mais de 70 sites de media portugueses, que fazem parte do NÓNIO </div> <div> <a style="color: white; text-decoration: none;" href="https://rfm.pt/" target="_self" title="Home Page">Voltar à homepage do site</a> </div> </div> </div> <!-- Caixa direita--> <!-- Caixa direita--> <div class="right-columnContentGatingNonio" style="overflow: hidden;"> <div id="cg" style="overflow-y: auto; height: 100%; min-height: 540px; max-height: 540px; margin-top: 5px; margin-bottom: 41px;"></div> <div class="assNonioContentGatingNonio"><a href="https://nonio.net/" target="_new"> <img alt="logo nonio" class="nonio-imgContentGatingNonio" width="64" src="https://rrsite-images.azureedge.net/img/ico-nonio.svg" /> Fique por dentro > </a></div> </div> </div> </div> <!-- nonio wrapper e--> <!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| --> <div class="s-mod search-hide"> <div class="c-but"> <div id="close-but2" class="mn-ico"> <div class='search-toggle' title='Fechar pesquisa'> <div class='bar-s1'></div> <div class='bar-s3'></div> </div> </div> </div> <div class="search-box"> <input class="searchBox" type="text" placeholder="O termo da tua pesquisa ..." name="search"> <button id="pesquisar" class="x-btn quarter-left-space" role="button" title="Pesquisar"> <div class="x-btn-bg bgc-light-red"></div> <p class="x-btn-lb txtc-red">Pesquisar</p> </button> </div> </div> <script src="https://rfmsite2023-images.azureedge.net/js/pesquisa.min.js?v=2.8"></script> <!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||--> <!-- MAIN NAV --> <nav class="nav-hide"> <div class="c-but"> <div id="close-but" class="mn-ico"> <div class='search-toggle' title='Fechar menu'> <div class='bar-s1'></div> <div class='bar-s3'></div> </div> </div> </div> <ul> <li><h2 class="bgbox"><a href="https://rfm.pt/atualidade" target="_self" data-text="Atualidade">Atualidade</a></h2></li> <li><h2 class="bgbox"><a href="https://rfm.pt/radios" target="_self" data-text="Rádios">Rádios</a></h2></li> <li><h2 class="bgbox"><a href="https://rfm.pt/programas" target="_self" data-text="Programas">Programas</a></h2></li> <li><h2 class="bgbox"><a href="https://rfm.pt/podcasts" target="_self" data-text="Podcasts">Podcasts</a></h2></li> <li><h2 class="bgbox"><a href="https://rfm.pt/videos" target="_self" data-text="Vídeos">Vídeos</a></h2></li> <li><h2 class="bgbox"><a href="https://rfm.pt/eventos-rfm" target="_self" data-text="Eventos RFM">Eventos RFM</a></h2></li> <li><h2 class="bgbox"><a href="https://rfm.pt/a-rfm" target="_self" data-text="A RFM">A RFM</a></h2></li> </ul> </nav> <!-- BILLBOARD --> <section id='top-pub'><div class='pub-info-bb'>PUB</div><div class='pub-bb'><ad-placement format='Billboard' adunit='RFM/rfm_ros_Billboard'></ad-placement></div></section> <!-- MAIN GRID --> <div class="main-gta"> <header class="header sticky"> <!-- BARRA TOPO EXTRAS --> <!-- MAIN NAV --> <section id="top-extras"> <div class="extra-nav"> <div class="cx-pesq-notif"> <!-- Notifications Begins --> <div class="ico-alert half-right-space"> <a href="https://rfm.pt/notificacoes-rfm" target="_self" title="Notificações da RFM"> <img data-src="https://rfmsite2023-images.azureedge.net/images/ico-alert.svg" width="35" height="35" alt="Notificações da RFM" title="Notificações da RFM" class="lazyload" /> </a> <!-- PopNotificacoes --> <!-- Fim PopNotificacoes --> </div> <!-- Notifications Ends --> <div class="ico-search half-right-space"> <a href="#" title="Pesquisar no site"> <img data-src="https://rfmsite2023-images.azureedge.net/images/ico-search.svg" width="35" height="32" alt="Pesquisar no site" title="Pesquisar no site" class="lazyload" /> </a> </div> </div> <!-- Nonio --> <div class="cx-nonio"> <!-- Nonio RFM --> <script type="text/javascript"> var nonioShowCaptcha = 'false'; console.log('nonioShowCaptcha=' + nonioShowCaptcha); </script> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/nonio/functions_nonio.min.js?v=2.8"></script> <div id="gigyaUserLoggedOut" style="display: none;"> <button class="x-btn half-right-space" onclick="New_Login();" role="button"> <div class="x-btn-bg bgc-light-red"></div> <p class="x-btn-lb txtc-red">Login</p> </button> <a href="#" class="lnk-white fw-bold half-right-space" style="cursor: pointer" onclick="Register();" title="Novo Registo">Novo Registo</a> </div> <div id="gigyaUserLoggedIn" style="display: none;"> <a href="#" class="lnk-white half-right-space hide-xsmall hide-small large" style="cursor: pointer" onclick="Update_User();">Olá <span id="gigyaFirstName"></span></a> <a href="#" class="lnk-white fw-bold half-right-space" style="cursor: pointer" onclick="Update_User();">Editar Perfil</a> <button onclick="LogOut();" class="x-btn half-right-space" role="button"> <div class="x-btn-bg bgc-light-red"></div> <p class="x-btn-lb txtc-red">Logout</p> </button> </div> <!-- Nonio RFM END--> </div> <!-- Nonio END --> </div> </section> <!-- TOPO BEGINS --> <section id="top-bar"> <!-- 3 x line --> <div class="top-triade"> <!-- Ico Nav --> <div class="mn-but mn-circle"> <div class="mn-ico"> <div class='navbar-toggle' title='Menu'> <div class='bar1'></div> <div class='bar2'></div> <div class='bar3'></div> <div class="bar-txt-mn">menu</div> </div> </div> </div> <!-- RFM Logo --> <a href="https://rfm.pt/" target="_self" title="RFM - Só Grandes Músicas"> <img src="https://rfmsite2023-images.azureedge.net/images/RFM-Superbrand-2025_logo.png" width="220" height="95" class="ic-lg-extra lazyload" title="RFM Superbrands 2025 - Ir para a homepage RFM" alt="RFM Superbrands 2025 - Ir para a homepage RFM" /> </a> <!-- Ico Play --> <a href="https://rfm.pt/ouvir-emissao-rfm" rel="noopener" target="_blank" title="Ouvir a Rádio Online RFM" class="player-play"> <div class="mn-circle"> <div class="mn-ico"> <div class='ico-play'></div> <div class="bar-txt-play">ouvir</div> </div> </div> </a> </div> </section> </header> <!-- Métricas --> <!-- netScope v4 r1 – Begin of gPrism tag --> <script type="text/javascript"> <!--//--><![CDATA[//><!-- var pp_gemius_identifier = 'ndpAgrN_Kzod77shLEP21NTIDiGBXmcVepuwGVz.3HD.A7'; var pp_gemius_extraparameters = new Array('gA=Videos/VideosHome'); // lines below shouldn't be edited function gemius_pending(i) { window[i] = window[i] || function () { var x = window[i + '_pdata'] = window[i + '_pdata'] || []; x[x.length] = arguments; }; }; gemius_pending('gemius_hit'); gemius_pending('gemius_event'); gemius_pending('pp_gemius_hit'); gemius_pending('pp_gemius_event'); (function (d, t) { var ex; try { var gt = d.createElement(t), s = d.getElementsByTagName(t)[0], l = 'http' + ((location.protocol == 'https:') ? 's' : ''); gt.async = 'true'; gt.src = l + '://gapt.hit.gemius.pl/xgemius.js'; s.parentNode.insertBefore(gt, s); } catch (ex) { } })(document, 'script'); //--><!]]> </script> <!--End netScope v4 r1 / www.net.marktest.pt / (C) Gemius/Marktest 2018 --> <!-- FIM Métricas --> <main> <section id="main-body" class="bottom-space"> <section class="bread-crums quarter-left-padding"> <div class="x-url"> <a href="https://rfm.pt/">Início</a> > <h1>Vídeos</h1> </div> <button id="" class="x-btn push-right" role="button" aria-label="" tabindex="0" title="Voltar" onclick="backHistory();"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-dark-grey large quarter-padding">Voltar</span> </button> </section> <hr class="top-ln" /> <article class="half-top-space"> <header> <h2 class="h-intro">A rádio também é imagem. Vê aqui os melhores momentos dos nossos programas e tudo o que a RFM faz dentro e fora dos estúdios, só para te dar o melhor!</h2> </header> </article> <div class="x-title top-space half-bottom-space"><span>Destaques</span></div> <!-- MOD 3X GRAY --> <section class="g-mx g-m3 g-mx-gray"> <div class='g-mx-it'><a href='https://rfm.pt/video/78590/a-rfm-2025-esta-completa' title='A RFM 2025 EST&#193; COMPLETA!'><figure><div class='fig-box'><img title='A RFM 2025 EST&#193; COMPLETA!' alt='A RFM 2025 EST&#193; COMPLETA!' data-sizes='auto' data-srcset=' https://images.rfm.pt/ta-bonito-atualizado-destaque2040047d_destaque_3col.jpg 480w, https://images.rfm.pt/ta-bonito-atualizado-destaque2040047d_base.jpg 555w, https://images.rfm.pt/ta-bonito-atualizado-destaque2040047d_app_medium.jpg 711w, https://images.rfm.pt/ta-bonito-atualizado-destaque2040047d_destaque_2col.jpg 960w, https://images.rfm.pt/ta-bonito-atualizado-destaque2040047d_app_large.jpg 1080w' sizes='(min-width):768px) 476px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ta-bonito-atualizado-destaque2040047d_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='A RFM 2025 EST&#193; COMPLETA!' title='A RFM 2025 EST&#193; COMPLETA!' width='60' height='34' /></div></div></div><figcaption>A RFM 2025 ESTÁ COMPLETA!</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79263/estreia-do-luis-no-tivoli-ep-161' title='Estreia do Lu&#237;s no Tivoli | Ep. 161'><figure><div class='fig-box'><img title='Estreia do Lu&#237;s no Tivoli | Ep. 161' alt='Estreia do Lu&#237;s no Tivoli | Ep. 161' data-sizes='auto' data-srcset=' https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_3col.jpg 480w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg 555w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_medium.jpg 711w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_2col.jpg 960w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_large.jpg 1080w' sizes='(min-width):768px) 476px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Estreia do Lu&#237;s no Tivoli | Ep. 161' title='Estreia do Lu&#237;s no Tivoli | Ep. 161' width='60' height='34' /></div></div></div><figcaption>Estreia do Luís no Tivoli | Ep. 161</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79264/a-inacia-rodrigues-de-canico-madeira-ganhou-30003-no-grandioso-jogo-da-mala' title='A In&#225;cia Rodrigues de Cani&#231;o, Madeira ganhou 30.003€ no Grandioso Jogo da Mala!'><figure><div class='fig-box'><img title='A In&#225;cia Rodrigues de Cani&#231;o, Madeira ganhou 30.003€ no Grandioso Jogo da Mala!' alt='A In&#225;cia Rodrigues de Cani&#231;o, Madeira ganhou 30.003€ no Grandioso Jogo da Mala!' data-sizes='auto' data-srcset=' https://images.rfm.pt/frame-joana120207ba_destaque_3col.jpg 480w, https://images.rfm.pt/frame-joana120207ba_base.jpg 555w, https://images.rfm.pt/frame-joana120207ba_app_medium.jpg 711w, https://images.rfm.pt/frame-joana120207ba_destaque_2col.jpg 960w, https://images.rfm.pt/frame-joana120207ba_app_large.jpg 1080w' sizes='(min-width):768px) 476px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/frame-joana120207ba_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='A In&#225;cia Rodrigues de Cani&#231;o, Madeira ganhou 30.003€ no Grandioso Jogo da Mala!' title='A In&#225;cia Rodrigues de Cani&#231;o, Madeira ganhou 30.003€ no Grandioso Jogo da Mala!' width='60' height='34' /></div></div></div><figcaption>A Inácia Rodrigues de Caniço, Madeira ganhou 30.003€ no Grandioso Jogo da Mala!</figcaption></figure></a></div> </section> <!-- MOD 3X END --> <!-- MOD 4X - AINDA MAIS VIDEOS--> <div class="x-title top-space half-bottom-space"><span>Ainda Mais Vídeos</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/79196/rfm-na-apresentacao-do-meo-kalorama' title='RFM na apresenta&#231;&#227;o do Meo Kalorama'><figure><div class='fig-box'><img title='RFM na apresenta&#231;&#227;o do Meo Kalorama' alt='RFM na apresenta&#231;&#227;o do Meo Kalorama' data-sizes='auto' data-srcset=' https://images.rfm.pt/meo-kalorama-foto-1104632da_destaque_3col.jpg 480w, https://images.rfm.pt/meo-kalorama-foto-1104632da_base.jpg 555w, https://images.rfm.pt/meo-kalorama-foto-1104632da_app_medium.jpg 711w, https://images.rfm.pt/meo-kalorama-foto-1104632da_destaque_2col.jpg 960w, https://images.rfm.pt/meo-kalorama-foto-1104632da_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/meo-kalorama-foto-1104632da_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='RFM na apresenta&#231;&#227;o do Meo Kalorama' title='RFM na apresenta&#231;&#227;o do Meo Kalorama' width='60' height='34' /></div></div></div><figcaption>RFM na apresentação do Meo Kalorama</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79150/rfm-na-apresentacao-do-cartaz-do-sol-da-caparica' title='RFM na apresenta&#231;&#227;o do cartaz do Sol da Caparica'><figure><div class='fig-box'><img title='RFM na apresenta&#231;&#227;o do cartaz do Sol da Caparica' alt='RFM na apresenta&#231;&#227;o do cartaz do Sol da Caparica' data-sizes='auto' data-srcset=' https://images.rfm.pt/foto-de-grupo-sol-da-caparica-228798dc3_destaque_3col.jpg 480w, https://images.rfm.pt/foto-de-grupo-sol-da-caparica-228798dc3_base.jpg 555w, https://images.rfm.pt/foto-de-grupo-sol-da-caparica-228798dc3_app_medium.jpg 711w, https://images.rfm.pt/foto-de-grupo-sol-da-caparica-228798dc3_destaque_2col.jpg 960w, https://images.rfm.pt/foto-de-grupo-sol-da-caparica-228798dc3_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/foto-de-grupo-sol-da-caparica-228798dc3_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='RFM na apresenta&#231;&#227;o do cartaz do Sol da Caparica' title='RFM na apresenta&#231;&#227;o do cartaz do Sol da Caparica' width='60' height='34' /></div></div></div><figcaption>RFM na apresentação do cartaz do Sol da Caparica</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79044/treino-que-deu-para-o-torto' title='Treino que deu para o torto'><figure><div class='fig-box'><img title='Treino que deu para o torto' alt='Treino que deu para o torto' data-sizes='auto' data-srcset=' https://images.rfm.pt/a-peca-que-da-para-o-torto-destaque915802b6_destaque_3col.jpg 480w, https://images.rfm.pt/a-peca-que-da-para-o-torto-destaque915802b6_base.jpg 555w, https://images.rfm.pt/a-peca-que-da-para-o-torto-destaque915802b6_app_medium.jpg 711w, https://images.rfm.pt/a-peca-que-da-para-o-torto-destaque915802b6_destaque_2col.jpg 960w, https://images.rfm.pt/a-peca-que-da-para-o-torto-destaque915802b6_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/a-peca-que-da-para-o-torto-destaque915802b6_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Treino que deu para o torto' title='Treino que deu para o torto' width='60' height='34' /></div></div></div><figcaption>Treino que deu para o torto</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79029/u-outro-lado-da-rfm' title='&quot;U Outro Lado&quot; da RFM'><figure><div class='fig-box'><img title='&quot;U Outro Lado&quot; da RFM' alt='&quot;U Outro Lado&quot; da RFM' data-sizes='auto' data-srcset=' https://images.rfm.pt/framecapa12223509_destaque_3col.jpg 480w, https://images.rfm.pt/framecapa12223509_base.jpg 555w, https://images.rfm.pt/framecapa12223509_app_medium.jpg 711w, https://images.rfm.pt/framecapa12223509_destaque_2col.jpg 960w, https://images.rfm.pt/framecapa12223509_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/framecapa12223509_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='&quot;U Outro Lado&quot; da RFM' title='&quot;U Outro Lado&quot; da RFM' width='60' height='34' /></div></div></div><figcaption>"U Outro Lado" da RFM</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-ainda-mais-videos';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - AINDA MAIS VIDEOS ENDS --> <!-- MOD 4X - NINGUEM PODE COMIGO--> <div class="x-title top-space half-bottom-space"><span>Ninguém POD Comigo</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/79263/estreia-do-luis-no-tivoli-ep-161' title='Estreia do Lu&#237;s no Tivoli | Ep. 161'><figure><div class='fig-box'><img title='Estreia do Lu&#237;s no Tivoli | Ep. 161' alt='Estreia do Lu&#237;s no Tivoli | Ep. 161' data-sizes='auto' data-srcset=' https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_3col.jpg 480w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg 555w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_medium.jpg 711w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_2col.jpg 960w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Estreia do Lu&#237;s no Tivoli | Ep. 161' title='Estreia do Lu&#237;s no Tivoli | Ep. 161' width='60' height='34' /></div></div></div><figcaption>Estreia do Luís no Tivoli | Ep. 161</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79240/campeao-olimpico-do-machismo-ep-160' title='Campe&#227;o Ol&#237;mpico do Machismo | Ep. 160'><figure><div class='fig-box'><img title='Campe&#227;o Ol&#237;mpico do Machismo | Ep. 160' alt='Campe&#227;o Ol&#237;mpico do Machismo | Ep. 160' data-sizes='auto' data-srcset=' https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_3col.jpg 480w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg 555w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_medium.jpg 711w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_2col.jpg 960w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Campe&#227;o Ol&#237;mpico do Machismo | Ep. 160' title='Campe&#227;o Ol&#237;mpico do Machismo | Ep. 160' width='60' height='34' /></div></div></div><figcaption>Campeão Olímpico do Machismo | Ep. 160</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79217/receber-gente-em-casa-ep-159' title='Receber gente em casa | Ep. 159'><figure><div class='fig-box'><img title='Receber gente em casa | Ep. 159' alt='Receber gente em casa | Ep. 159' data-sizes='auto' data-srcset=' https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_3col.jpg 480w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg 555w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_medium.jpg 711w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_2col.jpg 960w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Receber gente em casa | Ep. 159' title='Receber gente em casa | Ep. 159' width='60' height='34' /></div></div></div><figcaption>Receber gente em casa | Ep. 159</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79178/quem-despedias-ep-158' title='Quem despedias? | Ep. 158'><figure><div class='fig-box'><img title='Quem despedias? | Ep. 158' alt='Quem despedias? | Ep. 158' data-sizes='auto' data-srcset=' https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_3col.jpg 480w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg 555w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_medium.jpg 711w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_destaque_2col.jpg 960w, https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ninguem-pod-comigo-2t-destaque-site-1920x1080138306e6_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Quem despedias? | Ep. 158' title='Quem despedias? | Ep. 158' width='60' height='34' /></div></div></div><figcaption>Quem despedias? | Ep. 158</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-ninguem-pod-comigo';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - NINGUEM PODE COMIGO ENDS --> <!-- MOD 4X - Desvendar Melodias--> <div class="x-title top-space half-bottom-space"><span>Desvendar Melodias</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/78478/ep-7-t2-desvendar-melodias-com-ana-margarida' title='Ep. 7 T2 | DESVENDAR MELODIAS com ANA MARGARIDA'><figure><div class='fig-box'><img title='Ep. 7 T2 | DESVENDAR MELODIAS com ANA MARGARIDA' alt='Ep. 7 T2 | DESVENDAR MELODIAS com ANA MARGARIDA' data-sizes='auto' data-srcset=' https://images.rfm.pt/epana-margarida02210552d8_destaque_3col.jpg 480w, https://images.rfm.pt/epana-margarida02210552d8_base.jpg 555w, https://images.rfm.pt/epana-margarida02210552d8_app_medium.jpg 711w, https://images.rfm.pt/epana-margarida02210552d8_destaque_2col.jpg 960w, https://images.rfm.pt/epana-margarida02210552d8_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/epana-margarida02210552d8_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 7 T2 | DESVENDAR MELODIAS com ANA MARGARIDA' title='Ep. 7 T2 | DESVENDAR MELODIAS com ANA MARGARIDA' width='60' height='34' /></div></div></div><figcaption>Ep. 7 T2 | DESVENDAR MELODIAS com ANA MARGARIDA</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78334/ep-6-t2-desvendar-melodias-com-david-fonseca' title='Ep. 6 T2 | DESVENDAR MELODIAS com David Fonseca'><figure><div class='fig-box'><img title='Ep. 6 T2 | DESVENDAR MELODIAS com David Fonseca' alt='Ep. 6 T2 | DESVENDAR MELODIAS com David Fonseca' data-sizes='auto' data-srcset=' https://images.rfm.pt/david-fonseca-0210943d17_destaque_3col.jpg 480w, https://images.rfm.pt/david-fonseca-0210943d17_base.jpg 555w, https://images.rfm.pt/david-fonseca-0210943d17_app_medium.jpg 711w, https://images.rfm.pt/david-fonseca-0210943d17_destaque_2col.jpg 960w, https://images.rfm.pt/david-fonseca-0210943d17_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/david-fonseca-0210943d17_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 6 T2 | DESVENDAR MELODIAS com David Fonseca' title='Ep. 6 T2 | DESVENDAR MELODIAS com David Fonseca' width='60' height='34' /></div></div></div><figcaption>Ep. 6 T2 | DESVENDAR MELODIAS com David Fonseca</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/77878/ep-5-t2-desvendar-melodias-com-ana-garcia-martins' title='Ep. 5 T2 | DESVENDAR MELODIAS com Ana Garcia Martins'><figure><div class='fig-box'><img title='Ep. 5 T2 | DESVENDAR MELODIAS com Ana Garcia Martins' alt='Ep. 5 T2 | DESVENDAR MELODIAS com Ana Garcia Martins' data-sizes='auto' data-srcset=' https://images.rfm.pt/ep-pipoca-02732001c9_destaque_3col.png 480w, https://images.rfm.pt/ep-pipoca-02732001c9_base.png 555w, https://images.rfm.pt/ep-pipoca-02732001c9_app_medium.png 711w, https://images.rfm.pt/ep-pipoca-02732001c9_destaque_2col.png 960w, https://images.rfm.pt/ep-pipoca-02732001c9_app_large.png 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ep-pipoca-02732001c9_base.png' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 5 T2 | DESVENDAR MELODIAS com Ana Garcia Martins' title='Ep. 5 T2 | DESVENDAR MELODIAS com Ana Garcia Martins' width='60' height='34' /></div></div></div><figcaption>Ep. 5 T2 | DESVENDAR MELODIAS com Ana Garcia Martins</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/77741/ep-4-t2-desvendar-melodias-com-mariana-alvim' title='Ep. 4 T2 | DESVENDAR MELODIAS com Mariana Alvim'><figure><div class='fig-box'><img title='Ep. 4 T2 | DESVENDAR MELODIAS com Mariana Alvim' alt='Ep. 4 T2 | DESVENDAR MELODIAS com Mariana Alvim' data-sizes='auto' data-srcset=' https://images.rfm.pt/desvendar-mariana-alvim-021318b89b_destaque_3col.jpg 480w, https://images.rfm.pt/desvendar-mariana-alvim-021318b89b_base.jpg 555w, https://images.rfm.pt/desvendar-mariana-alvim-021318b89b_app_medium.jpg 711w, https://images.rfm.pt/desvendar-mariana-alvim-021318b89b_destaque_2col.jpg 960w, https://images.rfm.pt/desvendar-mariana-alvim-021318b89b_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/desvendar-mariana-alvim-021318b89b_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 4 T2 | DESVENDAR MELODIAS com Mariana Alvim' title='Ep. 4 T2 | DESVENDAR MELODIAS com Mariana Alvim' width='60' height='34' /></div></div></div><figcaption>Ep. 4 T2 | DESVENDAR MELODIAS com Mariana Alvim</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-desvendar-melodias';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - Desvendar Melodias ENDS --> <!-- MOD 4X - Sono Trocado por Miudos--> <div class="x-title top-space half-bottom-space"><span>Sono Trocado por Miúdos</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/78897/ep10-t2-sono-trocado-por-miudos-com-diogo-ribeiro-e-miguel-nascimento' title='Ep.10 T2 | Sono Trocado por Mi&#250;dos com Diogo Ribeiro e Miguel Nascimento'><figure><div class='fig-box'><img title='Ep.10 T2 | Sono Trocado por Mi&#250;dos com Diogo Ribeiro e Miguel Nascimento' alt='Ep.10 T2 | Sono Trocado por Mi&#250;dos com Diogo Ribeiro e Miguel Nascimento' data-sizes='auto' data-srcset=' https://images.rfm.pt/episodio-10-sono1564bb80_destaque_3col.jpg 480w, https://images.rfm.pt/episodio-10-sono1564bb80_base.jpg 555w, https://images.rfm.pt/episodio-10-sono1564bb80_app_medium.jpg 711w, https://images.rfm.pt/episodio-10-sono1564bb80_destaque_2col.jpg 960w, https://images.rfm.pt/episodio-10-sono1564bb80_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/episodio-10-sono1564bb80_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep.10 T2 | Sono Trocado por Mi&#250;dos com Diogo Ribeiro e Miguel Nascimento' title='Ep.10 T2 | Sono Trocado por Mi&#250;dos com Diogo Ribeiro e Miguel Nascimento' width='60' height='34' /></div></div></div><figcaption>Ep.10 T2 | Sono Trocado por Miúdos com Diogo Ribeiro e Miguel Nascimento</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78716/ep9-t2-sono-trocado-por-miudos-com-bruna-reis' title='Ep.9 T2 | Sono Trocado por Mi&#250;dos com Bruna Reis'><figure><div class='fig-box'><img title='Ep.9 T2 | Sono Trocado por Mi&#250;dos com Bruna Reis' alt='Ep.9 T2 | Sono Trocado por Mi&#250;dos com Bruna Reis' data-sizes='auto' data-srcset=' https://images.rfm.pt/ae5a99361686f9ae_destaque_3col.jpg 480w, https://images.rfm.pt/ae5a99361686f9ae_base.jpg 555w, https://images.rfm.pt/ae5a99361686f9ae_app_medium.jpg 711w, https://images.rfm.pt/ae5a99361686f9ae_destaque_2col.jpg 960w, https://images.rfm.pt/ae5a99361686f9ae_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ae5a99361686f9ae_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep.9 T2 | Sono Trocado por Mi&#250;dos com Bruna Reis' title='Ep.9 T2 | Sono Trocado por Mi&#250;dos com Bruna Reis' width='60' height='34' /></div></div></div><figcaption>Ep.9 T2 | Sono Trocado por Miúdos com Bruna Reis</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78557/ep8-t2-sono-trocado-por-miudos-com-andreia-soares' title='Ep.8 T2 | Sono Trocado por Mi&#250;dos com Andreia Soares'><figure><div class='fig-box'><img title='Ep.8 T2 | Sono Trocado por Mi&#250;dos com Andreia Soares' alt='Ep.8 T2 | Sono Trocado por Mi&#250;dos com Andreia Soares' data-sizes='auto' data-srcset=' https://images.rfm.pt/ep8-site9704ffee_destaque_3col.jpg 480w, https://images.rfm.pt/ep8-site9704ffee_base.jpg 555w, https://images.rfm.pt/ep8-site9704ffee_app_medium.jpg 711w, https://images.rfm.pt/ep8-site9704ffee_destaque_2col.jpg 960w, https://images.rfm.pt/ep8-site9704ffee_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ep8-site9704ffee_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep.8 T2 | Sono Trocado por Mi&#250;dos com Andreia Soares' title='Ep.8 T2 | Sono Trocado por Mi&#250;dos com Andreia Soares' width='60' height='34' /></div></div></div><figcaption>Ep.8 T2 | Sono Trocado por Miúdos com Andreia Soares</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78365/ep7-t2-sono-trocado-por-miudos-com-teresa-rebelo-pinto-e-mafalda-navarro' title='Ep.7 T2 | Sono Trocado por Mi&#250;dos com Teresa Rebelo Pinto e Mafalda Navarro'><figure><div class='fig-box'><img title='Ep.7 T2 | Sono Trocado por Mi&#250;dos com Teresa Rebelo Pinto e Mafalda Navarro' alt='Ep.7 T2 | Sono Trocado por Mi&#250;dos com Teresa Rebelo Pinto e Mafalda Navarro' data-sizes='auto' data-srcset=' https://images.rfm.pt/sono-episodio-79318d0f0_destaque_3col.jpg 480w, https://images.rfm.pt/sono-episodio-79318d0f0_base.jpg 555w, https://images.rfm.pt/sono-episodio-79318d0f0_app_medium.jpg 711w, https://images.rfm.pt/sono-episodio-79318d0f0_destaque_2col.jpg 960w, https://images.rfm.pt/sono-episodio-79318d0f0_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/sono-episodio-79318d0f0_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep.7 T2 | Sono Trocado por Mi&#250;dos com Teresa Rebelo Pinto e Mafalda Navarro' title='Ep.7 T2 | Sono Trocado por Mi&#250;dos com Teresa Rebelo Pinto e Mafalda Navarro' width='60' height='34' /></div></div></div><figcaption>Ep.7 T2 | Sono Trocado por Miúdos com Teresa Rebelo Pinto e Mafalda Navarro</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-sono-trocado-por-miudos';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - Sono Trocado por Miudos --> <!-- MOD 4X - TAPA NA CARA--> <div class="x-title top-space half-bottom-space"><span>Tapa na Cara</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/77323/tapa-na-cara-com-os-atoa' title='Tapa na Cara com os &#193;TOA'><figure><div class='fig-box'><img title='Tapa na Cara com os &#193;TOA' alt='Tapa na Cara com os &#193;TOA' data-sizes='auto' data-srcset=' https://images.rfm.pt/atoa-destaque91755d51_destaque_3col.jpg 480w, https://images.rfm.pt/atoa-destaque91755d51_base.jpg 555w, https://images.rfm.pt/atoa-destaque91755d51_app_medium.jpg 711w, https://images.rfm.pt/atoa-destaque91755d51_destaque_2col.jpg 960w, https://images.rfm.pt/atoa-destaque91755d51_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/atoa-destaque91755d51_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Tapa na Cara com os &#193;TOA' title='Tapa na Cara com os &#193;TOA' width='60' height='34' /></div></div></div><figcaption>Tapa na Cara com os ÁTOA</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/76102/tapa-na-cara-com-ana-bacalhau-e-claudia-pascoal' title='Tapa na Cara com Ana Bacalhau e Cl&#225;udia Pascoal'><figure><div class='fig-box'><img title='Tapa na Cara com Ana Bacalhau e Cl&#225;udia Pascoal' alt='Tapa na Cara com Ana Bacalhau e Cl&#225;udia Pascoal' data-sizes='auto' data-srcset=' https://images.rfm.pt/ana-bacalhau-e-claudia-pascoal-destaque-31873962c_destaque_3col.jpg 480w, https://images.rfm.pt/ana-bacalhau-e-claudia-pascoal-destaque-31873962c_base.jpg 555w, https://images.rfm.pt/ana-bacalhau-e-claudia-pascoal-destaque-31873962c_app_medium.jpg 711w, https://images.rfm.pt/ana-bacalhau-e-claudia-pascoal-destaque-31873962c_destaque_2col.jpg 960w, https://images.rfm.pt/ana-bacalhau-e-claudia-pascoal-destaque-31873962c_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ana-bacalhau-e-claudia-pascoal-destaque-31873962c_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Tapa na Cara com Ana Bacalhau e Cl&#225;udia Pascoal' title='Tapa na Cara com Ana Bacalhau e Cl&#225;udia Pascoal' width='60' height='34' /></div></div></div><figcaption>Tapa na Cara com Ana Bacalhau e Cláudia Pascoal</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/74515/tapa-na-cara-com-miguel-falabella-e-marisa-orth' title='Tapa na Cara com Miguel Falabella e Marisa Orth'><figure><div class='fig-box'><img title='Tapa na Cara com Miguel Falabella e Marisa Orth' alt='Tapa na Cara com Miguel Falabella e Marisa Orth' data-sizes='auto' data-srcset=' https://images.rfm.pt/miguel-falabella-marisa-orth-destaque-video21284b25_destaque_3col.jpg 480w, https://images.rfm.pt/miguel-falabella-marisa-orth-destaque-video21284b25_base.jpg 555w, https://images.rfm.pt/miguel-falabella-marisa-orth-destaque-video21284b25_app_medium.jpg 711w, https://images.rfm.pt/miguel-falabella-marisa-orth-destaque-video21284b25_destaque_2col.jpg 960w, https://images.rfm.pt/miguel-falabella-marisa-orth-destaque-video21284b25_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/miguel-falabella-marisa-orth-destaque-video21284b25_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Tapa na Cara com Miguel Falabella e Marisa Orth' title='Tapa na Cara com Miguel Falabella e Marisa Orth' width='60' height='34' /></div></div></div><figcaption>Tapa na Cara com Miguel Falabella e Marisa Orth</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/74356/tapa-na-cara-com-rodrigo-gomes-e-lara-franco-gomes' title='Tapa na Cara com Rodrigo Gomes e Lara Franco Gomes'><figure><div class='fig-box'><img title='Tapa na Cara com Rodrigo Gomes e Lara Franco Gomes' alt='Tapa na Cara com Rodrigo Gomes e Lara Franco Gomes' data-sizes='auto' data-srcset=' https://images.rfm.pt/rodrigo-gomes-e-lara-gomes4413e3fc_destaque_3col.jpg 480w, https://images.rfm.pt/rodrigo-gomes-e-lara-gomes4413e3fc_base.jpg 555w, https://images.rfm.pt/rodrigo-gomes-e-lara-gomes4413e3fc_app_medium.jpg 711w, https://images.rfm.pt/rodrigo-gomes-e-lara-gomes4413e3fc_destaque_2col.jpg 960w, https://images.rfm.pt/rodrigo-gomes-e-lara-gomes4413e3fc_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/rodrigo-gomes-e-lara-gomes4413e3fc_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Tapa na Cara com Rodrigo Gomes e Lara Franco Gomes' title='Tapa na Cara com Rodrigo Gomes e Lara Franco Gomes' width='60' height='34' /></div></div></div><figcaption>Tapa na Cara com Rodrigo Gomes e Lara Franco Gomes</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-tapa-na-cara';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - TAPA NA CARA ENDS --> <!-- MOD 4X - DUDAS--> <div class="x-title top-space half-bottom-space"><span>Dudas de un Hombre</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/78938/ep-144-dudas-de-un-hombre-os-judas-do-cafe-da-manha' title='Ep. 144 | Dudas, de un Hombre - Os Judas do Caf&#233; da Manh&#227;'><figure><div class='fig-box'><img title='Ep. 144 | Dudas, de un Hombre - Os Judas do Caf&#233; da Manh&#227;' alt='Ep. 144 | Dudas, de un Hombre - Os Judas do Caf&#233; da Manh&#227;' data-sizes='auto' data-srcset=' https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_3col.jpg 480w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg 555w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_medium.jpg 711w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_2col.jpg 960w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 144 | Dudas, de un Hombre - Os Judas do Caf&#233; da Manh&#227;' title='Ep. 144 | Dudas, de un Hombre - Os Judas do Caf&#233; da Manh&#227;' width='60' height='34' /></div></div></div><figcaption>Ep. 144 | Dudas, de un Hombre - Os Judas do Café da Manhã</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78907/ep-143-dudas-de-un-hombre-drogados-no-oceanario' title='Ep. 143 | Dudas, de un Hombre - Drogados no Ocean&#225;rio'><figure><div class='fig-box'><img title='Ep. 143 | Dudas, de un Hombre - Drogados no Ocean&#225;rio' alt='Ep. 143 | Dudas, de un Hombre - Drogados no Ocean&#225;rio' data-sizes='auto' data-srcset=' https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_3col.jpg 480w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg 555w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_medium.jpg 711w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_2col.jpg 960w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 143 | Dudas, de un Hombre - Drogados no Ocean&#225;rio' title='Ep. 143 | Dudas, de un Hombre - Drogados no Ocean&#225;rio' width='60' height='34' /></div></div></div><figcaption>Ep. 143 | Dudas, de un Hombre - Drogados no Oceanário</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78822/ep-142-dudas-de-un-hombre-task-masking' title='Ep. 142 | Dudas, de un Hombre - Task Masking'><figure><div class='fig-box'><img title='Ep. 142 | Dudas, de un Hombre - Task Masking' alt='Ep. 142 | Dudas, de un Hombre - Task Masking' data-sizes='auto' data-srcset=' https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_3col.jpg 480w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg 555w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_medium.jpg 711w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_2col.jpg 960w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 142 | Dudas, de un Hombre - Task Masking' title='Ep. 142 | Dudas, de un Hombre - Task Masking' width='60' height='34' /></div></div></div><figcaption>Ep. 142 | Dudas, de un Hombre - Task Masking</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78622/ep-141-dudas-de-un-hombre-ando-a-educar-mal' title='Ep. 141 | Dudas, de un Hombre - Ando a educar mal'><figure><div class='fig-box'><img title='Ep. 141 | Dudas, de un Hombre - Ando a educar mal' alt='Ep. 141 | Dudas, de un Hombre - Ando a educar mal' data-sizes='auto' data-srcset=' https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_3col.jpg 480w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg 555w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_medium.jpg 711w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_destaque_2col.jpg 960w, https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/dudas-de-un-hombre-destaque-1920x10802114a4d1_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Ep. 141 | Dudas, de un Hombre - Ando a educar mal' title='Ep. 141 | Dudas, de un Hombre - Ando a educar mal' width='60' height='34' /></div></div></div><figcaption>Ep. 141 | Dudas, de un Hombre - Ando a educar mal</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-dudas-de-un-hombre';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - DUDAS ENDS --> <!-- MOD 4X - CLUBE--> <div class="x-title top-space half-bottom-space"><span>Clube das Famílias Imperfeitas</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/76439/carolina-deslandes-foi-ordenada-membro-do-clube-das-familias-imperfeitas' title='Carolina Deslandes foi ordenada membro do Clube das Fam&#237;lias Imperfeitas'><figure><div class='fig-box'><img title='Carolina Deslandes foi ordenada membro do Clube das Fam&#237;lias Imperfeitas' alt='Carolina Deslandes foi ordenada membro do Clube das Fam&#237;lias Imperfeitas' data-sizes='auto' data-srcset=' https://images.rfm.pt/carolina-deslandes-cfi-video19164795_destaque_3col.jpg 480w, https://images.rfm.pt/carolina-deslandes-cfi-video19164795_base.jpg 555w, https://images.rfm.pt/carolina-deslandes-cfi-video19164795_app_medium.jpg 711w, https://images.rfm.pt/carolina-deslandes-cfi-video19164795_destaque_2col.jpg 960w, https://images.rfm.pt/carolina-deslandes-cfi-video19164795_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/carolina-deslandes-cfi-video19164795_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Carolina Deslandes foi ordenada membro do Clube das Fam&#237;lias Imperfeitas' title='Carolina Deslandes foi ordenada membro do Clube das Fam&#237;lias Imperfeitas' width='60' height='34' /></div></div></div><figcaption>Carolina Deslandes foi ordenada membro do Clube das Famílias Imperfeitas</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/76411/os-anjos-juntam-se-ao-clube-das-familias-imperfeitas' title='Os Anjos juntam-se ao Clube das Fam&#237;lias Imperfeitas'><figure><div class='fig-box'><img title='Os Anjos juntam-se ao Clube das Fam&#237;lias Imperfeitas' alt='Os Anjos juntam-se ao Clube das Fam&#237;lias Imperfeitas' data-sizes='auto' data-srcset=' https://images.rfm.pt/anjos-e-cafe-da-manha-destaque1745678a_destaque_3col.jpg 480w, https://images.rfm.pt/anjos-e-cafe-da-manha-destaque1745678a_base.jpg 555w, https://images.rfm.pt/anjos-e-cafe-da-manha-destaque1745678a_app_medium.jpg 711w, https://images.rfm.pt/anjos-e-cafe-da-manha-destaque1745678a_destaque_2col.jpg 960w, https://images.rfm.pt/anjos-e-cafe-da-manha-destaque1745678a_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/anjos-e-cafe-da-manha-destaque1745678a_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Os Anjos juntam-se ao Clube das Fam&#237;lias Imperfeitas' title='Os Anjos juntam-se ao Clube das Fam&#237;lias Imperfeitas' width='60' height='34' /></div></div></div><figcaption>Os Anjos juntam-se ao Clube das Famílias Imperfeitas</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/75912/o-matias-damasio-e-o-novo-membro-do-clube-das-familias-imperfeitas' title='O Matias Dam&#225;sio &#233; o novo membro do Clube das Fam&#237;lias Imperfeitas'><figure><div class='fig-box'><img title='O Matias Dam&#225;sio &#233; o novo membro do Clube das Fam&#237;lias Imperfeitas' alt='O Matias Dam&#225;sio &#233; o novo membro do Clube das Fam&#237;lias Imperfeitas' data-sizes='auto' data-srcset=' https://images.rfm.pt/matias-damasio-e-dama-destaque-314825692_destaque_3col.jpg 480w, https://images.rfm.pt/matias-damasio-e-dama-destaque-314825692_base.jpg 555w, https://images.rfm.pt/matias-damasio-e-dama-destaque-314825692_app_medium.jpg 711w, https://images.rfm.pt/matias-damasio-e-dama-destaque-314825692_destaque_2col.jpg 960w, https://images.rfm.pt/matias-damasio-e-dama-destaque-314825692_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/matias-damasio-e-dama-destaque-314825692_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='O Matias Dam&#225;sio &#233; o novo membro do Clube das Fam&#237;lias Imperfeitas' title='O Matias Dam&#225;sio &#233; o novo membro do Clube das Fam&#237;lias Imperfeitas' width='60' height='34' /></div></div></div><figcaption>O Matias Damásio é o novo membro do Clube das Famílias Imperfeitas</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/75719/os-calema-sao-membros-do-clube-das-familias-imperfeitas' title='Os Calema s&#227;o membros do Clube das Fam&#237;lias Imperfeitas'><figure><div class='fig-box'><img title='Os Calema s&#227;o membros do Clube das Fam&#237;lias Imperfeitas' alt='Os Calema s&#227;o membros do Clube das Fam&#237;lias Imperfeitas' data-sizes='auto' data-srcset=' https://images.rfm.pt/calema-destaque-36892e014_destaque_3col.jpg 480w, https://images.rfm.pt/calema-destaque-36892e014_base.jpg 555w, https://images.rfm.pt/calema-destaque-36892e014_app_medium.jpg 711w, https://images.rfm.pt/calema-destaque-36892e014_destaque_2col.jpg 960w, https://images.rfm.pt/calema-destaque-36892e014_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/calema-destaque-36892e014_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Os Calema s&#227;o membros do Clube das Fam&#237;lias Imperfeitas' title='Os Calema s&#227;o membros do Clube das Fam&#237;lias Imperfeitas' width='60' height='34' /></div></div></div><figcaption>Os Calema são membros do Clube das Famílias Imperfeitas</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button title="+ Vídeos" onclick="location.href='https://rfm.pt/videos-clube-das-familias-imperfeitas';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - CLUBE ENDS --> <!-- MOD 4X - CARA PODRE--> <div class="x-title top-space half-bottom-space"><span>Cara Podre</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/76872/cara-podre-com-miguel-costa' title='Cara Podre com Miguel Costa'><figure><div class='fig-box'><img title='Cara Podre com Miguel Costa' alt='Cara Podre com Miguel Costa' data-sizes='auto' data-srcset=' https://images.rfm.pt/alo-portugal-21723483a_destaque_3col.png 480w, https://images.rfm.pt/alo-portugal-21723483a_base.png 555w, https://images.rfm.pt/alo-portugal-21723483a_app_medium.png 711w, https://images.rfm.pt/alo-portugal-21723483a_destaque_2col.png 960w, https://images.rfm.pt/alo-portugal-21723483a_app_large.png 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/alo-portugal-21723483a_base.png' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Cara Podre com Miguel Costa' title='Cara Podre com Miguel Costa' width='60' height='34' /></div></div></div><figcaption>Cara Podre com Miguel Costa</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/75675/cara-podre-com-vasco-pereira-coutinho' title='Cara Podre com Vasco Pereira Coutinho'><figure><div class='fig-box'><img title='Cara Podre com Vasco Pereira Coutinho' alt='Cara Podre com Vasco Pereira Coutinho' data-sizes='auto' data-srcset=' https://images.rfm.pt/vasco-pereira-coutinho-destaque-11167f073_destaque_3col.jpg 480w, https://images.rfm.pt/vasco-pereira-coutinho-destaque-11167f073_base.jpg 555w, https://images.rfm.pt/vasco-pereira-coutinho-destaque-11167f073_app_medium.jpg 711w, https://images.rfm.pt/vasco-pereira-coutinho-destaque-11167f073_destaque_2col.jpg 960w, https://images.rfm.pt/vasco-pereira-coutinho-destaque-11167f073_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/vasco-pereira-coutinho-destaque-11167f073_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Cara Podre com Vasco Pereira Coutinho' title='Cara Podre com Vasco Pereira Coutinho' width='60' height='34' /></div></div></div><figcaption>Cara Podre com Vasco Pereira Coutinho</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/75237/cara-podre-com-sofia-ribeiro' title='Cara Podre com Sofia Ribeiro'><figure><div class='fig-box'><img title='Cara Podre com Sofia Ribeiro' alt='Cara Podre com Sofia Ribeiro' data-sizes='auto' data-srcset=' https://images.rfm.pt/sofia-ribeiro-cara-podre-destaque871241ed_destaque_3col.jpg 480w, https://images.rfm.pt/sofia-ribeiro-cara-podre-destaque871241ed_base.jpg 555w, https://images.rfm.pt/sofia-ribeiro-cara-podre-destaque871241ed_app_medium.jpg 711w, https://images.rfm.pt/sofia-ribeiro-cara-podre-destaque871241ed_destaque_2col.jpg 960w, https://images.rfm.pt/sofia-ribeiro-cara-podre-destaque871241ed_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/sofia-ribeiro-cara-podre-destaque871241ed_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Cara Podre com Sofia Ribeiro' title='Cara Podre com Sofia Ribeiro' width='60' height='34' /></div></div></div><figcaption>Cara Podre com Sofia Ribeiro</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/74492/cara-podre-com-virgilio-castelo' title='Cara Podre com Virg&#237;lio Castelo'><figure><div class='fig-box'><img title='Cara Podre com Virg&#237;lio Castelo' alt='Cara Podre com Virg&#237;lio Castelo' data-sizes='auto' data-srcset=' https://images.rfm.pt/virgilio-castelo-destaque-22055fc65_destaque_3col.jpg 480w, https://images.rfm.pt/virgilio-castelo-destaque-22055fc65_base.jpg 555w, https://images.rfm.pt/virgilio-castelo-destaque-22055fc65_app_medium.jpg 711w, https://images.rfm.pt/virgilio-castelo-destaque-22055fc65_destaque_2col.jpg 960w, https://images.rfm.pt/virgilio-castelo-destaque-22055fc65_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/virgilio-castelo-destaque-22055fc65_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Cara Podre com Virg&#237;lio Castelo' title='Cara Podre com Virg&#237;lio Castelo' width='60' height='34' /></div></div></div><figcaption>Cara Podre com Virgílio Castelo</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button onclick="location.href='https://rfm.pt/videos-cara-podre';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0" title="+ Vídeos"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - CARA PODRE ENDS --> <!-- MOD 4X - BARULHO--> <div class="x-title top-space half-bottom-space"><span>Que Barulho é Este, na RFM?</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/79201/a-mariana-ferreira-ganhou-6840-no-que-barulho-e-este-na-rfm' title='A Mariana Ferreira ganhou 6.840€ no Que Barulho &#233; Este, na RFM?'><figure><div class='fig-box'><img title='A Mariana Ferreira ganhou 6.840€ no Que Barulho &#233; Este, na RFM?' alt='A Mariana Ferreira ganhou 6.840€ no Que Barulho &#233; Este, na RFM?' data-sizes='auto' data-srcset=' https://images.rfm.pt/capa-barulho-4-abril-site1003b035_destaque_3col.jpg 480w, https://images.rfm.pt/capa-barulho-4-abril-site1003b035_base.jpg 555w, https://images.rfm.pt/capa-barulho-4-abril-site1003b035_app_medium.jpg 711w, https://images.rfm.pt/capa-barulho-4-abril-site1003b035_destaque_2col.jpg 960w, https://images.rfm.pt/capa-barulho-4-abril-site1003b035_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/capa-barulho-4-abril-site1003b035_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='A Mariana Ferreira ganhou 6.840€ no Que Barulho &#233; Este, na RFM?' title='A Mariana Ferreira ganhou 6.840€ no Que Barulho &#233; Este, na RFM?' width='60' height='34' /></div></div></div><figcaption>A Mariana Ferreira ganhou 6.840€ no Que Barulho é Este, na RFM?</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78904/o-ernesto-damas-ganhou-4150-no-que-barulho-e-este-na-rfm' title='O Ernesto Damas ganhou 4.150€ no Que Barulho &#233; Este, na RFM?'><figure><div class='fig-box'><img title='O Ernesto Damas ganhou 4.150€ no Que Barulho &#233; Este, na RFM?' alt='O Ernesto Damas ganhou 4.150€ no Que Barulho &#233; Este, na RFM?' data-sizes='auto' data-srcset=' https://images.rfm.pt/barulho-21-marco-2025-destaque99435028_destaque_3col.jpg 480w, https://images.rfm.pt/barulho-21-marco-2025-destaque99435028_base.jpg 555w, https://images.rfm.pt/barulho-21-marco-2025-destaque99435028_app_medium.jpg 711w, https://images.rfm.pt/barulho-21-marco-2025-destaque99435028_destaque_2col.jpg 960w, https://images.rfm.pt/barulho-21-marco-2025-destaque99435028_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/barulho-21-marco-2025-destaque99435028_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='O Ernesto Damas ganhou 4.150€ no Que Barulho &#233; Este, na RFM?' title='O Ernesto Damas ganhou 4.150€ no Que Barulho &#233; Este, na RFM?' width='60' height='34' /></div></div></div><figcaption>O Ernesto Damas ganhou 4.150€ no Que Barulho é Este, na RFM?</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78684/jose-lucas-de-almeirim-ganhou-2650' title='Jos&#233; Lucas, de Almeirim, ganhou 2.650€!'><figure><div class='fig-box'><img title='Jos&#233; Lucas, de Almeirim, ganhou 2.650€!' alt='Jos&#233; Lucas, de Almeirim, ganhou 2.650€!' data-sizes='auto' data-srcset=' https://images.rfm.pt/img-28168836c8c8_destaque_3col.jpg 480w, https://images.rfm.pt/img-28168836c8c8_base.jpg 555w, https://images.rfm.pt/img-28168836c8c8_app_medium.jpg 711w, https://images.rfm.pt/img-28168836c8c8_destaque_2col.jpg 960w, https://images.rfm.pt/img-28168836c8c8_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/img-28168836c8c8_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Jos&#233; Lucas, de Almeirim, ganhou 2.650€!' title='Jos&#233; Lucas, de Almeirim, ganhou 2.650€!' width='60' height='34' /></div></div></div><figcaption>José Lucas, de Almeirim, ganhou 2.650€!</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78532/nuno-costa-de-espinho-ganhou-17020' title='Nuno Costa, de Espinho, ganhou 17.020€!'><figure><div class='fig-box'><img title='Nuno Costa, de Espinho, ganhou 17.020€!' alt='Nuno Costa, de Espinho, ganhou 17.020€!' data-sizes='auto' data-srcset=' https://images.rfm.pt/framepedro9068112d_destaque_3col.jpg 480w, https://images.rfm.pt/framepedro9068112d_base.jpg 555w, https://images.rfm.pt/framepedro9068112d_app_medium.jpg 711w, https://images.rfm.pt/framepedro9068112d_destaque_2col.jpg 960w, https://images.rfm.pt/framepedro9068112d_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/framepedro9068112d_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Nuno Costa, de Espinho, ganhou 17.020€!' title='Nuno Costa, de Espinho, ganhou 17.020€!' width='60' height='34' /></div></div></div><figcaption>Nuno Costa, de Espinho, ganhou 17.020€!</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button onclick="location.href='https://rfm.pt/videos-que-barulho-e-este-na-rfm';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0" title="+ Vídeos"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - BARULHO --> <!-- MOD 4X - CAFÉ --> <div class="x-title top-space half-bottom-space"><span>Café da Manhã</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/78859/joao-pedro-e-salvador-pais-tocam-a-nossa-hora' title='Jo&#227;o Pedro e Salvador Pais tocam &#39;A nossa hora&#39;'><figure><div class='fig-box'><img title='Jo&#227;o Pedro e Salvador Pais tocam &#39;A nossa hora&#39;' alt='Jo&#227;o Pedro e Salvador Pais tocam &#39;A nossa hora&#39;' data-sizes='auto' data-srcset=' https://images.rfm.pt/destque-jpp-dia-do-pai-19-marco-20253396b0da_destaque_3col.jpg 480w, https://images.rfm.pt/destque-jpp-dia-do-pai-19-marco-20253396b0da_base.jpg 555w, https://images.rfm.pt/destque-jpp-dia-do-pai-19-marco-20253396b0da_app_medium.jpg 711w, https://images.rfm.pt/destque-jpp-dia-do-pai-19-marco-20253396b0da_destaque_2col.jpg 960w, https://images.rfm.pt/destque-jpp-dia-do-pai-19-marco-20253396b0da_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/destque-jpp-dia-do-pai-19-marco-20253396b0da_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Jo&#227;o Pedro e Salvador Pais tocam &#39;A nossa hora&#39;' title='Jo&#227;o Pedro e Salvador Pais tocam &#39;A nossa hora&#39;' width='60' height='34' /></div></div></div><figcaption>João Pedro e Salvador Pais tocam 'A nossa hora'</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78852/rouco-por-ti-ao-vivo-no-dia-do-pai' title='&quot;Rouco por Ti&quot; ao vivo no Dia do Pai'><figure><div class='fig-box'><img title='&quot;Rouco por Ti&quot; ao vivo no Dia do Pai' alt='&quot;Rouco por Ti&quot; ao vivo no Dia do Pai' data-sizes='auto' data-srcset=' https://images.rfm.pt/joao-pedro-pais-e-pedro-fernandes-musica-dia-do-pai-rouco-por-ti-destaque441305a4_destaque_3col.jpg 480w, https://images.rfm.pt/joao-pedro-pais-e-pedro-fernandes-musica-dia-do-pai-rouco-por-ti-destaque441305a4_base.jpg 555w, https://images.rfm.pt/joao-pedro-pais-e-pedro-fernandes-musica-dia-do-pai-rouco-por-ti-destaque441305a4_app_medium.jpg 711w, https://images.rfm.pt/joao-pedro-pais-e-pedro-fernandes-musica-dia-do-pai-rouco-por-ti-destaque441305a4_destaque_2col.jpg 960w, https://images.rfm.pt/joao-pedro-pais-e-pedro-fernandes-musica-dia-do-pai-rouco-por-ti-destaque441305a4_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/joao-pedro-pais-e-pedro-fernandes-musica-dia-do-pai-rouco-por-ti-destaque441305a4_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='&quot;Rouco por Ti&quot; ao vivo no Dia do Pai' title='&quot;Rouco por Ti&quot; ao vivo no Dia do Pai' width='60' height='34' /></div></div></div><figcaption>"Rouco por Ti" ao vivo no Dia do Pai</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78687/napa-cantam-musica-do-festival-da-cancao' title='NAPA cantam m&#250;sica do Festival da Can&#231;&#227;o'><figure><div class='fig-box'><img title='NAPA cantam m&#250;sica do Festival da Can&#231;&#227;o' alt='NAPA cantam m&#250;sica do Festival da Can&#231;&#227;o' data-sizes='auto' data-srcset=' https://images.rfm.pt/napa-destaque-13-marco-202576417f26_destaque_3col.jpg 480w, https://images.rfm.pt/napa-destaque-13-marco-202576417f26_base.jpg 555w, https://images.rfm.pt/napa-destaque-13-marco-202576417f26_app_medium.jpg 711w, https://images.rfm.pt/napa-destaque-13-marco-202576417f26_destaque_2col.jpg 960w, https://images.rfm.pt/napa-destaque-13-marco-202576417f26_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/napa-destaque-13-marco-202576417f26_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='NAPA cantam m&#250;sica do Festival da Can&#231;&#227;o' title='NAPA cantam m&#250;sica do Festival da Can&#231;&#227;o' width='60' height='34' /></div></div></div><figcaption>NAPA cantam música do Festival da Canção</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78638/spinum-vida-loca-parodia-cafe-da-manha' title='Spinum Vida Loca - Par&#243;dia Caf&#233; da Manh&#227;'><figure><div class='fig-box'><img title='Spinum Vida Loca - Par&#243;dia Caf&#233; da Manh&#227;' alt='Spinum Vida Loca - Par&#243;dia Caf&#233; da Manh&#227;' data-sizes='auto' data-srcset=' https://images.rfm.pt/musica-queda-governo-destaque172534a2_destaque_3col.jpg 480w, https://images.rfm.pt/musica-queda-governo-destaque172534a2_base.jpg 555w, https://images.rfm.pt/musica-queda-governo-destaque172534a2_app_medium.jpg 711w, https://images.rfm.pt/musica-queda-governo-destaque172534a2_destaque_2col.jpg 960w, https://images.rfm.pt/musica-queda-governo-destaque172534a2_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/musica-queda-governo-destaque172534a2_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Spinum Vida Loca - Par&#243;dia Caf&#233; da Manh&#227;' title='Spinum Vida Loca - Par&#243;dia Caf&#233; da Manh&#227;' width='60' height='34' /></div></div></div><figcaption>Spinum Vida Loca - Paródia Café da Manhã</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button onclick="location.href='https://rfm.pt/videos-cafe-da-manha';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0" title="+ Vídeos"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - CAFÉ --> <!-- MOD 4X - FRIDAYBOYZ --> <div class="x-title top-space half-bottom-space"><span>Fridayboyz</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/27984/laboratorios-basi-com-fridayboyz' title='Laborat&#243;rios Basi com Fridayboyz'><figure><div class='fig-box'><img title='Laborat&#243;rios Basi com Fridayboyz' alt='Laborat&#243;rios Basi com Fridayboyz' data-sizes='auto' data-srcset=' https://images.rfm.pt/fridayboyz_grandes_v76057172_destaque_3col.jpg 480w, https://images.rfm.pt/fridayboyz_grandes_v76057172_base.jpg 555w, https://images.rfm.pt/fridayboyz_grandes_v76057172_app_medium.jpg 711w, https://images.rfm.pt/fridayboyz_grandes_v76057172_destaque_2col.jpg 960w, https://images.rfm.pt/fridayboyz_grandes_v76057172_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/fridayboyz_grandes_v76057172_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Laborat&#243;rios Basi com Fridayboyz' title='Laborat&#243;rios Basi com Fridayboyz' width='60' height='34' /></div></div></div><figcaption>Laboratórios Basi com Fridayboyz</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/24955/brodheim-com-fridayboyz' title='Brodheim com Fridayboyz'><figure><div class='fig-box'><img title='Brodheim com Fridayboyz' alt='Brodheim com Fridayboyz' data-sizes='auto' data-srcset=' https://images.rfm.pt/brodheim_sem_barra4534f707_destaque_3col.jpg 480w, https://images.rfm.pt/brodheim_sem_barra4534f707_base.jpg 555w, https://images.rfm.pt/brodheim_sem_barra4534f707_app_medium.jpg 711w, https://images.rfm.pt/brodheim_sem_barra4534f707_destaque_2col.jpg 960w, https://images.rfm.pt/brodheim_sem_barra4534f707_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/brodheim_sem_barra4534f707_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Brodheim com Fridayboyz' title='Brodheim com Fridayboyz' width='60' height='34' /></div></div></div><figcaption>Brodheim com Fridayboyz</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/24349/paladin-com-fridayboyz' title='Paladin com Fridayboyz'><figure><div class='fig-box'><img title='Paladin com Fridayboyz' alt='Paladin com Fridayboyz' data-sizes='auto' data-srcset=' https://images.rfm.pt/paladin38424f8b_destaque_3col.jpg 480w, https://images.rfm.pt/paladin38424f8b_base.jpg 555w, https://images.rfm.pt/paladin38424f8b_app_medium.jpg 711w, https://images.rfm.pt/paladin38424f8b_destaque_2col.jpg 960w, https://images.rfm.pt/paladin38424f8b_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/paladin38424f8b_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Paladin com Fridayboyz' title='Paladin com Fridayboyz' width='60' height='34' /></div></div></div><figcaption>Paladin com Fridayboyz</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/23714/bee-engineering-com-fridayboyz' title='Bee Engineering com Fridayboyz'><figure><div class='fig-box'><img title='Bee Engineering com Fridayboyz' alt='Bee Engineering com Fridayboyz' data-sizes='auto' data-srcset=' https://images.rfm.pt/fridayboyz-com-bee-enginering1037c879_destaque_3col.jpg 480w, https://images.rfm.pt/fridayboyz-com-bee-enginering1037c879_base.jpg 555w, https://images.rfm.pt/fridayboyz-com-bee-enginering1037c879_app_medium.jpg 711w, https://images.rfm.pt/fridayboyz-com-bee-enginering1037c879_destaque_2col.jpg 960w, https://images.rfm.pt/fridayboyz-com-bee-enginering1037c879_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/fridayboyz-com-bee-enginering1037c879_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Bee Engineering com Fridayboyz' title='Bee Engineering com Fridayboyz' width='60' height='34' /></div></div></div><figcaption>Bee Engineering com Fridayboyz</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button onclick="location.href='https://rfm.pt/videos-fridayboyz';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0" title="+ Vídeos"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - FRIDAYBOYZ --> <!-- MOD 4X - 90+3 --> <div class="x-title top-space half-bottom-space"><span>90+3</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/79280/903-t2-ep29-com-rui-borges-o-sporting-e-gyokeres-dependente' title='90+3 | T2 | EP29 | &quot;Com Rui Borges, o Sporting &#233; Gy&#246;keres-dependente&quot;'><figure><div class='fig-box'><img title='90+3 | T2 | EP29 | &quot;Com Rui Borges, o Sporting &#233; Gy&#246;keres-dependente&quot;' alt='90+3 | T2 | EP29 | &quot;Com Rui Borges, o Sporting &#233; Gy&#246;keres-dependente&quot;' data-sizes='auto' data-srcset=' https://images.rfm.pt/imagem-whatsapp48767dcd_destaque_3col.jpg 480w, https://images.rfm.pt/imagem-whatsapp48767dcd_base.jpg 555w, https://images.rfm.pt/imagem-whatsapp48767dcd_app_medium.jpg 711w, https://images.rfm.pt/imagem-whatsapp48767dcd_destaque_2col.jpg 960w, https://images.rfm.pt/imagem-whatsapp48767dcd_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/imagem-whatsapp48767dcd_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='90+3 | T2 | EP29 | &quot;Com Rui Borges, o Sporting &#233; Gy&#246;keres-dependente&quot;' title='90+3 | T2 | EP29 | &quot;Com Rui Borges, o Sporting &#233; Gy&#246;keres-dependente&quot;' width='60' height='34' /></div></div></div><figcaption>90+3 | T2 | EP29 | "Com Rui Borges, o Sporting é Gyökeres-dependente"</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79137/903-t2-ep28-madjer-vou-morrer-sem-saber-quantos-golos-marquei-na-carreira' title='90+3 | T2 | EP28 | Madjer | “Vou morrer sem saber quantos golos marquei na carreira”'><figure><div class='fig-box'><img title='90+3 | T2 | EP28 | Madjer | “Vou morrer sem saber quantos golos marquei na carreira”' alt='90+3 | T2 | EP28 | Madjer | “Vou morrer sem saber quantos golos marquei na carreira”' data-sizes='auto' data-srcset=' https://images.rfm.pt/madjer1523d3c4_destaque_3col.jpg 480w, https://images.rfm.pt/madjer1523d3c4_base.jpg 555w, https://images.rfm.pt/madjer1523d3c4_app_medium.jpg 711w, https://images.rfm.pt/madjer1523d3c4_destaque_2col.jpg 960w, https://images.rfm.pt/madjer1523d3c4_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/madjer1523d3c4_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='90+3 | T2 | EP28 | Madjer | “Vou morrer sem saber quantos golos marquei na carreira”' title='90+3 | T2 | EP28 | Madjer | “Vou morrer sem saber quantos golos marquei na carreira”' width='60' height='34' /></div></div></div><figcaption>90+3 | T2 | EP28 | Madjer | “Vou morrer sem saber quantos golos marquei na carreira”</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/79009/903-t2-ep27-diogo-luis-eu-sei-que-o-mourinho-anda-um-bocadinho-chateado-comigo' title='90+3 | T2 | EP27 | Diogo Lu&#237;s | “Eu sei que o Mourinho anda um bocadinho chateado comigo”'><figure><div class='fig-box'><img title='90+3 | T2 | EP27 | Diogo Lu&#237;s | “Eu sei que o Mourinho anda um bocadinho chateado comigo”' alt='90+3 | T2 | EP27 | Diogo Lu&#237;s | “Eu sei que o Mourinho anda um bocadinho chateado comigo”' data-sizes='auto' data-srcset=' https://images.rfm.pt/ep27-thumb-youtube6946275a_destaque_3col.png 480w, https://images.rfm.pt/ep27-thumb-youtube6946275a_base.png 555w, https://images.rfm.pt/ep27-thumb-youtube6946275a_app_medium.png 711w, https://images.rfm.pt/ep27-thumb-youtube6946275a_destaque_2col.png 960w, https://images.rfm.pt/ep27-thumb-youtube6946275a_app_large.png 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/ep27-thumb-youtube6946275a_base.png' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='90+3 | T2 | EP27 | Diogo Lu&#237;s | “Eu sei que o Mourinho anda um bocadinho chateado comigo”' title='90+3 | T2 | EP27 | Diogo Lu&#237;s | “Eu sei que o Mourinho anda um bocadinho chateado comigo”' width='60' height='34' /></div></div></div><figcaption>90+3 | T2 | EP27 | Diogo Luís | “Eu sei que o Mourinho anda um bocadinho chateado comigo”</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/78862/903-t2-ep26-sa-pinto-fui-preso-no-primeiro-dia-que-cheguei-ao-sporting' title='90+3 | T2 | EP26 | S&#225; Pinto | “Fui preso no primeiro dia que cheguei ao Sporting”'><figure><div class='fig-box'><img title='90+3 | T2 | EP26 | S&#225; Pinto | “Fui preso no primeiro dia que cheguei ao Sporting”' alt='90+3 | T2 | EP26 | S&#225; Pinto | “Fui preso no primeiro dia que cheguei ao Sporting”' data-sizes='auto' data-srcset=' https://images.rfm.pt/thumb-youtube1918afb0_destaque_3col.png 480w, https://images.rfm.pt/thumb-youtube1918afb0_base.png 555w, https://images.rfm.pt/thumb-youtube1918afb0_app_medium.png 711w, https://images.rfm.pt/thumb-youtube1918afb0_destaque_2col.png 960w, https://images.rfm.pt/thumb-youtube1918afb0_app_large.png 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/thumb-youtube1918afb0_base.png' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='90+3 | T2 | EP26 | S&#225; Pinto | “Fui preso no primeiro dia que cheguei ao Sporting”' title='90+3 | T2 | EP26 | S&#225; Pinto | “Fui preso no primeiro dia que cheguei ao Sporting”' width='60' height='34' /></div></div></div><figcaption>90+3 | T2 | EP26 | Sá Pinto | “Fui preso no primeiro dia que cheguei ao Sporting”</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button onclick="location.href='https://rfm.pt/videos-90-mais-3';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0" title="+ Vídeos"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - FRIDAYBOYZ --> <!-- MOD 4X - AGORA SAFA TE --> <div class="x-title top-space half-bottom-space"><span>Agora Safa-te</span></div> <section class="g-mx g-m4"> <div class='g-mx-it'><a href='https://rfm.pt/video/55026/tramaste-o-meu-futuro' title='Tramaste o meu futuro!'><figure><div class='fig-box'><img title='Tramaste o meu futuro!' alt='Tramaste o meu futuro!' data-sizes='auto' data-srcset=' https://images.rfm.pt/safa28jul2220123a6b_destaque_3col.jpg 480w, https://images.rfm.pt/safa28jul2220123a6b_base.jpg 555w, https://images.rfm.pt/safa28jul2220123a6b_app_medium.jpg 711w, https://images.rfm.pt/safa28jul2220123a6b_destaque_2col.jpg 960w, https://images.rfm.pt/safa28jul2220123a6b_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/safa28jul2220123a6b_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Tramaste o meu futuro!' title='Tramaste o meu futuro!' width='60' height='34' /></div></div></div><figcaption>Tramaste o meu futuro!</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/54885/mentiste-e-a-prova-e-grande' title='Mentiste e a prova &#233; grande!'><figure><div class='fig-box'><img title='Mentiste e a prova &#233; grande!' alt='Mentiste e a prova &#233; grande!' data-sizes='auto' data-srcset=' https://images.rfm.pt/safa21jul22131124fd_destaque_3col.jpg 480w, https://images.rfm.pt/safa21jul22131124fd_base.jpg 555w, https://images.rfm.pt/safa21jul22131124fd_app_medium.jpg 711w, https://images.rfm.pt/safa21jul22131124fd_destaque_2col.jpg 960w, https://images.rfm.pt/safa21jul22131124fd_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/safa21jul22131124fd_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='Mentiste e a prova &#233; grande!' title='Mentiste e a prova &#233; grande!' width='60' height='34' /></div></div></div><figcaption>Mentiste e a prova é grande!</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/54408/o-sacrificio-que-fizemos-pela-tua-mentira' title='O sacrif&#237;cio que fizemos pela tua mentira'><figure><div class='fig-box'><img title='O sacrif&#237;cio que fizemos pela tua mentira' alt='O sacrif&#237;cio que fizemos pela tua mentira' data-sizes='auto' data-srcset=' https://images.rfm.pt/safa5jul224181482e_destaque_3col.jpg 480w, https://images.rfm.pt/safa5jul224181482e_base.jpg 555w, https://images.rfm.pt/safa5jul224181482e_app_medium.jpg 711w, https://images.rfm.pt/safa5jul224181482e_destaque_2col.jpg 960w, https://images.rfm.pt/safa5jul224181482e_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/safa5jul224181482e_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='O sacrif&#237;cio que fizemos pela tua mentira' title='O sacrif&#237;cio que fizemos pela tua mentira' width='60' height='34' /></div></div></div><figcaption>O sacrifício que fizemos pela tua mentira</figcaption></figure></a></div><div class='g-mx-it'><a href='https://rfm.pt/video/53937/e-incrivel-e-tu-estas-a-leste' title='&#201; incr&#237;vel... E tu est&#225;s a leste!'><figure><div class='fig-box'><img title='&#201; incr&#237;vel... E tu est&#225;s a leste!' alt='&#201; incr&#237;vel... E tu est&#225;s a leste!' data-sizes='auto' data-srcset=' https://images.rfm.pt/dscf49231079d313_destaque_3col.jpg 480w, https://images.rfm.pt/dscf49231079d313_base.jpg 555w, https://images.rfm.pt/dscf49231079d313_app_medium.jpg 711w, https://images.rfm.pt/dscf49231079d313_destaque_2col.jpg 960w, https://images.rfm.pt/dscf49231079d313_app_large.jpg 1080w' sizes='(min-width):768px) 343px, 100vw' width='555' height='312' data-src='https://images.rfm.pt/dscf49231079d313_base.jpg' class='lazyload' /><div class='btn-media'><div><img src='https://rfmsite2023-images.azureedge.net/images/mico_video.svg' alt='&#201; incr&#237;vel... E tu est&#225;s a leste!' title='&#201; incr&#237;vel... E tu est&#225;s a leste!' width='60' height='34' /></div></div></div><figcaption>É incrível... E tu estás a leste!</figcaption></figure></a></div> </section> <section class="vertical-space align-center"> <button onclick="location.href='https://rfm.pt/videos-agora-safa-te';" class="x-btn" role="button" aria-label="+ Vídeos" tabindex="0" title="+ Vídeos"> <div class="x-btn-bg bgc-white brd-grey"></div> <span class="x-btn-lt txtc-grey large quarter-padding">+ Vídeos</span> </button> </section> <!-- MOD 4X - AGORA SAFA TE --> <!-- MOD 4X - VIDEOTECA --> <div class="x-title top-space half-bottom-space"><span>Videoteca</span></div> <section class="g-mx g-m6 top-space"> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-stand-up-na-hora" title="Stand up na hora"> <div><span>Stand-Up na Hora</span></div> </a> </div> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-informacao-privilegiada" title="Informação privilegiada"> <div><span>Informação Privilegiada</span></div> </a> </div> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-sem-palheta" title="Sem palheta"> <div><span>Sem Palheta</span></div> </a> </div> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-chefe-kiko-resolve" title="Chefe Kiko resolve"> <div><span>Chefe Kiko Resolve</span></div> </a> </div> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-so-leio-as-gordas" title="Só leio as gordas"> <div><span>Só Leio as Gordas</span></div> </a> </div> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-serrote" title="Serrote"> <div><span>Serrote</span></div> </a> </div> <div class="g-pods-it lnk-box-pink"> <a href="https://rfm.pt/videos-wifi" title="Wi-Fi"> <div><span>Wi-Fi</span></div> </a> </div> </section> <!-- PUB Mobile--> <!-- RADIOS ONLINE --> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/slick.min.js?v=2.8" as="script" /> <link rel="preload" href="https://rfmsite2023-images.azureedge.net/js/ticker.min.js?v=2.8" as="script" /> <link rel="stylesheet" href="https://rfmsite2023-images.azureedge.net/css/rotator-webrads.min.css?v=2.9"> <section class="wr-box2 radios-hz-cx half-top-space"> <div class="wr-title quarter-vertical-space"> <div>Rádios online</div> <div class="quarter-left-space"> <hr /> </div> </div> <div class="webrads-rot"> <div class="loading-ln-rads"> <div class="loader"></div> </div> <div class="slick-not-init"> <div class="wr-active-rad"> <a href="https://rfm.pt/ouvir-emissao-rfm" target="_blank" title="Ouvir a Rádio Online RFM"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM" alt="Ouvir a Rádio Online RFM" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-online_100x100.jpg" class="lazyload" /> <figcaption> <div class="marquee"> <div>No ar com <span class="marqueeBoxAnim">RFM</span></div> </div> </figcaption> </figure> </a> </div> <div class="wr-rad-list"> <ul class="n-list wr-rot"> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_rfm_jazzy"> <a href="https://rfm.pt/ouvir-emissao-rfm-jazzy" target="_blank" title="Ouvir a Rádio Online RFM Jazzy"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Jazzy" alt="Ouvir a Rádio Online RFM Jazzy" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Jazzy-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Jazzy-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Jazzy</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_rfm_novas"> <a href="https://rfm.pt/ouvir-emissao-rfm-novas" target="_blank" title="Ouvir a Rádio Online RFM Novas"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Novas" alt="Ouvir a Rádio Online RFM Novas" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Novas-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Novas-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Novas</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_rfm_dance_it"> <a href="https://rfm.pt/ouvir-emissao-rfm-dance-it" target="_blank" title="Ouvir a Rádio Online RFM Dance It"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Dance It" alt="Ouvir a Rádio Online RFM Dance It" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Dance-it-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Dance-it-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Dance It</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_rfm_latinas"> <a href="https://rfm.pt/ouvir-emissao-rfm-latinas" target="_blank" title="Ouvir a Rádio Online RFM Latinas"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Latinas" alt="Ouvir a Rádio Online RFM Latinas" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Latinas-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Latinas-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Latinas</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_rfm_oceano"> <a href="https://rfm.pt/ouvir-emissao-rfm-oceano-pacifico" target="_blank" title="Ouvir a Rádio Online RFM Oceano Pacífico"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Oceano Pacífico" alt="Ouvir a Rádio Online RFM Oceano Pacífico" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Oceano-Pacifico-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Oceano-Pacifico-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Oceano Pacífico</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_80s"> <a href="https://rfm.pt/ouvir-emissao-80s-rfm" target="_blank" title="Ouvir a Rádio Online 80's RFM"> <figure class="wr-img"> <img title="Ouvir a Rádio Online 80's RFM" alt="Ouvir a Rádio Online 80's RFM" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-80s-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-80s-radio-online_100x100.jpg" class="lazyload" /> <figcaption>80's RFM</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_90s"> <a href="https://rfm.pt/ouvir-emissao-90s-rfm" target="_blank" title="Ouvir a Rádio Online 90's RFM"> <figure class="wr-img"> <img title="Ouvir a Rádio Online 90's RFM" alt="Ouvir a Rádio Online 90's RFM" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-90s-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-90s-radio-online_100x100.jpg" class="lazyload" /> <figcaption>90's RFM</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_00s"> <a href="https://rfm.pt/ouvir-emissao-rfm-00s" target="_blank" title="Ouvir a Rádio Online 00's RFM"> <figure class="wr-img"> <img title="Ouvir a Rádio Online 00's RFM" alt="Ouvir a Rádio Online 00's RFM" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-00s-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-00s-radio-online_100x100.jpg" class="lazyload" /> <figcaption>00's RFM</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_rocks"> <a href="https://rfm.pt/ouvir-emissao-rfm-rocks" target="_blank" title="Ouvir a Rádio Online RFM Rocks"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Rocks" alt="Ouvir a Rádio Online RFM Rocks" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Rocks-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Rocks-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Rocks</figcaption> </figure> </a> </li> <li id="ContentPlaceHolderRFM_uc_radios_online_hz_li_toca_portugal"> <a href="https://rfm.pt/ouvir-emissao-rfm-toca-portugal" target="_blank" title="Ouvir a Rádio Online RFM Toca Portugal"> <figure class="wr-img"> <img title="Ouvir a Rádio Online RFM Toca Portugal" alt="Ouvir a Rádio Online RFM Toca Portugal" data-sizes="auto" data-srcset="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Toca-Portugal-radio-online_100x100.jpg" width="100" height="100" data-src="https://rfmsite2023-images.azureedge.net/images/webrads/rfm-Toca-Portugal-radio-online_100x100.jpg" class="lazyload" /> <figcaption>RFM Toca Portugal</figcaption> </figure> </a> </li> </ul> </div> </div> </div> </section> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/slick.min.js?v=2.8"></script> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/ticker.min.js?v=2.8"></script> <script type="text/javascript"> //Radios Ticker $(document).ready(function () { $(".loading-ln-rads").show(); //$('.wr-rot').on('init', function () { // $(this).removeClass('slick-not-init') //}) /* Simulate defer loading slick */ setTimeout(function () { $(".loading-ln-rads").hide(); $(".slick-not-init").show(); $('.wr-rot').slick({ dots: false, arrows: true, infinite: true, speed: 300, slidesToShow: 10, slidesToScroll: 1, autoplay: true, autoplaySpeed: 5000, prevArrow: "<img alt='Para a esquerda' class='a-left control-c prev slick-prev' src='https://rfmsite2023-images.azureedge.net/images/a-left.png'>", nextArrow: "<img alt='Para a direita' class='a-right control-c next slick-next' src='https://rfmsite2023-images.azureedge.net/images/a-right.png'>", responsive: [ { breakpoint: 2199.98, settings: { slidesToShow: 10, slidesToScroll: 1 } }, { breakpoint: 1899.98, settings: { slidesToShow: 9, slidesToScroll: 1 } }, { breakpoint: 1699.98, settings: { slidesToShow: 8, slidesToScroll: 1 } }, { breakpoint: 1499.98, settings: { slidesToShow: 7, slidesToScroll: 1 } }, { breakpoint: 1399.98, settings: { slidesToShow: 6, slidesToScroll: 1 } }, { breakpoint: 1299.98, settings: { slidesToShow: 5, slidesToScroll: 1 } }, { breakpoint: 1199.98, settings: { slidesToShow: 4, slidesToScroll: 1 } }, { breakpoint: 1099.98, settings: { slidesToShow: 3, slidesToScroll: 1 } }, { breakpoint: 992.98, settings: { slidesToShow: 5, slidesToScroll: 1 } }, { breakpoint: 767.98, settings: { slidesToShow: 4, slidesToScroll: 1, infinite: true } }, { breakpoint: 637.98, settings: { slidesToShow: 3, slidesToScroll: 1, infinite: true } }, { breakpoint: 458.98, settings: { slidesToShow: 2, slidesToScroll: 1, infinite: true } }, { breakpoint: 388.98, settings: { slidesToShow: 1, slidesToScroll: 1, infinite: true } } ] }); }, 500) }); </script> </section> <aside> <!-- PUB --> <div class="pub-info-hp hide-all quarter-top-space">PUB</div> <div id="aside-pub" class="bottom-space"><ad-placement format='halfPage' adunit='RFM/rfm_ros_mpu'></ad-placement></div> <!-- PUB HALFPAGE MOVEL--> <div class="pub-box half-top-space"> <ad-placement id='scrollBanner' format='halfPage' adunit='RFM/rfm_ros_stickyBanner' style='min-height: 250px;'></ad-placement> </div> </aside> </main> <!-- FOOTER --> <footer class="x-grad"> <div id="footer" class="x-flex base-w align-center half-vertical-padding"> <div class="all-20"><a href="https://gruporenascencamultimedia.com/" rel="noreferrer" target="_blank" title="Grupo Renascença Multimédia"> <img data-src="https://rfmsite2023-images.azureedge.net/img/footer/GRM.svg" alt="Grupo Renascença Multimédia" width="100" height="90" class="lazyload"></a></div> <div class="all-15"><a href="https://rr.pt/" rel="noreferrer" target="_blank" title="Renascença"> <img data-src="https://rfmsite2023-images.azureedge.net/img/footer/RENASCENCA.svg" alt="Renascença" width="75" height="75" class="lazyload"></a></div> <div class="all-15"><a href="https://megahits.fm/" rel="noreferrer" target="_blank" title="Mega Hits"> <img data-src="https://rfmsite2023-images.azureedge.net/img/footer/MEGA.svg" alt="Mega Hits" width="75" height="75" class="lazyload"></a></div> <div class="all-15"><a href="https://www.geniusymeios.pt/" rel="noreferrer" target="_blank" title="Genius y Meios"> <img data-src="https://rfmsite2023-images.azureedge.net/img/footer/GENIUS.svg" alt="Genius y Meios" width="75" height="75" class="lazyload"></a></div> <div class="all-15"><a href="https://www.intervoz.pt/" rel="noreferrer" target="_blank" title="Intervoz"> <img data-src="https://rfmsite2023-images.azureedge.net/img/footer/INTERVOZ.svg" alt="Intervoz" width="75" height="75" class="lazyload"></a></div> <div class="all-15"><a href="https://popcasts.pt/" rel="noreferrer" target="_blank" title="POPCASTS"> <img data-src="https://rfmsite2023-images.azureedge.net/img/footer/POPCASTS.svg" alt="POPCASTS" width="75" height="75" class="lazyload"></a></div> </div> <div class="go2-center small txtc-white double-bottom-padding"> <div><a href="https://rfm.pt/politica-de-utilizacao-digital" class="lnk-white" title="Politica de utilização digital">Politica de utilização digital</a></div> <div>© <span id="YearGRM1"></span> RFM. Todos os direitos reservados.</div> <div class="txtc-light-grey">Quinta do Bom Pastor, Estrada da Buraca 8-12, 1549-025 Lisboa T.213 239 200</div> <div><a href="mailto:mail@rfm.pt" class="lnk-white">mail@rfm.pt</a> | <a href="https://rfm.pt/transparencia" class="lnk-white" title="Transparência">Transparência</a> | <a href="https://rmultimedia.workky.com/portal-denuncias" title="Canal de Denúncias" rel="noopener" class="lnk-white no-wrap" target="_blank">Canal de Denúncias</a> | <a href="https://rfm.pt/publicidade" class="lnk-white" title="Publicidade">Publicidade</a> | <a href="https://gruporenascencamultimedia.com/carreiras/" target="_blank" class="lnk-white" title="Carreiras">Carreiras</a></div> </div> <script> const d = new Date(); let yearGRM1 = d.getFullYear(); document.getElementById("YearGRM1").innerHTML = yearGRM1; </script> </footer> </div> <!-- MAIN GRID ENDS --> <!-- PUB RICHMEDIA--> <div style='height:1px; width:1px;'><ad-placement format='outOfPage' adunit='RFM/rfm_ros_Richmedia'></ad-placement></div> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/scripts.min.js?v=2.8"></script> <script type="text/javascript" src="https://rfmsite2023-images.azureedge.net/js/lazysizes.min.js?v=2.8"></script> <!--Nonio RFM --> <script type="text/javascript" lang="javascript" src="https://cdns.gigya.com/js/gigya.js?apikey=3_GrwD1bNnX5VTTPqb_gKxnk6PZNZSdamJuaSJLnZZHpveP8D5lF8lk6YYoRaXAyox"> { lang: "pt", 'enableSSOToken': true } </script> <!-- PUB BUNDLE--> <script> window.TagBundle.init(tagBundleConfig, prebidConf) </script> <!-- PUB BUNDLE--> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10