
<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# ">
<head>
	<meta charset="utf-8" />
<meta name="description" content="Rhino Official website" />
<meta name="keywords" content="Rhino" />
<link rel="canonical" href="https://www.rhino.com/" />
<meta name="robots" content="index, follow" />
<link rel="shortlink" href="https://www.rhino.com/" />
<meta property="og:site_name" content="Rhino" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.rhino.com/" />
<meta property="og:title" content="Homepage | Rhino" />
<meta property="og:description" content="Rhino Official website" />
<meta property="og:image" content="https://www.rhino.com/sites/g/files/g2000012691/files/2024-07/logo-rhino.png" />
<meta property="og:image:url" content="https://www.rhino.com/sites/g/files/g2000012691/files/2024-07/logo-rhino.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:description" content="Rhino Official website" />
<meta name="twitter:title" content="Homepage | Rhino" />
<meta name="twitter:url" content="https://www.rhino.com/" />
<meta name="twitter:image" content="https://www.rhino.com/sites/g/files/g2000012691/files/2024-07/logo-rhino.png" />
<meta name="Generator" content="Drupal 10 (https://www.drupal.org)" />
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="noimageai,noai" />
<link rel="icon" href="/sites/g/files/g2000012691/files/rhino_r.png" type="image/png" />
<script type="text/javascript" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" charset="UTF-8" data-domain-script="083ace72-9fc8-4982-bec4-19b8055b8f5f" data-document-language="true"></script>
<script type="text/javascript">function OptanonWrapper() {
      var cookiePolicyLink = 'https://www.wminewmedia.com/cookies-policy/';
      var allLinks = document.querySelectorAll('a');
      for(i = 0; i < allLinks.length; i++) {
        let href = allLinks[i].href;
        if (href.indexOf(cookiePolicyLink) > -1 && href.indexOf('?ot=') < 0) {
          href = href + '?ot=083ace72-9fc8-4982-bec4-19b8055b8f5f&url=' + window.location.hostname;
          allLinks[i].setAttribute("href", href);
          allLinks[i].setAttribute("target", "_blank");
        }
      }             
      var eOT = new Event("OneTrustGroupsUpdated");
      document.dispatchEvent(eOT);
      var regCheckPerformance = /,C0002,/;
      var regCheckFunctional = /,C0003,/;
      var regCheckTargeting = /,C0004,/;
      var regCheckSocial = /,C0008,/;
}</script>
<link rel="stylesheet" type="text/css" href="https://www.wminewmedia.com/cookies-policy/onetrust/ot.css" />
<script type="text/javascript">digitalData={"settings":{"reportSuites":"wmg,wmgrhi,wmgrhinobrand,wmgrhino.com"},"content":{"artist":"Rhino.com","label":"Rhino"},"page":{"pageInfo":{"platform":"Drupal 10","pageName":"Rhino.com:Homepage","server":"Rhino.com:Site","devTeam":"WMAS"},"category":{"primaryCategory":"Rhino.com:Home","pageType":"homepage"}}}</script>
<script src="//assets.adobedtm.com/launch-EN302b8a31b75a4dda8ff8df1d0cdb4762.min.js" async></script>
<script src="https://libraries.wmgartistservices.com/custom-js/mailing-list/cdc.js" defer="defer"></script>
<script src="https://libraries.wmgartistservices.com/custom-js/mailing-list/dtm.js" defer="defer"></script>

	<title>Homepage | Rhino</title>
	
	<script>
digitalData={
	settings:{
		reportSuites:"wmg,wmgrhi,wmgrhinobrand,wmgrhino.com"
	},
	page:{
		pageInfo:{
			pageName:"Rhino.com:Homepage",
			server:"Rhino.com:Site",
			platform:"Drupal 10",
			devTeam: "WMAS",
														},
		category:{
			primaryCategory:"Rhino.com:Homepage",
			pageType:"Homepage"
		}
	},
	content:{
		artist:"Rhino.com",
		label:"Rhino"
	},
	}
</script>
<script src="//assets.adobedtm.com/launch-EN302b8a31b75a4dda8ff8df1d0cdb4762.min.js"></script>

	<link rel="stylesheet" media="all" href="/sites/g/files/g2000012691/files/css/css_qXUaY5Erx7qk696djyjRlD6QLaaMGhDzm1tdRIfRmD4.css?delta=0&amp;language=en&amp;theme=rhino_bootstrap&amp;include=eJxNyUEOwjAMRNELpeRIlVPcYhF3ooxLBKcHIUBs_uL9AgSjS8trF9eBfk39Yjvm8jtbRZE6LeRnBVD5ZS7dWjDxzlDPRajpZjqY3z05zkfVNHyb0cLcHhKGPb9g-ocn6zA2_Q" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/entreprise7pro-bootstrap@3.4.8/dist/css/bootstrap.min.css" integrity="sha256-zL9fLm9PT7/fK/vb1O9aIIAdm/+bGtxmUm/M1NPTU7Y=" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.1.1/7.x-3.x/drupal-bootstrap.min.css" integrity="sha512-nrwoY8z0/iCnnY9J1g189dfuRMCdI5JBwgvzKvwXC4dZ+145UNBUs+VdeG/TUuYRqlQbMlL4l8U3yT7pVss9Rg==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.1.1/8.x-3.x/drupal-bootstrap.min.css" integrity="sha512-jM5OBHt8tKkl65deNLp2dhFMAwoqHBIbzSW0WiRRwJfHzGoxAFuCowGd9hYi1vU8ce5xpa5IGmZBJujm/7rVtw==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.2.0/7.x-3.x/drupal-bootstrap.min.css" integrity="sha512-U2uRfTiJxR2skZ8hIFUv5y6dOBd9s8xW+YtYScDkVzHEen0kU0G9mH8F2W27r6kWdHc0EKYGY3JTT3C4pEN+/g==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.2.0/8.x-3.x/drupal-bootstrap.min.css" integrity="sha512-JXQ3Lp7Oc2/VyHbK4DKvRSwk2MVBTb6tV5Zv/3d7UIJKlNEGT1yws9vwOVUkpsTY0o8zcbCLPpCBG2NrZMBJyQ==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.3.1/7.x-3.x/drupal-bootstrap.min.css" integrity="sha512-ZbcpXUXjMO/AFuX8V7yWatyCWP4A4HMfXirwInFWwcxibyAu7jHhwgEA1jO4Xt/UACKU29cG5MxhF/i8SpfiWA==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.3.1/8.x-3.x/drupal-bootstrap.min.css" integrity="sha512-kTMXGtKrWAdF2+qSCfCTa16wLEVDAAopNlklx4qPXPMamBQOFGHXz0HDwz1bGhstsi17f2SYVNaYVRHWYeg3RQ==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.4.0/8.x-3.x/drupal-bootstrap.min.css" integrity="sha512-tGFFYdzcicBwsd5EPO92iUIytu9UkQR3tLMbORL9sfi/WswiHkA1O3ri9yHW+5dXk18Rd+pluMeDBrPKSwNCvw==" crossorigin="anonymous" />
<link rel="stylesheet" media="all" href="/sites/g/files/g2000012691/files/css/css_1J5R-Nq8hDJwRLLuvXLpkxhgruNFVDbxjp7LswqeybI.css?delta=9&amp;language=en&amp;theme=rhino_bootstrap&amp;include=eJxNyUEOwjAMRNELpeRIlVPcYhF3ooxLBKcHIUBs_uL9AgSjS8trF9eBfk39Yjvm8jtbRZE6LeRnBVD5ZS7dWjDxzlDPRajpZjqY3z05zkfVNHyb0cLcHhKGPb9g-ocn6zA2_Q" />

	
	<meta name="facebook-domain-verification" content="3t8dwef581yl4eyk0ndji3n8nyvh3h" />
	<!-- Start VWO Asynchronous Code -->
<script type='text/plain' class="optanon-category-C0002">
var _vwo_code=(function(){
var account_id=210763,
settings_tolerance=2000,
library_tolerance=2500,
use_existing_jquery=false,
/* DO NOT EDIT BELOW THIS LINE */
f=false,d=document;return{use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){settings_timer=setTimeout('_vwo_code.finish()',settings_tolerance);var a=d.createElement('style'),b='body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);this.load('//dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&r='+Math.random());return settings_timer;}};}());_vwo_settings_timer=_vwo_code.init();
</script>
<!-- End VWO Asynchronous Code -->
</head>
<body class="path-frontpage page-node-type-homepage">

<!--<div id="preload-overlay"></div>-->
	

	<div id="fb-root"></div>
	<script type='text/plain' class="optanon-category-C0004">(function(d, s, id) {
	var js, fjs = d.getElementsByTagName(s)[0];
	if (d.getElementById(id)) return;
	js = d.createElement(s); js.id = id;
	js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.9&appId=273167802811933";
	fjs.parentNode.insertBefore(js, fjs);
	}(document, 'script', 'facebook-jssdk'));</script>

	  <div class="region region-banner">
    <section id="block-mulishfont" class="block block-block-content block-block-content85490d4d-347e-4149-896e-2db7aa3dbb40 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;700&display=swap" rel="stylesheet"></div>
      
  </section>

<section class="views-element-container block block-views block-views-blockpromotion-ribbon-block-1 clearfix" id="block-views-block-promotion-ribbon-block-1">
  
    

      <div class="form-group"><div class="view view-promotion-ribbon view-id-promotion_ribbon view-display-id-block_1 js-view-dom-id-9b2c3cb5ec613b27074458b6179c7164da7cabb0ffcb7df6fcab01cb0d5dcc61">
  
    
      
      <div class="view-content">
          <div class="views-row"><div id="promotion_banner" nid="24216" style="display:none">
<a href="/newsletter"><strong>Stay in touch</strong> - be the first to hear about new releases, upcoming events, and more from Rhino.
</a>
<div class="promotion_hide">x</div>
</div>

</div>

    </div>
  
          </div>
</div>

  </section>


  </div>


	<a href="#main-content" class="visually-hidden focusable skip-link">
	  Skip to main content
	</a>
	<div class="product_added_message" style="display: none;">Added to cart!</div>


	
		<nav class="navbar navbar-default navbar-fixed-top">
	  <div class="container">
	  				<header id="navbar" role="banner">
		  <div class="navbar-header">
			<a class="navbar-brand" href="/" title="Rhino.com Home">Rhino.com Home</a>
			  <div class="region region-navigation">
    <section id="block-owlcarouseljscssandjqueryrequired" class="block block-block-content block-block-content045a443d-6c82-47c0-adb6-d24aaa820007 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800;900;1000&display=swap" rel="stylesheet">
<script>
        /*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
        !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(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.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||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+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]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},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},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},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=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){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[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,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(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===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]||oe.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]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!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!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(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 Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(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},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(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[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(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(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.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&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.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=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.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 le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],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,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(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))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(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=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.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,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.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&&e.button>=1))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?w(i,this).index(l)>-1:w.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(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,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&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.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,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:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(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=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.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 Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(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&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(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&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.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=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.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=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.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):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.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=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(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&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._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--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.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;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.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=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(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(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.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=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.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)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.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||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(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]}function Ut(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}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,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":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(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(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.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 w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.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"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.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,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.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)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
        
           /** Owl Carousel v2.2.1
             * Copyright 2013-2017 David Deutsch
             * Licensed under  ()
             */
            /**
             * Owl carousel
             * @version 2.1.6
             * @author Bartosz Wojciechowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             * @todo Lazy Load Icon
             * @todo prevent animationend bubling
             * @todo itemsScaleUp
             * @todo Test Zepto
             * @todo stagePadding calculate wrong active classes
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates a carousel.
                 * @class The Owl Carousel.
                 * @public
                 * @param {HTMLElement|$} element - The element to create the carousel for.
                 * @param {Object} [options] - The options
                 */
                function Owl(element, options) {
            
                    /**
                     * Current settings for the carousel.
                     * @public
                     */
                    this.settings = null;
            
                    /**
                     * Current options set by the caller including defaults.
                     * @public
                     */
                    this.options = $.extend({}, Owl.Defaults, options);
            
                    /**
                     * Plugin element.
                     * @public
                     */
                    this.$element = $(element);
            
                    /**
                     * Proxied event handlers.
                     * @protected
                     */
                    this._handlers = {};
            
                    /**
                     * References to the running plugins of this carousel.
                     * @protected
                     */
                    this._plugins = {};
            
                    /**
                     * Currently suppressed events to prevent them from beeing retriggered.
                     * @protected
                     */
                    this._supress = {};
            
                    /**
                     * Absolute current position.
                     * @protected
                     */
                    this._current = null;
            
                    /**
                     * Animation speed in milliseconds.
                     * @protected
                     */
                    this._speed = null;
            
                    /**
                     * Coordinates of all items in pixel.
                     * @todo The name of this member is missleading.
                     * @protected
                     */
                    this._coordinates = [];
            
                    /**
                     * Current breakpoint.
                     * @todo Real media queries would be nice.
                     * @protected
                     */
                    this._breakpoint = null;
            
                    /**
                     * Current width of the plugin element.
                     */
                    this._width = null;
            
                    /**
                     * All real items.
                     * @protected
                     */
                    this._items = [];
            
                    /**
                     * All cloned items.
                     * @protected
                     */
                    this._clones = [];
            
                    /**
                     * Merge values of all items.
                     * @todo Maybe this could be part of a plugin.
                     * @protected
                     */
                    this._mergers = [];
            
                    /**
                     * Widths of all items.
                     */
                    this._widths = [];
            
                    /**
                     * Invalidated parts within the update process.
                     * @protected
                     */
                    this._invalidated = {};
            
                    /**
                     * Ordered list of workers for the update process.
                     * @protected
                     */
                    this._pipe = [];
            
                    /**
                     * Current state information for the drag operation.
                     * @todo #261
                     * @protected
                     */
                    this._drag = {
                        time: null,
                        target: null,
                        pointer: null,
                        stage: {
                            start: null,
                            current: null
                        },
                        direction: null
                    };
            
                    /**
                     * Current state information and their tags.
                     * @type {Object}
                     * @protected
                     */
                    this._states = {
                        current: {},
                        tags: {
                            'initializing': [ 'busy' ],
                            'animating': [ 'busy' ],
                            'dragging': [ 'interacting' ]
                        }
                    };
            
                    $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {
                        this._handlers[handler] = $.proxy(this[handler], this);
                    }, this));
            
                    $.each(Owl.Plugins, $.proxy(function(key, plugin) {
                        this._plugins[key.charAt(0).toLowerCase() + key.slice(1)]
                            = new plugin(this);
                    }, this));
            
                    $.each(Owl.Workers, $.proxy(function(priority, worker) {
                        this._pipe.push({
                            'filter': worker.filter,
                            'run': $.proxy(worker.run, this)
                        });
                    }, this));
            
                    this.setup();
                    this.initialize();
                }
            
                /**
                 * Default options for the carousel.
                 * @public
                 */
                Owl.Defaults = {
                    items: 3,
                    loop: false,
                    center: false,
                    rewind: false,
            
                    mouseDrag: true,
                    touchDrag: true,
                    pullDrag: true,
                    freeDrag: false,
            
                    margin: 0,
                    stagePadding: 0,
            
                    merge: false,
                    mergeFit: true,
                    autoWidth: false,
            
                    startPosition: 0,
                    rtl: false,
            
                    smartSpeed: 250,
                    fluidSpeed: false,
                    dragEndSpeed: false,
            
                    responsive: {},
                    responsiveRefreshRate: 200,
                    responsiveBaseElement: window,
            
                    fallbackEasing: 'swing',
            
                    info: false,
            
                    nestedItemSelector: false,
                    itemElement: 'div',
                    stageElement: 'div',
            
                    refreshClass: 'owl-refresh',
                    loadedClass: 'owl-loaded',
                    loadingClass: 'owl-loading',
                    rtlClass: 'owl-rtl',
                    responsiveClass: 'owl-responsive',
                    dragClass: 'owl-drag',
                    itemClass: 'owl-item',
                    stageClass: 'owl-stage',
                    stageOuterClass: 'owl-stage-outer',
                    grabClass: 'owl-grab'
                };
            
                /**
                 * Enumeration for width.
                 * @public
                 * @readonly
                 * @enum {String}
                 */
                Owl.Width = {
                    Default: 'default',
                    Inner: 'inner',
                    Outer: 'outer'
                };
            
                /**
                 * Enumeration for types.
                 * @public
                 * @readonly
                 * @enum {String}
                 */
                Owl.Type = {
                    Event: 'event',
                    State: 'state'
                };
            
                /**
                 * Contains all registered plugins.
                 * @public
                 */
                Owl.Plugins = {};
            
                /**
                 * List of workers involved in the update process.
                 */
                Owl.Workers = [ {
                    filter: [ 'width', 'settings' ],
                    run: function() {
                        this._width = this.$element.width();
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function(cache) {
                        cache.current = this._items && this._items[this.relative(this._current)];
                    }
                }, {
                    filter: [ 'items', 'settings' ],
                    run: function() {
                        this.$stage.children('.cloned').remove();
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function(cache) {
                        var margin = this.settings.margin || '',
                            grid = !this.settings.autoWidth,
                            rtl = this.settings.rtl,
                            css = {
                                'width': 'auto',
                                'margin-left': rtl ? margin : '',
                                'margin-right': rtl ? '' : margin
                            };
            
                        !grid && this.$stage.children().css(css);
            
                        cache.css = css;
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function(cache) {
                        var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
                            merge = null,
                            iterator = this._items.length,
                            grid = !this.settings.autoWidth,
                            widths = [];
            
                        cache.items = {
                            merge: false,
                            width: width
                        };
            
                        while (iterator--) {
                            merge = this._mergers[iterator];
                            merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;
            
                            cache.items.merge = merge > 1 || cache.items.merge;
            
                            widths[iterator] = !grid ? this._items[iterator].width() : width * merge;
                        }
            
                        this._widths = widths;
                    }
                }, {
                    filter: [ 'items', 'settings' ],
                    run: function() {
                        var clones = [],
                            items = this._items,
                            settings = this.settings,
                            // TODO: Should be computed from number of min width items in stage
                            view = Math.max(settings.items * 2, 4),
                            size = Math.ceil(items.length / 2) * 2,
                            repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,
                            append = '',
                            prepend = '';
            
                        repeat /= 2;
            
                        while (repeat--) {
                            // Switch to only using appended clones
                            clones.push(this.normalize(clones.length / 2, true));
                            append = append + items[clones[clones.length - 1]][0].outerHTML;
                            clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));
                            prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;
                        }
            
                        this._clones = clones;
            
                        $(append).addClass('cloned').appendTo(this.$stage);
                        $(prepend).addClass('cloned').prependTo(this.$stage);
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function() {
                        var rtl = this.settings.rtl ? 1 : -1,
                            size = this._clones.length + this._items.length,
                            iterator = -1,
                            previous = 0,
                            current = 0,
                            coordinates = [];
            
                        while (++iterator < size) {
                            previous = coordinates[iterator - 1] || 0;
                            current = this._widths[this.relative(iterator)] + this.settings.margin;
                            coordinates.push(previous + current * rtl);
                        }
            
                        this._coordinates = coordinates;
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function() {
                        var padding = this.settings.stagePadding,
                            coordinates = this._coordinates,
                            css = {
                                'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,
                                'padding-left': padding || '',
                                'padding-right': padding || ''
                            };
            
                        this.$stage.css(css);
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function(cache) {
                        var iterator = this._coordinates.length,
                            grid = !this.settings.autoWidth,
                            items = this.$stage.children();
            
                        if (grid && cache.items.merge) {
                            while (iterator--) {
                                cache.css.width = this._widths[this.relative(iterator)];
                                items.eq(iterator).css(cache.css);
                            }
                        } else if (grid) {
                            cache.css.width = cache.items.width;
                            items.css(cache.css);
                        }
                    }
                }, {
                    filter: [ 'items' ],
                    run: function() {
                        this._coordinates.length < 1 && this.$stage.removeAttr('style');
                    }
                }, {
                    filter: [ 'width', 'items', 'settings' ],
                    run: function(cache) {
                        cache.current = cache.current ? this.$stage.children().index(cache.current) : 0;
                        cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));
                        this.reset(cache.current);
                    }
                }, {
                    filter: [ 'position' ],
                    run: function() {
                        this.animate(this.coordinates(this._current));
                    }
                }, {
                    filter: [ 'width', 'position', 'items', 'settings' ],
                    run: function() {
                        var rtl = this.settings.rtl ? 1 : -1,
                            padding = this.settings.stagePadding * 2,
                            begin = this.coordinates(this.current()) + padding,
                            end = begin + this.width() * rtl,
                            inner, outer, matches = [], i, n;
            
                        for (i = 0, n = this._coordinates.length; i < n; i++) {
                            inner = this._coordinates[i - 1] || 0;
                            outer = Math.abs(this._coordinates[i]) + padding * rtl;
            
                            if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))
                                || (this.op(outer, '<', begin) && this.op(outer, '>', end))) {
                                matches.push(i);
                            }
                        }
            
                        this.$stage.children('.active').removeClass('active');
                        this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');
            
                        if (this.settings.center) {
                            this.$stage.children('.center').removeClass('center');
                            this.$stage.children().eq(this.current()).addClass('center');
                        }
                    }
                } ];
            
                /**
                 * Initializes the carousel.
                 * @protected
                 */
                Owl.prototype.initialize = function() {
                    this.enter('initializing');
                    this.trigger('initialize');
            
                    this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);
            
                    if (this.settings.autoWidth && !this.is('pre-loading')) {
                        var imgs, nestedSelector, width;
                        imgs = this.$element.find('img');
                        nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;
                        width = this.$element.children(nestedSelector).width();
            
                        if (imgs.length && width <= 0) {
                            this.preloadAutoWidthImages(imgs);
                        }
                    }
            
                    this.$element.addClass(this.options.loadingClass);
            
                    // create stage
                    this.$stage = $('<' + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>')
                        .wrap('<div class="' + this.settings.stageOuterClass + '"/>');
            
                    // append stage
                    this.$element.append(this.$stage.parent());
            
                    // append content
                    this.replace(this.$element.children().not(this.$stage.parent()));
            
                    // check visibility
                    if (this.$element.is(':visible')) {
                        // update view
                        this.refresh();
                    } else {
                        // invalidate width
                        this.invalidate('width');
                    }
            
                    this.$element
                        .removeClass(this.options.loadingClass)
                        .addClass(this.options.loadedClass);
            
                    // register event handlers
                    this.registerEventHandlers();
            
                    this.leave('initializing');
                    this.trigger('initialized');
                };
            
                /**
                 * Setups the current settings.
                 * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?
                 * @todo Support for media queries by using `matchMedia` would be nice.
                 * @public
                 */
                Owl.prototype.setup = function() {
                    var viewport = this.viewport(),
                        overwrites = this.options.responsive,
                        match = -1,
                        settings = null;
            
                    if (!overwrites) {
                        settings = $.extend({}, this.options);
                    } else {
                        $.each(overwrites, function(breakpoint) {
                            if (breakpoint <= viewport && breakpoint > match) {
                                match = Number(breakpoint);
                            }
                        });
            
                        settings = $.extend({}, this.options, overwrites[match]);
                        if (typeof settings.stagePadding === 'function') {
                            settings.stagePadding = settings.stagePadding();
                        }
                        delete settings.responsive;
            
                        // responsive class
                        if (settings.responsiveClass) {
                            this.$element.attr('class',
                                this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match)
                            );
                        }
                    }
            
                    this.trigger('change', { property: { name: 'settings', value: settings } });
                    this._breakpoint = match;
                    this.settings = settings;
                    this.invalidate('settings');
                    this.trigger('changed', { property: { name: 'settings', value: this.settings } });
                };
            
                /**
                 * Updates option logic if necessery.
                 * @protected
                 */
                Owl.prototype.optionsLogic = function() {
                    if (this.settings.autoWidth) {
                        this.settings.stagePadding = false;
                        this.settings.merge = false;
                    }
                };
            
                /**
                 * Prepares an item before add.
                 * @todo Rename event parameter `content` to `item`.
                 * @protected
                 * @returns {$|HTMLElement} - The item container.
                 */
                Owl.prototype.prepare = function(item) {
                    var event = this.trigger('prepare', { content: item });
            
                    if (!event.data) {
                        event.data = $('<' + this.settings.itemElement + '/>')
                            .addClass(this.options.itemClass).append(item)
                    }
            
                    this.trigger('prepared', { content: event.data });
            
                    return event.data;
                };
            
                /**
                 * Updates the view.
                 * @public
                 */
                Owl.prototype.update = function() {
                    var i = 0,
                        n = this._pipe.length,
                        filter = $.proxy(function(p) { return this[p] }, this._invalidated),
                        cache = {};
            
                    while (i < n) {
                        if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {
                            this._pipe[i].run(cache);
                        }
                        i++;
                    }
            
                    this._invalidated = {};
            
                    !this.is('valid') && this.enter('valid');
                };
            
                /**
                 * Gets the width of the view.
                 * @public
                 * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.
                 * @returns {Number} - The width of the view in pixel.
                 */
                Owl.prototype.width = function(dimension) {
                    dimension = dimension || Owl.Width.Default;
                    switch (dimension) {
                        case Owl.Width.Inner:
                        case Owl.Width.Outer:
                            return this._width;
                        default:
                            return this._width - this.settings.stagePadding * 2 + this.settings.margin;
                    }
                };
            
                /**
                 * Refreshes the carousel primarily for adaptive purposes.
                 * @public
                 */
                Owl.prototype.refresh = function() {
                    this.enter('refreshing');
                    this.trigger('refresh');
            
                    this.setup();
            
                    this.optionsLogic();
            
                    this.$element.addClass(this.options.refreshClass);
            
                    this.update();
            
                    this.$element.removeClass(this.options.refreshClass);
            
                    this.leave('refreshing');
                    this.trigger('refreshed');
                };
            
                /**
                 * Checks window `resize` event.
                 * @protected
                 */
                Owl.prototype.onThrottledResize = function() {
                    window.clearTimeout(this.resizeTimer);
                    this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);
                };
            
                /**
                 * Checks window `resize` event.
                 * @protected
                 */
                Owl.prototype.onResize = function() {
                    if (!this._items.length) {
                        return false;
                    }
            
                    if (this._width === this.$element.width()) {
                        return false;
                    }
            
                    if (!this.$element.is(':visible')) {
                        return false;
                    }
            
                    this.enter('resizing');
            
                    if (this.trigger('resize').isDefaultPrevented()) {
                        this.leave('resizing');
                        return false;
                    }
            
                    this.invalidate('width');
            
                    this.refresh();
            
                    this.leave('resizing');
                    this.trigger('resized');
                };
            
                /**
                 * Registers event handlers.
                 * @todo Check `msPointerEnabled`
                 * @todo #261
                 * @protected
                 */
                Owl.prototype.registerEventHandlers = function() {
                    if ($.support.transition) {
                        this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));
                    }
            
                    if (this.settings.responsive !== false) {
                        this.on(window, 'resize', this._handlers.onThrottledResize);
                    }
            
                    if (this.settings.mouseDrag) {
                        this.$element.addClass(this.options.dragClass);
                        this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));
                        this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });
                    }
            
                    if (this.settings.touchDrag){
                        this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));
                        this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));
                    }
                };
            
                /**
                 * Handles `touchstart` and `mousedown` events.
                 * @todo Horizontal swipe threshold as option
                 * @todo #261
                 * @protected
                 * @param {Event} event - The event arguments.
                 */
                Owl.prototype.onDragStart = function(event) {
                    var stage = null;
            
                    if (event.which === 3) {
                        return;
                    }
            
                    if ($.support.transform) {
                        stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(',');
                        stage = {
                            x: stage[stage.length === 16 ? 12 : 4],
                            y: stage[stage.length === 16 ? 13 : 5]
                        };
                    } else {
                        stage = this.$stage.position();
                        stage = {
                            x: this.settings.rtl ?
                                stage.left + this.$stage.width() - this.width() + this.settings.margin :
                                stage.left,
                            y: stage.top
                        };
                    }
            
                    if (this.is('animating')) {
                        $.support.transform ? this.animate(stage.x) : this.$stage.stop()
                        this.invalidate('position');
                    }
            
                    this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');
            
                    this.speed(0);
            
                    this._drag.time = new Date().getTime();
                    this._drag.target = $(event.target);
                    this._drag.stage.start = stage;
                    this._drag.stage.current = stage;
                    this._drag.pointer = this.pointer(event);
            
                    $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));
            
                    $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {
                        var delta = this.difference(this._drag.pointer, this.pointer(event));
            
                        $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));
            
                        if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {
                            return;
                        }
            
                        event.preventDefault();
            
                        this.enter('dragging');
                        this.trigger('drag');
                    }, this));
                };
            
                /**
                 * Handles the `touchmove` and `mousemove` events.
                 * @todo #261
                 * @protected
                 * @param {Event} event - The event arguments.
                 */
                Owl.prototype.onDragMove = function(event) {
                    var minimum = null,
                        maximum = null,
                        pull = null,
                        delta = this.difference(this._drag.pointer, this.pointer(event)),
                        stage = this.difference(this._drag.stage.start, delta);
            
                    if (!this.is('dragging')) {
                        return;
                    }
            
                    event.preventDefault();
            
                    if (this.settings.loop) {
                        minimum = this.coordinates(this.minimum());
                        maximum = this.coordinates(this.maximum() + 1) - minimum;
                        stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;
                    } else {
                        minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());
                        maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());
                        pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;
                        stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);
                    }
            
                    this._drag.stage.current = stage;
            
                    this.animate(stage.x);
                };
            
                /**
                 * Handles the `touchend` and `mouseup` events.
                 * @todo #261
                 * @todo Threshold for click event
                 * @protected
                 * @param {Event} event - The event arguments.
                 */
                Owl.prototype.onDragEnd = function(event) {
                    var delta = this.difference(this._drag.pointer, this.pointer(event)),
                        stage = this._drag.stage.current,
                        direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';
            
                    $(document).off('.owl.core');
            
                    this.$element.removeClass(this.options.grabClass);
            
                    if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {
                        this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);
                        this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));
                        this.invalidate('position');
                        this.update();
            
                        this._drag.direction = direction;
            
                        if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {
                            this._drag.target.one('click.owl.core', function() { return false; });
                        }
                    }
            
                    if (!this.is('dragging')) {
                        return;
                    }
            
                    this.leave('dragging');
                    this.trigger('dragged');
                };
            
                /**
                 * Gets absolute position of the closest item for a coordinate.
                 * @todo Setting `freeDrag` makes `closest` not reusable. See #165.
                 * @protected
                 * @param {Number} coordinate - The coordinate in pixel.
                 * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.
                 * @return {Number} - The absolute position of the closest item.
                 */
                Owl.prototype.closest = function(coordinate, direction) {
                    var position = -1,
                        pull = 30,
                        width = this.width(),
                        coordinates = this.coordinates();
            
                    if (!this.settings.freeDrag) {
                        // check closest item
                        $.each(coordinates, $.proxy(function(index, value) {
                            // on a left pull, check on current index
                            if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {
                                position = index;
                            // on a right pull, check on previous index
                            // to do so, subtract width from value and set position = index + 1
                            } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {
                                position = index + 1;
                            } else if (this.op(coordinate, '<', value)
                                && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {
                                position = direction === 'left' ? index + 1 : index;
                            }
                            return position === -1;
                        }, this));
                    }
            
                    if (!this.settings.loop) {
                        // non loop boundries
                        if (this.op(coordinate, '>', coordinates[this.minimum()])) {
                            position = coordinate = this.minimum();
                        } else if (this.op(coordinate, '<', coordinates[this.maximum()])) {
                            position = coordinate = this.maximum();
                        }
                    }
            
                    return position;
                };
            
                /**
                 * Animates the stage.
                 * @todo #270
                 * @public
                 * @param {Number} coordinate - The coordinate in pixels.
                 */
                Owl.prototype.animate = function(coordinate) {
                    var animate = this.speed() > 0;
            
                    this.is('animating') && this.onTransitionEnd();
            
                    if (animate) {
                        this.enter('animating');
                        this.trigger('translate');
                    }
            
                    if ($.support.transform3d && $.support.transition) {
                        this.$stage.css({
                            transform: 'translate3d(' + coordinate + 'px,0px,0px)',
                            transition: (this.speed() / 1000) + 's'
                        });
                    } else if (animate) {
                        this.$stage.animate({
                            left: coordinate + 'px'
                        }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));
                    } else {
                        this.$stage.css({
                            left: coordinate + 'px'
                        });
                    }
                };
            
                /**
                 * Checks whether the carousel is in a specific state or not.
                 * @param {String} state - The state to check.
                 * @returns {Boolean} - The flag which indicates if the carousel is busy.
                 */
                Owl.prototype.is = function(state) {
                    return this._states.current[state] && this._states.current[state] > 0;
                };
            
                /**
                 * Sets the absolute position of the current item.
                 * @public
                 * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.
                 * @returns {Number} - The absolute position of the current item.
                 */
                Owl.prototype.current = function(position) {
                    if (position === undefined) {
                        return this._current;
                    }
            
                    if (this._items.length === 0) {
                        return undefined;
                    }
            
                    position = this.normalize(position);
            
                    if (this._current !== position) {
                        var event = this.trigger('change', { property: { name: 'position', value: position } });
            
                        if (event.data !== undefined) {
                            position = this.normalize(event.data);
                        }
            
                        this._current = position;
            
                        this.invalidate('position');
            
                        this.trigger('changed', { property: { name: 'position', value: this._current } });
                    }
            
                    return this._current;
                };
            
                /**
                 * Invalidates the given part of the update routine.
                 * @param {String} [part] - The part to invalidate.
                 * @returns {Array.<String>} - The invalidated parts.
                 */
                Owl.prototype.invalidate = function(part) {
                    if ($.type(part) === 'string') {
                        this._invalidated[part] = true;
                        this.is('valid') && this.leave('valid');
                    }
                    return $.map(this._invalidated, function(v, i) { return i });
                };
            
                /**
                 * Resets the absolute position of the current item.
                 * @public
                 * @param {Number} position - The absolute position of the new item.
                 */
                Owl.prototype.reset = function(position) {
                    position = this.normalize(position);
            
                    if (position === undefined) {
                        return;
                    }
            
                    this._speed = 0;
                    this._current = position;
            
                    this.suppress([ 'translate', 'translated' ]);
            
                    this.animate(this.coordinates(position));
            
                    this.release([ 'translate', 'translated' ]);
                };
            
                /**
                 * Normalizes an absolute or a relative position of an item.
                 * @public
                 * @param {Number} position - The absolute or relative position to normalize.
                 * @param {Boolean} [relative=false] - Whether the given position is relative or not.
                 * @returns {Number} - The normalized position.
                 */
                Owl.prototype.normalize = function(position, relative) {
                    var n = this._items.length,
                        m = relative ? 0 : this._clones.length;
            
                    if (!this.isNumeric(position) || n < 1) {
                        position = undefined;
                    } else if (position < 0 || position >= n + m) {
                        position = ((position - m / 2) % n + n) % n + m / 2;
                    }
            
                    return position;
                };
            
                /**
                 * Converts an absolute position of an item into a relative one.
                 * @public
                 * @param {Number} position - The absolute position to convert.
                 * @returns {Number} - The converted position.
                 */
                Owl.prototype.relative = function(position) {
                    position -= this._clones.length / 2;
                    return this.normalize(position, true);
                };
            
                /**
                 * Gets the maximum position for the current item.
                 * @public
                 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
                 * @returns {Number}
                 */
                Owl.prototype.maximum = function(relative) {
                    var settings = this.settings,
                        maximum = this._coordinates.length,
                        iterator,
                        reciprocalItemsWidth,
                        elementWidth;
            
                    if (settings.loop) {
                        maximum = this._clones.length / 2 + this._items.length - 1;
                    } else if (settings.autoWidth || settings.merge) {
                        iterator = this._items.length;
                        reciprocalItemsWidth = this._items[--iterator].width();
                        elementWidth = this.$element.width();
                        while (iterator--) {
                            reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;
                            if (reciprocalItemsWidth > elementWidth) {
                                break;
                            }
                        }
                        maximum = iterator + 1;
                    } else if (settings.center) {
                        maximum = this._items.length - 1;
                    } else {
                        maximum = this._items.length - settings.items;
                    }
            
                    if (relative) {
                        maximum -= this._clones.length / 2;
                    }
            
                    return Math.max(maximum, 0);
                };
            
                /**
                 * Gets the minimum position for the current item.
                 * @public
                 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
                 * @returns {Number}
                 */
                Owl.prototype.minimum = function(relative) {
                    return relative ? 0 : this._clones.length / 2;
                };
            
                /**
                 * Gets an item at the specified relative position.
                 * @public
                 * @param {Number} [position] - The relative position of the item.
                 * @return {$|Array.<$>} - The item at the given position or all items if no position was given.
                 */
                Owl.prototype.items = function(position) {
                    if (position === undefined) {
                        return this._items.slice();
                    }
            
                    position = this.normalize(position, true);
                    return this._items[position];
                };
            
                /**
                 * Gets an item at the specified relative position.
                 * @public
                 * @param {Number} [position] - The relative position of the item.
                 * @return {$|Array.<$>} - The item at the given position or all items if no position was given.
                 */
                Owl.prototype.mergers = function(position) {
                    if (position === undefined) {
                        return this._mergers.slice();
                    }
            
                    position = this.normalize(position, true);
                    return this._mergers[position];
                };
            
                /**
                 * Gets the absolute positions of clones for an item.
                 * @public
                 * @param {Number} [position] - The relative position of the item.
                 * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given.
                 */
                Owl.prototype.clones = function(position) {
                    var odd = this._clones.length / 2,
                        even = odd + this._items.length,
                        map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };
            
                    if (position === undefined) {
                        return $.map(this._clones, function(v, i) { return map(i) });
                    }
            
                    return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });
                };
            
                /**
                 * Sets the current animation speed.
                 * @public
                 * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.
                 * @returns {Number} - The current animation speed in milliseconds.
                 */
                Owl.prototype.speed = function(speed) {
                    if (speed !== undefined) {
                        this._speed = speed;
                    }
            
                    return this._speed;
                };
            
                /**
                 * Gets the coordinate of an item.
                 * @todo The name of this method is missleanding.
                 * @public
                 * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.
                 * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates.
                 */
                Owl.prototype.coordinates = function(position) {
                    var multiplier = 1,
                        newPosition = position - 1,
                        coordinate;
            
                    if (position === undefined) {
                        return $.map(this._coordinates, $.proxy(function(coordinate, index) {
                            return this.coordinates(index);
                        }, this));
                    }
            
                    if (this.settings.center) {
                        if (this.settings.rtl) {
                            multiplier = -1;
                            newPosition = position + 1;
                        }
            
                        coordinate = this._coordinates[position];
                        coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;
                    } else {
                        coordinate = this._coordinates[newPosition] || 0;
                    }
            
                    coordinate = Math.ceil(coordinate);
            
                    return coordinate;
                };
            
                /**
                 * Calculates the speed for a translation.
                 * @protected
                 * @param {Number} from - The absolute position of the start item.
                 * @param {Number} to - The absolute position of the target item.
                 * @param {Number} [factor=undefined] - The time factor in milliseconds.
                 * @returns {Number} - The time in milliseconds for the translation.
                 */
                Owl.prototype.duration = function(from, to, factor) {
                    if (factor === 0) {
                        return 0;
                    }
            
                    return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));
                };
            
                /**
                 * Slides to the specified item.
                 * @public
                 * @param {Number} position - The position of the item.
                 * @param {Number} [speed] - The time in milliseconds for the transition.
                 */
                Owl.prototype.to = function(position, speed) {
                    var current = this.current(),
                        revert = null,
                        distance = position - this.relative(current),
                        direction = (distance > 0) - (distance < 0),
                        items = this._items.length,
                        minimum = this.minimum(),
                        maximum = this.maximum();
            
                    if (this.settings.loop) {
                        if (!this.settings.rewind && Math.abs(distance) > items / 2) {
                            distance += direction * -1 * items;
                        }
            
                        position = current + distance;
                        revert = ((position - minimum) % items + items) % items + minimum;
            
                        if (revert !== position && revert - distance <= maximum && revert - distance > 0) {
                            current = revert - distance;
                            position = revert;
                            this.reset(current);
                        }
                    } else if (this.settings.rewind) {
                        maximum += 1;
                        position = (position % maximum + maximum) % maximum;
                    } else {
                        position = Math.max(minimum, Math.min(maximum, position));
                    }
            
                    this.speed(this.duration(current, position, speed));
                    this.current(position);
            
                    if (this.$element.is(':visible')) {
                        this.update();
                    }
                };
            
                /**
                 * Slides to the next item.
                 * @public
                 * @param {Number} [speed] - The time in milliseconds for the transition.
                 */
                Owl.prototype.next = function(speed) {
                    speed = speed || false;
                    this.to(this.relative(this.current()) + 1, speed);
                };
            
                /**
                 * Slides to the previous item.
                 * @public
                 * @param {Number} [speed] - The time in milliseconds for the transition.
                 */
                Owl.prototype.prev = function(speed) {
                    speed = speed || false;
                    this.to(this.relative(this.current()) - 1, speed);
                };
            
                /**
                 * Handles the end of an animation.
                 * @protected
                 * @param {Event} event - The event arguments.
                 */
                Owl.prototype.onTransitionEnd = function(event) {
            
                    // if css2 animation then event object is undefined
                    if (event !== undefined) {
                        event.stopPropagation();
            
                        // Catch only owl-stage transitionEnd event
                        if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {
                            return false;
                        }
                    }
            
                    this.leave('animating');
                    this.trigger('translated');
                };
            
                /**
                 * Gets viewport width.
                 * @protected
                 * @return {Number} - The width in pixel.
                 */
                Owl.prototype.viewport = function() {
                    var width;
                    if (this.options.responsiveBaseElement !== window) {
                        width = $(this.options.responsiveBaseElement).width();
                    } else if (window.innerWidth) {
                        width = window.innerWidth;
                    } else if (document.documentElement && document.documentElement.clientWidth) {
                        width = document.documentElement.clientWidth;
                    } else {
                        console.warn('Can not detect viewport width.');
                    }
                    return width;
                };
            
                /**
                 * Replaces the current content.
                 * @public
                 * @param {HTMLElement|$|String} content - The new content.
                 */
                Owl.prototype.replace = function(content) {
                    this.$stage.empty();
                    this._items = [];
            
                    if (content) {
                        content = (content instanceof $) ? content : $(content);
                    }
            
                    if (this.settings.nestedItemSelector) {
                        content = content.find('.' + this.settings.nestedItemSelector);
                    }
            
                    content.filter(function() {
                        return this.nodeType === 1;
                    }).each($.proxy(function(index, item) {
                        item = this.prepare(item);
                        this.$stage.append(item);
                        this._items.push(item);
                        this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
                    }, this));
            
                    this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);
            
                    this.invalidate('items');
                };
            
                /**
                 * Adds an item.
                 * @todo Use `item` instead of `content` for the event arguments.
                 * @public
                 * @param {HTMLElement|$|String} content - The item content to add.
                 * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.
                 */
                Owl.prototype.add = function(content, position) {
                    var current = this.relative(this._current);
            
                    position = position === undefined ? this._items.length : this.normalize(position, true);
                    content = content instanceof $ ? content : $(content);
            
                    this.trigger('add', { content: content, position: position });
            
                    content = this.prepare(content);
            
                    if (this._items.length === 0 || position === this._items.length) {
                        this._items.length === 0 && this.$stage.append(content);
                        this._items.length !== 0 && this._items[position - 1].after(content);
                        this._items.push(content);
                        this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
                    } else {
                        this._items[position].before(content);
                        this._items.splice(position, 0, content);
                        this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
                    }
            
                    this._items[current] && this.reset(this._items[current].index());
            
                    this.invalidate('items');
            
                    this.trigger('added', { content: content, position: position });
                };
            
                /**
                 * Removes an item by its position.
                 * @todo Use `item` instead of `content` for the event arguments.
                 * @public
                 * @param {Number} position - The relative position of the item to remove.
                 */
                Owl.prototype.remove = function(position) {
                    position = this.normalize(position, true);
            
                    if (position === undefined) {
                        return;
                    }
            
                    this.trigger('remove', { content: this._items[position], position: position });
            
                    this._items[position].remove();
                    this._items.splice(position, 1);
                    this._mergers.splice(position, 1);
            
                    this.invalidate('items');
            
                    this.trigger('removed', { content: null, position: position });
                };
            
                /**
                 * Preloads images with auto width.
                 * @todo Replace by a more generic approach
                 * @protected
                 */
                Owl.prototype.preloadAutoWidthImages = function(images) {
                    images.each($.proxy(function(i, element) {
                        this.enter('pre-loading');
                        element = $(element);
                        $(new Image()).one('load', $.proxy(function(e) {
                            element.attr('src', e.target.src);
                            element.css('opacity', 1);
                            this.leave('pre-loading');
                            !this.is('pre-loading') && !this.is('initializing') && this.refresh();
                        }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));
                    }, this));
                };
            
                /**
                 * Destroys the carousel.
                 * @public
                 */
                Owl.prototype.destroy = function() {
            
                    this.$element.off('.owl.core');
                    this.$stage.off('.owl.core');
                    $(document).off('.owl.core');
            
                    if (this.settings.responsive !== false) {
                        window.clearTimeout(this.resizeTimer);
                        this.off(window, 'resize', this._handlers.onThrottledResize);
                    }
            
                    for (var i in this._plugins) {
                        this._plugins[i].destroy();
                    }
            
                    this.$stage.children('.cloned').remove();
            
                    this.$stage.unwrap();
                    this.$stage.children().contents().unwrap();
                    this.$stage.children().unwrap();
            
                    this.$element
                        .removeClass(this.options.refreshClass)
                        .removeClass(this.options.loadingClass)
                        .removeClass(this.options.loadedClass)
                        .removeClass(this.options.rtlClass)
                        .removeClass(this.options.dragClass)
                        .removeClass(this.options.grabClass)
                        .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), ''))
                        .removeData('owl.carousel');
                };
            
                /**
                 * Operators to calculate right-to-left and left-to-right.
                 * @protected
                 * @param {Number} [a] - The left side operand.
                 * @param {String} [o] - The operator.
                 * @param {Number} [b] - The right side operand.
                 */
                Owl.prototype.op = function(a, o, b) {
                    var rtl = this.settings.rtl;
                    switch (o) {
                        case '<':
                            return rtl ? a > b : a < b;
                        case '>':
                            return rtl ? a < b : a > b;
                        case '>=':
                            return rtl ? a <= b : a >= b;
                        case '<=':
                            return rtl ? a >= b : a <= b;
                        default:
                            break;
                    }
                };
            
                /**
                 * Attaches to an internal event.
                 * @protected
                 * @param {HTMLElement} element - The event source.
                 * @param {String} event - The event name.
                 * @param {Function} listener - The event handler to attach.
                 * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.
                 */
                Owl.prototype.on = function(element, event, listener, capture) {
                    if (element.addEventListener) {
                        element.addEventListener(event, listener, capture);
                    } else if (element.attachEvent) {
                        element.attachEvent('on' + event, listener);
                    }
                };
            
                /**
                 * Detaches from an internal event.
                 * @protected
                 * @param {HTMLElement} element - The event source.
                 * @param {String} event - The event name.
                 * @param {Function} listener - The attached event handler to detach.
                 * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.
                 */
                Owl.prototype.off = function(element, event, listener, capture) {
                    if (element.removeEventListener) {
                        element.removeEventListener(event, listener, capture);
                    } else if (element.detachEvent) {
                        element.detachEvent('on' + event, listener);
                    }
                };
            
                /**
                 * Triggers a public event.
                 * @todo Remove `status`, `relatedTarget` should be used instead.
                 * @protected
                 * @param {String} name - The event name.
                 * @param {*} [data=null] - The event data.
                 * @param {String} [namespace=carousel] - The event namespace.
                 * @param {String} [state] - The state which is associated with the event.
                 * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.
                 * @returns {Event} - The event arguments.
                 */
                Owl.prototype.trigger = function(name, data, namespace, state, enter) {
                    var status = {
                        item: { count: this._items.length, index: this.current() }
                    }, handler = $.camelCase(
                        $.grep([ 'on', name, namespace ], function(v) { return v })
                            .join('-').toLowerCase()
                    ), event = $.Event(
                        [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),
                        $.extend({ relatedTarget: this }, status, data)
                    );
            
                    if (!this._supress[name]) {
                        $.each(this._plugins, function(name, plugin) {
                            if (plugin.onTrigger) {
                                plugin.onTrigger(event);
                            }
                        });
            
                        this.register({ type: Owl.Type.Event, name: name });
                        this.$element.trigger(event);
            
                        if (this.settings && typeof this.settings[handler] === 'function') {
                            this.settings[handler].call(this, event);
                        }
                    }
            
                    return event;
                };
            
                /**
                 * Enters a state.
                 * @param name - The state name.
                 */
                Owl.prototype.enter = function(name) {
                    $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
                        if (this._states.current[name] === undefined) {
                            this._states.current[name] = 0;
                        }
            
                        this._states.current[name]++;
                    }, this));
                };
            
                /**
                 * Leaves a state.
                 * @param name - The state name.
                 */
                Owl.prototype.leave = function(name) {
                    $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
                        this._states.current[name]--;
                    }, this));
                };
            
                /**
                 * Registers an event or state.
                 * @public
                 * @param {Object} object - The event or state to register.
                 */
                Owl.prototype.register = function(object) {
                    if (object.type === Owl.Type.Event) {
                        if (!$.event.special[object.name]) {
                            $.event.special[object.name] = {};
                        }
            
                        if (!$.event.special[object.name].owl) {
                            var _default = $.event.special[object.name]._default;
                            $.event.special[object.name]._default = function(e) {
                                if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {
                                    return _default.apply(this, arguments);
                                }
                                return e.namespace && e.namespace.indexOf('owl') > -1;
                            };
                            $.event.special[object.name].owl = true;
                        }
                    } else if (object.type === Owl.Type.State) {
                        if (!this._states.tags[object.name]) {
                            this._states.tags[object.name] = object.tags;
                        } else {
                            this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);
                        }
            
                        this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {
                            return $.inArray(tag, this._states.tags[object.name]) === i;
                        }, this));
                    }
                };
            
                /**
                 * Suppresses events.
                 * @protected
                 * @param {Array.<String>} events - The events to suppress.
                 */
                Owl.prototype.suppress = function(events) {
                    $.each(events, $.proxy(function(index, event) {
                        this._supress[event] = true;
                    }, this));
                };
            
                /**
                 * Releases suppressed events.
                 * @protected
                 * @param {Array.<String>} events - The events to release.
                 */
                Owl.prototype.release = function(events) {
                    $.each(events, $.proxy(function(index, event) {
                        delete this._supress[event];
                    }, this));
                };
            
                /**
                 * Gets unified pointer coordinates from event.
                 * @todo #261
                 * @protected
                 * @param {Event} - The `mousedown` or `touchstart` event.
                 * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.
                 */
                Owl.prototype.pointer = function(event) {
                    var result = { x: null, y: null };
            
                    event = event.originalEvent || event || window.event;
            
                    event = event.touches && event.touches.length ?
                        event.touches[0] : event.changedTouches && event.changedTouches.length ?
                            event.changedTouches[0] : event;
            
                    if (event.pageX) {
                        result.x = event.pageX;
                        result.y = event.pageY;
                    } else {
                        result.x = event.clientX;
                        result.y = event.clientY;
                    }
            
                    return result;
                };
            
                /**
                 * Determines if the input is a Number or something that can be coerced to a Number
                 * @protected
                 * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested
                 * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number
                 */
                Owl.prototype.isNumeric = function(number) {
                    return !isNaN(parseFloat(number));
                };
            
                /**
                 * Gets the difference of two vectors.
                 * @todo #261
                 * @protected
                 * @param {Object} - The first vector.
                 * @param {Object} - The second vector.
                 * @returns {Object} - The difference.
                 */
                Owl.prototype.difference = function(first, second) {
                    return {
                        x: first.x - second.x,
                        y: first.y - second.y
                    };
                };
            
                /**
                 * The $ Plugin for the Owl Carousel
                 * @todo Navigation plugin `next` and `prev`
                 * @public
                 */
                $.fn.owlCarousel = function(option) {
                    var args = Array.prototype.slice.call(arguments, 1);
            
                    return this.each(function() {
                        var $this = $(this),
                            data = $this.data('owl.carousel');
            
                        if (!data) {
                            data = new Owl(this, typeof option == 'object' && option);
                            $this.data('owl.carousel', data);
            
                            $.each([
                                'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'
                            ], function(i, event) {
                                data.register({ type: Owl.Type.Event, name: event });
                                data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {
                                    if (e.namespace && e.relatedTarget !== this) {
                                        this.suppress([ event ]);
                                        data[event].apply(this, [].slice.call(arguments, 1));
                                        this.release([ event ]);
                                    }
                                }, data));
                            });
                        }
            
                        if (typeof option == 'string' && option.charAt(0) !== '_') {
                            data[option].apply(data, args);
                        }
                    });
                };
            
                /**
                 * The constructor for the $ Plugin
                 * @public
                 */
                $.fn.owlCarousel.Constructor = Owl;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * AutoRefresh Plugin
             * @version 2.1.0
             * @author Artus Kolanowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates the auto refresh plugin.
                 * @class The Auto Refresh Plugin
                 * @param {Owl} carousel - The Owl Carousel
                 */
                var AutoRefresh = function(carousel) {
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * Refresh interval.
                     * @protected
                     * @type {number}
                     */
                    this._interval = null;
            
                    /**
                     * Whether the element is currently visible or not.
                     * @protected
                     * @type {Boolean}
                     */
                    this._visible = null;
            
                    /**
                     * All event handlers.
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'initialized.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.autoRefresh) {
                                this.watch();
                            }
                        }, this)
                    };
            
                    // set default options
                    this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);
            
                    // register event handlers
                    this._core.$element.on(this._handlers);
                };
            
                /**
                 * Default options.
                 * @public
                 */
                AutoRefresh.Defaults = {
                    autoRefresh: true,
                    autoRefreshInterval: 500
                };
            
                /**
                 * Watches the element.
                 */
                AutoRefresh.prototype.watch = function() {
                    if (this._interval) {
                        return;
                    }
            
                    this._visible = this._core.$element.is(':visible');
                    this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
                };
            
                /**
                 * Refreshes the element.
                 */
                AutoRefresh.prototype.refresh = function() {
                    if (this._core.$element.is(':visible') === this._visible) {
                        return;
                    }
            
                    this._visible = !this._visible;
            
                    this._core.$element.toggleClass('owl-hidden', !this._visible);
            
                    this._visible && (this._core.invalidate('width') && this._core.refresh());
                };
            
                /**
                 * Destroys the plugin.
                 */
                AutoRefresh.prototype.destroy = function() {
                    var handler, property;
            
                    window.clearInterval(this._interval);
            
                    for (handler in this._handlers) {
                        this._core.$element.off(handler, this._handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Lazy Plugin
             * @version 2.1.0
             * @author Bartosz Wojciechowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates the lazy plugin.
                 * @class The Lazy Plugin
                 * @param {Owl} carousel - The Owl Carousel
                 */
                var Lazy = function(carousel) {
            
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * Already loaded items.
                     * @protected
                     * @type {Array.<$>}
                     */
                    this._loaded = [];
            
                    /**
                     * Event handlers.
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {
                            if (!e.namespace) {
                                return;
                            }
            
                            if (!this._core.settings || !this._core.settings.lazyLoad) {
                                return;
                            }
            
                            if ((e.property && e.property.name == 'position') || e.type == 'initialized') {
                                var settings = this._core.settings,
                                    n = (settings.center && Math.ceil(settings.items / 2) || settings.items),
                                    i = ((settings.center && n * -1) || 0),
                                    position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,
                                    clones = this._core.clones().length,
                                    load = $.proxy(function(i, v) { this.load(v) }, this);
            
                                while (i++ < n) {
                                    this.load(clones / 2 + this._core.relative(position));
                                    clones && $.each(this._core.clones(this._core.relative(position)), load);
                                    position++;
                                }
                            }
                        }, this)
                    };
            
                    // set the default options
                    this._core.options = $.extend({}, Lazy.Defaults, this._core.options);
            
                    // register event handler
                    this._core.$element.on(this._handlers);
                };
            
                /**
                 * Default options.
                 * @public
                 */
                Lazy.Defaults = {
                    lazyLoad: false
                };
            
                /**
                 * Loads all resources of an item at the specified position.
                 * @param {Number} position - The absolute position of the item.
                 * @protected
                 */
                Lazy.prototype.load = function(position) {
                    var $item = this._core.$stage.children().eq(position),
                        $elements = $item && $item.find('.owl-lazy');
            
                    if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {
                        return;
                    }
            
                    $elements.each($.proxy(function(index, element) {
                        var $element = $(element), image,
                            url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');
            
                        this._core.trigger('load', { element: $element, url: url }, 'lazy');
            
                        if ($element.is('img')) {
                            $element.one('load.owl.lazy', $.proxy(function() {
                                $element.css('opacity', 1);
                                this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
                            }, this)).attr('src', url);
                        } else {
                            image = new Image();
                            image.onload = $.proxy(function() {
                                $element.css({
                                    'background-image': 'url("' + url + '")',
                                    'opacity': '1'
                                });
                                this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
                            }, this);
                            image.src = url;
                        }
                    }, this));
            
                    this._loaded.push($item.get(0));
                };
            
                /**
                 * Destroys the plugin.
                 * @public
                 */
                Lazy.prototype.destroy = function() {
                    var handler, property;
            
                    for (handler in this.handlers) {
                        this._core.$element.off(handler, this.handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * AutoHeight Plugin
             * @version 2.1.0
             * @author Bartosz Wojciechowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates the auto height plugin.
                 * @class The Auto Height Plugin
                 * @param {Owl} carousel - The Owl Carousel
                 */
                var AutoHeight = function(carousel) {
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * All event handlers.
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.autoHeight) {
                                this.update();
                            }
                        }, this),
                        'changed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){
                                this.update();
                            }
                        }, this),
                        'loaded.owl.lazy': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.autoHeight
                                && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {
                                this.update();
                            }
                        }, this)
                    };
            
                    // set default options
                    this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);
            
                    // register event handlers
                    this._core.$element.on(this._handlers);
                };
            
                /**
                 * Default options.
                 * @public
                 */
                AutoHeight.Defaults = {
                    autoHeight: false,
                    autoHeightClass: 'owl-height'
                };
            
                /**
                 * Updates the view.
                 */
                AutoHeight.prototype.update = function() {
                    var start = this._core._current,
                        end = start + this._core.settings.items,
                        visible = this._core.$stage.children().toArray().slice(start, end),
                        heights = [],
                        maxheight = 0;
            
                    $.each(visible, function(index, item) {
                        heights.push($(item).height());
                    });
            
                    maxheight = Math.max.apply(null, heights);
            
                    this._core.$stage.parent()
                        .height(maxheight)
                        .addClass(this._core.settings.autoHeightClass);
                };
            
                AutoHeight.prototype.destroy = function() {
                    var handler, property;
            
                    for (handler in this._handlers) {
                        this._core.$element.off(handler, this._handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Video Plugin
             * @version 2.1.0
             * @author Bartosz Wojciechowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates the video plugin.
                 * @class The Video Plugin
                 * @param {Owl} carousel - The Owl Carousel
                 */
                var Video = function(carousel) {
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * Cache all video URLs.
                     * @protected
                     * @type {Object}
                     */
                    this._videos = {};
            
                    /**
                     * Current playing item.
                     * @protected
                     * @type {$}
                     */
                    this._playing = null;
            
                    /**
                     * All event handlers.
                     * @todo The cloned content removale is too late
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'initialized.owl.carousel': $.proxy(function(e) {
                            if (e.namespace) {
                                this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });
                            }
                        }, this),
                        'resize.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.video && this.isInFullScreen()) {
                                e.preventDefault();
                            }
                        }, this),
                        'refreshed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.is('resizing')) {
                                this._core.$stage.find('.cloned .owl-video-frame').remove();
                            }
                        }, this),
                        'changed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && e.property.name === 'position' && this._playing) {
                                this.stop();
                            }
                        }, this),
                        'prepared.owl.carousel': $.proxy(function(e) {
                            if (!e.namespace) {
                                return;
                            }
            
                            var $element = $(e.content).find('.owl-video');
            
                            if ($element.length) {
                                $element.css('display', 'none');
                                this.fetch($element, $(e.content));
                            }
                        }, this)
                    };
            
                    // set default options
                    this._core.options = $.extend({}, Video.Defaults, this._core.options);
            
                    // register event handlers
                    this._core.$element.on(this._handlers);
            
                    this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {
                        this.play(e);
                    }, this));
                };
            
                /**
                 * Default options.
                 * @public
                 */
                Video.Defaults = {
                    video: false,
                    videoHeight: false,
                    videoWidth: false
                };
            
                /**
                 * Gets the video ID and the type (YouTube/Vimeo/vzaar only).
                 * @protected
                 * @param {$} target - The target containing the video data.
                 * @param {$} item - The item containing the video.
                 */
                Video.prototype.fetch = function(target, item) {
                        var type = (function() {
                                if (target.attr('data-vimeo-id')) {
                                    return 'vimeo';
                                } else if (target.attr('data-vzaar-id')) {
                                    return 'vzaar'
                                } else {
                                    return 'youtube';
                                }
                            })(),
                            id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),
                            width = target.attr('data-width') || this._core.settings.videoWidth,
                            height = target.attr('data-height') || this._core.settings.videoHeight,
                            url = target.attr('href');
            
                    if (url) {
            
                        /*
                                Parses the id's out of the following urls (and probably more):
                                https://www.youtube.com/watch?v=:id
                                https://youtu.be/:id
                                https://vimeo.com/:id
                                https://vimeo.com/channels/:channel/:id
                                https://vimeo.com/groups/:group/videos/:id
                                https://app.vzaar.com/videos/:id
            
                                Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F
                        */
            
                        id = url.match(/(https:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
            
                        if (id[3].indexOf('youtu') > -1) {
                            type = 'youtube';
                        } else if (id[3].indexOf('vimeo') > -1) {
                            type = 'vimeo';
                        } else if (id[3].indexOf('vzaar') > -1) {
                            type = 'vzaar';
                        } else {
                            throw new Error('Video URL not supported.');
                        }
                        id = id[6];
                    } else {
                        throw new Error('Missing video URL.');
                    }
            
                    this._videos[url] = {
                        type: type,
                        id: id,
                        width: width,
                        height: height
                    };
            
                    item.attr('data-video', url);
            
                    this.thumbnail(target, this._videos[url]);
                };
            
                /**
                 * Creates video thumbnail.
                 * @protected
                 * @param {$} target - The target containing the video data.
                 * @param {Object} info - The video info object.
                 * @see `fetch`
                 */
                Video.prototype.thumbnail = function(target, video) {
                    var tnLink,
                        icon,
                        path,
                        dimensions = video.width && video.height ? 'style="width:' + video.width + 'px;height:' + video.height + 'px;"' : '',
                        customTn = target.find('img'),
                        srcType = 'src',
                        lazyClass = '',
                        settings = this._core.settings,
                        create = function(path) {
                            icon = '<div class="owl-video-play-icon"></div>';
            
                            if (settings.lazyLoad) {
                                tnLink = '<div class="owl-video-tn ' + lazyClass + '" ' + srcType + '="' + path + '"></div>';
                            } else {
                                tnLink = '<div class="owl-video-tn" style="opacity:1;background-image:url(' + path + ')"></div>';
                            }
                            target.after(tnLink);
                            target.after(icon);
                        };
            
                    // wrap video content into owl-video-wrapper div
                    target.wrap('<div class="owl-video-wrapper"' + dimensions + '></div>');
            
                    if (this._core.settings.lazyLoad) {
                        srcType = 'data-src';
                        lazyClass = 'owl-lazy';
                    }
            
                    // custom thumbnail
                    if (customTn.length) {
                        create(customTn.attr(srcType));
                        customTn.remove();
                        return false;
                    }
            
                    if (video.type === 'youtube') {
                        path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg";
                        create(path);
                    } else if (video.type === 'vimeo') {
                        $.ajax({
                            type: 'GET',
                            url: '//vimeo.com/api/v2/video/' + video.id + '.json',
                            jsonp: 'callback',
                            dataType: 'jsonp',
                            success: function(data) {
                                path = data[0].thumbnail_large;
                                create(path);
                            }
                        });
                    } else if (video.type === 'vzaar') {
                        $.ajax({
                            type: 'GET',
                            url: '//vzaar.com/api/videos/' + video.id + '.json',
                            jsonp: 'callback',
                            dataType: 'jsonp',
                            success: function(data) {
                                path = data.framegrab_url;
                                create(path);
                            }
                        });
                    }
                };
            
                /**
                 * Stops the current video.
                 * @public
                 */
                Video.prototype.stop = function() {
                    this._core.trigger('stop', null, 'video');
                    this._playing.find('.owl-video-frame').remove();
                    this._playing.removeClass('owl-video-playing');
                    this._playing = null;
                    this._core.leave('playing');
                    this._core.trigger('stopped', null, 'video');
                };
            
                /**
                 * Starts the current video.
                 * @public
                 * @param {Event} event - The event arguments.
                 */
                Video.prototype.play = function(event) {
                    var target = $(event.target),
                        item = target.closest('.' + this._core.settings.itemClass),
                        video = this._videos[item.attr('data-video')],
                        width = video.width || '100%',
                        height = video.height || this._core.$stage.height(),
                        html;
            
                    if (this._playing) {
                        return;
                    }
            
                    this._core.enter('playing');
                    this._core.trigger('play', null, 'video');
            
                    item = this._core.items(this._core.relative(item.index()));
            
                    this._core.reset(item.index());
            
                    if (video.type === 'youtube') {
                        html = '<iframe width="' + width + '" height="' + height + '" src="//www.youtube.com/embed/' +
                            video.id + '?autoplay=1&rel=0&v=' + video.id + '" frameborder="0" allowfullscreen></iframe>';
                    } else if (video.type === 'vimeo') {
                        html = '<iframe src="//player.vimeo.com/video/' + video.id +
                            '?autoplay=1" width="' + width + '" height="' + height +
                            '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
                    } else if (video.type === 'vzaar') {
                        html = '<iframe frameborder="0"' + 'height="' + height + '"' + 'width="' + width +
                            '" allowfullscreen mozallowfullscreen webkitAllowFullScreen ' +
                            'src="//view.vzaar.com/' + video.id + '/player?autoplay=true"></iframe>';
                    }
            
                    $('<div class="owl-video-frame">' + html + '</div>').insertAfter(item.find('.owl-video'));
            
                    this._playing = item.addClass('owl-video-playing');
                };
            
                /**
                 * Checks whether an video is currently in full screen mode or not.
                 * @todo Bad style because looks like a readonly method but changes members.
                 * @protected
                 * @returns {Boolean}
                 */
                Video.prototype.isInFullScreen = function() {
                    var element = document.fullscreenElement || document.mozFullScreenElement ||
                            document.webkitFullscreenElement;
            
                    return element && $(element).parent().hasClass('owl-video-frame');
                };
            
                /**
                 * Destroys the plugin.
                 */
                Video.prototype.destroy = function() {
                    var handler, property;
            
                    this._core.$element.off('click.owl.video');
            
                    for (handler in this._handlers) {
                        this._core.$element.off(handler, this._handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.Video = Video;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Animate Plugin
             * @version 2.1.0
             * @author Bartosz Wojciechowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates the animate plugin.
                 * @class The Navigation Plugin
                 * @param {Owl} scope - The Owl Carousel
                 */
                var Animate = function(scope) {
                    this.core = scope;
                    this.core.options = $.extend({}, Animate.Defaults, this.core.options);
                    this.swapping = true;
                    this.previous = undefined;
                    this.next = undefined;
            
                    this.handlers = {
                        'change.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && e.property.name == 'position') {
                                this.previous = this.core.current();
                                this.next = e.property.value;
                            }
                        }, this),
                        'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
                            if (e.namespace) {
                                this.swapping = e.type == 'translated';
                            }
                        }, this),
                        'translate.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
                                this.swap();
                            }
                        }, this)
                    };
            
                    this.core.$element.on(this.handlers);
                };
            
                /**
                 * Default options.
                 * @public
                 */
                Animate.Defaults = {
                    animateOut: false,
                    animateIn: false
                };
            
                /**
                 * Toggles the animation classes whenever an translations starts.
                 * @protected
                 * @returns {Boolean|undefined}
                 */
                Animate.prototype.swap = function() {
            
                    if (this.core.settings.items !== 1) {
                        return;
                    }
            
                    if (!$.support.animation || !$.support.transition) {
                        return;
                    }
            
                    this.core.speed(0);
            
                    var left,
                        clear = $.proxy(this.clear, this),
                        previous = this.core.$stage.children().eq(this.previous),
                        next = this.core.$stage.children().eq(this.next),
                        incoming = this.core.settings.animateIn,
                        outgoing = this.core.settings.animateOut;
            
                    if (this.core.current() === this.previous) {
                        return;
                    }
            
                    if (outgoing) {
                        left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
                        previous.one($.support.animation.end, clear)
                            .css( { 'left': left + 'px' } )
                            .addClass('animated owl-animated-out')
                            .addClass(outgoing);
                    }
            
                    if (incoming) {
                        next.one($.support.animation.end, clear)
                            .addClass('animated owl-animated-in')
                            .addClass(incoming);
                    }
                };
            
                Animate.prototype.clear = function(e) {
                    $(e.target).css( { 'left': '' } )
                        .removeClass('animated owl-animated-out owl-animated-in')
                        .removeClass(this.core.settings.animateIn)
                        .removeClass(this.core.settings.animateOut);
                    this.core.onTransitionEnd();
                };
            
                /**
                 * Destroys the plugin.
                 * @public
                 */
                Animate.prototype.destroy = function() {
                    var handler, property;
            
                    for (handler in this.handlers) {
                        this.core.$element.off(handler, this.handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.Animate = Animate;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Autoplay Plugin
             * @version 2.1.0
             * @author Bartosz Wojciechowski
             * @author Artus Kolanowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                /**
                 * Creates the autoplay plugin.
                 * @class The Autoplay Plugin
                 * @param {Owl} scope - The Owl Carousel
                 */
                var Autoplay = function(carousel) {
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * The autoplay timeout.
                     * @type {Timeout}
                     */
                    this._timeout = null;
            
                    /**
                     * Indicates whenever the autoplay is paused.
                     * @type {Boolean}
                     */
                    this._paused = false;
            
                    /**
                     * All event handlers.
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'changed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && e.property.name === 'settings') {
                                if (this._core.settings.autoplay) {
                                    this.play();
                                } else {
                                    this.stop();
                                }
                            } else if (e.namespace && e.property.name === 'position') {
                                //console.log('play?', e);
                                if (this._core.settings.autoplay) {
                                    this._setAutoPlayInterval();
                                }
                            }
                        }, this),
                        'initialized.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.autoplay) {
                                this.play();
                            }
                        }, this),
                        'play.owl.autoplay': $.proxy(function(e, t, s) {
                            if (e.namespace) {
                                this.play(t, s);
                            }
                        }, this),
                        'stop.owl.autoplay': $.proxy(function(e) {
                            if (e.namespace) {
                                this.stop();
                            }
                        }, this),
                        'mouseover.owl.autoplay': $.proxy(function() {
                            if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
                                this.pause();
                            }
                        }, this),
                        'mouseleave.owl.autoplay': $.proxy(function() {
                            if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
                                this.play();
                            }
                        }, this),
                        'touchstart.owl.core': $.proxy(function() {
                            if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
                                this.pause();
                            }
                        }, this),
                        'touchend.owl.core': $.proxy(function() {
                            if (this._core.settings.autoplayHoverPause) {
                                this.play();
                            }
                        }, this)
                    };
            
                    // register event handlers
                    this._core.$element.on(this._handlers);
            
                    // set default options
                    this._core.options = $.extend({}, Autoplay.Defaults, this._core.options);
                };
            
                /**
                 * Default options.
                 * @public
                 */
                Autoplay.Defaults = {
                    autoplay: false,
                    autoplayTimeout: 5000,
                    autoplayHoverPause: false,
                    autoplaySpeed: false
                };
            
                /**
                 * Starts the autoplay.
                 * @public
                 * @param {Number} [timeout] - The interval before the next animation starts.
                 * @param {Number} [speed] - The animation speed for the animations.
                 */
                Autoplay.prototype.play = function(timeout, speed) {
                    this._paused = false;
            
                    if (this._core.is('rotating')) {
                        return;
                    }
            
                    this._core.enter('rotating');
            
                    this._setAutoPlayInterval();
                };
            
                /**
                 * Gets a new timeout
                 * @private
                 * @param {Number} [timeout] - The interval before the next animation starts.
                 * @param {Number} [speed] - The animation speed for the animations.
                 * @return {Timeout}
                 */
                Autoplay.prototype._getNextTimeout = function(timeout, speed) {
                    if ( this._timeout ) {
                        window.clearTimeout(this._timeout);
                    }
                    return window.setTimeout($.proxy(function() {
                        if (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {
                            return;
                        }
                        this._core.next(speed || this._core.settings.autoplaySpeed);
                    }, this), timeout || this._core.settings.autoplayTimeout);
                };
            
                /**
                 * Sets autoplay in motion.
                 * @private
                 */
                Autoplay.prototype._setAutoPlayInterval = function() {
                    this._timeout = this._getNextTimeout();
                };
            
                /**
                 * Stops the autoplay.
                 * @public
                 */
                Autoplay.prototype.stop = function() {
                    if (!this._core.is('rotating')) {
                        return;
                    }
            
                    window.clearTimeout(this._timeout);
                    this._core.leave('rotating');
                };
            
                /**
                 * Stops the autoplay.
                 * @public
                 */
                Autoplay.prototype.pause = function() {
                    if (!this._core.is('rotating')) {
                        return;
                    }
            
                    this._paused = true;
                };
            
                /**
                 * Destroys the plugin.
                 */
                Autoplay.prototype.destroy = function() {
                    var handler, property;
            
                    this.stop();
            
                    for (handler in this._handlers) {
                        this._core.$element.off(handler, this._handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Navigation Plugin
             * @version 2.1.0
             * @author Artus Kolanowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
                'use strict';
            
                /**
                 * Creates the navigation plugin.
                 * @class The Navigation Plugin
                 * @param {Owl} carousel - The Owl Carousel.
                 */
                var Navigation = function(carousel) {
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * Indicates whether the plugin is initialized or not.
                     * @protected
                     * @type {Boolean}
                     */
                    this._initialized = false;
            
                    /**
                     * The current paging indexes.
                     * @protected
                     * @type {Array}
                     */
                    this._pages = [];
            
                    /**
                     * All DOM elements of the user interface.
                     * @protected
                     * @type {Object}
                     */
                    this._controls = {};
            
                    /**
                     * Markup for an indicator.
                     * @protected
                     * @type {Array.<String>}
                     */
                    this._templates = [];
            
                    /**
                     * The carousel element.
                     * @type {$}
                     */
                    this.$element = this._core.$element;
            
                    /**
                     * Overridden methods of the carousel.
                     * @protected
                     * @type {Object}
                     */
                    this._overrides = {
                        next: this._core.next,
                        prev: this._core.prev,
                        to: this._core.to
                    };
            
                    /**
                     * All event handlers.
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'prepared.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.dotsData) {
                                this._templates.push('<div class="' + this._core.settings.dotClass + '">' +
                                    $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '</div>');
                            }
                        }, this),
                        'added.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.dotsData) {
                                this._templates.splice(e.position, 0, this._templates.pop());
                            }
                        }, this),
                        'remove.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.dotsData) {
                                this._templates.splice(e.position, 1);
                            }
                        }, this),
                        'changed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && e.property.name == 'position') {
                                this.draw();
                            }
                        }, this),
                        'initialized.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && !this._initialized) {
                                this._core.trigger('initialize', null, 'navigation');
                                this.initialize();
                                this.update();
                                this.draw();
                                this._initialized = true;
                                this._core.trigger('initialized', null, 'navigation');
                            }
                        }, this),
                        'refreshed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._initialized) {
                                this._core.trigger('refresh', null, 'navigation');
                                this.update();
                                this.draw();
                                this._core.trigger('refreshed', null, 'navigation');
                            }
                        }, this)
                    };
            
                    // set default options
                    this._core.options = $.extend({}, Navigation.Defaults, this._core.options);
            
                    // register event handlers
                    this.$element.on(this._handlers);
                };
            
                /**
                 * Default options.
                 * @public
                 * @todo Rename `slideBy` to `navBy`
                 */
                Navigation.Defaults = {
                    nav: false,
                    navText: [ 'prev', 'next' ],
                    navSpeed: false,
                    navElement: 'div',
                    navContainer: false,
                    navContainerClass: 'owl-nav',
                    navClass: [ 'owl-prev', 'owl-next' ],
                    slideBy: 1,
                    dotClass: 'owl-dot',
                    dotsClass: 'owl-dots',
                    dots: true,
                    dotsEach: false,
                    dotsData: false,
                    dotsSpeed: false,
                    dotsContainer: false
                };
            
                /**
                 * Initializes the layout of the plugin and extends the carousel.
                 * @protected
                 */
                Navigation.prototype.initialize = function() {
                    var override,
                        settings = this._core.settings;
            
                    // create DOM structure for relative navigation
                    this._controls.$relative = (settings.navContainer ? $(settings.navContainer)
                        : $('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');
            
                    this._controls.$previous = $('<' + settings.navElement + '>')
                        .addClass(settings.navClass[0])
                        .html(settings.navText[0])
                        .prependTo(this._controls.$relative)
                        .on('click', $.proxy(function(e) {
                            this.prev(settings.navSpeed);
                        }, this));
                    this._controls.$next = $('<' + settings.navElement + '>')
                        .addClass(settings.navClass[1])
                        .html(settings.navText[1])
                        .appendTo(this._controls.$relative)
                        .on('click', $.proxy(function(e) {
                            this.next(settings.navSpeed);
                        }, this));
            
                    // create DOM structure for absolute navigation
                    if (!settings.dotsData) {
                        this._templates = [ $('<div>')
                            .addClass(settings.dotClass)
                            .append($('<span>'))
                            .prop('outerHTML') ];
                    }
            
                    this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)
                        : $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');
            
                    this._controls.$absolute.on('click', 'div', $.proxy(function(e) {
                        var index = $(e.target).parent().is(this._controls.$absolute)
                            ? $(e.target).index() : $(e.target).parent().index();
            
                        e.preventDefault();
            
                        this.to(index, settings.dotsSpeed);
                    }, this));
            
                    // override public methods of the carousel
                    for (override in this._overrides) {
                        this._core[override] = $.proxy(this[override], this);
                    }
                };
            
                /**
                 * Destroys the plugin.
                 * @protected
                 */
                Navigation.prototype.destroy = function() {
                    var handler, control, property, override;
            
                    for (handler in this._handlers) {
                        this.$element.off(handler, this._handlers[handler]);
                    }
                    for (control in this._controls) {
                        this._controls[control].remove();
                    }
                    for (override in this.overides) {
                        this._core[override] = this._overrides[override];
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                /**
                 * Updates the internal state.
                 * @protected
                 */
                Navigation.prototype.update = function() {
                    var i, j, k,
                        lower = this._core.clones().length / 2,
                        upper = lower + this._core.items().length,
                        maximum = this._core.maximum(true),
                        settings = this._core.settings,
                        size = settings.center || settings.autoWidth || settings.dotsData
                            ? 1 : settings.dotsEach || settings.items;
            
                    if (settings.slideBy !== 'page') {
                        settings.slideBy = Math.min(settings.slideBy, settings.items);
                    }
            
                    if (settings.dots || settings.slideBy == 'page') {
                        this._pages = [];
            
                        for (i = lower, j = 0, k = 0; i < upper; i++) {
                            if (j >= size || j === 0) {
                                this._pages.push({
                                    start: Math.min(maximum, i - lower),
                                    end: i - lower + size - 1
                                });
                                if (Math.min(maximum, i - lower) === maximum) {
                                    break;
                                }
                                j = 0, ++k;
                            }
                            j += this._core.mergers(this._core.relative(i));
                        }
                    }
                };
            
                /**
                 * Draws the user interface.
                 * @todo The option `dotsData` wont work.
                 * @protected
                 */
                Navigation.prototype.draw = function() {
                    var difference,
                        settings = this._core.settings,
                        disabled = this._core.items().length <= settings.items,
                        index = this._core.relative(this._core.current()),
                        loop = settings.loop || settings.rewind;
            
                    this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);
            
                    if (settings.nav) {
                        this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));
                        this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));
                    }
            
                    this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);
            
                    if (settings.dots) {
                        difference = this._pages.length - this._controls.$absolute.children().length;
            
                        if (settings.dotsData && difference !== 0) {
                            this._controls.$absolute.html(this._templates.join(''));
                        } else if (difference > 0) {
                            this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));
                        } else if (difference < 0) {
                            this._controls.$absolute.children().slice(difference).remove();
                        }
            
                        this._controls.$absolute.find('.active').removeClass('active');
                        this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');
                    }
                };
            
                /**
                 * Extends event data.
                 * @protected
                 * @param {Event} event - The event object which gets thrown.
                 */
                Navigation.prototype.onTrigger = function(event) {
                    var settings = this._core.settings;
            
                    event.page = {
                        index: $.inArray(this.current(), this._pages),
                        count: this._pages.length,
                        size: settings && (settings.center || settings.autoWidth || settings.dotsData
                            ? 1 : settings.dotsEach || settings.items)
                    };
                };
            
                /**
                 * Gets the current page position of the carousel.
                 * @protected
                 * @returns {Number}
                 */
                Navigation.prototype.current = function() {
                    var current = this._core.relative(this._core.current());
                    return $.grep(this._pages, $.proxy(function(page, index) {
                        return page.start <= current && page.end >= current;
                    }, this)).pop();
                };
            
                /**
                 * Gets the current succesor/predecessor position.
                 * @protected
                 * @returns {Number}
                 */
                Navigation.prototype.getPosition = function(successor) {
                    var position, length,
                        settings = this._core.settings;
            
                    if (settings.slideBy == 'page') {
                        position = $.inArray(this.current(), this._pages);
                        length = this._pages.length;
                        successor ? ++position : --position;
                        position = this._pages[((position % length) + length) % length].start;
                    } else {
                        position = this._core.relative(this._core.current());
                        length = this._core.items().length;
                        successor ? position += settings.slideBy : position -= settings.slideBy;
                    }
            
                    return position;
                };
            
                /**
                 * Slides to the next item or page.
                 * @public
                 * @param {Number} [speed=false] - The time in milliseconds for the transition.
                 */
                Navigation.prototype.next = function(speed) {
                    $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
                };
            
                /**
                 * Slides to the previous item or page.
                 * @public
                 * @param {Number} [speed=false] - The time in milliseconds for the transition.
                 */
                Navigation.prototype.prev = function(speed) {
                    $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
                };
            
                /**
                 * Slides to the specified item or page.
                 * @public
                 * @param {Number} position - The position of the item or page.
                 * @param {Number} [speed] - The time in milliseconds for the transition.
                 * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.
                 */
                Navigation.prototype.to = function(position, speed, standard) {
                    var length;
            
                    if (!standard && this._pages.length) {
                        length = this._pages.length;
                        $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);
                    } else {
                        $.proxy(this._overrides.to, this._core)(position, speed);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Hash Plugin
             * @version 2.1.0
             * @author Artus Kolanowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
                'use strict';
            
                /**
                 * Creates the hash plugin.
                 * @class The Hash Plugin
                 * @param {Owl} carousel - The Owl Carousel
                 */
                var Hash = function(carousel) {
                    /**
                     * Reference to the core.
                     * @protected
                     * @type {Owl}
                     */
                    this._core = carousel;
            
                    /**
                     * Hash index for the items.
                     * @protected
                     * @type {Object}
                     */
                    this._hashes = {};
            
                    /**
                     * The carousel element.
                     * @type {$}
                     */
                    this.$element = this._core.$element;
            
                    /**
                     * All event handlers.
                     * @protected
                     * @type {Object}
                     */
                    this._handlers = {
                        'initialized.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && this._core.settings.startPosition === 'URLHash') {
                                $(window).trigger('hashchange.owl.navigation');
                            }
                        }, this),
                        'prepared.owl.carousel': $.proxy(function(e) {
                            if (e.namespace) {
                                var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');
            
                                if (!hash) {
                                    return;
                                }
            
                                this._hashes[hash] = e.content;
                            }
                        }, this),
                        'changed.owl.carousel': $.proxy(function(e) {
                            if (e.namespace && e.property.name === 'position') {
                                var current = this._core.items(this._core.relative(this._core.current())),
                                    hash = $.map(this._hashes, function(item, hash) {
                                        return item === current ? hash : null;
                                    }).join();
            
                                if (!hash || window.location.hash.slice(1) === hash) {
                                    return;
                                }
            
                                window.location.hash = hash;
                            }
                        }, this)
                    };
            
                    // set default options
                    this._core.options = $.extend({}, Hash.Defaults, this._core.options);
            
                    // register the event handlers
                    this.$element.on(this._handlers);
            
                    // register event listener for hash navigation
                    $(window).on('hashchange.owl.navigation', $.proxy(function(e) {
                        var hash = window.location.hash.substring(1),
                            items = this._core.$stage.children(),
                            position = this._hashes[hash] && items.index(this._hashes[hash]);
            
                        if (position === undefined || position === this._core.current()) {
                            return;
                        }
            
                        this._core.to(this._core.relative(position), false, true);
                    }, this));
                };
            
                /**
                 * Default options.
                 * @public
                 */
                Hash.Defaults = {
                    URLhashListener: false
                };
            
                /**
                 * Destroys the plugin.
                 * @public
                 */
                Hash.prototype.destroy = function() {
                    var handler, property;
            
                    $(window).off('hashchange.owl.navigation');
            
                    for (handler in this._handlers) {
                        this._core.$element.off(handler, this._handlers[handler]);
                    }
                    for (property in Object.getOwnPropertyNames(this)) {
                        typeof this[property] != 'function' && (this[property] = null);
                    }
                };
            
                $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
            
            })(window.Zepto || window.$, window, document);
            
            /**
             * Support Plugin
             *
             * @version 2.1.0
             * @author Vivid Planet Software GmbH
             * @author Artus Kolanowski
             * @author David Deutsch
             * @license The MIT License (MIT)
             */
            ;(function($, window, document, undefined) {
            
                var style = $('<support>').get(0).style,
                    prefixes = 'Webkit Moz O ms'.split(' '),
                    events = {
                        transition: {
                            end: {
                                WebkitTransition: 'webkitTransitionEnd',
                                MozTransition: 'transitionend',
                                OTransition: 'oTransitionEnd',
                                transition: 'transitionend'
                            }
                        },
                        animation: {
                            end: {
                                WebkitAnimation: 'webkitAnimationEnd',
                                MozAnimation: 'animationend',
                                OAnimation: 'oAnimationEnd',
                                animation: 'animationend'
                            }
                        }
                    },
                    tests = {
                        csstransforms: function() {
                            return !!test('transform');
                        },
                        csstransforms3d: function() {
                            return !!test('perspective');
                        },
                        csstransitions: function() {
                            return !!test('transition');
                        },
                        cssanimations: function() {
                            return !!test('animation');
                        }
                    };
            
                function test(property, prefixed) {
                    var result = false,
                        upper = property.charAt(0).toUpperCase() + property.slice(1);
            
                    $.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
                        if (style[property] !== undefined) {
                            result = prefixed ? property : true;
                            return false;
                        }
                    });
            
                    return result;
                }
            
                function prefixed(property) {
                    return test(property, true);
                }
            
                if (tests.csstransitions()) {
                    /* jshint -W053 */
                    $.support.transition = new String(prefixed('transition'))
                    $.support.transition.end = events.transition.end[ $.support.transition ];
                }
            
                if (tests.cssanimations()) {
                    /* jshint -W053 */
                    $.support.animation = new String(prefixed('animation'))
                    $.support.animation.end = events.animation.end[ $.support.animation ];
                }
            
                if (tests.csstransforms()) {
                    /* jshint -W053 */
                    $.support.transform = new String(prefixed('transform'));
                    $.support.transform3d = tests.csstransforms3d();
                }
            
            })(window.Zepto||window.$,window,document);
         </script>
		  <script>
        jQuery(document).ready(function(){
    console.log('document loaded');
        if($("body").hasClass("path-frontpage")){
    console.log('page is frontpage');
            $(".view-carousel-content .item-list ul").addClass("owl-carousel");
    console.log('added owl-carousel');
            $(".view-carousel-content .item-list ul").owlCarousel({
                loop : true,
                margin : 0,
                nav : true,
                dots : true,
                center: true,
                responsive : {
                    0 : {
                        items : 1
                    }
                }
            });
        }
        });
        </script>
        
        <style>
