templates/security/login.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="utf-8">
  5.     <title>Sign in | Flannery</title>
  6.     <link rel="icon" href="{{ asset('Images/close-button.eps.ico') }}" type="image/gif" sizes="32x32">
  7.     <meta name="author" content="LTS">
  8.     <meta name="description" content="Signin | Flannery">
  9.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  10.     <!--  custome & bootstrap css  -->
  11.     <link rel="stylesheet" href="{{ asset('css/style.css') }}">
  12.     <link rel="stylesheet" href="{{ asset('css/media.css') }}">
  13.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  14.     <link rel="stylesheet" href="{{ asset('css/w3.css')}}">
  15.     <link rel="stylesheet" href="https://jqueryvalidation.org/files/demo/css/cmxform.css">
  16.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  17.     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
  18.     <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/js/all.min.js" crossorigin="anonymous"></script>
  19.     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.js" crossorigin="anonymous"></script>
  20.     <style>
  21.         .cb-slideshow,
  22.         .cb-slideshow:after {
  23.             position: relative;
  24.             width: 100%;
  25.             height: 100%;
  26.             top: 0px;
  27.             left: 0px;
  28.             z-index: 0;
  29.         }
  30.         .cb-slideshow:after {
  31.             content: '';
  32.             background: transparent url(../images/pattern.png) repeat top left;
  33.         }
  34.         .cb-slideshow li span {
  35.             width: 100%;
  36.             height: 100%;
  37.             position: absolute;
  38.             top: 0px;
  39.             left: 0px;
  40.             color: transparent;
  41.             background-size: cover;
  42.             background-position: 50% 50%;
  43.             background-repeat: none;
  44.             opacity: 0;
  45.             z-index: 0;
  46.             animation: imageAnimation 36s linear infinite 0s;
  47.         }
  48.         .cb-slideshow li div {
  49.             z-index: 1000;
  50.             position: absolute;
  51.             bottom: 30px;
  52.             left: 0px;
  53.             width: 100%;
  54.             text-align: center;
  55.             opacity: 0;
  56.             color: #fff;
  57.             animation: titleAnimation 36s linear infinite 0s;
  58.         }
  59.         .cb-slideshow li div h3 {
  60.             font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;
  61.             font-size: 240px;
  62.             padding: 0;
  63.             line-height: 200px;
  64.         }
  65.         .cb-slideshow li:nth-child(1) span {
  66.             background-image: url({{ asset('Images/banner-img1.jpg') }});
  67.         }
  68.         .cb-slideshow li:nth-child(2) span {
  69.             background-image: url({{ asset('Images/banner-img2.jpg') }});
  70.             animation-delay: 6s;
  71.         }
  72.         .cb-slideshow li:nth-child(3) span {
  73.             background-image: url({{ asset('Images/banner-img3.jpg') }});
  74.             animation-delay: 12s;
  75.         }
  76.         .cb-slideshow li:nth-child(4) span {
  77.             background-image: url({{ asset('Images/banner-img1.jpg') }});
  78.             animation-delay: 18s;
  79.         }
  80.         .cb-slideshow li:nth-child(5) span {
  81.             background-image: url({{ asset('Images/banner-img2.jpg') }});
  82.             animation-delay: 24s;
  83.         }
  84.         .cb-slideshow li:nth-child(6) span {
  85.             background-image: url({{ asset('Images/banner-img3.jpg') }});
  86.             animation-delay: 30s;
  87.         }
  88.         .cb-slideshow li:nth-child(2) div {
  89.             animation-delay: 6s;
  90.         }
  91.         .cb-slideshow li:nth-child(3) div {
  92.             animation-delay: 12s;
  93.         }
  94.         .cb-slideshow li:nth-child(4) div {
  95.             animation-delay: 18s;
  96.         }
  97.         .cb-slideshow li:nth-child(5) div {
  98.             animation-delay: 24s;
  99.         }
  100.         .cb-slideshow li:nth-child(6) div {
  101.             animation-delay: 30s;
  102.         }
  103.         .no-cssanimations .cb-slideshow li span {
  104.             opacity: 1;
  105.         }
  106.         @keyframes imageAnimation {
  107.             0% {
  108.                 opacity: 0;
  109.                 animation-timing-function: ease-in;
  110.             }
  111.             8% {
  112.                 opacity: 1;
  113.                 animation-timing-function: ease-out;
  114.             }
  115.             17% {
  116.                 opacity: 1
  117.             }
  118.             25% {
  119.                 opacity: 0
  120.             }
  121.             100% {
  122.                 opacity: 0
  123.             }
  124.         }
  125.         .cus-slideshow {
  126.             list-style-type: none;
  127.             padding: 0px;
  128.         }
  129.         .login-wrapper {
  130.             display: flex;
  131.             height: 100vh;
  132.         }
  133.         .login-slider {
  134.             width: 70%;
  135.         }
  136.         .login-form {
  137.             width: 30%;
  138.             background: white;
  139.             display: flex;
  140.             justify-content: center;
  141.             align-items: center;
  142.             flex-direction: column;
  143.             position: relative;
  144.         }
  145.         /*    form styles    */
  146.         input[type=text],
  147.         input[type=password] {
  148.             width: 100%;
  149.             padding: 15px;
  150.             margin: 5px 0 22px 0;
  151.             display: inline-block;
  152.             border: none;
  153.             background: #f1f1f1;
  154.         }
  155.         input[type=text]:focus,
  156.         input[type=password]:focus {
  157.             background-color: #ddd;
  158.             outline: none;
  159.         }
  160.         .registerbtn {
  161.             background-color: #04AA6D;
  162.             color: white;
  163.             padding: 16px 20px;
  164.             margin: 8px 0;
  165.             border: none;
  166.             cursor: pointer;
  167.             width: 100%;
  168.             opacity: 0.9;
  169.         }
  170.         .registerbtn:hover {
  171.             opacity: 1;
  172.         }
  173.         a {
  174.             color: dodgerblue;
  175.         }
  176.         .signin {
  177.             background-color: #f1f1f1;
  178.             text-align: center;
  179.         }
  180.         .login-form-area {
  181.             width: 400px;
  182.         }
  183.         .forgot-password-txt {
  184.             text-align: right;
  185.             margin-bottom: 18px;
  186.         }
  187.         .lts {
  188.             position: absolute;
  189.             bottom: 0;
  190.         }
  191.         .lts p {
  192.             margin: 20px 0px;
  193.         }
  194.         .form-title {
  195.             margin-bottom: 28px;
  196.         }
  197.         .form-title h1 {
  198.             font-weight: 500;
  199.             margin: 0 0 3px 0;
  200.             color: #145994;
  201.             font-size: 30px;
  202.         }
  203.         .form-title p {
  204.             color: #00000061;
  205.         }
  206.         .loginbtn {
  207.             background-color: #0568bd;
  208.         }
  209.         .password-area {
  210.             margin-bottom: 10px !important;
  211.         }
  212.         .form-logos {
  213.             display: flex;
  214.             margin-bottom: 38px;
  215.             width: 100%;
  216.             justify-content: center;
  217.             border: 2px solid #00000014;
  218.         }
  219.         .form-logos img:not(:last-child) {
  220.             margin-right: 8px;
  221.         }
  222.         /*        media quries     */
  223.         /* ----------- iPad 1, 2, Mini and Air ----------- */
  224.         /* Portrait and Landscape */
  225.         @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
  226.             .login-form {
  227.                 width: 100% !important;
  228.             }
  229.             .login-slider {
  230.                 display: none;
  231.             }
  232.         }
  233.         /* ----------- Non-Retina Screens ----------- */
  234.         @media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) {
  235.             .login-slider {
  236.                 width: 60%;
  237.             }
  238.             .login-form {
  239.                 width: 40%;
  240.             }
  241.             .login-form-area {
  242.                 width: 322px !important;
  243.             }
  244.         }
  245.         /* ----------- Retina Screens ----------- */
  246.         @media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) {
  247.             .login-slider {
  248.                 width: 60%;
  249.             }
  250.             .login-form {
  251.                 width: 40%;
  252.             }
  253.             .login-form-area {
  254.                 width: 322px !important;
  255.             }
  256.         }
  257.         /*        device width 1200px custom     */
  258.         @media (max-width: 1200px) {
  259.             .login-slider {
  260.                 width: 60%;
  261.             }
  262.             .login-form {
  263.                 width: 40%;
  264.             }
  265.             .login-form-area {
  266.                 width: 380px !important;
  267.             }
  268.         }
  269.         /* ----------- iPhone 6, 6S, 7 and 8 ----------- */
  270.         /* Portrait and Landscape */
  271.         @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2) {
  272.             .login-form {
  273.                 width: 100% !important;
  274.             }
  275.             .login-slider {
  276.                 display: none;
  277.             }
  278.             .login-form-area {
  279.                 width: 322px !important;
  280.             }
  281.         }
  282.         /* ----------- iPhone 6+, 7+ and 8+ ----------- */
  283.         /* Portrait and Landscape */
  284.         @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3) {
  285.             .login-form {
  286.                 width: 100% !important;
  287.             }
  288.             .login-slider {
  289.                 display: none;
  290.             }
  291.             .login-form-area {
  292.                 width: 322px !important;
  293.             }
  294.         }
  295.         /* ----------- iPhone X ----------- */
  296.         /* Portrait and Landscape */
  297.         @media only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) {
  298.             .login-form {
  299.                 width: 100% !important;
  300.             }
  301.             .login-slider {
  302.                 display: none;
  303.             }
  304.             .login-form-area {
  305.                 width: 322px !important;
  306.             }
  307.         }
  308.         .password-field {
  309.             position: relative;
  310.             margin-top: 15px;
  311.         }
  312.         .field-icon {
  313.             position: absolute;
  314.             top: 52px;
  315.             right: 19px;
  316.         }
  317.     </style>
  318. </head>
  319. <body>
  320.     <!--                       -->
  321.     <!--       login page      -->
  322.     <!--                       -->
  323.     <div class="login-wrapper">
  324.         <!--                         -->
  325.         <!--       login slider      -->
  326.         <!--                         -->
  327.         <div class="login-slider">
  328.             <ul class="cb-slideshow cus-slideshow">
  329.                 <li> <span>Image 01</span> </li>
  330.                 <li> <span>Image 02</span> </li>
  331.                 <li> <span>Image 03</span> </li>
  332.                 <li> <span>Image 04</span> </li>
  333.                 <li> <span>Image 05</span> </li>
  334.                 <li> <span>Image 06</span> </li>
  335.             </ul>
  336.         </div>
  337.         <!--                       -->
  338.         <!--       login form      -->
  339.         <!--                       -->
  340.         <div class="login-form">
  341.             <form  method="post" action="{{path('app_login')}}" id="signin-form" class="login-form-area">
  342.                 <div class="cus-container">
  343.                     <div class="form-logos"> <img src="{{ asset('Images/flannery-logo.png') }}" class="login-imgs"> </div>
  344.                     <div class="form-title">
  345.                         <h1>Welcome,</h1>
  346.                         <p>Sign in to your account</p>
  347.                     </div>
  348.                     <label for="email"><b>{{ 'Email'|trans }}</b></label>
  349.                     <input type="text" placeholder="Enter {{ 'Email'|trans }}" name="email" id="inputEmail" required>
  350.                     <div class="password-field">
  351.                         <label for="psw"><b>{{ 'Password'|trans }}</b></label>
  352.                         <input class="password-area" type="password" id="inputPassword" placeholder="Enter {{ 'Password'|trans }}" name="password" required> <span toggle="#inputPassword" class="fa fa-fw fa-eye field-icon toggle-password"></span>
  353.                     </div>
  354.                     <p class="forgot-password-txt"><a href="/reset-password">Forgot Password?</a></p>
  355.                     <button type="submit" class="registerbtn loginbtn">Login</button>
  356.                 </div>
  357.                     {% if error %}
  358.                             <div class="text-center">
  359.                                 <label id="inputEmail-error" class="error" style="font-weight: 100 !important; margin-bottom: 0px !important; font-size: 14px;">Invalid login or password.</label>
  360.                             </div>
  361.                                 {% endif %}
  362.                 <input type="hidden" name="_csrf_token"
  363.                value="{{ csrf_token('authenticate') }}"
  364.                >
  365.             </form>
  366.             <div class="lts">
  367.                 <p>Powered by <a href="https://www.leantransitionsolutions.com">Lean Transition Solutions</a>.
  368.                 <a href="https://www.leantransitionsolutions.com/"> <img src="/assets/Images/lts_logo-new-footer.png?ver=3.1" height="20"> </a>
  369.                 </p>
  370.             </div>
  371.         </div>
  372.     </div>
  373.     <script type="text/javascript">
  374.     $("#signin-form").validate();
  375.         $( document ).ready(function() {
  376.            $( document ).on('click', '.toggle-password',function() {
  377.                 $(this).toggleClass("fa-eye fa-eye-slash");
  378.                 var input = $($(this).attr("toggle"));
  379.                 if (input.attr("type") == "password") {
  380.                     input.attr("type", "text");
  381.                 } else {
  382.                     input.attr("type", "password");
  383.                 }
  384.             });
  385.             
  386.         });
  387.     </script>
  388. </body>
  389. </html>