diff --git a/ELECTHON/app.py b/ELECTHON/app.py new file mode 100644 index 0000000..ec9e988 --- /dev/null +++ b/ELECTHON/app.py @@ -0,0 +1,10 @@ +from flask import Flask, render_template + +app = Flask(__name__) + +@app.route('/') +def index(): + return render_template('index.html') + +if __name__ == '__main__': + app.run(debug=True) diff --git a/ELECTHON/static/css/LOGO.png b/ELECTHON/static/css/LOGO.png new file mode 100644 index 0000000..0fa5d78 Binary files /dev/null and b/ELECTHON/static/css/LOGO.png differ diff --git a/ELECTHON/static/css/forest1.jpeg b/ELECTHON/static/css/forest1.jpeg new file mode 100644 index 0000000..b6190d1 Binary files /dev/null and b/ELECTHON/static/css/forest1.jpeg differ diff --git a/ELECTHON/static/css/lightslide.css b/ELECTHON/static/css/lightslide.css new file mode 100644 index 0000000..4b72ce3 --- /dev/null +++ b/ELECTHON/static/css/lightslide.css @@ -0,0 +1,387 @@ +.lSSlideOuter { + overflow: hidden; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} +.lightSlider:before, .lightSlider:after { + content: " "; + display: table; +} +.lightSlider { + overflow: hidden; + margin: 0; +} +.lSSlideWrapper { + max-width: 100%; + overflow: hidden; + position: relative; +} +.lSSlideWrapper > .lightSlider:after { + clear: both; +} +.lSSlideWrapper .lSSlide { + -webkit-transform: translate(0px, 0px); + -ms-transform: translate(0px, 0px); + transform: translate(0px, 0px); + -webkit-transition: all 1s; + -webkit-transition-property: -webkit-transform,height; + -moz-transition-property: -moz-transform,height; + transition-property: transform,height; + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} +.lSSlideWrapper .lSFade { + position: relative; +} +.lSSlideWrapper .lSFade > * { + position: absolute !important; + top: 0; + left: 0; + z-index: 9; + margin-right: 0; + width: 100%; +} +.lSSlideWrapper.usingCss .lSFade > * { + opacity: 0; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} +.lSSlideWrapper .lSFade > *.active { + z-index: 10; +} +.lSSlideWrapper.usingCss .lSFade > *.active { + opacity: 1; +} +/** /!!! End of core css Should not edit !!!/**/ + +/* Pager */ +.lSSlideOuter .lSPager.lSpg { + margin: 10px 0 0; + padding: 0; + text-align: center; +} +.lSSlideOuter .lSPager.lSpg > li { + cursor: pointer; + display: inline-block; + padding: 0 5px; +} +.lSSlideOuter .lSPager.lSpg > li a { + background-color: #222222; + border-radius: 30px; + display: inline-block; + height: 8px; + overflow: hidden; + text-indent: -999em; + width: 8px; + position: relative; + z-index: 5; + -webkit-transition: all 0.5s linear 0s; + transition: all 0.5s linear 0s; +} +.lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a { + background-color: #428bca; +} +.lSSlideOuter .media { + opacity: 0.8; +} +.lSSlideOuter .media.active { + opacity: 1; +} +/* End of pager */ + +/** Gallery */ +.lSSlideOuter .lSPager.lSGallery { + list-style: none outside none; + padding-left: 0; + margin: 0; + overflow: hidden; + transform: translate3d(0px, 0px, 0px); + -moz-transform: translate3d(0px, 0px, 0px); + -ms-transform: translate3d(0px, 0px, 0px); + -webkit-transform: translate3d(0px, 0px, 0px); + -o-transform: translate3d(0px, 0px, 0px); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.lSSlideOuter .lSPager.lSGallery li { + overflow: hidden; + -webkit-transition: border-radius 0.12s linear 0s 0.35s linear 0s; + transition: border-radius 0.12s linear 0s 0.35s linear 0s; +} +.lSSlideOuter .lSPager.lSGallery li.active, .lSSlideOuter .lSPager.lSGallery li:hover { + border-radius: 5px; +} +.lSSlideOuter .lSPager.lSGallery img { + display: block; + height: auto; + max-width: 100%; +} +.lSSlideOuter .lSPager.lSGallery:before, .lSSlideOuter .lSPager.lSGallery:after { + content: " "; + display: table; +} +.lSSlideOuter .lSPager.lSGallery:after { + clear: both; +} +/* End of Gallery*/ + +/* slider actions */ +.lSAction > a { + width: 32px; + display: block; + top: 50%; + height: 32px; + background-image: url('../img/controls.png'); + cursor: pointer; + position: absolute; + z-index: 5; + margin-top: -16px; + opacity: 0.5; + -webkit-transition: opacity 0.35s linear 0s; + transition: opacity 0.35s linear 0s; +} +.lSAction > a:hover { + opacity: 1; +} +.lSAction > .lSPrev { + background-position: 0 0; + left: 10px; +} +.lSAction > .lSNext { + background-position: -32px 0; + right: 10px; +} +.lSAction > a.disabled { + pointer-events: none; +} +.cS-hidden { + height: 1px; + opacity: 0; + filter: alpha(opacity=0); + overflow: hidden; +} + + +/* vertical */ +.lSSlideOuter.vertical { + position: relative; +} +.lSSlideOuter.vertical.noPager { + padding-right: 0px !important; +} +.lSSlideOuter.vertical .lSGallery { + position: absolute !important; + right: 0; + top: 0; +} +.lSSlideOuter.vertical .lightSlider > * { + width: 100% !important; + max-width: none !important; +} + +/* vertical controlls */ +.lSSlideOuter.vertical .lSAction > a { + left: 50%; + margin-left: -14px; + margin-top: 0; +} +.lSSlideOuter.vertical .lSAction > .lSNext { + background-position: 31px -31px; + bottom: 10px; + top: auto; +} +.lSSlideOuter.vertical .lSAction > .lSPrev { + background-position: 0 -31px; + bottom: auto; + top: 10px; +} +/* vertical */ + + +/* Rtl */ +.lSSlideOuter.lSrtl { + direction: rtl; +} +.lSSlideOuter .lightSlider, .lSSlideOuter .lSPager { + padding-left: 0; + list-style: none outside none; +} +.lSSlideOuter.lSrtl .lightSlider, .lSSlideOuter.lSrtl .lSPager { + padding-right: 0; +} +.lSSlideOuter .lightSlider > *, .lSSlideOuter .lSGallery li { + float: left; +} +.lSSlideOuter.lSrtl .lightSlider > *, .lSSlideOuter.lSrtl .lSGallery li { + float: right !important; +} +/* Rtl */ + +@-webkit-keyframes rightEnd { + 0% { + left: 0; + } + + 50% { + left: -15px; + } + + 100% { + left: 0; + } +} +@keyframes rightEnd { + 0% { + left: 0; + } + + 50% { + left: -15px; + } + + 100% { + left: 0; + } +} +@-webkit-keyframes topEnd { + 0% { + top: 0; + } + + 50% { + top: -15px; + } + + 100% { + top: 0; + } +} +@keyframes topEnd { + 0% { + top: 0; + } + + 50% { + top: -15px; + } + + 100% { + top: 0; + } +} +@-webkit-keyframes leftEnd { + 0% { + left: 0; + } + + 50% { + left: 15px; + } + + 100% { + left: 0; + } +} +@keyframes leftEnd { + 0% { + left: 0; + } + + 50% { + left: 15px; + } + + 100% { + left: 0; + } +} +@-webkit-keyframes bottomEnd { + 0% { + bottom: 0; + } + + 50% { + bottom: -15px; + } + + 100% { + bottom: 0; + } +} +@keyframes bottomEnd { + 0% { + bottom: 0; + } + + 50% { + bottom: -15px; + } + + 100% { + bottom: 0; + } +} +.lSSlideOuter .rightEnd { + -webkit-animation: rightEnd 0.3s; + animation: rightEnd 0.3s; + position: relative; +} +.lSSlideOuter .leftEnd { + -webkit-animation: leftEnd 0.3s; + animation: leftEnd 0.3s; + position: relative; +} +.lSSlideOuter.vertical .rightEnd { + -webkit-animation: topEnd 0.3s; + animation: topEnd 0.3s; + position: relative; +} +.lSSlideOuter.vertical .leftEnd { + -webkit-animation: bottomEnd 0.3s; + animation: bottomEnd 0.3s; + position: relative; +} +.lSSlideOuter.lSrtl .rightEnd { + -webkit-animation: leftEnd 0.3s; + animation: leftEnd 0.3s; + position: relative; +} +.lSSlideOuter.lSrtl .leftEnd { + -webkit-animation: rightEnd 0.3s; + animation: rightEnd 0.3s; + position: relative; +} +/*/ GRab cursor */ +.lightSlider.lsGrab > * { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.lightSlider.lsGrabbing > * { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} \ No newline at end of file diff --git a/ELECTHON/static/css/lightslider.js b/ELECTHON/static/css/lightslider.js new file mode 100644 index 0000000..83ee91c --- /dev/null +++ b/ELECTHON/static/css/lightslider.js @@ -0,0 +1,1143 @@ +/*! lightslider - v1.1.6 - 2016-10-25 +* https://github.com/sachinchoolur/lightslider +* Copyright (c) 2016 Sachin N; Licensed MIT */ +(function ($, undefined) { + 'use strict'; + var defaults = { + item: 3, + autoWidth: false, + slideMove: 1, + slideMargin: 10, + addClass: '', + mode: 'slide', + useCSS: true, + cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)', + easing: 'linear', //'for jquery animation',// + speed: 400, //ms' + auto: false, + pauseOnHover: false, + loop: false, + slideEndAnimation: true, + pause: 2000, + keyPress: false, + controls: true, + prevHtml: '', + nextHtml: '', + rtl: false, + adaptiveHeight: false, + vertical: false, + verticalHeight: 500, + vThumbWidth: 100, + thumbItem: 10, + pager: true, + gallery: false, + galleryMargin: 5, + thumbMargin: 5, + currentPagerPosition: 'middle', + enableTouch: true, + enableDrag: true, + freeMove: true, + swipeThreshold: 40, + responsive: [], + /* jshint ignore:start */ + onBeforeStart: function ($el) {}, + onSliderLoad: function ($el) {}, + onBeforeSlide: function ($el, scene) {}, + onAfterSlide: function ($el, scene) {}, + onBeforeNextSlide: function ($el, scene) {}, + onBeforePrevSlide: function ($el, scene) {} + /* jshint ignore:end */ + }; + $.fn.lightSlider = function (options) { + if (this.length === 0) { + return this; + } + + if (this.length > 1) { + this.each(function () { + $(this).lightSlider(options); + }); + return this; + } + + var plugin = {}, + settings = $.extend(true, {}, defaults, options), + settingsTemp = {}, + $el = this; + plugin.$el = this; + + if (settings.mode === 'fade') { + settings.vertical = false; + } + var $children = $el.children(), + windowW = $(window).width(), + breakpoint = null, + resposiveObj = null, + length = 0, + w = 0, + on = false, + elSize = 0, + $slide = '', + scene = 0, + property = (settings.vertical === true) ? 'height' : 'width', + gutter = (settings.vertical === true) ? 'margin-bottom' : 'margin-right', + slideValue = 0, + pagerWidth = 0, + slideWidth = 0, + thumbWidth = 0, + interval = null, + isTouch = ('ontouchstart' in document.documentElement); + var refresh = {}; + + refresh.chbreakpoint = function () { + windowW = $(window).width(); + if (settings.responsive.length) { + var item; + if (settings.autoWidth === false) { + item = settings.item; + } + if (windowW < settings.responsive[0].breakpoint) { + for (var i = 0; i < settings.responsive.length; i++) { + if (windowW < settings.responsive[i].breakpoint) { + breakpoint = settings.responsive[i].breakpoint; + resposiveObj = settings.responsive[i]; + } + } + } + if (typeof resposiveObj !== 'undefined' && resposiveObj !== null) { + for (var j in resposiveObj.settings) { + if (resposiveObj.settings.hasOwnProperty(j)) { + if (typeof settingsTemp[j] === 'undefined' || settingsTemp[j] === null) { + settingsTemp[j] = settings[j]; + } + settings[j] = resposiveObj.settings[j]; + } + } + } + if (!$.isEmptyObject(settingsTemp) && windowW > settings.responsive[0].breakpoint) { + for (var k in settingsTemp) { + if (settingsTemp.hasOwnProperty(k)) { + settings[k] = settingsTemp[k]; + } + } + } + if (settings.autoWidth === false) { + if (slideValue > 0 && slideWidth > 0) { + if (item !== settings.item) { + scene = Math.round(slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove)); + } + } + } + } + }; + + refresh.calSW = function () { + if (settings.autoWidth === false) { + slideWidth = (elSize - ((settings.item * (settings.slideMargin)) - settings.slideMargin)) / settings.item; + } + }; + + refresh.calWidth = function (cln) { + var ln = cln === true ? $slide.find('.lslide').length : $children.length; + if (settings.autoWidth === false) { + w = ln * (slideWidth + settings.slideMargin); + } else { + w = 0; + for (var i = 0; i < ln; i++) { + w += (parseInt($children.eq(i).width()) + settings.slideMargin); + } + } + return w; + }; + plugin = { + doCss: function () { + var support = function () { + var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; + var root = document.documentElement; + for (var i = 0; i < transition.length; i++) { + if (transition[i] in root.style) { + return true; + } + } + }; + if (settings.useCSS && support()) { + return true; + } + return false; + }, + keyPress: function () { + if (settings.keyPress) { + $(document).on('keyup.lightslider', function (e) { + if (!$(':focus').is('input, textarea')) { + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + if (e.keyCode === 37) { + $el.goToPrevSlide(); + } else if (e.keyCode === 39) { + $el.goToNextSlide(); + } + } + }); + } + }, + controls: function () { + if (settings.controls) { + $el.after('
' + settings.prevHtml + '' + settings.nextHtml + '
'); + if (!settings.autoWidth) { + if (length <= settings.item) { + $slide.find('.lSAction').hide(); + } + } else { + if (refresh.calWidth(false) < elSize) { + $slide.find('.lSAction').hide(); + } + } + $slide.find('.lSAction a').on('click', function (e) { + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + if ($(this).attr('class') === 'lSPrev') { + $el.goToPrevSlide(); + } else { + $el.goToNextSlide(); + } + return false; + }); + } + }, + initialStyle: function () { + var $this = this; + if (settings.mode === 'fade') { + settings.autoWidth = false; + settings.slideEndAnimation = false; + } + if (settings.auto) { + settings.slideEndAnimation = false; + } + if (settings.autoWidth) { + settings.slideMove = 1; + settings.item = 1; + } + if (settings.loop) { + settings.slideMove = 1; + settings.freeMove = false; + } + settings.onBeforeStart.call(this, $el); + refresh.chbreakpoint(); + $el.addClass('lightSlider').wrap('
'); + $slide = $el.parent('.lSSlideWrapper'); + if (settings.rtl === true) { + $slide.parent().addClass('lSrtl'); + } + if (settings.vertical) { + $slide.parent().addClass('vertical'); + elSize = settings.verticalHeight; + $slide.css('height', elSize + 'px'); + } else { + elSize = $el.outerWidth(); + } + $children.addClass('lslide'); + if (settings.loop === true && settings.mode === 'slide') { + refresh.calSW(); + refresh.clone = function () { + if (refresh.calWidth(true) > elSize) { + /**/ + var tWr = 0, + tI = 0; + for (var k = 0; k < $children.length; k++) { + tWr += (parseInt($el.find('.lslide').eq(k).width()) + settings.slideMargin); + tI++; + if (tWr >= (elSize + settings.slideMargin)) { + break; + } + } + var tItem = settings.autoWidth === true ? tI : settings.item; + + /**/ + if (tItem < $el.find('.clone.left').length) { + for (var i = 0; i < $el.find('.clone.left').length - tItem; i++) { + $children.eq(i).remove(); + } + } + if (tItem < $el.find('.clone.right').length) { + for (var j = $children.length - 1; j > ($children.length - 1 - $el.find('.clone.right').length); j--) { + scene--; + $children.eq(j).remove(); + } + } + /**/ + for (var n = $el.find('.clone.right').length; n < tItem; n++) { + $el.find('.lslide').eq(n).clone().removeClass('lslide').addClass('clone right').appendTo($el); + scene++; + } + for (var m = $el.find('.lslide').length - $el.find('.clone.left').length; m > ($el.find('.lslide').length - tItem); m--) { + $el.find('.lslide').eq(m - 1).clone().removeClass('lslide').addClass('clone left').prependTo($el); + } + $children = $el.children(); + } else { + if ($children.hasClass('clone')) { + $el.find('.clone').remove(); + $this.move($el, 0); + } + } + }; + refresh.clone(); + } + refresh.sSW = function () { + length = $children.length; + if (settings.rtl === true && settings.vertical === false) { + gutter = 'margin-left'; + } + if (settings.autoWidth === false) { + $children.css(property, slideWidth + 'px'); + } + $children.css(gutter, settings.slideMargin + 'px'); + w = refresh.calWidth(false); + $el.css(property, w + 'px'); + if (settings.loop === true && settings.mode === 'slide') { + if (on === false) { + scene = $el.find('.clone.left').length; + } + } + }; + refresh.calL = function () { + $children = $el.children(); + length = $children.length; + }; + if (this.doCss()) { + $slide.addClass('usingCss'); + } + refresh.calL(); + if (settings.mode === 'slide') { + refresh.calSW(); + refresh.sSW(); + if (settings.loop === true) { + slideValue = $this.slideValue(); + this.move($el, slideValue); + } + if (settings.vertical === false) { + this.setHeight($el, false); + } + + } else { + this.setHeight($el, true); + $el.addClass('lSFade'); + if (!this.doCss()) { + $children.fadeOut(0); + $children.eq(scene).fadeIn(0); + } + } + if (settings.loop === true && settings.mode === 'slide') { + $children.eq(scene).addClass('active'); + } else { + $children.first().addClass('active'); + } + }, + pager: function () { + var $this = this; + refresh.createPager = function () { + thumbWidth = (elSize - ((settings.thumbItem * (settings.thumbMargin)) - settings.thumbMargin)) / settings.thumbItem; + var $children = $slide.find('.lslide'); + var length = $slide.find('.lslide').length; + var i = 0, + pagers = '', + v = 0; + for (i = 0; i < length; i++) { + if (settings.mode === 'slide') { + // calculate scene * slide value + if (!settings.autoWidth) { + v = i * ((slideWidth + settings.slideMargin) * settings.slideMove); + } else { + v += ((parseInt($children.eq(i).width()) + settings.slideMargin) * settings.slideMove); + } + } + var thumb = $children.eq(i * settings.slideMove).attr('data-thumb'); + if (settings.gallery === true) { + pagers += '
  • '; + } else { + pagers += '
  • ' + (i + 1) + '
  • '; + } + if (settings.mode === 'slide') { + if ((v) >= w - elSize - settings.slideMargin) { + i = i + 1; + var minPgr = 2; + if (settings.autoWidth) { + pagers += '
  • ' + (i + 1) + '
  • '; + minPgr = 1; + } + if (i < minPgr) { + pagers = null; + $slide.parent().addClass('noPager'); + } else { + $slide.parent().removeClass('noPager'); + } + break; + } + } + } + var $cSouter = $slide.parent(); + $cSouter.find('.lSPager').html(pagers); + if (settings.gallery === true) { + if (settings.vertical === true) { + // set Gallery thumbnail width + $cSouter.find('.lSPager').css('width', settings.vThumbWidth + 'px'); + } + pagerWidth = (i * (settings.thumbMargin + thumbWidth)) + 0.5; + $cSouter.find('.lSPager').css({ + property: pagerWidth + 'px', + 'transition-duration': settings.speed + 'ms' + }); + if (settings.vertical === true) { + $slide.parent().css('padding-right', (settings.vThumbWidth + settings.galleryMargin) + 'px'); + } + $cSouter.find('.lSPager').css(property, pagerWidth + 'px'); + } + var $pager = $cSouter.find('.lSPager').find('li'); + $pager.first().addClass('active'); + $pager.on('click', function () { + if (settings.loop === true && settings.mode === 'slide') { + scene = scene + ($pager.index(this) - $cSouter.find('.lSPager').find('li.active').index()); + } else { + scene = $pager.index(this); + } + $el.mode(false); + if (settings.gallery === true) { + $this.slideThumb(); + } + return false; + }); + }; + if (settings.pager) { + var cl = 'lSpg'; + if (settings.gallery) { + cl = 'lSGallery'; + } + $slide.after(''); + var gMargin = (settings.vertical) ? 'margin-left' : 'margin-top'; + $slide.parent().find('.lSPager').css(gMargin, settings.galleryMargin + 'px'); + refresh.createPager(); + } + + setTimeout(function () { + refresh.init(); + }, 0); + }, + setHeight: function (ob, fade) { + var obj = null, + $this = this; + if (settings.loop) { + obj = ob.children('.lslide ').first(); + } else { + obj = ob.children().first(); + } + var setCss = function () { + var tH = obj.outerHeight(), + tP = 0, + tHT = tH; + if (fade) { + tH = 0; + tP = ((tHT) * 100) / elSize; + } + ob.css({ + 'height': tH + 'px', + 'padding-bottom': tP + '%' + }); + }; + setCss(); + if (obj.find('img').length) { + if ( obj.find('img')[0].complete) { + setCss(); + if (!interval) { + $this.auto(); + } + }else{ + obj.find('img').on('load', function () { + setTimeout(function () { + setCss(); + if (!interval) { + $this.auto(); + } + }, 100); + }); + } + }else{ + if (!interval) { + $this.auto(); + } + } + }, + active: function (ob, t) { + if (this.doCss() && settings.mode === 'fade') { + $slide.addClass('on'); + } + var sc = 0; + if (scene * settings.slideMove < length) { + ob.removeClass('active'); + if (!this.doCss() && settings.mode === 'fade' && t === false) { + ob.fadeOut(settings.speed); + } + if (t === true) { + sc = scene; + } else { + sc = scene * settings.slideMove; + } + //t === true ? sc = scene : sc = scene * settings.slideMove; + var l, nl; + if (t === true) { + l = ob.length; + nl = l - 1; + if (sc + 1 >= l) { + sc = nl; + } + } + if (settings.loop === true && settings.mode === 'slide') { + //t === true ? sc = scene - $el.find('.clone.left').length : sc = scene * settings.slideMove; + if (t === true) { + sc = scene - $el.find('.clone.left').length; + } else { + sc = scene * settings.slideMove; + } + if (t === true) { + l = ob.length; + nl = l - 1; + if (sc + 1 === l) { + sc = nl; + } else if (sc + 1 > l) { + sc = 0; + } + } + } + + if (!this.doCss() && settings.mode === 'fade' && t === false) { + ob.eq(sc).fadeIn(settings.speed); + } + ob.eq(sc).addClass('active'); + } else { + ob.removeClass('active'); + ob.eq(ob.length - 1).addClass('active'); + if (!this.doCss() && settings.mode === 'fade' && t === false) { + ob.fadeOut(settings.speed); + ob.eq(sc).fadeIn(settings.speed); + } + } + }, + move: function (ob, v) { + if (settings.rtl === true) { + v = -v; + } + if (this.doCss()) { + if (settings.vertical === true) { + ob.css({ + 'transform': 'translate3d(0px, ' + (-v) + 'px, 0px)', + '-webkit-transform': 'translate3d(0px, ' + (-v) + 'px, 0px)' + }); + } else { + ob.css({ + 'transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', + '-webkit-transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', + }); + } + } else { + if (settings.vertical === true) { + ob.css('position', 'relative').animate({ + top: -v + 'px' + }, settings.speed, settings.easing); + } else { + ob.css('position', 'relative').animate({ + left: -v + 'px' + }, settings.speed, settings.easing); + } + } + var $thumb = $slide.parent().find('.lSPager').find('li'); + this.active($thumb, true); + }, + fade: function () { + this.active($children, false); + var $thumb = $slide.parent().find('.lSPager').find('li'); + this.active($thumb, true); + }, + slide: function () { + var $this = this; + refresh.calSlide = function () { + if (w > elSize) { + slideValue = $this.slideValue(); + $this.active($children, false); + if ((slideValue) > w - elSize - settings.slideMargin) { + slideValue = w - elSize - settings.slideMargin; + } else if (slideValue < 0) { + slideValue = 0; + } + $this.move($el, slideValue); + if (settings.loop === true && settings.mode === 'slide') { + if (scene >= (length - ($el.find('.clone.left').length / settings.slideMove))) { + $this.resetSlide($el.find('.clone.left').length); + } + if (scene === 0) { + $this.resetSlide($slide.find('.lslide').length); + } + } + } + }; + refresh.calSlide(); + }, + resetSlide: function (s) { + var $this = this; + $slide.find('.lSAction a').addClass('disabled'); + setTimeout(function () { + scene = s; + $slide.css('transition-duration', '0ms'); + slideValue = $this.slideValue(); + $this.active($children, false); + plugin.move($el, slideValue); + setTimeout(function () { + $slide.css('transition-duration', settings.speed + 'ms'); + $slide.find('.lSAction a').removeClass('disabled'); + }, 50); + }, settings.speed + 100); + }, + slideValue: function () { + var _sV = 0; + if (settings.autoWidth === false) { + _sV = scene * ((slideWidth + settings.slideMargin) * settings.slideMove); + } else { + _sV = 0; + for (var i = 0; i < scene; i++) { + _sV += (parseInt($children.eq(i).width()) + settings.slideMargin); + } + } + return _sV; + }, + slideThumb: function () { + var position; + switch (settings.currentPagerPosition) { + case 'left': + position = 0; + break; + case 'middle': + position = (elSize / 2) - (thumbWidth / 2); + break; + case 'right': + position = elSize - thumbWidth; + } + var sc = scene - $el.find('.clone.left').length; + var $pager = $slide.parent().find('.lSPager'); + if (settings.mode === 'slide' && settings.loop === true) { + if (sc >= $pager.children().length) { + sc = 0; + } else if (sc < 0) { + sc = $pager.children().length; + } + } + var thumbSlide = sc * ((thumbWidth + settings.thumbMargin)) - (position); + if ((thumbSlide + elSize) > pagerWidth) { + thumbSlide = pagerWidth - elSize - settings.thumbMargin; + } + if (thumbSlide < 0) { + thumbSlide = 0; + } + this.move($pager, thumbSlide); + }, + auto: function () { + if (settings.auto) { + clearInterval(interval); + interval = setInterval(function () { + $el.goToNextSlide(); + }, settings.pause); + } + }, + pauseOnHover: function(){ + var $this = this; + if (settings.auto && settings.pauseOnHover) { + $slide.on('mouseenter', function(){ + $(this).addClass('ls-hover'); + $el.pause(); + settings.auto = true; + }); + $slide.on('mouseleave',function(){ + $(this).removeClass('ls-hover'); + if (!$slide.find('.lightSlider').hasClass('lsGrabbing')) { + $this.auto(); + } + }); + } + }, + touchMove: function (endCoords, startCoords) { + $slide.css('transition-duration', '0ms'); + if (settings.mode === 'slide') { + var distance = endCoords - startCoords; + var swipeVal = slideValue - distance; + if ((swipeVal) >= w - elSize - settings.slideMargin) { + if (settings.freeMove === false) { + swipeVal = w - elSize - settings.slideMargin; + } else { + var swipeValT = w - elSize - settings.slideMargin; + swipeVal = swipeValT + ((swipeVal - swipeValT) / 5); + + } + } else if (swipeVal < 0) { + if (settings.freeMove === false) { + swipeVal = 0; + } else { + swipeVal = swipeVal / 5; + } + } + this.move($el, swipeVal); + } + }, + + touchEnd: function (distance) { + $slide.css('transition-duration', settings.speed + 'ms'); + if (settings.mode === 'slide') { + var mxVal = false; + var _next = true; + slideValue = slideValue - distance; + if ((slideValue) > w - elSize - settings.slideMargin) { + slideValue = w - elSize - settings.slideMargin; + if (settings.autoWidth === false) { + mxVal = true; + } + } else if (slideValue < 0) { + slideValue = 0; + } + var gC = function (next) { + var ad = 0; + if (!mxVal) { + if (next) { + ad = 1; + } + } + if (!settings.autoWidth) { + var num = slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove); + scene = parseInt(num) + ad; + if (slideValue >= (w - elSize - settings.slideMargin)) { + if (num % 1 !== 0) { + scene++; + } + } + } else { + var tW = 0; + for (var i = 0; i < $children.length; i++) { + tW += (parseInt($children.eq(i).width()) + settings.slideMargin); + scene = i + ad; + if (tW >= slideValue) { + break; + } + } + } + }; + if (distance >= settings.swipeThreshold) { + gC(false); + _next = false; + } else if (distance <= -settings.swipeThreshold) { + gC(true); + _next = false; + } + $el.mode(_next); + this.slideThumb(); + } else { + if (distance >= settings.swipeThreshold) { + $el.goToPrevSlide(); + } else if (distance <= -settings.swipeThreshold) { + $el.goToNextSlide(); + } + } + }, + + + + enableDrag: function () { + var $this = this; + if (!isTouch) { + var startCoords = 0, + endCoords = 0, + isDraging = false; + $slide.find('.lightSlider').addClass('lsGrab'); + $slide.on('mousedown', function (e) { + if (w < elSize) { + if (w !== 0) { + return false; + } + } + if ($(e.target).attr('class') !== ('lSPrev') && $(e.target).attr('class') !== ('lSNext')) { + startCoords = (settings.vertical === true) ? e.pageY : e.pageX; + isDraging = true; + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + $slide.scrollLeft += 1; + $slide.scrollLeft -= 1; + // * + $slide.find('.lightSlider').removeClass('lsGrab').addClass('lsGrabbing'); + clearInterval(interval); + } + }); + $(window).on('mousemove', function (e) { + if (isDraging) { + endCoords = (settings.vertical === true) ? e.pageY : e.pageX; + $this.touchMove(endCoords, startCoords); + } + }); + $(window).on('mouseup', function (e) { + if (isDraging) { + $slide.find('.lightSlider').removeClass('lsGrabbing').addClass('lsGrab'); + isDraging = false; + endCoords = (settings.vertical === true) ? e.pageY : e.pageX; + var distance = endCoords - startCoords; + if (Math.abs(distance) >= settings.swipeThreshold) { + $(window).on('click.ls', function (e) { + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + e.stopImmediatePropagation(); + e.stopPropagation(); + $(window).off('click.ls'); + }); + } + + $this.touchEnd(distance); + + } + }); + } + }, + + + + + enableTouch: function () { + var $this = this; + if (isTouch) { + var startCoords = {}, + endCoords = {}; + $slide.on('touchstart', function (e) { + endCoords = e.originalEvent.targetTouches[0]; + startCoords.pageX = e.originalEvent.targetTouches[0].pageX; + startCoords.pageY = e.originalEvent.targetTouches[0].pageY; + clearInterval(interval); + }); + $slide.on('touchmove', function (e) { + if (w < elSize) { + if (w !== 0) { + return false; + } + } + var orig = e.originalEvent; + endCoords = orig.targetTouches[0]; + var xMovement = Math.abs(endCoords.pageX - startCoords.pageX); + var yMovement = Math.abs(endCoords.pageY - startCoords.pageY); + if (settings.vertical === true) { + if ((yMovement * 3) > xMovement) { + e.preventDefault(); + } + $this.touchMove(endCoords.pageY, startCoords.pageY); + } else { + if ((xMovement * 3) > yMovement) { + e.preventDefault(); + } + $this.touchMove(endCoords.pageX, startCoords.pageX); + } + + }); + $slide.on('touchend', function () { + if (w < elSize) { + if (w !== 0) { + return false; + } + } + var distance; + if (settings.vertical === true) { + distance = endCoords.pageY - startCoords.pageY; + } else { + distance = endCoords.pageX - startCoords.pageX; + } + $this.touchEnd(distance); + }); + } + }, + build: function () { + var $this = this; + $this.initialStyle(); + if (this.doCss()) { + + if (settings.enableTouch === true) { + $this.enableTouch(); + } + if (settings.enableDrag === true) { + $this.enableDrag(); + } + } + + $(window).on('focus', function(){ + $this.auto(); + }); + + $(window).on('blur', function(){ + clearInterval(interval); + }); + + $this.pager(); + $this.pauseOnHover(); + $this.controls(); + $this.keyPress(); + } + }; + plugin.build(); + refresh.init = function () { + refresh.chbreakpoint(); + if (settings.vertical === true) { + if (settings.item > 1) { + elSize = settings.verticalHeight; + } else { + elSize = $children.outerHeight(); + } + $slide.css('height', elSize + 'px'); + } else { + elSize = $slide.outerWidth(); + } + if (settings.loop === true && settings.mode === 'slide') { + refresh.clone(); + } + refresh.calL(); + if (settings.mode === 'slide') { + $el.removeClass('lSSlide'); + } + if (settings.mode === 'slide') { + refresh.calSW(); + refresh.sSW(); + } + setTimeout(function () { + if (settings.mode === 'slide') { + $el.addClass('lSSlide'); + } + }, 1000); + if (settings.pager) { + refresh.createPager(); + } + if (settings.adaptiveHeight === true && settings.vertical === false) { + $el.css('height', $children.eq(scene).outerHeight(true)); + } + if (settings.adaptiveHeight === false) { + if (settings.mode === 'slide') { + if (settings.vertical === false) { + plugin.setHeight($el, false); + }else{ + plugin.auto(); + } + } else { + plugin.setHeight($el, true); + } + } + if (settings.gallery === true) { + plugin.slideThumb(); + } + if (settings.mode === 'slide') { + plugin.slide(); + } + if (settings.autoWidth === false) { + if ($children.length <= settings.item) { + $slide.find('.lSAction').hide(); + } else { + $slide.find('.lSAction').show(); + } + } else { + if ((refresh.calWidth(false) < elSize) && (w !== 0)) { + $slide.find('.lSAction').hide(); + } else { + $slide.find('.lSAction').show(); + } + } + }; + $el.goToPrevSlide = function () { + if (scene > 0) { + settings.onBeforePrevSlide.call(this, $el, scene); + scene--; + $el.mode(false); + if (settings.gallery === true) { + plugin.slideThumb(); + } + } else { + if (settings.loop === true) { + settings.onBeforePrevSlide.call(this, $el, scene); + if (settings.mode === 'fade') { + var l = (length - 1); + scene = parseInt(l / settings.slideMove); + } + $el.mode(false); + if (settings.gallery === true) { + plugin.slideThumb(); + } + } else if (settings.slideEndAnimation === true) { + $el.addClass('leftEnd'); + setTimeout(function () { + $el.removeClass('leftEnd'); + }, 400); + } + } + }; + $el.goToNextSlide = function () { + var nextI = true; + if (settings.mode === 'slide') { + var _slideValue = plugin.slideValue(); + nextI = _slideValue < w - elSize - settings.slideMargin; + } + if (((scene * settings.slideMove) < length - settings.slideMove) && nextI) { + settings.onBeforeNextSlide.call(this, $el, scene); + scene++; + $el.mode(false); + if (settings.gallery === true) { + plugin.slideThumb(); + } + } else { + if (settings.loop === true) { + settings.onBeforeNextSlide.call(this, $el, scene); + scene = 0; + $el.mode(false); + if (settings.gallery === true) { + plugin.slideThumb(); + } + } else if (settings.slideEndAnimation === true) { + $el.addClass('rightEnd'); + setTimeout(function () { + $el.removeClass('rightEnd'); + }, 400); + } + } + }; + $el.mode = function (_touch) { + if (settings.adaptiveHeight === true && settings.vertical === false) { + $el.css('height', $children.eq(scene).outerHeight(true)); + } + if (on === false) { + if (settings.mode === 'slide') { + if (plugin.doCss()) { + $el.addClass('lSSlide'); + if (settings.speed !== '') { + $slide.css('transition-duration', settings.speed + 'ms'); + } + if (settings.cssEasing !== '') { + $slide.css('transition-timing-function', settings.cssEasing); + } + } + } else { + if (plugin.doCss()) { + if (settings.speed !== '') { + $el.css('transition-duration', settings.speed + 'ms'); + } + if (settings.cssEasing !== '') { + $el.css('transition-timing-function', settings.cssEasing); + } + } + } + } + if (!_touch) { + settings.onBeforeSlide.call(this, $el, scene); + } + if (settings.mode === 'slide') { + plugin.slide(); + } else { + plugin.fade(); + } + if (!$slide.hasClass('ls-hover')) { + plugin.auto(); + } + setTimeout(function () { + if (!_touch) { + settings.onAfterSlide.call(this, $el, scene); + } + }, settings.speed); + on = true; + }; + $el.play = function () { + $el.goToNextSlide(); + settings.auto = true; + plugin.auto(); + }; + $el.pause = function () { + settings.auto = false; + clearInterval(interval); + }; + $el.refresh = function () { + refresh.init(); + }; + $el.getCurrentSlideCount = function () { + var sc = scene; + if (settings.loop) { + var ln = $slide.find('.lslide').length, + cl = $el.find('.clone.left').length; + if (scene <= cl - 1) { + sc = ln + (scene - cl); + } else if (scene >= (ln + cl)) { + sc = scene - ln - cl; + } else { + sc = scene - cl; + } + } + return sc + 1; + }; + $el.getTotalSlideCount = function () { + return $slide.find('.lslide').length; + }; + $el.goToSlide = function (s) { + if (settings.loop) { + scene = (s + $el.find('.clone.left').length - 1); + } else { + scene = s; + } + $el.mode(false); + if (settings.gallery === true) { + plugin.slideThumb(); + } + }; + $el.destroy = function () { + if ($el.lightSlider) { + $el.goToPrevSlide = function(){}; + $el.goToNextSlide = function(){}; + $el.mode = function(){}; + $el.play = function(){}; + $el.pause = function(){}; + $el.refresh = function(){}; + $el.getCurrentSlideCount = function(){}; + $el.getTotalSlideCount = function(){}; + $el.goToSlide = function(){}; + $el.lightSlider = null; + refresh = { + init : function(){} + }; + $el.parent().parent().find('.lSAction, .lSPager').remove(); + $el.removeClass('lightSlider lSFade lSSlide lsGrab lsGrabbing leftEnd right').removeAttr('style').unwrap().unwrap(); + $el.children().removeAttr('style'); + $children.removeClass('lslide active'); + $el.find('.clone').remove(); + $children = null; + interval = null; + on = false; + scene = 0; + } + + }; + setTimeout(function () { + settings.onSliderLoad.call(this, $el); + }, 10); + $(window).on('resize orientationchange', function (e) { + setTimeout(function () { + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + refresh.init(); + }, 200); + }); + return this; + }; +}(jQuery)); \ No newline at end of file diff --git a/ELECTHON/static/css/stylesheet.css b/ELECTHON/static/css/stylesheet.css new file mode 100644 index 0000000..8462b8e --- /dev/null +++ b/ELECTHON/static/css/stylesheet.css @@ -0,0 +1,773 @@ +@import url('https://fonts.googleapis.com/css2?family=Lobster+Two&family=Roboto:wght@400;500&display=swap'); +*{ + margin: 0; + padding: 0; + box-sizing: border-box; + text-decoration: none; +} +html{ + scroll-behavior: smooth; +} +/* custom scroll bar */ +::-webkit-scrollbar { + display: none; +} + +body{ + background-image: linear-gradient(rgba(0, 0, 0, 0), + rgba(0,0,0,0.55)), url(forest1.jpeg); + background-attachment: fixed; + background-size: cover; + font-family: 'Roboto', sans-serif; +} +.max-width{ + max-width: 1300px; + padding: 0 80px; + margin: auto; +} +/* Navbar */ +.navbar{ + position: fixed; + sc + width: 100%; + padding: 25px 0; + font-family: 'Roboto', sans-serif; + transition: all 0.5s ease; + z-index: 9; +} +.navbar.sticky{ + padding: 12px 0; + background-color: #000; +} +.navbar .max-width{ + display: flex; + align-items: center; + justify-content: space-between; +} +.navbar .logo a{ + color: rgb(255, 255, 255); + font-size: 30px; + font-weight: 600; + font-family: 'Lobster Two', cursive; +} +.navbar .logo img{ + width: 120px; + +} +.navbar .logo a span{ + color: #4295f5; +} +.navbar .menu li{ + list-style: none; + display: inline-block; +} +.navbar .menu li a{ + display: block; + color: rgb(255, 255, 255); + font-size: 14px; + font-weight: 500; + margin-left: 25px; + transition: color 0.5s ease; +} +.navbar .menu li a:hover{ + color: #4295f5; +} +.menu-btn{ + color: #fff; + font-size: 23px; + cursor: pointer; + display: none; +} + +/* scroll-up */ +.scroll-up{ + position: fixed; + height: 45px; + width: 45px; + background: #4295f5; + right: 30px; + bottom: 10px; + border-radius: 50%; + text-align: center; + line-height: 45px; + color: #fff; + z-index: 9; + font-size: 25px; + cursor: pointer; + opacity: 0; + pointer-events: none; + transition: all 0.5s ease; +} +.scroll-up.show{ + bottom: 30px; + opacity: 1; + pointer-events: auto; +} + +/* Home */ +.home{ + display: flex; + height: 768px; + background-size: cover; + color: #fff; + min-height: 500px; + text-align: center; +} +.home .home-content .text1{ + font-size: 27px; + letter-spacing: 2px; +} +.home .home-content .text2{ + font-size: 70px; + font-weight: 600; + padding: 10px 0; + font-family: 'Roboto', cursive; +} +.home .home-content .text2 span{ + color: #4295f5; +} +.home .home-content .text3{ + font-size: 20px; + letter-spacing: 2px; +} +.home .home-content a{ + display: inline-block; + background: #4295f5; + text-decoration: none; + color: rgb(0, 0, 0); + font-size: 18px; + font-weight: 500; + padding: 10px 20px; + margin-top: 20px; + border: 2px solid #4295f5; + border-radius: 5px; + transition: 0.3s ease; +} +.home .home-content a:hover{ + color: #fff; + background: none; +} + +/* Common tags */ +section .title{ + color: white; + position: relative; + margin-bottom: 60px; + text-align: center; + font-size: 40px; + font-weight: 500; + padding:50px 0 10px 0; + font-family: 'Ubuntu', sans-serif; + text-decoration: none; +} +section .title::before{ + content: ""; + position: absolute; + bottom: 0px; + left: 50%; + width: 180px; + height: 3px; + background: transparent; + transform: translateX(-50%); +} +.btn{ + display: inline-block; + background: #4295f5; + text-decoration: none; + color: rgb(255, 255, 255); + font-size: 15px; + font-weight: 400; + padding: 8px 20px; + margin-top: 20px; + transition: 0.3s ease; +} +.btn:hover{ + color: rgb(0, 0, 0); + background: none; +} + +/* About */ +.about{ + color: #000; + background-color: rgba(25, 25, 25, 0.6); + background : cover; + padding-bottom: 80px; +} +.about .about-content{ + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} +.about .about-content .col-l{ + width: 45%; +} +.about .about-content .col-l img{ + height: 400px; + width: 400px; + object-fit: cover; + border-radius: 6px; + border: 2px solid #0000; +} +.about .about-content .col-r{ + width: 55%; +} +.about .about-content .col-r .sub-heading{ + font-size: 25px; + font-weight: 600; + margin-bottom: 10px; + color: whitesmoke; +} +.about .about-content .col-r .sub-heading span{ + color: white; + font-weight: 600; +} +.about .about-content .col-r p{ + text-align: justify; + padding: 5px; + letter-spacing: 1px; + color: white; +} + +/* project */ +.project{ + color: #fff; + padding-bottom: 80px; + background: #111; +} +.project .prj-content{ + display: flex; + align-items: center; + justify-content: center; +} +.project .prj-content .card{ + width: 353px; + height: 450px; + padding: 1.5rem 1rem; + background: linear-gradient(135deg, #000d86, #01393d); + display: flex; + margin: 10px; + justify-content: center; + border-radius: 15px; + cursor: pointer; + transition: all 0.3s ease-in-out; +} +.project .prj-content .card img{ + width: 100%; + height: 220px; + object-fit: cover; + border: 4px solid #4295f5; + border-radius: 10px; +} +.project .prj-content .card .box{ + text-align: center; +} +.project .prj-content .card .text{ + font-size: 25px; + font-weight: 500; + margin: 20px 0 7px 0; +} + +/* Pricing */ +.pricing{ + color: #000; + background: #fff; + padding-bottom: 80px; +} +.pricing .price-content, .video .video-content, +.team .team-content, .blogs .blog-content, +.sub-content{ + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; +} +.pricing .price-content .col{ + text-align: center; + margin: 0 10px; + border: 2px solid #4295f5; + border-radius: 10px; + padding: 25px; +} +.pricing .price-content .col .price{ + color: #777; + font-weight: 500; + padding: 10px; +} + +/* Videos */ +.video{ + color: #fff; + padding-bottom: 80px; + background: #111; +} +.video .video-content .vid{ + margin: 20px; +} +.video .video-content .vid iframe{ + border: none; +} + +/* Team */ +.team{ + color: #000; + background-image: url(forest3.jpg); + background: no-repeat; + padding-bottom: 80px; +} +.team .team-content{ + position: relative; +} +.team .team-content .cards{ + position: relative; + width: 230px; + height: 320px; + background: #4295f5; + margin: 20px; + box-shadow: 0 20px 30px rgba(0,0,0,0.5); + border-radius: 15px; + display: flex; + justify-content: center; + align-items: center; +} +.team .team-content .cards .content{ + position: relative; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + opacity: 0.9; + transition: 0.5s; +} +.team .team-content .cards:hover .content{ + opacity: 1; + transform: translateY(-22px); +} +.team .team-content .cards .content .imgBx{ + position: relative; + width: 150px; + height: 150px; + border-radius: 50%; + overflow: hidden; + border: 8px solid rgb(238, 255, 0, .75); +} +.team .team-content .cards .content .imgBx img{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; +} +.team .team-content .cards .content .textBx h3{ + color: #000; + text-transform: capitalize; + letter-spacing: 2px; + font-weight: 600; + font-size: 18px; + text-align: center; + margin: 20px 0 10px; + line-height: 1.1em; +} +.team .team-content .cards .content .textBx h3 span{ + font-size: 12px; + font-weight: 500; + text-transform: initial; +} +.team .team-content .cards .sci{ + position: absolute; + bottom: 40px; + display: flex; +} +.team .team-content .cards .sci li{ + list-style: none; + margin: 0 10px; + transform: translateY(40px); + transition: 0.5s; + opacity: 0; + transition-delay: calc(0.1s * var(--i)); +} +.team .team-content .cards:hover .sci li{ + transform: translateY(0px); + opacity: 1; +} +.team .team-content .cards .sci li a{ + color: #000; + font-size: 24px; +} + +/* Gallery */ +.gallery{ + color: #fff; + padding-bottom: 80px; +} +.gallery-content{ + margin: auto; + width: 500px; +} +.gallery-content li img{ + position: absolute; + object-fit: cover; +} + +/* Blogs */ +.blogs{ + color: #fff; + background: #111; + padding-bottom: 80px; +} +.blogs .blog-content .col{ + width: 320px; + text-align: center; + margin: 10px; + background: #416591; + padding-bottom: 25px; +} +.blogs .blog-content .col:hover{ + background: #6b19af; + transition: 0.5s ease; +} +.blogs .blog-content .col img{ + width: 100%; + height: 220px; + object-fit: cover; +} +.blogs .blog-content .col h2{ + color: #fff; + padding: 10px; +} +.blogs .blog-content .col .details{ + color: #000; + font-weight: 500; + text-align: justify; + padding: 5px 20px; +} + +/* Signup */ +.sub{ + color: #fff ; + padding-bottom: 80px; +} +.news-input{ + padding: .8rem; + border: none; + font-size: medium; + width: 45%; + font-weight: 600; + color: #333; +} +.btn1{ + padding: .9rem; + background-color: #4295f5; + border: none; +} +.btn1:hover{ + color: #fff; + background: #333; + cursor: pointer; +} + +/* Contact */ +.contact{ + background: #fff; + padding-bottom: 80px; +} +.contact .contact-content{ + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-around; +} +.contact .contact-content .column{ + width: 45%; +} +.contact .contact-content .text{ + font-size: 20px; + font-weight: 600; + margin-bottom: 10px; +} +.contact .contact-content .left p{ + text-align: justify; +} +.contact .contact-content .left .icons{ + margin: 10px 0; +} +.contact .contact-content .row{ + display: flex; + height: 65px; + align-items: center; +} +.contact .contact-content .row .info{ + margin-left: 30px; +} +.contact .contact-content .row .info1{ + margin-left: 24px; +} +.contact .contact-content .row i{ + font-size: 25px; + color: #4295f5; +} +.contact .contact-content .info,.info1 .head{ + font-weight: 500; +} +.contact .contact-content .info,.info1 .sub-title{ + color: #333; +} +.contact .right form .fields{ + display: flex; +} +.contact .right form .field, +.contact .right form .fields .field{ + height: 45px; + width: 100%; + margin-bottom: 15px; +} +.contact .right form .textarea{ + height: 80px; + width: 100%; +} +.contact .right form .name{ + margin-right: 10px; +} +.contact .right form .field input, +.contact .right form .textarea textarea{ + height: 100%; + width: 100%; + border: 1px solid lightgrey; + border-radius: 6px; + outline: none; + padding: 0 15px; + font-size: 17px; + font-family: 'Poppins', sans-serif; + transition: all 0.3s ease; +} +.contact .right form .field input:focus, +.contact .right form .textarea textarea:focus{ + border-color: #09085E; +} +.contact .right form .textarea textarea{ + padding-top: 10px; + resize: none; +} +.contact .right form .button-area{ + display: flex; + align-items: center; +} +.right form .button-area button{ + color: #fff; + display: block; + width: 160px!important; + height: 45px; + outline: none; + font-size: 18px; + font-weight: 500; + border-radius: 6px; + cursor: pointer; + flex-wrap: nowrap; + background: #4295f5; + border: 2px solid #4295f5; + transition: all 0.3s ease; +} +.right form .button-area button:hover{ + color: #000; + background: none; +} + +/* footer */ +.row{ + display: flex; + flex-wrap: wrap; +} +ul{ + list-style: none; +} +.footer{ + background-color: #111; + padding-top: 60px; +} +.footer-col{ + width: 25%; + padding: 0 15px; +} +.footer-col h4{ + font-size: 18px; + color: #ffffff; + text-transform: capitalize; + margin-bottom: 35px; + font-weight: 500; + position: relative; +} +.footer-col h4::before{ + content: ''; + position: absolute; + left:0; + bottom: -10px; + background-color: #4295f5; + height: 2px; + box-sizing: border-box; + width: 50px; +} +.footer-col ul li:not(:last-child){ + margin-bottom: 10px; +} +.footer-col ul li a{ + font-size: 16px; + color: #ffffff; + text-decoration: none; + font-weight: 300; + color: #bbbbbb; + display: block; + transition: all 0.3s ease; +} +.footer-col ul li a:hover{ + color: #ffffff; + padding-left: 8px; +} +.footer-col .social-links a{ + display: inline-block; + height: 40px; + width: 40px; + background-color: #4296f5; + margin:0 10px 10px 0; + text-align: center; + line-height: 40px; + border-radius: 50%; + color: #ffffff; + transition: all 0.5s ease; +} +.footer-col .social-links a:hover{ + color: #24262b; + background-color: #ffffff; +} +hr{ + margin-top: 20px; + border-color: #bbbbbb; +} +.lst{ + color: #bbbbbb; + padding: 15px 23px; + text-align: center; +} +footer span a{ + color: #bbbbbb; + text-decoration: none; +} + +@media(max-width:1100px){ + .about .about-content .col-l img{ + height: 350px; + width: 350px; + } + .project .prj-content .card{ + margin-left: 45px; + } + .video .video-content iframe{ + width: 400px; + height: 200px; + } +} +@media(max-width:991px){ + .max-width{ + padding: 0 50px; + } + .menu-btn{ + color: #fff; + font-size: 23px; + cursor: pointer; + display: block; + z-index: 9; + } + .menu-btn i.active::before{ + content: "\f00d"; + } + .navbar .menu{ + position: fixed; + height: 100vh; + width: 40%; + right: -100%; + top: 0; + padding-top: 80px; + background: #4295f5; + text-align: center; + transition: all 0.5s ease; + z-index: 9; + } + .navbar .menu.active{ + right: 0; + } + .navbar .menu li{ + display: block; + } + .navbar .menu li a{ + display: inline-block; + margin: 20px 0; + font-size: 22px; + } + .navbar .menu li a:hover{ + color: #000; + } + .video .video-content iframe{ + width: 380px; + height: 250px; + } +} +@media(max-width:768px){ + .max-width{ + padding: 0 50px; + } + .about .about-content .column{ + width: 50%; + } + .about .about-content .col-l{ + display: flex; + justify-content: center; + margin: 0 auto 60px; + } + .about .about-content .col-r{ + flex: 100%; + } + .project .prj-content .card{ + width: 310px; + } + .pricing .price-content .col{ + margin: 10px; + padding-top: 20px; + } + .video .video-content iframe{ + width: 300px; + height: 200px; + } + .contact .contact-content .column{ + width: 100%; + margin-bottom: 35px; + } + .footer-col{ + width: 50%; + margin-bottom: 30px; + } +} +@media(max-width:690px){ + .contact .right form .fields{ + flex-direction: column; + } + .contact .right form .name, + .contact .right form .email{ + margin: 0; + } + .contact .right form .error-box{ + width: 150px; + } +} +@media(max-width: 574px){ + .project .prj-content .card{ + width: 295px; + margin-left: 5px; + } + .gallery-content{ + width: 385px; + } + .footer-col{ + width: 100%; + } +} \ No newline at end of file diff --git a/ELECTHON/templates/header.php b/ELECTHON/templates/header.php new file mode 100644 index 0000000..dffd776 --- /dev/null +++ b/ELECTHON/templates/header.php @@ -0,0 +1,102 @@ + + + + + + + Test + + + + + + + + + + + + + + + + + + + +
    + +
    + \ No newline at end of file diff --git a/ELECTHON/templates/index.html b/ELECTHON/templates/index.html new file mode 100644 index 0000000..a3a7f87 --- /dev/null +++ b/ELECTHON/templates/index.html @@ -0,0 +1,45 @@ + + + + + + + AVR + + + + + + + + + + + + + + + +
    +
    +
    NATIONAL VOTER SERVICE PORTAL
    +
    CAST YOUR VOTE
    +
    The Ballot is Stronger than the Bullet
    + + #LETS VOTE
    + +
    +
    +
    + + + \ No newline at end of file diff --git a/ELECTHON/templates/index.php b/ELECTHON/templates/index.php new file mode 100644 index 0000000..0a776cd --- /dev/null +++ b/ELECTHON/templates/index.php @@ -0,0 +1,154 @@ + + +getMessage(); +} +// define daterange +$dateCond = ''; +if (!empty($_GET['from']) && !empty($_GET['to'])) { +$dateCond = "DATE(trn_date) >= '{$_GET['from']}' AND DATE(trn_date) <= '{$_GET['to']}'"; +} +// define product filter +$product = ''; +if (!empty($_GET['product'])) { +$product = "product='{$_GET['product']}'"; +} +$city = ''; +if (!empty($_GET['city'])) { +$city = "city='{$_GET['city']}'"; +} +// search query +$sql = "SELECT city as city, farm_name as farm_name, salesdate as salesdate, rate as rate, product as product, +sum(amount) as amount, +sum(totaltaka) as totaltaka FROM sales WHERE farm_name = '{$_SESSION["username"]}' AND {$dateCond} AND {$product} AND {$city} OR usertype = '{$_SESSION["usertype"]}' AND {$dateCond} AND {$product} AND {$city} GROUP BY city, farm_name, salesdate, rate, product order by product, salesdate asc"; +$stmt = $con->prepare($sql); +$stmt->execute(); +$arr = $stmt->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + + + + + +
    +
    Product Sales Summary Report by Sales Date & Product Filter

    +
    Search Date Range within: (1 Jan 2021 to 31 Dec 2021/current date)

    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + '.$row["city_name"].''; + } + ?> + +
    +
    +
    +
    + Reset +
    +
    + +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + 0, + 'amount' => 0, + 'totaltaka' => 0, + ]; + foreach ($arr as $index => $unit) { + $total = [ + 'amount' => $total['amount'] + $unit['amount'], + 'totaltaka' => $total['totaltaka'] + $unit['totaltaka'], + ]; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + ?> + +
    IdCity NameFarm NameProductSales DateRateSales Qty/LtrTotal (USD)
    ' . ($index + 1) . '' . $unit['city'] . '' . $unit['farm_name'] . '' . $unit['product'] . '' . $unit['salesdate'] . '' . $unit['rate'] . '' . $unit['amount'] . '' . $unit['totaltaka'] . '
    Total' . $total['amount'] . '' . $total['totaltaka'] . '
    +
    + +
    +

    + + + \ No newline at end of file diff --git a/ELECTHON/templates/login.php b/ELECTHON/templates/login.php new file mode 100644 index 0000000..2f17793 --- /dev/null +++ b/ELECTHON/templates/login.php @@ -0,0 +1,90 @@ +prepare($sql); + $stmt->bind_param("ssss", $username, $password, $usertype, $status); + $stmt->execute(); + $result = $stmt->get_result(); + $row = $result->fetch_assoc(); + session_regenerate_id(); + $_SESSION['username'] = $row['username']; + $_SESSION['user_fullname'] = $row['user_fullname']; + $_SESSION['role'] = $row['usertype']; + $_SESSION['usertype'] = $row['usertype']; + session_write_close(); + + if($result->num_rows==1 && $_SESSION['role']=="Admin"){ + header("location:index.php"); + } + else if ($result->num_rows==1 && $_SESSION['role']=="Admin"){ + header("location:index.php"); + } + else if ($result->num_rows==1 && $_SESSION['role']=="User"){ + header("location:index.php"); + } + else{ + $msg = "Username or Password Invalid"; + } +} +?> + + + + + PROYAS Farm Management Software + + + + + + +
    +
    +
    +

    Login

    +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + +
    +
    +
    +
    +

    Not yet a member? Sign up

    + +
    +
    +
    + + \ No newline at end of file diff --git a/ELECTHON/templates/logout.php b/ELECTHON/templates/logout.php new file mode 100644 index 0000000..2e038e0 --- /dev/null +++ b/ELECTHON/templates/logout.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/README.md b/README.md index 0287eab..67db88a 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ # Electhon - 2023 -#### Team Name - -#### Problem Statement - -#### Team Leader Email - +#### Team Name - Circuit On Duty +#### Problem Statement - How can we ensure the registration of new voters in the electoral roll? +#### Team Leader Email - mohamedanas080202@gmail.com ## A Brief of the Prototype: - What is your solution? and how it works. + By introducing this method of "AUTOMATIC VOTER REGISTRATION" with the help of multiple database verified and collected by a branching algorithm it covert the multiple database into a single database get filtrate by age by that it compare if the individual wether they applied for voter id or not, it make a auto registration. ## Code Execution Instruction: *[If your solution is **not** application based, you can ignore this para] *The Repository must contain your **Execution Plan PDF**. +[Circuit On duty-'Electhon' - Idea Submission.pdf](https://github.com/TedcRuZ811/electhon-submission/files/11241440/Circuit.On.duty-.Electhon.-.Idea.Submission.pdf)