├── .idea ├── .gitignore ├── vcs.xml ├── misc.xml ├── modules.xml ├── public.iml └── runConfigurations.xml ├── .firebaserc ├── public ├── assets │ ├── img │ │ ├── adv.png │ │ ├── logo.png │ │ ├── play.png │ │ ├── sa.png │ │ ├── about.jpg │ │ ├── ajmal.png │ │ ├── pause.png │ │ ├── favicon.png │ │ ├── features.png │ │ ├── footer-bg.png │ │ ├── hero-bg.png │ │ ├── hero-img.png │ │ ├── values-1.png │ │ ├── values-2.png │ │ ├── values-3.png │ │ ├── features-2.png │ │ ├── features-3.png │ │ ├── pricing-free.png │ │ ├── team │ │ │ └── team-4.jpeg │ │ ├── apple-touch-icon.png │ │ ├── clients │ │ │ ├── client-1.png │ │ │ ├── client-2.png │ │ │ ├── client-3.png │ │ │ └── client-8.png │ │ ├── pricing-business.png │ │ ├── pricing-starter.png │ │ ├── pricing-ultimate.png │ │ ├── webtechsolutions.mp3 │ │ ├── portfolio │ │ │ ├── portfolio-2.jpg │ │ │ ├── portfolio-3.jpg │ │ │ ├── portfolio-5.jpg │ │ │ └── Screenshot 2021-07-16 105933.jpg │ │ ├── team-shape.svg │ │ └── hero-img.svg │ ├── vendor │ │ ├── remixicon │ │ │ ├── remixicon.eot │ │ │ ├── remixicon.ttf │ │ │ ├── remixicon.woff │ │ │ └── remixicon.woff2 │ │ ├── bootstrap-icons │ │ │ └── fonts │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ └── bootstrap-icons.woff2 │ │ ├── php-email-form │ │ │ └── validate.js │ │ ├── purecounter │ │ │ └── purecounter.js │ │ ├── bootstrap │ │ │ └── css │ │ │ │ ├── bootstrap-reboot.min.css │ │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ │ └── bootstrap-reboot.css │ │ ├── glightbox │ │ │ └── css │ │ │ │ └── glightbox.min.css │ │ ├── swiper │ │ │ └── swiper-bundle.min.css │ │ └── aos │ │ │ └── aos.js │ ├── js │ │ ├── login.js │ │ ├── cart.js │ │ └── main.js │ └── css │ │ ├── cart.css │ │ ├── pay.css │ │ └── login.css ├── forms │ ├── Readme.txt │ └── contact.php ├── forgetpassword.html ├── login.html ├── ajmalprotfolio.html ├── samruthistores.html ├── aniladvocate.html ├── demo.html ├── fillform.html └── form.html ├── firebase.json └── .gitignore /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "web-tech-solutions" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /public/assets/img/adv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/adv.png -------------------------------------------------------------------------------- /public/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/logo.png -------------------------------------------------------------------------------- /public/assets/img/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/play.png -------------------------------------------------------------------------------- /public/assets/img/sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/sa.png -------------------------------------------------------------------------------- /public/assets/img/about.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/about.jpg -------------------------------------------------------------------------------- /public/assets/img/ajmal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/ajmal.png -------------------------------------------------------------------------------- /public/assets/img/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/pause.png -------------------------------------------------------------------------------- /public/assets/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/favicon.png -------------------------------------------------------------------------------- /public/assets/img/features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/features.png -------------------------------------------------------------------------------- /public/assets/img/footer-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/footer-bg.png -------------------------------------------------------------------------------- /public/assets/img/hero-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/hero-bg.png -------------------------------------------------------------------------------- /public/assets/img/hero-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/hero-img.png -------------------------------------------------------------------------------- /public/assets/img/values-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/values-1.png -------------------------------------------------------------------------------- /public/assets/img/values-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/values-2.png -------------------------------------------------------------------------------- /public/assets/img/values-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/values-3.png -------------------------------------------------------------------------------- /public/assets/img/features-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/features-2.png -------------------------------------------------------------------------------- /public/assets/img/features-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/features-3.png -------------------------------------------------------------------------------- /public/assets/img/pricing-free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/pricing-free.png -------------------------------------------------------------------------------- /public/assets/img/team/team-4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/team/team-4.jpeg -------------------------------------------------------------------------------- /public/assets/img/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/apple-touch-icon.png -------------------------------------------------------------------------------- /public/assets/img/clients/client-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/clients/client-1.png -------------------------------------------------------------------------------- /public/assets/img/clients/client-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/clients/client-2.png -------------------------------------------------------------------------------- /public/assets/img/clients/client-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/clients/client-3.png -------------------------------------------------------------------------------- /public/assets/img/clients/client-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/clients/client-8.png -------------------------------------------------------------------------------- /public/assets/img/pricing-business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/pricing-business.png -------------------------------------------------------------------------------- /public/assets/img/pricing-starter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/pricing-starter.png -------------------------------------------------------------------------------- /public/assets/img/pricing-ultimate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/pricing-ultimate.png -------------------------------------------------------------------------------- /public/assets/img/webtechsolutions.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/webtechsolutions.mp3 -------------------------------------------------------------------------------- /public/assets/img/portfolio/portfolio-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/portfolio/portfolio-2.jpg -------------------------------------------------------------------------------- /public/assets/img/portfolio/portfolio-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/portfolio/portfolio-3.jpg -------------------------------------------------------------------------------- /public/assets/img/portfolio/portfolio-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/portfolio/portfolio-5.jpg -------------------------------------------------------------------------------- /public/assets/vendor/remixicon/remixicon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/vendor/remixicon/remixicon.eot -------------------------------------------------------------------------------- /public/assets/vendor/remixicon/remixicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/vendor/remixicon/remixicon.ttf -------------------------------------------------------------------------------- /public/assets/vendor/remixicon/remixicon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/vendor/remixicon/remixicon.woff -------------------------------------------------------------------------------- /public/assets/vendor/remixicon/remixicon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/vendor/remixicon/remixicon.woff2 -------------------------------------------------------------------------------- /public/assets/img/portfolio/Screenshot 2021-07-16 105933.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/img/portfolio/Screenshot 2021-07-16 105933.jpg -------------------------------------------------------------------------------- /public/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /public/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/web_tech_solutions/HEAD/public/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/forms/Readme.txt: -------------------------------------------------------------------------------- 1 | Fully working PHP/AJAX contact form script is available in the pro version of the template. 2 | You can buy it from: https://bootstrapmade.com/flexstart-bootstrap-startup-template/ 3 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "hosting": { 3 | "public": "public", 4 | "ignore": [ 5 | "firebase.json", 6 | "**/.*", 7 | "**/node_modules/**" 8 | ], 9 | "rewrites": [ 10 | { 11 | "source": "**", 12 | "destination": "/index.html" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.idea/public.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /public/assets/js/login.js: -------------------------------------------------------------------------------- 1 | const signUpButton = document.getElementById('signUp'); 2 | const signInButton = document.getElementById('signIn'); 3 | const container = document.getElementById('container'); 4 | 5 | signUpButton.addEventListener('click', () => { 6 | container.classList.add("right-panel-active"); 7 | }); 8 | 9 | signInButton.addEventListener('click', () => { 10 | container.classList.remove("right-panel-active"); 11 | }); -------------------------------------------------------------------------------- /public/assets/img/team-shape.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/assets/css/cart.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 80px; 3 | } 4 | 5 | .show-cart li { 6 | display: flex; 7 | } 8 | .card { 9 | margin-bottom: 20px; 10 | } 11 | .card-img-top { 12 | width: 200px; 13 | height: 200px; 14 | align-self: center; 15 | } 16 | 17 | .badge { 18 | padding-left: 9px; 19 | padding-right: 9px; 20 | -webkit-border-radius: 9px; 21 | -moz-border-radius: 9px; 22 | border-radius: 9px; 23 | } 24 | 25 | .label-warning[href], 26 | .badge-warning[href] { 27 | background-color: #c67605; 28 | } 29 | #lblCartCount { 30 | font-size: 12px; 31 | background: #ff0000; 32 | color: #fff; 33 | /* padding: 0 5px; */ 34 | vertical-align: top; 35 | /* margin-left: -10px; */ 36 | } 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | firebase-debug.log* 8 | firebase-debug.*.log* 9 | 10 | # Firebase cache 11 | .firebase/ 12 | 13 | # Firebase config 14 | 15 | # Uncomment this if you'd like others to create their own Firebase project. 16 | # For a team working on the same Firebase project(s), it is recommended to leave 17 | # it commented so all members can deploy to the same project(s) in .firebaserc. 18 | # .firebaserc 19 | 20 | # Runtime data 21 | pids 22 | *.pid 23 | *.seed 24 | *.pid.lock 25 | 26 | # Directory for instrumented libs generated by jscoverage/JSCover 27 | lib-cov 28 | 29 | # Coverage directory used by tools like istanbul 30 | coverage 31 | 32 | # nyc test coverage 33 | .nyc_output 34 | 35 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 36 | .grunt 37 | 38 | # Bower dependency directory (https://bower.io/) 39 | bower_components 40 | 41 | # node-waf configuration 42 | .lock-wscript 43 | 44 | # Compiled binary addons (http://nodejs.org/api/addons.html) 45 | build/Release 46 | 47 | # Dependency directories 48 | node_modules/ 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Optional REPL history 57 | .node_repl_history 58 | 59 | # Output of 'npm pack' 60 | *.tgz 61 | 62 | # Yarn Integrity file 63 | .yarn-integrity 64 | 65 | # dotenv environment variables file 66 | .env 67 | -------------------------------------------------------------------------------- /public/forms/contact.php: -------------------------------------------------------------------------------- 1 | ajax = true; 20 | 21 | $contact->to = $receiving_email_address; 22 | $contact->from_name = $_POST['name']; 23 | $contact->from_email = $_POST['email']; 24 | $contact->subject = $_POST['subject']; 25 | 26 | // Uncomment below code if you want to use SMTP to send emails. You need to enter your correct SMTP credentials 27 | /* 28 | $contact->smtp = array( 29 | 'host' => 'example.com', 30 | 'username' => 'example', 31 | 'password' => 'pass', 32 | 'port' => '587' 33 | ); 34 | */ 35 | 36 | $contact->add_message( $_POST['name'], 'From'); 37 | $contact->add_message( $_POST['email'], 'Email'); 38 | $contact->add_message( $_POST['message'], 'Message', 10); 39 | 40 | echo $contact->send(); 41 | ?> 42 | -------------------------------------------------------------------------------- /public/assets/vendor/php-email-form/validate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * PHP Email Form Validation - v3.1 3 | * URL: https://bootstrapmade.com/php-email-form/ 4 | * Author: BootstrapMade.com 5 | */ 6 | (function () { 7 | "use strict"; 8 | 9 | let forms = document.querySelectorAll('.php-email-form'); 10 | 11 | forms.forEach( function(e) { 12 | e.addEventListener('submit', function(event) { 13 | event.preventDefault(); 14 | 15 | let thisForm = this; 16 | 17 | let action = thisForm.getAttribute('action'); 18 | let recaptcha = thisForm.getAttribute('data-recaptcha-site-key'); 19 | 20 | if( ! action ) { 21 | displayError(thisForm, 'The form action property is not set!') 22 | return; 23 | } 24 | thisForm.querySelector('.loading').classList.add('d-block'); 25 | thisForm.querySelector('.error-message').classList.remove('d-block'); 26 | thisForm.querySelector('.sent-message').classList.remove('d-block'); 27 | 28 | let formData = new FormData( thisForm ); 29 | 30 | if ( recaptcha ) { 31 | if(typeof grecaptcha !== "undefined" ) { 32 | grecaptcha.ready(function() { 33 | try { 34 | grecaptcha.execute(recaptcha, {action: 'php_email_form_submit'}) 35 | .then(token => { 36 | formData.set('recaptcha-response', token); 37 | php_email_form_submit(thisForm, action, formData); 38 | }) 39 | } catch(error) { 40 | displayError(thisForm, "Your message has been sent. Thank you!") 41 | } 42 | }); 43 | } else { 44 | displayError(thisForm, 'The reCaptcha javascript API url is not loaded!') 45 | } 46 | } else { 47 | php_email_form_submit(thisForm, action, formData); 48 | } 49 | }); 50 | }); 51 | 52 | function php_email_form_submit(thisForm, action, formData) { 53 | fetch(action, { 54 | method: 'POST', 55 | body: formData, 56 | headers: {'X-Requested-With': 'XMLHttpRequest'} 57 | }) 58 | .then(response => { 59 | if( response.ok ) { 60 | return response.text() 61 | } else { 62 | throw new Error(`${response.status} ${response.statusText} ${response.url}`); 63 | } 64 | }) 65 | .then(data => { 66 | thisForm.querySelector('.loading').classList.remove('d-block'); 67 | if (data.trim() == 'OK') { 68 | thisForm.querySelector('.sent-message').classList.add('d-block'); 69 | thisForm.reset(); 70 | } else { 71 | throw new Error(data ? data : 'Form submission failed and no error message returned from: ' + action); 72 | } 73 | }) 74 | .catch((error) => { 75 | displayError(thisForm, error); 76 | }); 77 | } 78 | 79 | function displayError(thisForm, error) { 80 | thisForm.querySelector('.loading').classList.remove('d-block'); 81 | thisForm.querySelector('.error-message').innerHTML = "Failed. Try again after some time!"; 82 | thisForm.querySelector('.error-message').classList.add('d-block'); 83 | } 84 | 85 | })(); 86 | -------------------------------------------------------------------------------- /public/assets/css/pay.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Arial; 3 | font-size: 17px; 4 | padding: 8px; 5 | } 6 | 7 | * { 8 | box-sizing: border-box; 9 | } 10 | 11 | .p-2 { 12 | padding: .5rem !important; 13 | } 14 | 15 | .row { 16 | display: -ms-flexbox; 17 | /* IE10 */ 18 | display: flex; 19 | -ms-flex-wrap: wrap; 20 | /* IE10 */ 21 | flex-wrap: wrap; 22 | margin: 0 -16px; 23 | } 24 | 25 | .col-25 { 26 | -ms-flex: 25%; 27 | /* IE10 */ 28 | flex: 25%; 29 | } 30 | 31 | .col-50 { 32 | -ms-flex: 50%; 33 | /* IE10 */ 34 | flex: 50%; 35 | } 36 | 37 | .col-75 { 38 | -ms-flex: 75%; 39 | /* IE10 */ 40 | flex: 75%; 41 | } 42 | 43 | .col-25, 44 | .col-50, 45 | .col-75 { 46 | padding: 0 16px; 47 | } 48 | 49 | .container1 { 50 | background-color: #f2f2f2; 51 | padding: 5px 20px 15px 20px; 52 | border: 1px solid lightgrey; 53 | border-radius: 3px; 54 | } 55 | 56 | input[type=text] { 57 | width: 100%; 58 | margin-bottom: 20px; 59 | padding: 12px; 60 | border: 1px solid #ccc; 61 | border-radius: 3px; 62 | } 63 | 64 | input[type=time] { 65 | width: 100%; 66 | margin-bottom: 20px; 67 | padding: 12px; 68 | border: 1px solid #ccc; 69 | border-radius: 3px; 70 | } 71 | 72 | input[type=date] { 73 | width: 100%; 74 | margin-bottom: 20px; 75 | padding: 12px; 76 | border: 1px solid #ccc; 77 | border-radius: 3px; 78 | } 79 | 80 | select{ 81 | width: 100%; 82 | margin-bottom: 20px; 83 | padding: 12px; 84 | border: 1px solid #ccc; 85 | border-radius: 3px; 86 | } 87 | 88 | textarea { 89 | width: 100%; 90 | margin-bottom: 20px; 91 | padding: 53px; 92 | border: 1px solid #ccc; 93 | border-radius: 3px; 94 | } 95 | 96 | input[type=email] { 97 | width: 100%; 98 | margin-bottom: 20px; 99 | padding: 12px; 100 | border: 1px solid #ccc; 101 | border-radius: 3px; 102 | } 103 | 104 | label { 105 | margin-bottom: 10px; 106 | display: block; 107 | } 108 | 109 | .icon-container { 110 | margin-bottom: 20px; 111 | padding: 7px 0; 112 | font-size: 24px; 113 | } 114 | 115 | .btn { 116 | background-color: #04AA6D; 117 | color: white; 118 | padding: 12px; 119 | margin: 10px 0; 120 | border: none; 121 | width: 100%; 122 | border-radius: 3px; 123 | cursor: pointer; 124 | font-size: 17px; 125 | } 126 | 127 | .btn:hover { 128 | background-color: #45a049; 129 | } 130 | 131 | a { 132 | color: #2196F3; 133 | } 134 | 135 | hr { 136 | border: 1px solid lightgrey; 137 | } 138 | 139 | span.price { 140 | float: right; 141 | color: grey; 142 | } 143 | 144 | /* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other (also change the direction - make the "cart" column go on top) */ 145 | @media (max-width: 800px) { 146 | .row { 147 | flex-direction: column-reverse; 148 | } 149 | 150 | .col-25 { 151 | margin-bottom: 20px; 152 | } 153 | } 154 | 155 | .input-group { 156 | position: relative; 157 | display: flex; 158 | flex-wrap: wrap; 159 | align-items: stretch; 160 | width: 100%; 161 | } 162 | 163 | .input-group.form-control, 164 | .input-group.form-select { 165 | position: relative; 166 | flex: 1 1 auto; 167 | width: 1%; 168 | min-width: 0; 169 | } 170 | 171 | .card { 172 | position: relative; 173 | display: flex; 174 | flex-direction: column; 175 | min-width: 0; 176 | word-wrap: break-word; 177 | background-color: #fff; 178 | background-clip: border-box; 179 | border: 1px solid rgba(0, 0, 0, .125); 180 | border-radius: .25rem; 181 | } -------------------------------------------------------------------------------- /public/assets/vendor/purecounter/purecounter.js: -------------------------------------------------------------------------------- 1 | !function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=2)}([,,function(e,t,n){e.exports=n(3)},function(e,t,n){"use strict";function r(e,t){for(var n=0;nr.end?r.end:r.start:void setTimeout(function(){return void 0!==e.target?n.startCounter(e.target,r):n.startCounter(e,r)},r.delay)})}},{key:"startCounter",value:function(e,t){var n=this,r=(t.end-t.start)/(t.duration/t.delay),a="inc";t.start>t.end&&(a="dec",r*=-1),r<1&&t.decimals<=0&&(r=1);var i=t.decimals<=0?parseInt(t.start):parseFloat(t.start).toFixed(t.decimals);e.innerHTML=i,!0===t.once&&e.setAttribute("data-purecounter-duration",0);var o=setInterval(function(){var s=n.nextNumber(i,r,t,a);e.innerHTML=n.formatNumber(s,t),((i=s)>=t.end&&"inc"==a||i<=t.end&&"dec"==a)&&(clearInterval(o),i!=t.end&&(e.innerHTML=t.decimals<=0?parseInt(t.end):parseFloat(t.end).toFixed(t.decimals)))},t.delay)}},{key:"parseConfig",value:function(e){for(var t=[].filter.call(e.attributes,function(e){return/^data-purecounter-/.test(e.name)}),n={start:0,end:9001,duration:2e3,delay:10,once:!0,decimals:0,legacy:!0},r=0;r=window.pageYOffset&&n>=window.pageXOffset&&t+a<=window.pageYOffset+window.innerHeight&&n+r<=window.pageXOffset+window.innerWidth}},{key:"intersectionListenerSupported",value:function(){return"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype}}])&&r(t.prototype,n),a&&r(t,a),e}())}]); -------------------------------------------------------------------------------- /public/assets/vendor/bootstrap/css/bootstrap-reboot.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */ -------------------------------------------------------------------------------- /public/assets/vendor/bootstrap/css/bootstrap-reboot.rtl.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */ -------------------------------------------------------------------------------- /public/forgetpassword.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Web Tech Solutions 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 44 | 70 | 71 | 72 | 73 | 74 | 89 |



90 | 91 | 92 |
93 |
94 |
95 |
96 |

Forget Password

97 | 98 | 99 | Sign In 100 |
101 |
102 | 103 |
104 | 105 | 106 | 107 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /public/assets/css/login.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=Montserrat:400,800"); 2 | 3 | * { 4 | box-sizing: border-box; 5 | } 6 | 7 | body { 8 | background: #f6f5f7; 9 | display: flex; 10 | justify-content: center; 11 | align-items: center; 12 | flex-direction: column; 13 | font-family: "Montserrat", sans-serif; 14 | height: 100vh; 15 | margin: -20px 0 50px; 16 | } 17 | 18 | h1 { 19 | font-weight: bold; 20 | margin: 0; 21 | } 22 | 23 | h2 { 24 | text-align: center; 25 | } 26 | 27 | p { 28 | font-size: 14px; 29 | font-weight: 100; 30 | line-height: 20px; 31 | letter-spacing: 0.5px; 32 | margin: 20px 0 30px; 33 | } 34 | 35 | span { 36 | font-size: 12px; 37 | } 38 | 39 | a { 40 | color: #333; 41 | font-size: 14px; 42 | text-decoration: none; 43 | margin: 15px 0; 44 | } 45 | 46 | button { 47 | border-radius: 20px; 48 | border: 1px solid #2b80ff; 49 | background-color: #2b80ff; 50 | color: #ffffff; 51 | font-size: 12px; 52 | font-weight: bold; 53 | padding: 12px 45px; 54 | letter-spacing: 1px; 55 | text-transform: uppercase; 56 | transition: transform 80ms ease-in; 57 | } 58 | 59 | button:active { 60 | transform: scale(0.95); 61 | } 62 | 63 | button:focus { 64 | outline: none; 65 | } 66 | 67 | button.ghost { 68 | background-color: transparent; 69 | border-color: #ffffff; 70 | } 71 | 72 | form { 73 | background-color: #ffffff; 74 | display: flex; 75 | align-items: center; 76 | justify-content: center; 77 | flex-direction: column; 78 | padding: 0 50px; 79 | height: 100%; 80 | text-align: center; 81 | } 82 | 83 | input { 84 | background-color: #eee; 85 | border: none; 86 | padding: 12px 15px; 87 | margin: 8px 0; 88 | width: 100%; 89 | } 90 | 91 | .container { 92 | background-color: #fff; 93 | border-radius: 10px; 94 | box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); 95 | position: relative; 96 | overflow: hidden; 97 | width: 768px; 98 | max-width: 100%; 99 | min-height: 480px; 100 | } 101 | 102 | .form-container { 103 | position: absolute; 104 | top: 0; 105 | height: 100%; 106 | transition: all 0.6s ease-in-out; 107 | } 108 | 109 | .sign-in-container { 110 | left: 0; 111 | width: 50%; 112 | z-index: 2; 113 | } 114 | 115 | .container.right-panel-active .sign-in-container { 116 | transform: translateX(100%); 117 | } 118 | 119 | .sign-up-container { 120 | left: 0; 121 | width: 50%; 122 | opacity: 0; 123 | z-index: 1; 124 | } 125 | 126 | .container.right-panel-active .sign-up-container { 127 | transform: translateX(100%); 128 | opacity: 1; 129 | z-index: 5; 130 | animation: show 0.6s; 131 | } 132 | 133 | @keyframes show { 134 | 0%, 135 | 49.99% { 136 | opacity: 0; 137 | z-index: 1; 138 | } 139 | 140 | 50%, 141 | 100% { 142 | opacity: 1; 143 | z-index: 5; 144 | } 145 | } 146 | 147 | .overlay-container { 148 | position: absolute; 149 | top: 0; 150 | left: 50%; 151 | width: 50%; 152 | height: 100%; 153 | overflow: hidden; 154 | transition: transform 0.6s ease-in-out; 155 | z-index: 100; 156 | } 157 | 158 | .container.right-panel-active .overlay-container { 159 | transform: translateX(-100%); 160 | } 161 | 162 | .overlay { 163 | background: #5e41ff; 164 | background: -webkit-linear-gradient(to right, #2b64ff, #2b80ff); 165 | background: linear-gradient(to right, #2b80ff, #2b80ff); 166 | background-repeat: no-repeat; 167 | background-size: cover; 168 | background-position: 0 0; 169 | color: #ffffff; 170 | position: relative; 171 | left: -100%; 172 | height: 100%; 173 | width: 200%; 174 | transform: translateX(0); 175 | transition: transform 0.6s ease-in-out; 176 | } 177 | 178 | .container.right-panel-active .overlay { 179 | transform: translateX(50%); 180 | } 181 | 182 | .overlay-panel { 183 | position: absolute; 184 | display: flex; 185 | align-items: center; 186 | justify-content: center; 187 | flex-direction: column; 188 | padding: 0 40px; 189 | text-align: center; 190 | top: 0; 191 | height: 100%; 192 | width: 50%; 193 | transform: translateX(0); 194 | transition: transform 0.6s ease-in-out; 195 | } 196 | 197 | .overlay-left { 198 | transform: translateX(-20%); 199 | } 200 | 201 | .container.right-panel-active .overlay-left { 202 | transform: translateX(0); 203 | } 204 | 205 | .overlay-right { 206 | right: 0; 207 | transform: translateX(0); 208 | } 209 | 210 | .container.right-panel-active .overlay-right { 211 | transform: translateX(20%); 212 | } 213 | 214 | .social-container { 215 | margin: 20px 0; 216 | } 217 | 218 | .social-container a { 219 | border: 1px solid #dddddd; 220 | border-radius: 50%; 221 | display: inline-flex; 222 | justify-content: center; 223 | align-items: center; 224 | margin: 0 5px; 225 | height: 40px; 226 | width: 40px; 227 | } 228 | 229 | footer { 230 | background-color: #222; 231 | color: #fff; 232 | font-size: 14px; 233 | bottom: 0; 234 | position: fixed; 235 | left: 0; 236 | right: 0; 237 | text-align: center; 238 | z-index: 999; 239 | } 240 | 241 | footer p { 242 | margin: 10px 0; 243 | } 244 | 245 | footer i { 246 | color: rgb(0, 102, 255); 247 | } 248 | 249 | footer a { 250 | color: #3c97bf; 251 | text-decoration: none; 252 | } 253 | -------------------------------------------------------------------------------- /public/assets/js/cart.js: -------------------------------------------------------------------------------- 1 | // ************************************************ 2 | // Shopping Cart API 3 | // ************************************************ 4 | 5 | var shoppingCart = (function () { 6 | // ============================= 7 | // Private methods and propeties 8 | // ============================= 9 | cart = []; 10 | 11 | // Constructor 12 | function Item(name, price, count) { 13 | this.name = name; 14 | this.price = price; 15 | this.count = count; 16 | } 17 | 18 | // Save cart 19 | function saveCart() { 20 | sessionStorage.setItem("shoppingCart", JSON.stringify(cart)); 21 | } 22 | 23 | // Load cart 24 | function loadCart() { 25 | cart = JSON.parse(sessionStorage.getItem("shoppingCart")); 26 | } 27 | if (sessionStorage.getItem("shoppingCart") != null) { 28 | loadCart(); 29 | } 30 | 31 | // ============================= 32 | // Public methods and propeties 33 | // ============================= 34 | var obj = {}; 35 | 36 | // Add to cart 37 | obj.addItemToCart = function (name, price, count) { 38 | for (var item in cart) { 39 | if (cart[item].name === name) { 40 | cart[item].count++; 41 | saveCart(); 42 | return; 43 | } 44 | } 45 | var item = new Item(name, price, count); 46 | cart.push(item); 47 | saveCart(); 48 | }; 49 | // Set count from item 50 | obj.setCountForItem = function (name, count) { 51 | for (var i in cart) { 52 | if (cart[i].name === name) { 53 | cart[i].count = count; 54 | break; 55 | } 56 | } 57 | }; 58 | // Remove item from cart 59 | obj.removeItemFromCart = function (name) { 60 | for (var item in cart) { 61 | if (cart[item].name === name) { 62 | cart[item].count--; 63 | if (cart[item].count === 0) { 64 | cart.splice(item, 1); 65 | } 66 | break; 67 | } 68 | } 69 | saveCart(); 70 | }; 71 | 72 | // Remove all items from cart 73 | obj.removeItemFromCartAll = function (name) { 74 | for (var item in cart) { 75 | if (cart[item].name === name) { 76 | cart.splice(item, 1); 77 | break; 78 | } 79 | } 80 | saveCart(); 81 | }; 82 | 83 | // Clear cart 84 | obj.clearCart = function () { 85 | cart = []; 86 | saveCart(); 87 | }; 88 | 89 | // Count cart 90 | obj.totalCount = function () { 91 | var totalCount = 0; 92 | for (var item in cart) { 93 | totalCount += cart[item].count; 94 | } 95 | return totalCount; 96 | }; 97 | 98 | // Total cart 99 | obj.totalCart = function () { 100 | var totalCart = 0; 101 | for (var item in cart) { 102 | totalCart += cart[item].price * cart[item].count; 103 | } 104 | return Number(totalCart.toFixed(2)); 105 | }; 106 | 107 | // List cart 108 | obj.listCart = function () { 109 | var cartCopy = []; 110 | for (i in cart) { 111 | item = cart[i]; 112 | itemCopy = {}; 113 | for (p in item) { 114 | itemCopy[p] = item[p]; 115 | } 116 | itemCopy.total = Number(item.price * item.count).toFixed(2); 117 | cartCopy.push(itemCopy); 118 | } 119 | return cartCopy; 120 | }; 121 | 122 | // cart : Array 123 | // Item : Object/Class 124 | // addItemToCart : Function 125 | // removeItemFromCart : Function 126 | // removeItemFromCartAll : Function 127 | // clearCart : Function 128 | // countCart : Function 129 | // totalCart : Function 130 | // listCart : Function 131 | // saveCart : Function 132 | // loadCart : Function 133 | return obj; 134 | })(); 135 | 136 | // ***************************************** 137 | // Triggers / Events 138 | // ***************************************** 139 | // Add item 140 | $(".add-to-cart").click(function (event) { 141 | event.preventDefault(); 142 | var name = $(this).data("name"); 143 | var price = Number($(this).data("price")); 144 | shoppingCart.addItemToCart(name, price, 1); 145 | displayCart(); 146 | }); 147 | 148 | // Clear items 149 | $(".clear-cart").click(function () { 150 | shoppingCart.clearCart(); 151 | displayCart(); 152 | }); 153 | 154 | function displayCart() { 155 | var cartArray = shoppingCart.listCart(); 156 | var output = ""; 157 | for (var i in cartArray) { 158 | output += 159 | "" + 160 | "" + 161 | // "" + 162 | cartArray[i].name + 163 | // "" + 164 | "" + 165 | "₹" + 166 | cartArray[i].price + 167 | ".00" + 168 | "
" + 171 | "" + 176 | "
" + 179 | "" + 182 | " = " + 183 | "" + 184 | "" + 185 | cartArray[i].total + 186 | "" + 187 | "" + 188 | ""; 189 | } 190 | $(".show-cart").html(output); 191 | $(".total-cart").html(shoppingCart.totalCart()); 192 | $(".total-count").html(shoppingCart.totalCount()); 193 | } 194 | 195 | // Delete item button 196 | 197 | $(".show-cart").on("click", ".delete-item", function (event) { 198 | var name = $(this).data("name"); 199 | shoppingCart.removeItemFromCartAll(name); 200 | displayCart(); 201 | }); 202 | 203 | // -1 204 | $(".show-cart").on("click", ".minus-item", function (event) { 205 | var name = $(this).data("name"); 206 | shoppingCart.removeItemFromCart(name); 207 | displayCart(); 208 | }); 209 | // +1 210 | $(".show-cart").on("click", ".plus-item", function (event) { 211 | var name = $(this).data("name"); 212 | shoppingCart.addItemToCart(name); 213 | displayCart(); 214 | }); 215 | 216 | // Item count input 217 | $(".show-cart").on("change", ".item-count", function (event) { 218 | var name = $(this).data("name"); 219 | var count = Number($(this).val()); 220 | shoppingCart.setCountForItem(name, count); 221 | displayCart(); 222 | }); 223 | 224 | displayCart(); 225 | -------------------------------------------------------------------------------- /public/assets/js/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Template Name: FlexStart - v1.4.0 3 | * Template URL: https://bootstrapmade.com/flexstart-bootstrap-startup-template/ 4 | * Author: BootstrapMade.com 5 | * License: https://bootstrapmade.com/license/ 6 | */ 7 | (function() { 8 | "use strict"; 9 | 10 | /** 11 | * Easy selector helper function 12 | */ 13 | const select = (el, all = false) => { 14 | el = el.trim() 15 | if (all) { 16 | return [...document.querySelectorAll(el)] 17 | } else { 18 | return document.querySelector(el) 19 | } 20 | } 21 | 22 | /** 23 | * Easy event listener function 24 | */ 25 | const on = (type, el, listener, all = false) => { 26 | if (all) { 27 | select(el, all).forEach(e => e.addEventListener(type, listener)) 28 | } else { 29 | select(el, all).addEventListener(type, listener) 30 | } 31 | } 32 | 33 | /** 34 | * Easy on scroll event listener 35 | */ 36 | const onscroll = (el, listener) => { 37 | el.addEventListener('scroll', listener) 38 | } 39 | 40 | /** 41 | * Navbar links active state on scroll 42 | */ 43 | let navbarlinks = select('#navbar .scrollto', true) 44 | const navbarlinksActive = () => { 45 | let position = window.scrollY + 200 46 | navbarlinks.forEach(navbarlink => { 47 | if (!navbarlink.hash) return 48 | let section = select(navbarlink.hash) 49 | if (!section) return 50 | if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) { 51 | navbarlink.classList.add('active') 52 | } else { 53 | navbarlink.classList.remove('active') 54 | } 55 | }) 56 | } 57 | window.addEventListener('load', navbarlinksActive) 58 | onscroll(document, navbarlinksActive) 59 | 60 | /** 61 | * Scrolls to an element with header offset 62 | */ 63 | const scrollto = (el) => { 64 | let header = select('#header') 65 | let offset = header.offsetHeight 66 | 67 | if (!header.classList.contains('header-scrolled')) { 68 | offset -= 10 69 | } 70 | 71 | let elementPos = select(el).offsetTop 72 | window.scrollTo({ 73 | top: elementPos - offset, 74 | behavior: 'smooth' 75 | }) 76 | } 77 | 78 | /** 79 | * Toggle .header-scrolled class to #header when page is scrolled 80 | */ 81 | let selectHeader = select('#header') 82 | if (selectHeader) { 83 | const headerScrolled = () => { 84 | if (window.scrollY > 100) { 85 | selectHeader.classList.add('header-scrolled') 86 | } else { 87 | selectHeader.classList.remove('header-scrolled') 88 | } 89 | } 90 | window.addEventListener('load', headerScrolled) 91 | onscroll(document, headerScrolled) 92 | } 93 | 94 | /** 95 | * Back to top button 96 | */ 97 | let backtotop = select('.back-to-top') 98 | if (backtotop) { 99 | const toggleBacktotop = () => { 100 | if (window.scrollY > 100) { 101 | backtotop.classList.add('active') 102 | } else { 103 | backtotop.classList.remove('active') 104 | } 105 | } 106 | window.addEventListener('load', toggleBacktotop) 107 | onscroll(document, toggleBacktotop) 108 | } 109 | 110 | /** 111 | * Mobile nav toggle 112 | */ 113 | on('click', '.mobile-nav-toggle', function(e) { 114 | select('#navbar').classList.toggle('navbar-mobile') 115 | this.classList.toggle('bi-list') 116 | this.classList.toggle('bi-x') 117 | }) 118 | 119 | /** 120 | * Mobile nav dropdowns activate 121 | */ 122 | on('click', '.navbar .dropdown > a', function(e) { 123 | if (select('#navbar').classList.contains('navbar-mobile')) { 124 | e.preventDefault() 125 | this.nextElementSibling.classList.toggle('dropdown-active') 126 | } 127 | }, true) 128 | 129 | /** 130 | * Scrool with ofset on links with a class name .scrollto 131 | */ 132 | on('click', '.scrollto', function(e) { 133 | if (select(this.hash)) { 134 | e.preventDefault() 135 | 136 | let navbar = select('#navbar') 137 | if (navbar.classList.contains('navbar-mobile')) { 138 | navbar.classList.remove('navbar-mobile') 139 | let navbarToggle = select('.mobile-nav-toggle') 140 | navbarToggle.classList.toggle('bi-list') 141 | navbarToggle.classList.toggle('bi-x') 142 | } 143 | scrollto(this.hash) 144 | } 145 | }, true) 146 | 147 | /** 148 | * Scroll with ofset on page load with hash links in the url 149 | */ 150 | window.addEventListener('load', () => { 151 | if (window.location.hash) { 152 | if (select(window.location.hash)) { 153 | scrollto(window.location.hash) 154 | } 155 | } 156 | }); 157 | 158 | /** 159 | * Clients Slider 160 | */ 161 | new Swiper('.clients-slider', { 162 | speed: 400, 163 | loop: true, 164 | autoplay: { 165 | delay: 5000, 166 | disableOnInteraction: false 167 | }, 168 | slidesPerView: 'auto', 169 | pagination: { 170 | el: '.swiper-pagination', 171 | type: 'bullets', 172 | clickable: true 173 | }, 174 | breakpoints: { 175 | 320: { 176 | slidesPerView: 2, 177 | spaceBetween: 40 178 | }, 179 | 480: { 180 | slidesPerView: 3, 181 | spaceBetween: 60 182 | }, 183 | 640: { 184 | slidesPerView: 4, 185 | spaceBetween: 80 186 | }, 187 | 992: { 188 | slidesPerView: 6, 189 | spaceBetween: 120 190 | } 191 | } 192 | }); 193 | 194 | /** 195 | * Porfolio isotope and filter 196 | */ 197 | window.addEventListener('load', () => { 198 | let portfolioContainer = select('.portfolio-container'); 199 | if (portfolioContainer) { 200 | let portfolioIsotope = new Isotope(portfolioContainer, { 201 | itemSelector: '.portfolio-item', 202 | layoutMode: 'fitRows' 203 | }); 204 | 205 | let portfolioFilters = select('#portfolio-flters li', true); 206 | 207 | on('click', '#portfolio-flters li', function(e) { 208 | e.preventDefault(); 209 | portfolioFilters.forEach(function(el) { 210 | el.classList.remove('filter-active'); 211 | }); 212 | this.classList.add('filter-active'); 213 | 214 | portfolioIsotope.arrange({ 215 | filter: this.getAttribute('data-filter') 216 | }); 217 | aos_init(); 218 | }, true); 219 | } 220 | 221 | }); 222 | 223 | /** 224 | * Initiate portfolio lightbox 225 | */ 226 | const portfolioLightbox = GLightbox({ 227 | selector: '.portfokio-lightbox' 228 | }); 229 | 230 | /** 231 | * Portfolio details slider 232 | */ 233 | new Swiper('.portfolio-details-slider', { 234 | speed: 400, 235 | autoplay: { 236 | delay: 5000, 237 | disableOnInteraction: false 238 | }, 239 | pagination: { 240 | el: '.swiper-pagination', 241 | type: 'bullets', 242 | clickable: true 243 | } 244 | }); 245 | 246 | /** 247 | * Testimonials slider 248 | */ 249 | new Swiper('.testimonials-slider', { 250 | speed: 600, 251 | loop: true, 252 | autoplay: { 253 | delay: 5000, 254 | disableOnInteraction: false 255 | }, 256 | slidesPerView: 'auto', 257 | pagination: { 258 | el: '.swiper-pagination', 259 | type: 'bullets', 260 | clickable: true 261 | }, 262 | breakpoints: { 263 | 320: { 264 | slidesPerView: 1, 265 | spaceBetween: 40 266 | }, 267 | 268 | 1200: { 269 | slidesPerView: 3, 270 | } 271 | } 272 | }); 273 | 274 | /** 275 | * Animation on scroll 276 | */ 277 | function aos_init() { 278 | AOS.init({ 279 | duration: 1000, 280 | easing: "ease-in-out", 281 | once: true, 282 | mirror: false 283 | }); 284 | } 285 | window.addEventListener('load', () => { 286 | aos_init(); 287 | }); 288 | 289 | })(); -------------------------------------------------------------------------------- /public/assets/vendor/bootstrap/css/bootstrap-reboot.rtl.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | *, 9 | *::before, 10 | *::after { 11 | box-sizing: border-box; 12 | } 13 | 14 | @media (prefers-reduced-motion: no-preference) { 15 | :root { 16 | scroll-behavior: smooth; 17 | } 18 | } 19 | 20 | body { 21 | margin: 0; 22 | font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 23 | font-size: 1rem; 24 | font-weight: 400; 25 | line-height: 1.5; 26 | color: #212529; 27 | background-color: #fff; 28 | -webkit-text-size-adjust: 100%; 29 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 30 | } 31 | 32 | hr { 33 | margin: 1rem 0; 34 | color: inherit; 35 | background-color: currentColor; 36 | border: 0; 37 | opacity: 0.25; 38 | } 39 | 40 | hr:not([size]) { 41 | height: 1px; 42 | } 43 | 44 | h6, h5, h4, h3, h2, h1 { 45 | margin-top: 0; 46 | margin-bottom: 0.5rem; 47 | font-weight: 500; 48 | line-height: 1.2; 49 | } 50 | 51 | h1 { 52 | font-size: calc(1.375rem + 1.5vw); 53 | } 54 | @media (min-width: 1200px) { 55 | h1 { 56 | font-size: 2.5rem; 57 | } 58 | } 59 | 60 | h2 { 61 | font-size: calc(1.325rem + 0.9vw); 62 | } 63 | @media (min-width: 1200px) { 64 | h2 { 65 | font-size: 2rem; 66 | } 67 | } 68 | 69 | h3 { 70 | font-size: calc(1.3rem + 0.6vw); 71 | } 72 | @media (min-width: 1200px) { 73 | h3 { 74 | font-size: 1.75rem; 75 | } 76 | } 77 | 78 | h4 { 79 | font-size: calc(1.275rem + 0.3vw); 80 | } 81 | @media (min-width: 1200px) { 82 | h4 { 83 | font-size: 1.5rem; 84 | } 85 | } 86 | 87 | h5 { 88 | font-size: 1.25rem; 89 | } 90 | 91 | h6 { 92 | font-size: 1rem; 93 | } 94 | 95 | p { 96 | margin-top: 0; 97 | margin-bottom: 1rem; 98 | } 99 | 100 | abbr[title], 101 | abbr[data-bs-original-title] { 102 | -webkit-text-decoration: underline dotted; 103 | text-decoration: underline dotted; 104 | cursor: help; 105 | -webkit-text-decoration-skip-ink: none; 106 | text-decoration-skip-ink: none; 107 | } 108 | 109 | address { 110 | margin-bottom: 1rem; 111 | font-style: normal; 112 | line-height: inherit; 113 | } 114 | 115 | ol, 116 | ul { 117 | padding-right: 2rem; 118 | } 119 | 120 | ol, 121 | ul, 122 | dl { 123 | margin-top: 0; 124 | margin-bottom: 1rem; 125 | } 126 | 127 | ol ol, 128 | ul ul, 129 | ol ul, 130 | ul ol { 131 | margin-bottom: 0; 132 | } 133 | 134 | dt { 135 | font-weight: 700; 136 | } 137 | 138 | dd { 139 | margin-bottom: 0.5rem; 140 | margin-right: 0; 141 | } 142 | 143 | blockquote { 144 | margin: 0 0 1rem; 145 | } 146 | 147 | b, 148 | strong { 149 | font-weight: bolder; 150 | } 151 | 152 | small { 153 | font-size: 0.875em; 154 | } 155 | 156 | mark { 157 | padding: 0.2em; 158 | background-color: #fcf8e3; 159 | } 160 | 161 | sub, 162 | sup { 163 | position: relative; 164 | font-size: 0.75em; 165 | line-height: 0; 166 | vertical-align: baseline; 167 | } 168 | 169 | sub { 170 | bottom: -0.25em; 171 | } 172 | 173 | sup { 174 | top: -0.5em; 175 | } 176 | 177 | a { 178 | color: #0d6efd; 179 | text-decoration: underline; 180 | } 181 | a:hover { 182 | color: #0a58ca; 183 | } 184 | 185 | a:not([href]):not([class]), a:not([href]):not([class]):hover { 186 | color: inherit; 187 | text-decoration: none; 188 | } 189 | 190 | pre, 191 | code, 192 | kbd, 193 | samp { 194 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 195 | font-size: 1em; 196 | direction: ltr ; 197 | unicode-bidi: bidi-override; 198 | } 199 | 200 | pre { 201 | display: block; 202 | margin-top: 0; 203 | margin-bottom: 1rem; 204 | overflow: auto; 205 | font-size: 0.875em; 206 | } 207 | pre code { 208 | font-size: inherit; 209 | color: inherit; 210 | word-break: normal; 211 | } 212 | 213 | code { 214 | font-size: 0.875em; 215 | color: #d63384; 216 | word-wrap: break-word; 217 | } 218 | a > code { 219 | color: inherit; 220 | } 221 | 222 | kbd { 223 | padding: 0.2rem 0.4rem; 224 | font-size: 0.875em; 225 | color: #fff; 226 | background-color: #212529; 227 | border-radius: 0.2rem; 228 | } 229 | kbd kbd { 230 | padding: 0; 231 | font-size: 1em; 232 | font-weight: 700; 233 | } 234 | 235 | figure { 236 | margin: 0 0 1rem; 237 | } 238 | 239 | img, 240 | svg { 241 | vertical-align: middle; 242 | } 243 | 244 | table { 245 | caption-side: bottom; 246 | border-collapse: collapse; 247 | } 248 | 249 | caption { 250 | padding-top: 0.5rem; 251 | padding-bottom: 0.5rem; 252 | color: #6c757d; 253 | text-align: right; 254 | } 255 | 256 | th { 257 | text-align: inherit; 258 | text-align: -webkit-match-parent; 259 | } 260 | 261 | thead, 262 | tbody, 263 | tfoot, 264 | tr, 265 | td, 266 | th { 267 | border-color: inherit; 268 | border-style: solid; 269 | border-width: 0; 270 | } 271 | 272 | label { 273 | display: inline-block; 274 | } 275 | 276 | button { 277 | border-radius: 0; 278 | } 279 | 280 | button:focus:not(:focus-visible) { 281 | outline: 0; 282 | } 283 | 284 | input, 285 | button, 286 | select, 287 | optgroup, 288 | textarea { 289 | margin: 0; 290 | font-family: inherit; 291 | font-size: inherit; 292 | line-height: inherit; 293 | } 294 | 295 | button, 296 | select { 297 | text-transform: none; 298 | } 299 | 300 | [role=button] { 301 | cursor: pointer; 302 | } 303 | 304 | select { 305 | word-wrap: normal; 306 | } 307 | select:disabled { 308 | opacity: 1; 309 | } 310 | 311 | [list]::-webkit-calendar-picker-indicator { 312 | display: none; 313 | } 314 | 315 | button, 316 | [type=button], 317 | [type=reset], 318 | [type=submit] { 319 | -webkit-appearance: button; 320 | } 321 | button:not(:disabled), 322 | [type=button]:not(:disabled), 323 | [type=reset]:not(:disabled), 324 | [type=submit]:not(:disabled) { 325 | cursor: pointer; 326 | } 327 | 328 | ::-moz-focus-inner { 329 | padding: 0; 330 | border-style: none; 331 | } 332 | 333 | textarea { 334 | resize: vertical; 335 | } 336 | 337 | fieldset { 338 | min-width: 0; 339 | padding: 0; 340 | margin: 0; 341 | border: 0; 342 | } 343 | 344 | legend { 345 | float: right; 346 | width: 100%; 347 | padding: 0; 348 | margin-bottom: 0.5rem; 349 | font-size: calc(1.275rem + 0.3vw); 350 | line-height: inherit; 351 | } 352 | @media (min-width: 1200px) { 353 | legend { 354 | font-size: 1.5rem; 355 | } 356 | } 357 | legend + * { 358 | clear: right; 359 | } 360 | 361 | ::-webkit-datetime-edit-fields-wrapper, 362 | ::-webkit-datetime-edit-text, 363 | ::-webkit-datetime-edit-minute, 364 | ::-webkit-datetime-edit-hour-field, 365 | ::-webkit-datetime-edit-day-field, 366 | ::-webkit-datetime-edit-month-field, 367 | ::-webkit-datetime-edit-year-field { 368 | padding: 0; 369 | } 370 | 371 | ::-webkit-inner-spin-button { 372 | height: auto; 373 | } 374 | 375 | [type=search] { 376 | outline-offset: -2px; 377 | -webkit-appearance: textfield; 378 | } 379 | 380 | [type="tel"], 381 | [type="url"], 382 | [type="email"], 383 | [type="number"] { 384 | direction: ltr; 385 | } 386 | ::-webkit-search-decoration { 387 | -webkit-appearance: none; 388 | } 389 | 390 | ::-webkit-color-swatch-wrapper { 391 | padding: 0; 392 | } 393 | 394 | ::file-selector-button { 395 | font: inherit; 396 | } 397 | 398 | ::-webkit-file-upload-button { 399 | font: inherit; 400 | -webkit-appearance: button; 401 | } 402 | 403 | output { 404 | display: inline-block; 405 | } 406 | 407 | iframe { 408 | border: 0; 409 | } 410 | 411 | summary { 412 | display: list-item; 413 | cursor: pointer; 414 | } 415 | 416 | progress { 417 | vertical-align: baseline; 418 | } 419 | 420 | [hidden] { 421 | display: none !important; 422 | } 423 | /*# sourceMappingURL=bootstrap-reboot.rtl.css.map */ -------------------------------------------------------------------------------- /public/assets/vendor/bootstrap/css/bootstrap-reboot.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | *, 9 | *::before, 10 | *::after { 11 | box-sizing: border-box; 12 | } 13 | 14 | @media (prefers-reduced-motion: no-preference) { 15 | :root { 16 | scroll-behavior: smooth; 17 | } 18 | } 19 | 20 | body { 21 | margin: 0; 22 | font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 23 | font-size: 1rem; 24 | font-weight: 400; 25 | line-height: 1.5; 26 | color: #212529; 27 | background-color: #fff; 28 | -webkit-text-size-adjust: 100%; 29 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 30 | } 31 | 32 | hr { 33 | margin: 1rem 0; 34 | color: inherit; 35 | background-color: currentColor; 36 | border: 0; 37 | opacity: 0.25; 38 | } 39 | 40 | hr:not([size]) { 41 | height: 1px; 42 | } 43 | 44 | h6, h5, h4, h3, h2, h1 { 45 | margin-top: 0; 46 | margin-bottom: 0.5rem; 47 | font-weight: 500; 48 | line-height: 1.2; 49 | } 50 | 51 | h1 { 52 | font-size: calc(1.375rem + 1.5vw); 53 | } 54 | @media (min-width: 1200px) { 55 | h1 { 56 | font-size: 2.5rem; 57 | } 58 | } 59 | 60 | h2 { 61 | font-size: calc(1.325rem + 0.9vw); 62 | } 63 | @media (min-width: 1200px) { 64 | h2 { 65 | font-size: 2rem; 66 | } 67 | } 68 | 69 | h3 { 70 | font-size: calc(1.3rem + 0.6vw); 71 | } 72 | @media (min-width: 1200px) { 73 | h3 { 74 | font-size: 1.75rem; 75 | } 76 | } 77 | 78 | h4 { 79 | font-size: calc(1.275rem + 0.3vw); 80 | } 81 | @media (min-width: 1200px) { 82 | h4 { 83 | font-size: 1.5rem; 84 | } 85 | } 86 | 87 | h5 { 88 | font-size: 1.25rem; 89 | } 90 | 91 | h6 { 92 | font-size: 1rem; 93 | } 94 | 95 | p { 96 | margin-top: 0; 97 | margin-bottom: 1rem; 98 | } 99 | 100 | abbr[title], 101 | abbr[data-bs-original-title] { 102 | -webkit-text-decoration: underline dotted; 103 | text-decoration: underline dotted; 104 | cursor: help; 105 | -webkit-text-decoration-skip-ink: none; 106 | text-decoration-skip-ink: none; 107 | } 108 | 109 | address { 110 | margin-bottom: 1rem; 111 | font-style: normal; 112 | line-height: inherit; 113 | } 114 | 115 | ol, 116 | ul { 117 | padding-left: 2rem; 118 | } 119 | 120 | ol, 121 | ul, 122 | dl { 123 | margin-top: 0; 124 | margin-bottom: 1rem; 125 | } 126 | 127 | ol ol, 128 | ul ul, 129 | ol ul, 130 | ul ol { 131 | margin-bottom: 0; 132 | } 133 | 134 | dt { 135 | font-weight: 700; 136 | } 137 | 138 | dd { 139 | margin-bottom: 0.5rem; 140 | margin-left: 0; 141 | } 142 | 143 | blockquote { 144 | margin: 0 0 1rem; 145 | } 146 | 147 | b, 148 | strong { 149 | font-weight: bolder; 150 | } 151 | 152 | small { 153 | font-size: 0.875em; 154 | } 155 | 156 | mark { 157 | padding: 0.2em; 158 | background-color: #fcf8e3; 159 | } 160 | 161 | sub, 162 | sup { 163 | position: relative; 164 | font-size: 0.75em; 165 | line-height: 0; 166 | vertical-align: baseline; 167 | } 168 | 169 | sub { 170 | bottom: -0.25em; 171 | } 172 | 173 | sup { 174 | top: -0.5em; 175 | } 176 | 177 | a { 178 | color: #0d6efd; 179 | text-decoration: underline; 180 | } 181 | a:hover { 182 | color: #0a58ca; 183 | } 184 | 185 | a:not([href]):not([class]), a:not([href]):not([class]):hover { 186 | color: inherit; 187 | text-decoration: none; 188 | } 189 | 190 | pre, 191 | code, 192 | kbd, 193 | samp { 194 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 195 | font-size: 1em; 196 | direction: ltr /* rtl:ignore */; 197 | unicode-bidi: bidi-override; 198 | } 199 | 200 | pre { 201 | display: block; 202 | margin-top: 0; 203 | margin-bottom: 1rem; 204 | overflow: auto; 205 | font-size: 0.875em; 206 | } 207 | pre code { 208 | font-size: inherit; 209 | color: inherit; 210 | word-break: normal; 211 | } 212 | 213 | code { 214 | font-size: 0.875em; 215 | color: #d63384; 216 | word-wrap: break-word; 217 | } 218 | a > code { 219 | color: inherit; 220 | } 221 | 222 | kbd { 223 | padding: 0.2rem 0.4rem; 224 | font-size: 0.875em; 225 | color: #fff; 226 | background-color: #212529; 227 | border-radius: 0.2rem; 228 | } 229 | kbd kbd { 230 | padding: 0; 231 | font-size: 1em; 232 | font-weight: 700; 233 | } 234 | 235 | figure { 236 | margin: 0 0 1rem; 237 | } 238 | 239 | img, 240 | svg { 241 | vertical-align: middle; 242 | } 243 | 244 | table { 245 | caption-side: bottom; 246 | border-collapse: collapse; 247 | } 248 | 249 | caption { 250 | padding-top: 0.5rem; 251 | padding-bottom: 0.5rem; 252 | color: #6c757d; 253 | text-align: left; 254 | } 255 | 256 | th { 257 | text-align: inherit; 258 | text-align: -webkit-match-parent; 259 | } 260 | 261 | thead, 262 | tbody, 263 | tfoot, 264 | tr, 265 | td, 266 | th { 267 | border-color: inherit; 268 | border-style: solid; 269 | border-width: 0; 270 | } 271 | 272 | label { 273 | display: inline-block; 274 | } 275 | 276 | button { 277 | border-radius: 0; 278 | } 279 | 280 | button:focus:not(:focus-visible) { 281 | outline: 0; 282 | } 283 | 284 | input, 285 | button, 286 | select, 287 | optgroup, 288 | textarea { 289 | margin: 0; 290 | font-family: inherit; 291 | font-size: inherit; 292 | line-height: inherit; 293 | } 294 | 295 | button, 296 | select { 297 | text-transform: none; 298 | } 299 | 300 | [role=button] { 301 | cursor: pointer; 302 | } 303 | 304 | select { 305 | word-wrap: normal; 306 | } 307 | select:disabled { 308 | opacity: 1; 309 | } 310 | 311 | [list]::-webkit-calendar-picker-indicator { 312 | display: none; 313 | } 314 | 315 | button, 316 | [type=button], 317 | [type=reset], 318 | [type=submit] { 319 | -webkit-appearance: button; 320 | } 321 | button:not(:disabled), 322 | [type=button]:not(:disabled), 323 | [type=reset]:not(:disabled), 324 | [type=submit]:not(:disabled) { 325 | cursor: pointer; 326 | } 327 | 328 | ::-moz-focus-inner { 329 | padding: 0; 330 | border-style: none; 331 | } 332 | 333 | textarea { 334 | resize: vertical; 335 | } 336 | 337 | fieldset { 338 | min-width: 0; 339 | padding: 0; 340 | margin: 0; 341 | border: 0; 342 | } 343 | 344 | legend { 345 | float: left; 346 | width: 100%; 347 | padding: 0; 348 | margin-bottom: 0.5rem; 349 | font-size: calc(1.275rem + 0.3vw); 350 | line-height: inherit; 351 | } 352 | @media (min-width: 1200px) { 353 | legend { 354 | font-size: 1.5rem; 355 | } 356 | } 357 | legend + * { 358 | clear: left; 359 | } 360 | 361 | ::-webkit-datetime-edit-fields-wrapper, 362 | ::-webkit-datetime-edit-text, 363 | ::-webkit-datetime-edit-minute, 364 | ::-webkit-datetime-edit-hour-field, 365 | ::-webkit-datetime-edit-day-field, 366 | ::-webkit-datetime-edit-month-field, 367 | ::-webkit-datetime-edit-year-field { 368 | padding: 0; 369 | } 370 | 371 | ::-webkit-inner-spin-button { 372 | height: auto; 373 | } 374 | 375 | [type=search] { 376 | outline-offset: -2px; 377 | -webkit-appearance: textfield; 378 | } 379 | 380 | /* rtl:raw: 381 | [type="tel"], 382 | [type="url"], 383 | [type="email"], 384 | [type="number"] { 385 | direction: ltr; 386 | } 387 | */ 388 | ::-webkit-search-decoration { 389 | -webkit-appearance: none; 390 | } 391 | 392 | ::-webkit-color-swatch-wrapper { 393 | padding: 0; 394 | } 395 | 396 | ::file-selector-button { 397 | font: inherit; 398 | } 399 | 400 | ::-webkit-file-upload-button { 401 | font: inherit; 402 | -webkit-appearance: button; 403 | } 404 | 405 | output { 406 | display: inline-block; 407 | } 408 | 409 | iframe { 410 | border: 0; 411 | } 412 | 413 | summary { 414 | display: list-item; 415 | cursor: pointer; 416 | } 417 | 418 | progress { 419 | vertical-align: baseline; 420 | } 421 | 422 | [hidden] { 423 | display: none !important; 424 | } 425 | 426 | /*# sourceMappingURL=bootstrap-reboot.css.map */ -------------------------------------------------------------------------------- /public/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Web Tech Solutions 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 41 | 42 | 43 | 69 | 70 | 71 | 72 | 73 | 88 |



89 | 90 | 91 |
92 |
93 | 110 | 127 |
128 |
129 |
130 |

Welcome Back!

131 |

To keep connected with us please login with your personal info

132 | 133 |
134 |
135 |

Hello, Friend!

136 |

Enter your personal details and start journey with Web Tech Solutions

137 | 138 |
139 |
140 |
141 |
142 | 143 | 144 | 145 | 163 | 207 | 208 | 209 | 210 | -------------------------------------------------------------------------------- /public/ajmalprotfolio.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Web Tech Solutions 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 27 | 31 | 32 | 33 | 34 | 38 | 39 | 40 | 41 | 42 | 48 | 74 | 75 | 76 | 77 | 78 | 94 | 95 |
96 | 97 | 98 | 106 | 107 | 108 |
109 |
110 | 111 |
112 | 113 |
114 |
115 |
116 | 117 |
118 | 119 | 120 |
121 |
122 |

A small token of Apprecication

123 | 124 | 125 | 126 |
127 | 128 | 129 | 130 | 131 | 132 |
133 |
134 |
135 |
136 | 137 |
138 |
139 |

Project information

140 |
    141 |
  • Category: Portfolio
  • 142 |
  • Client: Ajmal Khan
  • 143 |
  • Project date: 16 August, 2019
  • 144 |
  • Project URL: www.ajmalkhan.ml
  • 145 |
146 |
147 |
148 |

Portfolio Details

149 |

150 | My first Client in my life. This is a simple static web site which mainly function two modules one is reservation and next one is contact. The revervation actually help the customers to reserve his/her room bookings in hoetl. So that they never miss the rooms. And we can able to contat them by just flling the contact form and the custmer care officer will contact you. 151 |

152 |
153 |
154 | 155 |
156 | 157 |
158 |
159 | 160 |
161 | 162 |
163 | 164 | 246 | 247 |
248 | 252 |
253 | 254 | 255 | 256 | 257 | Designed by Alan Binu 258 |
259 |
260 |
261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 281 | 282 | 283 | 284 | 285 | 286 | -------------------------------------------------------------------------------- /public/assets/img/hero-img.svg: -------------------------------------------------------------------------------- 1 | file_sync -------------------------------------------------------------------------------- /public/samruthistores.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Web Tech Solutions 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 27 | 31 | 32 | 33 | 34 | 38 | 39 | 40 | 41 | 42 | 48 | 100 | 101 | 102 | 103 | 104 | 114 | 115 |
116 | 117 | 122 | 123 | 124 | 125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 | 133 |
134 |
135 |
136 |

A small token of Apprecication

137 |
138 | 139 | 140 |
141 |
142 |
143 |
144 |
145 | 146 |
147 |
148 |

