It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://fedorovkarb.ru

  1. <!doctype html>
  2. <html>
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6.    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0">
  7.            <link rel='stylesheet' href='/designs/cc-dc-ic-2/css/swiper.min.css'>
  8.            <link rel='stylesheet' href='/designs/cc-dc-ic-2/css/zstyles.css'>
  9.                <script src="https://my.saleads.pro/api/scid.js?auth=uPpwWHxWWE5iZoZwGjewVgVgO6rqg7rONPA2iVA10xFX2ufnlf"></script>
  10.    
  11.            <title>Лучшие предложения по картам - fedorovkarb.ru</title>
  12.                <meta name="description" content="Оформляйте самые выгодные карты прямо сейчас! Большой выбор кредитных и дебетовых карт от лучших банков страны." />
  13.            <link rel="icon" href="/designs/cc-dc-ic-2/img/fav-3.png" />
  14.    <meta property="og:image" content="/designs/cc-dc-ic-2/img/soc-3.png"/>
  15.    <link href="https://fonts.googleapis.com/css?family=Rubik:400,500,700&display=swap&subset=cyrillic" rel="stylesheet">
  16. </head>
  17. <body >
  18.    <div id="app" class="wrapper">
  19.        <header>
  20.            <div class="container">
  21.                <a href="#" class="logo">fedorovkarb.ru <small>Сервис по поиску банковских карт</small></a>
  22.            </div>
  23.        </header>
  24.        <main>
  25.            <section class="main-section">
  26.                <div class="main-slider">
  27.                    <div class="main-slider__content">
  28.                        <div class="swiper-container">
  29.                            <!-- Additional required wrapper -->
  30.                            <div class="swiper-wrapper">
  31.                                <template v-for="(item, index) in elements" v-if="index < 5">
  32.                                    <debetcard-top-template
  33.                                            :item="item"
  34.                                            v-if="item.type == 'debetcard'"
  35.                                            :key="index"
  36.                                            :counters="counters"
  37.                                    ></debetcard-top-template>
  38.                                    <creditcard-top-template
  39.                                            :item="item"
  40.                                            v-if="item.type == 'creditcard'"
  41.                                            :key="index"
  42.                                            :counters="counters"
  43.                                    ></creditcard-top-template>
  44.                                    <installmentcard-top-template
  45.                                            :item="item"
  46.                                            v-if="item.type == 'installmentcard'"
  47.                                            :key="index"
  48.                                            :counters="counters"
  49.                                    ></installmentcard-top-template>
  50.                                </template>
  51.                            </div>
  52.  
  53.                            <!-- If we need navigation buttons -->
  54.                            <div class="swiper-button-prev4">
  55.                                <svg class="icon">
  56.                                    <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#slider-arrow"></use>
  57.                                </svg>
  58.                            </div>
  59.                            <div class="swiper-button-next4">
  60.                                <svg class="icon">
  61.                                    <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#slider-arrow"></use>
  62.                                </svg>
  63.                            </div>
  64.                        </div>
  65.                    </div>
  66.                </div>
  67.            </section>
  68.  
  69.  
  70.            <section class="all-cards-section" id="tabs-anchor">
  71.                <div class="tabs-anchor-mobile"  id="tabs-anchor-mobile"></div>
  72.                <div class="container" >
  73.                    <div class="tabs-sticky"  >
  74.                        <nav class="tabs tabs--desktop">
  75.                            <div class="selector"></div>
  76.                            <a href="#tabs-anchor" data-body="all-tab" v-if="hasCards.length > 1" :class="{active: type == ''}" @click="setActiveTab('')">
  77.                                 <span class="icon" style="top:1px">
  78.                                   <svg width="12px" height="12px">
  79.                                     <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-1"></use>
  80.                                   </svg>
  81.                                 </span>
  82.                                Смотреть все
  83.                            </a>
  84.                            <a href="#tabs-anchor" data-body="credit-tab" v-if="hasCards.indexOf('creditcard') != -1" :class="{active: type == 'creditcard'}" @click="setActiveTab('creditcard')">
  85.                                 <span class="icon">
  86.                                   <svg width="16px" height="16px" >
  87.                                     <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-2"></use>
  88.                                   </svg>
  89.                                 </span>
  90.                                Кредитные карты
  91.                            </a>
  92.                            <a href="#tabs-anchor" data-body="debet-tab" v-if="hasCards.indexOf('debetcard') != -1" :class="{active: type == 'debetcard'}" @click="setActiveTab('debetcard')">
  93.                                 <span class="icon">
  94.                                   <svg width="16px" height="16px">
  95.                                     <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-3"></use>
  96.                                   </svg>
  97.                                 </span>
  98.                                Дебетовые карты
  99.                            </a>
  100.                            <a href="#tabs-anchor" data-body="installment-tab" v-if="hasCards.indexOf('installmentcard') != -1" :class="{active: type == 'installmentcard'}" @click="setActiveTab('installmentcard')">
  101.                                 <span class="icon">
  102.                                   <svg width="16px" height="16px">
  103.                                     <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-4"></use>
  104.                                   </svg>
  105.                                 </span>
  106.                                Карты рассрочки
  107.                            </a>
  108.                        </nav>
  109.                    </div>
  110.                    <nav class="tabs tabs--mobile">
  111.                        <div class="tabs__swap">
  112.                          <span  class="tabs__span active">
  113.                            <span class="icon" style="top:1px">
  114.                              <svg width="12px" height="12px">
  115.                                <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-1"></use>
  116.                              </svg>
  117.                            </span>
  118.                              <template v-if="hasCards.length > 1 && type == ''" >
  119.                                    Смотреть все
  120.                                </template>
  121.                                <template v-if="hasCards.indexOf('debetcard') != -1 && type == 'debetcard'">
  122.                                    Дебетовые
  123.                                </template>
  124.                                <template v-if="hasCards.indexOf('creditcard') != -1 && type == 'creditcard'">
  125.                                    Кредитные
  126.                                </template>
  127.                                <template v-if="hasCards.indexOf('installmentcard') != -1 && type == 'installmentcard'">
  128.                                    Рассрочки
  129.                                </template>
  130.                            <span class="tabs__arrow"><img src="/designs/cc-dc-ic-2/img/tab-arrow.png" alt=""></span>
  131.                          </span>
  132.                        </div>
  133.                        <ul>
  134.                            <li>
  135.                                <a href="#tabs-anchor-mobile" data-body="all-tab" v-if="hasCards.length > 1"  :class="{active: type == ''}" @click="setActiveTab('')">
  136.                                  <span class="icon" style="top:1px">
  137.                                    <svg width="12px" height="12px">
  138.                                      <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-1"></use>
  139.                                    </svg>
  140.                                  </span>
  141.                                    Смотреть все
  142.                                    <span class="tabs__arrow"><img src="/designs/cc-dc-ic-2/img/tab-arrow.png" alt=""></span>
  143.                                </a>
  144.                            </li>
  145.                            <li>
  146.                                <a href="#tabs-anchor-mobile" data-body="credit-tab" v-if="hasCards.indexOf('creditcard') != -1" :class="{active: type == 'creditcard'}" @click="setActiveTab('creditcard')">
  147.                                      <span class="icon">
  148.                                        <svg width="16px" height="16px" >
  149.                                          <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-2"></use>
  150.                                        </svg>
  151.                                      </span>
  152.                                    Кредитные карты
  153.                                    <span class="tabs__arrow"><img src="/designs/cc-dc-ic-2/img/tab-arrow.png" alt=""></span>
  154.                                </a>
  155.                            </li>
  156.                            <li>
  157.                                <a href="#tabs-anchor-mobile" data-body="debet-tab" v-if="hasCards.indexOf('debetcard') != -1" :class="{active: type == 'debetcard'}" @click="setActiveTab('debetcard')">
  158.                                  <span class="icon">
  159.                                    <svg width="16px" height="16px">
  160.                                      <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-3"></use>
  161.                                    </svg>
  162.                                  </span>
  163.                                    Дебетовые карты
  164.                                    <span class="tabs__arrow"><img src="/designs/cc-dc-ic-2/img/tab-arrow.png" alt=""></span>
  165.                                </a>
  166.                            </li>
  167.                            <li>
  168.                                <a href="#tabs-anchor-mobile" data-body="installment-tab" v-if="hasCards.indexOf('installmentcard') != -1" :class="{active: type == 'installmentcard'}" @click="setActiveTab('installmentcard')">
  169.                                      <span class="icon">
  170.                                        <svg width="16px" height="16px">
  171.                                          <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#tab-icon-4"></use>
  172.                                        </svg>
  173.                                      </span>
  174.                                    Карты рассрочки
  175.                                    <span class="tabs__arrow"><img src="/designs/cc-dc-ic-2/img/tab-arrow.png" alt=""></span>
  176.                                </a>
  177.                            </li>
  178.                        </ul>
  179.  
  180.  
  181.  
  182.  
  183.                    </nav>
  184.                    <div class="tab-body">
  185.                        <div class="tab-item all-tab" :class="{active: type == ''}">
  186.                            <div class="tab-head">
  187.                                <h2 class="center">Все карты<small>Более {{ elements.length }} компаний для ваших целей</small></h2>
  188.                            </div>
  189.  
  190.                            <div class="cards-container">
  191.                                <template v-for="(item, index) in elements">
  192.                                    <debetcard-template
  193.                                            :item="item"
  194.                                            v-if="item.type == 'debetcard'"
  195.                                            :key="index"
  196.                                            :counters="counters"
  197.                                    ></debetcard-template>
  198.                                    <creditcard-template
  199.                                            :item="item"
  200.                                            v-if="item.type == 'creditcard'"
  201.                                            :key="index"
  202.                                            :counters="counters"
  203.                                    ></creditcard-template>
  204.                                    <installmentcard-template
  205.                                            :item="item"
  206.                                            v-if="item.type == 'installmentcard'"
  207.                                            :key="index"
  208.                                            :counters="counters"
  209.                                    ></installmentcard-template>
  210.                                </template>
  211.                            </div>
  212.  
  213.                        </div>
  214.                        <div class="tab-item credit-tab" :class="{active: type == 'creditcard'}">
  215.                            <div class="tab-head">
  216.                                <h2 class="center">Кредитные карты<small>Более {{ elements.length  }} компаний для ваших целей</small></h2>
  217.                            </div>
  218.                            <template v-for="(item, index) in elements">
  219.                                <creditcard-template
  220.                                        :item="item"
  221.                                        v-if="item.type == 'creditcard'"
  222.                                        :key="index"
  223.                                        :counters="counters"
  224.                                ></creditcard-template>
  225.                            </template>
  226.                        </div>
  227.                        <div class="tab-item debet-tab" :class="{active: type == 'debetcard'}">
  228.                            <div class="tab-head">
  229.                                <h2 class="center">Дебетовые карты<small>Более {{ elements.length  }} компаний для ваших целей</small></h2>
  230.                            </div>
  231.                            <template v-for="(item, index) in elements">
  232.                                <debetcard-template
  233.                                        :item="item"
  234.                                        v-if="item.type == 'debetcard'"
  235.                                        :key="index"
  236.                                        :counters="counters"
  237.                                ></debetcard-template>
  238.                            </template>
  239.                        </div>
  240.                        <div class="tab-item installment-tab" :class="{active: type == 'installmentcard'}">
  241.                            <div class="tab-head">
  242.                                <h2 class="center">Карты рассрочки <small>Более {{ elements.length  }} компаний для ваших целей</small></h2>
  243.                            </div>
  244.                            <template v-for="(item, index) in elements">
  245.                                <installmentcard-template
  246.                                        :item="item"
  247.                                        v-if="item.type == 'installmentcard'"
  248.                                        :key="index"
  249.                                        :counters="counters"
  250.                                ></installmentcard-template>
  251.                            </template>
  252.                        </div>
  253.                    </div>
  254.  
  255.                </div>
  256.            </section>
  257.  
  258.  
  259.            <section class="benefits-section" >
  260.                <div class="container">
  261.                    <div class="benefits">
  262.                        <div class="benefits-item">
  263.              <span class="benefits-item__title">Лучший <br>
  264.                кэшбэк</span>
  265.                            <p>до 20% возврщается вам на карту</p>
  266.                            <span class="benefits-item__img"><img src="/designs/cc-dc-ic-2/img/benefits-img-1.svg" alt=""></span>
  267.                        </div>
  268.                        <div class="benefits-item">
  269.              <span class="benefits-item__title">Бесплатное<br>
  270.                обслуживание</span>
  271.                            <p>поможем найти карту с наиболее выгодными условиями</p>
  272.                            <span class="benefits-item__img"><img src="/designs/cc-dc-ic-2/img/benefits-img-2.svg" alt=""></span>
  273.                        </div>
  274.                        <div class="benefits-item">
  275.              <span class="benefits-item__title">Быстрое<br>
  276.                оформление</span>
  277.                            <p>не тратьте время на живую очередь и сбор документов!</p>
  278.                            <span class="benefits-item__img"><img src="/designs/cc-dc-ic-2/img/benefits-img-3.svg" alt=""></span>
  279.                        </div>
  280.                        <div class="benefits-item">
  281.                            <span class="benefits-item__title">Надежность</span>
  282.                            <p>карты от самых надежных банков, дорожащих своей репутацией</p>
  283.                            <span class="benefits-item__img"><img src="/designs/cc-dc-ic-2/img/benefits-img-4.svg" alt=""></span>
  284.                        </div>
  285.                    </div>
  286.                </div>
  287.  
  288.            </section>
  289.            <section class="free-card-section">
  290.  
  291.                <div class="container">
  292.                    <div class="free-card-main">
  293.                        <div class="swiper free-swiper">
  294.                            <div class="swiper-wrapper">
  295.                                <template v-for="(item, index) in elements">
  296.                                    <card-info-template
  297.                                            :item="item"
  298.                                            :key="index"
  299.                                            :counters="counters"
  300.                                    ></card-info-template>
  301.                                </template>
  302.                            </div>
  303.                            <div class="swiper-button-prev2">
  304.                                <svg class="icon">
  305.                                    <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#slider-arrow"></use>
  306.                                </svg>
  307.                            </div>
  308.                            <div class="swiper-button-next2">
  309.                                <svg class="icon">
  310.                                    <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#slider-arrow"></use>
  311.                                </svg>
  312.                            </div>
  313.                        </div>
  314.                    </div>
  315.                </div>
  316.  
  317.  
  318.            </section>
  319.  
  320.            <section class="other-offers-section">
  321.                <div class="container">
  322.                    <h2>другие предложения<small>Банковские карты с лучшими условиями на рынке</small></h2>
  323.                    <div class="other-slider">
  324.                        <div class="swiper other-swiper">
  325.                            <div class="swiper-wrapper">
  326.                                <template v-for="(item, index) in elements" v-if="index < 10">
  327.                                    <debetcard-bottom-template
  328.                                            :item="item"
  329.                                            v-if="item.type == 'debetcard'"
  330.                                            :key="index"
  331.                                            :counters="counters"
  332.                                    ></debetcard-bottom-template>
  333.                                    <creditcard-bottom-template
  334.                                            :item="item"
  335.                                            v-if="item.type == 'creditcard'"
  336.                                            :key="index"
  337.                                            :counters="counters"
  338.                                    ></creditcard-bottom-template>
  339.                                    <installmentcard-bottom-template
  340.                                            :item="item"
  341.                                            v-if="item.type == 'installmentcard'"
  342.                                            :key="index"
  343.                                            :counters="counters"
  344.                                    ></installmentcard-bottom-template>
  345.                                </template>
  346.                            </div>
  347.  
  348.                            <!-- <div class="swiper-button-prev"></div> -->
  349.                        </div>
  350.                        <div class="swiper-button-next">
  351.                            <svg class="icon">
  352.                                <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#slider-arrow"></use>
  353.                            </svg>
  354.                        </div>
  355.                        <div class="swiper-button-prev">
  356.                            <svg class="icon">
  357.                                <use xlink:href="/designs/cc-dc-ic-2/img/sprite.svg#slider-arrow"></use>
  358.                            </svg>
  359.                        </div>
  360.                    </div>
  361.  
  362.                </div>
  363.  
  364.            </section>
  365.  
  366.            <section class="company-section">
  367.                <div class="container">
  368.                    <h2 class="white">Компании<small>Представленные на сайте</small></h2>
  369.                    <div class="swiper company-swiper">
  370.                        <div class="swiper-wrapper">
  371.                            <div v-for="item in requisites" class="swiper-slide">
  372.                                <div class="company-item">
  373.                                    {{ item.companyName }} {{ item.companyRequisites }}
  374.                                </div>
  375.                            </div>
  376.                        </div>
  377.                        <div class="swiper-scrollbar"></div>
  378.                    </div>
  379.                </div>
  380.            </section>
  381.  
  382.            <section class="about-section">
  383.                <div class="container">
  384.                    <div class="about-section__content">
  385.                        <h2 class="white">О сервисе</h2>
  386.  
  387.                     <p>fedorovkarb.ru – это бесплатный ресурс, где предоставлена информация о банковских картах. С его помощью вы сможете быстро решить свои финансовые вопросы, потратив минимум времени.</p>
  388.                        <p>fedorovkarb.ru не является кредитором или брокером и не предоставляет финансовые услуги напрямую или через посредников. Сайт не выдает кредиты и не несет ответственности за точность информации, предоставленной банками, включая тарифы и ставки. В оценке и сравнении финансовых продуктов участвуют банки и кредитные учреждения – партнеры fedorovkarb.ru. Партнерство не влияет на объективность и независимость наших оценок.</p>
  389.                        <p>Все товарные знаки и логотипы, представленные на сайте, принадлежат их владельцам и взяты из открытых источников. Их использование не означает одобрение продуктов.</p>
  390.                                                <div class="about-section__img"><img src="/designs/cc-dc-ic-2/img/about-img.png" alt=""></div>
  391.                    </div>
  392.  
  393.                </div>
  394.            </section>
  395.        </main>
  396.        <footer>
  397.            <div class="container">
  398.                <div class="footer-nav">
  399.                    <ul>
  400.                        <li><a href="#tabs-anchor" :class="{active: type == ''}" data-body="all-tab" v-if="hasCards.length > 1" @click="setActiveTab('')">Смотреть все</a></li>
  401.                        <li><a href="#tabs-anchor" :class="{active: type == 'creditcard'}" data-body="credit-tab" v-if="hasCards.indexOf('creditcard') != -1" @click="setActiveTab('creditcard')">Кредитные карты</a></li>
  402.                        <li><a href="#tabs-anchor" :class="{active: type == 'debetcard'}" data-body="debet-tab" v-if="hasCards.indexOf('debetcard') != -1" @click="setActiveTab('debetcard')">Дебетовые карты</a></li>
  403.                        <li><a href="#tabs-anchor" :class="{active: type == 'installmentcard'}" data-body="installment-tab" v-if="hasCards.indexOf('installmentcard') != -1" @click="setActiveTab('installmentcard')">Карты рассрочки</a></li>
  404.                    </ul>
  405.                </div>
  406.                <div class="footer-bottom">
  407.                    <a href="#" class="logo-footer">fedorovkarb.ru <small>Сервис по поиску банковских карт</small></a>
  408.                </div>
  409.            </div>
  410.        </footer>
  411.    </div>
  412.  
  413.    <script src="/designs/cc-dc-ic-2/js/jquery.js"></script>
  414.    <script src="/designs/cc-dc-ic-2/js/swiper.min.js"></script>
  415. <script src="/js/plugins/axios/axios.min.js"></script>
  416. <script src="/js/plugins/underscore/underscore-min.js"></script>
  417. <script src="/js/plugins/wnumb/wnumb.min.js"></script>
  418. <script src="/js/landmixins.js"></script>
  419. <script src="/js/core/vue.js"></script>
  420. <script>
  421.    const appMxn = {
  422.        data(){return{
  423.            elements: [],
  424.            requisites: [],
  425.            counter: 100,
  426.            counters: {"trkMetrika":"98740272","trkFb":null,"trkVk":null,"trkGa":null,"trkGtm":null,"trkTiktok":null},
  427.            markNaked: "1asx",
  428.        }},
  429.  
  430.        mounted: function() {
  431.                        if(typeof sclid != "undefined"){
  432.                let markNaked = '1asx';
  433.                let url = 'http://fedorovkarb.ru/%/offers'.split(':')[1].replace('%', markNaked);
  434.                console.log([url, markNaked]);
  435.                let params = {clid: sclid};
  436.                axios.get(url, {params: params}).then( (response) => {
  437.                    this.elements = response.data;
  438.                    let requisites = {};
  439.  
  440.                                                                ym(57237952, "params", {
  441.                            design: "60",
  442.                            companies: this.elements.map( item => item.companyName ),
  443.                            numOffers: this.elements.length,
  444.                            mark: markNaked,
  445.                            offerPositions: this.elements.map( (item, index) => {
  446.                                let off = {}
  447.                                off[item.companyName] = index+1;
  448.                                return off;
  449.                            }),
  450.                        })
  451.                                            ym(98740272, "params", {
  452.                            design: "60",
  453.                            companies: this.elements.map( item => item.companyName ),
  454.                            numOffers: this.elements.length,
  455.                            mark: markNaked,
  456.                            offerPositions: this.elements.map( (item, index) => {
  457.                                let off = {}
  458.                                off[item.companyName] = index+1;
  459.                                return off;
  460.                            }),
  461.                        })
  462.                    
  463.                    _.each(response.data, function(item){
  464.                        if (item.companyName){
  465.                            requisites[item.companyName] = {
  466.                                companyName: item.companyName,
  467.                                companyRequisites: item.companyRequisites,
  468.                                logo: item.logo,
  469.                            }
  470.                        }
  471.                    });
  472.                    this.requisites = Object.values(requisites);
  473.  
  474.                    this.afterLoad();
  475.                });
  476.            }
  477.                    }
  478.    };
  479. </script>    <script>
  480.        Vue.component('swiper-template', {
  481.            mixins: [ofElMxn],
  482.            props: {
  483.            },
  484.            data() {
  485.                return {
  486.                    logoSize: '440x276cards',
  487.                }
  488.            },
  489.            computed: {
  490.            },
  491.            template: `
  492.              <div class="swiper-slide">
  493.              <div class="swiper-slide__headline">
  494.                <h1>{{ item.text1 }}</h1>
  495.              </div>
  496.              <div class="swiper-slide__content">
  497.                <div class="swiper-slide__img">
  498.                  <img :src="logo(item.logo)" alt="">
  499.                </div>
  500.                <div class="swiper-slide__text">
  501.                  {{ item.text2 }} <br> {{ item.text3 }}
  502.                  <div class="swiper-button">
  503.                    <a target="_blank" class="btn swiper-btn" :href="link(item.link)" @click="offerClick(item)">Оформить сейчас же!</a>
  504.                  </div>
  505.                </div>
  506.              </div>
  507.              </div>
  508.            `,
  509.        });
  510.  
  511.        Vue.component('debetcard-top-template', {
  512.            mixins: [ofElMxn],
  513.            props: {
  514.            },
  515.            data() {
  516.                return {
  517.                    logoSize: '440x276cards',
  518.                }
  519.            },
  520.            computed: {
  521.            },
  522.            template: `
  523.              <div class="swiper-slide">
  524.                  <div class="main-card">
  525.                    <ul class="main-card__top">
  526.                      <li v-if="item.text1"><span class="card-item__service">{{ item.text1 }}</span></li>
  527.                      <li v-if="item.text2"><span class="card-item__cashback">{{ item.text2 }}</span></li>
  528.                    </ul>
  529.                    <h1 class="main-card__title">{{ item.companyName }}</h1>
  530.                    <div class="main-card__btn">
  531.                      <a
  532.                        target="_blank"
  533.                        :href="link(item.link)"
  534.                        @click="offerClick(item)"
  535.                        class="btn"
  536.                      >
  537.                          Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span>
  538.                      </a>
  539.                    </div>
  540.                    <div class="main-card__content">
  541.                      <div class="main-card__left">
  542.                        <div class="main-card-item">
  543.                          <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  544.                          <span class="main-card-item__title">Кэшбэк</span>
  545.                          <span class="main-card-item__number">до {{ item.cashBack}}%</span>
  546.                        </div>
  547.                        <div class="main-card-item">
  548.                          <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  549.                          <span class="main-card-item__title">Обслуживание</span>
  550.                          <span class="main-card-item__number">
  551.                              <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  552.                              <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  553.                              <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  554.                          </span>
  555.                        </div>
  556.                      </div>
  557.                      <div class="main-card__img"><img :src="logo(item.logo)" alt=""></div>
  558.                      <div class="main-card__right">
  559.                        <div class="main-card-item">
  560.                          <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  561.                          <span class="main-card-item__title">Возраст</span>
  562.                          <span class="main-card-item__number">от {{ item.ageFrom }} до {{ item.ageTo }} лет</span>
  563.                        </div>
  564.                        <div class="main-card-item">
  565.                          <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  566.                          <span class="main-card-item__title">Процент на остаток</span>
  567.                          <span class="main-card-item__number">до {{ item.percent }}%</span>
  568.                        </div>
  569.                      </div>
  570.                    </div>
  571.                  </div>
  572.              </div>
  573.            `,
  574.        });
  575.  
  576.        Vue.component('creditcard-top-template', {
  577.            mixins: [ofElMxn],
  578.            props: {
  579.            },
  580.            data() {
  581.                return {
  582.                    logoSize: '440x276cards',
  583.                }
  584.            },
  585.            computed: {
  586.            },
  587.            template: `
  588.              <div class="swiper-slide">
  589.              <div class="main-card">
  590.                <ul class="main-card__top">
  591.                  <li v-if="item.text1"><span class="card-item__service">{{ item.text1 }}</span></li>
  592.                  <li v-if="item.text2"><span class="card-item__cashback">{{ item.text2 }}</span></li>
  593.                </ul>
  594.                <h1 class="main-card__title">{{ item.companyName }}</h1>
  595.                <div class="main-card__btn">
  596.                  <a
  597.                      target="_blank"
  598.                      :href="link(item.link)"
  599.                      @click="offerClick(item)"
  600.                      class="btn"
  601.                  >
  602.                    Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span>
  603.                  </a>
  604.                </div>
  605.                <div class="main-card__content">
  606.                  <div class="main-card__left">
  607.                    <div class="main-card-item">
  608.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  609.                      <span class="main-card-item__title">Кэшбэк</span>
  610.                      <span class="main-card-item__number">до {{ item.cashBack}}%</span>
  611.                    </div>
  612.                    <div class="main-card-item">
  613.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  614.                      <span class="main-card-item__title">Обслуживание</span>
  615.                      <span class="main-card-item__number">
  616.                              <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  617.                              <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  618.                              <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  619.                          </span>
  620.                    </div>
  621.                  </div>
  622.                  <div class="main-card__img"><img :src="logo(item.logo)" alt=""></div>
  623.                  <div class="main-card__right">
  624.                    <div class="main-card-item">
  625.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  626.                      <span class="main-card-item__title">Возраст</span>
  627.                      <span class="main-card-item__number">от {{ item.ageFrom }} до {{ item.ageTo }} лет</span>
  628.                    </div>
  629.                    <div class="main-card-item">
  630.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  631.                      <span class="main-card-item__title">Сумма</span>
  632.                      <span class="main-card-item__number">до {{ item.sum | number }} ₽</span>
  633.                    </div>
  634.                  </div>
  635.                </div>
  636.              </div>
  637.              </div>
  638.            `,
  639.        });
  640.  
  641.        Vue.component('installmentcard-top-template', {
  642.            mixins: [ofElMxn],
  643.            props: {
  644.            },
  645.            data() {
  646.                return {
  647.                    logoSize: '440x276cards',
  648.                }
  649.            },
  650.            computed: {
  651.            },
  652.            template: `
  653.              <div class="swiper-slide">
  654.              <div class="main-card">
  655.                <ul class="main-card__top">
  656.                  <li v-if="item.text1"><span class="card-item__service">{{ item.text1 }}</span></li>
  657.                  <li v-if="item.text2"><span class="card-item__cashback">{{ item.text2 }}</span></li>
  658.                </ul>
  659.                <h1 class="main-card__title">{{ item.companyName }}</h1>
  660.                <div class="main-card__btn">
  661.                  <a
  662.                      target="_blank"
  663.                      :href="link(item.link)"
  664.                      @click="offerClick(item)"
  665.                      class="btn"
  666.                  >
  667.                    Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span>
  668.                  </a>
  669.                </div>
  670.                <div class="main-card__content">
  671.                  <div class="main-card__left">
  672.                    <div class="main-card-item">
  673.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  674.                      <span class="main-card-item__title">Кэшбэк</span>
  675.                      <span class="main-card-item__number">до {{ item.cashBack}}%</span>
  676.                    </div>
  677.                    <div class="main-card-item">
  678.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  679.                      <span class="main-card-item__title">Обслуживание</span>
  680.                      <span class="main-card-item__number">
  681.                              <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  682.                              <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  683.                              <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  684.                          </span>
  685.                    </div>
  686.                  </div>
  687.                  <div class="main-card__img"><img :src="logo(item.logo)" alt=""></div>
  688.                  <div class="main-card__right">
  689.                    <div class="main-card-item">
  690.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  691.                      <span class="main-card-item__title">Возраст</span>
  692.                      <span class="main-card-item__number">от {{ item.ageFrom }} до {{ item.ageTo }} лет</span>
  693.                    </div>
  694.                    <div class="main-card-item">
  695.                      <span class="main-card-item__icon"><img src="/designs/cc-dc-ic-2/img/check-icon.png" alt=""></span>
  696.                      <span class="main-card-item__title">Сумма</span>
  697.                      <span class="main-card-item__number">до {{ item.sum | number }} ₽</span>
  698.                    </div>
  699.                  </div>
  700.                </div>
  701.              </div>
  702.              </div>
  703.            `,
  704.        });
  705.  
  706.  
  707.        Vue.component('debetcard-bottom-template', {
  708.            mixins: [ofElMxn],
  709.            props: {
  710.            },
  711.            data() {
  712.                return {
  713.                    logoSize: '440x276cards',
  714.                }
  715.            },
  716.            computed: {
  717.            },
  718.            template: `
  719.              <div class="swiper-slide">
  720.              <div class="offer-item">
  721.                <div class="offer-item__card"><span><img :src="logo(item.logo)" alt=""></span></div>
  722.                <div class="offer-item__content">
  723.                  <span class="offer-item__title">{{ item.companyName }}</span>
  724.                  <span class="offer-item__free" v-if="item.text1">{{ item.text1 }}</span>
  725.                  <span class="offer-item__cashback" v-if="item.text2">{{ item.text2 }}</span>
  726.                  <span class="offer-item__procent" v-if="item.text3">{{ item.text3 }}</span>
  727.                </div>
  728.                <div class="offer-item__data">
  729.                  <div class="offer-item__data-item"><span>Процент на остаток</span>до {{ item.percent }}%</div>
  730.                  <div class="offer-item__data-item"><span>Возраст</span>от {{ item.ageFrom }} до {{ item.ageTo }} лет</div>
  731.                  <div class="offer-item__data-item"><span>Кэшбэк</span>до {{ item.cashBack}}%</div>
  732.                  <div class="offer-item__data-item"><span>Обслуживание</span>
  733.                    <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  734.                    <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  735.                    <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  736.                  </div>
  737.                </div>
  738.                <div class="offer-item__btn">
  739.                  <a target="_blank"
  740.                     :href="link(item.link)"
  741.                     @click="offerClick(item)"
  742.                     class="btn">Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  743.                </div>
  744.  
  745.              </div>
  746.              </div>
  747.            `,
  748.        });
  749.  
  750.        Vue.component('creditcard-bottom-template', {
  751.            mixins: [ofElMxn],
  752.            props: {
  753.            },
  754.            data() {
  755.                return {
  756.                    logoSize: '440x276cards',
  757.                }
  758.            },
  759.            computed: {
  760.            },
  761.            template: `
  762.              <div class="swiper-slide">
  763.              <div class="offer-item">
  764.                <div class="offer-item__card"><span><img :src="logo(item.logo)" alt=""></span></div>
  765.                <div class="offer-item__content">
  766.                  <span class="offer-item__title">{{ item.companyName }}</span>
  767.                  <span class="offer-item__free" v-if="item.text1">{{ item.text1 }}</span>
  768.                  <span class="offer-item__cashback" v-if="item.text2">{{ item.text2 }}</span>
  769.                  <span class="offer-item__procent" v-if="item.text3">{{ item.text3 }}</span>
  770.                </div>
  771.                <div class="offer-item__data">
  772.                  <div class="offer-item__data-item"><span>Сумма1</span>до {{ item.sum | number }} ₽</div>
  773.                  <div class="offer-item__data-item"><span>Возраст</span>от {{ item.ageFrom }} до {{ item.ageTo }} лет</div>
  774.                  <div class="offer-item__data-item"><span>Кэшбэк</span>до {{ item.cashBack}}%</div>
  775.                  <div class="offer-item__data-item"><span>Обслуживание</span>
  776.                    <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  777.                    <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  778.                    <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  779.                  </div>
  780.                </div>
  781.                <div class="offer-item__btn">
  782.                  <a target="_blank"
  783.                     :href="link(item.link)"
  784.                     @click="offerClick(item)"
  785.                     class="btn">Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  786.                </div>
  787.  
  788.              </div>
  789.              </div>
  790.            `,
  791.        });
  792.  
  793.        Vue.component('installmentcard-bottom-template', {
  794.            mixins: [ofElMxn],
  795.            props: {
  796.            },
  797.            data() {
  798.                return {
  799.                    logoSize: '440x276cards',
  800.                }
  801.            },
  802.            computed: {
  803.            },
  804.            template: `
  805.              <div class="swiper-slide">
  806.              <div class="offer-item">
  807.                <div class="offer-item__card"><span><img :src="logo(item.logo)" alt=""></span></div>
  808.                <div class="offer-item__content">
  809.                  <span class="offer-item__title">{{ item.companyName }}</span>
  810.                  <span class="offer-item__free" v-if="item.text1">{{ item.text1 }}</span>
  811.                  <span class="offer-item__cashback" v-if="item.text2">{{ item.text2 }}</span>
  812.                  <span class="offer-item__procent" v-if="item.text3">{{ item.text3 }}</span>
  813.                </div>
  814.                <div class="offer-item__data">
  815.                  <div class="offer-item__data-item"><span>Сумма</span>до {{ item.sum | number }} ₽</div>
  816.                  <div class="offer-item__data-item"><span>Возраст</span>от {{ item.ageFrom }} до {{ item.ageTo }} лет</div>
  817.                  <div class="offer-item__data-item"><span>Кэшбэк</span>до {{ item.cashBack}}%</div>
  818.                  <div class="offer-item__data-item"><span>Обслуживание</span>
  819.                    <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  820.                    <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  821.                    <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  822.                  </div>
  823.                </div>
  824.                <div class="offer-item__btn">
  825.                  <a target="_blank"
  826.                     :href="link(item.link)"
  827.                     @click="offerClick(item)"
  828.                     class="btn">Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  829.                </div>
  830.  
  831.              </div>
  832.              </div>
  833.            `,
  834.        });
  835.  
  836.  
  837.        Vue.component('debetcard-template', {
  838.            mixins: [ofElMxn],
  839.            props: {
  840.            },
  841.            data() {
  842.                return {
  843.                    logoSize: '440x276cards',
  844.                }
  845.            },
  846.            computed: {
  847.            },
  848.            template: `
  849.              <div class="card-item">
  850.              <div class="card-item__head">
  851.                <span class="card-item__title">{{ item.companyName }} <small>{{ item.offerName }}</small></span>
  852.                <div class="card-item__info">
  853.                  <ul>
  854.                    <li v-if="item.text1"><span class="card-item__service">{{ item.text1 }}</span></li>
  855.                    <li v-if="item.text2"><span class="card-item__cashback">{{ item.text2 }}</span></li>
  856.                    <li v-if="item.text3"><span class="card-item__procent">{{ item.text3 }}</span></li>
  857.                  </ul>
  858.                </div>
  859.              </div>
  860.              <div class="card-item__main">
  861.                <div class="card-item__left">
  862.                  <div class="card-item__number">
  863.                    <span>Процент на остаток</span>
  864.                    <strong>{{ item.percent }}%</strong>
  865.                  </div>
  866.                  <div class="card-item__number">
  867.                    <span>Кэшбэк</span>
  868.                    <strong>до {{ item.cashBack}}%</strong>
  869.                  </div>
  870.                </div>
  871.                <div class="card-item__content">
  872.                  <span class="card-item__img"><img :src="logo(item.logo)" alt=""></span>
  873.  
  874.                </div>
  875.                <div class="card-item__right">
  876.                  <div class="card-item__number">
  877.                    <span>Возраст</span>
  878.                    <strong>от {{ item.ageFrom }} до {{ item.ageTo }} лет</strong>
  879.                  </div>
  880.                  <div class="card-item__number">
  881.                    <span>Обслуживание</span>
  882.                    <strong>
  883.                      <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  884.                      <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  885.                      <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  886.                    </strong>
  887.                  </div>
  888.                </div>
  889.                <div class="card-item__btn">
  890.                  <a target="_blank" :href="link(item.link)" @click="offerClick(item)" class="btn">Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  891.                </div>
  892.              </div>
  893.              </div>
  894.  
  895.            `,
  896.        });
  897.  
  898.        Vue.component('creditcard-template', {
  899.            mixins: [ofElMxn],
  900.            props: {
  901.            },
  902.            data() {
  903.                return {
  904.                    logoSize: '440x276cards',
  905.                }
  906.            },
  907.            computed: {
  908.            },
  909.            template: `
  910.              <div class="card-item">
  911.              <div class="card-item__head">
  912.                <span class="card-item__title">{{ item.companyName }} <small>{{ item.offerName }}</small></span>
  913.                <div class="card-item__info">
  914.                  <ul>
  915.                    <li v-if="item.text1"><span class="card-item__service">{{ item.text1 }}</span></li>
  916.                    <li v-if="item.text2"><span class="card-item__cashback">{{ item.text2 }}</span></li>
  917.                    <li v-if="item.text3"><span class="card-item__procent">{{ item.text3 }}</span></li>
  918.                  </ul>
  919.                </div>
  920.              </div>
  921.              <div class="card-item__main">
  922.                <div class="card-item__left">
  923.                  <div class="card-item__number">
  924.                    <span>Сумма</span>
  925.                    <strong>до {{ item.sum | number }} ₽</strong>
  926.                  </div>
  927.                  <div class="card-item__number">
  928.                    <span>Кэшбэк</span>
  929.                    <strong>до {{ item.cashBack}}%</strong>
  930.                  </div>
  931.                </div>
  932.                <div class="card-item__content">
  933.                  <span class="card-item__img"><img :src="logo(item.logo)" alt=""></span>
  934.  
  935.                </div>
  936.                <div class="card-item__right">
  937.                  <div class="card-item__number">
  938.                    <span>Возраст</span>
  939.                    <strong>от {{ item.ageFrom }} до {{ item.ageTo }} лет</strong>
  940.                  </div>
  941.                  <div class="card-item__number">
  942.                    <span>Обслуживание</span>
  943.                    <strong>
  944.                      <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  945.                      <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  946.                      <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  947.                    </strong>
  948.                  </div>
  949.                </div>
  950.                <div class="card-item__btn">
  951.                  <a target="_blank" :href="link(item.link)" @click="offerClick(item)" class="btn">Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  952.                </div>
  953.              </div>
  954.              </div>
  955.  
  956.            `,
  957.        });
  958.  
  959.        Vue.component('installmentcard-template', {
  960.            mixins: [ofElMxn],
  961.            props: {
  962.            },
  963.            data() {
  964.                return {
  965.                    logoSize: '440x276cards',
  966.                }
  967.            },
  968.            computed: {
  969.            },
  970.            template: `
  971.              <div class="card-item">
  972.              <div class="card-item__head">
  973.                <span class="card-item__title">{{ item.companyName }} <small>{{ item.offerName }}</small></span>
  974.                <div class="card-item__info">
  975.                  <ul>
  976.                    <li v-if="item.text1"><span class="card-item__service">{{ item.text1 }}</span></li>
  977.                    <li v-if="item.text2"><span class="card-item__cashback">{{ item.text2 }}</span></li>
  978.                    <li v-if="item.text3"><span class="card-item__procent">{{ item.text3 }}</span></li>
  979.                  </ul>
  980.                </div>
  981.              </div>
  982.              <div class="card-item__main">
  983.                <div class="card-item__left">
  984.                  <div class="card-item__number">
  985.                    <span>Сумма</span>
  986.                    <strong>до {{ item.sum | number }} ₽</strong>
  987.                  </div>
  988.                  <div class="card-item__number">
  989.                    <span>Кэшбэк</span>
  990.                    <strong>до {{ item.cashBack}}%</strong>
  991.                  </div>
  992.                </div>
  993.                <div class="card-item__content">
  994.                  <span class="card-item__img"><img :src="logo(item.logo)" alt=""></span>
  995.  
  996.                </div>
  997.                <div class="card-item__right">
  998.                  <div class="card-item__number">
  999.                    <span>Возраст</span>
  1000.                    <strong>от {{ item.ageFrom }} до {{ item.ageTo }} лет</strong>
  1001.                  </div>
  1002.                  <div class="card-item__number">
  1003.                    <span>Обслуживание</span>
  1004.                    <strong>
  1005.                      <template v-if="!item.serviceFee" class="last-span">Бесплатно</template>
  1006.                      <template v-else class="last-span">{{ item.serviceFee | number }}₽</template>
  1007.                      <template v-if="item.serviceFeeDescription">, {{ item.serviceFeeDescription }}</template>
  1008.                    </strong>
  1009.                  </div>
  1010.                </div>
  1011.                <div class="card-item__btn">
  1012.                  <a target="_blank" :href="link(item.link)" @click="offerClick(item)" class="btn">Оформить карту <span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  1013.                </div>
  1014.              </div>
  1015.              </div>
  1016.            `,
  1017.        });
  1018.  
  1019.        Vue.component('card-info-template', {
  1020.            mixins: [ofElMxn],
  1021.            props: {
  1022.            },
  1023.            data() {
  1024.                return {
  1025.                    logoSize: '440x276cards',
  1026.                }
  1027.            },
  1028.            computed: {
  1029.            },
  1030.            template: `
  1031.              <div class="swiper-slide">
  1032.              <div class="free-card">
  1033.                <div class="free-card__content">
  1034.                  <span class="free-card__title">{{ item.text1 }}</span>
  1035.                  <ul>
  1036.                    <li v-if="item.text2">{{ item.text2 }}</li>
  1037.                    <li v-if="item.text3">{{ item.text3 }}</li>
  1038.                    <li v-if="item.text4">{{ item.text4 }}</li>
  1039.                  </ul>
  1040.                  <a target="_blank" :href="link(item.link)" @click="offerClick(item)" class="btn-empty">Оформить сейчас<span class="icon"><img src="/designs/cc-dc-ic-2/img/btn-arrow.png" alt=""></span></a>
  1041.                </div>
  1042.                <div class="free-card__image"><img :src="logo(item.logo)" alt=""></div>
  1043.              </div>
  1044.              </div>
  1045.            `,
  1046.        });
  1047.  
  1048.  
  1049.        var app = new Vue({
  1050.            el: '#app',
  1051.            mixins: [appMxn, appElMxn],
  1052.            data: {
  1053.                minutesLeftValue: 0,
  1054.                secondsLeftValue: 0,
  1055.                curItem: 0,
  1056.                type: '',
  1057.  
  1058.            },
  1059.            created: function() {
  1060.                this.minutesLeft();
  1061.                setInterval(this.minutesLeft, 1000);
  1062.            },
  1063.            computed: {
  1064.                numLoans: function(){
  1065.                    let curdate = new Date(Date.now());
  1066.                    return (curdate.getHours() * 100 + curdate.getMinutes()) * 7;
  1067.                },
  1068.                prevItem: function(){
  1069.                    return this.curItem - 1 < 0 ? this.elements.length - 1 : this.curItem - 1;
  1070.                },
  1071.                nextItem: function(){
  1072.                    return this.curItem + 1 > this.elements.length - 1 ? 0 : this.curItem + 1;
  1073.                },
  1074.                hasCards: function(){
  1075.                    let types = [];
  1076.                    if (!this.elements.length) return types;
  1077.                    this.elements.forEach((item) => {
  1078.                        if (types.indexOf(item.type) === -1)
  1079.                            types.push(item.type);
  1080.                    });
  1081.                    return types;
  1082.                }
  1083.            },
  1084.            methods: {
  1085.                minutesLeft: function(){
  1086.                    let date = new Date();
  1087.                    this.minutesLeftValue = 60 - date.getMinutes();
  1088.                    this.secondsLeftValue = 60 - date.getSeconds();
  1089.                },
  1090.                prevSwipe: function(){
  1091.                    this.curItem = this.prevItem;
  1092.                },
  1093.                nextSwipe: function(){
  1094.                    this.curItem = this.nextItem;
  1095.                },
  1096.                shiftSelector() {
  1097.                    let tabs = $(".tabs");
  1098.                    let activeItem = tabs.find(".active");
  1099.                    let activeWidth = activeItem.innerWidth();
  1100.                    let activeHeight = activeItem.innerHeight();
  1101.                    let itemPos = activeItem.position();
  1102.                    tabs.find(".selector").css({
  1103.                        left: itemPos.left + "px",
  1104.                        width: activeWidth + "px",
  1105.                        height: activeHeight + "px",
  1106.                        top: itemPos.top + "px"
  1107.                    });
  1108.  
  1109.                    // let activeBody = $(".tabs .active").attr("data-body");
  1110.                    // $(".tab-body > div.tab-item").removeClass("active");
  1111.                    // $("." + activeBody).addClass("active");
  1112.                },
  1113.                setActiveTab(name){
  1114.                    this.type = name;
  1115.                    this.$nextTick(() => {
  1116.                        this.shiftSelector();
  1117.                    })
  1118.                },
  1119.                afterLoad(){
  1120.                    this.$nextTick(() => {
  1121.                        this.$nextTick(() => {
  1122.                            this.shiftSelector();
  1123.                        })
  1124.                        $(document).ready(function () {
  1125.                            //script for tabs
  1126.                            // jQuery().ready(function() {
  1127.                            //     initTabs($(".tabs"));
  1128.                            //     $(".footer-nav").on("click", "a", function(e) {
  1129.                            //         e.preventDefault();
  1130.                            //         $(".footer-nav").find("a").removeClass("active");
  1131.                            //         $(this).addClass("active");
  1132.                            //     });
  1133.                            // });
  1134.                            // function initTabs(tabs) {
  1135.                            //     shiftSelector(tabs);
  1136.                            //     $(window).resize(function() {
  1137.                            //         shiftSelector(tabs);
  1138.                            //     });
  1139.                            //     tabs.on("click", "a", function(e) {
  1140.                            //         e.preventDefault();
  1141.                            //         // tabs.find("a").removeClass("active");
  1142.                            //         // $(this).addClass("active");
  1143.                            //         shiftSelector(tabs);
  1144.                            //     });
  1145.                            // }
  1146.                            // function shiftSelector(tabs) {
  1147.                            //     let activeItem = tabs.find(".active");
  1148.                            //     let activeWidth = activeItem.innerWidth();
  1149.                            //     let activeHeight = activeItem.innerHeight();
  1150.                            //     let itemPos = activeItem.position();
  1151.                            //     tabs.find(".selector").css({
  1152.                            //         left: itemPos.left + "px",
  1153.                            //         width: activeWidth + "px",
  1154.                            //         height: activeHeight + "px",
  1155.                            //         top: itemPos.top + "px"
  1156.                            //     });
  1157.                            //
  1158.                            //     let activeBody = $(".tabs .active").attr("data-body");
  1159.                            //     // $(".tab-body > div.tab-item").removeClass("active");
  1160.                            //     // $("." + activeBody).addClass("active");
  1161.                            // }
  1162.                        });
  1163.                        $(document).ready(function(){
  1164.                            $('a[href^="#"]').on('click',function (e) {
  1165.                                e.preventDefault();
  1166.                                var target = this.hash;
  1167.                                var $target = $(target);
  1168.                                $('html, body').stop().animate({
  1169.                                    'scrollTop': $target.offset().top
  1170.                                }, 900, 'swing', function () {
  1171.                                    // window.location.hash = target;
  1172.                                });
  1173.                            });
  1174.                        });
  1175.                        $(document).ready(function(){
  1176.                            window.onscroll = function() {
  1177.                                if (window.innerWidth > 768) {
  1178.                                    stickyTabsDesktop();
  1179.                                } else {
  1180.                                    stickyTabsMobile();
  1181.                                }
  1182.                            };
  1183.                            var tabsStickyDesktop = document.querySelector(".tabs-sticky");
  1184.                            var stickyDesktop = tabsStickyDesktop.offsetTop;
  1185.                            function stickyTabsDesktop() {
  1186.                                if (window.pageYOffset >= stickyDesktop) {
  1187.                                    tabsStickyDesktop.classList.add("sticky");
  1188.                                    document.querySelector(".tab-body").classList.add("sticky-content");
  1189.                                } else {
  1190.                                    tabsStickyDesktop.classList.remove("sticky");
  1191.                                    document.querySelector(".tab-body").classList.remove("sticky-content");
  1192.                                }
  1193.                            };
  1194.                            var tabsStickyMobile = document.querySelector(".tabs--mobile");
  1195.                            var stickyMobile = tabsStickyMobile.offsetTop;
  1196.                            function stickyTabsMobile() {
  1197.                                if (window.pageYOffset >= stickyMobile) {
  1198.                                    tabsStickyMobile.classList.add("sticky");
  1199.                                    document.querySelector(".tab-body").classList.add("sticky-content");
  1200.                                } else {
  1201.                                    tabsStickyMobile.classList.remove("sticky");
  1202.                                    document.querySelector(".tab-body").classList.remove("sticky-content");
  1203.                                }
  1204.                            }
  1205.                        });
  1206.                        $(document).ready(function(){
  1207.                            const cards = document.querySelectorAll('.card-item');
  1208.                            const observer = new IntersectionObserver((entries, observer) => {
  1209.                                entries.forEach(entry => {
  1210.                                    if (entry.isIntersecting) {
  1211.  
  1212.                                        entry.target.classList.add('show');
  1213.                                        observer.unobserve(entry.target);
  1214.                                    }
  1215.                                });
  1216.                            }, { threshold: 0.5 });
  1217.                            cards.forEach(card => {
  1218.                                observer.observe(card);
  1219.                            });
  1220.                        });
  1221.  
  1222.                        $(document).ready(function() {
  1223.                            const tabsSwap = document.querySelector('.tabs__swap');
  1224.                            const tabsList = document.querySelector('.tabs ul');
  1225.                            const tabBody = document.querySelector('.tab-body');
  1226.                            tabsSwap.addEventListener('click', function() {
  1227.                                tabsList.classList.toggle('active');
  1228.                            });
  1229.                            tabsList.addEventListener('click', function(e) {
  1230.                                if (e.target.tagName === 'A') {
  1231.                                    e.preventDefault();
  1232.                                    const activeTab = tabsList.querySelector('.active');
  1233.                                    if (activeTab !== e.target.parentElement) {
  1234.                                        if (activeTab) {
  1235.                                            activeTab.classList.remove('active');
  1236.                                        }
  1237.                                        e.target.parentElement.classList.add('active');
  1238.                                        tabsSwap.querySelector('span').innerHTML = e.target.innerHTML;
  1239.  
  1240.                                        const bodyClass = e.target.getAttribute('data-body');
  1241.                                        if (bodyClass && tabBody.querySelector(`.${bodyClass}`)) {
  1242.                                            const activeTabBody = tabBody.querySelector('.tab-item.tab-active');
  1243.                                            if (activeTabBody) {
  1244.                                                activeTabBody.classList.remove('tab-active');
  1245.                                            }
  1246.                                            tabBody.querySelector(`.${bodyClass}`).classList.add('tab-active');
  1247.                                        }
  1248.                                    }
  1249.                                    tabsList.classList.remove('active');
  1250.                                }
  1251.                            });
  1252.                        });
  1253.                        $(document).ready(function () {
  1254.                            var swiper = new Swiper(".company-swiper", {
  1255.                                slidesPerView: "auto",
  1256.                                spaceBetween: 10,
  1257.                                scrollbar: {
  1258.                                    el: ".swiper-scrollbar",
  1259.                                    hide: true,
  1260.                                },
  1261.                            });
  1262.                            var swiper = new Swiper(".other-swiper", {
  1263.                                slidesPerView: 3,
  1264.                                spaceBetween: 8,
  1265.                                navigation: {
  1266.                                    nextEl: ".swiper-button-next",
  1267.                                    prevEl: ".swiper-button-prev",
  1268.                                },
  1269.                                breakpoints: {
  1270.                                    992: {
  1271.                                        spaceBetween: 24,
  1272.                                        slidesPerView: 3, // При ширине экрана 992px будут отображаться 2 слайда
  1273.                                    },
  1274.                                    768: {
  1275.                                        spaceBetween: 24,
  1276.                                        slidesPerView: 2, // При ширине экрана 768px будет отображаться 1 слайд
  1277.                                    },
  1278.                                    0: {
  1279.                                        slidesPerView: "auto",
  1280.                                    }
  1281.                                }
  1282.  
  1283.                            });
  1284.                            var swiper = new Swiper(".free-swiper", {
  1285.                                slidesPerView: 1,
  1286.                                spaceBetween: 8,
  1287.                                navigation: {
  1288.                                    nextEl: ".swiper-button-next2",
  1289.                                    prevEl: ".swiper-button-prev2",
  1290.                                },
  1291.                                effect: "fade",
  1292.                                fadeEffect: {
  1293.                                    crossFade: true, // Добавление параметра crossFade для плавного перехода
  1294.                                },
  1295.                                watchSlidesProgress: false,
  1296.                                autoHeight: true, // Добавление параметра autoHeight для изменения высоты слайдера
  1297.                            });
  1298.                            var swiper = new Swiper(".main-swiper", {
  1299.                                slidesPerView: 1,
  1300.                                spaceBetween: 0,
  1301.                                navigation: {
  1302.                                    nextEl: ".swiper-button-next3",
  1303.                                    prevEl: ".swiper-button-prev3",
  1304.                                },
  1305.                                effect: "fade",
  1306.                                fadeEffect: {
  1307.                                    crossFade: true, // Добавление параметра crossFade для плавного перехода
  1308.                                },
  1309.                                watchSlidesProgress: false,
  1310.                                autoHeight: true, // Добавление параметра autoHeight для изменения высоты слайдера
  1311.                            });
  1312.                            var swiper = new Swiper('.main-slider .swiper-container', {
  1313.                                navigation: {
  1314.                                    nextEl: ".swiper-button-next4",
  1315.                                    prevEl: ".swiper-button-prev4",
  1316.                                },
  1317.                                slidesPerView: 1,
  1318.                                centeredSlides: true,
  1319.                                spaceBetween: 80,
  1320.                                loop: false, // Disable default loop setting
  1321.                                watchSlidesProgress: true,
  1322.                                on: {
  1323.                                    slideChange: function() {
  1324.                                        if (this.isBeginning || this.isEnd) {
  1325.                                            // this.swipeTo(this.activeIndex, 0, false); // Jump to first or last slide without animation
  1326.                                        }
  1327.                                    }
  1328.                                }
  1329.                            });
  1330.                        });
  1331.                    })
  1332.  
  1333.                }
  1334.            }
  1335.        })
  1336.    </script>
  1337.    <script type="text/javascript" >
  1338.    (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  1339.        m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  1340.    (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  1341.  
  1342.                ym(98740272, "init", {
  1343.        clickmap:true,
  1344.        trackLinks:true,
  1345.        webvisor:true
  1346.    });
  1347.                        ym(57237952, "init", {
  1348.        clickmap:true,
  1349.        trackLinks:true
  1350.  
  1351.    });
  1352.            </script>
  1353. <noscript>
  1354.    <div>
  1355.                    <img src="https://mc.yandex.ru/watch/98740272" style="position:absolute; left:-9999px;" alt="" />
  1356.                    <img src="https://mc.yandex.ru/watch/57237952" style="position:absolute; left:-9999px;" alt="" />
  1357.            </div>
  1358. </noscript></body>
  1359. </html>
  1360.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda