templates/Theme/Users/User/Security/accueilsite.html.twig line 1

Open in your IDE?
  1. {% extends "Theme/Users/User/layoutoffert.html.twig" %}
  2. {% block meta %}
  3.     {{ parent() }}
  4.     <meta name="keywords" content="{{ site }}, {{ keywords }}"/>
  5.     <meta name="author" content="Noel Kenfack"/>
  6.     <meta name="description" content="{{ site }} | {{ description }}"/>
  7. {% endblock %}
  8. {% block title %}
  9.     {{ parent() }} | Accueil
  10. {% endblock %}
  11. {% block userblog_body %}
  12. <style>
  13.     .banner-content .me {
  14.         background: #90acd1;
  15.         padding: 18px;
  16.         display: inline-block;
  17.         color:#fff;
  18.         font-size: 16px;
  19.         border-radius: 8px;
  20.         position: relative;
  21.     }
  22.     
  23.     .banner-content .me::after{
  24.         content: '';
  25.         position: absolute;
  26.         right: 0;
  27.         bottom: -15px;
  28.         width: 0;
  29.         height: 0;
  30.         border-left: 26px solid transparent;
  31.         border-right: 0px solid
  32.         transparent;
  33.         border-top: 24px solid#90acd1;
  34.     }
  35.     
  36.     *, ::after, ::before {
  37.         box-sizing: border-box;
  38.     }
  39. </style>
  40.         
  41. {% if slideaccueil != null %}
  42. <section id="download-firefox-primary-cta" class="c-primary-cta download-firefox-primary-cta mzp-t-firefox" style="background-image: url({% if slideaccueil.src != null %}{{ asset(slideaccueil.getwebpath) }}{% else %}{{ asset('templatehome/images/browser-high-res.188e4ab6d8f4.png') }}{% endif %})!important;background-size:400px 278px,auto;background-position:calc(50vw + 34px) 60px,calc(50vw - 41px) -78px;background-repeat:no-repeat;">
  43.   <div class="mzp-l-content">
  44.     <div class="c-primary-cta-wrapper">
  45.       <div class="banner-content" style="margin-bottom: 20px; margin-top: -40px;">
  46.           <div class="me wow fadeInDown" data-wow-duration="1s" data-wow-delay="1.2s" style="visibility: visible; animation-duration: 1s; animation-delay: 1.2s; animation-name: fadeInDown;">Investissez</div>
  47.       </div>
  48.       <h3 class="c-primary-cta-title">{{ slideaccueil.titre }}</h3>
  49.       <h3 class="c-primary-cta-title-sub"></h3>
  50.       <p class="c-primary-cta-desc-sub">{{ slideaccueil.description }}</p>
  51.       
  52.       <div class="c-primary-cta-button">
  53.         <a class="download-link button button-green mzp-c-button mzp-t-product" href="{{ path('produit_produit_tarification_courant_product') }}" data-direct-link="" data-link-type="download" data-display-name="Windows 64-bit" data-download-version="win64" data-download-os="Desktop" data-download-location="primary cta">
  54.           <strong class="download-title">
  55.             Investir sur un chantier
  56.           </strong>
  57.         </a><a class="download-link button button-green mzp-c-button mzp-t-product open-spp-modal" href="{{ path('produit_produit_tarification_souscription_donation') }}" data-direct-link="" data-link-type="download" data-display-name="Windows 64-bit" data-download-version="win64" data-download-os="Desktop" data-download-location="primary cta">
  58.           <strong class="download-title">
  59.             Faire un don
  60.           </strong>
  61.         </a>
  62.       </div>
  63.     </div>
  64.   </div>
  65. </section>
  66. {% else %}
  67. <style>
  68.     .articleplay {
  69.         text-align: left;
  70.         position: relative;
  71.         width: 100%;
  72.         height: 400px;
  73.         overflow: hidden;
  74.         background: white;
  75.         border-radius: 5px;
  76.         color: #fff;
  77.         transform: translate3d(0);
  78.         box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.03);
  79.         transition: all 0.3s ease;
  80.         top: 50%;
  81.         left: 50%;
  82.         transform: translate(-50%, -50%);
  83.     }
  84.     .image {
  85.         width: 100%;
  86.         position: absolute;
  87.         height: 400px;
  88.         transition: 0.3s ease;
  89.         background-image: url({{ asset('template/images/bg-reseller.jpg') }});
  90.         background-size: cover;
  91.         background-position: center center;
  92.     }
  93.     .image:before {
  94.         transition: all 0.3s ease;
  95.         content: "";
  96.         position: absolute;
  97.         width: 100%;
  98.         height: 150px;
  99.         bottom: 0;
  100.         background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  101.         border-radius: 0 0 5px 5px;
  102.     }
  103.     .player-wrap {
  104.         height: 280px;
  105.         width: 100%;
  106.         position: relative;
  107.         opacity: 0;
  108.         pointer-events: none;
  109.         overflow: hidden;
  110.     }
  111.     .player-active .player-wrap {
  112.         opacity: 1;
  113.     }
  114.     .articleplay #player {
  115.         width: 100%;
  116.         height: calc(330px*16/9);
  117.         position: absolute;
  118.         top: 50%;
  119.         left: 50%;
  120.         transform: translate(-50%, -50%) scale(1.4);
  121.         -webkit-filter: saturate(1);
  122.     }
  123.     .articleplay .nfo {
  124.         width: 100%;
  125.         position: absolute;
  126.         bottom: 0;
  127.         left: 20px;
  128.         transition: all 0.3s ease;
  129.         height: 92px;
  130.     }
  131.     .articleplay h3 {
  132.         font-size: 30px;
  133.         line-hight: 0;
  134.         margin: 0;
  135.         position: relative;
  136.         transition: all 0.3s ease;
  137.         white-space: nowrap;
  138.     }
  139.     .articleplay h3:after {
  140.         position: absolute;
  141.         content: "";
  142.         bottom: 0;
  143.         left: 0;
  144.         width: 60px;
  145.         height: 3px;
  146.         background: #F15826;
  147.         z-index: 100;
  148.         transition: all 0.3s ease;
  149.         transition-delay: 0s;
  150.     }
  151.     .articleplay p {
  152.     color: #B3B7B9;
  153.     margin-top: 0.3em;
  154.     position: relative;
  155.     transition: all 0.3s ease;
  156.     }
  157.     .articleplay  .desc {
  158.         background: #9ebb3d;
  159.         width: 100%;
  160.         height: 144px;
  161.         margin-left: -20px;
  162.         position: relative;
  163.         box-sizing: border-box;
  164.         transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  165.         line-height: 1.4;
  166.         font-weight: 100;
  167.     }
  168.     .articleplay  .desc p {
  169.         margin: 0;
  170.         padding: 20px;
  171.         padding-top: 25px;
  172.         color: #fff;
  173.         font-size: 15px;
  174.         height: 2.8em;
  175.         overflow: hidden;
  176.     }
  177.     .articleplay a {
  178.         padding: 10px 0px;
  179.         height: 50px;
  180.         background: #ec9204;
  181.         color: white;
  182.         display: inline-block;
  183.         text-align: center;
  184.         bottom: 0;
  185.         position: absolute;
  186.         width: 100%;
  187.         overflow: hidden;
  188.         box-sizing: border-box;
  189.         font-weight: 400;
  190.         text-decoration: none;
  191.         transition: all 0.1s ease;
  192.     }
  193.     .articleplay a:hover {
  194.         color: white;
  195.         -webkit-filter: contrast(1.5);
  196.     }
  197.     .articleplay a:hover .maxdome-logo, .articleplay a:hover span {
  198.     transform: translateY(-37px);
  199.     }
  200.     .articleplay  a:active {
  201.     -webkit-filter: contrast(2);
  202.     }
  203.     .articleplay  a:active .maxdome-logo {
  204.     transition: all 0.3s ease 0;
  205.     transform: translateY(-37px) scale(0.95);
  206.     }
  207.     .articleplay a .maxdome-logo, .articleplay a span {
  208.     transition: all 250ms cubic-bezier(0.645, 0.045, 0.355, 1) 200ms;
  209.     width: 100%;
  210.     display: inline-block;
  211.     margin-top: 6px;
  212.     }
  213.     .articleplay a .maxdome-logo {
  214.     width: 154px;
  215.     margin-top: 12px;
  216.     height: 20px;
  217.     display: inline-block;
  218.     }
  219.     .articleplay  a .maxdome-logo:after {
  220.     content: "";
  221.     speak: none;
  222.     font-style: normal;
  223.     font-weight: 400;
  224.     font-family: Icons;
  225.     color: #fff;
  226.     margin-left: 0.11111rem;
  227.     }
  228.     .articleplay a .maxdome-logo:before {
  229.     content: "";
  230.     speak: none;
  231.     font-style: normal;
  232.     font-weight: 400;
  233.     color: #202831;
  234.     font-family: Icons;
  235.     }
  236.     .articleplay:hover {
  237.     box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 12px 22px rgba(0, 0, 0, 0.15);
  238.     }
  239.     .articleplay:hover .nfo {
  240.     transform: translateY(-100px);
  241.     }
  242.     .articleplay:hover .nfo p {
  243.     opacity: 0;
  244.     }
  245.     .articleplay:hover .desc {
  246.     transform: translateY(-47px);
  247.     }
  248.     .articleplay:hover .desc p {
  249.     opacity: 1;
  250.     }
  251.     .articleplay:hover h3:after {
  252.     width: 390px;
  253.     transform: translateX(-20px);
  254.     transition-delay: 0.3s;
  255.     transition: transform 0.3s ease, width 2s ease-in;
  256.     }
  257.     .articleplay:hover .image {
  258.     transform: translateY(-60px);
  259.     }
  260.     .articleplay:hover.player-active h3:after {
  261.     transition: 0.3s ease;
  262.     width: 440px;
  263.     }
  264.     .articleplay:hover.player-active .image:before {
  265.     transform: translate(0);
  266.     }
  267.     .articleplay:hover.player-active .nfo {
  268.     transition: 1s ease 1.5s;
  269.     transform: translateY(-6px);
  270.     }
  271.     .articleplay:hover.player-active .nfo a {
  272.     transform: translateY(-94px);
  273.     transition: 1s ease 1.5s;
  274.     }
  275.     .articleplay:hover.player-active .nfo:hover {
  276.     transition: 0.7s ease 0s;
  277.     transform: translateY(-100px);
  278.     }
  279.     .articleplay:hover.player-active .nfo:hover a {
  280.     transform: translateY(0);
  281.     transition: 0.7s ease 0s;
  282.     }
  283.     .articleplay:hover.player-active .nfo:hover h3 {
  284.     transition: 1s ease 0s;
  285.     color: white;
  286.     }
  287.     .articleplay:hover.player-active .nfo:hover h3 {
  288.     transition: 1s ease 2s;
  289.     }
  290.     .articleplay:hover.player-active .nfo:hover h3:after {
  291.     width: 440px;
  292.     transition: width 0.3s ease;
  293.     }
  294. .bg-danger {
  295.   background-color: #f5365c !important;
  296. }
  297. @media (min-width: 1200px) {
  298.   
  299.   .justify-content-xl-between {
  300.     justify-content: space-between !important;
  301.   }
  302. }
  303. .pt-5 {
  304.   padding-top: 3rem !important;
  305. }
  306. .pb-8 {
  307.   padding-bottom: 8rem !important;
  308. }
  309. @media (min-width: 768px) {
  310.   .pt-md-8 {
  311.     padding-top: 8rem !important;
  312.   }
  313. }
  314. @media (min-width: 1200px) {
  315.   
  316.   .mb-xl-0 {
  317.     margin-bottom: 0 !important;
  318.   }
  319. }
  320. .font-weight-bold {
  321.   font-weight: 600 !important;
  322. }
  323. a.text-success:hover,
  324. a.text-success:focus {
  325.   color: #24a46d !important;
  326. }
  327. .text-warning {
  328.   color: #fb6340 !important;
  329. }
  330. a.text-warning:hover,
  331. a.text-warning:focus {
  332.   color: #fa3a0e !important;
  333. }
  334. .text-danger {
  335.   color: #f5365c !important;
  336. }
  337. a.text-danger:hover,
  338. a.text-danger:focus {
  339.   color: #ec0c38 !important;
  340. }
  341. .text-white {
  342.   color: #fff !important;
  343. }
  344. a.text-white:hover,
  345. a.text-white:focus {
  346.   color: #e6e6e6 !important;
  347. }
  348. .text-muted {
  349.   color: #8898aa !important;
  350. }
  351. figcaption,
  352. main {
  353.   display: block;
  354. }
  355. main {
  356.   overflow: hidden;
  357. }
  358. .bg-yellow {
  359.   background-color: #ffd600 !important;
  360. }
  361. </style>
  362. <section id="download-firefox-primary-cta" class="c-primary-cta download-firefox-primary-cta mzp-t-firefox" style="background-image: url({{ asset('template/images/bg-shape-bottom-right.png') }}); background-size: 600px 400px,auto; background-position: top 100px right 0px; background-repeat:no-repeat;">
  363.   <div class="mzp-l-content ">
  364.     <div class="c-primary-cta-wrapper" style="max-width: 100%;">
  365.       <div class="banner-content" style="margin-bottom: 20px; margin-top: -40px;">
  366.           <div class="me wow fadeInDown" data-wow-duration="1s" data-wow-delay="1.2s" style="visibility: visible; animation-duration: 1s; animation-delay: 1.2s; animation-name: fadeInDown;">Investissez</div>
  367.       </div>
  368.       <div class="row">
  369.           <div class="col-md-6">
  370.             <h3 class="c-primary-cta-title">Sur les business les plus rentables en controlant intégralement l'activité.</h3>
  371.             <h3 class="c-primary-cta-title-sub">12</h3>
  372.             <p class="c-primary-cta-desc-sub">{{ site }} Transforme des idées et projets en business modernes dans lesquelles des millions de personnes peuvent investir et tracer leur investissement avec le risque d'échec quasiment nul.</p>
  373.             <div class="c-primary-cta-button">
  374.               <a style="margin: 1px;" class="download-link button button-green mzp-c-button mzp-t-product" href="{{ path('produit_produit_tarification_courant_product') }}" data-direct-link="" data-link-type="download" data-display-name="Windows 64-bit" data-download-version="win64" data-download-os="Desktop" data-download-location="primary cta">
  375.                 <strong class="download-title">
  376.                   Investir sur un chantier
  377.                 </strong>
  378.               </a>
  379.               
  380.               <a style="margin: 1px;" class="download-link button button-green mzp-c-button mzp-t-product" href="{{ path('produit_produit_tarification_souscription_donation') }}" data-direct-link="" data-link-type="download" data-display-name="Windows 64-bit" data-download-version="win64" data-download-os="Desktop" data-download-location="primary cta">
  381.                 <strong class="download-title">
  382.                   Faire un don
  383.                 </strong>
  384.               </a>
  385.             </div>
  386.           </div>
  387.           <div class="col-md-6">
  388.             
  389.             <div class="articleplay"  data-youtube-id="Ue_SfrHHBAc">
  390.                 <div class="image"></div>
  391.                 <div class="player-wrap">
  392.                   <div id="player"></div>
  393.                 </div>
  394.                 <div class="nfo">
  395.                   
  396.                   <h3>Monsters, Inc.</h3>
  397.                   <p>Animation/Comedy
  398.                   </p>
  399.                   <div class="desc">
  400.                     <p>In order to power the city, monsters have to scare children so that they scream. However, the children are toxic to the monsters, and after a child gets through, two monsters realize things may not be what they think.</p>
  401.                     <a href="#" ><span>&#9658; Rent or Buy Now</span>
  402.                       <div class="maxdome-logo"></div>
  403.                     </a>
  404.                   </div>
  405.             
  406.                 </div>
  407.             </div>
  408.           </div>
  409.       </div>
  410.       
  411.       <script type="text/javascript">
  412.         
  413.       </script>
  414.     </div>
  415.   </div>
  416.   <div>
  417.       <img src="" alt="" style="">
  418.   </div>
  419. </section>
  420. {% endif %}
  421. <div class="mzp-l-content " style="border-top: 1px solid #ddd;">
  422.     <div class="header-body">
  423.         <div class="row">
  424.           <div class="col-xl-3 col-lg-6">
  425.             <div class="card card-stats mb-4 mb-xl-0">
  426.               <div class="card-body">
  427.                 <div class="row">
  428.                   <div class="col">
  429.                     <h5 class="card-title text-uppercase text-muted mb-0">Chantiers</h5>
  430.                     <span class="h2 font-weight-bold mb-0">350,897</span>
  431.                   </div>
  432.                   <div class="col-auto">
  433.                     <div class="icon icon-shape bg-danger text-white rounded-circle shadow">
  434.                       <i class="fa fa-chart-bar"></i>
  435.                     </div>
  436.                   </div>
  437.                 </div>
  438.                 <p class="mt-3 mb-0 text-muted text-sm">
  439.                   <span class="text-success mr-2"><i class="fa fa-arrow-up"></i> 3.48%</span>
  440.                   <span class="text-nowrap">Since last month</span>
  441.                 </p>
  442.               </div>
  443.             </div>
  444.           </div>
  445.           <div class="col-xl-3 col-lg-6">
  446.             <div class="card card-stats mb-4 mb-xl-0">
  447.               <div class="card-body">
  448.                 <div class="row">
  449.                   <div class="col">
  450.                     <h5 class="card-title text-uppercase text-muted mb-0">Investissement</h5>
  451.                     <span class="h2 font-weight-bold mb-0">2,356</span>
  452.                   </div>
  453.                   <div class="col-auto">
  454.                     <div class="icon icon-shape bg-warning text-white rounded-circle shadow">
  455.                       <i class="fa fa-chart-pie"></i>
  456.                     </div>
  457.                   </div>
  458.                 </div>
  459.                 <p class="mt-3 mb-0 text-muted text-sm">
  460.                   <span class="text-danger mr-2"><i class="fa fa-arrow-down"></i> 3.48%</span>
  461.                   <span class="text-nowrap">Since last week</span>
  462.                 </p>
  463.               </div>
  464.             </div>
  465.           </div>
  466.           <div class="col-xl-3 col-lg-6">
  467.             <div class="card card-stats mb-4 mb-xl-0">
  468.               <div class="card-body">
  469.                 <div class="row">
  470.                   <div class="col">
  471.                     <h5 class="card-title text-uppercase text-muted mb-0">Investisseurs</h5>
  472.                     <span class="h2 font-weight-bold mb-0">924</span>
  473.                   </div>
  474.                   <div class="col-auto">
  475.                     <div class="icon icon-shape bg-yellow text-white rounded-circle shadow">
  476.                       <i class="fa fa-users"></i>
  477.                     </div>
  478.                   </div>
  479.                 </div>
  480.                 <p class="mt-3 mb-0 text-muted text-sm">
  481.                   <span class="text-warning mr-2"><i class="fa fa-arrow-down"></i> 1.10%</span>
  482.                   <span class="text-nowrap">Since yesterday</span>
  483.                 </p>
  484.               </div>
  485.             </div>
  486.           </div>
  487.           <div class="col-xl-3 col-lg-6">
  488.             <div class="card card-stats mb-4 mb-xl-0">
  489.               <div class="card-body">
  490.                 <div class="row">
  491.                   <div class="col">
  492.                     <h5 class="card-title text-uppercase text-muted mb-0">Donations</h5>
  493.                     <span class="h2 font-weight-bold mb-0">49,65%</span>
  494.                   </div>
  495.                   <div class="col-auto">
  496.                     <div class="icon icon-shape bg-info text-white rounded-circle shadow">
  497.                       <i class="fa fa-percent"></i>
  498.                     </div>
  499.                   </div>
  500.                 </div>
  501.                 <p class="mt-3 mb-0 text-muted text-sm">
  502.                   <span class="text-success mr-2"><i class="fa fa-arrow-up"></i> 12%</span>
  503.                   <span class="text-nowrap">Since last month</span>
  504.                 </p>
  505.               </div>
  506.             </div>
  507.           </div>
  508.         </div>
  509.       </div>
  510. </div>
  511.   <section style="padding: 15px 0px;">
  512.     <div class="mzp-l-content">
  513.       <div class="mzp-l-card-hero">
  514.       {% for article in article_presentation %}
  515.             {% if loop.first %}
  516.                 <section class="mzp-c-card mzp-c-card-large mzp-has-aspect-16-9 mzp-has-video has-video-embed">
  517.                   <a class="mzp-c-card-block-link" href="{{ path('produit_service_detail_article_central', {'id': article.id }) }}" data-link-name="Dites stop aux traqueurs publicitaires" data-link-type="link" data-link-group="card" data-card-tag="Firefox">
  518.                     <div class="mzp-c-card-media-wrapper">
  519.                         <div class="lazy-image-container"><img class="mzp-c-card-image" src="{% if article.imgservice != null %}{{ asset(article.imgservice.getwebpath) }}{% else %}{{ asset('template/images/bg-host.png') }}{% endif %}" alt="" srcset="{% if article.imgservice != null %}{{ asset(article.imgservice.getwebpath) }}{% else %}{{ asset('template/images/bg-host.png') }}{% endif %} 2x"/></div>
  520.                     </div>
  521.                     <div class="mzp-c-card-content">
  522.                     
  523.                       <div class="mzp-c-card-tag">Firefox</div>
  524.                     
  525.                       <h2 class="mzp-c-card-title"><span>{{ article.nom }}</span></h2>
  526.                     
  527.                       <p class="mzp-c-card-desc">{{ article.description }}</p>
  528.                     </div>
  529.                   </a>
  530.                   
  531.                   <div class="mzp-c-card-video-wrapper hidden">
  532.                   <figure class="mzp-c-card-video-content mzp-c-modal-overlay-contents">
  533.                       <div class="ytcontainer-video">
  534.                         <div class="video-container">
  535.                           <div class="video-play" data-id="4OKMVy859wA"></div>
  536.                         </div>
  537.                       </div>
  538.                       <figcaption>
  539.                         <p>Plus de 2000 traqueurs vous suivent partout sur le Web et menacent votre vie privée. Alors Firefox les bloque pour vous. <a href="{{ path('produit_service_detail_article_central', {'id': article.id }) }}">En savoir plus</a></p>
  540.                       </figcaption>
  541.                     </figure>
  542.                    </div>
  543.                 </section>
  544.             {% else %}
  545.             
  546.             {% if loop.index == 2 %}
  547.                 <section class="mzp-c-card mzp-c-card-medium mzp-has-aspect-1-1  mzp-has-video has-video-embed">
  548.                   <a class="mzp-c-card-block-link" href="{{ path('produit_service_detail_article_central', {'id': article.id }) }}" data-link-name="Monitor surveille les fuites de données" data-link-type="link" data-link-group="card" data-card-tag="Sécurité">
  549.                     <div class="mzp-c-card-media-wrapper">
  550.                         <div class="lazy-image-container"><img class="mzp-c-card-image" src="{% if article.imgservice != null %}{{ asset(article.imgservice.getwebpath) }}{% else %}{{ asset('template/images/bg-host.png') }}{% endif %}" alt="" srcset="{% if article.imgservice != null %}{{ asset(article.imgservice.getwebpath) }}{% else %}{{ asset('template/images/bg-host.png') }}{% endif %} 2x"/></div>
  551.                     </div>
  552.                     <div class="mzp-c-card-content">
  553.                       <div class="mzp-c-card-tag">Sécurité</div>
  554.                     
  555.                       <h2 class="mzp-c-card-title"><span>{{ article.nom }}</span></h2>
  556.                     
  557.                       <p class="mzp-c-card-desc">{{ article.description }}</p>
  558.                     </div>
  559.                   </a>
  560.                   <div class="mzp-c-card-video-wrapper hidden">
  561.                       <figure class="mzp-c-card-video-content mzp-c-modal-overlay-contents">
  562.                           <div class="ytcontainer-video">
  563.                             <div class="video-container">
  564.                               <div class="video-play" data-id="FawHxwNzyPM"></div>
  565.                             </div>
  566.                           </div>
  567.                           <figcaption>
  568.                             <p>Visualisez les traqueurs que nous bloquons directement dans le navigateur. <a href="{{ path('produit_service_detail_article_central', {'id': article.id }) }}">En savoir plus</a></p>
  569.                           </figcaption>
  570.                         </figure>
  571.                     </div>
  572.                 </section>
  573.             {% else %}
  574.                 <section class="mzp-c-card mzp-c-card-small mzp-has-aspect-16-9 mzp-has-video has-video-embed">
  575.                     <a class="mzp-c-card-block-link" href="{{ path('produit_service_detail_article_central', {'id': article.id }) }}" data-link-name="Découvrez votre rapport de protection" data-link-type="link" data-link-group="card" data-card-tag="Outils Firefox">
  576.                     <div class="mzp-c-card-media-wrapper">
  577.                         <div class="lazy-image-container"><img class="mzp-c-card-image" src="{% if article.imgservice != null %}{{ asset(article.imgservice.getwebpath) }}{% else %}{{ asset('template/images/bg-host.png') }}{% endif %}" alt="" srcset="{% if article.imgservice != null %}{{ asset(article.imgservice.getwebpath) }}{% else %}{{ asset('template/images/bg-host.png') }}{% endif %} 2x"/></div>
  578.                       
  579.                     </div>
  580.                     <div class="mzp-c-card-content">
  581.                       <div class="mzp-c-card-tag">Outils Firefox</div>
  582.                       <h2 class="mzp-c-card-title"><span>{{ article.nom }}</span></h2>
  583.                       <p class="mzp-c-card-desc">{{ article.description }}</p>
  584.                     </div>
  585.                     </a>
  586.               
  587.                     <div class="mzp-c-card-video-wrapper hidden">
  588.                       <figure class="mzp-c-card-video-content mzp-c-modal-overlay-contents">
  589.                           <div class="ytcontainer-video">
  590.                             <div class="video-container">
  591.                               <div class="video-play" data-id="FawHxwNzyPM"></div>
  592.                             </div>
  593.                           </div>
  594.                           <figcaption>
  595.                             <p>Visualisez les traqueurs que nous bloquons directement dans le navigateur. <a href="{{ path('produit_service_detail_article_central', {'id': article.id }) }}">En savoir plus</a></p>
  596.                           </figcaption>
  597.                         </figure>
  598.                     </div>
  599.                 </section>
  600.             {% endif %}
  601.             {% endif %}
  602.         {% endfor %}
  603.       </div>
  604.       </div>
  605.       </section>
  606.     
  607.       <section style="margin-top: -20px;">
  608.       <div style="width: 95%; margin: 0px auto;">
  609.       <link href="{{ asset('template/css/tyfy.css') }}" rel="stylesheet"/>
  610.       <style>
  611.         div.demotabs {
  612.           border: 2px dashed #e6e6e6;
  613.           border-radius: .8125rem;
  614.           box-shadow: inset 0px 0px 1.625rem rgba(0, 0, 0, 0.05);
  615.           margin-top: 1.625rem;
  616.           padding: 15px;
  617.           background: #fff;
  618.         }
  619.         .links-underlined a[href]{border-bottom-style:solid;border-bottom-width:2px}ol,ul{line-height:1.625rem;padding-left:2.4375rem}
  620.       </style>
  621.       
  622.       
  623.       <div class="demotabs">
  624.           <div class="mzp-l-content">
  625.         <div class="links-underlined">
  626.             <h1>En quoi AFH Factory vous êtes utiles ?</h1>
  627.             <p>  This is my implementation of responsive tabs. It is being incorporated into my <a href="https://github.com/aaronpinero/typography">Tyfy framework</a>.</p>
  628.         </div>
  629.         <div class="tabs-container">
  630.             <h2 class="tab-label">Investisseur</h2>
  631.             <p>Porro excepturi ad eligendi excepturi quam voluptate velit. Placeat modi animi natus est temporibus tenetur pariatur suscipit. Dolores sit id sit placeat consequatur temporibus accusamus et. Cumque voluptatum voluptatum delectus et sequi. Vero vitae officia eius ad. Consequatur impedit quam mollitia.</p>
  632.             <p>Aspernatur id nihil sit eveniet vero corporis necessitatibus sit. Magni quia vitae perferendis. Suscipit illo tempora minus officia nemo aut numquam. Qui et omnis velit repudiandae autem. Aperiam aut dolorem neque quis dolor est sunt.</p>
  633.             
  634.             <h2 class="tab-label collapsed">Porteur de projet</h2>
  635.             <p>Facilis error corrupti dolor eaque. 
  636.             <a id="anchor">Occaecati</a> illum sequi officia rerum nostrum. Iste in quo eveniet. Deserunt quaerat a adipisci magni consequatur nesciunt distinctio praesentium. Ipsum vel ut est vel veritatis fugiat perspiciatis.</p>
  637.             <p>Omnis dolores sit pariatur facilis odit magni. Totam excepturi incidunt dolorem assumenda neque dolorem. Dolorem odio consequatur quas corrupti sequi. Nihil ut nihil itaque non at molestiae corporis. Explicabo voluptate quis et.</p>
  638.             
  639.             <h2 class="tab-label collapsed">Contributeurs</h2>
  640.             <p>Curabitur non mauris sodales, tempor lacus ac, maximus felis. Vestibulum ultrices augue ut arcu mattis pellentesque. Maecenas ullamcorper lorem sit amet pretium pharetra. Nunc ipsum tellus, hendrerit vitae bibendum vel, scelerisque sit amet libero. Duis imperdiet massa placerat venenatis pharetra. Donec consectetur quis odio sit amet sollicitudin. Morbi at faucibus odio. Duis viverra lacus a odio pretium, quis suscipit tortor accumsan. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur egestas venenatis est vel hendrerit. Fusce molestie bibendum ex in suscipit.</p>
  641.             
  642.         </div>
  643.       
  644.       <h2>Notes</h2>
  645.       <p>I've relied on CSS Flexbox for the visual tabs. Flexbox is <a href="https://caniuse.com/#search=flex">a problem for just about any version of Internet <strike>Exploder</strike> Explorer</a>. At some point, I'll need to figure out an alternative way to present the tabs that will work for IE.</p>
  646.     </div>
  647.     </div>
  648.       
  649.       <script>
  650.         $(document).ready(function(){
  651.   
  652.           GoToAnchor = function(){
  653.             // find the anchor and any tab it might be in
  654.             selected_anchor_name = encodeURIComponent(window.location.hash.substring(1));
  655.                 selected_anchor = $('a[name="'+selected_anchor_name+'"], a[id="'+selected_anchor_name+'"]');
  656.             parent_tab = selected_anchor.parents('.tab-panel');
  657.             // account for an anchor in a label
  658.             parent_label = selected_anchor.parents('.tab-label');
  659.             if (parent_label.length) {
  660.               parent_tab = parent_label.next('.tab-panel');
  661.             }
  662.             // do the steps of this function only if we have an anchor link and a tab panel
  663.             if (selected_anchor.length && parent_tab.length) {
  664.               parent_tab_label = parent_tab.prev('.tab-label');
  665.                   parent_tab_index = parent_tab_label.attr('data-tabindex');
  666.               parent_tab.parent().find('ul.tabs li').eq(parent_tab_index).click();
  667.               if (parent_tab.hasClass('collapsed')) {
  668.                 parent_tab.removeClass('collapsed');
  669.                 parent_tab_label.removeClass('collapsed');
  670.               }
  671.               // scroll to the anchor
  672.               var s = selected_anchor.offset().top - 50; // console.log(s);
  673.               $('body,html').animate({'scrollTop':s},500,'swing');
  674.                 }
  675.           };
  676.           
  677.           // prepare HTML structure for each tab container
  678.           $('.tabs-container').each(function(){
  679.             if (!$(this).hasClass('tabs-processed')) {
  680.               // find the headings that are tab labels
  681.               my_tablabels = $(this).find('.tab-label');
  682.               // create tabs
  683.               if ($(this).find('ul.tabs').length === 0) {
  684.                 $(this).prepend('<ul class="tabs"></ul>');
  685.                 var x;
  686.                 for (x=0;x<my_tablabels.length;x++) {
  687.                   $(this).find('ul.tabs').append('<li data-tabindex="'+x+'">'+my_tablabels.eq(x).text()+'</li>');
  688.                 }
  689.               }
  690.               // structure all labels and wrap all tab panels
  691.               if ($(this).find('.tab-panel').length === 0) {
  692.                 my_tablabels.each(function(i){
  693.                   $(this).attr('data-tabindex',i);
  694.                   $(this).wrapInner('<a id="'+encodeURIComponent($(this).text())+'"></a>');
  695.                   kids = $(this).nextUntil('.tab-label').wrapAll('<div class="tab-panel"></div>');
  696.                   // default state class for when tabs are collapsable sections
  697.                   $(this).addClass('collapsed').next('.tab-panel').addClass('collapsed');
  698.                 });    
  699.               }
  700.               // open initial tab
  701.               $(this).find('ul.tabs li').eq(0).addClass('open');
  702.               my_tablabels.eq(0).addClass('open').next('.tab-panel').addClass('open');
  703.               // tab click events
  704.               $('.tabs-container ul.tabs li').each(function(i){
  705.                 $(this).click(function(){
  706.                   if (!$(this).hasClass('open')) {
  707.                     $('.tabs-container .open').removeClass('open');
  708.                     my_tabindex = $(this).attr('data-tabindex');
  709.                     $(this).addClass('open');
  710.                     $('.tabs-container .tab-label').eq(my_tabindex).addClass('open');
  711.                     $('.tabs-container .tab-panel').eq(my_tabindex).addClass('open');
  712.                   }
  713.                 });
  714.               });
  715.               // collapsable header click event
  716.               $('.tabs-container .tab-label').click(function(){
  717.                 if (!$(this).hasClass('transition')) {
  718.                   kids = $(this).next('.tab-panel');
  719.                   kids.removeClass('collapsed');
  720.                   var fullHeight = kids.outerHeight();
  721.                   $(this).addClass('transition');
  722.                   kids.addClass('transition');
  723.                   if ($(this).hasClass('collapsed')) {
  724.                     kids.css({'height':'0px','padding-bottom':'0px','padding-top':'0px'}).animate({
  725.                       height:fullHeight+'px',
  726.                       paddingBottom:'32px',
  727.                       paddingTop:'16px',
  728.                     },500,function(){
  729.                       $('.tabs-container .transition').removeClass('collapsed').removeClass('transition').removeAttr('style');
  730.                     });
  731.                   }
  732.                   else {
  733.                     kids.css('height',fullHeight+'px').animate({
  734.                       height:'0px',
  735.                       paddingBottom:'0px',
  736.                       paddingTop:'0px',
  737.                     },500,function(){
  738.                       $('.tabs-container .transition').addClass('collapsed').removeClass('transition').removeAttr('style');
  739.                     });
  740.                   }
  741.                 }
  742.               }); 
  743.               // indicate state of readiness
  744.               $(this).addClass('tabs-processed');
  745.             }  
  746.           });
  747.           // if there are tabs and someone has linked to an anchor inside a tab
  748.           console.log(window.location.hash);
  749.           if (window.location.hash != '') {
  750.             GoToAnchor();
  751.           }
  752.           // handle case when page is already loaded
  753.           $(window).on('hashchange',function(){
  754.             GoToAnchor();
  755.           });
  756.         });
  757.       </script>
  758.       </div>
  759.       </section>
  760.       <style>
  761.           .articles {
  762.             background-color: white;
  763.             padding: 40px;
  764.             display: -webkit-box;
  765.             display: -ms-flexbox;
  766.             display: flex;
  767.             -webkit-box-orient: vertical;
  768.             -webkit-box-direction: normal;
  769.                 -ms-flex-direction: column;
  770.                     flex-direction: column;
  771.             max-width: 600px;
  772.             position: relative;
  773.             border-radius: 10px;
  774.             border: 7px dashed #ddd;
  775.             }
  776.             .articles__close {
  777.             display: -webkit-inline-box;
  778.             display: -ms-inline-flexbox;
  779.             display: inline-flex;
  780.             position: absolute;
  781.             right: 40px;
  782.             top: 40px;
  783.             cursor: pointer;
  784.             }
  785.             .articles h1 {
  786.             margin: 0px;
  787.             margin-bottom: 10px;
  788.             font-size: 22px;
  789.             color: #100e21;
  790.             }
  791.             .articles span {
  792.             color: #100e21;
  793.             margin-bottom: 30px;
  794.             }
  795.             .articles__list {
  796.             padding-left: 0px;
  797.             list-style: none;
  798.             display: -webkit-box;
  799.             display: -ms-flexbox;
  800.             display: flex;
  801.             -webkit-box-orient: vertical;
  802.             -webkit-box-direction: normal;
  803.                 -ms-flex-direction: column;
  804.                     flex-direction: column;
  805.             }
  806.             .articles__list > li {
  807.             padding: 30px;
  808.             display: -webkit-box;
  809.             display: -ms-flexbox;
  810.             display: flex;
  811.             -webkit-box-orient: vertical;
  812.             -webkit-box-direction: normal;
  813.                 -ms-flex-direction: column;
  814.                     flex-direction: column;
  815.             border: 1px solid #dedee9;
  816.             }
  817.             .articles__list > li + li {
  818.             margin-top: 10px;
  819.             }
  820.             .articles__list > li a {
  821.             text-decoration: none;
  822.             }
  823.             .articles__list > li a h2 {
  824.             margin: 0px;
  825.             color: #442fef;
  826.             }
  827.             .articles__list .list__footer {
  828.             padding-left: 0px;
  829.             list-style: none;
  830.             display: -webkit-box;
  831.             display: -ms-flexbox;
  832.             display: flex;
  833.             margin-top: 20px;
  834.             }
  835.             .articles__list .list__footer li {
  836.             display: -webkit-box;
  837.             display: -ms-flexbox;
  838.             display: flex;
  839.             -webkit-box-align: center;
  840.                 -ms-flex-align: center;
  841.                     align-items: center;
  842.             }
  843.             .articles__list .list__footer li span {
  844.             margin-bottom: 0px;
  845.             margin-left: 5px;
  846.             line-height: 17px;
  847.             color: #100e21;
  848.             font-size: 14px;
  849.             font-weight: 700;
  850.             }
  851.             .articles__list .list__footer li + li {
  852.             margin-left: 30px;
  853.             }
  854.             .articles__list .list__footer li i {
  855.             font-size: 26px;
  856.             }
  857.             @import "https://fonts.googleapis.com/css?family=Dosis:300,400,500,600,700";
  858. *, *:before, *:after {
  859.   box-sizing: border-box;
  860.   -webkit-box-sizing: border-box;
  861.   -moz-box-sizing: border-box;
  862. }
  863. body, html {
  864.   height: 100%;
  865. }
  866. body {
  867.   background: #f9f9f9;
  868.   background-size: cover;
  869.   margin: 0;
  870.   padding: 0;
  871.   font-family: helvetica, arial, tahoma, verdana;
  872.   line-height: 20px;
  873.   font-size: 14px;
  874.   color: #726f77;
  875. }
  876. img {
  877.   max-width: 100%;
  878. }
  879. a {
  880.   text-decoration: none;
  881. }
  882. h1, h2, h3, h4 {
  883.   font-family: "Dosis", arial, tahoma, verdana;
  884.   font-weight: 500;
  885. }
  886. .project-name {
  887.   text-align: center;
  888.   padding: 10px 0;
  889. }
  890. .success {
  891.   background: #78AD42 !important;
  892. }
  893. .timeline-container {
  894.   max-width: 1000px;
  895.   margin: 0 auto;
  896. }
  897. #timeline .timeline-item:after, #timeline .timeline-item:before {
  898.   content: '';
  899.   display: block;
  900.   width: 100%;
  901.   clear: both;
  902. }
  903. #timeline {
  904.   width: 100%;
  905.   margin: 0px auto;
  906.   position: relative;
  907.   padding: 0 20px;
  908.   -webkit-transition: all 0.4s ease;
  909.   -moz-transition: all 0.4s ease;
  910.   -ms-transition: all 0.4s ease;
  911.   transition: all 0.4s ease;
  912. }
  913. #timeline:before {
  914.   content: "";
  915.   width: 3px;
  916.   height: 100%;
  917.   background: #1C71A4;
  918.   left: 50%;
  919.   top: 0;
  920.   position: absolute;
  921. }
  922. #timeline:after {
  923.   content: "";
  924.   clear: both;
  925.   display: table;
  926.   width: 100%;
  927. }
  928. #timeline .timeline-item {
  929.   margin-bottom: 50px;
  930.   position: relative;
  931. }
  932. #timeline .timeline-item .timeline-icon {
  933.   background: #1C71A4;
  934.   width: 50px;
  935.   height: 50px;
  936.   position: absolute;
  937.   top: 0;
  938.   left: 50%;
  939.   overflow: hidden;
  940.   margin-left: -23px;
  941.   -webkit-border-radius: 50%;
  942.   -moz-border-radius: 50%;
  943.   -ms-border-radius: 50%;
  944.   border-radius: 50%;
  945. }
  946. #timeline .timeline-item .timeline-icon svg, #timeline .timeline-item .timeline-icon .fa {
  947.   position: relative;
  948.   top: 13px;
  949.   left: 14px;
  950.   font-size: 24px;
  951.   color: #fff;
  952. }
  953. #timeline .timeline-item .timeline-content {
  954.   width: 45%;
  955.   background: #fff;
  956.   padding: 20px;
  957.   -webkit-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  958.   -moz-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  959.   -ms-box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  960.   box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  961.   -webkit-border-radius: 5px;
  962.   -moz-border-radius: 5px;
  963.   -ms-border-radius: 5px;
  964.   border-radius: 5px;
  965.   -webkit-transition: all 0.3s ease;
  966.   -moz-transition: all 0.3s ease;
  967.   -ms-transition: all 0.3s ease;
  968.   transition: all 0.3s ease;
  969. }
  970. #timeline .timeline-item .timeline-content h2 {
  971.   padding: 15px;
  972.   background: #1C71A4;
  973.   color: #fff;
  974.   margin: -20px -20px 0 -20px;
  975.   font-weight: 300;
  976.   -webkit-border-radius: 3px 3px 0 0;
  977.   -moz-border-radius: 3px 3px 0 0;
  978.   -ms-border-radius: 3px 3px 0 0;
  979.   border-radius: 3px 3px 0 0;
  980.   font-size: 22px;
  981. }
  982. #timeline .timeline-item .timeline-content p {
  983.   padding-top: 10px;
  984.   padding-bottom: 10px;
  985. }
  986. #timeline .timeline-item .timeline-content:before {
  987.   content: '';
  988.   position: absolute;
  989.   left: 45%;
  990.   top: 20px;
  991.   width: 0;
  992.   height: 0;
  993.   border-top: 7px solid transparent;
  994.   border-bottom: 7px solid transparent;
  995.   border-left: 7px solid #1C71A4;
  996. }
  997. #timeline .timeline-item .timeline-content.right {
  998.   float: right;
  999. }
  1000. #timeline .timeline-item .timeline-content.right:before {
  1001.   content: '';
  1002.   right: 45%;
  1003.   left: inherit;
  1004.   border-left: 0;
  1005.   border-right: 7px solid #1C71A4;
  1006. }
  1007.   #timeline {
  1008.     margin: 0px;
  1009.     padding: 0px;
  1010.     width: 100%;
  1011.   }
  1012.   #timeline:before {
  1013.     left: 0;
  1014.   }
  1015.   #timeline .timeline-item .timeline-content {
  1016.     width: 90%;
  1017.     float: right;
  1018.   }
  1019.   #timeline .timeline-item .timeline-content:before, #timeline .timeline-item .timeline-content.right:before {
  1020.     left: 10%;
  1021.     margin-left: -6px;
  1022.     border-left: 0;
  1023.     border-right: 7px solid #1C71A4;
  1024.   }
  1025.   #timeline .timeline-item .timeline-icon {
  1026.     left: 0;
  1027.   }
  1028. /* Animation CSS */
  1029. /* icon animation */
  1030. .timeline-icon.is-hidden {
  1031.   visibility: hidden;
  1032. }
  1033. .timeline-icon.animate-it {
  1034.   visibility: visible;
  1035.    -webkit-animation: bounce-1 0.6s;
  1036.    -moz-animation: bounce-1 0.6s;
  1037.     animation: bounce-1 0.6s;
  1038. }
  1039. /* content block animation */
  1040. .timeline-content.is-hidden {
  1041.   visibility: hidden;
  1042. }
  1043. .timeline-content.animate-it {
  1044.   visibility: visible;
  1045.    -webkit-animation: bounce-2 0.6s;
  1046.    -moz-animation: bounce-2 0.6s;
  1047.     animation: bounce-2 0.6s;
  1048.   }
  1049. @media only screen and (min-width: 769px) {
  1050.   /* Inverse bounce effect on even content blocks */
  1051. .timeline-content.right.animate-it {
  1052.     -webkit-animation: bounce-2-inverse 0.6s;
  1053.     -moz-animation: bounce-2-inverse 0.6s;
  1054.     animation: bounce-2-inverse 0.6s;
  1055.   }
  1056. }
  1057. @media only screen and (max-width: 768px) {
  1058.   /* Inverse bounce effect on all content blocks */
  1059. .timeline-content.animate-it, .timeline-content.right.animate-it {
  1060.     -webkit-animation: bounce-2-inverse 0.6s;
  1061.     -moz-animation: bounce-2-inverse 0.6s;
  1062.     animation: bounce-2-inverse 0.6s;
  1063.   }
  1064. }
  1065. /* ALL animation types called */
  1066. @-webkit-keyframes bounce-1 {
  1067.   0% {
  1068.     opacity: 0;
  1069.     -webkit-transform: scale(0.5);
  1070.   }
  1071.   60% {
  1072.     opacity: 1;
  1073.     -webkit-transform: scale(1.2);
  1074.   }
  1075.   100% {
  1076.     -webkit-transform: scale(1);
  1077.   }
  1078. }
  1079. @-moz-keyframes bounce-1 {
  1080.   0% {
  1081.     opacity: 0;
  1082.     -moz-transform: scale(0.5);
  1083.   }
  1084.   60% {
  1085.     opacity: 1;
  1086.     -moz-transform: scale(1.2);
  1087.   }
  1088.   100% {
  1089.     -moz-transform: scale(1);
  1090.   }
  1091. }
  1092. @keyframes bounce-1 {
  1093.   0% {
  1094.     opacity: 0;
  1095.     -webkit-transform: scale(0.5);
  1096.     -moz-transform: scale(0.5);
  1097.     -ms-transform: scale(0.5);
  1098.     -o-transform: scale(0.5);
  1099.     transform: scale(0.5);
  1100.   }
  1101.   60% {
  1102.     opacity: 1;
  1103.     -webkit-transform: scale(1.2);
  1104.     -moz-transform: scale(1.2);
  1105.     -ms-transform: scale(1.2);
  1106.     -o-transform: scale(1.2);
  1107.     transform: scale(1.2);
  1108.   }
  1109.   100% {
  1110.     -webkit-transform: scale(1);
  1111.     -moz-transform: scale(1);
  1112.     -ms-transform: scale(1);
  1113.     -o-transform: scale(1);
  1114.     transform: scale(1);
  1115.   }
  1116. }
  1117. @-webkit-keyframes bounce-2 {
  1118.   0% {
  1119.     opacity: 0;
  1120.     -webkit-transform: translateX(-100px);
  1121.   }
  1122.   60% {
  1123.     opacity: 1;
  1124.     -webkit-transform: translateX(20px);
  1125.   }
  1126.   100% {
  1127.     -webkit-transform: translateX(0);
  1128.   }
  1129. }
  1130. @-moz-keyframes bounce-2 {
  1131.   0% {
  1132.     opacity: 0;
  1133.     -moz-transform: translateX(-100px);
  1134.   }
  1135.   60% {
  1136.     opacity: 1;
  1137.     -moz-transform: translateX(20px);
  1138.   }
  1139.   100% {
  1140.     -moz-transform: translateX(0);
  1141.   }
  1142. }
  1143. @keyframes bounce-2 {
  1144.   0% {
  1145.     opacity: 0;
  1146.     -webkit-transform: translateX(-100px);
  1147.     -moz-transform: translateX(-100px);
  1148.     -ms-transform: translateX(-100px);
  1149.     -o-transform: translateX(-100px);
  1150.     transform: translateX(-100px);
  1151.   }
  1152.   60% {
  1153.     opacity: 1;
  1154.     -webkit-transform: translateX(20px);
  1155.     -moz-transform: translateX(20px);
  1156.     -ms-transform: translateX(20px);
  1157.     -o-transform: translateX(20px);
  1158.     transform: translateX(20px);
  1159.   }
  1160.   100% {
  1161.     -webkit-transform: translateX(0);
  1162.     -moz-transform: translateX(0);
  1163.     -ms-transform: translateX(0);
  1164.     -o-transform: translateX(0);
  1165.     transform: translateX(0);
  1166.   }
  1167. }
  1168. @-webkit-keyframes bounce-2-inverse {
  1169.   0% {
  1170.     opacity: 0;
  1171.     -webkit-transform: translateX(100px);
  1172.   }
  1173.   60% {
  1174.     opacity: 1;
  1175.     -webkit-transform: translateX(-20px);
  1176.   }
  1177.   100% {
  1178.     -webkit-transform: translateX(0);
  1179.   }
  1180. }
  1181. @-moz-keyframes bounce-2-inverse {
  1182.   0% {
  1183.     opacity: 0;
  1184.     -moz-transform: translateX(100px);
  1185.   }
  1186.   60% {
  1187.     opacity: 1;
  1188.     -moz-transform: translateX(-20px);
  1189.   }
  1190.   100% {
  1191.     -moz-transform: translateX(0);
  1192.   }f
  1193. }
  1194. @keyframes bounce-2-inverse {
  1195.   0% {
  1196.     opacity: 0;
  1197.     -webkit-transform: translateX(100px);
  1198.     -moz-transform: translateX(100px);
  1199.     -ms-transform: translateX(100px);
  1200.     -o-transform: translateX(100px);
  1201.     transform: translateX(100px);
  1202.   }
  1203.   60% {
  1204.     opacity: 1;
  1205.     -webkit-transform: translateX(-20px);
  1206.     -moz-transform: translateX(-20px);
  1207.     -ms-transform: translateX(-20px);
  1208.     -o-transform: translateX(-20px);
  1209.     transform: translateX(-20px);
  1210.   }
  1211.   100% {
  1212.     -webkit-transform: translateX(0);
  1213.     -moz-transform: translateX(0);
  1214.     -ms-transform: translateX(0);
  1215.     -o-transform: translateX(0);
  1216.     transform: translateX(0);
  1217.   }
  1218. }
  1219.       </style>
  1220.     <section style="padding: 25px 0px;">
  1221.         <div class="mzp-l-content">
  1222.             <div class="row">
  1223.                 <div class="col-md-7">
  1224.                     {% for cat in liste_categorie|slice(0,2) %}
  1225.                     <h5 class="mzp-c-footer-heading" style="font-weight: 700;">
  1226.                         {{ cat.nom }}
  1227.                     </h5>
  1228.                     <div class="row grid">
  1229.                         {% set liste_scat = cat.getListeScat %}
  1230.                         {% for scat in liste_scat|slice(0,2) %}
  1231.                         <div class="col-md-6">
  1232.                             <div class="cardcode image-cardcode">
  1233.                                 <a href="{{ path('produit_produit_listes_produit_user', {'id': scat.id}) }}" class="img" style="height: 138.344px;"><span style="background: url('{% if scat.src != null %}{{ asset(scat.getWebpath) }}{% else %}{{ asset('template/images/3plan.png') }}{% endif %}')"></span></a>
  1234.                                 <a href="{{ path('produit_produit_listes_produit_user', {'id': scat.id}) }}" class="title"><h2> {{ scat.description }} </h2></a>
  1235.         
  1236.                                 <div class="infos">
  1237.                                     <span><a href="{{ path('produit_produit_listes_produit_user', {'id': scat.id}) }}"> {{ scat.nom }}</a></span>
  1238.                                     <span class="stats">
  1239.                                         <span><i class="fa fa-eye"></i>661</span>
  1240.                                         <span><i class="fa fa-comment"></i>0</span>
  1241.                                     </span>
  1242.                                 </div>
  1243.                             </div>
  1244.                         </div>
  1245.                         {% endfor %}
  1246.                     </div> <!-- End Row -->
  1247.                     {% endfor %}
  1248.                 </div>
  1249.                 <div class="col-md-5">
  1250.                     
  1251.                     <div id="timeline">
  1252.                         <div class="timeline-item">
  1253.                           <div class="timeline-icon">
  1254.                             <i class="fa fa-envelope-o" aria-hidden="true"></i>
  1255.                           </div>
  1256.                           <div class="timeline-content">
  1257.                             <h2>Notre vision</h2>
  1258.                             <p>
  1259.                               Lorem ipsum dolor sit amet, consectetur adipisicing elit. 
  1260.                               Atque, facilis quo maiores magnam modi ab libero praesentium blanditiis.
  1261.                             </p>
  1262.                             <span class="time-stamp">Thu Jan - 26 - 2017 01:54</span>
  1263.                           </div>
  1264.                         </div>
  1265.                   
  1266.                         <div class="timeline-item">
  1267.                           <div class="timeline-icon">
  1268.                             <i class="fa fa-envelope-open-o" aria-hidden="true"></i>
  1269.                           </div>
  1270.                           <div class="timeline-content right">
  1271.                             <h2>Notre Missions</h2>
  1272.                             <p>
  1273.                               Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque, facilis quo. Maiores magnam modi ab libero praesentium blanditiis consequatur aspernatur.
  1274.                             </p>
  1275.                             <span class="time-stamp">Thu Jan - 26 - 2017 01:54</span>
  1276.                           </div>
  1277.                         </div>
  1278.                   
  1279.                         <div class="timeline-item">
  1280.                           <div class="timeline-icon success">
  1281.                             <i class="fa fa-star" aria-hidden="true"></i>
  1282.                           </div>
  1283.                           <div class="timeline-content">
  1284.                             <h2>Nos Valeurs</h2>
  1285.                             <p>
  1286.                               Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque, facilis quo. Maiores magnam modi ab libero praesentium blanditiis consequatur aspernatur accusantium maxime molestiae sunt ipsa.
  1287.                             </p>
  1288.                              <span class="time-stamp">Thu Jan - 26 - 2017 01:54</span>
  1289.                           </div>
  1290.                         </div>
  1291.                   
  1292.                   
  1293.                     </div>
  1294.                 </div>
  1295.             </div>
  1296.         </div>
  1297.         <script type="text/javascript">
  1298.             $(function() {
  1299.                 var timelineBlocks = $('.timeline-item'),
  1300.                     offset = 0.8;
  1301.                 //hide timeline blocks which are outside the viewport
  1302.                 hideBlocks(timelineBlocks, offset);
  1303.                 //on scolling, show/animate timeline blocks when entering the viewport
  1304.                 $(window).on('scroll', function(){
  1305.                     (!window.requestAnimationFrame) 
  1306.                         ? setTimeout(function(){ showBlocks(timelineBlocks, offset); }, 100)
  1307.                         : window.requestAnimationFrame(function(){ showBlocks(timelineBlocks, offset); });
  1308.                 });
  1309.                 function hideBlocks(blocks, offset) {
  1310.                     blocks.each(function(){
  1311.                         ($(this).offset().top > $(window).scrollTop() + $(window).height() * offset) && $(this).find('.timeline-icon, .timeline-content').addClass('is-hidden');
  1312.                     });
  1313.                 }
  1314.                 function showBlocks(blocks, offset) {
  1315.                     blocks.each(function(){
  1316.                         ($(this).offset().top <= $(window).scrollTop() + $(window).height() * offset && $(this).find('.timeline-icon').hasClass('is-hidden')) && $(this).find('.timeline-icon, .timeline-content').removeClass('is-hidden').addClass('animate-it');
  1317.                     });
  1318.                 }
  1319.             });
  1320.         </script>
  1321.       </section>
  1322. <style>
  1323. .news-section {
  1324.   padding: 0px 0;
  1325. }
  1326. .news-content {
  1327.     padding: 40px 30px;
  1328. }
  1329. .news-item {
  1330.     box-shadow: 0 0 15px #ededed;
  1331.     -webkit-transition: .5s;
  1332.     -o-transition: .5s;
  1333.     transition: .5s;
  1334.     margin-bottom: 40px;
  1335. }
  1336. .news-item:hover {
  1337.     -webkit-transform: translateY(-10px);
  1338.     -ms-transform: translateY(-10px);
  1339.     transform: translateY(-10px);
  1340.     -webkit-box-shadow: 0px 15px 15px 0px #edeaea;
  1341.     box-shadow: 0px 15px 15px 0px #edeaea;
  1342. }
  1343. .newsimg img {
  1344.     width: 100%;
  1345. }
  1346. .news_postdate {
  1347.     color: #FF3A46;
  1348. }
  1349. .news-content h3 {
  1350.     color: #233D63;
  1351.     font-size: 22px;
  1352.     margin-bottom: 25px;
  1353. }
  1354. .news_authorinfo {
  1355.     border: transparent;
  1356.     padding: 14px 0px 0px 0px;
  1357.     background: transparent;
  1358.     font-size: 14px;
  1359. }
  1360. .news_authorinfo i {
  1361.     margin-right: 6px;
  1362. }
  1363. .news_authorinfo span:last-child {
  1364.     float: right;
  1365. }
  1366. .news_authorinfo a {
  1367.     color: #666;
  1368. }
  1369. .center .news-content {
  1370.     background: linear-gradient(-120deg, #8758ff 0, #614ef9 100%);
  1371. }
  1372. .center .news-content h3,
  1373. .center .news-content p {
  1374.     color: #fff;
  1375. }
  1376. .center .news_authorinfo a,
  1377. .center .news_authorinfo i {
  1378.     color: #fff;
  1379. }
  1380. .news-slide.owl-carousel .col-lg-3 {
  1381.     max-width: 100%;
  1382.     padding: 0;
  1383. }
  1384. .news-section .owl-theme .owl-nav [class*="owl-"] {
  1385.     color: #333;
  1386.     font-size: 14px;
  1387.     margin: 5px;
  1388.     padding: 4px 7px;
  1389.     background: #fff;
  1390.     display: inline-block;
  1391.     cursor: pointer;
  1392.     border-radius: 3px;
  1393.     border: 1px solid #ddd;
  1394. }
  1395. .small-title {
  1396.   font-size: 20px;
  1397.   text-transform: capitalize;
  1398.   color: #FF3A46;
  1399.   margin-bottom: 10px;
  1400.   margin-top: 0px;
  1401.   font-weight: 600;
  1402. }
  1403. .big-title {
  1404.     letter-spacing: 0px;
  1405.     padding-bottom: 13px;
  1406.     position: relative;
  1407.     color: #233D63;
  1408.     line-height: 50px;
  1409.     font-size: 36px;
  1410.     text-transform: capitalize;
  1411.     font-weight: 600;
  1412. }
  1413. .main-title-box {
  1414.     margin-bottom: 60px;
  1415. }
  1416.       </style>
  1417.       
  1418.       
  1419. <section class="news-section">
  1420.         <div class="mzp-l-content blog" id="blog">
  1421.                 <div class="text-left">
  1422.                     <h3>
  1423.                         Nos programmes
  1424.                     </h3>
  1425.                     
  1426.                     <div>
  1427.                         La transparence 
  1428.                     </div>
  1429.                 </div>
  1430.                    <div class="row posts-list">
  1431.               
  1432.                        <!--Single Blog Start-->
  1433.                        <div class="col-lg-4 col-md-4 wow fadeInUp" data-wow-delay="0ms">
  1434.                         <article>
  1435.                             <div class="post-img">
  1436.                                 <img src="https://i.ibb.co/m5yGbdR/blog2.jpg" alt="" class="img-fluid">
  1437.                             </div>
  1438.                             <p class="post-category">Commandez un  Hébergement pro.</p>
  1439.                             <h2 class="title">
  1440.                                 <a href="/detail/article/19" data-original-title="" title="">Commandez un hébergement Mutualisé ou un VPS chez l’hébergeur web professionnel AFH Host à prix malin.</a>
  1441.                             </h2>
  1442.                 
  1443.                             <div class="d-flex align-items-center">
  1444.                                 <img src="/template/images/co.png" alt="" class="img-fluid post-author-img flex-shrink-0">
  1445.                                 <div class="post-meta">
  1446.                                 <div class="post-author-list">Kenfack Noel</div>
  1447.                                 <div class="post-date">
  1448.                                     <time datetime="2022-01-01">01 Feb 2024</time>
  1449.                                 </div>
  1450.                                 </div>
  1451.                             </div>
  1452.                         </article>
  1453.                        </div>
  1454.                        <!--Single Blog End-->
  1455.                        <!--Single Blog Start-->
  1456.                        <div class="col-lg-4 col-md-4 wow fadeInUp" data-wow-delay="0ms">
  1457.                         <article>
  1458.                             <div class="post-img">
  1459.                                 <img src="https://i.ibb.co/m5yGbdR/blog2.jpg" alt="" class="img-fluid">
  1460.                             </div>
  1461.                             <p class="post-category">Commandez un  Hébergement pro.</p>
  1462.                             <h2 class="title">
  1463.                                 <a href="/detail/article/19" data-original-title="" title="">Commandez un hébergement Mutualisé ou un VPS chez l’hébergeur web professionnel AFH Host à prix malin.</a>
  1464.                             </h2>
  1465.                 
  1466.                             <div class="d-flex align-items-center">
  1467.                                 <img src="/template/images/co.png" alt="" class="img-fluid post-author-img flex-shrink-0">
  1468.                                 <div class="post-meta">
  1469.                                 <div class="post-author-list">Kenfack Noel</div>
  1470.                                 <div class="post-date">
  1471.                                     <time datetime="2022-01-01">01 Feb 2024</time>
  1472.                                 </div>
  1473.                                 </div>
  1474.                             </div>
  1475.                         </article>
  1476.                        </div>
  1477.                        <!--Single Blog Start-->
  1478.                        <!--Single Blog Start-->
  1479.                        <div class="col-lg-4 col-md-4 wow fadeInUp" data-wow-delay="0ms">
  1480.                         <article>
  1481.                             <div class="post-img">
  1482.                                 <img src="https://i.ibb.co/m5yGbdR/blog2.jpg" alt="" class="img-fluid">
  1483.                             </div>
  1484.                             <p class="post-category">Commandez un  Hébergement pro.</p>
  1485.                             <h2 class="title">
  1486.                                 <a href="/detail/article/19" data-original-title="" title="">Commandez un hébergement Mutualisé ou un VPS chez l’hébergeur web professionnel AFH Host à prix malin.</a>
  1487.                             </h2>
  1488.                 
  1489.                             <div class="d-flex align-items-center">
  1490.                                 <img src="/template/images/co.png" alt="" class="img-fluid post-author-img flex-shrink-0">
  1491.                                 <div class="post-meta">
  1492.                                 <div class="post-author-list">Kenfack Noel</div>
  1493.                                 <div class="post-date">
  1494.                                     <time datetime="2022-01-01">01 Feb 2024</time>
  1495.                                 </div>
  1496.                                 </div>
  1497.                             </div>
  1498.                         </article>
  1499.                        </div>
  1500.                        <!--Single Blog Start-->
  1501.                        
  1502.                    </div>
  1503.                </div>
  1504.            </div>
  1505.    </section>
  1506. {% endblock %}
  1507. {% block javascripttemplate %}
  1508. {% endblock %}