#block-exposedformacquia-searchpage-2 button .icon:hover {
    opacity: 0.7;
}
.path-frontpage .product-list .product .views-field-field-album-title a:hover, footer .nav>li a:hover, body span.ot-sdk-show-settings.navbar-text:hover, .artist_box .field--name-name:hover, .view.view-shop-rhino-com .views-field-title a:hover, #home_news .article_content h3 a:hover {
    opacity: 0.8;
}
form.newsletter_signup input.check_rhino,
form.newsletter_signup input.check_aod {
    cursor: pointer;
}
            .owl-carousel,
            .owl-carousel .owl-item {
                -webkit-tap-highlight-color: transparent;
                position: relative
            }
        
            .owl-carousel {
                display: none;
                width: 100%;
                z-index: 1;
            padding: 0;
            }
        
            .owl-carousel .owl-stage {
                position: relative;
                -ms-touch-action: pan-Y;
                -moz-backface-visibility: hidden
            }
        
            .owl-carousel .owl-stage:after {
                content: ".";
                display: block;
                clear: both;
                visibility: hidden;
                line-height: 0;
                height: 0
            }
        
            .owl-carousel .owl-stage-outer {
                position: relative;
                overflow: visible1;
                -webkit-transform: translate3d(0, 0, 0);
            }
        
            .owl-carousel .owl-item,
            .owl-carousel .owl-wrapper {
                -webkit-backface-visibility: hidden;
                -moz-backface-visibility: hidden;
                -ms-backface-visibility: hidden;
                -webkit-transform: translate3d(0, 0, 0);
                -moz-transform: translate3d(0, 0, 0);
                -ms-transform: translate3d(0, 0, 0)
            }
        
            .owl-carousel .owl-item {
                min-height: 1px;
                float: left;
                -webkit-backface-visibility: hidden;
                -webkit-touch-callout: none
            }
        
            .owl-carousel .owl-item img {
                display: block;
                width: 100%
            }
        
            .owl-carousel .owl-dots.disabled,
            .owl-carousel .owl-nav.disabled {
                display: none
            }
        
            .no-js .owl-carousel,
            .owl-carousel.owl-loaded {
                display: block
            }
        
            .owl-carousel .owl-dot,
            .owl-carousel .owl-nav .owl-next,
            .owl-carousel .owl-nav .owl-prev {
                cursor: pointer;
                cursor: hand;
                -webkit-user-select: none;
                -khtml-user-select: none;
                -moz-user-select: none;
                -ms-user-select: none;
                user-select: none
            }
        
            .owl-carousel.owl-loading {
                opacity: 0;
                display: block
            }
        
            .owl-carousel.owl-hidden {
                opacity: 0
            }
        
            .owl-carousel.owl-refresh .owl-item {
                visibility: hidden
            }
        
            .owl-carousel.owl-drag .owl-item {
                -webkit-user-select: none;
                -moz-user-select: none;
                -ms-user-select: none;
                user-select: none
            }
        
            .owl-carousel.owl-grab {
                cursor: move;
                cursor: grab
            }
        
            .owl-carousel.owl-rtl {
                direction: rtl
            }
        
            .owl-carousel.owl-rtl .owl-item {
                float: right
            }
        
            .owl-carousel .animated {
                animation-duration: 1s;
                animation-fill-mode: both
            }
        
            .owl-carousel .owl-animated-in {
                z-index: 0
            }
        
            .owl-carousel .owl-animated-out {
                z-index: 1
            }
        
            .owl-carousel .fadeOut {
                animation-name: fadeOut
            }
        
            @keyframes fadeOut {
                0% {
                    opacity: 1
                }
                100% {
                    opacity: 0
                }
            }
        
            .owl-height {
                transition: height .5s ease-in-out
            }
        
            .owl-carousel .owl-item .owl-lazy {
                opacity: 0;
                transition: opacity .4s ease
            }
        
            .owl-carousel .owl-item img.owl-lazy {
                transform-style: preserve-3d
            }
        
            .owl-carousel .owl-video-wrapper {
                position: relative;
                height: 100%;
                background: #000
            }
        
            .owl-carousel .owl-video-play-icon {
                position: absolute;
                height: 80px;
                width: 80px;
                left: 50%;
                top: 50%;
                margin-left: -40px;
                margin-top: -40px;
                background: url(owl.video.play.png) no-repeat;
                cursor: pointer;
                z-index: 1;
                -webkit-backface-visibility: hidden;
                transition: transform .1s ease
            }
        
            .owl-carousel .owl-video-play-icon:hover {
                -ms-transform: scale(1.3, 1.3);
                transform: scale(1.3, 1.3)
            }
        
            .owl-carousel .owl-video-playing .owl-video-play-icon,
            .owl-carousel .owl-video-playing .owl-video-tn {
                display: none
            }
        
            .owl-carousel .owl-video-tn {
                opacity: 0;
                height: 100%;
                background-position: center center;
                background-repeat: no-repeat;
                background-size: contain;
                transition: opacity .4s ease
            }
        
            .owl-carousel .owl-video-frame {
                position: relative;
                z-index: 1;
                height: 100%;
                width: 100%
            }
        
            .owl-prev,
            .owl-next {
                font-size: 0;
                color: #670616;
                  transform: translateY(-50%);
                  -webkit-transform: translateY(-50%);
            }
        
            .owl-nav>div.owl-prev {
				/* background: url('/sites/g/files/g2000012691/files/2019-04/Arrow-Left.png') no-repeat scroll center #e31f3e;
				width: 37.5px;
				height: 110px;
				text-indent: -9999px;
				display: inline-block;
				padding: 10px;
				vertical-align: middle;
                background-size: 70% auto; */
                background: url('/sites/g/files/g2000012691/files/2019-04/leftarrow.png') no-repeat scroll 0 0 #fffefd;
                width: 37.5px;
				height: 110px;
				text-indent: -9999px;
				display: inline-block;
				padding: 10px;
				vertical-align: middle;
                background-size: 70% auto;
                background-position: center -75px;
            }
        
            .owl-nav>div.owl-next {
                /* background: url('/sites/g/files/g2000012691/files/2019-04/Arrow-Right.png') no-repeat scroll center #e31f3e;
                width: 37.5px;
				height: 110px;
                text-indent: -9999px;
                display: inline-block;
                padding: 10px;
                vertical-align: middle;
                margin-right: 0;
                background-size: 70% auto; */
                background: url('/sites/g/files/g2000012691/files/2019-04/rightarrow.png') no-repeat scroll 0 0 #fffefd;
                width: 37.5px;
				height: 110px;
                text-indent: -9999px;
                display: inline-block;
                padding: 10px;
                vertical-align: middle;
                margin-right: 0;
                background-size: 70% auto;
                background-position: center 15px;
            }
            .owl-nav>div.owl-next:hover{
                background-position: center -75px;
                background-color: #00111d;
            }
            .owl-nav>div.owl-prev:hover {
                background-position: center 15px;
                background-color: #00111d;
            }
            .owl-carousel .owl-item .musicTitle img {
                width: auto;
                text-align: center;
                margin: 0 auto;
            }
        
            .owl-prev.disabled,
            .owl-next.disabled {
                display: none;
            }
        
            .owl-carousel .owl-item.active {
                opacity: 1;
                pointer-events: auto;
            }
        
            .owl-carousel .owl-item {
                opacity: 0;
                pointer-events: none;
            }
        
        
        
            body.WhachuKnow .owl-prev:after {
                background: url(../images/arrow-left.png) no-repeat;
                width: 16px;
                height: 30px;
                background-size: 100% auto;
                content: "";
                display: inline-block;
                vertical-align: middle;
                margin-left: 10px;
            }
        
            body.WhachuKnow .owl-next:before {
                background: url(../images/arrow-right.png) no-repeat;
                width: 16px;
                height: 30px;
                background-size: 100% auto;
                content: "";
                display: inline-block;
                vertical-align: middle;
                margin-right: 10px;
            }
        
            @media only screen and (min-width: 768px) {
                .owl-nav>div {
                    width: 146px;
                    margin: 0 auto;
                }
        
                .owl-next,
                .owl-prev {
                    position: absolute;
                    top: 55%;
                    transform: translateY(-50%);
                    -webkit-transform: translateY(-50%);
                }
                .owl-prev {
                    left: 0%;
                    top: 50%;
                    text-align: right;
                }
                .owl-next {
                    right: 0%;
                    top: 50%;
                    text-align: left;
                }
        
            }
        
            @media only screen and (max-width: 1024px) {
                /*.owl-carousel .owl-stage-outer{
                     overflow-x:hidden;
                     }*/
                .splashWrapper,
                html,
                body {
                    overflow-x: hidden;
                }
        
            }
        
            @media only screen and (max-width: 1023px) {
                /*.owl-nav {
                    margin-top: 0;
                    display: block;
                    text-align: center;
                    position: absolute;
                    top: -39px;
                    left: 50%;
                    transform: translateX(-50%);
                    -webkit-transform: translateX(-50%);
                    width: 100%;
                }*/
                .owl-prev,
                .owl-next {
                    width: 50%;
                    display: inline-block;
                }
            }
				.owl-dots {
    font-size: 0;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.owl-dots .owl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1d1d1d;
    display: inline-block;
    clear: none;
    display: inline-block;
    margin-right: 10px;
    box-sizing: border-box;
    border: 2px solid #1d1d1d;
}

