src/Application/Internit/SettingBundle/Resources/views/Home/home_front.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}
  3.   {{ parent() }}
  4. {% endblock %}
  5. {% block javascripts %}
  6.   {{ parent() }}
  7.   <script src="{{ asset('bundles/applicationinternitcontent/js/jquery.mask.js') }}"></script>
  8.   <script src="{{ asset('bundles/applicationinternitcontent/js/format-form.js') }}"></script>
  9.   <script src="{{ asset('bundles/applicationinternitcontent/js/jquery-ui.min.js') }}"></script>
  10.   <script src="{{ asset('bundles/applicationinternitcontent/js/geral.js') }}"></script>
  11.   <script>
  12.     $(document).ready(function() {
  13.       const realEstateOptions = $('.js-real-estate-options option').toArray().map(elem => elem.innerText);
  14.       $('#imobiliaria').autocomplete({
  15.         minLength: 0,
  16.         source: realEstateOptions,
  17.         appendTo: '#real-estate-suggestions',
  18.       }).focus(function() {
  19.         $(this).autocomplete('search');
  20.       });
  21.       // corretor de imobiliária ou autônomo
  22.       $('.cadastro-corretor .js-realtor-option').change(function() {
  23.         if ($(this).is(':checked')) {
  24.           let option = $(this).val();
  25.           if (option == 'corretor-autonomo') {
  26.             // esta linha sinaliza ao backend que a imobiliária do corretor é "Imobiliária Autônoma"
  27.             $('#imobiliaria').hide().val('').removeAttr('required');
  28.           }
  29.           else if (option == 'corretor-de-imobiliaria') {
  30.             $('#imobiliaria').show().attr('required', true);
  31.           }
  32.         }
  33.       })
  34.       .trigger('change');
  35.       $('#cadastro-corretor').submit(function() {
  36.         let realEstateOptions = $('.js-real-estate-options option').toArray();
  37.         let imobiliaria = $('#imobiliaria').val();
  38.         if (imobiliaria) {
  39.           let chosenRealEstate = realEstateOptions.find(function(elem) {
  40.             return elem.innerText.replace(/\n/g, '').toLowerCase() === imobiliaria.replace(/\n/g, '').toLowerCase();
  41.           });
  42.           
  43.           return chosenRealEstate;
  44.         }
  45.         return true;
  46.       });
  47.       // este trecho é para tratar redirecionamentos vindos do assistente virtual quando
  48.       // um usuário deseja se cadastrar na construtora como corretor autônomo ou imobiliária.
  49.       // Dependendo do parâmetro de consulta modaltab da url, abre o formulário de cadastro apropriado.
  50.       const modaltab = '{{ modaltab }}';
  51.       if (modaltab != '') {
  52.         // 1 - corretor autônomo; 2 - imobiliária
  53.         const tabId = (modaltab == '1' ? 'tab-1' : 'tab-2');
  54.         $('#myModal').modal('toggle');
  55.         $('#myModal').find(`.tab-link[data-tab=${tabId}]`).click();
  56.         // nome, e-mail e telefone
  57.         const chatbotData = JSON.parse('{{ chatbotData|raw }}');
  58.         // populando o form
  59.         const form = $(`#myModal #${tabId} form`);
  60.         form.find('[name="email"]').val(chatbotData.email);
  61.         form.find('[name="phone"]').val(chatbotData.telefone);    
  62.         // liga a opção de corretor autônomo
  63.         if (tabId == 'tab-1') {
  64.           form.find('[name="firstName"]').val(chatbotData.nome);
  65.           form.find('#corretor-autonomo').click();
  66.         }
  67.         else if (tabId == 'tab-2') {
  68.           form.find('[name="name"]').val(chatbotData.nome);
  69.         }
  70.       }
  71.       
  72.     });
  73.   </script>
  74. {% endblock %}
  75. {% block stylesheets %}
  76.   {{ parent() }}
  77.   <link rel="stylesheet" href="{{ asset('bundles/applicationinternitcontent/css/jquery-ui.min.css') }}">
  78. {% endblock %}
  79. {% block menu %}
  80.   <header class="header">
  81.   <div class="links-cadastro">
  82.       <div class="link cadastro-corretor">
  83.         <button type="button" class="btn btn-corretor btn-info btn-lg" data-toggle="modal" data-target="#myModal"><i class="far fa-user"></i> Cadastro Corretor</button>
  84.       </div>
  85.       <div class="link cadastro-imobiliario">
  86.         <button type="button" class="btn btn-imob btn-info btn-lg" data-toggle="modal" data-target="#myModal"><i class="far fa-building"></i> Cadastro Imobiliário</button>
  87.       </div>
  88.   </div>
  89.   <div class="icon">
  90.     <a href="javascript:void(0);">
  91.       <i class="fa fa-bars"></i>
  92.     </a>
  93.   </div>
  94.   <nav id="navbar" class="navbar navbar-expand-xl">
  95.     <div class="container">
  96.       {% if builder is defined and builder is not empty %}
  97.         <a class="navbar-brand" href="/">
  98.             {% thumbnail builder.logo, 'front_home' with {'class': 'realEstate_logo'} %}
  99.         </a>
  100.       {% endif %}
  101.       <div class="collapse navbar-collapse" id="menu">
  102.         <ul class="navbar-nav mr-auto">
  103.           <li class="nav-item active" data-toggle="modal" data-target="#myModal">
  104.             <a class="nav-link" href="#">Venda Conosco<span class="sr-only">(página atual)</span></a>
  105.           </li>
  106.           <li class="nav-item">
  107.             <a class="nav-link" href="#main-recursos">Recursos</a>
  108.           </li>
  109.           <li class="nav-item">
  110.             <a class="nav-link" href="#main-contato">Fale Conosco</a>
  111.           </li>
  112.           <li class="nav-item cadastro-mob" data-toggle="modal" data-target="#myModal">
  113.             <a class="nav-link" href="#">Cadastre-se</a>
  114.           </li>
  115.         </ul>
  116.         <ul class="menu-cliente">
  117.           <form method="post" class="form-login" action="admin/login_check">
  118.             <input type="text" placeholder="Usuário" name="_username" required>
  119.             <div>
  120.               <input type="password" placeholder="Senha" name="_password" required>
  121.               <a href="admin/resetting/request">Esqueci a Senha</a>
  122.             </div>
  123.             <li class="nav-item last-menu">
  124.               <button class="nav-link">Entrar</button>
  125.             </li>
  126.           </form>
  127.         </ul>
  128.       </div>
  129.     </div>
  130.   </nav>
  131.   <div class="alerta-form">
  132.     {% for flashMessage in app.session.flashbag.get('flash_create_success') %}
  133.       <div class="caixa-resposta">
  134.         <div class="resposta active" id="r-sucess">
  135.           <i class="far fa-check-circle"></i>
  136.           <p>{{ flashMessage }}</p>
  137.         </div>
  138.       </div>
  139.     {% endfor %}
  140.     {% for flashMessage in app.session.flashbag.get('flash_create_error') %}
  141.       <div class="caixa-resposta">
  142.         <div class="resposta active" id="r-error">
  143.           <i class="far fa-times-circle"></i>
  144.           <p>{{ flashMessage }}</p>
  145.         </div>
  146.       </div>
  147.     {% endfor %}
  148.   </div>
  149. </header>
  150. {% endblock %}
  151. {% block modal %}
  152. <!-- Modal -->
  153. <div class="modal fade" id="myModal" role="dialog">
  154. <div class="modal-dialog">
  155. <!-- Modal content-->
  156. <div class="modal-content">
  157.  <div class="tabs-container">
  158.          <ul class="tabs menu-tab">
  159.              <li class="tab-link btn-corretor upper" data-tab="tab-1">Cadastro Corretor</li>
  160.              <li class="tab-link btn-imob last upper" data-tab="tab-2">Cadastro Imobiliária</li>
  161.          </ul>
  162.          <div id="tab-1" class="tab-content current btn-corretor">
  163.            <form class="cadastro cadastro-corretor" id="cadastro-corretor" action="/submitUser" method="post" >
  164.              <div class="container">
  165.                <div class="row">
  166.                  <div class="col-md-6">
  167.                    <div class="form-group">
  168.                      <input type="text" class="form-control" id="nomeimput" name="firstName" placeholder="Nome Completo" required>
  169.                    </div>
  170.                    <div class="form-group">
  171.                      <input type="date" class="form-control" id="emailimput" name="birthDay" placeholder="Data de Nascimento" title="Data de Nascimento" required>
  172.                    </div>
  173.                    <div class="form-group">
  174.                      <input type="tel" class="form-control phone_with_ddd" id="telimput" name="phone" placeholder="Telefone" required>
  175.                    </div>
  176.                     <div class="form-group">
  177.                       <input type="text" class="form-control" id="creci" name="creci" placeholder="CRECI" required>
  178.                     </div>
  179.                    {#<div class="form-group">
  180.                     <input type="text"  class="form-control" id="imobiliaria" name="realEstateName" placeholder="Imobiliária">
  181.                     <div id="real-estate-suggestions"></div>
  182.                    </div>#}
  183.                    <div class="form-group">
  184.                     <select class="js-real-estate-options form-control" style="display: block"  name="realEstateId">
  185.                       <option value="-1">Imobiliária</option>
  186.                       {% for realEstate in data %}
  187.                         <option value="{{ realEstate.id }}">{{ realEstate.name }}</option>
  188.                       {% endfor %}
  189.                     </select>
  190.                    </div>
  191.                  </div>
  192.                  <div class="col-md-6">
  193.                      <div class="form-group">
  194.                        <input type="text" class="form-control cpf" id="cpf" name="cpf" placeholder="CPF" required>
  195.                      </div>
  196.                      <div class="form-group">
  197.                        <select class="select select-genero" name="genre" id="select" required>
  198.                          <option value="">Gênero</option>
  199.                          <option value="Masculino">Masculino</option>
  200.                          <option value="Feminino">Feminino</option>
  201.                          <option value="outro">Outros</option>
  202.                        </select>
  203.                      </div>
  204.                      <div class="form-group">
  205.                        <input type="email" class="form-control" id="emailimput" name="email" placeholder="E-mail" required>
  206.                      </div>
  207.                     <div class="form-group checkbox">
  208.                       <input type="radio" class="js-realtor-option" name="realestate" value="corretor-autonomo" id="corretor-autonomo">
  209.                       <label for="corretor-autonomo">Corretor Autônomo</label>
  210.                     </div>
  211.                     <div class="form-group checkbox">
  212.                       <input type="radio" class="js-realtor-option" name="realestate" value="corretor-de-imobiliaria" id="corretor-de-imobiliaria" checked>
  213.                       <label for="corretor-de-imobiliaria">Corretor de Imobiliária</label>
  214.                     </div>
  215.                    </div>
  216.                  <script src="https://code.jquery.com/jquery-3.6.3.min.js" integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script>
  217.                  <script>
  218.                    let autonomoInput = jQuery('#corretor-autonomo')
  219.                    autonomoInput.on('change', ()=>{
  220.                      if(autonomoInput.is(':checked')){
  221.                        jQuery('[name="realEstateId"]').val(15)
  222.                      }
  223.                    })
  224.                  </script>
  225.                    <div class="form-group enviar-modal">
  226.                      <button type="submit" class="upper btn btn-primary enviar">Enviar</button>
  227.                    </div>
  228.                </div>
  229.              </div>
  230.            </form>
  231.          </div>
  232.          <div id="tab-2" class="tab-content btn-imob">
  233.            <form class="cadastro cadastro-corretor" action="/submitRealEstate" method="post" >
  234.              <div class="container">
  235.                <div class="row">
  236.                  <div class="col-md-6">
  237.                    <div class="form-group">
  238.                      <input type="text" class="form-control" id="nomeimput" name="name" placeholder="Nome" required>
  239.                    </div>
  240.                    <div class="form-group">
  241.                      <input type="text" class="form-control cnpj" id="emailimput" name="cnpj" placeholder="CNPJ" required>
  242.                    </div>
  243.                    <div class="form-group">
  244.                      <input type="tel" class="form-control phone_with_ddd" id="telimput" name="phone" placeholder="Telefone" required>
  245.                    </div>
  246.                  </div>
  247.                  <div class="col-md-6">
  248.                    <div class="form-group">
  249.                      <input type="text" class="form-control" id="razaoimput" name="corporateName" placeholder="Razão Social" required>
  250.                    </div>
  251.                    <div class="form-group">
  252.                     <input type="text" class="form-control" name="creci" placeholder="CRECI Jurídico" required>
  253.                    </div>
  254.                    <div class="form-group">
  255.                      <input type="email" class="form-control" name="email" id="emailimput" placeholder="E-mail Padrão" required>
  256.                    </div>
  257.                    </div>
  258.                  <div class="form-group enviar-modal">
  259.                    <button type="submit" class="upper btn btn-primary enviar">Enviar</button>
  260.                  </div>
  261.                </div>
  262.              </div>
  263.            </form>
  264.          </div>
  265.      </div>
  266. </div>
  267. </div>
  268. </div>
  269. {% endblock %}
  270. {% block banner %}
  271. <section id="banner" class="clip-after">
  272.   <div class="banner_box">
  273.     <div class="container">
  274.       <div class="row">
  275.         <div class="col-md-6">
  276.           <div class="banner-content">
  277.             <h1>Controle total na palma da sua mão, de forma prática e rápida!</h1>
  278.             <p>Somos uma Plataforma com ênfase no desenvolvimento do corretor, simplificando a relação de negociação, com funcionalidades específicas para obter maior controle sobre cada etapa da venda do imóvel, proporcionando uma melhor administração e aumento no numero de vendas.</p>
  279.             <a class="upper" href="#vantagens-corretor">
  280.               Veja as vantagens <span class="arrow-down"><img src="{{ asset('bundles/applicationinternitcontent/media/img/down-arrow.png')}}"</span>
  281.             </a>
  282.           </div>
  283.        </div>
  284.        <div class="col-md-6">
  285.          <img class="banner-img" src="{{ asset('bundles/applicationinternitcontent/media/img/Homem_digitando.png')}}">
  286.        </div>
  287.      </div>
  288.     </div>
  289.   </div>
  290. </section>
  291. {% endblock %}
  292. {% block body %}
  293.   <div class="main">
  294.     <div id="vantagens-corretor" class="container vantagens">
  295.         <h3 class="text-center upper">Vantagens para o corretor</h3>
  296.         <div class="row">
  297.           <div class="col-lg collum-icons">
  298.             <div class="icone">
  299.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/statistics.png')}}">
  300.             </div>
  301.             <h4>Atinja metas de vendas</h4>
  302.             <p>Veja as metas de vendas definidas pela construtora, acompanhe de perto seu desempenho e ganhe benefícios da Construtora.</p>
  303.           </div>
  304.           <div class="col-lg collum-icons">
  305.             <div class="icone">
  306.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/docs.png')}}">
  307.             </div>
  308.             <h4>Crie propostas de forma rápida e eficiente para seus clientes</h4>
  309.             <p>Facilite a elaboração e garanta a aprovação da Construtora criando propostas que atendam todas as necessidades, garantindo a satisfação de todas as partes envolvidas!</p>
  310.           </div>
  311.           <div class="col-lg collum-icons">
  312.             <div class="icone">
  313.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/key.png')}}">
  314.             </div>
  315.             <h4>Solicite as chaves para visitar o imóvel desejado por seus clientes</h4>
  316.             <p>Em nossa plataforma, pedir a chave para ir ao imóvel desejado por um cliente é algo muito simples, com poucos cliques você escolhe a unidade, determina a melhor data e pronto, sua solicitação já foi enviada para a construtora.</p>
  317.           </div>
  318.           <div class="col-lg collum-icons">
  319.             <div class="icone">
  320.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/trophy.png')}}">
  321.             </div>
  322.             <h4>Acumule pontos e troque por prêmios</h4>
  323.             <p>Aprenda mais sobre todos os empreendimentos de maneira divertida com nosso Quiz e a cada resposta acertada você ganha pontos que podem ser trocados por prêmios exclusivos. Troque seus pontos por prêmios!</p>
  324.           </div>
  325.         </div>
  326.     </div>
  327.     <div id="main-recursos" class="main-emp clip-before clip-emp">
  328.       <div class="container content-metas">
  329.         <div class="row">
  330.           <div class="col-lg-5 empreendimento-img">
  331.             <img src="{{ asset('bundles/applicationinternitcontent/media/img/empreendimento.png')}}">
  332.           </div>
  333.           <div class="col-lg-2">
  334.           </div>
  335.           <div class="col-lg-5 empreendimentos">
  336.             <h5>Disponibilidade e preço das unidades em tempo real pelo espelho de vendas e acesso ao conteúdo completo de cada empreendimento, incluindo vídeos, imagens e material para downloads.</h5>
  337.           </div>
  338.         </div>
  339.       </div>
  340.     </div>
  341.     <div class="main-metas clip-after">
  342.       <div class="container content-metas">
  343.         <div class="row">
  344.           <div class="col-lg-5 metas">
  345.             <h5>Veja seu espelho de vendas e Tenha acesso ao conteúdo completo sobre o empreendimento, incluindo material para downloads</h5>
  346.             <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/01_Dashboard_v6.jpg')}}" class="upper">
  347.                 Mais Recursos
  348.               </a>
  349.               <div class="imagens-rec">
  350.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/02_Ficha_v5.jpg')}}">
  351.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/02_Ficha_v5.jpg')}}">
  352.                 </a>
  353.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/03_Notificações.jpg')}}">
  354.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/03_Notificações.jpg')}}">
  355.                 </a>
  356.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/04_Solicitar_Chave_Emanalise.jpg')}}">
  357.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/04_Solicitar_Chave_Emanalise.jpg')}}">
  358.                 </a>
  359.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/05_Metas_de_vendas.jpg')}}">
  360.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/05_Metas_de_vendas.jpg')}}">
  361.                 </a>
  362.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/06_Ranking_v2.jpg')}}">
  363.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/06_Ranking_v2.jpg')}}">
  364.                 </a>
  365.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/07_Quiz.jpg')}}">
  366.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/07_Quiz.jpg')}}">
  367.                 </a>
  368.                 <a data-fslightbox="recursos" href="{{ asset('bundles/applicationinternitcontent/media/img/08_Criar_proposta_v2.jpg')}}">
  369.                   <img src="{{ asset('bundles/applicationinternitcontent/media/img/08_Criar_proposta_v2.jpg')}}">
  370.                 </a>
  371.             </div>
  372.           </div>
  373.           <div class="col-lg-2">
  374.           </div>
  375.           <div class="col-lg-5 metas-img">
  376.             <img src="{{ asset('bundles/applicationinternitcontent/media/img/metas.png')}}">
  377.           </div>
  378.         </div>
  379.       </div>
  380.     </div>
  381.     <div class="container vantagens-imob">
  382.         <h3 class="text-center upper">Vantagens para a Imobiliária</h3>
  383.         <div class="row">
  384.           <div class="col-lg collum-icons">
  385.             <div class="icone-imob">
  386.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/statistics.png')}}">
  387.             </div>
  388.             <h4>Gerencimento total</h4>
  389.             <p>Acompanhe o desempenho dos seus corretores em tempo real, visualizando as suas ações, como: propostas criadas, solicitação de chaves e muito mais. Faça suas interpretações analisando os dados da plataforma.</p>
  390.           </div>
  391.           <div class="col-lg collum-icons">
  392.             <div class="icone-imob">
  393.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/setting.png')}}">
  394.             </div>
  395.             <h4>Acesso ao conteúdo</h4>
  396.             <p>Garanta aos corretores acesso a toda a informação sobre os empreendimentos, como: dados relevantes, espelho de vendas, disponibilidade e material para downloads. Ajude a sua equipe conhecer mais sobre os imóveis!</p>
  397.           </div>
  398.           <div class="col-lg collum-icons">
  399.             <div class="icone-imob">
  400.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/worldwide.png')}}">
  401.             </div>
  402.             <h4>Suporte de Vendas</h4>
  403.             <p>Auxilie seus corretores facilitando diversas tarefas do dia-a-dia, como: criação de propostas padronizadas e cadastro completo de clientes. Dê suporte tecnológico ao seu time de vendas!</p>
  404.           </div>
  405.           <div class="col-lg collum-icons">
  406.             <div class="icone-imob">
  407.               <img src="{{ asset('bundles/applicationinternitcontent/media/img/group.png')}}">
  408.             </div>
  409.             <h4>Relacionamento</h4>
  410.             <p>Voz ativa do corretor com seus clientes, fortalecendo a marca da imobiliária e melhorando seu relacionamento com a construtora</p>
  411.           </div>
  412.         </div>
  413.     </div>
  414.     <div id="main-contato" class="widgets">
  415.       <div class="container">
  416.         <h3 class="text-center upper">Fale Conosco</h3>
  417.         <div class="row">
  418.         <div class="col-lg-6 contato">
  419.           <div class="contato-content">
  420.             {% if builder.name is defined and builder.name is not empty %}
  421.               <h2 class="upper">{{ builder.name }}</h2>
  422.             {% endif %}
  423.             {% if builder.phone is defined and builder.phone is not empty %}
  424.               <p><span class="icone-contato"><img src="{{ asset('bundles/applicationinternitcontent/media/img/phone-solid.png')}}"></span>{{ builder.phone }}</p>
  425.             {% endif %}
  426.             {% if builder.contactEmails is defined and builder.contactEmails is not empty %}
  427.               <p><span class="icone-contato"><img src="{{ asset('bundles/applicationinternitcontent/media/img/envelope-solid.png')}}"></span>
  428.                 {{ (builder.contactEmails[0] is not empty) ? builder.contactEmails[0].url : '' }}
  429.               </p>
  430.             {% endif %}
  431.             {% set fullAddress = builder is defined and builder is not empty ? builder.fullAddress : '' %}
  432.             {% if fullAddress is not empty %}
  433.               <p><span class="icone-contato"><img src="{{ asset('bundles/applicationinternitcontent/media/img/map-marker-alt-solid.png')}}"></span>{{ fullAddress }}</p>
  434.             {% endif %}
  435.             {% if builder.siteUrl is defined and builder.siteUrl is not empty %}
  436.               <p><span class="icone-contato"><img src="{{ asset('bundles/applicationinternitcontent/media/img/globe-solid.png')}}"></span>{{ builder.siteUrl }}</p>
  437.             {% endif %}
  438.           </div>
  439.         </div>
  440.         <div class="col-lg-6">
  441.           <div class="form">
  442.             <form class="cadastro cadastro-corretor" action="/submitContact" method="post" >
  443.               <div class="form-group">
  444.                 <input type="text" class="form-control" name="name" id="nomeimput" placeholder="Nome" required>
  445.               </div>
  446.               <div class="form-group">
  447.                 <input type="email" class="form-control" name="email" id="emailimput" placeholder="E-mail" required>
  448.               </div>
  449.               <div class="form-group">
  450.                 <input type="tel" class="form-control phone_with_ddd" name="phone" id="telimput" placeholder="Telefone" required>
  451.               </div>
  452.               <div class="form-group">
  453.                 <textarea class="form-control" name="message" id="textoimput" placeholder="Mensagem" required></textarea>
  454.               </div>
  455.               <div class="form-group form-last">
  456.                 <button type="submit" class="btn btn-primary enviar">Enviar</button>
  457.               </div>
  458.             </form>
  459.           </div>
  460.         </div>
  461.       </div>
  462.       </div>
  463.     </div>
  464.   </div>
  465. {% endblock %}
  466. {% block footer %}
  467.   {{ parent() }}
  468. {% endblock %}