templates/contact/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}SVS - CONTACT{% endblock %}
  3. {% block logo %} <!--script></script--> {% endblock %}
  4. {% block body %}
  5. <style>
  6. main {
  7. }
  8. header {
  9.     box-shadow:0 0 3px 0 rgba(0,0,0,0.22)!important;
  10. }
  11. footer {
  12.     display:none!important;
  13. }
  14. .footerend {
  15.     display:none!important;
  16. }
  17. .svsContact {
  18.     min-height:100vh;
  19.     padding:130px 7% 30px;
  20.     background-image:
  21.     linear-gradient(to top, #2d42751c, #ffffff 23%, transparent 100%), 
  22.         linear-gradient(to bottom, rgb(255 255 255 / 74%), rgb(255 157 28 / 12%) 0%, transparent 61%);
  23.     background-position: center;
  24.     background-repeat: repeat;
  25.     background-size: cover;
  26.     background-attachment: fixed;
  27.     background-image:
  28.     linear-gradient(to left, rgba(255, 255, 255, 0), rgb(250 246 239 / 51%) 52%),
  29.         url('{{asset("")}}')
  30. }
  31. .svs_contact_content {
  32.     display:flex;
  33.     justify-content:space-between;
  34.     align-items:stretch;
  35. }
  36. .groupeSvsForm {
  37.     width:50%;
  38. }
  39. .svs_contact_pic {
  40.     width:46%;
  41.     display:flex;
  42.     flex-flow:wrap;
  43.     justify-content:center;
  44.     align-items:center;
  45.     margin-bottom:4%;
  46.     box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  47.     background-position: center;
  48.     background-repeat: repeat;
  49.     background-size: cover;
  50.     background-image:
  51.         linear-gradient(to left, rgba(255, 255, 255, 0), rgb(250 246 239) 52%),
  52.         url('{{asset("")}}');
  53.     background-color:whitesmoke;
  54. }
  55. .svs_contact_pic ul {
  56.     padding:20px;
  57.     width:50%;
  58. }
  59. .choiceForm {
  60.     width:initial;
  61.     display:flex;
  62.     justify-content:space-between;
  63.     align-items:center;
  64.     flex-flow:wrap;
  65.     margin-bottom:20px;
  66.     padding-bottom:10px;
  67. }
  68. .choiceForm span,.choiceForm a {
  69.     font-size:13px!important;
  70.     border-radius:3px;
  71.     width:32%;
  72.     padding:7px;
  73.     color:#444444;
  74.     display:inline-block;
  75.     box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  76.     font-weight:500;
  77.     text-align:center;
  78.     border:solid 2px transparent;
  79. }
  80. .groupeSvsForm form {
  81.     width:100%;
  82.     min-height:calc(100% - 82px);
  83.     display:flex;
  84.     flex-direction:column;
  85.     justify-content:space-between;
  86. }
  87. .groupeSvsForm form .svsInput {
  88.     width:100%;
  89.     display:none;
  90. }
  91. .groupeSvsForm form .svsInput .lab {
  92.     width:100%;
  93.     display:flex;
  94.     justify-content:space-between;
  95.     margin-bottom:20px;
  96. }
  97. .groupeSvsForm form .svsInput .lab input,.groupeSvsForm form .svsInput .lab select {
  98.     width:48%;
  99.     padding:6px 12px;
  100.     outline:0;
  101.     border:solid 2px white;
  102.     box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  103. }
  104. .groupeSvsForm form .svsInput .lab input:focus,.groupeSvsForm form .svsInput .lab textarea:focus {
  105.     border-color:#2d4275;
  106.     border-radius:5px;
  107. }
  108. .groupeSvsForm form .svsInput .lab textarea {
  109.     width:      100%;
  110.     min-height: 100px;
  111.     max-height: 120px;
  112.     min-width:  100%;
  113.     max-width:  100%;
  114.     padding:6px 12px;
  115.     outline:0;
  116.     border:solid 2px white;
  117.     box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  118. }
  119. .groupeSvsForm form button {
  120.     width:200px;
  121.     background-color:#2d4275;
  122.     color:whitesmoke;
  123.     font-weight:500;
  124.     min-height:40px;
  125.     font-size:17px;
  126.     letter-spacing:0.3px;
  127.     line-height:1.5;
  128.     border:0;
  129.     border-radius:4px;
  130.     
  131. }
  132. .choiceFormActive {
  133.     background-color:#ffffff!important;
  134.     color:#2d4275!important;
  135.     font-weight:700!important;
  136.     box-shadow:#f1ab2678 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px!important;
  137.     border:solid 2px #ff9d1c!important;
  138. }
  139. .svsInputActive {
  140.     display:block!important;
  141. }
  142. .inputFile {
  143.     display: inline-block;
  144.     background-color: #2d4275;
  145.     color: #fff;
  146.     cursor: pointer;
  147. }
  148. .activeLink {
  149.         color: white!important;
  150.         background-color: #2d4275;
  151.         padding: 2px 8px!important;
  152.         border-radius: 5px;
  153. }
  154.     .navbar-title img {
  155.         transform:scale(1)!important;
  156.     }
  157.     .svsGalerieTitle {
  158.         font-size: 24px;
  159.         color: #2d4275;
  160.         line-height: 1.5;
  161.         font-weight: 600;
  162.         padding-bottom: 8px;
  163.         position: relative;
  164.         width: fit-content;
  165.     }
  166.     .svsGalerieTitle i {
  167.         font-size:24px;
  168.         color:#2d4275;
  169.     }
  170.     @media screen and (max-width: 767.9px) {
  171.         .svsGalerieTitle {
  172.             font-size: 22px!important;
  173.         }
  174.     }
  175.     .groupe_svsTitle .typed-home-about span {
  176.         font-size:24px;
  177.     }
  178.     @keyframes moveInCircle {
  179.     0% {
  180.         transform:scale(1);
  181.     }
  182.     25% {
  183.         transform:scale(1.35);
  184.     }
  185.     50% {
  186.         transform:scale(1.65);
  187.     }
  188.     75% {
  189.         transform:scale(1.35);
  190.     }
  191.     97% {
  192.         transform:rotateY(180deg);
  193.     }
  194.     100% {
  195.         transform:scale(1) rotateY(360deg);
  196.     }
  197. }
  198. @media screen and (min-width:1280px) {
  199.     .aDesactiver {
  200.         display:none!important;
  201.     }
  202. }
  203. .li1 {
  204.     font-weight:700;
  205.     color:#2d4275;
  206. }
  207. .li3 {
  208.     font-size:12px;
  209.     font-weight:600;
  210.     color:#676767;
  211.     display:flex;
  212.     align-items:center;
  213. }
  214. .li3 i {
  215.     color:rgb(255, 157, 28);
  216.     padding-right:7px;
  217. }
  218. .flash-notice {
  219.     position:absolute;
  220.     width: 100%;
  221.     height: 80px;
  222.     top: 0;
  223.     left: 0;
  224.     z-index: 10303040;
  225.     background-color: #509c2ce8;
  226.     color: white;
  227.     font-size: 16px;
  228.     display: flex;
  229.     justify-content: flex-start;
  230.     align-items: center;
  231.     padding: 0 7%;
  232. }
  233. .flash-notice i {
  234.     font-size:inherit;
  235.     color:inherit;
  236.     padding-right:7px;
  237. }
  238. </style>
  239. <!-- SVS contact !-->
  240. <div class="svsContact">
  241.     <div class="svsTitle" style="height:130px">
  242.         <div class="groupe_svsTitle">
  243.             <h3 class="typed-home-about typed_contact"></h3>
  244.         </div>
  245.     </div>
  246.     <!-- SVS contact content !-->
  247.     <div class="svs_contact_content">
  248.         <!-- SVS groupe Svs form !-->
  249.         <div class="groupeSvsForm">
  250.             <!-- SVS choice Form !-->
  251.             <div class="choiceForm">
  252.                 <!--span id="contact">Information</span-->
  253.                 {% if uri2 == '' %}
  254.                     <a id="devis" class="choiceFormActive">{{'Demander un'|trans}} <br class="aDesactiver"> {{'devis'|trans}}</a>
  255.                     <a href="contact/reclamation" id="reclamation">{{'Envoyer une'|trans}} <br class="aDesactiver"> {{'réclamation'|trans}}</a>
  256.                     <a href="contact/candidature" id="postuler">{{'Déposer sa'|trans}} <br class="aDesactiver"> {{'candidature'|trans}}</a>
  257.                 {% endif %}
  258.                 {% if uri2 == 'reclamation' %}
  259.                     <a href="/contact" id="devis">{{'Demander un'|trans}} <br class="aDesactiver"> {{'devis'|trans}}</a>
  260.                     <a id="reclamation" class="choiceFormActive">{{'Envoyer une'|trans}}  {{'réclamation'|trans}}</a>
  261.                     <a href="/contact/candidature" id="postuler">{{'Déposer sa'|trans}} <br class="aDesactiver"> {{'candidature'|trans}}</a>
  262.                 {% endif %}
  263.                 {% if uri2 == 'candidature' %}
  264.                     <a href="/contact" id="devis">{{'Demander un'|trans}} <br class="aDesactiver"> {{'devis'|trans}}</a>
  265.                     <a href="/contact/reclamation" id="reclamation">{{'Envoyer une'|trans}} <br class="aDesactiver"> {{'réclamation'|trans}}</a>
  266.                     <a id="postuler" class="choiceFormActive">{{'Déposer sa'|trans}} <br class="aDesactiver"> {{'candidature'|trans}}</a>
  267.                 {% endif %}
  268.             </div>
  269. {% for message in app.flashes('notice') %}
  270.     <div class="flash-notice">
  271.         <i class="fas fa-paper-plane"></i>  {{ message }}
  272.     </div>
  273. {% endfor %}
  274.             <!-- SVS Form !-->
  275.             {% if uri2 == '' %}
  276.                 <form method="post">
  277.                     {{ form_start(formulaire) }}
  278.                     <!-- SVS Form input 1 !-->
  279.                     <div style="height:max-content">
  280.                         <div class="svsInput svsInputActive" id="svsInput_contact">
  281.                             <div class="lab">
  282.                                 {{ form_widget(formulaire.nomcomplet) }}
  283.                                 {{ form_widget(formulaire.phone) }}
  284.                             </div> 
  285.                             <div class="lab">
  286.                                 {{ form_widget(formulaire.activite) }}
  287.                                 {{ form_widget(formulaire.email) }}
  288.                             </div>
  289.                             <div class="lab">
  290.                                 {{ form_widget(formulaire.prestation) }}
  291.                                 {{ form_widget(formulaire.personne) }}
  292.                             </div>
  293.                             <div class="lab">
  294.                                 {{ form_widget(formulaire.message) }}
  295.                             </div>
  296.                         </div>
  297.                     </div>
  298.                     {{ form_end(formulaire) }}
  299.                 </form>
  300.             {% elseif uri2 == 'reclamation' %}
  301.                 <form method="post">
  302.                     {{ form_start(formulaire) }}
  303.                     <!-- SVS Form input 2 !-->
  304.                     <div style="height:max-content">
  305.                         <div class="svsInput svsInputActive" id="svsInput_contact">
  306.                             <div class="lab">
  307.                                 {{ form_widget(formulaire.nomcomplet) }}
  308.                                 {{ form_widget(formulaire.phone) }}
  309.                             </div> 
  310.                             <div class="lab">
  311.                                 {{ form_widget(formulaire.activite) }}
  312.                                 {{ form_widget(formulaire.email) }}
  313.                             </div>
  314.                             <div class="lab">
  315.                                 {{ form_widget(formulaire.objet) }}
  316.                                 {{ form_widget(formulaire.personne) }}
  317.                             </div>
  318.                             <div class="lab">
  319.                                 {{ form_widget(formulaire.message) }}
  320.                             </div>
  321.                         </div>
  322.                     </div>
  323.                     {{ form_end(formulaire) }}
  324.                 </form>
  325.             {% elseif uri2 == 'candidature' %}
  326.                 <form method="post">
  327.                     {{ form_start(formulaire) }}
  328.                     <!-- SVS Form input 3 !-->
  329.                     <div style="height:max-content">
  330.                         <div class="svsInput svsInputActive" id="svsInput_contact">
  331.                             <div class="lab">
  332.                                 {{ form_widget(formulaire.nomcomplet) }}
  333.                                 {{ form_widget(formulaire.phone) }}
  334.                             </div> 
  335.                             <div class="lab">
  336.                                 {{ form_widget(formulaire.niveau) }}
  337.                                 {{ form_widget(formulaire.email) }}
  338.                             </div>
  339.                             <div class="lab">
  340.                                 {{ form_widget(formulaire.taille) }}
  341.                                 {{ form_widget(formulaire.dob) }}
  342.                             </div>
  343.                             <div class="lab">
  344.                                 {{ form_widget(formulaire.message) }}
  345.                             </div>
  346.                         </div>
  347.                     </div>
  348.                     {{ form_end(formulaire) }}
  349.                 </form>
  350.             {% endif %}
  351.         </div>
  352.         <!-- SVS contact pic !-->
  353.         <div class="svs_contact_pic">
  354.             <ul>
  355.                 <li class="li1">Direction générale</li>
  356.                 <li>11 Chemin doudou mokhtar <br> Ben aknoun - Alger</li>
  357.                 <li class="li3"><i class="fas fa-phone"></i> 023 38 14 55</li>
  358.                 <li class="li3"><i class="fas fa-envelope-open"></i> contact@svs-dz.com</li>
  359.             </ul>
  360.             <ul>
  361.                 <li class="li1">Département RH</li>
  362.                 <li>Cité des travailleurs <br> Dar El Beida - Alger</li>
  363.                 <li class="li3"><i class="fas fa-phone"></i> 023 74 72 80</li>
  364.                 <li class="li3"><i class="fas fa-envelope-open"></i> drhsvs@svs-dz.com</li>
  365.             </ul>
  366.             <ul>
  367.                 <li class="li1">Bureau régional OUEST</li>
  368.                 <li>66 Logements LSP <br> Bir djir - Oran</li>
  369.                 <li class="li3"><i class="fas fa-phone"></i> 044 64 72 53</li>
  370.                 <li class="li3"><i class="fas fa-envelope-open"></i> coordinateurouestsvs@svs-dz.com</li>
  371.             </ul>
  372.             <ul>
  373.                 <li class="li1">Bureau régional EST</li>
  374.                 <li>Cité makam el chahid <br> Section3 - Setif</li>
  375.                 <li class="li3"><i class="fas fa-phone"></i> 036 61 05 75</li>
  376.                 <li class="li3"><i class="fas fa-envelope-open"></i> coordinateurestsvs@svs-dz.com</li>
  377.             </ul>
  378.         </div>
  379.     </div> <!-- end SVS contact content !-->
  380. </div><!-- SVS contact !-->
  381. {% if uri2 == '' %}
  382.     <script>
  383.     var typed_contact = new Typed('.typed_contact', {
  384.         strings: [  '{{"Nous sommes à votre écoute"|trans}},<br><span>{{"pour un devis, une candidature"|trans}} {{"ou nous contacter"|trans}}</span>',
  385.                 ],
  386.         typeSpeed: 15,
  387.         startDelay: 250,
  388.         backDelay: 2500,
  389.         loop: false,
  390.         cursorChar: '<i class="fas fa-circle"></i>',
  391.         onComplete: function() {
  392.             // Callback appelé lorsque la frappe est terminée
  393.             var cursor = document.querySelector('.typed-cursor i');
  394.             if (cursor) 
  395.             {
  396.                 cursor.setAttribute('style', 'font-size:21px!important;margin:0'); // Ajouter la classe pour la transition
  397.             }
  398.         },
  399.     });
  400.     </script>
  401. {% endif %}
  402. {% if uri2 == 'reclamation' %}
  403.     <script>
  404.     var typed_contact = new Typed('.typed_contact', {
  405.         strings: [  '{{"Nous sommes à votre écoute"|trans}},<br><span>{{"Envoyer votre réclamation"|trans}}</span>',
  406.                 ],
  407.         typeSpeed: 15,
  408.         startDelay: 250,
  409.         backDelay: 2500,
  410.         loop: false,
  411.         cursorChar: '<i class="fas fa-circle"></i>',
  412.         onComplete: function() {
  413.             // Callback appelé lorsque la frappe est terminée
  414.             var cursor = document.querySelector('.typed-cursor i');
  415.             if (cursor) 
  416.             {
  417.                 cursor.setAttribute('style', 'font-size:21px!important;margin:0'); // Ajouter la classe pour la transition
  418.             }
  419.         },
  420.     });
  421.     </script>
  422. {% endif %}
  423. {% if uri2 == 'candidature' %}
  424.     <script>
  425.     var typed_contact = new Typed('.typed_contact', {
  426.         strings: [  '{{"Nous sommes à votre écoute"|trans}},<br><span>{{"Déposer votre candidature"|trans}}</span>',
  427.                 ],
  428.         typeSpeed: 15,
  429.         startDelay: 250,
  430.         backDelay: 2500,
  431.         loop: false,
  432.         cursorChar: '<i class="fas fa-circle"></i>',
  433.         onComplete: function() {
  434.             // Callback appelé lorsque la frappe est terminée
  435.             var cursor = document.querySelector('.typed-cursor i');
  436.             if (cursor) 
  437.             {
  438.                 cursor.setAttribute('style', 'font-size:21px!important;margin:0'); // Ajouter la classe pour la transition
  439.             }
  440.         },
  441.     });
  442.     </script>
  443. {% endif %}
  444.     <script>
  445.         // Sélectionnez l'élément avec la classe "flash-notice"
  446.         var flashNotice = document.querySelector('.flash-notice');
  447.         // Vérifiez si l'élément existe
  448.         if (flashNotice) {
  449.             // Utilisez setTimeout pour masquer l'élément après 1 minute (60 000 millisecondes)
  450.             setTimeout(function() {
  451.                 flashNotice.setAttribute("style", "transform:translateY(-100%);transition:3s");
  452.             }, 3000); // 60 000 millisecondes équivalent à 1 minute
  453.         }
  454.     </script>
  455. {% endblock %}