.owl-dots .owl-dot:last-child {
    margin-right: 0;
}

.owl-dots .owl-dot.active {
    background: transparent;
}
/* Carousel */


.view-carousel-content li {
    font-size: 0;
}

.view-carousel-content li > div {
    display: inline-block;
    vertical-align: middle;
}

.view-carousel-content li > div.views-field-field-carousel-image {
    width: 45%;
}

.view-carousel-content li > div.views-field-title {
    width: 55%;
    font-family: alegreyabold, Georgia, 'Times New Roman', Times, serif;
    color: #fff;
    font-size: 2.7vw;
    box-sizing: border-box;
    padding: 0 6.8vw;
    text-transform: capitalize;
}
.views-field.views-field-title .order-8 {
    color: #000;
}
.owl-carousel .owl-item.active {
    /*background-color: rgb(237, 237, 237) !important;*/
}

.view-carousel-content li > div.views-field-title {
    color: #000;
}
.view-carousel-content li > div.views-field-title a {
font-family: 'Mulish', sans-serif;
    font-weight: 700;
    color: #1d1d1d;
    font-size: 1.12vw;
    text-transform: uppercase;
    padding: 1vw 6vw;
    background: #fff;
    border-radius: 50px;
}

.view-carousel-content li > div.views-field-title .read-more {
    text-align: center;
    font-size: 0;
    margin-top: 7vw;
}