Project information

149 |
    150 |
  • Category: Web Application
  • 151 |
  • Client: Samruthi Stores
  • 152 |
  • Project date: 04 Mar, 2019
  • 153 | 154 |
155 |
156 |
157 |

Project Details

158 |

159 | This is a simple Billing and Buiness management Application 160 | hosted in localhost server of the client system. It is the 161 | updated and modified version of OSS of cloudonex. Here the 162 | owner can manage amount, export data, user access etc.. 163 | 164 |

165 | Main functions of Admin:
166 | * Can able to View, Edit, Delete the food items.
167 | * Can view and manage the revenue.
168 | * Able to export data in different formats.
169 | * Data are stored in Local Mysql Database.
170 | * Data analysis is also available.
171 | * Good Bill Template for customer purposes. 172 |

173 |
174 |
175 |
176 |
177 |
178 | 179 |
180 | 181 | 182 |
183 | 275 | 276 |
277 | 278 |
279 | 280 | 281 | 282 | 283 | Designed by 284 | Alan Binu 287 |
288 |
289 |
290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 307 | 308 | 309 | 310 | 311 | 312 | -------------------------------------------------------------------------------- /public/aniladvocate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Web Tech Solutions 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 27 | 31 | 32 | 33 | 34 | 38 | 39 | 40 | 41 | 42 | 48 | 74 | 75 | 76 | 77 | 78 | 94 | 95 |
96 | 97 | 98 | 106 | 107 | 108 |
109 |
110 | 111 |
112 | 113 |
114 |
115 |
116 | 117 | 118 | 119 |
120 | 121 | 122 |
123 |
124 |

