var/cache/dev/twig/51/51fd9a74ab3ce1758d4876a8e5f4b9e9.php line 56

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* /uniqskills/catalogue/landing_new/landing.html.twig */
  16. class __TwigTemplate_3f210ef0e0032e522a48c48b5f84fb4a extends Template
  17. {
  18.     private Source $source;
  19.     /**
  20.      * @var array<string, Template>
  21.      */
  22.     private array $macros = [];
  23.     public function __construct(Environment $env)
  24.     {
  25.         parent::__construct($env);
  26.         $this->source $this->getSourceContext();
  27.         $this->blocks = [
  28.             'meta' => [$this'block_meta'],
  29.             'customcss' => [$this'block_customcss'],
  30.             'content' => [$this'block_content'],
  31.             'customjs' => [$this'block_customjs'],
  32.         ];
  33.     }
  34.     protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  35.     {
  36.         // line 1
  37.         return "/uniqskills/layout.html.twig";
  38.     }
  39.     protected function doDisplay(array $context, array $blocks = []): iterable
  40.     {
  41.         $macros $this->macros;
  42.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  43.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""/uniqskills/catalogue/landing_new/landing.html.twig"));
  44.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  45.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""/uniqskills/catalogue/landing_new/landing.html.twig"));
  46.         $this->parent $this->load("/uniqskills/layout.html.twig"1);
  47.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  48.         
  49.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  50.         
  51.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  52.     }
  53.     // line 3
  54.     /**
  55.      * @return iterable<null|scalar|\Stringable>
  56.      */
  57.     public function block_meta(array $context, array $blocks = []): iterable
  58.     {
  59.         $macros $this->macros;
  60.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  61.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta"));
  62.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  63.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta"));
  64.         // line 4
  65.         yield "    ";
  66.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'4$this->source); })()), "metaTitle", [], "any"falsefalsefalse4))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  67.             // line 5
  68.             yield "        <meta name=\"title\" content=\"";
  69.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'5$this->source); })()), "metaTitle", [], "any"falsefalsefalse5), "html"nulltrue);
  70.             yield "\">
  71.     ";
  72.         }
  73.         // line 7
  74.         yield "    ";
  75.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'7$this->source); })()), "metaDescription", [], "any"falsefalsefalse7))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  76.             // line 8
  77.             yield "        <meta name=\"description\" content=\"";
  78.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'8$this->source); })()), "metaDescription", [], "any"falsefalsefalse8), "html"nulltrue);
  79.             yield "\">
  80.     ";
  81.         }
  82.         
  83.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  84.         
  85.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  86.         yield from [];
  87.     }
  88.     // line 17
  89.     /**
  90.      * @return iterable<null|scalar|\Stringable>
  91.      */
  92.     public function block_customcss(array $context, array $blocks = []): iterable
  93.     {
  94.         $macros $this->macros;
  95.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  96.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""customcss"));
  97.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  98.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""customcss"));
  99.         // line 18
  100.         yield "    <style>
  101.         body {
  102.             font-size: 16px !important;
  103.         }
  104.         @media (max-width: 767px) {
  105.             .fabs {
  106.                 bottom: 150px;
  107.             }
  108.         }
  109.     </style>
  110.     <link rel=\"stylesheet\" href=\"/uniqskills/new_landing/stylesheets/main.css?v=1.23\">
  111. ";
  112.         
  113.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  114.         
  115.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  116.         yield from [];
  117.     }
  118.     // line 32
  119.     /**
  120.      * @return iterable<null|scalar|\Stringable>
  121.      */
  122.     public function block_content(array $context, array $blocks = []): iterable
  123.     {
  124.         $macros $this->macros;
  125.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  126.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""content"));
  127.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  128.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""content"));
  129.         // line 33
  130.         yield "    ";
  131.         // line 34
  132.         yield "    ";
  133.         $context["typeParam"] = CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'34$this->source); })()), "request", [], "any"falsefalsefalse34), "query", [], "any"falsefalsefalse34), "get", ["apivalue"], "method"falsefalsefalse34);
  134.         // line 35
  135.         yield "    ";
  136.         if (( !Twig\Extension\CoreExtension::testEmpty((isset($context["typeParam"]) || array_key_exists("typeParam"$context) ? $context["typeParam"] : (function () { throw new RuntimeError('Variable "typeParam" does not exist.'35$this->source); })())) && (((isset($context["typeParam"]) || array_key_exists("typeParam"$context) ? $context["typeParam"] : (function () { throw new RuntimeError('Variable "typeParam" does not exist.'35$this->source); })()) == "netto") || ((isset($context["typeParam"]) || array_key_exists("typeParam"$context) ? $context["typeParam"] : (function () { throw new RuntimeError('Variable "typeParam" does not exist.'35$this->source); })()) == "brutto")))) {
  137.             // line 36
  138.             yield "        ";
  139.             $context["initialType"] = (isset($context["typeParam"]) || array_key_exists("typeParam"$context) ? $context["typeParam"] : (function () { throw new RuntimeError('Variable "typeParam" does not exist.'36$this->source); })());
  140.             // line 37
  141.             yield "    ";
  142.         } else {
  143.             // line 38
  144.             yield "        ";
  145.             $context["initialType"] = "netto";
  146.             // line 39
  147.             yield "    ";
  148.         }
  149.         // line 40
  150.         yield "    ";
  151.         // line 41
  152.         yield "
  153.     ";
  154.         // line 43
  155.         if (((isset($context["preview"]) || array_key_exists("preview"$context) ? $context["preview"] : (function () { throw new RuntimeError('Variable "preview" does not exist.'43$this->source); })()) == true)) {
  156.             // line 44
  157.             yield "        <div class=\"landing-preview-info\">
  158.             LANDING PREVIEW
  159.         </div>
  160.     ";
  161.         }
  162.         // line 48
  163.         yield "    ";
  164.         if ((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'48$this->source); })()), "request", [], "any"falsefalsefalse48), "locale", [], "any"falsefalsefalse48) == "es")) {
  165.             // line 49
  166.             yield "        <div style=\"margin-bottom:0px;\" class=\"single-course__bannerSM\" id=\"smb_3798\"></div>
  167.     ";
  168.         }
  169.         // line 51
  170.         yield "    ";
  171.         $context['_parent'] = $context;
  172.         $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env$this->source, (isset($context["landing"]) || array_key_exists("landing"$context) ? $context["landing"] : (function () { throw new RuntimeError('Variable "landing" does not exist.'51$this->source); })()), "modules", [], "any"falsefalsefalse51));
  173.         $context['loop'] = [
  174.           'parent' => $context['_parent'],
  175.           'index0' => 0,
  176.           'index'  => 1,
  177.           'first'  => true,
  178.         ];
  179.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  180.             $length count($context['_seq']);
  181.             $context['loop']['revindex0'] = $length 1;
  182.             $context['loop']['revindex'] = $length;
  183.             $context['loop']['length'] = $length;
  184.             $context['loop']['last'] = === $length;
  185.         }
  186.         foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
  187.             // line 52
  188.             yield "        ";
  189.             if ((CoreExtension::getAttribute($this->env$this->source$context["module"], "showModule", [], "any"falsefalsefalse52) == true)) {
  190.                 // line 53
  191.                 yield "            ";
  192.                 if ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse53) == "promotionBar")) {
  193.                     // line 54
  194.                     yield "                ";
  195.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/promotionBar.html.twig"54)->unwrap()->yield($context);
  196.                     // line 55
  197.                     yield "            ";
  198.                 } elseif ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse55) == "courseTitle")) {
  199.                     // line 56
  200.                     yield "                ";
  201.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/courseTitle.html.twig"56)->unwrap()->yield($context);
  202.                     // line 57
  203.                     yield "            ";
  204.                 } elseif (((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse57) == "basicDescription") && CoreExtension::getAttribute($this->env$this->source$context["module"], "descriptionCheckboxes", [], "any"truetruefalse57))) {
  205.                     // line 58
  206.                     yield "                ";
  207.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/basicDescription.html.twig"58)->unwrap()->yield($context);
  208.                     // line 59
  209.                     yield "            ";
  210.                 } elseif ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse59) == "description")) {
  211.                     // line 60
  212.                     yield "                ";
  213.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/description.html.twig"60)->unwrap()->yield($context);
  214.                     // line 61
  215.                     yield "            ";
  216.                 } elseif (((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse61) == "finishCourse") && CoreExtension::getAttribute($this->env$this->source$context["module"], "json", [], "any"truetruefalse61))) {
  217.                     // line 62
  218.                     yield "                ";
  219.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/finishCourse.html.twig"62)->unwrap()->yield($context);
  220.                     // line 63
  221.                     yield "            ";
  222.                 } elseif (((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse63) == "courseContent") && CoreExtension::getAttribute($this->env$this->source$context["module"], "points", [], "any"truetruefalse63))) {
  223.                     // line 64
  224.                     yield "                ";
  225.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/courseContent.html.twig"64)->unwrap()->yield($context);
  226.                     // line 65
  227.                     yield "            ";
  228.                 } elseif ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse65) == "courseProgram")) {
  229.                     // line 66
  230.                     yield "                ";
  231.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/courseProgram.html.twig"66)->unwrap()->yield($context);
  232.                     // line 67
  233.                     yield "            ";
  234.                 } elseif (((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse67) == "tutors") && CoreExtension::getAttribute($this->env$this->source$context["module"], "tutorsList", [], "any"truetruefalse67))) {
  235.                     // line 68
  236.                     yield "                ";
  237.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/tutors.html.twig"68)->unwrap()->yield($context);
  238.                     // line 69
  239.                     yield "            ";
  240.                 } elseif (((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse69) == "teaching") && CoreExtension::getAttribute($this->env$this->source$context["module"], "json", [], "any"truetruefalse69))) {
  241.                     // line 70
  242.                     yield "                ";
  243.                     // line 71
  244.                     yield "            ";
  245.                 } elseif ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse71) == "payment")) {
  246.                     // line 72
  247.                     yield "                ";
  248.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/payment.html.twig"72)->unwrap()->yield($context);
  249.                     // line 73
  250.                     yield "            ";
  251.                 } elseif (((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse73) == "faq") && CoreExtension::getAttribute($this->env$this->source$context["module"], "list", [], "any"truetruefalse73))) {
  252.                     // line 74
  253.                     yield "                ";
  254.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/faq.html.twig"74)->unwrap()->yield($context);
  255.                     // line 75
  256.                     yield "            ";
  257.                 } elseif ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse75) == "contact")) {
  258.                     // line 76
  259.                     yield "                ";
  260.                     yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/contact.html.twig"76)->unwrap()->yield($context);
  261.                     // line 77
  262.                     yield "            ";
  263.                 } elseif ((CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse77) == "clearHtmlSection")) {
  264.                     // line 78
  265.                     yield "                <section class=\"clearHtml\">
  266.                     <a name=\"";
  267.                     // line 79
  268.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["module"], "type", [], "any"falsefalsefalse79), "html"nulltrue);
  269.                     yield "-";
  270.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["module"], "id", [], "any"falsefalsefalse79), "html"nulltrue);
  271.                     yield "\"></a>
  272.                     <div class=\"container\">
  273.                         <div class=\"row\">
  274.                             <div class=\"col\">
  275.                                 ";
  276.                     // line 83
  277.                     yield Twig\Extension\CoreExtension::include($this->env$contextTwig\Extension\StringLoaderExtension::templateFromString($this->envCoreExtension::getAttribute($this->env$this->source$context["module"], "text", [], "any"falsefalsefalse83)));
  278.                     yield "
  279.                             </div>
  280.                         </div>
  281.                     </div>
  282.                 </section>
  283.             ";
  284.                 }
  285.                 // line 89
  286.                 yield "        ";
  287.             }
  288.             // line 90
  289.             yield "    ";
  290.             ++$context['loop']['index0'];
  291.             ++$context['loop']['index'];
  292.             $context['loop']['first'] = false;
  293.             if (isset($context['loop']['revindex0'], $context['loop']['revindex'])) {
  294.                 --$context['loop']['revindex0'];
  295.                 --$context['loop']['revindex'];
  296.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  297.             }
  298.         }
  299.         $_parent $context['_parent'];
  300.         unset($context['_seq'], $context['_key'], $context['module'], $context['_parent'], $context['loop']);
  301.         $context array_intersect_key($context$_parent) + $_parent;
  302.         // line 91
  303.         if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["suggestedCourses"]) || array_key_exists("suggestedCourses"$context) ? $context["suggestedCourses"] : (function () { throw new RuntimeError('Variable "suggestedCourses" does not exist.'91$this->source); })())) > 0)) {
  304.             // line 92
  305.             yield "    ";
  306.             yield from $this->load("uniqskills/catalogue/landing_new/landing_partials/forYou.html.twig"92)->unwrap()->yield($context);
  307.         }
  308.         // line 94
  309.         yield "
  310. <a href=\"";
  311.         // line 95
  312.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["referer"]) || array_key_exists("referer"$context) ? $context["referer"] : (function () { throw new RuntimeError('Variable "referer" does not exist.'95$this->source); })()), "html"nulltrue);
  313.         yield "\"
  314.    class=\"button button--autoWidth button-blueBorder toCategories\"
  315.    style=\"margin-left: 0;\">
  316.     >> ";
  317.         // line 98
  318.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("uniqskills.landing.toCategories"), "html"nulltrue);
  319.         yield " <<
  320. </a>
  321. ";
  322.         
  323.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  324.         
  325.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  326.         yield from [];
  327.     }
  328.     // line 105
  329.     /**
  330.      * @return iterable<null|scalar|\Stringable>
  331.      */
  332.     public function block_customjs(array $context, array $blocks = []): iterable
  333.     {
  334.         $macros $this->macros;
  335.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  336.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""customjs"));
  337.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  338.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""customjs"));
  339.         // line 106
  340.         yield "
  341.     ";
  342.         // line 107
  343.         if ((CoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'107$this->source); })()), "environment", [], "any"falsefalsefalse107) == "dev")) {
  344.             // line 108
  345.             yield "        <script src=\"";
  346.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/faq.js"), "html"nulltrue);
  347.             yield "\"></script>
  348.         <script src=\"";
  349.             // line 109
  350.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/header.js"), "html"nulltrue);
  351.             yield "\"></script>
  352.         <script src=\"";
  353.             // line 110
  354.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/courseprogram.js"), "html"nulltrue);
  355.             yield "\"></script>
  356.         <script src=\"";
  357.             // line 111
  358.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/subscriptions.js"), "html"nulltrue);
  359.             yield "\"></script>
  360.         <script src=\"";
  361.             // line 112
  362.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/popper.min.js"), "html"nulltrue);
  363.             yield "\"></script>
  364.         <script src=\"";
  365.             // line 113
  366.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/bootstrap.min.js"), "html"nulltrue);
  367.             yield "\"></script>
  368.     ";
  369.         } elseif ((CoreExtension::getAttribute($this->env$this->source,         // line 114
  370. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'114$this->source); })()), "environment", [], "any"falsefalsefalse114) == "prod")) {
  371.             // line 115
  372.             yield "        <script src=\"";
  373.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uniqskills/new_landing/js/dist/all.js?ver=1.1"), "html"nulltrue);
  374.             yield "\" defer></script>
  375.     ";
  376.         }
  377.         // line 117
  378.         yield "
  379.     <script>
  380.         window.dataLayer = window.dataLayer || [];
  381.         window.dataLayer.push({
  382.             'course': ";
  383.         // line 121
  384.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'121$this->source); })()), "id", [], "any"falsefalsefalse121), "html"nulltrue);
  385.         yield "
  386.         });
  387.         /**
  388.          * Set icon container height in rowIncludes section on mobile screens
  389.          * */
  390.         function setRowIconHeight() {
  391.             var windowWidth = window.innerWidth;
  392.             var iconsBack = document.querySelectorAll('.rowIconBack');
  393.             if( windowWidth <= 575 ) {
  394.                 for( var i = 0; i < iconsBack.length; i++ ) {
  395.                     var backHeight = iconsBack[i].offsetHeight;
  396.                     var frontHeight = iconsBack[i].previousElementSibling.offsetHeight;
  397.                     if( backHeight >= frontHeight ) {
  398.                         iconsBack[i].parentNode.style.height = backHeight + 'px';
  399.                     } else {
  400.                         iconsBack[i].parentNode.style.height = frontHeight + 'px';
  401.                     }
  402.                 }
  403.             }
  404.         }
  405.         /**
  406.          * Rotate icon container in rowincludes section on icon click on mobile screens
  407.          * */
  408.         function flipIconCards() {
  409.             var windowWidth = window.innerWidth;
  410.             var icons = document.querySelectorAll('.bgs--small-xs');
  411.             var cardIconContainers = document.querySelectorAll('.rowIncludes__oneRow');
  412.             var activeIconContainer;
  413.             if( windowWidth <= 575 ) {
  414.                 for (var icon of icons) {
  415.                     icon.addEventListener('click', function () {
  416.                         activeIconContainer = this.closest('.rowIncludes__oneRow');
  417.                         // Remove class hover-manual from all elements .rowIncludes__oneRow
  418.                         for (var cardContainer of cardIconContainers) {
  419.                             cardContainer.classList.remove('hover-manual');
  420.                         }
  421.                         // Add class hover-manual to parent element who has class rowIncludes__oneRow
  422.                         this.closest('.rowIncludes__oneRow').classList.add('hover-manual');
  423.                     });
  424.                 }
  425.                 // Remove class hover-manual when user click outside active icon container
  426.                 document.addEventListener('click', function(e) {
  427.                     if( activeIconContainer !== undefined && !activeIconContainer.contains(e.target) && typeof(activeIconContainer) !== 'undefined' ) {
  428.                         for (var cardContainer of cardIconContainers) {
  429.                             cardContainer.classList.remove('hover-manual');
  430.                         }
  431.                     }
  432.                 });
  433.             }
  434.         }
  435.         /*
  436.         *  Hides pulsing Tap icon in rowincludes section after 10 seconds when the section is visible
  437.         * */
  438.         function hideTapIcon() {
  439.             var windowWidth = window.innerWidth;
  440.             if( windowWidth <= 575 ) {
  441.                 // this is the target which is observed
  442.                 var target = document.querySelector('section.rowIncludes');
  443.                 // configure the intersection observer instance
  444.                 var intersectionObserverOptions = {
  445.                     root: null,
  446.                     rootMargin: '150px',
  447.                     threshold: 1.0
  448.                 };
  449.                 var observer = new IntersectionObserver(onIntersection, intersectionObserverOptions);
  450.                 // provide the observer with a target
  451.                 observer.observe(target);
  452.                 function onIntersection(entries) {
  453.                     entries.forEach(function (entry) {
  454.                         target.classList.toggle('visible', entry.intersectionRatio > 0);
  455.                         // Are we in viewport?
  456.                         if (entry.intersectionRatio > 0) {
  457.                             setTimeout(function () {
  458.                                 document.querySelector('.rowIncludes__tap-icon').classList.add('rowIncludes__tap-icon--none');
  459.                             }, 10000)
  460.                         }
  461.                     });
  462.                 }
  463.             }
  464.         }
  465.     </script>
  466.     <script>
  467.         \$(document).ready(function () {
  468.             const openedModules = sessionStorage.getItem('openedModules');
  469.             if (openedModules)
  470.             {
  471.                 openedModules.split(',').forEach(element => \$(`#\${element}`).show());
  472.                 sessionStorage.removeItem('openedModules');
  473.             }
  474.             \$('body').on('click', '.sm-download', function (e) {
  475.                 sendDownloadEvent();
  476.             });
  477.             \$('body').on('click', function(){
  478.                 if (\$('#vimeoVideoModalIframe').length > 0)
  479.                 {
  480.                     \$('#vimeoVideoModalIframe').attr('src','');
  481.                     \$('.modal').on('hide.bs.modal', function(){
  482.                         if (\$('#vimeoVideoModalIframe').contents().find('.renderSuccessModal').length > 0)
  483.                         {
  484.                             const visibleModules = \$('.rowCourseProgram__module__elements:not(:hidden)')
  485.                                 .map(function() {return this.id}).toArray().join();
  486.                             if (visibleModules)
  487.                             {
  488.                                 sessionStorage.setItem('openedModules', visibleModules);
  489.                             }
  490.                             location.reload();
  491.                         }
  492.                     });
  493.                 }
  494.             });
  495.             \$('.showFreeLessonVimeo').on('click', function () {
  496.                 var urlVimeo = \$(this).attr('data-vimeoUrl');
  497.                 \$('#freeVideoModalIframe').attr('src', urlVimeo);
  498.                 \$('#freeVideoModal').modal();
  499.             })
  500.             if (\$(window).width() <= 768)
  501.             {
  502.                 if (\$('.iconArrowFreeLession').find('img').length > 0) \$('.iconArrowFreeLession').find('img').attr('src', '/icons/arrow-down.svg');
  503.             }
  504.             \$('.titleFreeLessonBox').on('click', function(){
  505.                 \$('.freeLessonInCourse').slideToggle('400', function(){
  506.                     if (\$(this).is(':visible')){
  507.                         \$('.iconArrowFreeLession').find('img').attr('src', '/icons/arrow-up.svg');
  508.                     } else {
  509.                         \$('.iconArrowFreeLession').find('img').attr('src', '/icons/arrow-down.svg');
  510.                     }
  511.                 });
  512.             });
  513.             \$('.freeAccessModalVimeo').click(function () {
  514.                 if (\$(this).hasClass('sm-download'))
  515.                 {
  516.                     sendDownloadEvent();
  517.                 }
  518.                 var currentUrl = \$(this).data('free');
  519.                 if (\$(this).data('temporary') == true)
  520.                 {
  521.                     currentUrl = currentUrl.replace('vimeo.', 'player.vimeo.');
  522.                     currentUrl = currentUrl.replace('.com/', '.com/video/');
  523.                     \$('#vimeoVideoModalIframe').attr('src', currentUrl);
  524.                     \$('#vimeoVideoModal').modal();
  525.                 }
  526.                 else
  527.                 {
  528.                     var urlLogin = \$(this).data('login');
  529.                         url = window.location.origin,
  530.                         videoUrl = currentUrl.split('com/'),
  531.                         videoNumber =  videoUrl[1];
  532.                     \$('#vimeoVideoModalIframe').attr('src', url + urlLogin + '?modalVideo=' + videoNumber + '&modalCourse=' + ";
  533.         // line 316
  534.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'316$this->source); })()), "id", [], "any"falsefalsefalse316), "html"nulltrue);
  535.         yield ");
  536.                     \$('#vimeoVideoModal').modal();
  537.                 }
  538.                 return false;
  539.             });
  540.             function sendDownloadEvent() {
  541.                 console.log('clickowanie');
  542.                 \$.ajax({
  543.                     type: 'POST',
  544.                     url: '";
  545.         // line 326
  546.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("fmUniqskillsSalesManagoDownload", ["course" => CoreExtension::getAttribute($this->env$this->source, (isset($context["course"]) || array_key_exists("course"$context) ? $context["course"] : (function () { throw new RuntimeError('Variable "course" does not exist.'326$this->source); })()), "id", [], "any"falsefalsefalse326)]), "html"nulltrue);
  547.         yield "',
  548.                     success: function (data) {
  549.                         // handle success
  550.                     },
  551.                     error: function (error) {
  552.                         console.error(error);
  553.                     }
  554.                 });
  555.             }
  556.             \$('.freeAccessModalPdf').click(function () {
  557.                 var urlLogin = \$(this).data('login'),
  558.                     url = window.location.origin;
  559.                 \$('#vimeoVideoModalIframe').attr('src', url + urlLogin + '?modalPdf=1');
  560.                 \$('#vimeoVideoModal').modal();
  561.                 return false;
  562.             });
  563.             \$('.menu-link-scroll').click(function (e) {
  564.                 var width = \$(window).width();
  565.                 var offsetAdd = 0;
  566.                 if(width < 768)
  567.                 {
  568.                     offsetAdd = -15;
  569.                 }
  570.                 e.preventDefault();
  571.                 var id = \$(this).data('link');
  572.                 \$('html,body').animate({
  573.                     scrollTop: (\$('a[name=\"' + id + '\"]').offset().top - 80 - offsetAdd)
  574.                 }, 1000);
  575.             });
  576.             // \$('#recipeCarousel').carousel({
  577.             //     interval: 10000
  578.             // });
  579.             \$('.carousel .carousel-item').each(function () {
  580.                 var minPerSlide = 3;
  581.                 var next = \$(this).next();
  582.                 if (!next.length) {
  583.                     next = \$(this).siblings(':first');
  584.                 }
  585.                 next.children(':first-child').clone().appendTo(\$(this));
  586.                 for (var i = 0; i < minPerSlide; i++) {
  587.                     next = next.next();
  588.                     if (!next.length) {
  589.                         next = \$(this).siblings(':first');
  590.                     }
  591.                     next.children(':first-child').clone().appendTo(\$(this));
  592.                 }
  593.             });
  594.             var courseTitleVer2 = \$('.rowHeader');
  595.             var courseTitleVer3 = \$('.rowHeader-mobile-image');
  596.             \$(window).on(\"resize\", function (e) {
  597.                 checkScreenSize(courseTitleVer2);
  598.                 checkScreenSize(courseTitleVer3);
  599.             });
  600.             checkScreenSize(courseTitleVer2);
  601.             checkScreenSize(courseTitleVer3);
  602.             function checkScreenSize(element) {
  603.                 var newWindowWidth = \$(window).width();
  604.                 element.each(function () {
  605.                     var courseTitleImage = \$(this).data('image');
  606.                     var courseTitleBackground = \$(this).data('background');
  607.                     var courseTitleBackgroundMobile = \$(this).data('background-mobile');
  608.                     if (courseTitleImage === 'image') {
  609.                         if (newWindowWidth <= 768) {
  610.                             \$(this).css({
  611.                                 'background': \"url('\" + courseTitleBackgroundMobile + \"')\",
  612.                                 'background-size': '100%',
  613.                                 'background-repeat': 'no-repeat'
  614.                             });
  615.                         } else {
  616.                             \$(this).css({
  617.                                 'background': \"url('\" + courseTitleBackground + \"')\",
  618.                                 'background-position': 'right top',
  619.                                 'background-repeat': 'no-repeat',
  620.                                 'background-size': 'cover',
  621.                             });
  622.                         }
  623.                     }
  624.                 });
  625.             }
  626.             // Show less description
  627.             function showMore2() {
  628.                 var windowWidth = \$(window).width();
  629.                 var content = \$(\".rowDescription__short-desc\");
  630.                 var readMoreButton = \$(\".rowDescription__read-more\");
  631.                 var readMoreText = readMoreButton.data('read-more');
  632.                 var readLessText = readMoreButton.data('read-less');
  633.                 var anchorSection = \$('section.rowDescription__normal > a[name]');
  634.                 if( windowWidth < 768 ) {
  635.                     readMoreButton.on('click', function(e) {
  636.                         e.preventDefault();
  637.                         if(content.hasClass('active')) {
  638.                             content.removeClass('rowDescription__short-desc--normal');
  639.                             content.removeClass('active');
  640.                             setTimeout(function() {
  641.                                 \$('html,body').animate({
  642.                                     scrollTop: anchorSection.offset().top - 120
  643.                                 }, 1000);
  644.                             }, 70);
  645.                             readMoreButton.text(readMoreText);
  646.                         } else {
  647.                             content.addClass('active');
  648.                             content.addClass('rowDescription__short-desc--normal');
  649.                             readMoreButton.text(readLessText);
  650.                         }
  651.                     });
  652.                 }
  653.             }
  654.             showMore2();
  655.             // Highlight menu link in 2Menu
  656.             function highlightMenuLink() {
  657.                 var lastId = \"\";
  658.                 var helperHeight = 58;
  659.                 if( \$(window).width() <= 768) {
  660.                     helperHeight = 43;
  661.                 }
  662.                 var menuItems = \$('.second-menu-slider').find('a');
  663.                 var topMenuHeight = \$('.second-menu-slider').outerHeight() + helperHeight;
  664.                 var menuOffsetTop = \$('.second-menu-slider').offset().top;
  665.                 // scrollItems - list of links with internal anchors
  666.                 var scrollItems = menuItems.map( function() {
  667.                     var idSelector = \$(this).attr('href');
  668.                     idSelector = idSelector.replace(/^#/, '');
  669.                     var itemAnchor = \$('a[name='+idSelector+']');
  670.                     if(itemAnchor.length) { return itemAnchor; }
  671.                 });
  672.                 var fromTop = \$(this).scrollTop() + topMenuHeight;
  673.                 var cur = scrollItems.map(function(){
  674.                     if (\$(this).offset().top < fromTop) {
  675.                         return this;
  676.                     }
  677.                 });
  678.                 cur = cur[cur.length-1];
  679.                 var id = cur && cur.length ? cur[0].name : \"\";
  680.                 if (fromTop > menuOffsetTop && lastId !== id) {
  681.                     lastId = id;
  682.                     menuItems.removeClass('active-menu-link');
  683.                     var currentItemMenu = menuItems.filter('[href=\\\\#'+id+']')[0];
  684.                     currentItemMenu.classList.add('active-menu-link');
  685.                 }
  686.             }
  687.             // Sticky menu
  688.             var secondMenu = \$('.rowHeader__textRow__linkAndPrice');
  689.             var secondMenuPosition = secondMenu.offset().top;
  690.             \$(window).scroll(function() {
  691.                 var currentPosition = \$(window).scrollTop();
  692.                 if( currentPosition >=  secondMenuPosition) {
  693.                     secondMenu.addClass('rowHeader__textRow__linkAndPrice--fixed')
  694.                 } else {
  695.                     secondMenu.removeClass('rowHeader__textRow__linkAndPrice--fixed');
  696.                 }
  697.                 hideTapIcon();
  698.                 highlightMenuLink();
  699.             });
  700.             // Tutors slider
  701.             \$('.tutors-slider').slick({
  702.                 slidesToShow: ";
  703.         // line 525
  704.         if ((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'525$this->source); })()), "request", [], "any"falsefalsefalse525), "locale", [], "any"falsefalsefalse525) == "en")) {
  705.             yield "2";
  706.         } else {
  707.             yield "3";
  708.         }
  709.         yield ",
  710.                 slidesToScroll: ";
  711.         // line 526
  712.         if ((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'526$this->source); })()), "request", [], "any"falsefalsefalse526), "locale", [], "any"falsefalsefalse526) == "en")) {
  713.             yield "2";
  714.         } else {
  715.             yield "3";
  716.         }
  717.         yield ",
  718.                 infinite: true,
  719.                 autoplay: false,
  720.                 arrows: false,
  721.                 dots: true,
  722.                 responsive: [
  723.                     {
  724.                         breakpoint: 992,
  725.                         settings: {
  726.                             slidesToShow: 2,
  727.                             slidesToScroll: 2,
  728.                         }
  729.                     },
  730.                     {
  731.                         breakpoint: 768,
  732.                         settings: {
  733.                             slidesToShow: 1,
  734.                             slidesToScroll: 1,
  735.                             variableWidth: true,
  736.                         }
  737.                     }
  738.                 ]
  739.             });
  740.             \$('.suggestedCurses__slider').slick({
  741.                 slidesToShow: 3,
  742.                 slidesToScroll: 3,
  743.                 infinite: true,
  744.                 autoplay: false,
  745.                 arrows: false,
  746.                 dots: true,
  747.                 responsive: [
  748.                     {
  749.                         breakpoint: 992,
  750.                         settings: {
  751.                             slidesToShow: 2,
  752.                             slidesToScroll: 2,
  753.                         }
  754.                     },
  755.                     {
  756.                         breakpoint: 768,
  757.                         settings: {
  758.                             slidesToShow: 1,
  759.                             slidesToScroll: 1,
  760.                             variableWidth: true,
  761.                         }
  762.                     }
  763.                 ]
  764.             });
  765.             \$('.second-menu-slider').slick({
  766.                 slidesToShow: 5,
  767.                 slidesToScroll: 1,
  768.                 infinite: false,
  769.                 autoplay: false,
  770.                 arrows: true,
  771.                 prevArrow: '<i class=\"fa fa-angle-left\" aria-hidden=\"true\"></i>',
  772.                 nextArrow: '<i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i>',
  773.                 responsive: [
  774.                     {
  775.                         breakpoint: 1199,
  776.                         settings: {
  777.                             slidesToShow: 5,
  778.                             slidesToScroll: 1,
  779.                         }
  780.                     },
  781.                     {
  782.                         breakpoint: 768,
  783.                         settings: {
  784.                             slidesToShow: 4,
  785.                             slidesToScroll: 1,
  786.                             arrows: true
  787.                         }
  788.                     }
  789.                 ]
  790.             });
  791.             setRowIconHeight();
  792.             flipIconCards();
  793.         });
  794.         \$(window).on('resize', function() {
  795.             setRowIconHeight();
  796.         });
  797.     </script>
  798.     ";
  799.         // line 615
  800.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["landing"]) || array_key_exists("landing"$context) ? $context["landing"] : (function () { throw new RuntimeError('Variable "landing" does not exist.'615$this->source); })()), "landing", [], "any"falsefalsefalse615), "customScripts", [], "any"falsefalsefalse615))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  801.             // line 616
  802.             yield "        <script>
  803.             ";
  804.             // line 617
  805.             yield CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["landing"]) || array_key_exists("landing"$context) ? $context["landing"] : (function () { throw new RuntimeError('Variable "landing" does not exist.'617$this->source); })()), "landing", [], "any"falsefalsefalse617), "customScripts", [], "any"falsefalsefalse617);
  806.             yield "
  807.         </script>
  808.     ";
  809.         }
  810.         
  811.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  812.         
  813.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  814.         yield from [];
  815.     }
  816.     /**
  817.      * @codeCoverageIgnore
  818.      */
  819.     public function getTemplateName(): string
  820.     {
  821.         return "/uniqskills/catalogue/landing_new/landing.html.twig";
  822.     }
  823.     /**
  824.      * @codeCoverageIgnore
  825.      */
  826.     public function isTraitable(): bool
  827.     {
  828.         return false;
  829.     }
  830.     /**
  831.      * @codeCoverageIgnore
  832.      */
  833.     public function getDebugInfo(): array
  834.     {
  835.         return array (  940 => 617,  937 => 616,  935 => 615,  839 => 526,  831 => 525,  629 => 326,  616 => 316,  418 => 121,  412 => 117,  406 => 115,  404 => 114,  400 => 113,  396 => 112,  392 => 111,  388 => 110,  384 => 109,  379 => 108,  377 => 107,  374 => 106,  361 => 105,  344 => 98,  338 => 95,  335 => 94,  331 => 92,  329 => 91,  315 => 90,  312 => 89,  303 => 83,  294 => 79,  291 => 78,  288 => 77,  285 => 76,  282 => 75,  279 => 74,  276 => 73,  273 => 72,  270 => 71,  268 => 70,  265 => 69,  262 => 68,  259 => 67,  256 => 66,  253 => 65,  250 => 64,  247 => 63,  244 => 62,  241 => 61,  238 => 60,  235 => 59,  232 => 58,  229 => 57,  226 => 56,  223 => 55,  220 => 54,  217 => 53,  214 => 52,  196 => 51,  192 => 49,  189 => 48,  183 => 44,  181 => 43,  177 => 41,  175 => 40,  172 => 39,  169 => 38,  166 => 37,  163 => 36,  160 => 35,  157 => 34,  155 => 33,  142 => 32,  119 => 18,  106 => 17,  91 => 8,  88 => 7,  82 => 5,  79 => 4,  66 => 3,  43 => 1,);
  836.     }
  837.     public function getSourceContext(): Source
  838.     {
  839.         return new Source("{% extends '/uniqskills/layout.html.twig' %}
  840. {% block meta %}
  841.     {% if course.metaTitle is not empty %}
  842.         <meta name=\"title\" content=\"{{ course.metaTitle }}\">
  843.     {% endif %}
  844.     {% if course.metaDescription is not empty %}
  845.         <meta name=\"description\" content=\"{{ course.metaDescription }}\">
  846.     {% endif %}
  847. {% endblock %}
  848. {#{% if app.request.locale == 'en' %}#}
  849. {#    {% block title %}#}
  850. {#        {{ course.name }} - UniqSkills#}
  851. {#    {% endblock %}#}
  852. {#{% endif %}#}
  853. {% block customcss %}
  854.     <style>
  855.         body {
  856.             font-size: 16px !important;
  857.         }
  858.         @media (max-width: 767px) {
  859.             .fabs {
  860.                 bottom: 150px;
  861.             }
  862.         }
  863.     </style>
  864.     <link rel=\"stylesheet\" href=\"/uniqskills/new_landing/stylesheets/main.css?v=1.23\">
  865. {% endblock %}
  866. {% block content %}
  867.     {# --- Type of price, default NET ---  #}
  868.     {% set typeParam = app.request.query.get('apivalue') %}
  869.     {% if typeParam is not empty and (typeParam == 'netto' or typeParam == 'brutto') %}
  870.         {% set initialType = typeParam %}
  871.     {% else %}
  872.         {% set initialType = 'netto' %}
  873.     {% endif %}
  874.     {# --- END OF: Type of price, default NET ---  #}
  875.     {% if preview == true %}
  876.         <div class=\"landing-preview-info\">
  877.             LANDING PREVIEW
  878.         </div>
  879.     {% endif %}
  880.     {% if app.request.locale == \"es\" %}
  881.         <div style=\"margin-bottom:0px;\" class=\"single-course__bannerSM\" id=\"smb_3798\"></div>
  882.     {% endif %}
  883.     {% for module in landing.modules %}
  884.         {% if module.showModule == true %}
  885.             {% if module.type == 'promotionBar' %}
  886.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/promotionBar.html.twig' %}
  887.             {% elseif module.type == 'courseTitle' %}
  888.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/courseTitle.html.twig' %}
  889.             {% elseif module.type == 'basicDescription' and module.descriptionCheckboxes is defined %}
  890.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/basicDescription.html.twig' %}
  891.             {% elseif module.type == 'description' %}
  892.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/description.html.twig' %}
  893.             {% elseif module.type == 'finishCourse' and module.json is defined  %}
  894.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/finishCourse.html.twig' %}
  895.             {% elseif module.type == 'courseContent' and module.points is defined %}
  896.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/courseContent.html.twig' %}
  897.             {% elseif module.type == 'courseProgram' %}
  898.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/courseProgram.html.twig' %}
  899.             {% elseif module.type == 'tutors' and module.tutorsList is defined %}
  900.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/tutors.html.twig' %}
  901.             {% elseif module.type == 'teaching' and module.json is defined  %}
  902.                 {#{% include 'uniqskills/catalogue/landing_partials/teaching.html.twig' %}#}
  903.             {% elseif module.type == 'payment' %}
  904.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/payment.html.twig' %}
  905.             {% elseif module.type == 'faq' and module.list is defined %}
  906.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/faq.html.twig' %}
  907.             {% elseif module.type == 'contact' %}
  908.                 {% include 'uniqskills/catalogue/landing_new/landing_partials/contact.html.twig' %}
  909.             {% elseif module.type == 'clearHtmlSection' %}
  910.                 <section class=\"clearHtml\">
  911.                     <a name=\"{{ module.type }}-{{ module.id }}\"></a>
  912.                     <div class=\"container\">
  913.                         <div class=\"row\">
  914.                             <div class=\"col\">
  915.                                 {{ include(template_from_string(module.text|raw)) }}
  916.                             </div>
  917.                         </div>
  918.                     </div>
  919.                 </section>
  920.             {% endif %}
  921.         {% endif %}
  922.     {% endfor %}
  923. {% if suggestedCourses|length > 0 %}
  924.     {% include 'uniqskills/catalogue/landing_new/landing_partials/forYou.html.twig' %}
  925. {% endif %}
  926. <a href=\"{{ referer }}\"
  927.    class=\"button button--autoWidth button-blueBorder toCategories\"
  928.    style=\"margin-left: 0;\">
  929.     >> {{ 'uniqskills.landing.toCategories'|trans }} <<
  930. </a>
  931. {% endblock %}
  932. {% block customjs %}
  933.     {% if app.environment == 'dev' %}
  934.         <script src=\"{{ asset('uniqskills/new_landing/js/faq.js') }}\"></script>
  935.         <script src=\"{{ asset('uniqskills/new_landing/js/header.js') }}\"></script>
  936.         <script src=\"{{ asset('uniqskills/new_landing/js/courseprogram.js') }}\"></script>
  937.         <script src=\"{{ asset('uniqskills/new_landing/js/subscriptions.js') }}\"></script>
  938.         <script src=\"{{ asset('uniqskills/new_landing/js/popper.min.js') }}\"></script>
  939.         <script src=\"{{ asset('uniqskills/new_landing/js/bootstrap.min.js') }}\"></script>
  940.     {% elseif app.environment == 'prod' %}
  941.         <script src=\"{{ asset('uniqskills/new_landing/js/dist/all.js?ver=1.1') }}\" defer></script>
  942.     {% endif %}
  943.     <script>
  944.         window.dataLayer = window.dataLayer || [];
  945.         window.dataLayer.push({
  946.             'course': {{ course.id }}
  947.         });
  948.         /**
  949.          * Set icon container height in rowIncludes section on mobile screens
  950.          * */
  951.         function setRowIconHeight() {
  952.             var windowWidth = window.innerWidth;
  953.             var iconsBack = document.querySelectorAll('.rowIconBack');
  954.             if( windowWidth <= 575 ) {
  955.                 for( var i = 0; i < iconsBack.length; i++ ) {
  956.                     var backHeight = iconsBack[i].offsetHeight;
  957.                     var frontHeight = iconsBack[i].previousElementSibling.offsetHeight;
  958.                     if( backHeight >= frontHeight ) {
  959.                         iconsBack[i].parentNode.style.height = backHeight + 'px';
  960.                     } else {
  961.                         iconsBack[i].parentNode.style.height = frontHeight + 'px';
  962.                     }
  963.                 }
  964.             }
  965.         }
  966.         /**
  967.          * Rotate icon container in rowincludes section on icon click on mobile screens
  968.          * */
  969.         function flipIconCards() {
  970.             var windowWidth = window.innerWidth;
  971.             var icons = document.querySelectorAll('.bgs--small-xs');
  972.             var cardIconContainers = document.querySelectorAll('.rowIncludes__oneRow');
  973.             var activeIconContainer;
  974.             if( windowWidth <= 575 ) {
  975.                 for (var icon of icons) {
  976.                     icon.addEventListener('click', function () {
  977.                         activeIconContainer = this.closest('.rowIncludes__oneRow');
  978.                         // Remove class hover-manual from all elements .rowIncludes__oneRow
  979.                         for (var cardContainer of cardIconContainers) {
  980.                             cardContainer.classList.remove('hover-manual');
  981.                         }
  982.                         // Add class hover-manual to parent element who has class rowIncludes__oneRow
  983.                         this.closest('.rowIncludes__oneRow').classList.add('hover-manual');
  984.                     });
  985.                 }
  986.                 // Remove class hover-manual when user click outside active icon container
  987.                 document.addEventListener('click', function(e) {
  988.                     if( activeIconContainer !== undefined && !activeIconContainer.contains(e.target) && typeof(activeIconContainer) !== 'undefined' ) {
  989.                         for (var cardContainer of cardIconContainers) {
  990.                             cardContainer.classList.remove('hover-manual');
  991.                         }
  992.                     }
  993.                 });
  994.             }
  995.         }
  996.         /*
  997.         *  Hides pulsing Tap icon in rowincludes section after 10 seconds when the section is visible
  998.         * */
  999.         function hideTapIcon() {
  1000.             var windowWidth = window.innerWidth;
  1001.             if( windowWidth <= 575 ) {
  1002.                 // this is the target which is observed
  1003.                 var target = document.querySelector('section.rowIncludes');
  1004.                 // configure the intersection observer instance
  1005.                 var intersectionObserverOptions = {
  1006.                     root: null,
  1007.                     rootMargin: '150px',
  1008.                     threshold: 1.0
  1009.                 };
  1010.                 var observer = new IntersectionObserver(onIntersection, intersectionObserverOptions);
  1011.                 // provide the observer with a target
  1012.                 observer.observe(target);
  1013.                 function onIntersection(entries) {
  1014.                     entries.forEach(function (entry) {
  1015.                         target.classList.toggle('visible', entry.intersectionRatio > 0);
  1016.                         // Are we in viewport?
  1017.                         if (entry.intersectionRatio > 0) {
  1018.                             setTimeout(function () {
  1019.                                 document.querySelector('.rowIncludes__tap-icon').classList.add('rowIncludes__tap-icon--none');
  1020.                             }, 10000)
  1021.                         }
  1022.                     });
  1023.                 }
  1024.             }
  1025.         }
  1026.     </script>
  1027.     <script>
  1028.         \$(document).ready(function () {
  1029.             const openedModules = sessionStorage.getItem('openedModules');
  1030.             if (openedModules)
  1031.             {
  1032.                 openedModules.split(',').forEach(element => \$(`#\${element}`).show());
  1033.                 sessionStorage.removeItem('openedModules');
  1034.             }
  1035.             \$('body').on('click', '.sm-download', function (e) {
  1036.                 sendDownloadEvent();
  1037.             });
  1038.             \$('body').on('click', function(){
  1039.                 if (\$('#vimeoVideoModalIframe').length > 0)
  1040.                 {
  1041.                     \$('#vimeoVideoModalIframe').attr('src','');
  1042.                     \$('.modal').on('hide.bs.modal', function(){
  1043.                         if (\$('#vimeoVideoModalIframe').contents().find('.renderSuccessModal').length > 0)
  1044.                         {
  1045.                             const visibleModules = \$('.rowCourseProgram__module__elements:not(:hidden)')
  1046.                                 .map(function() {return this.id}).toArray().join();
  1047.                             if (visibleModules)
  1048.                             {
  1049.                                 sessionStorage.setItem('openedModules', visibleModules);
  1050.                             }
  1051.                             location.reload();
  1052.                         }
  1053.                     });
  1054.                 }
  1055.             });
  1056.             \$('.showFreeLessonVimeo').on('click', function () {
  1057.                 var urlVimeo = \$(this).attr('data-vimeoUrl');
  1058.                 \$('#freeVideoModalIframe').attr('src', urlVimeo);
  1059.                 \$('#freeVideoModal').modal();
  1060.             })
  1061.             if (\$(window).width() <= 768)
  1062.             {
  1063.                 if (\$('.iconArrowFreeLession').find('img').length > 0) \$('.iconArrowFreeLession').find('img').attr('src', '/icons/arrow-down.svg');
  1064.             }
  1065.             \$('.titleFreeLessonBox').on('click', function(){
  1066.                 \$('.freeLessonInCourse').slideToggle('400', function(){
  1067.                     if (\$(this).is(':visible')){
  1068.                         \$('.iconArrowFreeLession').find('img').attr('src', '/icons/arrow-up.svg');
  1069.                     } else {
  1070.                         \$('.iconArrowFreeLession').find('img').attr('src', '/icons/arrow-down.svg');
  1071.                     }
  1072.                 });
  1073.             });
  1074.             \$('.freeAccessModalVimeo').click(function () {
  1075.                 if (\$(this).hasClass('sm-download'))
  1076.                 {
  1077.                     sendDownloadEvent();
  1078.                 }
  1079.                 var currentUrl = \$(this).data('free');
  1080.                 if (\$(this).data('temporary') == true)
  1081.                 {
  1082.                     currentUrl = currentUrl.replace('vimeo.', 'player.vimeo.');
  1083.                     currentUrl = currentUrl.replace('.com/', '.com/video/');
  1084.                     \$('#vimeoVideoModalIframe').attr('src', currentUrl);
  1085.                     \$('#vimeoVideoModal').modal();
  1086.                 }
  1087.                 else
  1088.                 {
  1089.                     var urlLogin = \$(this).data('login');
  1090.                         url = window.location.origin,
  1091.                         videoUrl = currentUrl.split('com/'),
  1092.                         videoNumber =  videoUrl[1];
  1093.                     \$('#vimeoVideoModalIframe').attr('src', url + urlLogin + '?modalVideo=' + videoNumber + '&modalCourse=' + {{ course.id }});
  1094.                     \$('#vimeoVideoModal').modal();
  1095.                 }
  1096.                 return false;
  1097.             });
  1098.             function sendDownloadEvent() {
  1099.                 console.log('clickowanie');
  1100.                 \$.ajax({
  1101.                     type: 'POST',
  1102.                     url: '{{ path('fmUniqskillsSalesManagoDownload', {'course': course.id}) }}',
  1103.                     success: function (data) {
  1104.                         // handle success
  1105.                     },
  1106.                     error: function (error) {
  1107.                         console.error(error);
  1108.                     }
  1109.                 });
  1110.             }
  1111.             \$('.freeAccessModalPdf').click(function () {
  1112.                 var urlLogin = \$(this).data('login'),
  1113.                     url = window.location.origin;
  1114.                 \$('#vimeoVideoModalIframe').attr('src', url + urlLogin + '?modalPdf=1');
  1115.                 \$('#vimeoVideoModal').modal();
  1116.                 return false;
  1117.             });
  1118.             \$('.menu-link-scroll').click(function (e) {
  1119.                 var width = \$(window).width();
  1120.                 var offsetAdd = 0;
  1121.                 if(width < 768)
  1122.                 {
  1123.                     offsetAdd = -15;
  1124.                 }
  1125.                 e.preventDefault();
  1126.                 var id = \$(this).data('link');
  1127.                 \$('html,body').animate({
  1128.                     scrollTop: (\$('a[name=\"' + id + '\"]').offset().top - 80 - offsetAdd)
  1129.                 }, 1000);
  1130.             });
  1131.             // \$('#recipeCarousel').carousel({
  1132.             //     interval: 10000
  1133.             // });
  1134.             \$('.carousel .carousel-item').each(function () {
  1135.                 var minPerSlide = 3;
  1136.                 var next = \$(this).next();
  1137.                 if (!next.length) {
  1138.                     next = \$(this).siblings(':first');
  1139.                 }
  1140.                 next.children(':first-child').clone().appendTo(\$(this));
  1141.                 for (var i = 0; i < minPerSlide; i++) {
  1142.                     next = next.next();
  1143.                     if (!next.length) {
  1144.                         next = \$(this).siblings(':first');
  1145.                     }
  1146.                     next.children(':first-child').clone().appendTo(\$(this));
  1147.                 }
  1148.             });
  1149.             var courseTitleVer2 = \$('.rowHeader');
  1150.             var courseTitleVer3 = \$('.rowHeader-mobile-image');
  1151.             \$(window).on(\"resize\", function (e) {
  1152.                 checkScreenSize(courseTitleVer2);
  1153.                 checkScreenSize(courseTitleVer3);
  1154.             });
  1155.             checkScreenSize(courseTitleVer2);
  1156.             checkScreenSize(courseTitleVer3);
  1157.             function checkScreenSize(element) {
  1158.                 var newWindowWidth = \$(window).width();
  1159.                 element.each(function () {
  1160.                     var courseTitleImage = \$(this).data('image');
  1161.                     var courseTitleBackground = \$(this).data('background');
  1162.                     var courseTitleBackgroundMobile = \$(this).data('background-mobile');
  1163.                     if (courseTitleImage === 'image') {
  1164.                         if (newWindowWidth <= 768) {
  1165.                             \$(this).css({
  1166.                                 'background': \"url('\" + courseTitleBackgroundMobile + \"')\",
  1167.                                 'background-size': '100%',
  1168.                                 'background-repeat': 'no-repeat'
  1169.                             });
  1170.                         } else {
  1171.                             \$(this).css({
  1172.                                 'background': \"url('\" + courseTitleBackground + \"')\",
  1173.                                 'background-position': 'right top',
  1174.                                 'background-repeat': 'no-repeat',
  1175.                                 'background-size': 'cover',
  1176.                             });
  1177.                         }
  1178.                     }
  1179.                 });
  1180.             }
  1181.             // Show less description
  1182.             function showMore2() {
  1183.                 var windowWidth = \$(window).width();
  1184.                 var content = \$(\".rowDescription__short-desc\");
  1185.                 var readMoreButton = \$(\".rowDescription__read-more\");
  1186.                 var readMoreText = readMoreButton.data('read-more');
  1187.                 var readLessText = readMoreButton.data('read-less');
  1188.                 var anchorSection = \$('section.rowDescription__normal > a[name]');
  1189.                 if( windowWidth < 768 ) {
  1190.                     readMoreButton.on('click', function(e) {
  1191.                         e.preventDefault();
  1192.                         if(content.hasClass('active')) {
  1193.                             content.removeClass('rowDescription__short-desc--normal');
  1194.                             content.removeClass('active');
  1195.                             setTimeout(function() {
  1196.                                 \$('html,body').animate({
  1197.                                     scrollTop: anchorSection.offset().top - 120
  1198.                                 }, 1000);
  1199.                             }, 70);
  1200.                             readMoreButton.text(readMoreText);
  1201.                         } else {
  1202.                             content.addClass('active');
  1203.                             content.addClass('rowDescription__short-desc--normal');
  1204.                             readMoreButton.text(readLessText);
  1205.                         }
  1206.                     });
  1207.                 }
  1208.             }
  1209.             showMore2();
  1210.             // Highlight menu link in 2Menu
  1211.             function highlightMenuLink() {
  1212.                 var lastId = \"\";
  1213.                 var helperHeight = 58;
  1214.                 if( \$(window).width() <= 768) {
  1215.                     helperHeight = 43;
  1216.                 }
  1217.                 var menuItems = \$('.second-menu-slider').find('a');
  1218.                 var topMenuHeight = \$('.second-menu-slider').outerHeight() + helperHeight;
  1219.                 var menuOffsetTop = \$('.second-menu-slider').offset().top;
  1220.                 // scrollItems - list of links with internal anchors
  1221.                 var scrollItems = menuItems.map( function() {
  1222.                     var idSelector = \$(this).attr('href');
  1223.                     idSelector = idSelector.replace(/^#/, '');
  1224.                     var itemAnchor = \$('a[name='+idSelector+']');
  1225.                     if(itemAnchor.length) { return itemAnchor; }
  1226.                 });
  1227.                 var fromTop = \$(this).scrollTop() + topMenuHeight;
  1228.                 var cur = scrollItems.map(function(){
  1229.                     if (\$(this).offset().top < fromTop) {
  1230.                         return this;
  1231.                     }
  1232.                 });
  1233.                 cur = cur[cur.length-1];
  1234.                 var id = cur && cur.length ? cur[0].name : \"\";
  1235.                 if (fromTop > menuOffsetTop && lastId !== id) {
  1236.                     lastId = id;
  1237.                     menuItems.removeClass('active-menu-link');
  1238.                     var currentItemMenu = menuItems.filter('[href=\\\\#'+id+']')[0];
  1239.                     currentItemMenu.classList.add('active-menu-link');
  1240.                 }
  1241.             }
  1242.             // Sticky menu
  1243.             var secondMenu = \$('.rowHeader__textRow__linkAndPrice');
  1244.             var secondMenuPosition = secondMenu.offset().top;
  1245.             \$(window).scroll(function() {
  1246.                 var currentPosition = \$(window).scrollTop();
  1247.                 if( currentPosition >=  secondMenuPosition) {
  1248.                     secondMenu.addClass('rowHeader__textRow__linkAndPrice--fixed')
  1249.                 } else {
  1250.                     secondMenu.removeClass('rowHeader__textRow__linkAndPrice--fixed');
  1251.                 }
  1252.                 hideTapIcon();
  1253.                 highlightMenuLink();
  1254.             });
  1255.             // Tutors slider
  1256.             \$('.tutors-slider').slick({
  1257.                 slidesToShow: {% if app.request.locale == 'en' %}2{% else %}3{% endif %},
  1258.                 slidesToScroll: {% if app.request.locale == 'en' %}2{% else %}3{% endif %},
  1259.                 infinite: true,
  1260.                 autoplay: false,
  1261.                 arrows: false,
  1262.                 dots: true,
  1263.                 responsive: [
  1264.                     {
  1265.                         breakpoint: 992,
  1266.                         settings: {
  1267.                             slidesToShow: 2,
  1268.                             slidesToScroll: 2,
  1269.                         }
  1270.                     },
  1271.                     {
  1272.                         breakpoint: 768,
  1273.                         settings: {
  1274.                             slidesToShow: 1,
  1275.                             slidesToScroll: 1,
  1276.                             variableWidth: true,
  1277.                         }
  1278.                     }
  1279.                 ]
  1280.             });
  1281.             \$('.suggestedCurses__slider').slick({
  1282.                 slidesToShow: 3,
  1283.                 slidesToScroll: 3,
  1284.                 infinite: true,
  1285.                 autoplay: false,
  1286.                 arrows: false,
  1287.                 dots: true,
  1288.                 responsive: [
  1289.                     {
  1290.                         breakpoint: 992,
  1291.                         settings: {
  1292.                             slidesToShow: 2,
  1293.                             slidesToScroll: 2,
  1294.                         }
  1295.                     },
  1296.                     {
  1297.                         breakpoint: 768,
  1298.                         settings: {
  1299.                             slidesToShow: 1,
  1300.                             slidesToScroll: 1,
  1301.                             variableWidth: true,
  1302.                         }
  1303.                     }
  1304.                 ]
  1305.             });
  1306.             \$('.second-menu-slider').slick({
  1307.                 slidesToShow: 5,
  1308.                 slidesToScroll: 1,
  1309.                 infinite: false,
  1310.                 autoplay: false,
  1311.                 arrows: true,
  1312.                 prevArrow: '<i class=\"fa fa-angle-left\" aria-hidden=\"true\"></i>',
  1313.                 nextArrow: '<i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i>',
  1314.                 responsive: [
  1315.                     {
  1316.                         breakpoint: 1199,
  1317.                         settings: {
  1318.                             slidesToShow: 5,
  1319.                             slidesToScroll: 1,
  1320.                         }
  1321.                     },
  1322.                     {
  1323.                         breakpoint: 768,
  1324.                         settings: {
  1325.                             slidesToShow: 4,
  1326.                             slidesToScroll: 1,
  1327.                             arrows: true
  1328.                         }
  1329.                     }
  1330.                 ]
  1331.             });
  1332.             setRowIconHeight();
  1333.             flipIconCards();
  1334.         });
  1335.         \$(window).on('resize', function() {
  1336.             setRowIconHeight();
  1337.         });
  1338.     </script>
  1339.     {% if landing.landing.customScripts is not empty %}
  1340.         <script>
  1341.             {{ landing.landing.customScripts|raw }}
  1342.         </script>
  1343.     {% endif %}
  1344. {% endblock %}
  1345. ""/uniqskills/catalogue/landing_new/landing.html.twig""/app/test/global_order_system/templates/uniqskills/catalogue/landing_new/landing.html.twig");
  1346.     }
  1347. }