.view-carousel-content li > div.views-field-title a:hover {
    background: #1d1d1d;
    color: #fff;
}
@media (max-width : 767px) {
    .owl-dots {
    bottom: 15px;
    width: 100%;
    text-align: center;
    }
	.view-carousel-content li > div.views-field-title .read-more{
        margin-top: 15px;
    }
    .view-carousel-content li > div.views-field-title a {
        font-size: 15px;
        padding: 10px 40px;
    }
    .view-carousel-content li > div.views-field-field-carousel-image{
        width: auto;
    }

    .view-carousel-content li > div.views-field-title {
        width: 100%;
        padding: 15px 10px 45px;
        font-size: 25px;
    }
}
        </style>
        
<style>
    /* Homepage Search and Podcast Section CSS fix */
        #front_article_content p,
        #front_rhino_podcast p {
            font-size: 14px;
            line-height: 20px;
        }
    
        #block-exposedformacquia-searchpage-2 button {
            width: 75%;
            padding: 4px 12px;
            padding-bottom: 7px;
        }
    
        #front_article_content .views-field-body p a,
        #front_rhino_podcast .views-field-body p a {
            color: #3b3b3b;
        }
		div.owl-nav {
			display: block;
		}
        @media only screen and (max-width: 767px){
            #block-exposedformacquia-searchpage-2 button{
                width: 100%
            }
			.owl-nav>div.owl-prev, .owl-nav>div.owl-next {
				position: absolute;
				top: 45vw;
				width: 18.75px;
				height: 55px;
			}
            .owl-nav>div.owl-prev {
                background-position: center -43px;
            }
            .owl-nav>div.owl-next {
                background-position: center 5px;
            }
            .owl-nav>div.owl-prev:hover {
                background-position: center 5px;
            }
            .owl-nav>div.owl-next:hover {
                background-position: center -43px;
                background-color: #00111d;
            }
			.owl-next {
				right: 0;
			}
        }
    </style>

</div>
      
  </section>

<section id="block-carouselbackgroundcolor" class="block block-block-content block-block-contentdd8fe889-b23e-4593-97ea-4b4c3917fca6 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><script>
jQuery(document).ready(function(){
		function colorChange(){
 jQuery(".owl-carousel .owl-item").each(function() {
	
			
				var color = jQuery(this).find('.views-field-field-bgcolor').text();
				jQuery(this).css({'background-color':color});
			
	});	
}	
colorChange();
	});	
</script></div>
      
  </section>

<section id="block-navscript" class="block block-block-content block-block-content4e1978ed-466b-4dc2-82ff-f5908f0e0bd2 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><script>
	document.addEventListener("DOMContentLoaded", function(){
		if(!( /Android|webOS|iPhone|iPod|iPad|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )) {
document.body.className += ' ' + 'custom-no-touch-nav';
		}
           $(".ot-sdk-show-settings").css("cursor","pointer");
	});
</script>


<style>
	body.custom-no-touch-nav #block-rhinosupernav .open > ul.dropdown-menu {
		display: none;
	}

	body.custom-no-touch-nav #block-rhinosupernav .custom-open > ul.dropdown-menu {
		display: initial;
	}

	body.custom-no-touch-nav nav#block-rhinosupernav li a:focus {
		background: #fff;
		color: #e31f3e;
	}

	body.custom-no-touch-nav nav#block-rhinosupernav li a:focus:hover {
		background: #e31f3e;
		color: #fff;
	}
.view-carousel-content li > div.views-field-field-carousel-image {
    background: #fff;
}
</style>

<!--<script>
jQuery(window).load(function() {
    if (jQuery(window).width() > 767) {
        $(window).scroll(function() {       
                $("nav#block-rhinosupernav li.expanded.dropdown").removeClass("open");
        });
    }
});
</script>--></div>
      
  </section>

<section class="views-exposed-form block block-views block-views-exposed-filter-blockacquia-search-page clearfix" data-drupal-selector="views-exposed-form-acquia-search-page" id="block-exposedformacquia-searchpage-2">
  
    

      <form action="/search" method="get" id="views-exposed-form-acquia-search-page" accept-charset="UTF-8">
  <div class="form--inline form-inline clearfix">
  <div class="form-item js-form-item form-type-textfield js-form-type-textfield form-item-search js-form-item-search form-group">
      <label for="edit-search--2" class="control-label">Search</label>
  
  
  <input data-drupal-selector="edit-search" class="form-text form-control" type="text" id="edit-search--2" name="search" size="30" maxlength="128" />

  
  
  </div>
<div data-drupal-selector="edit-actions" class="form-actions form-group js-form-wrapper form-wrapper" id="edit-actions--2"><button data-drupal-selector="edit-submit-acquia-search-2" class="button js-form-submit form-submit btn-primary btn icon-before" type="submit" id="edit-submit-acquia-search--2" value="Search"><span class="icon glyphicon glyphicon-search" aria-hidden="true"></span>
Search</button></div>

</div>

</form>

  </section>

<section id="block-headerlinks" class="block block-block-content block-block-content67c08f66-f3d2-4abb-a27f-2a3031a67c22 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">
<style>
    @font-face {
      font-family: 'twt-x';
      src:  url('/sites/g/files/g2000012691/files/2023-09/twt-x.eot');
      src:  url('/sites/g/files/g2000012691/files/2023-09/twt-x.eot') format('embedded-opentype'),
        url('/sites/g/files/g2000012691/files/2023-09/twt-x.ttf') format('truetype'),
        url('/sites/g/files/g2000012691/files/2023-09/twt-x.woff') format('woff'),
        url('/sites/g/files/g2000012691/files/2023-09/twt-x.svg') format('svg');
      font-weight: normal;
      font-style: normal;
      font-display: block;
    }
    
    [class^="twt-"], [class*=" twt-"] {
      /* use !important to prevent issues with browser extensions that change fonts */
      font-family: 'twt-x' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
    
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    
    .twt-x:before {
      content: "\e901";
    }
    [class^="twt-"], [class*=" twt-"] {
        font-family: 'twt-x' !important;
        font-size: 1.77vw !important;
    }
    @media only screen and (max-width: 1024px){
    [class^="twt-"], [class*=" twt-"] {
        font-family: 'twt-x' !important;
        font-size: 2vw !important;
    }
    @media only screen and (min-width:768px) and (max-width: 1023px){
        [class^="twt-"], [class*=" twt-"]{
            font-size: 3vw !important;
        }
    }
    @media only screen and (min-width:380px) and (max-width: 767px){
        [class^="twt-"], [class*=" twt-"]{
            font-size: 5vw !important;
        }
    }
    }
    </style>

    <a target="_blank" href="https://www.facebook.com/RHINO" data-track="facebook" aria-label="facebook icon"><i class="fa fa-facebook-square" aria-hidden="true"></i></a><a target="_blank" href="https://twitter.com/Rhino_Records" data-track="twitter" aria-label="Twiter icon"><i class="twt-x" aria-hidden="true"></i></a><a target="_blank" href="https://www.instagram.com/rhino_records/" data-track="instagram" aria-label="Instagram icon"><i class="fa fa-instagram" aria-hidden="true"></i></a><a target="_blank" href="https://www.youtube.com/user/RhinoEntertainment" data-track="youtube" aria-label="Youtube icon"><i class="fa fa-youtube-square" aria-hidden="true"></i></a><a target="_blank" href="https://play.spotify.com/user/rhino_records" data-track="spotify" aria-label="Spotify icon"><i class="fa fa-spotify" aria-hidden="true"></i></a><a target="_blank" href="https://soundcloud.com/rhinorecords" data-track="soundcloud" aria-label="Soundcloud icon"><i class="fa fa-soundcloud" aria-hidden="true"></i></a></div>
      
  </section>

<section id="block-headersearchblocktempfix" class="block block-block-content block-block-content307514fd-867f-4aa9-bbb1-a4b3d031b447 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><script>
$("#views-exposed-form-acquia-search-page").attr("action", "/search");
</script>

<style>
section#block-headersearchblocktempfix {
    display: none;
}

form#views-exposed-form-acquia-search-page .form--inline.form-inline.clearfix {
    display:flex;
}
</style></div>
      
  </section>


  </div>

									  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
				<span class="sr-only">Toggle navigation</span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
			  </button>
					  </div>

		  		  			<div class="navbar-collapse collapse">
			    <div class="region region-navigation-collapsible">
    <nav role="navigation" aria-labelledby="block-rhino-bootstrap-mainnavigation-menu" id="block-rhino-bootstrap-mainnavigation">
            
  <h2 class="visually-hidden" id="block-rhino-bootstrap-mainnavigation-menu">Main navigation</h2>
  

        
      <ul class="menu menu--main nav navbar-nav">
                      <li class="first">
                                        <a href="https://store.rhino.com/" data-track="" target="">Store</a>
              </li>
                      <li>
                                        <a href="/artists" data-drupal-link-system-path="artists">Artists</a>
              </li>
                      <li>
                                        <a href="/news" data-drupal-link-system-path="news">News</a>
              </li>
                      <li>
                                        <a href="/playlists" data-drupal-link-system-path="node/19466">Playlists</a>
              </li>
                      <li>
                                        <a href="/aod" data-track="" target="" data-drupal-link-system-path="aod">Album of the Day</a>
              </li>
                      <li>
                                        <a href="/podcast" data-track="" target="" title="The Rhino Podcast" data-drupal-link-system-path="podcasts">Podcast</a>
              </li>
                      <li class="last">
                                        <a href="/releases" data-track="" target="" data-drupal-link-system-path="node/23521">New Releases</a>
              </li>
        </ul>
  

  </nav>