A small token of Apprecication

125 | 126 | Error while displaying Certificate 127 | 128 |
129 | 130 | 131 | 132 |
133 |
134 |
135 |
136 | 137 |
138 |
139 |

Project information

140 |
    141 |
  • Category: Web Application
  • 142 |
  • Client: Adv. Anil Kumar
  • 143 |
  • Project date: 04 Mar, 2018
  • 144 |
  • Project URL: www.aniladvocate.in
  • 145 |
146 |
147 |
148 |

Project Details

149 |

150 | This is a dynamic website. Which have 3 user logins. They are clinet, Sub Advocate and Main Advocate. The clinet have the faciliy to book their Advocate on online and if the Advocate accept the request, the clinet will able to pay Advocate fee via online and Book him. 151 | The main Advocate can able add, delete and modify existing sub advocates and able to export data in excel, JPG and PNG formats 152 |

Main functions of Main Advocate:
153 | * Basic Login, Logout and password Change facility.
154 | * Can able to View, Edit, Delete the Details of Sub Adv.
155 | * Able to view each sun adv perfomances.
156 | * Able to export data in different formats.
157 | * Data are stored in Online Mysql Database.
158 | * Data analysis is also available.
159 |

Main functions of Sub Advocates:
160 | * Accept or Decline requests from Client.
161 | * Can able to View requests.
162 | * Basic Login, Logout and password Change facility.
163 | * Can view and manage the orders.
164 | * Able to export data in different formats.
165 | * Data are stored in Online Mysql Database.
166 | 167 |

