Help me choose a Virgin Money credit card

Answer the three questions below and we'll help you find a Virgin Money credit card.

Upcoming Changes

  • Please note, applications for a new credit card are temporarily unavailable from 26 October 2025.

    On 24 November 2025, Virgin Money Credit Cards will be undergoing a system change and we’re updating our Terms and Conditions effective on this date. Learn more about the changes at virginmoney.com.au/credit-card-changes.
  • In addition, we’re updating our Virgin Money Rewards Terms and Conditions effective 24 November 2025 which apply to credit card products. Learn more about the changes at virginmoney.com.au/products/virgin-money/rewards-variation-notice
  • Access to Virgin Money Online Internet Banking will no longer be available from 7:30PM AEDT Friday 21 November 2025, due to a system change. The new Virgin Money Internet Banking will be available to register from 8:00AM AEDT Monday 24 November 2025. Learn more
height
auto
config
[{"tag":"style","attributes":{},"children":[],"content":"/* CSS reset style starts */\n  * {\n    margin: 0px;\n    padding: 0px;\n    box-sizing: border-box;\n  }\n  body,\n  h1,\n  h2,\n  h3,\n  h3,\n  h4,\n  h5,\n  h6,\n  p,\n  span,\n  ul,\n  ul li,\n  ol,\n  ol li,\n  dl,\n  dt,\n  dd,\n  figure {\n    margin: 0;\n    padding: 0;\n    /* font-family: \"GothamBook\"; */\n    -webkit-text-size-adjust: none;\n  }\n  article,\n  aside,\n  details,\n  figcaption,\n  figure,\n  footer,\n  header,\n  hgroup,\n  nav,\n  section {\n    display: block;\n  }\n  img {\n    border: 0;\n    outline: none;\n  }\n  a {\n    text-decoration: none;\n    color: #fff;\n  }\n  a,\n  a:hover,\n  a:active,\n  a:focus,\n  a:link,\n  a:visited {\n    outline: none;\n    border: none;\n  }\n  a:hover {\n    outline: none;\n    border: none;\n    text-decoration: underline;\n  }\n  ul {\n    list-style-type: none;\n  }\n  h1,\n  h2,\n  h3,\n  h3,\n  h4,\n  h5,\n  h6 {\n    font-weight: normal;\n  }\n  /* CSS reset style ends */\n  /* Global style starts */\n  @font-face {\n    font-family: \"gothamrnd-light\";\n    src: url(\"fonts/gothamrnd-light-webfont.eot\");\n    src: url(\"fonts/gothamrnd-light-webfont.eot?#iefix\")\n        format(\"embedded-opentype\"),\n      url(\"fonts/gothamrnd-light-webfont.woff\") format(\"woff\"),\n      url(\"fonts/gothamrnd-light-webfont.ttf\") format(\"truetype\"),\n      url(\"fonts/gothamrnd-light-webfont.svg#gothamrnd-light\") format(\"svg\");\n    font-weight: normal;\n    font-style: normal;\n  }\n  @font-face {\n    font-family: \"gothamrnd-Mnd\";\n    src: url(\"fonts/gothamrnd-medium.eot\");\n    src: url(\"fonts/gothamrnd-medium.eot?#iefix\") format(\"embedded-opentype\"),\n      url(\"fonts/gothamrnd-medium.woff\") format(\"woff\"),\n      url(\"fonts/gothamrnd-medium.ttf\") format(\"truetype\"),\n      url(\"fonts/gothamrnd-medium.svg#gothamrnd-Mnd\") format(\"svg\");\n    font-weight: normal;\n    font-style: normal;\n  }\n  @font-face {\n    font-family: \"GothamBook\";\n    font-style: normal;\n    font-weight: normal;\n    src: url(\"fonts/Gotham-Book.eot\");\n    src: url(\"fonts/Gotham-Book.eot?#iefix\") format(\"embedded-opentype\"),\n      url(\"fonts/Gotham-Book.woff\") format(\"woff\"),\n      url(\"fonts/Gotham-Book.ttf\") format(\"truetype\"),\n      url(\"fonts/Gotham-Book.svg#Gotham-Book\") format(\"svg\");\n  }\n  img {\n    /* Responsive images (ensure images don't scale beyond their parents) */\n    max-width: 100%;\n    /* Part 1: Set a maxium relative to the parent */\n    width: auto\\9;\n    /* IE7-8 need help adjusting responsive images */\n    height: auto;\n    /* Part 2: Scale the height according to the width, otherwise you get stretching */\n    vertical-align: middle;\n    border: 0;\n    -ms-interpolation-mode: bicubic;\n  }\n  a,\n  a:hover {\n    text-decoration: none;\n  }\n  .cf:before,\n  .cf:after {\n    content: \"\";\n    display: block;\n    overflow: hidden;\n    visibility: hidden;\n    width: 0;\n    height: 0;\n  }\n  .cf:after {\n    clear: both;\n  }\n  .cf {\n    zoom: 1;\n  }\n  .progressbar {\n    background: #cc0000;\n    height: 3px;\n    width: 33%;\n    transition: all 0.5s ease-in;\n  }\n  .main-container {\n    width: 100%;\n    margin: auto;\n    overflow: hidden;\n  }\n  .left-container {\n    width: 500px;\n    height: 533px;\n    float: left;\n    background: url(/content/dam/virginmoney/credit-card-selector/banner.jpg)\n      no-repeat;\n    background-size: cover;\n  }\n  .right-container {\n    width: 680px;\n    height: 533px;\n    float: right;\n    background: #f2f3f4;\n    overflow: hidden;\n  }\n  .main-slider {\n    padding: 50px 35px;\n  }\n  .count {\n    opacity: 0.5;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 15px;\n    color: #403f41;\n    letter-spacing: 3px;\n  }\n  .title {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 36px;\n    color: #572358;\n    line-height: 38px;\n    margin: 10px 0px;\n  }\n  /* First */\n  .first-choose {\n    padding: 30px 0px;\n  }\n  .first-choose-count {\n    background: #cc0000;\n    border-radius: 5px;\n    width: 30%;\n    float: left;\n    margin: 0 2.1%;\n    padding: 30px 5px;\n    text-align: center;\n    cursor: pointer;\n    position: relative;\n  }\n  .first-choose-count.active {\n    background: #572358;\n    border-radius: 5px;\n  }\n  .first-choose-count.active .first-choose-count-tick {\n    display: block;\n  }\n  .first-choose-count-tick {\n    display: none;\n    position: absolute;\n    top: -10px;\n    right: -10px;\n  }\n  .first-choose-count:first-child {\n    margin-left: 0px;\n  }\n  .first-choose-count:last-child {\n    margin-right: 0px;\n  }\n  .first-choose-count p {\n    /* font-family: \"GothamBook\"; */\n    font-size: 20px;\n    color: #ffffff;\n    letter-spacing: 0;\n    text-align: center;\n    line-height: 25px;\n    padding: 20px 0px 0px;\n  }\n  /* First */\n  .page-counter {\n    margin: 15px 12px 0px 0;\n  }\n  .left-counter {\n    width: 50%;\n    float: left;\n  }\n  .right-counter {\n    width: 50%;\n    float: right;\n    text-align: right;\n  }\n  .button a {\n    border: 2px solid #cc0000;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 14px;\n    color: #cc0000;\n    text-align: center;\n    line-height: 16px;\n    width: 135px;\n    padding: 10px 0px;\n    display: inline-block;\n  }\n  .button a.next img {\n    padding-left: 5px;\n  }\n  .button a.previous img {\n    padding-right: 5px;\n  }\n  /* calculator-section */\n  .rate-text-left {\n    float: left;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 18px;\n    color: #403f41;\n    letter-spacing: 0;\n    line-height: 24px;\n  }\n  .calculator-rate-section {\n    margin: 10px 0px 30px;\n  }\n  .rate-text-right {\n    float: right;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 18px;\n    color: #403f41;\n    letter-spacing: 0;\n    line-height: 24px;\n  }\n  .Calrate-text {\n    margin: 15px 0px 50px;\n  }\n  .calculator-slider {\n    display: inline;\n  }\n  .calculator-slider p {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 14px;\n    color: #333333;\n    letter-spacing: 0;\n    text-align: center;\n    line-height: 18px;\n    padding: 50px 0px 0px;\n  }\n  .calculator-slider h1 {\n    /* font-family: \"gothamrnd-light\"; */\n    font-size: 42px;\n    color: #cc0000;\n    letter-spacing: 0;\n    line-height: 50px;\n    text-align: center;\n    padding: 5px 0px 15px;\n  }\n  .calculator-slider h1 span {\n    /* font-family: \"gothamrnd-light\"; */\n    font-size: 42px;\n    color: #cc0000;\n    letter-spacing: 0;\n    line-height: 50px;\n  }\n  .calculator-title {\n    width: 95%;\n    margin: auto;\n  }\n  /* calculator-section */\n  /* third */\n  .third-choose {\n    padding: 30px 0px;\n  }\n  .third-choose-count {\n    background: #cc0000;\n    border-radius: 5px;\n    width: 30%;\n    float: left;\n    margin: 0 2.1%;\n    padding: 30px 5px;\n    text-align: center;\n    cursor: pointer;\n    position: relative;\n  }\n  .third-choose-count.active {\n    background: #572358;\n    border-radius: 5px;\n  }\n  .third-choose-count.active .third-choose-count-tick {\n    display: block;\n  }\n  .third-choose-count-tick {\n    display: none;\n    position: absolute;\n    top: -10px;\n    right: -10px;\n  }\n  .third-choose-count:first-child {\n    margin-left: 0px;\n  }\n  .third-choose-count:last-child {\n    margin-right: 0px;\n  }\n  .third-choose-count p {\n    /* font-family: \"GothamBook\"; */\n    font-size: 20px;\n    color: #ffffff;\n    letter-spacing: 0;\n    text-align: center;\n    line-height: 25px;\n    padding: 20px 0px 0px;\n  }\n  /* third */\n  /* Cards Over view */\n  .card-list-types {\n    padding: 20px;\n    background: #f2f3f4;\n    display: none;\n    position: relative;\n  }\n  .left-title-section {\n    width: 100%;\n    float: left;\n  }\n  .right-title-section {\n    width: 40%;\n    float: right;\n    display: none;\n  }\n  .left-card-section {\n    width: 30%;\n    float: left;\n  }\n  .right-card-section {\n    width: 70%;\n    float: left;\n  }\n  .title-section {\n    padding: 0px 0px 10px;\n  }\n  .left-title-section h1 {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 30px;\n    color: #572358;\n    letter-spacing: 0;\n    line-height: 38px;\n  }\n  .right-title-section {\n    text-align: right;\n  }\n  .right-title-section p {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 13px;\n    color: #333333;\n    letter-spacing: 0;\n    text-transform: uppercase;\n  }\n  .right-title-section p span {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 24px;\n    color: #333333;\n    letter-spacing: 0;\n  }\n  .card-list-types h4 {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 16px;\n    color: #333333;\n    letter-spacing: 0;\n    line-height: 23px;\n    padding: 0px 0px 25px;\n  }\n  .left-card-section h2 {\n    opacity: 0.9;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 22px;\n    color: #572358;\n    letter-spacing: -0.5px;\n    line-height: 30px;\n    padding: 0px 0px 15px;\n  }\n  .right-card-section h3 {\n    opacity: 0.9;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 20px;\n    color: #403f41;\n    letter-spacing: 0;\n    padding: 0px 0px 15px;\n  }\n  .card-list-points ul li {\n    background: url(/content/dam/virginmoney/credit-card-selector/grayTick.png)\n      no-repeat;\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 16px;\n    color: #333333;\n    letter-spacing: 0;\n    line-height: 20px;\n    padding: 0px 0px 10px 30px;\n    /*height: 30px;*/\n    margin: 0px 0px 10px;\n  }\n  .card-footTxt p {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 14px;\n    color: #572358;\n    letter-spacing: 0;\n  }\n  .card-button {\n    margin: 15px 0px;\n  }\n  .card-button a {\n    border: 1px solid #cc0000;\n  }\n  .card-button a img {\n    padding-left: 5px;\n  }\n  .card-button a.dark {\n    background: #cc0000;\n    color: #ffffff;\n  }\n  .card-button a.light {\n    background: #ffffff;\n    color: #cc0000;\n  }\n  .PageReload {\n    text-align: right;\n    padding: 15px 15px 15px;\n    display: none;\n  }\n  .PageReload span {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 21px;\n    color: #572358;\n    line-height: 38px;\n    cursor: pointer;\n  }\n  .compare-cards {\n    border-bottom: 1px solid #d8d8d8;\n    padding: 30px 15px;\n    display: none;\n  }\n  .compare-cards a {\n    /* font-family: \"gothamrnd-Mnd\"; */\n    font-size: 14px;\n    color: #cc0000;\n    text-align: center;\n    line-height: 16px;\n    border: 1px solid #cc0000;\n    padding: 16px 35px;\n    display: inline-block;\n  }\n  /* Cards Over view */\n  /* UI Slider */\n  .slider {\n    margin: 30px 0px 10px;\n  }\n  .round-circle {\n    background-image: linear-gradient(\n      -158deg,\n      #cc0000 0%,\n      #c00409 10%,\n      #ca0101 18%,\n      #ca0101 28%,\n      #5a245a 100%\n    );\n    border: 2px solid #ffffff;\n    width: 18px;\n    height: 18px;\n    border-radius: 100%;\n    position: relative;\n    top: -4px;\n    cursor: pointer;\n  }\n  .ui-slider-range {\n    background-image: linear-gradient(\n      -90deg,\n      #cc0000 0%,\n      #ca0101 1%,\n      #ca0101 1%,\n      #c00409 8%,\n      #550e10 81%\n    );\n    border-radius: 5px;\n  }\n  .ui-state-default,\n  .ui-widget-content .ui-state-default,\n  .ui-widget-header .ui-state-default {\n    font-size: 10px;\n    border-radius: 100%;\n    text-align: center;\n    padding-top: 4px;\n    cursor: pointer;\n    outline: none;\n    text-decoration: none;\n  }\n  .ui-state-default,\n  .ui-widget-content .ui-state-default,\n  .ui-widget-header .ui-state-default:hover {\n    color: #333333;\n  }\n  .ui-slider {\n    position: relative;\n    text-align: left;\n  }\n  .ui-slider .ui-slider-handle {\n    position: absolute;\n    z-index: 9999;\n    width: 1.2em;\n    height: 1.2em;\n    cursor: default;\n  }\n  .ui-slider .ui-slider-range {\n    position: absolute;\n    z-index: 1;\n    font-size: 0.7em;\n    display: block;\n    border: 0;\n    background-position: 0 0;\n  }\n  /* For IE8 - See #6727 */\n  .ui-slider.ui-state-disabled .ui-slider-handle,\n  .ui-slider.ui-state-disabled .ui-slider-range {\n    filter: inherit;\n  }\n  .ui-slider-horizontal {\n    height: 0.5em;\n    background: #e6e3e3;\n    border-radius: 4px;\n  }\n  .ui-slider-horizontal .ui-slider-handle {\n    /* top: -1.1em; */\n    /* margin-left: 2.5em; */\n    /* transition: all .1s ease-in;\n\t*/\n    background-color: transparent;\n  }\n  .ui-slider-horizontal .ui-slider-range {\n    top: 0;\n    height: 100%;\n  }\n  .ui-slider-horizontal .ui-slider-range-min {\n    left: -1px;\n    /* transition: all .1s ease-in;\n\t*/\n  }\n  .ui-slider-horizontal .ui-slider-range-max {\n    right: 0;\n  }\n  .ui-slider-vertical {\n    width: 0.8em;\n    height: 100px;\n  }\n  .ui-slider-vertical .ui-slider-handle {\n    left: -0.3em;\n    margin-left: 0;\n    margin-bottom: -0.6em;\n  }\n  .ui-slider-vertical .ui-slider-range {\n    left: 0;\n    width: 100%;\n  }\n  .ui-slider-vertical .ui-slider-range-min {\n    bottom: 0;\n  }\n  .ui-slider-vertical .ui-slider-range-max {\n    top: 0;\n  }\n  /* UI Slider */\n  div.slick-slider {\n    width: 1px;\n    min-width: 100%;\n    *width: 100%;\n  }\n\n  .grayTxt {\n    color: #333333;\n    text-decoration: underline;\n  }\n  /*.right-card-section .card-list-points ul.vhfcard li:nth-of-type(1), .right-card-section .card-list-points ul.vhfcard li:nth-of-type(2) {\n    height: 50px;\n}\n.right-card-section .card-list-points ul.vfcard li:nth-of-type(1) {\n    height: 50px;\n}\n.right-card-section .card-list-points ul.vfcard li:nth-of-type(2) {\n    height: 35px;\n}*/\n\n  sup {\n    line-height: 1;\n  }\n\n  .faux-link,\n  a:focus,\n  a:hover {\n    color: #c00;\n  }\n  a {\n    color: #404042;\n  }\n  a:active {\n    color: #b50001;\n  }\n  .cm-global-tcs .header {\n    font-size: 20px;\n    line-height: 1.25;\n    margin-bottom: 12px;\n    color: #5a245a;\n    font-weight: 400;\n    font-family: aktiv-grotesk, -apple-system, BlinkMacSystemFont, Helvetica,\n      Arial, sans-serif;\n  }\n  .l-container::after,\n  .l-container::before,\n  .l-padding::after,\n  .l-padding::before {\n    content: \" \";\n    display: table;\n  }\n  .cm-global-tcs {\n    padding: 78px 40px;\n    background-color: #f2f3f4;\n  }\n  .tooltip-btn,\n  .tooltip-container {\n    display: inline-block;\n    margin-left: 5px;\n    margin-right: 5px;\n    position: relative;\n  }\n  .tooltip-btn {\n    height: 22px;\n    width: 22px;\n    overflow: hidden;\n    text-indent: -99999px;\n    background: 0 0;\n    border: none;\n    padding: 0;\n    vertical-align: top;\n    outline: 0;\n    -webkit-tap-highlight-color: rgba(64, 64, 66, 0);\n  }\n  .tooltip-btn::after,\n  .tooltip-btn::before {\n    transition: opacity 250ms;\n    content: \"\";\n    width: 30px;\n    height: 30px;\n    display: block;\n    background-position: 50% 50%;\n    position: absolute;\n    left: 50%;\n    margin-left: -15px;\n    top: 50%;\n    margin-top: -15px;\n  }\n  .tooltip-btn::before {\n    opacity: 1;\n  }\n  .tooltip-btn::before,\n  .svg-tooltip-grey {\n    background-image: url(data:image/svg+xml;charset=US-ASCII,<%2Fpath><%2Fsvg>);\n    background-repeat: no-repeat;\n    /* background-size: 30px 30px; */\n  }\n  .cm-global-tcs .header {\n    font-family: aktiv-grotesk, -apple-system, BlinkMacSystemFont, Helvetica,\n      Arial, sans-serif;\n  }\n  dl,\n  menu,\n  ol,\n  p,\n  pre,\n  ul {\n    margin: 14px 0;\n  }\n  .cm-global-tcs .cm-rich-text {\n    font-size: 11px;\n    margin-top: 10px;\n  }\n  .cm-rich-text a {\n    text-decoration: none;\n    border-bottom: 1px solid #c00;\n    color: #404042;\n  }\n  .cm-rich-text a:hover {\n    color: #c00;\n  }\n  .cm {\n    margin: 0 0 35px;\n  }\n  .accordion-list > li,\n  .cm-video .video-transcript {\n    border-bottom: 1px solid #ccc;\n  }\n  .accordion-list > li {\n    list-style: none;\n    margin-top: 0;\n  }\n  .accordion-list > li:first-child {\n    border-top: 1px solid #ccc;\n  }\n  .accordion-item {\n    position: relative;\n    display: block;\n    cursor: pointer;\n    color: #404042;\n    text-decoration: none;\n    font-size: 18px;\n    padding: 23px 40px 23px 10px;\n  }\n  .accordion-item:focus,\n  .accordion-item:hover {\n    text-decoration: underline;\n  }\n  .accordion-item .ec {\n    height: 40px;\n    width: 40px;\n    position: absolute;\n    top: 50%;\n    margin-top: -20px;\n    right: 0;\n  }\n  .accordion-item .ec::after {\n    content: \"\";\n    width: 40px;\n    height: 40px;\n    position: absolute;\n    left: 0;\n    top: 0;\n    background-size: cover;\n  }\n\n  .expandcollapse .ec::before,\n  .accordion-item .ec::after,\n  .cm-search-facets .ec::after,\n  .svg-caret-down-black {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M9.487%2012.642L4.923%208.103a.462.462%200%200%201%200-.564c.153-.128.41-.128.538%200l4.282%204.282%204.308-4.282a.372.372%200%200%201%20.64.282.538.538%200%200%201-.102.282l-4.564%204.564a.386.386%200%200%201-.282.103c-.077%200-.18-.052-.256-.128z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .ctrl-holder select,\n  .expandcollapse .ec::after,\n  .accordion-item .ec::after,\n  .accordion-item:hover .ec::after,\n  .accordion-item:focus .ec::after,\n  .cm-search-facets .ec::before,\n  .svg-caret-down-primary {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M9.487%2012.642L4.923%208.103a.462.462%200%200%201%200-.564c.153-.128.41-.128.538%200l4.282%204.282%204.308-4.282a.372.372%200%200%201%20.64.282.538.538%200%200%201-.102.282l-4.564%204.564a.386.386%200%200%201-.282.103c-.077%200-.18-.052-.256-.128z%22%20fill%3D%22%23cc0000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .breadcrumbs .back-to::before,\n  .slick-prev::before,\n  .svg-caret-left-black {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M7.18%209.667l4.538-4.564a.462.462%200%200%201%20.564%200c.128.153.128.41%200%20.538L8%209.923l4.282%204.308a.372.372%200%200%201-.282.64.538.538%200%200%201-.282-.102l-4.564-4.564a.386.386%200%200%201-.103-.282c0-.077.052-.18.128-.256z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .tooltip-btn::after,\n  .svg-tooltip-black {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%225%20-5%2030%2030%22%3E%3Cpath%20d%3D%22M19.9%200c-5.6.1-10%204.6-9.9%2010.1.1%205.5%204.6%209.9%2010.1%209.9%205.5-.1%209.9-4.6%209.9-10.1-.1-5.6-4.6-10-10.1-9.9zM21%203.3c1%200%201.3.6%201.3%201.3%200%20.8-.7%201.6-1.8%201.6-1%200-1.4-.5-1.4-1.3%200-.6.5-1.6%201.9-1.6zm-2.6%2012.9c-.7%200-1.2-.4-.7-2.3l.8-3.3c.1-.5.2-.7%200-.7s-1.1.4-1.6.7l-.3-.6c1.7-1.4%203.6-2.2%204.5-2.2.7%200%20.8.8.5%202.1l-.9%203.5c-.2.6-.1.8.1.8s.9-.3%201.6-.8l.4.5c-1.9%201.7-3.7%202.3-4.4%202.3z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 30px 30px;*/\n  }\n\n  .tooltip-btn::before,\n  .svg-tooltip-grey {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%225%20-5%2030%2030%22%3E%3Cpath%20d%3D%22M19.9%200c-5.6.1-10%204.6-9.9%2010.1.1%205.5%204.6%209.9%2010.1%209.9%205.5-.1%209.9-4.6%209.9-10.1-.1-5.6-4.6-10-10.1-9.9zM21%203.3c1%200%201.3.6%201.3%201.3%200%20.8-.7%201.6-1.8%201.6-1%200-1.4-.5-1.4-1.3%200-.6.5-1.6%201.9-1.6zm-2.6%2012.9c-.7%200-1.2-.4-.7-2.3l.8-3.3c.1-.5.2-.7%200-.7s-1.1.4-1.6.7l-.3-.6c1.7-1.4%203.6-2.2%204.5-2.2.7%200%20.8.8.5%202.1l-.9%203.5c-.2.6-.1.8.1.8s.9-.3%201.6-.8l.4.5c-1.9%201.7-3.7%202.3-4.4%202.3z%22%20fill%3D%22grey%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 30px 30px;*/\n  }\n\n  .svg-tooltip-white {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%225%20-5%2030%2030%22%3E%3Cpath%20d%3D%22M19.9%200c-5.6.1-10%204.6-9.9%2010.1.1%205.5%204.6%209.9%2010.1%209.9%205.5-.1%209.9-4.6%209.9-10.1-.1-5.6-4.6-10-10.1-9.9zM21%203.3c1%200%201.3.6%201.3%201.3%200%20.8-.7%201.6-1.8%201.6-1%200-1.4-.5-1.4-1.3%200-.6.5-1.6%201.9-1.6zm-2.6%2012.9c-.7%200-1.2-.4-.7-2.3l.8-3.3c.1-.5.2-.7%200-.7s-1.1.4-1.6.7l-.3-.6c1.7-1.4%203.6-2.2%204.5-2.2.7%200%20.8.8.5%202.1l-.9%203.5c-.2.6-.1.8.1.8s.9-.3%201.6-.8l.4.5c-1.9%201.7-3.7%202.3-4.4%202.3z%22%20fill%3D%22%23ffffff%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 30px 30px;*/\n  }\n\n  .pagination-prev .icon,\n  .svg-vma-arrow-left-greydark {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2044.6%2038.5%22%3E%3Cpath%20d%3D%22M0%2019.2c0%20.4.2.8.5%201.1l18.9%2017.8c.3.2.7.4%201.1.4s.8-.1%201.1-.4c.6-.6.6-1.5%200-2.1L5.3%2020.8h37.6c.9%200%201.6-.7%201.6-1.5s-.7-1.5-1.6-1.5H5.4L21.6%202.6c.3-.3.5-.7.5-1.1s-.2-.8-.5-1.1c-.6-.6-1.7-.6-2.3%200L.4%2018.2c-.3.3-.4.6-.4%201z%22%20fill%3D%22%2376787a%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 44.6px 38.5px;*/\n  }\n\n  .ctrl-holder select,\n  .expandcollapse .ec::after,\n  .accordion-item .ec::after,\n  .accordion-item:hover .ec::after,\n  .accordion-item:focus .ec::after,\n  .cm-search-facets .ec::before,\n  .svg-caret-down-primary {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M9.487%2012.642L4.923%208.103a.462.462%200%200%201%200-.564c.153-.128.41-.128.538%200l4.282%204.282%204.308-4.282a.372.372%200%200%201%20.64.282.538.538%200%200%201-.102.282l-4.564%204.564a.386.386%200%200%201-.282.103c-.077%200-.18-.052-.256-.128z%22%20fill%3D%22%23cc0000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .offscreen-panel .expandcollapse .ec::after,\n  .offscreen-panel .expandcollapse .ec::before,\n  .offscreen-panel .expandcollapse-logon .ec::after,\n  .offscreen-panel .expandcollapse-logon .ec::before,\n  .offscreen-panel .is-active .expandcollapse .ec::after,\n  .offscreen-panel .is-active .expandcollapse .ec::before,\n  .svg-caret-down-purple {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M9.487%2012.642L4.923%208.103a.462.462%200%200%201%200-.564c.153-.128.41-.128.538%200l4.282%204.282%204.308-4.282a.372.372%200%200%201%20.64.282.538.538%200%200%201-.102.282l-4.564%204.564a.386.386%200%200%201-.282.103c-.077%200-.18-.052-.256-.128z%22%20fill%3D%22%235a245a%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .svg-caret-down-red {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M9.487%2012.642L4.923%208.103a.462.462%200%200%201%200-.564c.153-.128.41-.128.538%200l4.282%204.282%204.308-4.282a.372.372%200%200%201%20.64.282.538.538%200%200%201-.102.282l-4.564%204.564a.386.386%200%200%201-.282.103c-.077%200-.18-.052-.256-.128z%22%20fill%3D%22%23cc0000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .offscreen-panel\n    .has-children:not(.is-active)\n    .nav-lvl1\n    + .expandcollapse\n    .ec::after,\n  .offscreen-panel\n    .has-children:not(.is-active)\n    .nav-lvl1\n    + .expandcollapse\n    .ec::before,\n  .offscreen-panel\n    .has-children:not(.is-active)\n    .nav-lvl1.expandcollapse-logon\n    .ec::after,\n  .offscreen-panel\n    .has-children:not(.is-active)\n    .nav-lvl1.expandcollapse-logon\n    .ec::before,\n  .nav-onscreen .logon-menu .expandcollapse .ec::after,\n  .nav-onscreen .logon-menu .expandcollapse .ec::before,\n  .svg-caret-down-white {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M9.487%2012.642L4.923%208.103a.462.462%200%200%201%200-.564c.153-.128.41-.128.538%200l4.282%204.282%204.308-4.282a.372.372%200%200%201%20.64.282.538.538%200%200%201-.102.282l-4.564%204.564a.386.386%200%200%201-.282.103c-.077%200-.18-.052-.256-.128z%22%20fill%3D%22%23ffffff%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .breadcrumbs li::before,\n  .link-caret .link-icon::before,\n  .slick-next::before,\n  .svg-caret-right-black {\n    background-image: url(\"data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M12.462%209.667L7.923%205.103a.462.462%200%200%200-.564%200c-.128.153-.128.41%200%20.538l4.282%204.282-4.282%204.308a.372.372%200%200%200%20.282.64.538.538%200%200%200%20.282-.102l4.564-4.564a.386.386%200%200%200%20.103-.282c0-.077-.052-.18-.128-.256z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\");\n    background-repeat: no-repeat;\n    /*background-size: 20px 20px;*/\n  }\n\n  .accordion-item .ec {\n    transform: rotate(0deg);\n  }\n  .accordion-item .ec.active {\n    transform: rotate(180deg);\n  }\n  .expandcollapse-content.is-disabled,\n  .expandcollapse-content.is-expanded {\n    display: block;\n  }\n  .cm-global-tcs .expandcollapse-content {\n    font-size: 11px;\n  }\n  .accordion-list .expandcollapse-content {\n    padding-bottom: 23px;\n  }\n  .expandcollapse-content {\n    overflow: hidden;\n    display: none;\n    outline: 0;\n    padding: 40px 20px 25px;\n  }\n  .accordion-item.active {\n    color: #c00;\n  }\n  .accordion-list ol {\n    margin-left: 35px;\n  }\n  .nav-toggle,\n  .ranges li,\n  .slick-list.dragging,\n  .tooltip-btn {\n    cursor: pointer;\n  }\n  .tooltip-btn::before {\n    opacity: 1;\n  }\n  .tooltip-btn::after,\n  .tooltip-btn::before {\n    transition: opacity 250ms;\n    content: \"\";\n    width: 30px;\n    height: 30px;\n    display: block;\n    background-position: 50% 50%;\n    position: absolute;\n    left: 50%;\n    margin-left: -15px;\n    top: 50%;\n    margin-top: -15px;\n  }\n  .accordion-item .ec {\n    height: 40px;\n    width: 40px;\n    position: absolute;\n    top: 50%;\n    margin-top: -20px;\n    right: 0;\n  }\n\n  /* #global-tcs > ol > li {\n\tdisplay: none;\n}\n\n#global-tcs > ol > li.show {\n    display: block;\n} */\n\n  #global-tcs > ol > li > p > a {\n    text-decoration: underline;\n    color: #404042;\n  }\n\n  #global-tcs > ol > li > p > a:hover {\n    color: #c00;\n  }\n  @media (max-width: 1250px) {\n    .main-container {\n      width: 100%;\n      margin: 0px auto 0px;\n    }\n\n    .left-container {\n      width: 35%;\n    }\n\n    .right-container {\n      width: 65%;\n    }\n\n    .right-card-section {\n      padding-left: 35px;\n    }\n  }\n\n  @media (max-width: 1024px) {\n    .first-choose-count p {\n      font-size: 16px;\n      line-height: 18px;\n    }\n\n    .third-choose-count p {\n      font-size: 16px;\n      line-height: 18px;\n    }\n  }\n\n  @media (max-width: 940px) {\n    .left-container {\n      width: 100%;\n      height: 350px;\n      background: url(/content/dam/virginmoney/credit-card-selector/mobBanner.jpg);\n    }\n\n    .right-container {\n      width: 100%;\n      height: auto;\n    }\n\n    .main-slider {\n      padding: 30px 15px;\n    }\n\n    .left-card-section {\n      width: 100%;\n    }\n\n    .right-card-section {\n      margin: 20px 0px;\n      width: 100%;\n      padding-left: 0px;\n    }\n  }\n\n  @media (max-width: 767px) {\n    .left-title-section {\n      width: 100%;\n    }\n    .right-title-section {\n      text-align: left;\n      width: 100%;\n    }\n  }\n\n  @media (max-width: 568px) {\n    .first-choose-count p {\n      font-size: 13px;\n      line-height: 16px;\n    }\n\n    .third-choose-count p {\n      font-size: 13px;\n      line-height: 16px;\n    }\n    .ui-slider-horizontal .ui-slider-handle {\n      margin-left: -9px;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .first-choose-count,\n    .third-choose-count {\n      width: 80%;\n      float: none;\n      margin: 10px auto;\n    }\n\n    .first-choose-count p,\n    .third-choose-count p {\n      font-size: 18px;\n      line-height: 20px;\n    }\n\n    .first-choose-count:first-child,\n    .third-choose-count:first-child {\n      margin-left: auto;\n    }\n\n    .first-choose-count:last-child,\n    .third-choose-count:last-child {\n      margin-right: auto;\n    }\n\n    .card-button a {\n      margin: 10px 0px;\n      display: block;\n      width: auto;\n    }\n\n    .left-title-section h1 {\n      font-size: 21px;\n    }\n    .left-counter,\n    .right-counter {\n      width: 100%;\n      float: none;\n      margin: 10px 0;\n    }\n    .button a,\n    body .cta.is-secondary,\n    body .cta {\n      width: 100%;\n    }\n    .right-container {\n      padding: 50px 35px 10px;\n    }\n  }\n  @media (min-width: 1200px) {\n    .main-container {\n      width: 1180px;\n    }\n  }\n\n  /* Slider */\n  .slick-slider {\n    position: relative;\n\n    display: block;\n    box-sizing: border-box;\n\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n\n    -webkit-touch-callout: none;\n    -khtml-user-select: none;\n    -ms-touch-action: pan-y;\n    touch-action: pan-y;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .slick-list {\n    position: relative;\n\n    display: block;\n    overflow: hidden;\n\n    margin: 0;\n    padding: 0;\n  }\n  .slick-list:focus {\n    outline: none;\n  }\n  .slick-list.dragging {\n    cursor: pointer;\n    cursor: hand;\n  }\n\n  .slick-slider .slick-track,\n  .slick-slider .slick-list {\n    -webkit-transform: translate3d(0, 0, 0);\n    -moz-transform: translate3d(0, 0, 0);\n    -ms-transform: translate3d(0, 0, 0);\n    -o-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n\n  .slick-track {\n    position: relative;\n    top: 0;\n    left: 0;\n\n    display: block;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .slick-track:before,\n  .slick-track:after {\n    display: table;\n\n    content: \"\";\n  }\n  .slick-track:after {\n    clear: both;\n  }\n  .slick-loading .slick-track {\n    visibility: hidden;\n  }\n\n  .slick-slide {\n    display: none;\n    float: left;\n\n    height: 100%;\n    min-height: 1px;\n  }\n  [dir=\"rtl\"] .slick-slide {\n    float: right;\n  }\n  .slick-slide img {\n    margin: 0 auto;\n  }\n  .slick-slide.slick-loading img {\n    display: none;\n  }\n  .slick-slide.dragging img {\n    pointer-events: none;\n  }\n  .slick-initialized .slick-slide {\n    display: block;\n  }\n  .slick-loading .slick-slide {\n    visibility: hidden;\n  }\n  .slick-vertical .slick-slide {\n    display: block;\n\n    height: auto;\n\n    border: 1px solid transparent;\n  }\n  .slick-arrow.slick-hidden {\n    display: none;\n  }\n\n  @charset 'UTF-8';\n\n  /* Arrows */\n  .slick-prev,\n  .slick-next {\n    font-size: 0;\n    line-height: 0;\n\n    position: absolute;\n    bottom: -50px;\n\n    display: block;\n\n    width: 20px;\n    height: 20px;\n    padding: 0;\n    -webkit-transform: translate(0, -50%);\n    -ms-transform: translate(0, -50%);\n    transform: translate(0, -50%);\n\n    cursor: pointer;\n\n    color: transparent;\n    border: none;\n    outline: none;\n  }\n  .slick-prev:hover,\n  .slick-prev:focus,\n  .slick-next:hover,\n  .slick-next:focus {\n    color: transparent;\n    outline: none;\n  }\n  .slick-prev:hover:before,\n  .slick-prev:focus:before,\n  .slick-next:hover:before,\n  .slick-next:focus:before {\n    opacity: 1;\n  }\n  .slick-prev.slick-disabled:before,\n  .slick-next.slick-disabled:before {\n    opacity: 0.25;\n  }\n\n  .slick-prev:before,\n  .slick-next:before {\n    font-family: \"slick\";\n    font-size: 20px;\n    line-height: 1;\n\n    opacity: 0.75;\n    color: white;\n\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n\n  .slick-prev {\n    left: 50%;\n    margin-left: -20px;\n  }\n  [dir=\"rtl\"] .slick-prev {\n    right: -25px;\n    left: auto;\n  }\n  .slick-prev:before {\n    content: \"←\";\n  }\n  [dir=\"rtl\"] .slick-prev:before {\n    content: \"→\";\n  }\n\n  .slick-next {\n    left: 50%;\n  }\n  [dir=\"rtl\"] .slick-next {\n    right: auto;\n    left: -25px;\n  }\n  .slick-next:before {\n    content: \"→\";\n  }\n  [dir=\"rtl\"] .slick-next:before {\n    content: \"←\";\n  }\n\n  /* Dots */\n  .slick-dotted.slick-slider {\n  }\n\n  .slick-dots {\n    visibility: hidden;\n    position: absolute;\n    bottom: -25px;\n\n    display: block;\n\n    width: 100%;\n    padding: 0;\n    margin: 0;\n\n    list-style: none;\n\n    text-align: center;\n  }\n  .slick-dots li {\n    position: relative;\n\n    display: inline-block;\n\n    width: 20px;\n    height: 20px;\n    margin: 0 5px;\n    padding: 0;\n\n    cursor: pointer;\n  }\n  .slick-dots li button {\n    font-size: 0;\n    line-height: 0;\n\n    display: block;\n\n    width: 20px;\n    height: 20px;\n    padding: 5px;\n\n    cursor: pointer;\n\n    color: transparent;\n    border: 0;\n    outline: none;\n    background: transparent;\n  }\n  .slick-dots li button:hover,\n  .slick-dots li button:focus {\n    outline: none;\n  }\n  .slick-dots li button:hover:before,\n  .slick-dots li button:focus:before {\n    opacity: 1;\n  }\n  .slick-dots li button:before {\n    font-family: \"slick\";\n    font-size: 45px;\n    line-height: 20px;\n\n    position: absolute;\n    top: 0;\n    left: 0;\n\n    width: 20px;\n    height: 20px;\n\n    content: \"•\";\n    text-align: center;\n\n    opacity: 0.25;\n    color: #ffffff;\n\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  .slick-dots li.slick-active button:before {\n    opacity: 1;\n    color: #ffffff;\n  }"},{"tag":"div","attributes":{"class":"main-container"},"children":[{"tag":"div","attributes":{"class":"inner-container cf"},"children":[{"tag":"div","attributes":{"class":"left-container"},"children":[]},{"tag":"div","attributes":{"class":"right-container"},"children":[{"tag":"div","attributes":{"class":"progressbar"},"children":[]},{"tag":"div","attributes":{"class":"main-slider"},"children":[{"tag":"div","attributes":{"class":"slider-counter"},"children":[{"tag":"div","attributes":{"class":"count"},"children":[{"text":"1/3"}]},{"tag":"div","attributes":{"class":"title"},"children":[{"tag":"b","attributes":{},"children":[{"text":"How do you expect to pay each month?"}]}]},{"tag":"input","attributes":{"type":"hidden","name":"first-choose-textbox","class":"first-choose-textbox"},"children":[]},{"tag":"div","attributes":{"class":"first-choose cf"},"children":[{"tag":"div","attributes":{"class":"first-choose-count"},"children":[{"tag":"div","attributes":{"class":"first-choose-count-tick"},"children":[{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/firstTick.png"},"children":[]}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/icon-01.png","alt":"Minimum repayments only","title":"Minimum repayments only"},"children":[]},{"tag":"p","attributes":{},"children":[{"text":"Minimum"},{"tag":"br","attributes":{},"children":[]},{"text":"repayments only"}]}]},{"tag":"div","attributes":{"class":"first-choose-count"},"children":[{"tag":"div","attributes":{"class":"first-choose-count-tick"},"children":[{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/firstTick.png"},"children":[]}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/icon-02.png","alt":"Depends on the month","title":"Depends on the month"},"children":[]},{"tag":"p","attributes":{},"children":[{"text":"Depends on"},{"tag":"br","attributes":{},"children":[]},{"text":"the month"}]}]},{"tag":"div","attributes":{"class":"first-choose-count"},"children":[{"tag":"div","attributes":{"class":"first-choose-count-tick"},"children":[{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/firstTick.png"},"children":[]}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/icon-03.png","alt":"Full balance each month","title":"Full balance each month"},"children":[]},{"tag":"p","attributes":{},"children":[{"text":"Full balance"},{"tag":"br","attributes":{},"children":[]},{"text":"each month"}]}]}]},{"tag":"div","attributes":{"class":"page-counter cf"},"children":[{"tag":"div","attributes":{"class":"right-counter"},"children":[{"tag":"div","attributes":{"class":"button"},"children":[{"tag":"a","attributes":{"onclick":"stepOne()","href":"javascript:;","title":"NEXT","class":"next cta is-secondary"},"children":[{"text":"Next"}]}]}]}]}]},{"tag":"div","attributes":{"class":"slider-counter"},"children":[{"tag":"div","attributes":{"class":"count"},"children":[{"text":"2/3"}]},{"tag":"div","attributes":{"class":"title"},"children":[{"tag":"b","attributes":{},"children":[{"text":"What is your annual income?"}]}]},{"tag":"div","attributes":{"class":"calculator-slider"},"children":[{"tag":"p","attributes":{},"children":[{"text":"Income per year"}]},{"tag":"h1","attributes":{},"children":[{"text":"$"},{"tag":"span","attributes":{"class":"amount"},"children":[{"text":"75"}]},{"text":"K"}]},{"tag":"input","attributes":{"type":"hidden","class":"incomeAmount","value":"75"},"children":[]},{"tag":"div","attributes":{"class":"calculator-title"},"children":[{"tag":"div","attributes":{"class":"slider","id":"income"},"children":[{"tag":"a","attributes":{"class":"ui-slider-handle ui-state-default ui-corner-all","href":"#"},"children":[{"tag":"div","attributes":{"class":"round-circle"},"children":[]}]}]},{"tag":"div","attributes":{"class":"Calrate-text cf"},"children":[{"tag":"span","attributes":{"class":"rate-text-left"},"children":[{"text":"$25K"}]},{"tag":"span","attributes":{"class":"rate-text-right"},"children":[{"text":"$150K+"}]}]}]}]},{"tag":"div","attributes":{"class":"page-counter cf"},"children":[{"tag":"div","attributes":{"class":"left-counter"},"children":[{"tag":"div","attributes":{"class":"button"},"children":[{"tag":"a","attributes":{"onclick":"prestepOne()","href":"javascript:;","title":"PREVIOUS","class":"previous cta is-secondary is-small"},"children":[{"text":"Previous"}]}]}]},{"tag":"div","attributes":{"class":"right-counter"},"children":[{"tag":"div","attributes":{"class":"button"},"children":[{"tag":"a","attributes":{"onclick":"stepTwo()","href":"javascript:;","title":"NEXT","class":"next cta is-secondary"},"children":[{"text":"Next"}]}]}]}]}]},{"tag":"div","attributes":{"class":"slider-counter"},"children":[{"tag":"div","attributes":{"class":"count"},"children":[{"text":"3/3"}]},{"tag":"div","attributes":{"class":"title"},"children":[{"tag":"b","attributes":{},"children":[{"text":"What feature best suits your needs?"}]}]},{"tag":"input","attributes":{"type":"hidden","name":"third-choose-textbox","class":"third-choose-textbox"},"children":[]},{"tag":"div","attributes":{"class":"third-choose cf"},"children":[{"tag":"div","attributes":{"class":"third-choose-count"},"children":[{"tag":"div","attributes":{"class":"third-choose-count-tick"},"children":[{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/firstTick.png"},"children":[]}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/icon-04.png","alt":"Low rate","title":"Low rate"},"children":[]},{"tag":"p","attributes":{},"children":[{"text":"Low rate"}]}]},{"tag":"div","attributes":{"class":"third-choose-count"},"children":[{"tag":"div","attributes":{"class":"third-choose-count-tick"},"children":[{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/firstTick.png"},"children":[]}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/icon-01.png","alt":"No annual fee","title":"No annual fee"},"children":[]},{"tag":"p","attributes":{},"children":[{"text":"No annual fee"}]}]},{"tag":"div","attributes":{"class":"third-choose-count"},"children":[{"tag":"div","attributes":{"class":"third-choose-count-tick"},"children":[{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/firstTick.png"},"children":[]}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/icon-05.png","alt":"Rewards","title":"Rewards"},"children":[]},{"tag":"p","attributes":{},"children":[{"text":"Rewards"}]}]}]},{"tag":"div","attributes":{"class":"page-counter cf"},"children":[{"tag":"div","attributes":{"class":"left-counter"},"children":[{"tag":"div","attributes":{"class":"button"},"children":[{"tag":"a","attributes":{"onclick":"prestepTwo()","href":"javascript:;","title":"PREVIOUS","class":"previous cta is-secondary is-small"},"children":[{"text":"Previous"}]}]}]},{"tag":"div","attributes":{"class":"right-counter"},"children":[{"tag":"div","attributes":{"class":"button"},"children":[{"tag":"a","attributes":{"onclick":"stepThree()","href":"javascript:;","title":"NEXT","class":"next cta is-secondary"},"children":[{"text":"Next"}]}]}]}]}]}]}]}]},{"tag":"div","attributes":{"class":"card-over-view"},"children":[{"tag":"div","attributes":{"class":"PageReload"},"children":[{"tag":"span","attributes":{},"children":[{"text":"Search again"},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/searchagain.png"},"children":[]}]}]},{"tag":"div","attributes":{"class":"card-list-types Flyer-Card"},"children":[{"tag":"div","attributes":{"class":"title-section cf"},"children":[{"tag":"div","attributes":{"class":"left-title-section"},"children":[{"tag":"h1","attributes":{},"children":[{"tag":"b","attributes":{},"children":[{"text":"Best match:"}]}]}]},{"tag":"div","attributes":{"class":"right-title-section"},"children":[{"tag":"p","attributes":{},"children":[{"text":"Annual fee"},{"tag":"span","attributes":{},"children":[{"text":"$129"}]}]}]}]},{"tag":"h4","attributes":{},"children":[{"text":"Turn your eligible"},{"tag":"sup","attributes":{},"children":[{"text":"10"}]},{"text":"everyday spend into Velocity Points to help you get travelling sooner."}]},{"tag":"div","attributes":{"class":"card-section cf"},"children":[{"tag":"div","attributes":{"class":"left-card-section"},"children":[{"tag":"h2","attributes":{},"children":[{"text":"Velocity Flyer Card"}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/flyer-front-reflection.png","title":"Velocity Flyer Card"},"children":[]}]},{"tag":"div","attributes":{"class":"right-card-section"},"children":[{"tag":"h3","attributes":{},"children":[{"text":"Perks:"}]},{"tag":"div","attributes":{"class":"card-list-points"},"children":[{"tag":"ul","attributes":{"class":"vfcard"},"children":[{"tag":"li","attributes":{},"children":[{"text":"Earn Velocity Points on your eligible"},{"tag":"sup","attributes":{},"children":[{"text":"10"}]},{"text":"everyday spend"}]},{"tag":"li","attributes":{},"children":[{"text":"$129 Virgin Australia Gift Voucher, yearly"},{"tag":"sup","attributes":{},"children":[{"text":"17"}]}]},{"tag":"li","attributes":{},"children":[{"text":"Save on interest if you take up a Balance Transfer"}]}]}]},{"tag":"div","attributes":{"class":"card-button"},"children":[{"tag":"a","attributes":{"href":"https://application.virginmoney.com.au/virginmoney-form/credit-card/apply-now?productId=f","class":"dark cta js_param-passthrough js_passthrough-universal","title":"APPLY NOW","target":"_blank"},"children":[{"text":"Apply now"}]},{"tag":"a","attributes":{"href":"https://virginmoney.com.au/credit-card/compare-our-credit-cards/flyer-credit-card","class":"light cta is-secondary js_param-passthrough js_passthrough-universal","title":"MORE INFO","target":"_blank"},"children":[{"text":"More info"}]}]},{"tag":"div","attributes":{"class":"card-footTxt"},"children":[{"tag":"p","attributes":{},"children":[{"text":"For existing customers, contact us on 13 37 39 if you would like to change your current credit card product (subject to approval). Please note any offers are for new Virgin Money Credit Card customers only and cannot be used in conjunction with any other promotions or offers."}]}]}]}]}]},{"tag":"div","attributes":{"class":"card-list-types Hight-Flyer-Card"},"children":[{"tag":"div","attributes":{"class":"title-section cf"},"children":[{"tag":"div","attributes":{"class":"left-title-section"},"children":[{"tag":"h1","attributes":{},"children":[{"tag":"b","attributes":{},"children":[{"text":"Best match:"}]}]}]},{"tag":"div","attributes":{"class":"right-title-section"},"children":[{"tag":"p","attributes":{},"children":[{"text":"Annual fee"},{"tag":"span","attributes":{},"children":[{"text":"$129"}]}]}]}]},{"tag":"h4","attributes":{},"children":[{"text":"Enjoy supercharged bonus Velocity Points and exclusive flight benefits."}]},{"tag":"div","attributes":{"class":"card-section cf"},"children":[{"tag":"div","attributes":{"class":"left-card-section"},"children":[{"tag":"h2","attributes":{},"children":[{"text":"Velocity High Flyer Card"}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/high-flyer-front-reflection.png","title":"Velocity High Flyer Card"},"children":[]}]},{"tag":"div","attributes":{"class":"right-card-section"},"children":[{"tag":"h3","attributes":{},"children":[{"text":"Perks:"}]},{"tag":"div","attributes":{"class":"card-list-points"},"children":[{"tag":"ul","attributes":{"class":"vhfcard"},"children":[{"tag":"li","attributes":{},"children":[{"text":"Earn Velocity Points on your eligible"},{"tag":"sup","attributes":{},"children":[{"text":"10"}]},{"text":"everyday spend"}]},{"tag":"li","attributes":{},"children":[{"text":"$129 Virgin Australia Gift Voucher, yearly"},{"tag":"sup","attributes":{},"children":[{"text":"17"}]}]},{"tag":"li","attributes":{},"children":[{"text":"Earn up to 100 Bonus Status Credits"},{"tag":"sup","attributes":{},"children":[{"text":"5"}]}]}]}]},{"tag":"div","attributes":{"class":"card-button"},"children":[{"tag":"a","attributes":{"href":"https://application.virginmoney.com.au/virginmoney-form/credit-card/apply-now?productId=hf","class":"dark cta js_param-passthrough js_passthrough-universal","title":"APPLY NOW","target":"_blank"},"children":[{"text":"Apply now"}]},{"tag":"a","attributes":{"href":"https://virginmoney.com.au/credit-card/compare-our-credit-cards/high-flyer-credit-card","class":"light cta is-secondary js_param-passthrough js_passthrough-universal","title":"MORE INFO","target":"_blank"},"children":[{"text":"More info"}]}]},{"tag":"div","attributes":{"class":"card-footTxt"},"children":[{"tag":"p","attributes":{},"children":[{"text":"For existing customers, contact us on 13 37 39 if you would like to change your current credit card product (subject to approval). Please note any offers are for new Virgin Money Credit Card customers only and cannot be used in conjunction with any other promotions or offers."}]}]}]}]}]},{"tag":"div","attributes":{"class":"card-list-types No-Annual"},"children":[{"tag":"div","attributes":{"class":"title-section cf"},"children":[{"tag":"div","attributes":{"class":"left-title-section"},"children":[{"tag":"h1","attributes":{},"children":[{"tag":"b","attributes":{},"children":[{"text":"Best match:"}]}]}]},{"tag":"div","attributes":{"class":"right-title-section"},"children":[{"tag":"p","attributes":{},"children":[{"text":"Annual fee"},{"tag":"span","attributes":{},"children":[{"text":"$129"}]}]}]}]},{"tag":"h4","attributes":{},"children":[{"text":"Enjoy all the advantages of having a credit card, without having to pay\n        an annual fee."}]},{"tag":"div","attributes":{"class":"card-section cf"},"children":[{"tag":"div","attributes":{"class":"left-card-section"},"children":[{"tag":"h2","attributes":{},"children":[{"text":"No Annual Fee Card"}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/no-annual-fee-front-reflection.png","title":"No Annual Fee Card"},"children":[]}]},{"tag":"div","attributes":{"class":"right-card-section"},"children":[{"tag":"h3","attributes":{},"children":[{"text":"Perks:"}]},{"tag":"div","attributes":{"class":"card-list-points"},"children":[{"tag":"ul","attributes":{},"children":[{"tag":"li","attributes":{},"children":[{"text":"Purchase rate of 19.99% p.a."}]},{"tag":"li","attributes":{},"children":[{"text":"Minimum credit limit of $2,000"}]}]}]},{"tag":"div","attributes":{"class":"card-button"},"children":[{"tag":"a","attributes":{"href":"https://application.virginmoney.com.au/virginmoney-form/credit-card/apply-now?productId=naf","class":"dark cta js_param-passthrough js_passthrough-universal","title":"APPLY NOW","target":"_blank"},"children":[{"text":"Apply now"}]},{"tag":"a","attributes":{"href":"https://virginmoney.com.au/credit-card/compare-our-credit-cards/no-annual-fee-credit-card","class":"light cta is-secondary js_param-passthrough js_passthrough-universal","title":"MORE INFO","target":"_blank"},"children":[{"text":"More info"}]}]},{"tag":"div","attributes":{"class":"card-footTxt"},"children":[{"tag":"p","attributes":{},"children":[{"text":"For existing customers, contact us on 13 37 39 if you would like to change your current credit card product (subject to approval). Please note any offers are for new Virgin Money Credit Card customers only and cannot be used in conjunction with any other promotions or offers."}]}]}]}]}]},{"tag":"div","attributes":{"class":"card-list-types Low-Rate"},"children":[{"tag":"div","attributes":{"class":"title-section cf"},"children":[{"tag":"div","attributes":{"class":"left-title-section"},"children":[{"tag":"h1","attributes":{},"children":[{"tag":"b","attributes":{},"children":[{"text":"Best match:"}]}]}]},{"tag":"div","attributes":{"class":"right-title-section"},"children":[{"tag":"p","attributes":{},"children":[{"text":"Annual fee"},{"tag":"span","attributes":{},"children":[{"text":"$129"}]}]}]}]},{"tag":"h4","attributes":{},"children":[{"text":"Enjoy a low variable purchase rate of 12.99% p.a."}]},{"tag":"div","attributes":{"class":"card-section cf"},"children":[{"tag":"div","attributes":{"class":"left-card-section"},"children":[{"tag":"h2","attributes":{},"children":[{"text":"Low Rate Card"}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/low-rate-front-reflection.png","title":"Low Rate Card"},"children":[]}]},{"tag":"div","attributes":{"class":"right-card-section"},"children":[{"tag":"h3","attributes":{},"children":[{"text":"Perks:"}]},{"tag":"div","attributes":{"class":"card-list-points"},"children":[{"tag":"ul","attributes":{},"children":[{"tag":"li","attributes":{},"children":[{"text":"Low variable purchase rate of 12.99% p.a."}]},{"tag":"li","attributes":{},"children":[{"text":"$99 annual fee"}]},{"tag":"li","attributes":{},"children":[{"text":"Minimum credit limit of $2,000"}]}]}]},{"tag":"div","attributes":{"class":"card-button"},"children":[{"tag":"a","attributes":{"href":"https://application.virginmoney.com.au/virginmoney-form/credit-card/apply-now?productId=lr","class":"dark cta js_param-passthrough js_passthrough-universal","title":"APPLY NOW","target":"_blank"},"children":[{"text":"Apply now"}]},{"tag":"a","attributes":{"href":"https://virginmoney.com.au/credit-card/compare-our-credit-cards/low-rate-credit-card","class":"light cta is-secondary js_param-passthrough js_passthrough-universal","title":"MORE INFO","target":"_blank"},"children":[{"text":"More info"}]}]},{"tag":"div","attributes":{"class":"card-footTxt"},"children":[{"tag":"p","attributes":{},"children":[{"text":"For existing customers, contact us on 13 37 39 if you would like to change your current credit card product (subject to approval). Please note any offers are for new Virgin Money Credit Card customers only and cannot be used in conjunction with any other promotions or offers."}]}]}]}]}]},{"tag":"div","attributes":{"class":"card-list-types Anytime-card"},"children":[{"tag":"div","attributes":{"class":"title-section cf"},"children":[{"tag":"div","attributes":{"class":"left-title-section"},"children":[{"tag":"h1","attributes":{},"children":[{"tag":"b","attributes":{},"children":[{"text":"Also consider:"}]}]}]}]},{"tag":"h4","attributes":{},"children":[{"text":"Enjoy rewards, perks, points and more with our Virgin Money Points earning credit card."}]},{"tag":"div","attributes":{"class":"card-section cf"},"children":[{"tag":"div","attributes":{"class":"left-card-section"},"children":[{"tag":"h2","attributes":{},"children":[{"text":"Anytime Rewards Card"}]},{"tag":"img","attributes":{"src":"/content/dam/virginmoney/credit-card-selector/anytime-rewards-front-reflection.png","title":"Anytime Rewards Card"},"children":[]}]},{"tag":"div","attributes":{"class":"right-card-section"},"children":[{"tag":"h3","attributes":{},"children":[{"text":"Perks:"}]},{"tag":"div","attributes":{"class":"card-list-points"},"children":[{"tag":"ul","attributes":{},"children":[{"tag":"li","attributes":{},"children":[{"text":"Earn Virgin Money Points on your everyday spend (uncapped)"},{"tag":"sup","attributes":{},"children":[{"text":"29"}]}]},{"tag":"li","attributes":{},"children":[{"text":"Redeem points for rewards via the Virgin Money App"}]},{"tag":"li","attributes":{},"children":[{"text":"Save on interest if you take up a Balance Transfer"}]}]}]},{"tag":"div","attributes":{"class":"card-button"},"children":[{"tag":"a","attributes":{"href":"https://application.virginmoney.com.au/virginmoney-form/credit-card/apply-now?productId=ar","class":"dark cta js_param-passthrough js_passthrough-universal","title":"APPLY NOW","target":"_blank"},"children":[{"text":"Apply now"}]},{"tag":"a","attributes":{"href":"https://virginmoney.com.au/credit-card/compare-our-credit-cards/anytime-credit-card","class":"light cta is-secondary js_param-passthrough js_passthrough-universal","title":"MORE INFO","target":"_blank"},"children":[{"text":"More info"}]}]},{"tag":"div","attributes":{"class":"card-footTxt"},"children":[{"tag":"p","attributes":{},"children":[{"text":"For existing customers, contact us on 13 37 39 if you would like to change your current credit card product (subject to approval). Please note any offers are for new Virgin Money Credit Card customers only and cannot be used in conjunction with any other promotions or offers."}]}]}]}]}]},{"tag":"div","attributes":{"class":"compare-cards"},"children":[{"tag":"a","attributes":{"class":"light cta is-secondary js_param-passthrough js_passthrough-universal","href":"https://virginmoney.com.au/credit-card/compare-our-credit-cards","title":"COMPARE ALL CARDS","target":"_blank"},"children":[{"text":"Compare all cards"}]}]}]}]},{"tag":"script","attributes":{},"children":[],"content":"/*\n     _ _      _       _\n ___| (_) ___| | __  (_)___\n/ __| | |/ __| |/ /  | / __|\n\\__ \\ | | (__|   < _ | \\__ \\\n|___/_|_|\\___|_|\\_(_)/ |___/\n                   |__/\n\n Version: 1.9.0\n  Author: Ken Wheeler\n Website: http://kenwheeler.github.io\n    Docs: http://kenwheeler.github.io/slick\n    Repo: http://github.com/kenwheeler/slick\n  Issues: http://github.com/kenwheeler/slick/issues\n\n */\n  /* global window, document, define, jQuery, setInterval, clearInterval */\n  (function(factory) {\n    \"use strict\";\n    if (typeof define === \"function\" && define.amd) {\n      define([\"jquery\"], factory);\n    } else if (typeof exports !== \"undefined\") {\n      module.exports = factory(require(\"jquery\"));\n    } else {\n      factory(jQuery);\n    }\n  })(function($) {\n    \"use strict\";\n    var Slick = window.Slick || {};\n\n    Slick = (function() {\n      var instanceUid = 0;\n\n      function Slick(element, settings) {\n        var _ = this,\n          dataSettings;\n\n        _.defaults = {\n          accessibility: true,\n          adaptiveHeight: false,\n          appendArrows: $(element),\n          appendDots: $(element),\n          arrows: true,\n          asNavFor: null,\n          prevArrow:\n            'Previous',\n          nextArrow:\n            'Next',\n          autoplay: false,\n          autoplaySpeed: 3000,\n          centerMode: false,\n          centerPadding: \"50px\",\n          cssEase: \"ease\",\n          customPaging: function(slider, i) {\n            return $('').text(i + 1);\n          },\n          dots: false,\n          dotsClass: \"slick-dots\",\n          draggable: true,\n          easing: \"linear\",\n          edgeFriction: 0.35,\n          fade: false,\n          focusOnSelect: false,\n          focusOnChange: false,\n          infinite: true,\n          initialSlide: 0,\n          lazyLoad: \"ondemand\",\n          mobileFirst: false,\n          pauseOnHover: true,\n          pauseOnFocus: true,\n          pauseOnDotsHover: false,\n          respondTo: \"window\",\n          responsive: null,\n          rows: 1,\n          rtl: false,\n          slide: \"\",\n          slidesPerRow: 1,\n          slidesToShow: 1,\n          slidesToScroll: 1,\n          speed: 500,\n          swipe: true,\n          swipeToSlide: false,\n          touchMove: true,\n          touchThreshold: 5,\n          useCSS: true,\n          useTransform: true,\n          variableWidth: false,\n          vertical: false,\n          verticalSwiping: false,\n          waitForAnimate: true,\n          zIndex: 1000\n        };\n\n        _.initials = {\n          animating: false,\n          dragging: false,\n          autoPlayTimer: null,\n          currentDirection: 0,\n          currentLeft: null,\n          currentSlide: 0,\n          direction: 1,\n          $dots: null,\n          listWidth: null,\n          listHeight: null,\n          loadIndex: 0,\n          $nextArrow: null,\n          $prevArrow: null,\n          scrolling: false,\n          slideCount: null,\n          slideWidth: null,\n          $slideTrack: null,\n          $slides: null,\n          sliding: false,\n          slideOffset: 0,\n          swipeLeft: null,\n          swiping: false,\n          $list: null,\n          touchObject: {},\n          transformsEnabled: false,\n          unslicked: false\n        };\n\n        $.extend(_, _.initials);\n\n        _.activeBreakpoint = null;\n        _.animType = null;\n        _.animProp = null;\n        _.breakpoints = [];\n        _.breakpointSettings = [];\n        _.cssTransitions = false;\n        _.focussed = false;\n        _.interrupted = false;\n        _.hidden = \"hidden\";\n        _.paused = true;\n        _.positionProp = null;\n        _.respondTo = null;\n        _.rowCount = 1;\n        _.shouldClick = true;\n        _.$slider = $(element);\n        _.$slidesCache = null;\n        _.transformType = null;\n        _.transitionType = null;\n        _.visibilityChange = \"visibilitychange\";\n        _.windowWidth = 0;\n        _.windowTimer = null;\n\n        dataSettings = $(element).data(\"slick\") || {};\n\n        _.options = $.extend({}, _.defaults, settings, dataSettings);\n\n        _.currentSlide = _.options.initialSlide;\n\n        _.originalSettings = _.options;\n\n        if (typeof document.mozHidden !== \"undefined\") {\n          _.hidden = \"mozHidden\";\n          _.visibilityChange = \"mozvisibilitychange\";\n        } else if (typeof document.webkitHidden !== \"undefined\") {\n          _.hidden = \"webkitHidden\";\n          _.visibilityChange = \"webkitvisibilitychange\";\n        }\n\n        _.autoPlay = $.proxy(_.autoPlay, _);\n        _.autoPlayClear = $.proxy(_.autoPlayClear, _);\n        _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);\n        _.changeSlide = $.proxy(_.changeSlide, _);\n        _.clickHandler = $.proxy(_.clickHandler, _);\n        _.selectHandler = $.proxy(_.selectHandler, _);\n        _.setPosition = $.proxy(_.setPosition, _);\n        _.swipeHandler = $.proxy(_.swipeHandler, _);\n        _.dragHandler = $.proxy(_.dragHandler, _);\n        _.keyHandler = $.proxy(_.keyHandler, _);\n\n        _.instanceUid = instanceUid++;\n\n        // A simple way to check for HTML strings\n        // Strict HTML recognition (must start with <)\n        // Extracted from jQuery v1.11 source\n        _.htmlExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*)$/;\n\n        _.registerBreakpoints();\n        _.init(true);\n      }\n\n      return Slick;\n    })();\n\n    Slick.prototype.activateADA = function() {\n      var _ = this;\n\n      _.$slideTrack\n        .find(\".slick-active\")\n        .attr({\n          \"aria-hidden\": \"false\"\n        })\n        .find(\"a, input, button, select\")\n        .attr({\n          tabindex: \"0\"\n        });\n    };\n\n    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(\n      markup,\n      index,\n      addBefore\n    ) {\n      var _ = this;\n\n      if (typeof index === \"boolean\") {\n        addBefore = index;\n        index = null;\n      } else if (index < 0 || index >= _.slideCount) {\n        return false;\n      }\n\n      _.unload();\n\n      if (typeof index === \"number\") {\n        if (index === 0 && _.$slides.length === 0) {\n          $(markup).appendTo(_.$slideTrack);\n        } else if (addBefore) {\n          $(markup).insertBefore(_.$slides.eq(index));\n        } else {\n          $(markup).insertAfter(_.$slides.eq(index));\n        }\n      } else {\n        if (addBefore === true) {\n          $(markup).prependTo(_.$slideTrack);\n        } else {\n          $(markup).appendTo(_.$slideTrack);\n        }\n      }\n\n      _.$slides = _.$slideTrack.children(this.options.slide);\n\n      _.$slideTrack.children(this.options.slide).detach();\n\n      _.$slideTrack.append(_.$slides);\n\n      _.$slides.each(function(index, element) {\n        $(element).attr(\"data-slick-index\", index);\n      });\n\n      _.$slidesCache = _.$slides;\n\n      _.reinit();\n    };\n\n    Slick.prototype.animateHeight = function() {\n      var _ = this;\n      if (\n        _.options.slidesToShow === 1 &&\n        _.options.adaptiveHeight === true &&\n        _.options.vertical === false\n      ) {\n        var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);\n        _.$list.animate(\n          {\n            height: targetHeight\n          },\n          _.options.speed\n        );\n      }\n    };\n\n    Slick.prototype.animateSlide = function(targetLeft, callback) {\n      var animProps = {},\n        _ = this;\n\n      _.animateHeight();\n\n      if (_.options.rtl === true && _.options.vertical === false) {\n        targetLeft = -targetLeft;\n      }\n      if (_.transformsEnabled === false) {\n        if (_.options.vertical === false) {\n          _.$slideTrack.animate(\n            {\n              left: targetLeft\n            },\n            _.options.speed,\n            _.options.easing,\n            callback\n          );\n        } else {\n          _.$slideTrack.animate(\n            {\n              top: targetLeft\n            },\n            _.options.speed,\n            _.options.easing,\n            callback\n          );\n        }\n      } else {\n        if (_.cssTransitions === false) {\n          if (_.options.rtl === true) {\n            _.currentLeft = -_.currentLeft;\n          }\n          $({\n            animStart: _.currentLeft\n          }).animate(\n            {\n              animStart: targetLeft\n            },\n            {\n              duration: _.options.speed,\n              easing: _.options.easing,\n              step: function(now) {\n                now = Math.ceil(now);\n                if (_.options.vertical === false) {\n                  animProps[_.animType] = \"translate(\" + now + \"px, 0px)\";\n                  _.$slideTrack.css(animProps);\n                } else {\n                  animProps[_.animType] = \"translate(0px,\" + now + \"px)\";\n                  _.$slideTrack.css(animProps);\n                }\n              },\n              complete: function() {\n                if (callback) {\n                  callback.call();\n                }\n              }\n            }\n          );\n        } else {\n          _.applyTransition();\n          targetLeft = Math.ceil(targetLeft);\n\n          if (_.options.vertical === false) {\n            animProps[_.animType] =\n              \"translate3d(\" + targetLeft + \"px, 0px, 0px)\";\n          } else {\n            animProps[_.animType] =\n              \"translate3d(0px,\" + targetLeft + \"px, 0px)\";\n          }\n          _.$slideTrack.css(animProps);\n\n          if (callback) {\n            setTimeout(function() {\n              _.disableTransition();\n\n              callback.call();\n            }, _.options.speed);\n          }\n        }\n      }\n    };\n\n    Slick.prototype.getNavTarget = function() {\n      var _ = this,\n        asNavFor = _.options.asNavFor;\n\n      if (asNavFor && asNavFor !== null) {\n        asNavFor = $(asNavFor).not(_.$slider);\n      }\n\n      return asNavFor;\n    };\n\n    Slick.prototype.asNavFor = function(index) {\n      var _ = this,\n        asNavFor = _.getNavTarget();\n\n      if (asNavFor !== null && typeof asNavFor === \"object\") {\n        asNavFor.each(function() {\n          var target = $(this).slick(\"getSlick\");\n          if (!target.unslicked) {\n            target.slideHandler(index, true);\n          }\n        });\n      }\n    };\n\n    Slick.prototype.applyTransition = function(slide) {\n      var _ = this,\n        transition = {};\n\n      if (_.options.fade === false) {\n        transition[_.transitionType] =\n          _.transformType + \" \" + _.options.speed + \"ms \" + _.options.cssEase;\n      } else {\n        transition[_.transitionType] =\n          \"opacity \" + _.options.speed + \"ms \" + _.options.cssEase;\n      }\n\n      if (_.options.fade === false) {\n        _.$slideTrack.css(transition);\n      } else {\n        _.$slides.eq(slide).css(transition);\n      }\n    };\n\n    Slick.prototype.autoPlay = function() {\n      var _ = this;\n\n      _.autoPlayClear();\n\n      if (_.slideCount > _.options.slidesToShow) {\n        _.autoPlayTimer = setInterval(\n          _.autoPlayIterator,\n          _.options.autoplaySpeed\n        );\n      }\n    };\n\n    Slick.prototype.autoPlayClear = function() {\n      var _ = this;\n\n      if (_.autoPlayTimer) {\n        clearInterval(_.autoPlayTimer);\n      }\n    };\n\n    Slick.prototype.autoPlayIterator = function() {\n      var _ = this,\n        slideTo = _.currentSlide + _.options.slidesToScroll;\n\n      if (!_.paused && !_.interrupted && !_.focussed) {\n        if (_.options.infinite === false) {\n          if (_.direction === 1 && _.currentSlide + 1 === _.slideCount - 1) {\n            _.direction = 0;\n          } else if (_.direction === 0) {\n            slideTo = _.currentSlide - _.options.slidesToScroll;\n\n            if (_.currentSlide - 1 === 0) {\n              _.direction = 1;\n            }\n          }\n        }\n\n        _.slideHandler(slideTo);\n      }\n    };\n\n    Slick.prototype.buildArrows = function() {\n      var _ = this;\n\n      if (_.options.arrows === true) {\n        _.$prevArrow = $(_.options.prevArrow).addClass(\"slick-arrow\");\n        _.$nextArrow = $(_.options.nextArrow).addClass(\"slick-arrow\");\n\n        if (_.slideCount > _.options.slidesToShow) {\n          _.$prevArrow\n            .removeClass(\"slick-hidden\")\n            .removeAttr(\"aria-hidden tabindex\");\n          _.$nextArrow\n            .removeClass(\"slick-hidden\")\n            .removeAttr(\"aria-hidden tabindex\");\n\n          if (_.htmlExpr.test(_.options.prevArrow)) {\n            _.$prevArrow.prependTo(_.options.appendArrows);\n          }\n\n          if (_.htmlExpr.test(_.options.nextArrow)) {\n            _.$nextArrow.appendTo(_.options.appendArrows);\n          }\n\n          if (_.options.infinite !== true) {\n            _.$prevArrow\n              .addClass(\"slick-disabled\")\n              .attr(\"aria-disabled\", \"true\");\n          }\n        } else {\n          _.$prevArrow\n            .add(_.$nextArrow)\n\n            .addClass(\"slick-hidden\")\n            .attr({\n              \"aria-disabled\": \"true\",\n              tabindex: \"-1\"\n            });\n        }\n      }\n    };\n\n    Slick.prototype.buildDots = function() {\n      var _ = this,\n        i,\n        dot;\n\n      if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n        _.$slider.addClass(\"slick-dotted\");\n\n        dot = $(\"\").addClass(_.options.dotsClass);\n\n        for (i = 0; i <= _.getDotCount(); i += 1) {\n          dot.append(\n            $(\"\").append(_.options.customPaging.call(this, _, i))\n          );\n        }\n\n        _.$dots = dot.appendTo(_.options.appendDots);\n\n        _.$dots\n          .find(\"li\")\n          .first()\n          .addClass(\"slick-active\");\n      }\n    };\n\n    Slick.prototype.buildOut = function() {\n      var _ = this;\n\n      _.$slides = _.$slider\n        .children(_.options.slide + \":not(.slick-cloned)\")\n        .addClass(\"slick-slide\");\n\n      _.slideCount = _.$slides.length;\n\n      _.$slides.each(function(index, element) {\n        $(element)\n          .attr(\"data-slick-index\", index)\n          .data(\"originalStyling\", $(element).attr(\"style\") || \"\");\n      });\n\n      _.$slider.addClass(\"slick-slider\");\n\n      _.$slideTrack =\n        _.slideCount === 0\n          ? $('').appendTo(_.$slider)\n : _.$slides.wrapAll('').parent();\n\n _.$list = _.$slideTrack.wrap('').parent();\n _.$slideTrack.css(\"opacity\", 0);\n\n if (_.options.centerMode === true || _.options.swipeToSlide === true) {\n _.options.slidesToScroll = 1;\n }\n\n $(\"img[data-lazy]\", _.$slider)\n .not(\"[src]\")\n .addClass(\"slick-loading\");\n\n _.setupInfinite();\n\n _.buildArrows();\n\n _.buildDots();\n\n _.updateDots();\n\n _.setSlideClasses(\n typeof _.currentSlide === \"number\" ? _.currentSlide : 0\n );\n\n if (_.options.draggable === true) {\n _.$list.addClass(\"draggable\");\n }\n };\n\n Slick.prototype.buildRows = function() {\n var _ = this,\n a,\n b,\n c,\n newSlides,\n numOfSlides,\n originalSlides,\n slidesPerSection;\n\n newSlides = document.createDocumentFragment();\n originalSlides = _.$slider.children();\n\n if (_.options.rows > 0) {\n slidesPerSection = _.options.slidesPerRow * _.options.rows;\n numOfSlides = Math.ceil(originalSlides.length / slidesPerSection);\n\n for (a = 0; a < numOfSlides; a++) {\n var slide = document.createElement(\"div\");\n for (b = 0; b < _.options.rows; b++) {\n var row = document.createElement(\"div\");\n for (c = 0; c < _.options.slidesPerRow; c++) {\n var target =\n a * slidesPerSection + (b * _.options.slidesPerRow + c);\n if (originalSlides.get(target)) {\n row.appendChild(originalSlides.get(target));\n }\n }\n slide.appendChild(row);\n }\n newSlides.appendChild(slide);\n }\n\n _.$slider.empty().append(newSlides);\n _.$slider\n .children()\n .children()\n .children()\n .css({\n width: 100 / _.options.slidesPerRow + \"%\",\n display: \"inline-block\"\n });\n }\n };\n\n Slick.prototype.checkResponsive = function(initial, forceUpdate) {\n var _ = this,\n breakpoint,\n targetBreakpoint,\n respondToWidth,\n triggerBreakpoint = false;\n var sliderWidth = _.$slider.width();\n var windowWidth = window.innerWidth || $(window).width();\n\n if (_.respondTo === \"window\") {\n respondToWidth = windowWidth;\n } else if (_.respondTo === \"slider\") {\n respondToWidth = sliderWidth;\n } else if (_.respondTo === \"min\") {\n respondToWidth = Math.min(windowWidth, sliderWidth);\n }\n\n if (\n _.options.responsive &&\n _.options.responsive.length &&\n _.options.responsive !== null\n ) {\n targetBreakpoint = null;\n\n for (breakpoint in _.breakpoints) {\n if (_.breakpoints.hasOwnProperty(breakpoint)) {\n if (_.originalSettings.mobileFirst === false) {\n if (respondToWidth < _.breakpoints[breakpoint]) {\n targetBreakpoint = _.breakpoints[breakpoint];\n }\n } else {\n if (respondToWidth > _.breakpoints[breakpoint]) {\n targetBreakpoint = _.breakpoints[breakpoint];\n }\n }\n }\n }\n\n if (targetBreakpoint !== null) {\n if (_.activeBreakpoint !== null) {\n if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {\n _.activeBreakpoint = targetBreakpoint;\n if (_.breakpointSettings[targetBreakpoint] === \"unslick\") {\n _.unslick(targetBreakpoint);\n } else {\n _.options = $.extend(\n {},\n _.originalSettings,\n _.breakpointSettings[targetBreakpoint]\n );\n if (initial === true) {\n _.currentSlide = _.options.initialSlide;\n }\n _.refresh(initial);\n }\n triggerBreakpoint = targetBreakpoint;\n }\n } else {\n _.activeBreakpoint = targetBreakpoint;\n if (_.breakpointSettings[targetBreakpoint] === \"unslick\") {\n _.unslick(targetBreakpoint);\n } else {\n _.options = $.extend(\n {},\n _.originalSettings,\n _.breakpointSettings[targetBreakpoint]\n );\n if (initial === true) {\n _.currentSlide = _.options.initialSlide;\n }\n _.refresh(initial);\n }\n triggerBreakpoint = targetBreakpoint;\n }\n } else {\n if (_.activeBreakpoint !== null) {\n _.activeBreakpoint = null;\n _.options = _.originalSettings;\n if (initial === true) {\n _.currentSlide = _.options.initialSlide;\n }\n _.refresh(initial);\n triggerBreakpoint = targetBreakpoint;\n }\n }\n\n // only trigger breakpoints during an actual break. not on initialize.\n if (!initial && triggerBreakpoint !== false) {\n _.$slider.trigger(\"breakpoint\", [_, triggerBreakpoint]);\n }\n }\n };\n\n Slick.prototype.changeSlide = function(event, dontAnimate) {\n var _ = this,\n $target = $(event.currentTarget),\n indexOffset,\n slideOffset,\n unevenOffset;\n\n // If target is a link, prevent default action.\n if ($target.is(\"a\")) {\n event.preventDefault();\n }\n\n // If target is not the element (ie: a child), find the .\n if (!$target.is(\"li\")) {\n $target = $target.closest(\"li\");\n }\n\n unevenOffset = _.slideCount % _.options.slidesToScroll !== 0;\n indexOffset = unevenOffset\n ? 0\n : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;\n\n switch (event.data.message) {\n case \"previous\":\n slideOffset =\n indexOffset === 0\n ? _.options.slidesToScroll\n : _.options.slidesToShow - indexOffset;\n if (_.slideCount > _.options.slidesToShow) {\n _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);\n }\n break;\n\n case \"next\":\n slideOffset =\n indexOffset === 0 ? _.options.slidesToScroll : indexOffset;\n if (_.slideCount > _.options.slidesToShow) {\n _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);\n }\n break;\n\n case \"index\":\n var index =\n event.data.index === 0\n ? 0\n : event.data.index || $target.index() * _.options.slidesToScroll;\n\n _.slideHandler(_.checkNavigable(index), false, dontAnimate);\n $target.children().trigger(\"focus\");\n break;\n\n default:\n return;\n }\n };\n\n Slick.prototype.checkNavigable = function(index) {\n var _ = this,\n navigables,\n prevNavigable;\n\n navigables = _.getNavigableIndexes();\n prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n };\n\n Slick.prototype.cleanUpEvents = function() {\n var _ = this;\n\n if (_.options.dots && _.$dots !== null) {\n $(\"li\", _.$dots)\n .off(\"click.slick\", _.changeSlide)\n .off(\"mouseenter.slick\", $.proxy(_.interrupt, _, true))\n .off(\"mouseleave.slick\", $.proxy(_.interrupt, _, false));\n\n if (_.options.accessibility === true) {\n _.$dots.off(\"keydown.slick\", _.keyHandler);\n }\n }\n\n _.$slider.off(\"focus.slick blur.slick\");\n\n if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n _.$prevArrow && _.$prevArrow.off(\"click.slick\", _.changeSlide);\n _.$nextArrow && _.$nextArrow.off(\"click.slick\", _.changeSlide);\n\n if (_.options.accessibility === true) {\n _.$prevArrow && _.$prevArrow.off(\"keydown.slick\", _.keyHandler);\n _.$nextArrow && _.$nextArrow.off(\"keydown.slick\", _.keyHandler);\n }\n }\n\n _.$list.off(\"touchstart.slick mousedown.slick\", _.swipeHandler);\n _.$list.off(\"touchmove.slick mousemove.slick\", _.swipeHandler);\n _.$list.off(\"touchend.slick mouseup.slick\", _.swipeHandler);\n _.$list.off(\"touchcancel.slick mouseleave.slick\", _.swipeHandler);\n\n _.$list.off(\"click.slick\", _.clickHandler);\n\n $(document).off(_.visibilityChange, _.visibility);\n\n _.cleanUpSlideEvents();\n\n if (_.options.accessibility === true) {\n _.$list.off(\"keydown.slick\", _.keyHandler);\n }\n\n if (_.options.focusOnSelect === true) {\n $(_.$slideTrack)\n .children()\n .off(\"click.slick\", _.selectHandler);\n }\n\n $(window).off(\n \"orientationchange.slick.slick-\" + _.instanceUid,\n _.orientationChange\n );\n\n $(window).off(\"resize.slick.slick-\" + _.instanceUid, _.resize);\n\n $(\"[draggable!=true]\", _.$slideTrack).off(\"dragstart\", _.preventDefault);\n\n $(window).off(\"load.slick.slick-\" + _.instanceUid, _.setPosition);\n };\n\n Slick.prototype.cleanUpSlideEvents = function() {\n var _ = this;\n\n _.$list.off(\"mouseenter.slick\", $.proxy(_.interrupt, _, true));\n _.$list.off(\"mouseleave.slick\", $.proxy(_.interrupt, _, false));\n };\n\n Slick.prototype.cleanUpRows = function() {\n var _ = this,\n originalSlides;\n\n if (_.options.rows > 0) {\n originalSlides = _.$slides.children().children();\n originalSlides.removeAttr(\"style\");\n _.$slider.empty().append(originalSlides);\n }\n };\n\n Slick.prototype.clickHandler = function(event) {\n var _ = this;\n\n if (_.shouldClick === false) {\n event.stopImmediatePropagation();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n\n Slick.prototype.destroy = function(refresh) {\n var _ = this;\n\n _.autoPlayClear();\n\n _.touchObject = {};\n\n _.cleanUpEvents();\n\n $(\".slick-cloned\", _.$slider).detach();\n\n if (_.$dots) {\n _.$dots.remove();\n }\n\n if (_.$prevArrow && _.$prevArrow.length) {\n _.$prevArrow\n .removeClass(\"slick-disabled slick-arrow slick-hidden\")\n .removeAttr(\"aria-hidden aria-disabled tabindex\")\n .css(\"display\", \"\");\n\n if (_.htmlExpr.test(_.options.prevArrow)) {\n _.$prevArrow.remove();\n }\n }\n\n if (_.$nextArrow && _.$nextArrow.length) {\n _.$nextArrow\n .removeClass(\"slick-disabled slick-arrow slick-hidden\")\n .removeAttr(\"aria-hidden aria-disabled tabindex\")\n .css(\"display\", \"\");\n\n if (_.htmlExpr.test(_.options.nextArrow)) {\n _.$nextArrow.remove();\n }\n }\n\n if (_.$slides) {\n _.$slides\n .removeClass(\n \"slick-slide slick-active slick-center slick-visible slick-current\"\n )\n .removeAttr(\"aria-hidden\")\n .removeAttr(\"data-slick-index\")\n .each(function() {\n $(this).attr(\"style\", $(this).data(\"originalStyling\"));\n });\n\n _.$slideTrack.children(this.options.slide).detach();\n\n _.$slideTrack.detach();\n\n _.$list.detach();\n\n _.$slider.append(_.$slides);\n }\n\n _.cleanUpRows();\n\n _.$slider.removeClass(\"slick-slider\");\n _.$slider.removeClass(\"slick-initialized\");\n _.$slider.removeClass(\"slick-dotted\");\n\n _.unslicked = true;\n\n if (!refresh) {\n _.$slider.trigger(\"destroy\", [_]);\n }\n };\n\n Slick.prototype.disableTransition = function(slide) {\n var _ = this,\n transition = {};\n\n transition[_.transitionType] = \"\";\n\n if (_.options.fade === false) {\n _.$slideTrack.css(transition);\n } else {\n _.$slides.eq(slide).css(transition);\n }\n };\n\n Slick.prototype.fadeSlide = function(slideIndex, callback) {\n var _ = this;\n\n if (_.cssTransitions === false) {\n _.$slides.eq(slideIndex).css({\n zIndex: _.options.zIndex\n });\n\n _.$slides.eq(slideIndex).animate(\n {\n opacity: 1\n },\n _.options.speed,\n _.options.easing,\n callback\n );\n } else {\n _.applyTransition(slideIndex);\n\n _.$slides.eq(slideIndex).css({\n opacity: 1,\n zIndex: _.options.zIndex\n });\n\n if (callback) {\n setTimeout(function() {\n _.disableTransition(slideIndex);\n\n callback.call();\n }, _.options.speed);\n }\n }\n };\n\n Slick.prototype.fadeSlideOut = function(slideIndex) {\n var _ = this;\n\n if (_.cssTransitions === false) {\n _.$slides.eq(slideIndex).animate(\n {\n opacity: 0,\n zIndex: _.options.zIndex - 2\n },\n _.options.speed,\n _.options.easing\n );\n } else {\n _.applyTransition(slideIndex);\n\n _.$slides.eq(slideIndex).css({\n opacity: 0,\n zIndex: _.options.zIndex - 2\n });\n }\n };\n\n Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(\n filter\n ) {\n var _ = this;\n\n if (filter !== null) {\n _.$slidesCache = _.$slides;\n\n _.unload();\n\n _.$slideTrack.children(this.options.slide).detach();\n\n _.$slidesCache.filter(filter).appendTo(_.$slideTrack);\n\n _.reinit();\n }\n };\n\n Slick.prototype.focusHandler = function() {\n var _ = this;\n\n // If any child element receives focus within the slider we need to pause the autoplay\n _.$slider\n .off(\"focus.slick blur.slick\")\n .on(\"focus.slick\", \"*\", function(event) {\n var $sf = $(this);\n\n setTimeout(function() {\n if (_.options.pauseOnFocus) {\n if ($sf.is(\":focus\")) {\n _.focussed = true;\n _.autoPlay();\n }\n }\n }, 0);\n })\n .on(\"blur.slick\", \"*\", function(event) {\n var $sf = $(this);\n\n // When a blur occurs on any elements within the slider we become unfocused\n if (_.options.pauseOnFocus) {\n _.focussed = false;\n _.autoPlay();\n }\n });\n };\n\n Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {\n var _ = this;\n return _.currentSlide;\n };\n\n Slick.prototype.getDotCount = function() {\n var _ = this;\n\n var breakPoint = 0;\n var counter = 0;\n var pagerQty = 0;\n\n if (_.options.infinite === true) {\n if (_.slideCount <= _.options.slidesToShow) {\n ++pagerQty;\n } else {\n while (breakPoint < _.slideCount) {\n ++pagerQty;\n breakPoint = counter + _.options.slidesToScroll;\n counter +=\n _.options.slidesToScroll <= _.options.slidesToShow\n ? _.options.slidesToScroll\n : _.options.slidesToShow;\n }\n }\n } else if (_.options.centerMode === true) {\n pagerQty = _.slideCount;\n } else if (!_.options.asNavFor) {\n pagerQty =\n 1 +\n Math.ceil(\n (_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll\n );\n } else {\n while (breakPoint < _.slideCount) {\n ++pagerQty;\n breakPoint = counter + _.options.slidesToScroll;\n counter +=\n _.options.slidesToScroll <= _.options.slidesToShow\n ? _.options.slidesToScroll\n : _.options.slidesToShow;\n }\n }\n\n return pagerQty - 1;\n };\n\n Slick.prototype.getLeft = function(slideIndex) {\n var _ = this,\n targetLeft,\n verticalHeight,\n verticalOffset = 0,\n targetSlide,\n coef;\n\n _.slideOffset = 0;\n verticalHeight = _.$slides.first().outerHeight(true);\n\n if (_.options.infinite === true) {\n if (_.slideCount > _.options.slidesToShow) {\n _.slideOffset = _.slideWidth * _.options.slidesToShow * -1;\n coef = -1;\n\n if (_.options.vertical === true && _.options.centerMode === true) {\n if (_.options.slidesToShow === 2) {\n coef = -1.5;\n } else if (_.options.slidesToShow === 1) {\n coef = -2;\n }\n }\n verticalOffset = verticalHeight * _.options.slidesToShow * coef;\n }\n if (_.slideCount % _.options.slidesToScroll !== 0) {\n if (\n slideIndex + _.options.slidesToScroll > _.slideCount &&\n _.slideCount > _.options.slidesToShow\n ) {\n if (slideIndex > _.slideCount) {\n _.slideOffset =\n (_.options.slidesToShow - (slideIndex - _.slideCount)) *\n _.slideWidth *\n -1;\n verticalOffset =\n (_.options.slidesToShow - (slideIndex - _.slideCount)) *\n verticalHeight *\n -1;\n } else {\n _.slideOffset =\n (_.slideCount % _.options.slidesToScroll) * _.slideWidth * -1;\n verticalOffset =\n (_.slideCount % _.options.slidesToScroll) * verticalHeight * -1;\n }\n }\n }\n } else {\n if (slideIndex + _.options.slidesToShow > _.slideCount) {\n _.slideOffset =\n (slideIndex + _.options.slidesToShow - _.slideCount) * _.slideWidth;\n verticalOffset =\n (slideIndex + _.options.slidesToShow - _.slideCount) *\n verticalHeight;\n }\n }\n\n if (_.slideCount <= _.options.slidesToShow) {\n _.slideOffset = 0;\n verticalOffset = 0;\n }\n\n if (\n _.options.centerMode === true &&\n _.slideCount <= _.options.slidesToShow\n ) {\n _.slideOffset =\n (_.slideWidth * Math.floor(_.options.slidesToShow)) / 2 -\n (_.slideWidth * _.slideCount) / 2;\n } else if (_.options.centerMode === true && _.options.infinite === true) {\n _.slideOffset +=\n _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;\n } else if (_.options.centerMode === true) {\n _.slideOffset = 0;\n _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);\n }\n\n if (_.options.vertical === false) {\n targetLeft = slideIndex * _.slideWidth * -1 + _.slideOffset;\n } else {\n targetLeft = slideIndex * verticalHeight * -1 + verticalOffset;\n }\n\n if (_.options.variableWidth === true) {\n if (\n _.slideCount <= _.options.slidesToShow ||\n _.options.infinite === false\n ) {\n targetSlide = _.$slideTrack.children(\".slick-slide\").eq(slideIndex);\n } else {\n targetSlide = _.$slideTrack\n .children(\".slick-slide\")\n .eq(slideIndex + _.options.slidesToShow);\n }\n\n if (_.options.rtl === true) {\n if (targetSlide[0]) {\n targetLeft =\n (_.$slideTrack.width() -\n targetSlide[0].offsetLeft -\n targetSlide.width()) *\n -1;\n } else {\n targetLeft = 0;\n }\n } else {\n targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;\n }\n\n if (_.options.centerMode === true) {\n if (\n _.slideCount <= _.options.slidesToShow ||\n _.options.infinite === false\n ) {\n targetSlide = _.$slideTrack.children(\".slick-slide\").eq(slideIndex);\n } else {\n targetSlide = _.$slideTrack\n .children(\".slick-slide\")\n .eq(slideIndex + _.options.slidesToShow + 1);\n }\n\n if (_.options.rtl === true) {\n if (targetSlide[0]) {\n targetLeft =\n (_.$slideTrack.width() -\n targetSlide[0].offsetLeft -\n targetSlide.width()) *\n -1;\n } else {\n targetLeft = 0;\n }\n } else {\n targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;\n }\n\n targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;\n }\n }\n\n return targetLeft;\n };\n\n Slick.prototype.getOption = Slick.prototype.slickGetOption = function(\n option\n ) {\n var _ = this;\n\n return _.options[option];\n };\n\n Slick.prototype.getNavigableIndexes = function() {\n var _ = this,\n breakPoint = 0,\n counter = 0,\n indexes = [],\n max;\n\n if (_.options.infinite === false) {\n max = _.slideCount;\n } else {\n breakPoint = _.options.slidesToScroll * -1;\n counter = _.options.slidesToScroll * -1;\n max = _.slideCount * 2;\n }\n\n while (breakPoint < max) {\n indexes.push(breakPoint);\n breakPoint = counter + _.options.slidesToScroll;\n counter +=\n _.options.slidesToScroll <= _.options.slidesToShow\n ? _.options.slidesToScroll\n : _.options.slidesToShow;\n }\n\n return indexes;\n };\n\n Slick.prototype.getSlick = function() {\n return this;\n };\n\n Slick.prototype.getSlideCount = function() {\n var _ = this,\n slidesTraversed,\n swipedSlide,\n swipeTarget,\n centerOffset;\n\n centerOffset =\n _.options.centerMode === true ? Math.floor(_.$list.width() / 2) : 0;\n swipeTarget = _.swipeLeft * -1 + centerOffset;\n\n if (_.options.swipeToSlide === true) {\n _.$slideTrack.find(\".slick-slide\").each(function(index, slide) {\n var slideOuterWidth, slideOffset, slideRightBoundary;\n slideOuterWidth = $(slide).outerWidth();\n slideOffset = slide.offsetLeft;\n if (_.options.centerMode !== true) {\n slideOffset += slideOuterWidth / 2;\n }\n\n slideRightBoundary = slideOffset + slideOuterWidth;\n\n if (swipeTarget < slideRightBoundary) {\n swipedSlide = slide;\n return false;\n }\n });\n\n slidesTraversed =\n Math.abs($(swipedSlide).attr(\"data-slick-index\") - _.currentSlide) ||\n 1;\n\n return slidesTraversed;\n } else {\n return _.options.slidesToScroll;\n }\n };\n\n Slick.prototype.goTo = Slick.prototype.slickGoTo = function(\n slide,\n dontAnimate\n ) {\n var _ = this;\n\n _.changeSlide(\n {\n data: {\n message: \"index\",\n index: parseInt(slide)\n }\n },\n dontAnimate\n );\n };\n\n Slick.prototype.init = function(creation) {\n var _ = this;\n\n if (!$(_.$slider).hasClass(\"slick-initialized\")) {\n $(_.$slider).addClass(\"slick-initialized\");\n\n _.buildRows();\n _.buildOut();\n _.setProps();\n _.startLoad();\n _.loadSlider();\n _.initializeEvents();\n _.updateArrows();\n _.updateDots();\n _.checkResponsive(true);\n _.focusHandler();\n }\n\n if (creation) {\n _.$slider.trigger(\"init\", [_]);\n }\n\n if (_.options.accessibility === true) {\n _.initADA();\n }\n\n if (_.options.autoplay) {\n _.paused = false;\n _.autoPlay();\n }\n };\n\n Slick.prototype.initADA = function() {\n var _ = this,\n numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),\n tabControlIndexes = _.getNavigableIndexes().filter(function(val) {\n return val >= 0 && val < _.slideCount;\n });\n\n _.$slides\n .add(_.$slideTrack.find(\".slick-cloned\"))\n .attr({\n \"aria-hidden\": \"true\",\n tabindex: \"-1\"\n })\n .find(\"a, input, button, select\")\n .attr({\n tabindex: \"-1\"\n });\n\n if (_.$dots !== null) {\n _.$slides.not(_.$slideTrack.find(\".slick-cloned\")).each(function(i) {\n var slideControlIndex = tabControlIndexes.indexOf(i);\n\n $(this).attr({\n role: \"tabpanel\",\n id: \"slick-slide\" + _.instanceUid + i,\n tabindex: -1\n });\n\n if (slideControlIndex !== -1) {\n var ariaButtonControl =\n \"slick-slide-control\" + _.instanceUid + slideControlIndex;\n if ($(\"#\" + ariaButtonControl).length) {\n $(this).attr({\n \"aria-describedby\": ariaButtonControl\n });\n }\n }\n });\n\n _.$dots\n .attr(\"role\", \"tablist\")\n .find(\"li\")\n .each(function(i) {\n var mappedSlideIndex = tabControlIndexes[i];\n\n $(this).attr({\n role: \"presentation\"\n });\n\n $(this)\n .find(\"button\")\n .first()\n .attr({\n role: \"tab\",\n id: \"slick-slide-control\" + _.instanceUid + i,\n \"aria-controls\":\n \"slick-slide\" + _.instanceUid + mappedSlideIndex,\n \"aria-label\": i + 1 + \" of \" + numDotGroups,\n \"aria-selected\": null,\n tabindex: \"-1\"\n });\n })\n .eq(_.currentSlide)\n .find(\"button\")\n .attr({\n \"aria-selected\": \"true\",\n tabindex: \"0\"\n })\n .end();\n }\n\n for (\n var i = _.currentSlide, max = i + _.options.slidesToShow;\n i < max;\n i++\n ) {\n if (_.options.focusOnChange) {\n _.$slides.eq(i).attr({ tabindex: \"0\" });\n } else {\n _.$slides.eq(i).removeAttr(\"tabindex\");\n }\n }\n\n _.activateADA();\n };\n\n Slick.prototype.initArrowEvents = function() {\n var _ = this;\n\n if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n _.$prevArrow.off(\"click.slick\").on(\n \"click.slick\",\n {\n message: \"previous\"\n },\n _.changeSlide\n );\n _.$nextArrow.off(\"click.slick\").on(\n \"click.slick\",\n {\n message: \"next\"\n },\n _.changeSlide\n );\n\n if (_.options.accessibility === true) {\n _.$prevArrow.on(\"keydown.slick\", _.keyHandler);\n _.$nextArrow.on(\"keydown.slick\", _.keyHandler);\n }\n }\n };\n\n Slick.prototype.initDotEvents = function() {\n var _ = this;\n\n if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n $(\"li\", _.$dots).on(\n \"click.slick\",\n {\n message: \"index\"\n },\n _.changeSlide\n );\n\n if (_.options.accessibility === true) {\n _.$dots.on(\"keydown.slick\", _.keyHandler);\n }\n }\n\n if (\n _.options.dots === true &&\n _.options.pauseOnDotsHover === true &&\n _.slideCount > _.options.slidesToShow\n ) {\n $(\"li\", _.$dots)\n .on(\"mouseenter.slick\", $.proxy(_.interrupt, _, true))\n .on(\"mouseleave.slick\", $.proxy(_.interrupt, _, false));\n }\n };\n\n Slick.prototype.initSlideEvents = function() {\n var _ = this;\n\n if (_.options.pauseOnHover) {\n _.$list.on(\"mouseenter.slick\", $.proxy(_.interrupt, _, true));\n _.$list.on(\"mouseleave.slick\", $.proxy(_.interrupt, _, false));\n }\n };\n\n Slick.prototype.initializeEvents = function() {\n var _ = this;\n\n _.initArrowEvents();\n\n _.initDotEvents();\n _.initSlideEvents();\n\n _.$list.on(\n \"touchstart.slick mousedown.slick\",\n {\n action: \"start\"\n },\n _.swipeHandler\n );\n _.$list.on(\n \"touchmove.slick mousemove.slick\",\n {\n action: \"move\"\n },\n _.swipeHandler\n );\n _.$list.on(\n \"touchend.slick mouseup.slick\",\n {\n action: \"end\"\n },\n _.swipeHandler\n );\n _.$list.on(\n \"touchcancel.slick mouseleave.slick\",\n {\n action: \"end\"\n },\n _.swipeHandler\n );\n\n _.$list.on(\"click.slick\", _.clickHandler);\n\n $(document).on(_.visibilityChange, $.proxy(_.visibility, _));\n\n if (_.options.accessibility === true) {\n _.$list.on(\"keydown.slick\", _.keyHandler);\n }\n\n if (_.options.focusOnSelect === true) {\n $(_.$slideTrack)\n .children()\n .on(\"click.slick\", _.selectHandler);\n }\n\n $(window).on(\n \"orientationchange.slick.slick-\" + _.instanceUid,\n $.proxy(_.orientationChange, _)\n );\n\n $(window).on(\"resize.slick.slick-\" + _.instanceUid, $.proxy(_.resize, _));\n\n $(\"[draggable!=true]\", _.$slideTrack).on(\"dragstart\", _.preventDefault);\n\n $(window).on(\"load.slick.slick-\" + _.instanceUid, _.setPosition);\n $(_.setPosition);\n };\n\n Slick.prototype.initUI = function() {\n var _ = this;\n\n if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n _.$prevArrow.show();\n _.$nextArrow.show();\n }\n\n if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n _.$dots.show();\n }\n };\n\n Slick.prototype.keyHandler = function(event) {\n var _ = this;\n //Dont slide if the cursor is inside the form fields and arrow keys are pressed\n if (!event.target.tagName.match(\"TEXTAREA|INPUT|SELECT\")) {\n if (event.keyCode === 37 && _.options.accessibility === true) {\n _.changeSlide({\n data: {\n message: _.options.rtl === true ? \"next\" : \"previous\"\n }\n });\n } else if (event.keyCode === 39 && _.options.accessibility === true) {\n _.changeSlide({\n data: {\n message: _.options.rtl === true ? \"previous\" : \"next\"\n }\n });\n }\n }\n };\n\n Slick.prototype.lazyLoad = function() {\n var _ = this,\n loadRange,\n cloneRange,\n rangeStart,\n rangeEnd;\n\n function loadImages(imagesScope) {\n $(\"img[data-lazy]\", imagesScope).each(function() {\n var image = $(this),\n imageSource = $(this).attr(\"data-lazy\"),\n imageSrcSet = $(this).attr(\"data-srcset\"),\n imageSizes =\n $(this).attr(\"data-sizes\") || _.$slider.attr(\"data-sizes\"),\n imageToLoad = document.createElement(\"img\");\n\n imageToLoad.onload = function() {\n image.animate({ opacity: 0 }, 100, function() {\n if (imageSrcSet) {\n image.attr(\"srcset\", imageSrcSet);\n\n if (imageSizes) {\n image.attr(\"sizes\", imageSizes);\n }\n }\n\n image\n .attr(\"src\", imageSource)\n .animate({ opacity: 1 }, 200, function() {\n image\n .removeAttr(\"data-lazy data-srcset data-sizes\")\n .removeClass(\"slick-loading\");\n });\n _.$slider.trigger(\"lazyLoaded\", [_, image, imageSource]);\n });\n };\n\n imageToLoad.onerror = function() {\n image\n .removeAttr(\"data-lazy\")\n .removeClass(\"slick-loading\")\n .addClass(\"slick-lazyload-error\");\n\n _.$slider.trigger(\"lazyLoadError\", [_, image, imageSource]);\n };\n\n imageToLoad.src = imageSource;\n });\n }\n\n if (_.options.centerMode === true) {\n if (_.options.infinite === true) {\n rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);\n rangeEnd = rangeStart + _.options.slidesToShow + 2;\n } else {\n rangeStart = Math.max(\n 0,\n _.currentSlide - (_.options.slidesToShow / 2 + 1)\n );\n rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;\n }\n } else {\n rangeStart = _.options.infinite\n ? _.options.slidesToShow + _.currentSlide\n : _.currentSlide;\n rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);\n if (_.options.fade === true) {\n if (rangeStart > 0) rangeStart--;\n if (rangeEnd <= _.slideCount) rangeEnd++;\n }\n }\n\n loadRange = _.$slider.find(\".slick-slide\").slice(rangeStart, rangeEnd);\n\n if (_.options.lazyLoad === \"anticipated\") {\n var prevSlide = rangeStart - 1,\n nextSlide = rangeEnd,\n $slides = _.$slider.find(\".slick-slide\");\n\n for (var i = 0; i < _.options.slidesToScroll; i++) {\n if (prevSlide < 0) prevSlide = _.slideCount - 1;\n loadRange = loadRange.add($slides.eq(prevSlide));\n loadRange = loadRange.add($slides.eq(nextSlide));\n prevSlide--;\n nextSlide++;\n }\n }\n\n loadImages(loadRange);\n\n if (_.slideCount <= _.options.slidesToShow) {\n cloneRange = _.$slider.find(\".slick-slide\");\n loadImages(cloneRange);\n } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {\n cloneRange = _.$slider\n .find(\".slick-cloned\")\n .slice(0, _.options.slidesToShow);\n loadImages(cloneRange);\n } else if (_.currentSlide === 0) {\n cloneRange = _.$slider\n .find(\".slick-cloned\")\n .slice(_.options.slidesToShow * -1);\n loadImages(cloneRange);\n }\n };\n\n Slick.prototype.loadSlider = function() {\n var _ = this;\n\n _.setPosition();\n\n _.$slideTrack.css({\n opacity: 1\n });\n\n _.$slider.removeClass(\"slick-loading\");\n\n _.initUI();\n\n if (_.options.lazyLoad === \"progressive\") {\n _.progressiveLazyLoad();\n }\n };\n\n Slick.prototype.next = Slick.prototype.slickNext = function() {\n var _ = this;\n\n _.changeSlide({\n data: {\n message: \"next\"\n }\n });\n };\n\n Slick.prototype.orientationChange = function() {\n var _ = this;\n\n _.checkResponsive();\n _.setPosition();\n };\n\n Slick.prototype.pause = Slick.prototype.slickPause = function() {\n var _ = this;\n\n _.autoPlayClear();\n _.paused = true;\n };\n\n Slick.prototype.play = Slick.prototype.slickPlay = function() {\n var _ = this;\n\n _.autoPlay();\n _.options.autoplay = true;\n _.paused = false;\n _.focussed = false;\n _.interrupted = false;\n };\n\n Slick.prototype.postSlide = function(index) {\n var _ = this;\n\n if (!_.unslicked) {\n _.$slider.trigger(\"afterChange\", [_, index]);\n\n _.animating = false;\n\n if (_.slideCount > _.options.slidesToShow) {\n _.setPosition();\n }\n\n _.swipeLeft = null;\n\n if (_.options.autoplay) {\n _.autoPlay();\n }\n\n if (_.options.accessibility === true) {\n _.initADA();\n\n if (_.options.focusOnChange) {\n var $currentSlide = $(_.$slides.get(_.currentSlide));\n $currentSlide.attr(\"tabindex\", 0).focus();\n }\n }\n }\n };\n\n Slick.prototype.prev = Slick.prototype.slickPrev = function() {\n var _ = this;\n\n _.changeSlide({\n data: {\n message: \"previous\"\n }\n });\n };\n\n Slick.prototype.preventDefault = function(event) {\n event.preventDefault();\n };\n\n Slick.prototype.progressiveLazyLoad = function(tryCount) {\n tryCount = tryCount || 1;\n\n var _ = this,\n $imgsToLoad = $(\"img[data-lazy]\", _.$slider),\n image,\n imageSource,\n imageSrcSet,\n imageSizes,\n imageToLoad;\n\n if ($imgsToLoad.length) {\n image = $imgsToLoad.first();\n imageSource = image.attr(\"data-lazy\");\n imageSrcSet = image.attr(\"data-srcset\");\n imageSizes = image.attr(\"data-sizes\") || _.$slider.attr(\"data-sizes\");\n imageToLoad = document.createElement(\"img\");\n\n imageToLoad.onload = function() {\n if (imageSrcSet) {\n image.attr(\"srcset\", imageSrcSet);\n\n if (imageSizes) {\n image.attr(\"sizes\", imageSizes);\n }\n }\n\n image\n .attr(\"src\", imageSource)\n .removeAttr(\"data-lazy data-srcset data-sizes\")\n .removeClass(\"slick-loading\");\n\n if (_.options.adaptiveHeight === true) {\n _.setPosition();\n }\n\n _.$slider.trigger(\"lazyLoaded\", [_, image, imageSource]);\n _.progressiveLazyLoad();\n };\n\n imageToLoad.onerror = function() {\n if (tryCount < 3) {\n /**\n * try to load the image 3 times,\n * leave a slight delay so we don't get\n * servers blocking the request.\n */\n setTimeout(function() {\n _.progressiveLazyLoad(tryCount + 1);\n }, 500);\n } else {\n image\n .removeAttr(\"data-lazy\")\n .removeClass(\"slick-loading\")\n .addClass(\"slick-lazyload-error\");\n\n _.$slider.trigger(\"lazyLoadError\", [_, image, imageSource]);\n\n _.progressiveLazyLoad();\n }\n };\n\n imageToLoad.src = imageSource;\n } else {\n _.$slider.trigger(\"allImagesLoaded\", [_]);\n }\n };\n\n Slick.prototype.refresh = function(initializing) {\n var _ = this,\n currentSlide,\n lastVisibleIndex;\n\n lastVisibleIndex = _.slideCount - _.options.slidesToShow;\n\n // in non-infinite sliders, we don't want to go past the\n // last visible index.\n if (!_.options.infinite && _.currentSlide > lastVisibleIndex) {\n _.currentSlide = lastVisibleIndex;\n }\n\n // if less slides than to show, go to start.\n if (_.slideCount <= _.options.slidesToShow) {\n _.currentSlide = 0;\n }\n\n currentSlide = _.currentSlide;\n\n _.destroy(true);\n\n $.extend(_, _.initials, { currentSlide: currentSlide });\n\n _.init();\n\n if (!initializing) {\n _.changeSlide(\n {\n data: {\n message: \"index\",\n index: currentSlide\n }\n },\n false\n );\n }\n };\n\n Slick.prototype.registerBreakpoints = function() {\n var _ = this,\n breakpoint,\n currentBreakpoint,\n l,\n responsiveSettings = _.options.responsive || null;\n\n if ($.type(responsiveSettings) === \"array\" && responsiveSettings.length) {\n _.respondTo = _.options.respondTo || \"window\";\n\n for (breakpoint in responsiveSettings) {\n l = _.breakpoints.length - 1;\n\n if (responsiveSettings.hasOwnProperty(breakpoint)) {\n currentBreakpoint = responsiveSettings[breakpoint].breakpoint;\n\n // loop through the breakpoints and cut out any existing\n // ones with the same breakpoint number, we don't want dupes.\n while (l >= 0) {\n if (_.breakpoints[l] && _.breakpoints[l] === currentBreakpoint) {\n _.breakpoints.splice(l, 1);\n }\n l--;\n }\n\n _.breakpoints.push(currentBreakpoint);\n _.breakpointSettings[currentBreakpoint] =\n responsiveSettings[breakpoint].settings;\n }\n }\n\n _.breakpoints.sort(function(a, b) {\n return _.options.mobileFirst ? a - b : b - a;\n });\n }\n };\n\n Slick.prototype.reinit = function() {\n var _ = this;\n\n _.$slides = _.$slideTrack\n .children(_.options.slide)\n .addClass(\"slick-slide\");\n\n _.slideCount = _.$slides.length;\n\n if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {\n _.currentSlide = _.currentSlide - _.options.slidesToScroll;\n }\n\n if (_.slideCount <= _.options.slidesToShow) {\n _.currentSlide = 0;\n }\n\n _.registerBreakpoints();\n\n _.setProps();\n _.setupInfinite();\n _.buildArrows();\n _.updateArrows();\n _.initArrowEvents();\n _.buildDots();\n _.updateDots();\n _.initDotEvents();\n _.cleanUpSlideEvents();\n _.initSlideEvents();\n\n _.checkResponsive(false, true);\n\n if (_.options.focusOnSelect === true) {\n $(_.$slideTrack)\n .children()\n .on(\"click.slick\", _.selectHandler);\n }\n\n _.setSlideClasses(\n typeof _.currentSlide === \"number\" ? _.currentSlide : 0\n );\n\n _.setPosition();\n _.focusHandler();\n\n _.paused = !_.options.autoplay;\n _.autoPlay();\n\n _.$slider.trigger(\"reInit\", [_]);\n };\n\n Slick.prototype.resize = function() {\n var _ = this;\n\n if ($(window).width() !== _.windowWidth) {\n clearTimeout(_.windowDelay);\n _.windowDelay = window.setTimeout(function() {\n _.windowWidth = $(window).width();\n _.checkResponsive();\n if (!_.unslicked) {\n _.setPosition();\n }\n }, 50);\n }\n };\n\n Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(\n index,\n removeBefore,\n removeAll\n ) {\n var _ = this;\n\n if (typeof index === \"boolean\") {\n removeBefore = index;\n index = removeBefore === true ? 0 : _.slideCount - 1;\n } else {\n index = removeBefore === true ? --index : index;\n }\n\n if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {\n return false;\n }\n\n _.unload();\n\n if (removeAll === true) {\n _.$slideTrack.children().remove();\n } else {\n _.$slideTrack\n .children(this.options.slide)\n .eq(index)\n .remove();\n }\n\n _.$slides = _.$slideTrack.children(this.options.slide);\n\n _.$slideTrack.children(this.options.slide).detach();\n\n _.$slideTrack.append(_.$slides);\n\n _.$slidesCache = _.$slides;\n\n _.reinit();\n };\n\n Slick.prototype.setCSS = function(position) {\n var _ = this,\n positionProps = {},\n x,\n y;\n\n if (_.options.rtl === true) {\n position = -position;\n }\n x = _.positionProp == \"left\" ? Math.ceil(position) + \"px\" : \"0px\";\n y = _.positionProp == \"top\" ? Math.ceil(position) + \"px\" : \"0px\";\n\n positionProps[_.positionProp] = position;\n\n if (_.transformsEnabled === false) {\n _.$slideTrack.css(positionProps);\n } else {\n positionProps = {};\n if (_.cssTransitions === false) {\n positionProps[_.animType] = \"translate(\" + x + \", \" + y + \")\";\n _.$slideTrack.css(positionProps);\n } else {\n positionProps[_.animType] = \"translate3d(\" + x + \", \" + y + \", 0px)\";\n _.$slideTrack.css(positionProps);\n }\n }\n };\n\n Slick.prototype.setDimensions = function() {\n var _ = this;\n\n if (_.options.vertical === false) {\n if (_.options.centerMode === true) {\n _.$list.css({\n padding: \"0px \" + _.options.centerPadding\n });\n }\n } else {\n _.$list.height(\n _.$slides.first().outerHeight(true) * _.options.slidesToShow\n );\n if (_.options.centerMode === true) {\n _.$list.css({\n padding: _.options.centerPadding + \" 0px\"\n });\n }\n }\n\n _.listWidth = _.$list.width();\n _.listHeight = _.$list.height();\n\n if (_.options.vertical === false && _.options.variableWidth === false) {\n _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);\n _.$slideTrack.width(\n Math.ceil(\n _.slideWidth * _.$slideTrack.children(\".slick-slide\").length\n )\n );\n } else if (_.options.variableWidth === true) {\n _.$slideTrack.width(5000 * _.slideCount);\n } else {\n _.slideWidth = Math.ceil(_.listWidth);\n _.$slideTrack.height(\n Math.ceil(\n _.$slides.first().outerHeight(true) *\n _.$slideTrack.children(\".slick-slide\").length\n )\n );\n }\n\n var offset =\n _.$slides.first().outerWidth(true) - _.$slides.first().width();\n if (_.options.variableWidth === false)\n _.$slideTrack.children(\".slick-slide\").width(_.slideWidth - offset);\n };\n\n Slick.prototype.setFade = function() {\n var _ = this,\n targetLeft;\n\n _.$slides.each(function(index, element) {\n targetLeft = _.slideWidth * index * -1;\n if (_.options.rtl === true) {\n $(element).css({\n position: \"relative\",\n right: targetLeft,\n top: 0,\n zIndex: _.options.zIndex - 2,\n opacity: 0\n });\n } else {\n $(element).css({\n position: \"relative\",\n left: targetLeft,\n top: 0,\n zIndex: _.options.zIndex - 2,\n opacity: 0\n });\n }\n });\n\n _.$slides.eq(_.currentSlide).css({\n zIndex: _.options.zIndex - 1,\n opacity: 1\n });\n };\n\n Slick.prototype.setHeight = function() {\n var _ = this;\n\n if (\n _.options.slidesToShow === 1 &&\n _.options.adaptiveHeight === true &&\n _.options.vertical === false\n ) {\n var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);\n _.$list.css(\"height\", targetHeight);\n }\n };\n\n Slick.prototype.setOption = Slick.prototype.slickSetOption = function() {\n /**\n * accepts arguments in format of:\n *\n * - for changing a single option's value:\n * .slick(\"setOption\", option, value, refresh )\n *\n * - for changing a set of responsive options:\n * .slick(\"setOption\", 'responsive', [{}, ...], refresh )\n *\n * - for updating multiple values at once (not responsive)\n * .slick(\"setOption\", { 'option': value, ... }, refresh )\n */\n\n var _ = this,\n l,\n item,\n option,\n value,\n refresh = false,\n type;\n\n if ($.type(arguments[0]) === \"object\") {\n option = arguments[0];\n refresh = arguments[1];\n type = \"multiple\";\n } else if ($.type(arguments[0]) === \"string\") {\n option = arguments[0];\n value = arguments[1];\n refresh = arguments[2];\n\n if (arguments[0] === \"responsive\" && $.type(arguments[1]) === \"array\") {\n type = \"responsive\";\n } else if (typeof arguments[1] !== \"undefined\") {\n type = \"single\";\n }\n }\n\n if (type === \"single\") {\n _.options[option] = value;\n } else if (type === \"multiple\") {\n $.each(option, function(opt, val) {\n _.options[opt] = val;\n });\n } else if (type === \"responsive\") {\n for (item in value) {\n if ($.type(_.options.responsive) !== \"array\") {\n _.options.responsive = [value[item]];\n } else {\n l = _.options.responsive.length - 1;\n\n // loop through the responsive object and splice out duplicates.\n while (l >= 0) {\n if (\n _.options.responsive[l].breakpoint === value[item].breakpoint\n ) {\n _.options.responsive.splice(l, 1);\n }\n\n l--;\n }\n\n _.options.responsive.push(value[item]);\n }\n }\n }\n\n if (refresh) {\n _.unload();\n _.reinit();\n }\n };\n\n Slick.prototype.setPosition = function() {\n var _ = this;\n\n _.setDimensions();\n\n _.setHeight();\n\n if (_.options.fade === false) {\n _.setCSS(_.getLeft(_.currentSlide));\n } else {\n _.setFade();\n }\n\n _.$slider.trigger(\"setPosition\", [_]);\n };\n\n Slick.prototype.setProps = function() {\n var _ = this,\n bodyStyle = document.body.style;\n\n _.positionProp = _.options.vertical === true ? \"top\" : \"left\";\n\n if (_.positionProp === \"top\") {\n _.$slider.addClass(\"slick-vertical\");\n } else {\n _.$slider.removeClass(\"slick-vertical\");\n }\n\n if (\n bodyStyle.WebkitTransition !== undefined ||\n bodyStyle.MozTransition !== undefined ||\n bodyStyle.msTransition !== undefined\n ) {\n if (_.options.useCSS === true) {\n _.cssTransitions = true;\n }\n }\n\n if (_.options.fade) {\n if (typeof _.options.zIndex === \"number\") {\n if (_.options.zIndex < 3) {\n _.options.zIndex = 3;\n }\n } else {\n _.options.zIndex = _.defaults.zIndex;\n }\n }\n\n if (bodyStyle.OTransform !== undefined) {\n _.animType = \"OTransform\";\n _.transformType = \"-o-transform\";\n _.transitionType = \"OTransition\";\n if (\n bodyStyle.perspectiveProperty === undefined &&\n bodyStyle.webkitPerspective === undefined\n )\n _.animType = false;\n }\n if (bodyStyle.MozTransform !== undefined) {\n _.animType = \"MozTransform\";\n _.transformType = \"-moz-transform\";\n _.transitionType = \"MozTransition\";\n if (\n bodyStyle.perspectiveProperty === undefined &&\n bodyStyle.MozPerspective === undefined\n )\n _.animType = false;\n }\n if (bodyStyle.webkitTransform !== undefined) {\n _.animType = \"webkitTransform\";\n _.transformType = \"-webkit-transform\";\n _.transitionType = \"webkitTransition\";\n if (\n bodyStyle.perspectiveProperty === undefined &&\n bodyStyle.webkitPerspective === undefined\n )\n _.animType = false;\n }\n if (bodyStyle.msTransform !== undefined) {\n _.animType = \"msTransform\";\n _.transformType = \"-ms-transform\";\n _.transitionType = \"msTransition\";\n if (bodyStyle.msTransform === undefined) _.animType = false;\n }\n if (bodyStyle.transform !== undefined && _.animType !== false) {\n _.animType = \"transform\";\n _.transformType = \"transform\";\n _.transitionType = \"transition\";\n }\n _.transformsEnabled =\n _.options.useTransform && (_.animType !== null && _.animType !== false);\n };\n\n Slick.prototype.setSlideClasses = function(index) {\n var _ = this,\n centerOffset,\n allSlides,\n indexOffset,\n remainder;\n\n allSlides = _.$slider\n .find(\".slick-slide\")\n .removeClass(\"slick-active slick-center slick-current\")\n .attr(\"aria-hidden\", \"true\");\n\n _.$slides.eq(index).addClass(\"slick-current\");\n\n if (_.options.centerMode === true) {\n var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;\n\n centerOffset = Math.floor(_.options.slidesToShow / 2);\n\n if (_.options.infinite === true) {\n if (\n index >= centerOffset &&\n index <= _.slideCount - 1 - centerOffset\n ) {\n _.$slides\n .slice(index - centerOffset + evenCoef, index + centerOffset + 1)\n .addClass(\"slick-active\")\n .attr(\"aria-hidden\", \"false\");\n } else {\n indexOffset = _.options.slidesToShow + index;\n allSlides\n .slice(\n indexOffset - centerOffset + 1 + evenCoef,\n indexOffset + centerOffset + 2\n )\n .addClass(\"slick-active\")\n .attr(\"aria-hidden\", \"false\");\n }\n\n if (index === 0) {\n allSlides\n .eq(allSlides.length - 1 - _.options.slidesToShow)\n .addClass(\"slick-center\");\n } else if (index === _.slideCount - 1) {\n allSlides.eq(_.options.slidesToShow).addClass(\"slick-center\");\n }\n }\n\n _.$slides.eq(index).addClass(\"slick-center\");\n } else {\n if (index >= 0 && index <= _.slideCount - _.options.slidesToShow) {\n _.$slides\n .slice(index, index + _.options.slidesToShow)\n .addClass(\"slick-active\")\n .attr(\"aria-hidden\", \"false\");\n } else if (allSlides.length <= _.options.slidesToShow) {\n allSlides.addClass(\"slick-active\").attr(\"aria-hidden\", \"false\");\n } else {\n remainder = _.slideCount % _.options.slidesToShow;\n indexOffset =\n _.options.infinite === true\n ? _.options.slidesToShow + index\n : index;\n\n if (\n _.options.slidesToShow == _.options.slidesToScroll &&\n _.slideCount - index < _.options.slidesToShow\n ) {\n allSlides\n .slice(\n indexOffset - (_.options.slidesToShow - remainder),\n indexOffset + remainder\n )\n .addClass(\"slick-active\")\n .attr(\"aria-hidden\", \"false\");\n } else {\n allSlides\n .slice(indexOffset, indexOffset + _.options.slidesToShow)\n .addClass(\"slick-active\")\n .attr(\"aria-hidden\", \"false\");\n }\n }\n }\n\n if (\n _.options.lazyLoad === \"ondemand\" ||\n _.options.lazyLoad === \"anticipated\"\n ) {\n _.lazyLoad();\n }\n };\n\n Slick.prototype.setupInfinite = function() {\n var _ = this,\n i,\n slideIndex,\n infiniteCount;\n\n if (_.options.fade === true) {\n _.options.centerMode = false;\n }\n\n if (_.options.infinite === true && _.options.fade === false) {\n slideIndex = null;\n\n if (_.slideCount > _.options.slidesToShow) {\n if (_.options.centerMode === true) {\n infiniteCount = _.options.slidesToShow + 1;\n } else {\n infiniteCount = _.options.slidesToShow;\n }\n\n for (i = _.slideCount; i > _.slideCount - infiniteCount; i -= 1) {\n slideIndex = i - 1;\n $(_.$slides[slideIndex])\n .clone(true)\n .attr(\"id\", \"\")\n .attr(\"data-slick-index\", slideIndex - _.slideCount)\n .prependTo(_.$slideTrack)\n .addClass(\"slick-cloned\");\n }\n for (i = 0; i < infiniteCount + _.slideCount; i += 1) {\n slideIndex = i;\n $(_.$slides[slideIndex])\n .clone(true)\n .attr(\"id\", \"\")\n .attr(\"data-slick-index\", slideIndex + _.slideCount)\n .appendTo(_.$slideTrack)\n .addClass(\"slick-cloned\");\n }\n _.$slideTrack\n .find(\".slick-cloned\")\n .find(\"[id]\")\n .each(function() {\n $(this).attr(\"id\", \"\");\n });\n }\n }\n };\n\n Slick.prototype.interrupt = function(toggle) {\n var _ = this;\n\n if (!toggle) {\n _.autoPlay();\n }\n _.interrupted = toggle;\n };\n\n Slick.prototype.selectHandler = function(event) {\n var _ = this;\n\n var targetElement = $(event.target).is(\".slick-slide\")\n ? $(event.target)\n : $(event.target).parents(\".slick-slide\");\n\n var index = parseInt(targetElement.attr(\"data-slick-index\"));\n\n if (!index) index = 0;\n\n if (_.slideCount <= _.options.slidesToShow) {\n _.slideHandler(index, false, true);\n return;\n }\n\n _.slideHandler(index);\n };\n\n Slick.prototype.slideHandler = function(index, sync, dontAnimate) {\n var targetSlide,\n animSlide,\n oldSlide,\n slideLeft,\n targetLeft = null,\n _ = this,\n navTarget;\n\n sync = sync || false;\n\n if (_.animating === true && _.options.waitForAnimate === true) {\n return;\n }\n\n if (_.options.fade === true && _.currentSlide === index) {\n return;\n }\n\n if (sync === false) {\n _.asNavFor(index);\n }\n\n targetSlide = index;\n targetLeft = _.getLeft(targetSlide);\n slideLeft = _.getLeft(_.currentSlide);\n\n _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;\n\n if (\n _.options.infinite === false &&\n _.options.centerMode === false &&\n (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)\n ) {\n if (_.options.fade === false) {\n targetSlide = _.currentSlide;\n if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {\n _.animateSlide(slideLeft, function() {\n _.postSlide(targetSlide);\n });\n } else {\n _.postSlide(targetSlide);\n }\n }\n return;\n } else if (\n _.options.infinite === false &&\n _.options.centerMode === true &&\n (index < 0 || index > _.slideCount - _.options.slidesToScroll)\n ) {\n if (_.options.fade === false) {\n targetSlide = _.currentSlide;\n if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {\n _.animateSlide(slideLeft, function() {\n _.postSlide(targetSlide);\n });\n } else {\n _.postSlide(targetSlide);\n }\n }\n return;\n }\n\n if (_.options.autoplay) {\n clearInterval(_.autoPlayTimer);\n }\n\n if (targetSlide < 0) {\n if (_.slideCount % _.options.slidesToScroll !== 0) {\n animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);\n } else {\n animSlide = _.slideCount + targetSlide;\n }\n } else if (targetSlide >= _.slideCount) {\n if (_.slideCount % _.options.slidesToScroll !== 0) {\n animSlide = 0;\n } else {\n animSlide = targetSlide - _.slideCount;\n }\n } else {\n animSlide = targetSlide;\n }\n\n _.animating = true;\n\n _.$slider.trigger(\"beforeChange\", [_, _.currentSlide, animSlide]);\n\n oldSlide = _.currentSlide;\n _.currentSlide = animSlide;\n\n _.setSlideClasses(_.currentSlide);\n\n if (_.options.asNavFor) {\n navTarget = _.getNavTarget();\n navTarget = navTarget.slick(\"getSlick\");\n\n if (navTarget.slideCount <= navTarget.options.slidesToShow) {\n navTarget.setSlideClasses(_.currentSlide);\n }\n }\n\n _.updateDots();\n _.updateArrows();\n\n if (_.options.fade === true) {\n if (dontAnimate !== true) {\n _.fadeSlideOut(oldSlide);\n\n _.fadeSlide(animSlide, function() {\n _.postSlide(animSlide);\n });\n } else {\n _.postSlide(animSlide);\n }\n _.animateHeight();\n return;\n }\n\n if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {\n _.animateSlide(targetLeft, function() {\n _.postSlide(animSlide);\n });\n } else {\n _.postSlide(animSlide);\n }\n };\n\n Slick.prototype.startLoad = function() {\n var _ = this;\n\n if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n _.$prevArrow.hide();\n _.$nextArrow.hide();\n }\n\n if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n _.$dots.hide();\n }\n\n _.$slider.addClass(\"slick-loading\");\n };\n\n Slick.prototype.swipeDirection = function() {\n var xDist,\n yDist,\n r,\n swipeAngle,\n _ = this;\n\n xDist = _.touchObject.startX - _.touchObject.curX;\n yDist = _.touchObject.startY - _.touchObject.curY;\n r = Math.atan2(yDist, xDist);\n\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0) {\n return _.options.rtl === false ? \"left\" : \"right\";\n }\n if (swipeAngle <= 360 && swipeAngle >= 315) {\n return _.options.rtl === false ? \"left\" : \"right\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return _.options.rtl === false ? \"right\" : \"left\";\n }\n if (_.options.verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"down\";\n } else {\n return \"up\";\n }\n }\n\n return \"vertical\";\n };\n\n Slick.prototype.swipeEnd = function(event) {\n var _ = this,\n slideCount,\n direction;\n\n _.dragging = false;\n _.swiping = false;\n\n if (_.scrolling) {\n _.scrolling = false;\n return false;\n }\n\n _.interrupted = false;\n _.shouldClick = _.touchObject.swipeLength > 10 ? false : true;\n\n if (_.touchObject.curX === undefined) {\n return false;\n }\n\n if (_.touchObject.edgeHit === true) {\n _.$slider.trigger(\"edge\", [_, _.swipeDirection()]);\n }\n\n if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {\n direction = _.swipeDirection();\n\n switch (direction) {\n case \"left\":\n case \"down\":\n slideCount = _.options.swipeToSlide\n ? _.checkNavigable(_.currentSlide + _.getSlideCount())\n : _.currentSlide + _.getSlideCount();\n\n _.currentDirection = 0;\n\n break;\n\n case \"right\":\n case \"up\":\n slideCount = _.options.swipeToSlide\n ? _.checkNavigable(_.currentSlide - _.getSlideCount())\n : _.currentSlide - _.getSlideCount();\n\n _.currentDirection = 1;\n\n break;\n\n default:\n }\n\n if (direction != \"vertical\") {\n _.slideHandler(slideCount);\n _.touchObject = {};\n _.$slider.trigger(\"swipe\", [_, direction]);\n }\n } else {\n if (_.touchObject.startX !== _.touchObject.curX) {\n _.slideHandler(_.currentSlide);\n _.touchObject = {};\n }\n }\n };\n\n Slick.prototype.swipeHandler = function(event) {\n var _ = this;\n\n if (\n _.options.swipe === false ||\n (\"ontouchend\" in document && _.options.swipe === false)\n ) {\n return;\n } else if (\n _.options.draggable === false &&\n event.type.indexOf(\"mouse\") !== -1\n ) {\n return;\n }\n\n _.touchObject.fingerCount =\n event.originalEvent && event.originalEvent.touches !== undefined\n ? event.originalEvent.touches.length\n : 1;\n\n _.touchObject.minSwipe = _.listWidth / _.options.touchThreshold;\n\n if (_.options.verticalSwiping === true) {\n _.touchObject.minSwipe = _.listHeight / _.options.touchThreshold;\n }\n\n switch (event.data.action) {\n case \"start\":\n _.swipeStart(event);\n break;\n\n case \"move\":\n _.swipeMove(event);\n break;\n\n case \"end\":\n _.swipeEnd(event);\n break;\n }\n };\n\n Slick.prototype.swipeMove = function(event) {\n var _ = this,\n edgeWasHit = false,\n curLeft,\n swipeDirection,\n swipeLength,\n positionOffset,\n touches,\n verticalSwipeLength;\n\n touches =\n event.originalEvent !== undefined ? event.originalEvent.touches : null;\n\n if (!_.dragging || _.scrolling || (touches && touches.length !== 1)) {\n return false;\n }\n\n curLeft = _.getLeft(_.currentSlide);\n\n _.touchObject.curX =\n touches !== undefined ? touches[0].pageX : event.clientX;\n _.touchObject.curY =\n touches !== undefined ? touches[0].pageY : event.clientY;\n\n _.touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(_.touchObject.curX - _.touchObject.startX, 2))\n );\n\n verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(_.touchObject.curY - _.touchObject.startY, 2))\n );\n\n if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {\n _.scrolling = true;\n return false;\n }\n\n if (_.options.verticalSwiping === true) {\n _.touchObject.swipeLength = verticalSwipeLength;\n }\n\n swipeDirection = _.swipeDirection();\n\n if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {\n _.swiping = true;\n event.preventDefault();\n }\n\n positionOffset =\n (_.options.rtl === false ? 1 : -1) *\n (_.touchObject.curX > _.touchObject.startX ? 1 : -1);\n if (_.options.verticalSwiping === true) {\n positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;\n }\n\n swipeLength = _.touchObject.swipeLength;\n\n _.touchObject.edgeHit = false;\n\n if (_.options.infinite === false) {\n if (\n (_.currentSlide === 0 && swipeDirection === \"right\") ||\n (_.currentSlide >= _.getDotCount() && swipeDirection === \"left\")\n ) {\n swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;\n _.touchObject.edgeHit = true;\n }\n }\n\n if (_.options.vertical === false) {\n _.swipeLeft = curLeft + swipeLength * positionOffset;\n } else {\n _.swipeLeft =\n curLeft +\n swipeLength * (_.$list.height() / _.listWidth) * positionOffset;\n }\n if (_.options.verticalSwiping === true) {\n _.swipeLeft = curLeft + swipeLength * positionOffset;\n }\n\n if (_.options.fade === true || _.options.touchMove === false) {\n return false;\n }\n\n if (_.animating === true) {\n _.swipeLeft = null;\n return false;\n }\n\n _.setCSS(_.swipeLeft);\n };\n\n Slick.prototype.swipeStart = function(event) {\n var _ = this,\n touches;\n\n _.interrupted = true;\n\n if (\n _.touchObject.fingerCount !== 1 ||\n _.slideCount <= _.options.slidesToShow\n ) {\n _.touchObject = {};\n return false;\n }\n\n if (\n event.originalEvent !== undefined &&\n event.originalEvent.touches !== undefined\n ) {\n touches = event.originalEvent.touches[0];\n }\n\n _.touchObject.startX = _.touchObject.curX =\n touches !== undefined ? touches.pageX : event.clientX;\n _.touchObject.startY = _.touchObject.curY =\n touches !== undefined ? touches.pageY : event.clientY;\n\n _.dragging = true;\n };\n\n Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {\n var _ = this;\n\n if (_.$slidesCache !== null) {\n _.unload();\n\n _.$slideTrack.children(this.options.slide).detach();\n\n _.$slidesCache.appendTo(_.$slideTrack);\n\n _.reinit();\n }\n };\n\n Slick.prototype.unload = function() {\n var _ = this;\n\n $(\".slick-cloned\", _.$slider).remove();\n\n if (_.$dots) {\n _.$dots.remove();\n }\n\n if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {\n _.$prevArrow.remove();\n }\n\n if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {\n _.$nextArrow.remove();\n }\n\n _.$slides\n .removeClass(\"slick-slide slick-active slick-visible slick-current\")\n .attr(\"aria-hidden\", \"true\")\n .css(\"width\", \"\");\n };\n\n Slick.prototype.unslick = function(fromBreakpoint) {\n var _ = this;\n _.$slider.trigger(\"unslick\", [_, fromBreakpoint]);\n _.destroy();\n };\n\n Slick.prototype.updateArrows = function() {\n var _ = this,\n centerOffset;\n\n centerOffset = Math.floor(_.options.slidesToShow / 2);\n\n if (\n _.options.arrows === true &&\n _.slideCount > _.options.slidesToShow &&\n !_.options.infinite\n ) {\n _.$prevArrow\n .removeClass(\"slick-disabled\")\n .attr(\"aria-disabled\", \"false\");\n _.$nextArrow\n .removeClass(\"slick-disabled\")\n .attr(\"aria-disabled\", \"false\");\n\n if (_.currentSlide === 0) {\n _.$prevArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\");\n _.$nextArrow\n .removeClass(\"slick-disabled\")\n .attr(\"aria-disabled\", \"false\");\n } else if (\n _.currentSlide >= _.slideCount - _.options.slidesToShow &&\n _.options.centerMode === false\n ) {\n _.$nextArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\");\n _.$prevArrow\n .removeClass(\"slick-disabled\")\n .attr(\"aria-disabled\", \"false\");\n } else if (\n _.currentSlide >= _.slideCount - 1 &&\n _.options.centerMode === true\n ) {\n _.$nextArrow.addClass(\"slick-disabled\").attr(\"aria-disabled\", \"true\");\n _.$prevArrow\n .removeClass(\"slick-disabled\")\n .attr(\"aria-disabled\", \"false\");\n }\n }\n };\n\n Slick.prototype.updateDots = function() {\n var _ = this;\n\n if (_.$dots !== null) {\n _.$dots\n .find(\"li\")\n .removeClass(\"slick-active\")\n .end();\n\n _.$dots\n .find(\"li\")\n .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))\n .addClass(\"slick-active\");\n }\n };\n\n Slick.prototype.visibility = function() {\n var _ = this;\n\n if (_.options.autoplay) {\n if (document[_.hidden]) {\n _.interrupted = true;\n } else {\n _.interrupted = false;\n }\n }\n };\n\n $.fn.slick = function() {\n var _ = this,\n opt = arguments[0],\n args = Array.prototype.slice.call(arguments, 1),\n l = _.length,\n i,\n ret;\n for (i = 0; i < l; i++) {\n if (typeof opt == \"object\" || typeof opt == \"undefined\")\n _[i].slick = new Slick(_[i], opt);\n else ret = _[i].slick[opt].apply(_[i].slick, args);\n if (typeof ret != \"undefined\") return ret;\n }\n return _;\n };\n });\n $(function() {\n // First Choose\n $(\".first-choose-count\").click(function() {\n var findTxt = $(this).index();\n $(this)\n .addClass(\"active\")\n .siblings()\n .removeClass(\"active\");\n $(\".first-choose-textbox\").val(findTxt);\n });\n\n // third Choose\n $(\".third-choose-count\").click(function() {\n var findTxt = $(this).index();\n $(this)\n .addClass(\"active\")\n .siblings()\n .removeClass(\"active\");\n $(\".third-choose-textbox\").val(findTxt);\n });\n\n //Page reload\n\n $(\".PageReload span\").click(function() {\n location.reload();\n });\n\n //Slider\n $(\".main-slider\").slick({\n dots: true,\n arrows: false,\n infinite: false,\n speed: 300,\n slidesToShow: 1,\n slidesToScroll: 1,\n swipe: false\n });\n\n $(\"#income\").slider({\n range: \"min\",\n value: 75,\n step: 1,\n min: 25,\n max: 150,\n slide: function(event, ui) {\n $(\".amount\").text(ui.value);\n $(\".incomeAmount\").val(ui.value);\n }\n });\n });\n\n // Step - 1\n function stepOne() {\n if ($(\".first-choose-textbox\").val() == \"\") {\n alert(\"Please select an option.\");\n return false;\n } else {\n setTimeout(function() {\n $(\".slick-dots li:eq(1) button\").click();\n });\n $(\".progressbar\").css({\n width: \"66%\"\n });\n }\n }\n\n // Step - 1 PREVIOUS\n function prestepOne() {\n setTimeout(function() {\n $(\".slick-dots li:eq(0) button\").click();\n });\n $(\".progressbar\").css({\n width: \"33%\"\n });\n }\n\n // Step - 2\n function stepTwo() {\n var firstCount = $(\".first-choose-textbox\").val();\n var secondCount = $(\".incomeAmount\").val();\n // var thirdCount = $('.third-choose-textbox').val();\n\n setTimeout(function() {\n $(\".slick-dots li:eq(2) button\").click();\n });\n $(\".progressbar\").css({\n width: \"100%\"\n });\n\n if (firstCount == 0 || firstCount == 1 || firstCount == 2) {\n if (secondCount >= 25 && secondCount <= 35) {\n $(\".third-choose-count:eq(0), .third-choose-count:eq(2)\").css({\n display: \"none\"\n });\n }\n if (secondCount >= 36 && secondCount <= 75) {\n $(\n \".third-choose-count:eq(0), .third-choose-count:eq(1), .third-choose-count:eq(2)\"\n ).css({\n display: \"block\"\n });\n }\n\n if (secondCount > 75) {\n $(\n \".third-choose-count:eq(0), .third-choose-count:eq(1), .third-choose-count:eq(2)\"\n ).css({\n display: \"block\"\n });\n }\n }\n }\n\n // Step - 2 PREVIOUS\n function prestepTwo() {\n setTimeout(function() {\n $(\".slick-dots li:eq(1) button\").click();\n });\n $(\".progressbar\").css({\n width: \"66%\"\n });\n }\n\n // Step - 2\n function stepThree() {\n if ($(\".third-choose-textbox\").val() == \"\") {\n alert(\"Please select an option.\");\n return false;\n } else {\n var firstCount = $(\".first-choose-textbox\").val();\n var secondCount = $(\".incomeAmount\").val();\n var thirdCount = $(\".third-choose-textbox\").val();\n\n // firstCount\n if (firstCount == 0) {\n if (secondCount >= 25 && secondCount <= 35) {\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n }\n if (secondCount >= 36 && secondCount <= 75) {\n if (thirdCount == 0) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual\").css({\n display: \"block\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Low-Rate\").css({\n background: \"#FFF\"\n });\n $(\".Low-Rate\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Low-Rate\")\n .find(\"h4\")\n .text(\n \"Not paying off your full balance will incur interest at a higher rate with the above card. You may also like to consider our lowest interest rate card.\"\n );\n }\n if (thirdCount == 2) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Flyer-Card\").css({\n display: \"block\"\n });\n $(\".Anytime-card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Anytime-card\").css({\n background: \"#FFF\"\n });\n $(\".Anytime-card\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Anytime-card\")\n .find(\"h4\")\n .text(\n \"Enjoy rewards, perks, points and more with our Virgin Money Points earning credit card.\"\n );\n }\n }\n\n if (secondCount > 75) {\n if (thirdCount == 0) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual\").css({\n display: \"block\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Low-Rate\").css({\n background: \"#FFF\"\n });\n $(\".Low-Rate\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Low-Rate\")\n .find(\"h4\")\n .text(\n \"Not paying off your full balance will incur interest at a higher rate with the above card. You may also like to consider our lowest interest rate card.\"\n );\n }\n if (thirdCount == 2) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Flyer-Card\").css({\n display: \"block\"\n });\n $(\".Hight-Flyer-Card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Hight-Flyer-Card\").css({\n background: \"#FFF\"\n });\n $(\".Hight-Flyer-Card\")\n .find(\"h1\")\n .text(\"Also consider:\");\n }\n }\n }\n // firstCount\n\n // secondCount\n if (firstCount == 1) {\n if (secondCount >= 25 && secondCount <= 35) {\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n }\n if (secondCount >= 36 && secondCount <= 75) {\n if (thirdCount == 0) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n /*$('.Low-Rate').css({\n background: \"#FFF\"\n });*/\n // $('.Low-Rate').find('h1').text('TOP RECOMMENDATION:');\n //$('.Low-Rate').find('h4').text('Enjoy a low ongoing variable purchase rate of 11.99% p.a.');\n }\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual\").css({\n display: \"block\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Low-Rate\").css({\n background: \"#FFF\"\n });\n $(\".Low-Rate\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Low-Rate\")\n .find(\"h4\")\n .text(\n \"Not paying off your full balance will incur interest at a higher rate with the above card. You may also like to consider our lowest interest rate card.\"\n );\n }\n if (thirdCount == 2) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Flyer-Card\").css({\n display: \"block\"\n });\n $(\".Anytime-card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Anytime-card\").css({\n background: \"#FFF\"\n });\n $(\".Anytime-card\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Anytime-card\")\n .find(\"h4\")\n .text(\n \"Enjoy rewards, perks, points and more with our Virgin Money Points earning credit card.\"\n );\n }\n }\n\n if (secondCount > 75) {\n if (thirdCount == 0) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n /*$('.Low-Rate').css({\n background: \"#FFF\"\n });*/\n //$('.Low-Rate').find('h1').text('Also consider:');\n //$('.Low-Rate').find('h4').text('Not paying off your full balance will incur interest at a higher rate with the above card. You may also like to consider our lowest interest rate card.');\n }\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual\").css({\n display: \"block\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Low-Rate\").css({\n background: \"#FFF\"\n });\n $(\".Low-Rate\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Low-Rate\")\n .find(\"h4\")\n .text(\n \"Not paying off your full balance will incur interest at a higher rate with the above card. You may also like to consider our lowest interest rate card.\"\n );\n }\n if (thirdCount == 2) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Flyer-Card\").css({\n display: \"block\"\n });\n $(\".Hight-Flyer-Card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Hight-Flyer-Card\").css({\n background: \"#FFF\"\n });\n $(\".Hight-Flyer-Card\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Low-Rate\")\n .find(\"h4\")\n .text(\n \"Not paying off your full balance will incur interest at a higher rate with the above card. You may also like to consider our lowest interest rate card.\"\n );\n }\n }\n }\n // secondCount\n\n // thirdCount\n if (firstCount == 2) {\n if (secondCount >= 25 && secondCount <= 35) {\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n }\n if (secondCount >= 36 && secondCount <= 75) {\n if (thirdCount == 0) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n if (thirdCount == 2) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Flyer-Card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Anytime-card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Anytime-card\").css({\n background: \"#FFF\"\n });\n $(\".Anytime-card\")\n .find(\"h1\")\n .text(\"Also consider:\");\n $(\".Anytime-card\")\n .find(\"h4\")\n .text(\n \"Enjoy rewards, perks, points and more with our Virgin Money Points earning credit card.\"\n );\n }\n }\n\n if (secondCount >= 76) {\n if (thirdCount == 0) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Low-Rate, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n }\n if (thirdCount == 1) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".No-Annual, .PageReload\").css({\n display: \"block\"\n });\n }\n if (thirdCount == 2) {\n $(\".card-list-types, .inner-container\").css({\n display: \"none\"\n });\n $(\".Flyer-Card, .PageReload, .compare-cards\").css({\n display: \"block\"\n });\n $(\".Hight-Flyer-Card\").css({\n display: \"block\"\n });\n $(\".Hight-Flyer-Card\").css({\n background: \"#FFF\"\n });\n $(\".Hight-Flyer-Card\")\n .find(\"h1\")\n .text(\"Also consider:\");\n }\n }\n }\n // thirdCount\n }\n }\n\n $(document).ready(function() {\n $(\".accordion-item\").on(\"click\", function() {\n if (!$(this).hasClass(\"is-expanded\")) {\n $(this).addClass(\"is-expanded\");\n $(this).addClass(\"active\");\n $(this)\n .find(\".ec\")\n .addClass(\"active\");\n $(this).attr(\"aria-expanded\", true);\n $(this)\n .next()\n .addClass(\"is-expanded\")\n .css({ opacity: \"1\", display: \"block\" });\n $(\"html, body\").animate({ scrollTop: 800 }, 800);\n } else {\n $(this).removeClass(\"is-expanded\");\n $(this).removeClass(\"active\");\n $(this)\n .find(\".ec\")\n .removeClass(\"active\");\n $(this).attr(\"aria-expanded\", false);\n $(this)\n .next()\n .removeClass(\"is-expanded\")\n .css({ opacity: \"0\", display: \"none\" });\n }\n });\n });"}]