<nav role="navigation" aria-labelledby="block-rhinosupernav-menu" id="block-rhinosupernav">
            
  <h2 class="visually-hidden" id="block-rhinosupernav-menu">Rhino Super Nav</h2>
  

        
      <ul class="menu menu--rhino-super-nav nav">
                      <li class="first">
                                        <a href="https://store.rhino.com/exclusives.html" data-track="" target="">Exclusives</a>
              </li>
                      <li>
                                        <a href="https://store.rhino.com/" target="_blank">Shop</a>
              </li>
                      <li class="expanded dropdown">
                                                                    <a href="/" data-track="" target="" class="dropdown-toggle is-active" data-toggle="dropdown" data-drupal-link-system-path="&lt;front&gt;" aria-current="page">Read <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                      <li class="first">
                                        <a href="/news" data-track="" target="" data-drupal-link-system-path="news">The Latest</a>
              </li>
                      <li>
                                        <a href="/tag/make-it-a-double" data-track="" target="" data-drupal-link-system-path="tag/make-it-a-double">Make It A Double</a>
              </li>
                      <li>
                                        <a href="/tag/the-one-after-the-big-one" data-track="" target="" data-drupal-link-system-path="tag/the-one-after-the-big-one">The One After The Big One</a>
              </li>
                      <li>
                                        <a href="/tag/5-things-you-might-not-know" data-track="" target="" data-drupal-link-system-path="tag/5-things-you-might-not-know">5 Things You Might Not Know</a>
              </li>
                      <li>
                                        <a href="/tag/rhino-reading-room" data-track="" target="" data-drupal-link-system-path="tag/rhino-reading-room">Rhino Reading Room</a>
              </li>
                      <li>
                                        <a href="/tag/this-day-in-music" data-track="" target="" data-drupal-link-system-path="tag/this-day-in-music">This Day In…</a>
              </li>
                      <li>
                                        <a href="/tag/deep-dive" data-track="" target="" data-drupal-link-system-path="tag/deep-dive">Deep Dive</a>
              </li>
                      <li>
                                        <a href="/tag/single-stories" data-track="" target="" data-drupal-link-system-path="tag/single-stories">Single Stories</a>
              </li>
                      <li>
                                        <a href="/tag/what%27s-that-song" data-track="" target="" data-drupal-link-system-path="tag/what&#039;s-that-song">What’s That Song?</a>
              </li>
                      <li class="last">
                                        <a href="/tag/live-from-your-speakers" data-track="" target="" data-drupal-link-system-path="tag/live-from-your-speakers">LIVE From Your Speakers</a>
              </li>
        </ul>
  
              </li>
                      <li>
                                        <a href="/videos" data-track="" target="" data-drupal-link-system-path="node/24201">Watch</a>
              </li>
                      <li class="expanded dropdown">
                                                                    <a href="/" data-track="" target="" class="dropdown-toggle is-active" data-toggle="dropdown" data-drupal-link-system-path="&lt;front&gt;" aria-current="page">Stream <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                      <li class="first">
                                        <a href="/aod-all" data-track="" target="" data-drupal-link-system-path="aod-all">Album Of The Day</a>
              </li>
                      <li>
                                        <a href="/playlists" data-track="" target="" data-drupal-link-system-path="node/19466">Playlists</a>
              </li>
                      <li class="last">
                                        <a href="/podcast" data-track="" target="" data-drupal-link-system-path="podcasts">The Rhino Podcast</a>
              </li>
        </ul>
  
              </li>
                      <li>
                                        <a href="/artists" data-track="" target="" data-drupal-link-system-path="artists">Artists</a>
              </li>
                      <li class="last">
                                        <a href="/releases" data-track="" target="" data-drupal-link-system-path="node/23521">New Releases</a>
              </li>
        </ul>
  

  </nav>
<section id="block-cart" class="block block-block-content block-block-content10c8b860-b592-4938-a96e-0b5652cc88c0 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div class="nav-cart" id="nav-cart">
<a href="https://rhinostore.warnermusic.com/checkout/cart/" title="Rhino.com Cart">
<i class="fa fa-shopping-cart" aria-hidden="true"></i>
</a>
<a class="cart" href="https://rhinostore.warnermusic.com/checkout/cart/" title="Rhino.com Cart">0</a>
</div>
</div>
      
  </section>


  </div>

			</div>
		  		</header>
	  	  </div>
	  </nav>
	
	<!-- this is the top -->
	

	<!-- this is the page -->
	  <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
    
<main>
<div class="container main-content">
	<div class="row">
		<div class="col-md-12">
		  <div class="region region-pagetop">
    <section class="views-element-container block block-views block-views-blockcarousel-content-block-1 clearfix" id="block-views-block-carousel-content-block-1">
  
    

      <div class="form-group"><div class="view view-carousel-content view-id-carousel_content view-display-id-block_1 js-view-dom-id-8a74937e417969aff41f0a9b1d29d3ca691e8417738bd3ed29c7f353b3e98ba5">
  
    
      
      <div class="view-content">
      <div class="item-list">
  
  <ul>

          <li><div class="views-field views-field-field-bgcolor"><div class="field-content">#ededed</div></div><div class="views-field views-field-field-carousel-image"><div class="field-content">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-02/madonna_confession_on_a_dance_floor_2LP_rhino.com_square_padded_800x800.jpg" width="800" height="800" alt="Madonna - Confessions" typeof="foaf:Image" class="img-responsive" />




</div></div><div class="views-field views-field-title"><span class="field-content"><div class="order">MADONNA - CONFESSIONS ON A DANCE FLOOR (THE SILVER COLLECTION) <br />
2LP Silver Vinyl With An Exclusive Poster 
<div class="read-more"><a href="https://store.rhino.com/collections/madonna">PRE-ORDER HERE</a></div></div></span></div></li>
          <li><div class="views-field views-field-field-bgcolor"><div class="field-content">#ededed</div></div><div class="views-field views-field-field-carousel-image"><div class="field-content">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-02/heaven_and_hell_breaking_out_of_heaven_rhino.com_square_padded_800x800.jpg" width="800" height="800" alt="Heaven &amp; Hell" typeof="foaf:Image" class="img-responsive" />




</div></div><div class="views-field views-field-title"><span class="field-content"><div class="order">HEAVEN &amp; HELL - BREAKING OUT OF HEAVEN 2007-2009 <br />
4CD/Blu-ray And 7LP Retrospective Boxed Sets 
<div class="read-more"><a href="https://store.rhino.com/collections/heaven-hell">PRE-ORDER HERE</a></div></div></span></div></li>
          <li><div class="views-field views-field-field-bgcolor"><div class="field-content">#ededed</div></div><div class="views-field views-field-field-carousel-image"><div class="field-content">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-02/van_halen_5150_deluxe_rhino.com_square_padded_800x800.jpg" width="800" height="800" alt="Van Halen 5150" typeof="foaf:Image" class="img-responsive" />




</div></div><div class="views-field views-field-title"><span class="field-content"><div class="order">VAN HALEN - 5150 (EXPANDED EDITION) <br />
Feat. Remastered Audio, Rarities, B-Sides, And More, Free Litho With Purchase 
<div class="read-more"><a href="https://store.rhino.com/collections/van-halen">PRE-ORDER HERE</a></div></div></span></div></li>
          <li><div class="views-field views-field-field-bgcolor"><div class="field-content">#ededed</div></div><div class="views-field views-field-field-carousel-image"><div class="field-content">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-01/the_stooges_velvet_underground_rhino.com_high_fidelity_square_padded_800x800.jpg" width="800" height="800" alt="RHINO HIGH FIDELITY" typeof="foaf:Image" class="img-responsive" />




</div></div><div class="views-field views-field-title"><span class="field-content"><div class="order">NEW FROM RHINO HIGH FIDELITY <br />
Limited, Numbered Editions Of 5,000 
<div class="read-more"><a href="https://store.rhino.com/collections/rhino-high-fidelity">GET &#039;EM HERE</a></div></div></span></div></li>
          <li><div class="views-field views-field-field-bgcolor"><div class="field-content">#ededed</div></div><div class="views-field views-field-field-carousel-image"><div class="field-content">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-01/the_cure_boys_don%27t_cry_rhino.com_square_padded_800x800.jpg" width="800" height="800" alt="The Cure - Boys Don&#039;t Cry" typeof="foaf:Image" class="img-responsive" />




</div></div><div class="views-field views-field-title"><span class="field-content"><div class="order">THE CURE - BOYS DON&#039;T CRY <br />
Limited Edition 12", CD, 7" Formats Featuring "Boys Don’t Cry (86 Mix)" And B-Sides 
<div class="read-more"><a href="https://store.rhino.com/collections/the-cure">PRE-ORDER HERE</a></div></div></span></div></li>
          <li><div class="views-field views-field-field-bgcolor"><div class="field-content">#ededed</div></div><div class="views-field views-field-field-carousel-image"><div class="field-content">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-01/talking_heads_tentative_decisions_rhino.com_square_padded_800x800.jpg" width="800" height="800" alt="Talking Heads" typeof="foaf:Image" class="img-responsive" />




</div></div><div class="views-field views-field-title"><span class="field-content"><div class="order">TALKING HEADS - TENTATIVE DECISIONS: DEMOS &amp; LIVE <br />
3CD Feat. Unreleased 1975 CBS Demos And Early Live Recordings, LP W/ 7" 
<div class="read-more"><a href="https://store.rhino.com/collections/talking-heads">PRE-ORDER HERE</a></div></div></span></div></li>
    
  </ul>

</div>

    </div>
  
          </div>
</div>

  </section>


  </div>

		</div>
	</div>
	<div class="row">
		<div class="col-md-8">
	<!-- <div id="left"> -->


<a name="news"></a>
<h1><a href="/news">Features</a></h1>
<div id="home_news">
<div class="home_news_row">
	<!-- article template -->
<div class="article_content">
<time class="published-date"><span class="feature">ALBUM OF THE DAY</span>
            <div class="field field--name-field-aod-date field--type-datetime field--label-hidden field--item"><time datetime="2026-02-27T12:00:00Z">Friday, February 27, 2026</time>
</div>
      </time>


            <div class="field field--name-field-image field--type-image field--label-hidden field--item">  <a href="/aod/live-in-copenhagen-1968-the-doors" hreflang="en"><img loading="lazy" src="/sites/g/files/g2000012691/files/styles/homepage_news/public/aod/27.%20The%20Doors.jpg?itok=hmD1sQDV" width="3000" height="3000" alt="" typeof="foaf:Image" class="img-responsive" />




</a>
</div>
      
<h3><a href="/aod/live-in-copenhagen-1968-the-doors">
<span>Live in Copenhagen, 1968</span>
 
      <div class="field field--name-field-artists field--type-entity-reference field--label-hidden field--items">
              <div class="field--item"><a href="/artist/the-doors" hreflang="en">The Doors</a></div>
          </div>
  </a></h3>
<a href="/aod/live-in-copenhagen-1968-the-doors">
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">  The Doors made their first trip outside the U.S. in 1968, near the height of their popularity and driven to top the Jefferson Airplane (with whom they shared the bill on a couple of stops), The Doors were electrifying on...

</div>
      </a>

<div class="template_note">THIS IS THE AOD HOMEPAGE PREVIEW TEMPLATE</div>


</div><!-- /article_content -->

<!-- /article template -->
	<!-- article template -->
<div class="article_content">
<time class="published-date">Thursday, February 5, 2026</time>


<div class="template_note">THIS IS THE FIELD NODE IMAGE ARTICLE TEMPLATE</div>

      <div class="field field--name-field-images field--type-image field--label-hidden field--items">
              <div class="field--item">  <a href="/article/madonna-confessions-on-a-dance-floor-the-silver-collection-original-continuous-mix-version" hreflang="en"><img loading="lazy" src="/sites/g/files/g2000012691/files/styles/homepage_news/public/2026-02/Madonna_Confessions.jpg?itok=4L7wVGKn" width="2400" height="2400" alt="madonna" typeof="foaf:Image" class="img-responsive" />




</a>
</div>
          </div>
  
<h3><a href="/article/madonna-confessions-on-a-dance-floor-the-silver-collection-original-continuous-mix-version">
<span property="schema:name">Madonna Confessions on a Dance Floor (The Silver Collection)  Original Continuous Mix Version Available for the First Time on Vinyl</span>
</a></h3>
<a href="/article/madonna-confessions-on-a-dance-floor-the-silver-collection-original-continuous-mix-version">
            <div property="schema:text" class="field field--name-body field--type-text-with-summary field--label-hidden field--item">  Madonna Confessions on a Dance Floor (The Silver Collection) Original Continuous Mix Version Available for the First Time on Vinyl Out March 27 Pre-Order Now Limited Edition Record Store Day Release The Confessions Tour - Live from London Available April...

</div>
      </a>

<div class="template_note">THIS IS THE ARTICLE HOMEPAGE PREVIEW TEMPLATE</div>


</div><!-- /article_content -->

<!-- /article template -->
</div>
<div class="home_news_row pod-row">
	<!-- article template -->
<div class="article_content">
<time class="published-date"><span class="feature">RHINO PODCAST</span>Friday, December 10, 2021</time>

<div class="episode-image">
<img src="/sites/g/files/g2000012691/themes/site/rhino_bootstrap/img/the-rhino-podcast-hd.jpg">
</div>
<h3><a href="/podcast/david-bowies-unreleased-album-toy-with-producer-mark-plati">
<span>David Bowie&#039;s Unreleased Album Toy - With Producer Mark Plati</span>
</a></h3>
<a href="/podcast/david-bowies-unreleased-album-toy-with-producer-mark-plati">
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">  Host Rich Mahan welcomes producer Mark Plati to The Rhino Podcast to discuss the recently released David Bowie Album, "Toy".

</div>
      </a>

<div class="template_note">THIS IS THE PODCAST HOMEPAGE PREVIEW TEMPLATE</div>


</div><!-- /article_content -->

<!-- /article template -->
	<!-- article template -->
<div class="article_content">
<time class="published-date">Wednesday, February 4, 2026</time>


<div class="template_note">THIS IS THE FIELD NODE IMAGE ARTICLE TEMPLATE</div>

      <div class="field field--name-field-images field--type-image field--label-hidden field--items">
              <div class="field--item">  <a href="/article/dios-2007-2009-black-sabbath-act-revisited-with-breaking-out-of-heaven" hreflang="en"><img loading="lazy" src="/sites/g/files/g2000012691/files/styles/homepage_news/public/2026-02/H%26H_4LP.jpg?itok=WSJkixIk" width="4000" height="4000" alt="Dio&#039;s 2007-2009 Black Sabbath Act Revisited With &#039;Breaking Out Of Heaven&#039;" typeof="foaf:Image" class="img-responsive" />




</a>
</div>
          </div>
  
<h3><a href="/article/dios-2007-2009-black-sabbath-act-revisited-with-breaking-out-of-heaven">
<span property="schema:name">Dio&#039;s 2007-2009 Black Sabbath Act Revisited With &#039;Breaking Out Of Heaven&#039;</span>
</a></h3>
<a href="/article/dios-2007-2009-black-sabbath-act-revisited-with-breaking-out-of-heaven">
            <div property="schema:text" class="field field--name-body field--type-text-with-summary field--label-hidden field--item">  HEAVEN &amp; HELL BREAKING OUT OF HEAVEN 2007-2009 RETROSPECTIVE CELEBRATES DIO’S THIRD ACT WITH MEMBERS OF BLACK SABBATH ON 4CD/BLU-RAY AND 7LP BOXED SETS AVAILABLE MARCH 27 INCLUDES THE DEVIL YOU KNOW , LIVE FROM RADIO CITY MUSIC HALL...

</div>
      </a>

<div class="template_note">THIS IS THE ARTICLE HOMEPAGE PREVIEW TEMPLATE</div>


</div><!-- /article_content -->

<!-- /article template -->
</div>
<a class="more btn btn-default btn-sm" href="/news">More News</a>
</div>
<hr />
<a name="releases"></a>
<h1><a href="/releases">New Releases</a></h1>
<div id="new_releases">
<div class="views-element-container form-group"><div class="view view-product-list view-id-product_list view-display-id-release_date_home js-view-dom-id-33d9bfd7a8a9bc22e5c10f6a0f198b1bfa6f565c92524ec1036d78b166d1d2c2">
  
    
      
      <div class="view-content">
      <div class="product-list">
  
  <ul>

          <li class="product"><div class="views-field views-field-field-cover-art"><div class="field-content"><a href="/product/boys-dont-cry-86-mix-2026-remaster-0">  <img loading="lazy" src="/sites/g/files/g2000012691/files/styles/square/public/products/081227803964_The_Cure_Boys_Don_t_Cry_7inch_Single_ProductShot.png?itok=r18A94UZ" width="1400" height="1400" alt="" typeof="foaf:Image" class="img-responsive" />





</a></div></div><div class="views-field views-field-field-album-title"><div class="field-content"><a href="/product/boys-dont-cry-86-mix-2026-remaster-0">Boys Don&#039;t Cry (86 Mix / 2026 Remaster)</a></div></div><div class="views-field views-field-nid"><span class="field-content"></span></div><div class="views-field views-field-field-release-date"><div class="field-content"><div class="artist-name-fix"><a href="/artist/the-cure" hreflang="en">The Cure</a></div>
<time datetime="2026-04-21T12:00:00Z">Apr 21, 2026</time>
</div></div><div class="views-field views-field-nothing-1"><span class="field-content"></span></div></li>
          <li class="product"><div class="views-field views-field-field-cover-art"><div class="field-content"><a href="/product/boys-dont-cry-86-mix-2026-remaster-1">  <img loading="lazy" src="/sites/g/files/g2000012691/files/styles/square/public/products/603497805280_The_Cure_Boys_Don_t_Cry_12inch_Single_ProductShot_rev.png?itok=p2Tbar32" width="1400" height="1400" alt="" typeof="foaf:Image" class="img-responsive" />





</a></div></div><div class="views-field views-field-field-album-title"><div class="field-content"><a href="/product/boys-dont-cry-86-mix-2026-remaster-1">Boys Don&#039;t Cry (86 Mix / 2026 Remaster)</a></div></div><div class="views-field views-field-nid"><span class="field-content"></span></div><div class="views-field views-field-field-release-date"><div class="field-content"><div class="artist-name-fix"><a href="/artist/the-cure" hreflang="en">The Cure</a></div>
<time datetime="2026-04-21T12:00:00Z">Apr 21, 2026</time>
</div></div><div class="views-field views-field-nothing-1"><span class="field-content"></span></div></li>
          <li class="product"><div class="views-field views-field-field-cover-art"><div class="field-content"><a href="/product/5150-expanded-edition-2lp">  <img loading="lazy" src="/sites/g/files/g2000012691/files/styles/square/public/products/VanHalen_5150_2LP_Green.png?itok=UG2gDXgu" width="1400" height="1400" alt="" typeof="foaf:Image" class="img-responsive" />





</a></div></div><div class="views-field views-field-field-album-title"><div class="field-content"><a href="/product/5150-expanded-edition-2lp">5150 (Expanded Edition) (2LP)</a></div></div><div class="views-field views-field-nid"><span class="field-content"></span></div><div class="views-field views-field-field-release-date"><div class="field-content"><div class="artist-name-fix"><a href="/artist/van-halen" hreflang="en">Van Halen</a></div>
<time datetime="2026-03-27T12:00:00Z">Mar 27, 2026</time>
</div></div><div class="views-field views-field-nothing-1"><span class="field-content"></span></div></li>
          <li class="product"><div class="views-field views-field-field-cover-art"><div class="field-content"><a href="/product/breaking-out-of-heaven-2007-2009-7lp">  <img loading="lazy" src="/sites/g/files/g2000012691/files/styles/square/public/products/Heaven_HellBreakingOutofHeaven_7LP_productshot.png?itok=UuGrxuxZ" width="1400" height="1400" alt="" typeof="foaf:Image" class="img-responsive" />





</a></div></div><div class="views-field views-field-field-album-title"><div class="field-content"><a href="/product/breaking-out-of-heaven-2007-2009-7lp">Breaking Out Of Heaven 2007 - 2009 (7LP)</a></div></div><div class="views-field views-field-nid"><span class="field-content"></span></div><div class="views-field views-field-field-release-date"><div class="field-content"><div class="artist-name-fix"><a href="/artist/heaven-hell" hreflang="en">Heaven &amp; Hell</a></div>
<time datetime="2026-03-27T12:00:00Z">Mar 27, 2026</time>
</div></div><div class="views-field views-field-nothing-1"><span class="field-content"></span></div></li>
          <li class="product"><div class="views-field views-field-field-cover-art"><div class="field-content"><a href="/product/confessions-on-a-dancefloor-the-silver-collection">  <img loading="lazy" src="/sites/g/files/g2000012691/files/styles/square/public/products/081227804930_Madonna_Confessions_On_A_Dance_Floor_2LP_Silver_D2CPoster_wSticker.png?itok=u3n2p1sv" width="1400" height="1400" alt="" typeof="foaf:Image" class="img-responsive" />