Main functions of Client:
168 | * Basic Login, Logout and password Change facility.
169 | * Able to book advocates once approved Client can able to pay fee via online.
170 | * Can view and manage the bookings.
171 | 172 | * Once booked Client get email and Sms notification 173 | * Able to give Ratting and feedbacks.
174 |

175 |
176 |
177 | 178 |
179 | 180 |
181 |
182 | 183 |
184 | 185 |
186 | 187 | 269 | 270 |
271 | 275 |
276 | 277 | 278 | 279 | 280 | Designed by Alan Binu 281 |
282 |
283 |
284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 304 | 305 | 306 | 307 | 308 | 309 | -------------------------------------------------------------------------------- /public/assets/vendor/glightbox/css/glightbox.min.css: -------------------------------------------------------------------------------- 1 | .glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;overflow:hidden}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;opacity:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';display:block;position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;background:0 0;position:absolute;bottom:15px;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc string{color:#fff}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}} -------------------------------------------------------------------------------- /public/assets/vendor/swiper/swiper-bundle.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Swiper 6.7.0 3 | * Most modern mobile touch slider and framework with hardware accelerated transitions 4 | * https://swiperjs.com 5 | * 6 | * Copyright 2014-2021 Vladimir Kharlampidi 7 | * 8 | * Released under the MIT License 9 | * 10 | * Released on: May 31, 2021 11 | */ 12 | 13 | @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-container-pointer-events{touch-action:pan-y}.swiper-container-pointer-events.swiper-container-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:50%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-container-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden} -------------------------------------------------------------------------------- /public/assets/vendor/aos/aos.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AOS=t():e.AOS=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},M=function(){w.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})},S=function(e){return e===!0||"mobile"===e&&p.default.mobile()||"phone"===e&&p.default.phone()||"tablet"===e&&p.default.tablet()||"function"==typeof e&&e()===!0},_=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?M():(x.disableMutationObserver||d.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),x.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",x.easing),document.querySelector("body").setAttribute("data-aos-duration",x.duration),document.querySelector("body").setAttribute("data-aos-delay",x.delay),"DOMContentLoaded"===x.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?j(!0):"load"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener("resize",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener("orientationchange",(0,s.default)(j,x.debounceDelay,!0)),window.addEventListener("scroll",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||d.default.ready("[data-aos]",O),w)};e.exports={init:_,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(f,t),M?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=O();return c(e)?d(e):void(h=setTimeout(f,a(e)))}function d(e){return h=void 0,_&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),o(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,k=0,M=!1,S=!1,_=!0;if("function"!=typeof e)throw new TypeError(s);return t=u(t)||0,i(n)&&(M=!!n.leading,S="maxWait"in n,y=S?x(u(n.maxWait)||0,t):y,_="trailing"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError(s);return i(o)&&(r="leading"in o?!!o.leading:r,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t="undefined"==typeof e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==("undefined"==typeof e?"undefined":c(e))}function a(e){return"symbol"==("undefined"==typeof e?"undefined":c(e))||r(e)&&k.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return f;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?f:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s="Expected a function",f=NaN,d="[object Symbol]",l=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y="object"==("undefined"==typeof t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=y||g||Function("return this")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(f,t),M?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function s(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function f(){var e=j();return s(e)?d(e):void(h=setTimeout(f,u(e)))}function d(e){return h=void 0,_&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=s(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(f,t),i(w)}return void 0===h&&(h=setTimeout(f,t)),g}var b,v,y,g,h,w,O=0,M=!1,S=!1,_=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(M=!!n.leading,S="maxWait"in n,y=S?k(a(n.maxWait)||0,t):y,_="trailing"in n?!!n.trailing:_),m.cancel=l,m.flush=p,m}function o(e){var t="undefined"==typeof e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==("undefined"==typeof e?"undefined":u(e))}function r(e){return"symbol"==("undefined"==typeof e?"undefined":u(e))||i(e)&&w.call(e)==f}function a(e){if("number"==typeof e)return e;if(r(e))return s;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?s:+e}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",s=NaN,f="[object Symbol]",d=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v="object"==("undefined"==typeof t?"undefined":u(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,g=v||y||Function("return this")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e){var t=void 0,o=void 0,i=void 0;for(t=0;te.position?e.node.classList.add("aos-animate"):"undefined"!=typeof o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])}); -------------------------------------------------------------------------------- /public/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Web Tech Solutions 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 29 | 33 | 34 | 35 | 36 | 40 | 41 | 42 | 43 | 44 | 50 | 76 | 77 | 78 | 79 | 80 | 104 |