</a></div></div><div class="views-field views-field-field-album-title"><div class="field-content"><a href="/product/confessions-on-a-dancefloor-the-silver-collection">Confessions On A Dancefloor (The Silver Collection) </a></div></div><div class="views-field views-field-nid"><span class="field-content"></span></div><div class="views-field views-field-field-release-date"><div class="field-content"><div class="artist-name-fix"><a href="/artist/madonna" hreflang="en">Madonna</a></div>
<time datetime="2026-03-27T12:00:00Z">Mar 27, 2026</time>
</div></div><div class="views-field views-field-nothing-1"><span class="field-content"></span></div></li>
          <li class="product"><div class="views-field views-field-field-cover-art"><div class="field-content"><a href="/product/5150-expanded-edition">  <img loading="lazy" src="/sites/g/files/g2000012691/files/styles/square/public/products/VH_5150_DLX.png?itok=C_367Qhh" width="1400" height="1400" alt="" typeof="foaf:Image" class="img-responsive" />





</a></div></div><div class="views-field views-field-field-album-title"><div class="field-content"><a href="/product/5150-expanded-edition">5150 (Expanded Edition)</a></div></div><div class="views-field views-field-nid"><span class="field-content"></span></div><div class="views-field views-field-field-release-date"><div class="field-content"><div class="artist-name-fix"><a href="/artist/van-halen" hreflang="en">Van Halen</a></div>
<time datetime="2026-03-27T12:00:00Z">Mar 27, 2026</time>
</div></div><div class="views-field views-field-nothing-1"><span class="field-content"></span></div></li>
    
  </ul>

</div>

    </div>
  
            <div class="view-footer">
      <div class="clear"></div>
    </div>
    </div>
</div>

</div>
<a class="more btn btn-default btn-sm" href="/releases">More Releases</a>
</div>
	<!-- <div id="right"> -->
	<div class="col-md-4">




<a name="rhino"></a>
<h1><a target="_blank" href="https://store.rhino.com/">Shop Rhino.com</a></h1>
<div id="shop_rhino">
<div class="views-element-container form-group"><div class="view view-shop-rhino-com view-id-shop_rhino_com view-display-id-block_1 js-view-dom-id-d3774c6a00d4ddae1dd9164736651f34536b72460650aa53574b71f664404fc2">
  
    
      
      <div class="view-content">
          <div class="views-row"><div class="views-field views-field-field-rhino-shop-image"><div class="field-content"><a href="https://store.rhino.com/products/john-coltrane-1960-1964-mono-rhino-high-fidelity-6lp-boxed-set" target="_blank">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2026-01/JohnColtrane_French_LP_BOX%20%281%29.jpg" width="6000" height="6000" alt="RHINO HIGH FIDELITY - JOHN COLTRANE" typeof="Image" class="img-responsive" />




</a></div></div><div class="views-field views-field-title"><span class="field-content"><a href="https://store.rhino.com/products/john-coltrane-1960-1964-mono-rhino-high-fidelity-6lp-boxed-set" target="_blank">RHINO HIGH FIDELITY CELEBRATES JOHN COLTRANE</a></span></div></div>
    <div class="views-row"><div class="views-field views-field-field-rhino-shop-image"><div class="field-content"><a href="https://store.rhino.com/collections/rhino-high-fidelity" target="_blank">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2025-10/t.rex_yes_reel-to-reels_rhino.com_high_fidelity_square_padded_800x800_0.jpg" width="800" height="800" alt="RHINO HIGH FIDELITY REELS" typeof="Image" class="img-responsive" />




</a></div></div><div class="views-field views-field-title"><span class="field-content"><a href="https://store.rhino.com/collections/rhino-high-fidelity" target="_blank">INTRODUCING RHINO HIGH FIDELITY REEL-TO-REELS</a></span></div></div>
    <div class="views-row"><div class="views-field views-field-field-rhino-shop-image"><div class="field-content"><a href="https://store.rhino.com/collections/quadio" target="_blank">  <img loading="lazy" src="/sites/g/files/g2000012691/files/2025-10/jefferson_starship_america_hot_tuna_WAR_rhino.com_quadio_square_padded_800x800_0.png" width="800" height="800" alt="quadio" typeof="Image" class="img-responsive" />




</a></div></div><div class="views-field views-field-title"><span class="field-content"><a href="https://store.rhino.com/collections/quadio" target="_blank">IMMERSE YOURSELF IN QUADIO</a></span></div></div>

    </div>
  
          </div>
</div>

</div>
<a class="more btn btn-default btn-sm" target="_blank" href="https://store.rhino.com/">Visit Store</a>
<hr />
<a name="featured-artist"></a>
<h1><a href="/artists">Featured Artist</a></h1>
<div id="featured_artist">
<div class="box_content artist_box">




                    <div class="field field--name-field-image field--type-image field--label-hidden field--item">  <a href="/artist/chicago" hreflang="en"><img loading="lazy" src="/sites/g/files/g2000012691/files/styles/rectangle/public/artists/chicago.jpg?itok=HjRr3DZW" width="854" height="480" alt="" typeof="foaf:Image" class="img-responsive" />




</a>
</div>
            

<a href="/artist/chicago">


                    <div class="field field--name-name field--type-string field--label-hidden field--item">Chicago</div>
            
</a>

<div class="template_note">THIS IS THE TERM ARTIST BOX TEMPLATE</div>

</div>
</div>
<a class="more btn btn-default btn-sm" href="/artists">All Artists</a>


	</div></div>


	

</main>
  </div>


	<!-- this is the bottom -->
	<script src="/sites/g/files/g2000012691/files/custom_js_1.js?cache=69492de13f6fa"></script>
<script src="https://libraries.wmgartistservices.com/toubannerupdate/lighttheme.js" data-termslabel="RH"></script>


	<footer>
	    <div class="region region-footer">
    <section id="block-lightbox93077" class="block block-block-content block-block-contentaecef300-1a86-416d-b072-d6e635ce69be clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><script src="https://libraries.wmgartistservices.com/externalJS/jquery-cookie-1-4-1-jquery-cookie-min.js"
    type="text/javascript"></script>
<style>
div#lightboxWrapper .newsletter p label.goptin_checkbox {
    width: 90%;
    vertical-align: top;
    margin-top: 4px;
}

    section#block-lightbox93077 {
        position: static;
    }

    div#lightboxOverlay {
        width: 100%;
        height: 100%;
        position: fixed;
        background-color: rgba(0, 0, 0, .75);
        top: 0;
        left: 0;
        z-index: 10000;
    }

    div#lightboxWrapper {
        width: min(80%, 650px);
        z-index: 10001;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: #3b3b3b;
        border: 10px solid #fff;
        border-radius: 10px;
        padding: 25px 50px;
    }

    div#lightboxWrapper .lightboxClose {
        font-size: 50px;
        font-family: Arial;
        position: absolute;
        top: 0;
        right: 10px;
        line-height: 1;
        color: #000;
    }

    div#lightboxWrapper .lightboxClose:hover {
        opacity: 0.7;
    }

    div#lightboxWrapper h2 {
        color: #f6375b;
        letter-spacing: 0;
    }

    div#lightboxWrapper .newsletter p {
        color: #fff;
        text-align: left;
    }

    div#lightboxWrapper .newsletter .email_address {
        border-color: #5c5c5c;
        background: #5c5c5c;
        color: #8e8e8e;
    }

    div#lightboxWrapper .newsletter .email_address::-webkit-input-placeholder {
        color: #8e8e8e;
    }

    div#lightboxWrapper form.newsletter_signup .emailBox input[type="submit"] {
        display: inline-block;
        width: 145px;
        padding: 8px;
        color: #fefdf1;
        border-color: #fefdf1;
    }

    div#lightboxWrapper .email-options {
        text-align: center;
    }

    div#lightboxWrapper form.newsletter_signup .emailBox input[type="submit"]:hover {
        color: #3b3b3b;
    }

    @media only screen and (max-width: 767px) and (orientation: portrait),
    only screen and (max-width: 1023px) and (orientation: landscape) {
        div#lightboxWrapper {
            position: absolute;
            transform: translateX(-50%);
            top: 100px;
        transform: translate(-50%, -50%);
        top: 50%;
        left: 50%;
        }
    }

    @media only screen and (max-width: 767px) and (orientation: portrait) {
        div#lightboxWrapper {
            width: min(90%, 750px);
            padding: 20px;
        }
    }
</style>
<div id="lightboxOverlay" class="lightboxOverlay"></div>
<div id="lightboxWrapper">
    <a class="lightboxClose" id="lightboxClose"><img src="/sites/g/files/g2000012691/files/2023-01/X%20out.png"
            alt="Close" title="Close"></a>
    <div class="plain-ml-wrapper lightboxMlist firstMlistForm mlistPage newsletter">
        <h2>Stay In Touch</h2>
        <div class="mlform">
            <div class="email-description">
                <p class="message-description">Enter your email below to be the first to hear about new releases,
                    upcoming
                    events, and more from Rhino.</p>
                <p class="message-description">You can also follow the Album of the Day - a classic album presented in
                    its
                    entirety. Always great listening!</p>
            </div>
            <form class="mlistFormOne mlform singleform twostep singleStepForm newsletter_signup email-options">
                <div class="email fieldWrap">
                    <input data-type="email" data-error-text="Your email address appears to be invalid" required
                        class="email email_address" name="email" placeholder="Enter Your Email Address" aria-label="Enter your email address" />
                    <span class="form_error error_email" style="display:none;">Your email address appears to be
                        empty</span>
                    <span class="form_error error_checkbox" style="display:none;">At least one box must be checked for
                        signup</span>
                </div>
                <p class="globaloptin">

                    <input type="checkbox" name="rhino_1" id="rhino_1" value="" />
                    <label for="rhino_1" class="goptin_checkbox">Check here to get the latest news, releases and events
                        from Rhino</label>
                </p>
                <p class="globaloptin">
                    <input type="checkbox" name="aod_1" id="aod_1" value="" />
                    <label for="aod_1" class="goptin_checkbox">Check here to get the Album of the Day
                        delivered to your inbox</label>
                </p>
                <div class="primary-list-values">
                    <input class="rhino_1 mainListId" name="newsletterId" type="hidden" value="" />
                    <input class="aod_1 mainListId" name="newsletterId" type="hidden" value="" />
                    <input class="autoreply" name="autoreply" type="hidden" value="no" />
                    <input class="Datasource" name="Datasource" type="hidden"
                        value="Rhino_newsletter_lightbox_Website" />
                </div>
                <div class="terms email-options">
                    <p class="terms-message">
                         I want Warner Music Group to send me marketing messages about <span> Rhino </span>. Unsubscribe at any time. Please read our <a class="external-link"
                        href="https://www.rhino.com/privacy-policy" rel="nofollow" target="_blank"
                        title="Follow link">Privacy&nbsp;Policy</a> for more information about how we handle your personal information, including for marketing.
                    </p>
                </div>
                <div class="submit emailBox">
                    <input type="submit" class="submit mlistSubmit email-submit" value="Sign Me Up!"
                        style="display: none;" id="submitbutton" />
                    <input class="email-submit dummy" type="submit" value="Sign Me Up!">
                </div>
            </form>

        </div>
        <div class="thankyou fadeOut">
            Thanks For Signing Up!
        </div>
        &nbsp;
    </div>
</div>
<script>
    jQuery(document).ready(function () {
        let mlistValue = ".lightboxMlist";
        let checkboxName1 = "rhino_1";
        let checkboxValue1 = '5720'
        let checkboxName2 = "aod_1"
        let checkboxValue2 = '8489459';
        jQuery(mlistValue + ' .globaloptin input').click(function () {
            if (jQuery(mlistValue + ' .globaloptin input#' + checkboxName1).prop('checked')) {
                jQuery(mlistValue + ' .mainListId.' + checkboxName1).val(checkboxValue1)
            } else {
                jQuery(mlistValue + ' .mainListId.' + checkboxName1).val('')
            }

            if (jQuery(mlistValue + ' .globaloptin input#' + checkboxName2).prop('checked')) {
                jQuery(mlistValue + ' .mainListId.' + checkboxName2).val(checkboxValue2)
            } else {
                jQuery(mlistValue + ' .mainListId.' + checkboxName2).val('')
            }
        });
        jQuery(mlistValue + ' input.email-submit.dummy').click(function (event) {
            event.preventDefault();

            if ((jQuery(mlistValue + ' .globaloptin input#' + checkboxName1).prop('checked') || jQuery(mlistValue + ' .globaloptin input#' + checkboxName2).prop('checked')) && jQuery(mlistValue + ' .email input.email').val().length > 0) {
                jQuery(mlistValue + ' .form_error').hide();
                jQuery(mlistValue + ' input.email-submit.submit').click();
            }
            if (!jQuery(mlistValue + ' .email input.email').val().length > 0) {
                jQuery(mlistValue + ' .form_error.error_email').show();
            } else {
                jQuery(mlistValue + ' .form_error.error_email').hide();
            }
            if (!(jQuery(mlistValue + ' .globaloptin input#' + checkboxName1).prop('checked') || jQuery(mlistValue + ' .globaloptin input#' + checkboxName2).prop('checked'))) {
                jQuery(mlistValue + ' .form_error.error_checkbox').show();
            } else {
                jQuery(mlistValue + ' .form_error.error_checkbox').hide();
            }
        });
    });
</script>
<script>
    if ($.cookie('LBClosed') == 1) {
        jQuery('#lightboxOverlay,#lightboxWrapper').hide();
    } else {
        const mainPageName = digitalData.page.pageInfo.pageName;
        const mainPagePrimaryCategory = digitalData.page.category.primaryCategory;
        const mainPageType = digitalData.page.category.pageType;

        $(document).on('click', '#lightboxClose', function () {
            jQuery('#lightboxOverlay,#lightboxWrapper').hide();
            lbCloseResetDTMNew();
        });

        $(document).on('click', '#lightboxOverlay', function () {
            jQuery('#lightboxOverlay,#lightboxWrapper').hide();
            lbCloseResetDTMNew();
        });

        var lbCloseResetDTMNew = function () {
            $.cookie('LBClosed', '1');
            s_dtm.clearVars();
            digitalData.page.pageInfo.pageName = mainPageName;
            digitalData.page.category.primaryCategory = mainPagePrimaryCategory;
            digitalData.page.category.pageType = mainPageType;
            _satellite.track("page view");
            console.info("lightbox closed");
        };

        digitalData.page.pageInfo.pageName = "Rhino:Mailing List Sign-up:Lightbox";
        digitalData.page.category.primaryCategory = "Rhino:Lightbox";
        digitalData.page.category.pageType = "Lightbox:Mailing List Sign-up";
    }
</script>
<style>
    .fadeOut {
        display: none;
    }

    .fadeIn {
        display: block;
    }

    label {
        font-weight: 400;
        margin: 0;
    }

    span.input-error {
        display: block;
        width: auto;
        text-align: center;
        padding: 10px;
        background-color: white;
        color: red;
        font-size: 13px;
        border-radius: 2px;
        margin: 0 0 9px 0;
        line-height: 14px;
    }

    div#lightboxWrapper p.terms-message a {
        text-decoration: underline;
    }
div#lightboxWrapper p.terms-message a:focus {
color: #f6f2f6;
}
</style></div>
      
  </section>

<section id="block-dtmtemporaryfix77389" class="block block-block-content block-block-contentd0b82b5b-cfde-4f94-b32e-2fe191f2c8fc clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><script>

    if (window.location.pathname.split("/")[1] == "tag") {
        var categoryNameTag = $('h1.page-header').text().replace(/\b\w/g, function (l) { return l.toUpperCase() });
        digitalData.page.pageInfo.pageName = 'Rhino.com:News:' + categoryNameTag;
        digitalData.page.category.pageType = 'news:category';
        digitalData.page.category.primaryCategory = 'Rhino.com:News';
    }
    else if (window.location.pathname == "/videos") {
        digitalData.page.category.pageType = 'videos:landing';
    }
    else if (window.location.pathname.split("/")[1] == "video") {
        var categoryVideoTag = $('h1.page-header').text().replace(/\b\w/g, function (l) { return l.toUpperCase() }).replace(/"/g, "");
        //digitalData.page.pageInfo.pageName = 'Rhino.com:Videos:'+categoryVideoTag;
        //digitalData.page.category.pageType = 'videos:details';
        //digitalData.page.category.primaryCategory = 'Rhino.com:Videos';

        digitalData = {
            settings: {
                reportSuites: "wmg,wmgrhi,wmgrhinobrand,wmgrhino.com",
            },
            page: {
                pageInfo: {
                    pageName: 'Rhino.com:Videos:' + categoryVideoTag,
                    server: "Rhino.com:Site",
                    platform: "Drupal 10",
                },
                category: {
                    primaryCategory: "Rhino.com:Videos",
                    pageType: "videos:details"
                }
            },
            content: {
                artist: "Rhino.com",
                label: "Rhino"
            },
        };
    }
    else if (window.location.pathname.split("/")[1] == "article") {
        var newspageName = $('h1.page-header').text().replace(/\b\w/g, function (l) { return l.toUpperCase() }).replace(/"/g, "");
        //digitalData.page.pageInfo.pageName = 'Rhino.com:Videos:'+categoryVideoTag;
        //digitalData.page.category.pageType = 'videos:details';
        //digitalData.page.category.primaryCategory = 'Rhino.com:Videos';

        digitalData = {
            settings: {
                reportSuites: "wmg,wmgrhi,wmgrhinobrand,wmgrhino.com",
            },
            page: {
                pageInfo: {
                    pageName: 'Rhino.com:News:' + newspageName,
                    server: "Rhino.com:Site",
                    platform: "Drupal 10",
                },
                category: {
                    primaryCategory:"Rhino.com:News",
			        pageType:"News:Article"
                }
            },
            content: {
                artist: "Rhino.com",
                label: "Rhino"
            },
        };
    }
//digitalData.page.pageInfo.devTeam = 'WMAS';
</script>

<style>
body.page-node-type-contest h1.page-header.no-artist-image {
    padding-top: 50px;
}
</style></div>
      
  </section>

<section id="block-logoupdate75521" class="block block-block-content block-block-content0c342d3c-c732-45a3-9ee6-fc92e2de0cc1 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><!--style>
body .navbar>.container .navbar-brand {
    background-image: url(/sites/rhino.com/files/2020-09/GOTV_FBOG.png) !important;
}
</style>
<script>
$(".navbar>.container .navbar-brand").attr("href","https://www.rhino.com/vote");
$(".navbar>.container .navbar-brand").attr("title","Rhino.com Vote");
</script-->
<style>
.navbar>.container .navbar-brand:hover {
    opacity: 0.8;
}
</style></div>
      
  </section>

<section id="block-rhino-bootstrap-footer" class="block block-block-content block-block-contentfbc0e5ee-df4a-4e8e-800c-15e247a36052 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div class="logo-social">
    <div class="logo-type">
    <img src="/sites/g/files/g2000012691/themes/site/rhino_bootstrap/img/new-rhino-logo-white.png" class="mini-logo" alt="logo">
    <div style="margin: 10px 0 0;">
		<img src="/sites/g/files/g2000012691/files/2023-01/WMG-Footer-white_05c.svg" class="mini-logo" alt="logo">
	</div>
<br />
    </div>
    <div class="social-icons">
    <a target="_blank" href="https://www.facebook.com/RHINO" data-track="facebook"><i class="fa fa-facebook-square" aria-hidden="true"></i></a><a target="_blank" href="https://twitter.com/Rhino_Records" data-track="twitter"><i class="fa fa-twitter-square" aria-hidden="true"></i></a><a target="_blank" href="https://www.instagram.com/rhino_records/" data-track="instagram"><i class="fa fa-instagram" aria-hidden="true"></i></a><a target="_blank" href="https://www.youtube.com/user/RhinoEntertainment" data-track="youtube"><i class="fa fa-youtube-square" aria-hidden="true"></i></a><a target="_blank" href="https://play.spotify.com/user/rhino_records" data-track="spotify"><i class="fa fa-spotify" aria-hidden="true"></i></a><a target="_blank" href="https://soundcloud.com/rhinorecords" data-track="soundcloud"><i class="fa fa-soundcloud" aria-hidden="true"></i></a>
    </div>
    </div>
    
    <style type="text/css">
    .podcast_links.well .btn.tunein {
    display:none !important;
    }
    
    .podcast_links .btn.spotify {
    color:white;
    }
    
    .path-frontpage .video_box img,
    .path-frontpage #home_news .field--name-field-images img {
        width:100%;
    }
    #block-headerlinks {
    width:246px;
    }
#block-headerlinks a:hover {
    opacity: 0.7;
}
    
    .container .tracklist .track.track_note {
        display:none;
    }
    
    .section-podcasts .artist-content .views-col p {
            padding: 5px 30px 5px 0;
        }
    .article_content .col-md-9 > p
    {
    clear:both;
    }
    body .page-header {
    border-bottom:0;
    }
    
    .path-frontpage .img-responsive {
        min-width:100%;
    }
    
    .player .field--name-field-episode-audio a {
        min-width: 290px;
        width: 94%;
    }
    
    .section-podcast .article_content p {
        padding:0;
    }
    
    .section-podcast .views-view-grid .views-col {
        margin: 0;
    padding:5px;
    }
    
    .path-podcasts .article_content {
        min-height:230px;
    }
    
    .podcast_links.well .btn.iheartradio {
        background-color: #de223b;
        color: white;
    }
    
    @media (max-width: 767px) {
        .section-podcasts .artist-content .views-col {
            width:100% !important;
        }
        
        .section-podcast .views-view-grid .views-col {
            width:100% !important;
            margin:0 0 10px 0;
        }

        .article_content ul.end-links
        {
            padding: 0 0 0 30px;
        }
    
    .player .field--name-field-episode-audio {
        margin: 16px 0 0 0;
    }
    
    .player .field--name-field-episode-audio a {
        width: 100%;
    }
    
    .jp-volume-controls {
    display:none;
    }
       .page-node-type-playlist-landing .view-playlists .views-col{
    width:100% !important;
    }
    }
    a.rhino,a.rhino_store{
    background-color: #e52745 !important;
    }
    .buy_links a{
        white-space: normal;
    }
    .page-node-type-contest .form-actions button{
    margin-top:0;
    }
    .page-node-type-contest .field--name-webform .form-actions button{
    margin-top:12px;
    }
    #block-exposedformacquia-searchpage-2 .trigger.focusable{
    display:none;
    }
body span.ot-sdk-show-settings.navbar-text {
    float: unset;
    margin: 0;
}
@media (min-width: 768px){
    footer .nav > li.expanded.dropdown:last-child {
        margin-left: 15px;
        float: right;
        display: inline-block;
        width: 50px;
    }
    footer .dropdown-menu {
        position: relative;
        display: inline-block;
    }
}

footer .nav>li a:hover {
    opacity: 0.8;
}
    </style></div>
      
  </section>

<nav role="navigation" aria-labelledby="block-footer-2-menu" id="block-footer-2">
            
  <h2 class="visually-hidden" id="block-footer-2-menu">Footer Links</h2>
  

        
      <ul class="menu menu--footer nav">
                      <li class="expanded dropdown first">
                                                                    <a href="/" class="dropdown-toggle is-active" data-toggle="dropdown" data-drupal-link-system-path="&lt;front&gt;" aria-current="page">© 2022 Rhino Entertainment <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                      <li class="first">
                                        <a href="/about" data-track="" target="" data-drupal-link-system-path="node/27101">About Rhino</a>
              </li>
                      <li>
                                        <a href="/privacy-policy" target="" data-drupal-link-system-path="node/27106">Privacy Policy</a>
              </li>
                      <li>
                                        <a href="/terms-of-use" data-track="" target="" data-drupal-link-system-path="node/771">Terms of Use</a>
              </li>
                      <li>
                                        <a href="https://rhinostoresupport.zendesk.com/hc/en-us/requests/new">Contact Rhino</a>
              </li>
                      <li>
                                        <a href="https://www.wminewmedia.com/cookies-policy/" target="_blank">Cookies Policy</a>
              </li>
                      <li class="last">
                                        <span class="ot-sdk-show-settings navbar-text">Cookies Settings</span>
              </li>
        </ul>
  
              </li>
                      <li class="expanded dropdown last">
                                                                    <a href="http://rhinostore.warnermusic.com/contacts" class="dropdown-toggle" data-track="" target="" data-toggle="dropdown">Customer Care <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                      <li class="first">
                                        <a href="https://store.rhino.com/">Shop</a>
              </li>
                      <li>
                                        <a href="/news" data-track="" target="" data-drupal-link-system-path="news">Read</a>
              </li>
                      <li>
                                        <a href="/videos" data-track="" target="" data-drupal-link-system-path="node/24201">Watch</a>
              </li>
                      <li>
                                        <a href="/playlists" data-track="" target="" data-drupal-link-system-path="node/19466">Stream</a>
              </li>
                      <li class="last">
                                        <a href="/artists" target="" data-drupal-link-system-path="artists">Artists</a>
              </li>
        </ul>
  
              </li>
        </ul>
  

  </nav>
<section id="block-footernewsletter" class="block block-block-content block-block-content502ac466-e114-4a8f-941a-97ee28371c4a clearfix">
  
      <h2 class="block-title">Stay In Touch</h2>
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div class="plain-ml-wrapper footerMlist firstMlistForm mlistPage newsletter">
    <div class="mlform">
        <div class="email-description">
            <p class="message-description">Enter your email below to be the first to hear about new releases, upcoming
                events, and more from Rhino.</p>

            <p class="message-description">You can also follow the Album of the Day - a classic album presented in its
                entirety. Always great listening!</p>
        </div>
        <form class="mlistFormOne mlform singleform twostep singleStepForm newsletter_signup email-options">
            <div class="email fieldWrap">
                <input data-type="email" data-error-text="Your email address appears to be invalid" required
                    class="email email_address" name="email" placeholder="Enter Your Email Address" aria-label="Enter your email address" />
                <span class="form_error error_email" style="display:none;">Your email address appears to be
                    empty</span>
                <span class="form_error error_checkbox" style="display:none;">At least one box must be checked for
                    signup</span>
            </div>
            <p class="globaloptin">
                <input type="checkbox" name="rhino" id="rhino" value="" />
                <label for="rhino" class="goptin_checkbox">Check here to get the latest news, releases
                    and events from Rhino</label>
            </p>
            <p class="globaloptin">
                <input type="checkbox" name="aod" id="aod" value="" />
                <label for="aod" class="goptin_checkbox">Check here to get the Album of the Day
                    delivered to your inbox</label>
            </p>
            <div class="primary-list-values">
                <input class="rhino mainListId" name="newsletterId" type="hidden" value="" />
                <input class="aod mainListId" name="newsletterId" type="hidden" value="" />
                <input class="autoreply" name="autoreply" type="hidden" value="no" />
                <input class="Datasource" name="Datasource" type="hidden" value="Rhino_newsletter_footer_Website" />
            </div>
            <div class="terms email-options">
                <p class="terms-message">
                I want Warner Music Group to send me marketing messages about <span> Rhino </span>. Unsubscribe at any time. Please read our <a class="external-link"
                        href="https://www.rhino.com/privacy-policy" rel="nofollow" target="_blank"
                        title="Follow link">Privacy&nbsp;Policy</a> for more information about how we handle your personal information, including for marketing.
                </p>
            </div>
            <div class="submit emailBox">
                <input type="submit" class="submit mlistSubmit email-submit" value="Sign Me Up!" style="display: none;"
                    id="submitbutton" />
                <input class="email-submit dummy" type="submit" value="Sign Me Up!">
            </div>
        </form>

    </div>
    <div class="thankyou fadeOut">
        Thanks For Signing Up!
    </div>
    &nbsp;
</div>
<script>
    jQuery(document).ready(function () {
        let mlistValue = ".footerMlist";
        let checkboxName1 = "rhino";
        let checkboxValue1 = '5720'
        let checkboxName2 = "aod"
        let checkboxValue2 = '8489459';
        jQuery(mlistValue + ' .globaloptin input').click(function () {
            if (jQuery(mlistValue + ' .globaloptin input#' + checkboxName1).prop('checked')) {
                jQuery(mlistValue + ' .mainListId.' + checkboxName1).val(checkboxValue1)
            } else {
                jQuery(mlistValue + ' .mainListId.' + checkboxName1).val('')
            }

            if (jQuery(mlistValue + ' .globaloptin input#' + checkboxName2).prop('checked')) {
                jQuery(mlistValue + ' .mainListId.' + checkboxName2).val(checkboxValue2)
            } else {
                jQuery(mlistValue + ' .mainListId.' + checkboxName2).val('')
            }
        });
        jQuery(mlistValue + ' input.email-submit.dummy').click(function (event) {
            event.preventDefault();

            if ((jQuery(mlistValue + ' .globaloptin input#' + checkboxName1).prop('checked') || jQuery(mlistValue + ' .globaloptin input#' + checkboxName2).prop('checked')) && jQuery(mlistValue + ' .email input.email').val().length > 0) {
                jQuery(mlistValue + ' .form_error').hide();
                jQuery(mlistValue + ' input.email-submit.submit').click();
            }
            if (!jQuery(mlistValue + ' .email input.email').val().length > 0) {
                jQuery(mlistValue + ' .form_error.error_email').show();
            } else {
                jQuery(mlistValue + ' .form_error.error_email').hide();
            }
            if (!(jQuery(mlistValue + ' .globaloptin input#' + checkboxName1).prop('checked') || jQuery(mlistValue + ' .globaloptin input#' + checkboxName2).prop('checked'))) {
                jQuery(mlistValue + ' .form_error.error_checkbox').show();
            } else {
                jQuery(mlistValue + ' .form_error.error_checkbox').hide();
            }
        });
    });
</script>
<style>
    .fadeOut {
        display: none;
    }

    .fadeIn {
        display: block;
    }

    label {
        font-weight: 400;
        margin: 0;
    }

    .email-options p input {
        display: inline-block;
        vertical-align: text-bottom;
        cursor: pointer;
    }

    span.input-error {
        display: block;
        width: auto;
        text-align: center;
        padding: 10px;
        background-color: white;
        color: red;
        font-size: 13px;
        border-radius: 2px;
        margin: 0 0 9px 0;
        line-height: 14px;
    }

    section#block-footernewsletter label.goptin_checkbox {
        width: calc(100% - 18px);
        vertical-align: text-top;
    cursor: pointer; 
    }
</style></div>
      
  </section>

<section id="block-menucssfix" class="block block-block-content block-block-content0f0ae7e4-ca78-4899-8d57-dfa97e6c40a7 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><style>

.section-terms-of-use .field.field--name-field-official-rules-.field--type-boolean.field--label-above {
    display: none !important;
}

    .section-DepecheModeVinyl .field--name-field-official-rules- {
        display: none;
    }
    
    body.section-DepecheModeVinyl .page-header {
        margin-top: 50px;
    }
    
    .page-node-type-article .article_content img {
        max-width: 100%;
    }
    
    .page-node-type-article .page-header.no-artist-image {
        margin-top: 36px
    }
    /*nav#block-rhinosupernav li:last-child{
            display:none;
        }*/
    
    .path-frontpage #home_news .home_news_row .article_content .field.field--name-field-artists.field--type-entity-reference {
        pointer-events: none;
    }
    
    .view-carousel-content li>div.views-field-title .order0 {
        /*color: #fff;*/
    }
    /*.view-carousel-content li > div.views-field-title .order-11 a{
    background:#000;
    color:#fff;
    }
    .view-carousel-content li > div.views-field-title .order-11{
    color:#000;
    text-align:center;
    }*/
    
    .path-frontpage .home_news_row .article_content:nth-child(2) .published-date .feature {
        color: #e31f3e;
    }
    
    .path-frontpage #home_news .article_content h3 .field--name-field-holiday-product-artist a {
        font-size: 16px;
    }
    
    .section-search .search_item h2 {
        font-size: 0;
    }
    
    .section-search .search_item h2 a {
        font-size: 24px;
    }
    
    .section-GeddyLeeDownloads .albumReleaseDownload td {
        width: 100%;
    }
    
    .episode-image img {
        max-width: 100%;
    }
    
    .path-frontpage #front_article_content .views-field-title {
        font-family: alegreyabold, Georgia, 'Times New Roman', Times, serif;
    }
    
    body .albumReleaseDownload td p {
        color: #e52745;
    }
    
    a.rhino {
        background-color: #e52745 !important;
    }
    
    .buy_links a.buy_source_button.rhino_store,
    .page-node-type-aod #sidebar-content a.rhino.store {
        background-color: #e52745;
    }
    
    section.block-views-blockstore-menu-block-1 div ul li:nth-child(16),
    section.block-views-blockstore-menu-block-1 div ul li:nth-child(18) {
        display: block;
    }
    
    @media (max-width: 1260px) {
        .navbar>.container .navbar-brand {
            position: absolute;
        }
        .section-search .block-facets ul li a {
            font-size: 12px;
            padding: 12px;
        }
    }
    
    @media only screen and (max-width: 1700px) and (min-width: 768px) {
        .navbar-default .navbar-nav>li>a {
            margin: 0 10px 0 0;
            font-size: 14px;
        }
    }
    
    @media only screen and (max-width: 860px) and (min-width: 768px) {
        .navbar>.container .navbar-brand,
        nav.navbar.scrolling>.container .navbar-brand,
        nav.navbar.scrolling>.container-fluid .navbar-brand {
            width: 51px;
            margin: 0 10px 0 10px;
            position: absolute;
        }
    }
    
    .section-releases .region-sidebar #block-rhino-bootstrap-views-block-store-menu-menu li:nth-last-child(2) {
        border-radius: 0 0 23px 23px !important;
    }
    
    .section-releases .region-sidebar #block-rhino-bootstrap-views-block-store-menu-menu ul li:nth-last-child(2) a {
        border-radius: 0 0 23px 23px !important;
    }
    
    @media (min-width: 992px) {
        .product_outer .col-md-4 {
            width: 40%;
        }
        .product_outer .col-md-8 {
            width: 60%;
        }
    }
    
    @media all and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
        .product_outer .col-md-4 {
            width: 50%;
        }
        .product_outer .col-md-8 {
            width: 50%;
        }
    }
    
    @media only screen and (min-width: 1024px) and (max-height: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1.5) {
        .product_outer .col-md-4 {
            width: 50%;
        }
        .product_outer .col-md-8 {
            width: 50%;
        }
    }
    
    @media only screen and (min-width:1670px) {
        .section-summerof69.page-node-type-landing-page .product-list .product {
            min-height: 420px;
        }
    }
    
    @media only screen and (max-width:920px) and (min-width:768px) {
        .navbar-default .navbar-nav>li>a,
        nav#block-rhinosupernav li a {
            padding: 16px 10px;
        }
    }
    
    @media only screen and (max-width: 767px) {
        #block-rhinosupernav ul.menu.menu--rhino-super-nav.nav {
            padding-bottom: 100px;
        }
        .page-node-type-article .page-header.no-artist-image {
            margin-top: 55px;
        }
    }
    
    @media only screen and (max-width:1023px) {
        .page-node-type-rules .page-header {
            padding-top: 14vw;
        }
    }
</style>
<script>
    jQuery(document).ready(function() {
        if (jQuery(window).width() > 768) {
            jQuery(".menu--rhino-super-nav li.expanded.dropdown .dropdown-toggle").each(function() {
                if (jQuery(this).text().trim() == "Shop") {
                    jQuery(this).click(function() {
                        window.location.href = jQuery(this).attr('href');
                    });
                }
            });
        }
        var currentYear = new Date().getFullYear();
        $('#block-footer-2 .menu--footer .dropdown.first .dropdown-toggle').text('© ' + currentYear + ' Rhino Entertainment ');
    });
</script></div>
      
  </section>

<section id="block-aodalltextoverlapfixcss" class="block block-block-content block-block-contenta3ba00ec-f4a3-4896-a55a-ba57611e40a2 clearfix">
  
      <h2 class="block-title">AOD-ALL Text overlap fix - CSS</h2>
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><style>
section#block-aodalltextoverlapfixcss {
    display: none;
}
@media only screen and (max-width: 767px){
	body.aod-all.section-aod-all .views-col, body.section-aod .views-col{
		width: 100% !important;
	}
	#views-exposed-form-aods-block-1 #edit-actions{
		text-align: center;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px){
	body.aod-all.section-aod-all #edit-actions, body.section-aod #edit-actions, body.aod-all.section-aod-all .form-item-field-taxonomy-target-id-1, body.section-aod .form-item-field-taxonomy-target-id-1{
		margin-top: 10px;
	}
}

body.aod-all.section-aod-all .view-empty, body.section-aod .view-empty{
	text-align: center;
    padding: 25px 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: bold;
}

body.aod-all.section-aod-all footer, body.section-aod footer{
	margin-top: 20px;
}
div.view-store-products .views-field {
    word-wrap: break-word;
}
</style></div>
      
  </section>

<section id="block-cssfix68391" class="block block-block-content block-block-content8baa5cbf-8ab2-411b-8a06-0cd3387ee69a clearfix">
  
      <h2 class="block-title">CSS Fix. #68391</h2>
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><style>
body span.ot-sdk-show-settings.navbar-text {
    float: unset;
    margin: 0;
    font-weight: 700;
    margin: 0 0 7px 0;
    padding: 0;
    font-size: 13px;
    letter-spacing: 1px;
    color: #f6f2f6;
}
#block-cssfix68391{display: none;}

[class^="twt-"], [class*=" twt-"] {
    font-size: inherit !important;
}

body #block-headerlinks {
    width: 246px;
    height: 30px;
}

@media only all and (min-width: 768px){
nav#block-rhinosupernav li:nth-child(2).expanded.dropdown.open ul.dropdown-menu, nav#block-rhinosupernav li:nth-child(2).expanded.dropdown.custom-open ul.dropdown-menu{
    width: 170px;
    padding: 5px;
    padding-left: 21px;
}

#block-rhinosupernav li:nth-child(2).expanded.dropdown.open > ul.dropdown-menu li, nav#block-rhinosupernav li:nth-child(2).expanded.dropdown.custom-open ul.dropdown-menu li{

	float: none;
    width: 100%;
}


#block-rhinosupernav .open > ul.dropdown-menu li:nth-child(2) a, #block-rhinosupernav .custom-open > ul.dropdown-menu li:nth-child(2) a{
	margin: 0;
}

nav#block-rhinosupernav li:nth-child(2).expanded.dropdown.open, nav#block-rhinosupernav li:nth-child(2).expanded.dropdown.custom-open {
	position: relative;
}

nav#block-rhinosupernav li:hover a{
	background: #e31f3e;
    color: #fff;
}

}
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) {
footer .nav>li {
     width: 48%;
}
}
</style>
<script>
jQuery("a[href='https://store.rhino.com/']").attr("target","_blank");
jQuery("a[href='https://store.rhino.co.uk/']").attr("target","_blank");

function extractVideoID(url){
var regExp = /^.*((youtu-nocookie.com\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?)|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\/ytscreeningroom\?)\??v?=?([^#\&\?]*).*/;
	var regPlaylist = /[?&]list=([^#\&\?]+)/;
	var youtubeID = "";
    var match = url.match(regExp);
    if ( match && match[7].length == 11 ){
		youtubeID = match[7]
        //return match[7];
    }else{
		//match = url.match(regPlaylist);
        //return match[1] ;
		var list = url.match("list=([a-zA-Z0-9\-\_]+)&?");
		list = list ? list[1] : match[7];
		youtubeID = list;
		//return list;		
    }
	return youtubeID;
}


jQuery(document).ready(function(){
if(jQuery('body').hasClass('page-node-type-video')){
var iframeSrc = jQuery(".page-node-type-video .video-wrapper").find("iframe").attr("src");
var videoID = "ytplayer-" + extractVideoID(iframeSrc);
jQuery(".page-node-type-video .video-wrapper").find("iframe").attr("id", videoID);

 if (iframeSrc.indexOf('?') === -1) {
	var newSrc = iframeSrc + "?enablejsapi=1";
} else {
	var newSrc = iframeSrc + "&enablejsapi=1";
} 
 jQuery(".page-node-type-video .video-wrapper").find("iframe").attr("src", newSrc);
}
});
</script></div>
      
  </section>

<section id="block-rulesnewscript" class="block block-block-content block-block-content5e974daa-74df-479d-917e-886a6e8c59a5 clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">		<script type="text/javascript">

var wordscript = document.getElementsByTagName('body')[0];
  if (wordscript.classList.contains('page-node-type-rules')) {
document.body.innerHTML = document.body.innerHTML.replace('during the Contest Period to be eligible to', 'during the Contest Period to be eligible to win ');
		document.body.innerHTML = document.body.innerHTML.replace('3400 W. Olive Avenue', '777 S. Santa Fe Ave 1st Floor');
		document.body.innerHTML = document.body.innerHTML.replace('5th Floor,', '');
document.body.innerHTML = document.body.innerHTML.replace('Burbank, CA  91505', 'Los Angeles, CA 90021');

}
		document.body.innerHTML = document.body.innerHTML.replace('3400 W. Olive Avenue', '777 S. Santa Fe Ave 1st Floor');
		document.body.innerHTML = document.body.innerHTML.replace('5th Floor,', '');
document.body.innerHTML = document.body.innerHTML.replace('Burbank, CA  91505', 'Los Angeles, CA 90021');

</script></div>
      
  </section>

<section id="block-rhino-bootstrap-220472ostupdates" class="block block-block-content block-block-content99d5079e-4e6f-46f0-9b65-92e2de93544f clearfix">
  
    

      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><style>
form.newsletter_signup input.check_rhino {
    cursor: pointer;
}
</style></div>
      
  </section>


  </div>

	</footer>

	<script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/731","currentPathIsAdmin":false,"isFront":true,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"bootstrap":{"forms_has_error_value_toggle":1,"modal_animation":1,"modal_backdrop":"true","modal_focus_input":1,"modal_keyboard":1,"modal_select_text":1,"modal_show":1,"modal_size":"","popover_enabled":1,"popover_animation":1,"popover_auto_close":1,"popover_container":"body","popover_content":"","popover_delay":"0","popover_html":0,"popover_placement":"right","popover_selector":"","popover_title":"","popover_trigger":"click"},"ajaxTrustedUrl":{"\/search":true},"user":{"uid":0,"permissionsHash":"6476be4bb1096d1768b5e2cd7ac35abbf04d7bb518aa8eb96359bd76c34ca29a"}}</script>
<script src="/sites/g/files/g2000012691/files/js/js_sArg1X0g3Q3K3BX1oCaO8S-pQoWfz22JnzXjS6OgstA.js?scope=footer&amp;delta=0&amp;language=en&amp;theme=rhino_bootstrap&amp;include=eJxFyUEKgDAMBdELVXqk0EixkdAfkuD5u7G6G94wkJHerPIuMu8kU7J8VA2Gp3vxIRP0-6Xgpscd70lAY2ucLpaxANjKJ80"></script>
<script src="https://cdn.jsdelivr.net/npm/entreprise7pro-bootstrap@3.4.8/dist/js/bootstrap.min.js" integrity="sha256-3XV0ZwG+520tCQ6I0AOlrGAFpZioT/AyPuX0Zq2i8QY=" crossorigin="anonymous"></script>
<script src="/sites/g/files/g2000012691/files/js/js_SQ1uMceJB4bTo53EMGyp3jHL3bBXx76JeReV_Whuv3E.js?scope=footer&amp;delta=2&amp;language=en&amp;theme=rhino_bootstrap&amp;include=eJxFyUEKgDAMBdELVXqk0EixkdAfkuD5u7G6G94wkJHerPIuMu8kU7J8VA2Gp3vxIRP0-6Xgpscd70lAY2ucLpaxANjKJ80"></script>


<script type="text/javascript">
document.getElementById('nav-cart').style.display = 'none';
</script>
	
  </body>
</html>