105 |
106 |

Please Fill Out The Form For Demo

107 |

108 |
109 |

Thanks for Contacting Us!!

110 |

111 |
112 |
113 |
116 |
117 | 118 |
119 |
120 |

Address

121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 |
132 | 133 |
134 |

Business Details

135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |
144 |
145 | 146 | 158 |
159 |
160 | 161 | 162 |
163 |
164 |
165 |
166 | 167 | 168 | 169 |
170 |
171 | 172 | 173 |
174 |
175 |
176 | 177 |
178 | 181 | 182 |
183 |
184 |
185 | 186 | 187 | 188 | 193 | 194 |
195 | 196 | 197 |
198 | 294 | 295 |
296 | 300 |
301 | 302 | 303 | 304 | 305 | Designed by 306 | Alan Binu 309 |
310 |
311 |
312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 330 | 331 | 332 | 333 | 334 | 335 | -------------------------------------------------------------------------------- /public/fillform.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Web Tech Solutions 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 29 | 33 | 34 | 35 | 36 | 40 | 41 | 42 | 43 | 44 | 50 | 76 | 77 | 78 | 79 | 96 |



97 |
98 |

Please Fill The Checkout Form

99 |

100 |
101 |

Thanks for purchasing!! You are now a family member of Web Tech Solutions

102 |

103 |
104 |
105 |
110 |
111 | 112 |
113 |
114 |

Billing Address

115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 |
125 |
126 | 127 | 128 |
129 |
130 | 131 | 132 |
133 |
134 |
135 | 136 |
137 |

Business Details

138 |
139 | 140 | 141 |
142 | 143 | 144 | 145 | 146 | 147 |
148 |
149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 |
157 |
158 | 159 | 160 |
161 |
162 | 163 | 164 |
165 |
166 |
167 | 168 |
169 | 172 | 173 |
174 |
175 |
176 | 177 |
178 |
181 |

Cart 1 182 |

183 |

Gamming Computer System ₹69999

184 | 185 |
186 |

Total ₹69999

187 |
188 |
189 |
192 | 193 |
194 | 195 | 196 |
197 | 198 | 199 |
200 |
201 | 202 | 207 | 208 | 209 |
210 |
211 |

212 |
213 |
214 | 215 | 216 |
217 | 313 | 314 |
315 | 319 |
320 | 321 | 322 | 323 | 324 | Designed by 325 | Alan Binu 328 |
329 |
330 |
331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 349 | 350 | 351 | 352 | 353 | 354 | -------------------------------------------------------------------------------- /public/form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Web Tech Solutions 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 29 | 33 | 34 | 35 | 36 | 40 | 41 | 42 | 43 | 44 | 50 | 76 | 77 | 78 | 79 | 96 |



97 |
98 |

Please Fill The Checkout Form

99 |

100 |
101 |

Thanks for purchasing!! You are now a family member of Web Tech Solutions

102 |

103 |
104 |
105 |
110 |
111 | 112 |
113 |
114 |

Billing Address

115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 |
125 |
126 | 127 | 128 |
129 |
130 | 131 | 132 |
133 |
134 |
135 | 136 |
137 |

Business Details

138 |
139 | 140 | 141 |
142 | 143 | 144 | 145 | 146 | 147 |
148 |
149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 |
157 |
158 | 159 | 160 |
161 |
162 | 163 | 164 |
165 |
166 |
167 | 168 |
169 | 172 | 173 |
174 |
175 |
176 | 177 |
178 |
181 |

Cart 1 182 |

183 |

Student Computer System ₹35000

184 | 185 |
186 |

Total ₹35000

187 |
188 |
189 |
192 | 193 |
194 | 195 | 196 |
197 | 198 | 199 |
200 |
201 | 202 | 207 | 208 | 209 |
210 |
211 |

212 |
213 |
214 | 215 | 216 |
217 | 313 | 314 |
315 | 319 |
320 | 321 | 322 | 323 | 324 | Designed by 325 | Alan Binu 328 |
329 |
330 |
331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 350 | 351 | 352 | 353 | 354 | 355 | --------------------------------------------------------------------------------