diff --git a/assets/index-LcWfwyk-.js b/assets/index-BVVk_Heb.js similarity index 96% rename from assets/index-LcWfwyk-.js rename to assets/index-BVVk_Heb.js index 7da282a..5b9214d 100644 --- a/assets/index-LcWfwyk-.js +++ b/assets/index-BVVk_Heb.js @@ -63,4 +63,4 @@ Error generating stack: `+i.message+` -webkit-animation: 0; animation: 0; } - `,document.body.appendChild(l)}},e}()),oa=new(function(){function e(){}var t=e.prototype;return t.typeHtmlChars=function(n,r,l){if(l.contentType!=="html")return r;var i=n.substring(r).charAt(0);if(i==="<"||i==="&"){var o;for(o=i==="<"?">":";";n.substring(r+1).charAt(0)!==o&&!(1+ ++r>n.length););r++}return r},t.backSpaceHtmlChars=function(n,r,l){if(l.contentType!=="html")return r;var i=n.substring(r).charAt(0);if(i===">"||i===";"){var o;for(o=i===">"?"<":"&";n.substring(r-1).charAt(0)!==o&&!(--r<0););r--}return r},e}()),xv=function(){function e(n,r){_v.load(this,r,n),this.begin()}var t=e.prototype;return t.toggle=function(){this.pause.status?this.start():this.stop()},t.stop=function(){this.typingComplete||this.pause.status||(this.toggleBlinking(!0),this.pause.status=!0,this.options.onStop(this.arrayPos,this))},t.start=function(){this.typingComplete||this.pause.status&&(this.pause.status=!1,this.pause.typewrite?this.typewrite(this.pause.curString,this.pause.curStrPos):this.backspace(this.pause.curString,this.pause.curStrPos),this.options.onStart(this.arrayPos,this))},t.destroy=function(){this.reset(!1),this.options.onDestroy(this)},t.reset=function(n){n===void 0&&(n=!0),clearInterval(this.timeout),this.replaceText(""),this.cursor&&this.cursor.parentNode&&(this.cursor.parentNode.removeChild(this.cursor),this.cursor=null),this.strPos=0,this.arrayPos=0,this.curLoop=0,n&&(this.insertCursor(),this.options.onReset(this),this.begin())},t.begin=function(){var n=this;this.options.onBegin(this),this.typingComplete=!1,this.shuffleStringsIfNeeded(this),this.insertCursor(),this.bindInputFocusEvents&&this.bindFocusEvents(),this.timeout=setTimeout(function(){n.strPos===0?n.typewrite(n.strings[n.sequence[n.arrayPos]],n.strPos):n.backspace(n.strings[n.sequence[n.arrayPos]],n.strPos)},this.startDelay)},t.typewrite=function(n,r){var l=this;this.fadeOut&&this.el.classList.contains(this.fadeOutClass)&&(this.el.classList.remove(this.fadeOutClass),this.cursor&&this.cursor.classList.remove(this.fadeOutClass));var i=this.humanizer(this.typeSpeed),o=1;this.pause.status!==!0?this.timeout=setTimeout(function(){r=oa.typeHtmlChars(n,r,l);var u=0,s=n.substring(r);if(s.charAt(0)==="^"&&/^\^\d+/.test(s)){var a=1;a+=(s=/\d+/.exec(s)[0]).length,u=parseInt(s),l.temporaryPause=!0,l.options.onTypingPaused(l.arrayPos,l),n=n.substring(0,r)+n.substring(r+a),l.toggleBlinking(!0)}if(s.charAt(0)==="`"){for(;n.substring(r+o).charAt(0)!=="`"&&(o++,!(r+o>n.length)););var h=n.substring(0,r),m=n.substring(h.length+1,r+o),p=n.substring(r+o+1);n=h+m+p,o--}l.timeout=setTimeout(function(){l.toggleBlinking(!1),r>=n.length?l.doneTyping(n,r):l.keepTyping(n,r,o),l.temporaryPause&&(l.temporaryPause=!1,l.options.onTypingResumed(l.arrayPos,l))},u)},i):this.setPauseStatus(n,r,!0)},t.keepTyping=function(n,r,l){r===0&&(this.toggleBlinking(!1),this.options.preStringTyped(this.arrayPos,this));var i=n.substring(0,r+=l);this.replaceText(i),this.typewrite(n,r)},t.doneTyping=function(n,r){var l=this;this.options.onStringTyped(this.arrayPos,this),this.toggleBlinking(!0),this.arrayPos===this.strings.length-1&&(this.complete(),this.loop===!1||this.curLoop===this.loopCount)||(this.timeout=setTimeout(function(){l.backspace(n,r)},this.backDelay))},t.backspace=function(n,r){var l=this;if(this.pause.status!==!0){if(this.fadeOut)return this.initFadeOut();this.toggleBlinking(!1);var i=this.humanizer(this.backSpeed);this.timeout=setTimeout(function(){r=oa.backSpaceHtmlChars(n,r,l);var o=n.substring(0,r);if(l.replaceText(o),l.smartBackspace){var u=l.strings[l.arrayPos+1];l.stopNum=u&&o===u.substring(0,r)?r:0}r>l.stopNum?(r--,l.backspace(n,r)):r<=l.stopNum&&(l.arrayPos++,l.arrayPos===l.strings.length?(l.arrayPos=0,l.options.onLastStringBackspaced(),l.shuffleStringsIfNeeded(),l.begin()):l.typewrite(l.strings[l.sequence[l.arrayPos]],r))},i)}else this.setPauseStatus(n,r,!1)},t.complete=function(){this.options.onComplete(this),this.loop?this.curLoop++:this.typingComplete=!0},t.setPauseStatus=function(n,r,l){this.pause.typewrite=l,this.pause.curString=n,this.pause.curStrPos=r},t.toggleBlinking=function(n){this.cursor&&(this.pause.status||this.cursorBlinking!==n&&(this.cursorBlinking=n,n?this.cursor.classList.add("typed-cursor--blink"):this.cursor.classList.remove("typed-cursor--blink")))},t.humanizer=function(n){return Math.round(Math.random()*n/2)+n},t.shuffleStringsIfNeeded=function(){this.shuffle&&(this.sequence=this.sequence.sort(function(){return Math.random()-.5}))},t.initFadeOut=function(){var n=this;return this.el.className+=" "+this.fadeOutClass,this.cursor&&(this.cursor.className+=" "+this.fadeOutClass),setTimeout(function(){n.arrayPos++,n.replaceText(""),n.strings.length>n.arrayPos?n.typewrite(n.strings[n.sequence[n.arrayPos]],0):(n.typewrite(n.strings[0],0),n.arrayPos=0)},this.fadeOutDelay)},t.replaceText=function(n){this.attr?this.el.setAttribute(this.attr,n):this.isInput?this.el.value=n:this.contentType==="html"?this.el.innerHTML=n:this.el.textContent=n},t.bindFocusEvents=function(){var n=this;this.isInput&&(this.el.addEventListener("focus",function(r){n.stop()}),this.el.addEventListener("blur",function(r){n.el.value&&n.el.value.length!==0||n.start()}))},t.insertCursor=function(){this.showCursor&&(this.cursor||(this.cursor=document.createElement("span"),this.cursor.className="typed-cursor",this.cursor.setAttribute("aria-hidden",!0),this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)))},e}();const Cv=()=>{const e=Ee.useRef(null);return Ee.useEffect(()=>{if(e.current){const t=new xv(e.current,{strings:["Athish.","coding.","sleeping.","Athish."],typeSpeed:200});return()=>{t.destroy()}}},[]),_.jsxs("div",{className:"h-screen bg-inherit flex pl-6",id:"home",children:[_.jsx("div",{className:"w-full md:w-1/2 flex items-center justify-center",children:_.jsxs("div",{className:"text-left",children:[_.jsxs("h1",{className:"text-4xl md:text-6xl text-white font-bold mb-5 md:mb-10",children:["Hey! I'm ",_.jsx("span",{ref:e})]}),_.jsx("h2",{className:"text-lg md:text-2xl text-sky-200",children:"I'm Athish Thayalan, a First Class, University of Nottingham graduate with a degree in Mathematics and Economics. With the Economics half having a focus on mathematical modelling, statistics, and data analysis, this gave me a taste of coding and has ignited my passion for it. Beyond crunching numbers, I thrive on leveraging them to create innovative tech solutions."})]})}),_.jsx("div",{className:"w-1/2 flex items-center justify-center hidden md:block ml-60",children:_.jsx("img",{src:kv,alt:"Profile",className:"max-h-full bounce"})})]})},Pv=["HTML","CSS","JavaScript","TypeScript","React","Java","Spring","Node.js","Express.js","MongoDB","Tailwind CSS","SQL","Python"],Tv=()=>_.jsx("div",{className:"flex justify-center mt-40",id:"skills",children:_.jsxs("div",{className:"w-1/2 flex flex-col items-center justify-center",children:[_.jsx("h2",{className:"text-center text-3xl font-bold text-gray-200 mb-10",children:"Technical Skills"}),_.jsx("div",{className:"flex justify-center gap-4 flex-wrap",children:Pv.map((e,t)=>_.jsx("div",{className:"w-1/8 mb-4",children:_.jsxs("span",{className:"flex items-center justify-center inline-block whitespace-nowrap rounded-[0.27rem] bg-primary-100 px-[0.65em] pb-[0.25em] pt-[0.35em] text-center align-baseline text-[1.5em] font-bold leading-none text-black dark:bg-slate-300 dark:text-primary-500 h-10 transition duration-300 ease-in-out rainbow-hover slow-magnify",children:[" ",e]})},t))})]})}),ji=""+new URL("banner-bg-E1XfEa9Y.png",import.meta.url).href,Ov=""+new URL("2048-D0iDPGim.png",import.meta.url).href,Nv=""+new URL("punk-oyScbYcI.png",import.meta.url).href,Lv=""+new URL("calculator-DOidTRw5.png",import.meta.url).href,jv=""+new URL("yelpCamp-3lnY8bxr.png",import.meta.url).href,zv=""+new URL("sortingAlgo-DG0NieCJ.png",import.meta.url).href,Mv=""+new URL("wov-C9vk4DXr.png",import.meta.url).href,Iv=[{id:1,name:"YelpCamp",image:jv,description:"YelpCamp is a full-stack web application built with Node.js, Express, MongoDB, and Bootstrap. It allows users to browse, create, and review campgrounds. Features include user authentication, campground creation, commenting, and rating.",url:"https://yelpcamp-obn9.onrender.com/",repo:"https://github.com/AthishThayalan/yelpcamp"},{id:2,name:"2048 Clone",image:Ov,description:"2048 Clone is a clone of the popular 2048 game. It is built using HTML, CSS, and Typescript. The goal of the game is to combine numbered tiles on a grid to create a tile with the number 2048.",url:"https://athishthayalan.github.io/2048/",repo:"https://github.com/AthishThayalan/2048"},{id:3,name:"Sorting Algorithm Visualiser",image:zv,description:"Sorting Algorithm Visualiser is a web application that visualizes various sorting algorithms such as bubble sort, insertion sort, and quicksort. It helps users understand how these algorithms work by animating the sorting process.",url:"https://athishthayalan.github.io/sorting-algorithm-visualiser/",repo:"https://github.com/AthishThayalan/sorting-algorithm-visualiser"},{id:4,name:"PUNK",image:Nv,description:"PUNK is a web application that utilizes the Punk API to display information about different types of beers. Users can search for beers by name, style, and other criteria. The application provides detailed information about each beer, including ABV (alcohol by volume) and description.",url:"https://example.com/random-project-2",repo:"https://github.com/AthishThayalan/punkapi"},{id:5,name:"Calculator",image:Lv,description:"Calculator is a simple web-based calculator built using HTML, CSS, and JavaScript. It supports basic arithmetic operations such as addition, subtraction, multiplication, and division. Users can perform calculations using both the keyboard and mouse inputs.",url:"https://athishthayalan.github.io/calculator/",repo:"https://github.com/AthishThayalan/calculator"},{id:6,name:"Way of the Viking - Client Project",image:Mv,description:"Way of the Viking is a client project that uses React for the front end and firebase for the backend ",url:"https://wov-client-project.web.app/",repo:"https://github.com/nology-tech/wov-client-project"}],Wf=""+new URL("github-BsLkggKK.png",import.meta.url).href,Rv=({project:e})=>{const{id:t,image:n,name:r,url:l,description:i}=e,[o,u]=Ee.useState(!1),s=()=>{u(!0)},a=()=>{u(!1)};return _.jsxs("div",{className:"relative overflow-hidden rounded-lg bg-cover bg-no-repeat shadow-lg dark:shadow-black/20 bg-[50%]",style:{width:"100%",height:"90%"},onMouseEnter:s,onMouseLeave:a,children:[_.jsx("img",{src:n,alt:r,className:"w-full h-full object-cover"}),_.jsxs("a",{href:l,children:[_.jsx("div",{className:"absolute top-0 right-0 bottom-0 left-0 h-full w-full overflow-hidden bg-fixed bg-[hsla(0,0%,0%,0.3)]",children:o&&_.jsxs("div",{className:"flex h-full items-end justify-start",children:[_.jsx("h5",{className:"m-6 text-lg font-bold text-white",children:r}),_.jsx("p",{className:"m-6 text-sm text-white",children:i})]})}),_.jsx("div",{children:_.jsx("div",{className:"mask absolute top-0 right-0 bottom-0 left-0 h-full w-full overflow-hidden bg-fixed opacity-0 transition duration-300 ease-in-out hover:opacity-100 bg-[hsla(0,0%,99.2%,0.15)]"})})]}),_.jsx("a",{href:e.repo,target:"_blank",rel:"noopener noreferrer",className:"absolute top-0 right-0 m-2 github-icon-container",children:_.jsx("img",{src:Wf,alt:"GitHub",className:"w-8 h-8 github-icon"})})]},t)},Dv=()=>_.jsx("div",{className:"container my-24 mx-auto md:px-6 h-auto bg",id:"projects",children:_.jsxs("section",{className:"mb-32 ",children:[_.jsxs("h2",{className:"mb-12 text-white text-center text-3xl font-bold",children:["Welcome to my",_.jsx("u",{className:"text-gray-200 dark:text-primary-400",children:" Projects!"})]}),_.jsx("div",{className:"grid gap-6 lg:grid-cols-3",children:Iv.map(e=>_.jsx(Rv,{project:e},e.id))})]})}),$v=""+new URL("me-cropped-removebg-preview-Buv3cjnm.png",import.meta.url).href,Fv=""+new URL("linkedin-BPkF7gsN.png",import.meta.url).href,Hv=""+new URL("email-BigMg9aS.png",import.meta.url).href,Uv=()=>_.jsxs("div",{className:"max-w-screen-xl mx-auto h-screen flex items-center justify-center pb-12",children:[" ",_.jsxs("div",{className:"bg-zinc-900 rounded-lg shadow-lg md:flex md:flex-row items-center justify-center text-white h-80 p-4",id:"contact",children:[_.jsxs("div",{className:"md:w-1/2 p-4",children:[_.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Let's Connect!"}),_.jsx("p",{className:"text-lg mb-4",children:"Whether you have a project idea, want to collaborate, or just want to say hello, feel free to reach out to me. I'd love to hear from you!"}),_.jsx("p",{className:"text-lg mb-8",children:"You can reach me through any of the following channels:"}),_.jsxs("div",{className:"flex flex-col space-y-4",children:[_.jsxs("a",{href:"mailto:tathish@hotmail.co.uk",className:"flex items-center text-lg text-primary-400 hover:scale-110",children:[_.jsx("img",{src:Hv,alt:"Email",className:"w-6 h-6 mr-2"}),"Email"]}),_.jsxs("a",{href:"https://www.linkedin.com/in/athish-thayalan-1182b81b7/",target:"_blank",rel:"noopener noreferrer",className:"flex items-center text-lg text-primary-400 hover:scale-110",children:[_.jsx("img",{src:Fv,alt:"LinkedIn",className:"w-6 h-6 mr-2"}),"LinkedIn"]}),_.jsxs("a",{href:"https://github.com/AthishThayalan",target:"_blank",rel:"noopener noreferrer",className:"flex items-center text-lg text-primary-400 hover:scale-110",children:[_.jsx("img",{src:Wf,alt:"GitHub",className:"w-6 h-6 mr-2"}),"GitHub"]})]})]}),_.jsx("div",{className:"md:w-1/3 ml-40 mb-20",children:_.jsx("img",{src:$v,alt:"My Image",className:"w-200 rounded-md max-h-full bounce"})})]})]});function Av(){return _.jsxs("div",{className:"w-full font-poppins bg-cover bg-center ",style:{backgroundImage:`url(${ji})`},children:[_.jsx(Sv,{}),_.jsxs("div",{className:" bg-cover bg-center",style:{backgroundImage:`url(${ji})`},children:[_.jsx(Cv,{}),_.jsx(Tv,{})]}),_.jsxs("div",{className:" bg-cover bg-center",style:{backgroundImage:`url(${ji})`},children:[_.jsx(Dv,{}),_.jsx(Uv,{})]})]})}zi.createRoot(document.getElementById("root")).render(_.jsx(od.StrictMode,{children:_.jsx(Av,{})})); + `,document.body.appendChild(l)}},e}()),oa=new(function(){function e(){}var t=e.prototype;return t.typeHtmlChars=function(n,r,l){if(l.contentType!=="html")return r;var i=n.substring(r).charAt(0);if(i==="<"||i==="&"){var o;for(o=i==="<"?">":";";n.substring(r+1).charAt(0)!==o&&!(1+ ++r>n.length););r++}return r},t.backSpaceHtmlChars=function(n,r,l){if(l.contentType!=="html")return r;var i=n.substring(r).charAt(0);if(i===">"||i===";"){var o;for(o=i===">"?"<":"&";n.substring(r-1).charAt(0)!==o&&!(--r<0););r--}return r},e}()),xv=function(){function e(n,r){_v.load(this,r,n),this.begin()}var t=e.prototype;return t.toggle=function(){this.pause.status?this.start():this.stop()},t.stop=function(){this.typingComplete||this.pause.status||(this.toggleBlinking(!0),this.pause.status=!0,this.options.onStop(this.arrayPos,this))},t.start=function(){this.typingComplete||this.pause.status&&(this.pause.status=!1,this.pause.typewrite?this.typewrite(this.pause.curString,this.pause.curStrPos):this.backspace(this.pause.curString,this.pause.curStrPos),this.options.onStart(this.arrayPos,this))},t.destroy=function(){this.reset(!1),this.options.onDestroy(this)},t.reset=function(n){n===void 0&&(n=!0),clearInterval(this.timeout),this.replaceText(""),this.cursor&&this.cursor.parentNode&&(this.cursor.parentNode.removeChild(this.cursor),this.cursor=null),this.strPos=0,this.arrayPos=0,this.curLoop=0,n&&(this.insertCursor(),this.options.onReset(this),this.begin())},t.begin=function(){var n=this;this.options.onBegin(this),this.typingComplete=!1,this.shuffleStringsIfNeeded(this),this.insertCursor(),this.bindInputFocusEvents&&this.bindFocusEvents(),this.timeout=setTimeout(function(){n.strPos===0?n.typewrite(n.strings[n.sequence[n.arrayPos]],n.strPos):n.backspace(n.strings[n.sequence[n.arrayPos]],n.strPos)},this.startDelay)},t.typewrite=function(n,r){var l=this;this.fadeOut&&this.el.classList.contains(this.fadeOutClass)&&(this.el.classList.remove(this.fadeOutClass),this.cursor&&this.cursor.classList.remove(this.fadeOutClass));var i=this.humanizer(this.typeSpeed),o=1;this.pause.status!==!0?this.timeout=setTimeout(function(){r=oa.typeHtmlChars(n,r,l);var u=0,s=n.substring(r);if(s.charAt(0)==="^"&&/^\^\d+/.test(s)){var a=1;a+=(s=/\d+/.exec(s)[0]).length,u=parseInt(s),l.temporaryPause=!0,l.options.onTypingPaused(l.arrayPos,l),n=n.substring(0,r)+n.substring(r+a),l.toggleBlinking(!0)}if(s.charAt(0)==="`"){for(;n.substring(r+o).charAt(0)!=="`"&&(o++,!(r+o>n.length)););var h=n.substring(0,r),m=n.substring(h.length+1,r+o),p=n.substring(r+o+1);n=h+m+p,o--}l.timeout=setTimeout(function(){l.toggleBlinking(!1),r>=n.length?l.doneTyping(n,r):l.keepTyping(n,r,o),l.temporaryPause&&(l.temporaryPause=!1,l.options.onTypingResumed(l.arrayPos,l))},u)},i):this.setPauseStatus(n,r,!0)},t.keepTyping=function(n,r,l){r===0&&(this.toggleBlinking(!1),this.options.preStringTyped(this.arrayPos,this));var i=n.substring(0,r+=l);this.replaceText(i),this.typewrite(n,r)},t.doneTyping=function(n,r){var l=this;this.options.onStringTyped(this.arrayPos,this),this.toggleBlinking(!0),this.arrayPos===this.strings.length-1&&(this.complete(),this.loop===!1||this.curLoop===this.loopCount)||(this.timeout=setTimeout(function(){l.backspace(n,r)},this.backDelay))},t.backspace=function(n,r){var l=this;if(this.pause.status!==!0){if(this.fadeOut)return this.initFadeOut();this.toggleBlinking(!1);var i=this.humanizer(this.backSpeed);this.timeout=setTimeout(function(){r=oa.backSpaceHtmlChars(n,r,l);var o=n.substring(0,r);if(l.replaceText(o),l.smartBackspace){var u=l.strings[l.arrayPos+1];l.stopNum=u&&o===u.substring(0,r)?r:0}r>l.stopNum?(r--,l.backspace(n,r)):r<=l.stopNum&&(l.arrayPos++,l.arrayPos===l.strings.length?(l.arrayPos=0,l.options.onLastStringBackspaced(),l.shuffleStringsIfNeeded(),l.begin()):l.typewrite(l.strings[l.sequence[l.arrayPos]],r))},i)}else this.setPauseStatus(n,r,!1)},t.complete=function(){this.options.onComplete(this),this.loop?this.curLoop++:this.typingComplete=!0},t.setPauseStatus=function(n,r,l){this.pause.typewrite=l,this.pause.curString=n,this.pause.curStrPos=r},t.toggleBlinking=function(n){this.cursor&&(this.pause.status||this.cursorBlinking!==n&&(this.cursorBlinking=n,n?this.cursor.classList.add("typed-cursor--blink"):this.cursor.classList.remove("typed-cursor--blink")))},t.humanizer=function(n){return Math.round(Math.random()*n/2)+n},t.shuffleStringsIfNeeded=function(){this.shuffle&&(this.sequence=this.sequence.sort(function(){return Math.random()-.5}))},t.initFadeOut=function(){var n=this;return this.el.className+=" "+this.fadeOutClass,this.cursor&&(this.cursor.className+=" "+this.fadeOutClass),setTimeout(function(){n.arrayPos++,n.replaceText(""),n.strings.length>n.arrayPos?n.typewrite(n.strings[n.sequence[n.arrayPos]],0):(n.typewrite(n.strings[0],0),n.arrayPos=0)},this.fadeOutDelay)},t.replaceText=function(n){this.attr?this.el.setAttribute(this.attr,n):this.isInput?this.el.value=n:this.contentType==="html"?this.el.innerHTML=n:this.el.textContent=n},t.bindFocusEvents=function(){var n=this;this.isInput&&(this.el.addEventListener("focus",function(r){n.stop()}),this.el.addEventListener("blur",function(r){n.el.value&&n.el.value.length!==0||n.start()}))},t.insertCursor=function(){this.showCursor&&(this.cursor||(this.cursor=document.createElement("span"),this.cursor.className="typed-cursor",this.cursor.setAttribute("aria-hidden",!0),this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)))},e}();const Cv=()=>{const e=Ee.useRef(null);return Ee.useEffect(()=>{if(e.current){const t=new xv(e.current,{strings:["Athish.","coding.","sleeping.","Athish."],typeSpeed:200});return()=>{t.destroy()}}},[]),_.jsxs("div",{className:"h-screen bg-inherit flex pl-6",id:"home",children:[_.jsx("div",{className:"w-full md:w-1/2 flex items-center justify-center",children:_.jsxs("div",{className:"text-left",children:[_.jsxs("h1",{className:"text-4xl md:text-6xl text-white font-bold mb-5 md:mb-10",children:["Hey! I'm ",_.jsx("span",{ref:e})]}),_.jsx("h2",{className:"text-lg md:text-2xl text-sky-200",children:"I'm Athish Thayalan, a First Class, University of Nottingham graduate with a degree in Mathematics and Economics. With the Economics half having a focus on mathematical modelling, statistics, and data analysis, this gave me a taste of coding and has ignited my passion for it. Beyond crunching numbers, I thrive on leveraging them to create innovative tech solutions."})]})}),_.jsx("div",{className:"w-1/2 flex items-center justify-center hidden md:block ml-60",children:_.jsx("img",{src:kv,alt:"Profile",className:"max-h-full bounce"})})]})},Pv=["HTML","CSS","JavaScript","TypeScript","React","Java","Spring","Node.js","Express.js","MongoDB","Tailwind CSS","SQL","Python","TDD","Jest","Cypress"],Tv=()=>_.jsx("div",{className:"flex justify-center mt-40",id:"skills",children:_.jsxs("div",{className:"w-1/2 flex flex-col items-center justify-center",children:[_.jsx("h2",{className:"text-center text-3xl font-bold text-gray-200 mb-10",children:"Technical Skills"}),_.jsx("div",{className:"flex justify-center gap-4 flex-wrap",children:Pv.map((e,t)=>_.jsx("div",{className:"w-1/8 mb-4",children:_.jsxs("span",{className:"flex items-center justify-center inline-block whitespace-nowrap rounded-[0.27rem] bg-primary-100 px-[0.65em] pb-[0.25em] pt-[0.35em] text-center align-baseline text-[1.5em] font-bold leading-none text-black dark:bg-slate-300 dark:text-primary-500 h-10 transition duration-300 ease-in-out rainbow-hover slow-magnify",children:[" ",e]})},t))})]})}),ji=""+new URL("banner-bg-E1XfEa9Y.png",import.meta.url).href,Ov=""+new URL("2048-D0iDPGim.png",import.meta.url).href,Nv=""+new URL("punk-oyScbYcI.png",import.meta.url).href,Lv=""+new URL("calculator-DOidTRw5.png",import.meta.url).href,jv=""+new URL("yelpCamp-3lnY8bxr.png",import.meta.url).href,zv=""+new URL("sortingAlgo-DG0NieCJ.png",import.meta.url).href,Mv=""+new URL("wov-C9vk4DXr.png",import.meta.url).href,Iv=[{id:1,name:"YelpCamp",image:jv,description:"YelpCamp is a full-stack web application built with Node.js, Express, MongoDB, and Bootstrap. It allows users to browse, create, and review campgrounds. Features include user authentication, campground creation, commenting, and rating.",url:"https://yelpcamp-obn9.onrender.com/",repo:"https://github.com/AthishThayalan/yelpcamp"},{id:2,name:"2048 Clone",image:Ov,description:"2048 Clone is a clone of the popular 2048 game. It is built using HTML, CSS, and Typescript. The goal of the game is to combine numbered tiles on a grid to create a tile with the number 2048.",url:"https://athishthayalan.github.io/2048/",repo:"https://github.com/AthishThayalan/2048"},{id:3,name:"Sorting Algorithm Visualiser",image:zv,description:"Sorting Algorithm Visualiser is a web application that visualizes various sorting algorithms such as bubble sort, insertion sort, and quicksort. It helps users understand how these algorithms work by animating the sorting process.",url:"https://athishthayalan.github.io/sorting-algorithm-visualiser/",repo:"https://github.com/AthishThayalan/sorting-algorithm-visualiser"},{id:4,name:"PUNK",image:Nv,description:"PUNK is a web application that utilizes the Punk API to display information about different types of beers. Users can search for beers by name, style, and other criteria. The application provides detailed information about each beer, including ABV (alcohol by volume) and description.",url:"https://example.com/random-project-2",repo:"https://github.com/AthishThayalan/punkapi"},{id:5,name:"Calculator",image:Lv,description:"Calculator is a simple web-based calculator built using HTML, CSS, and JavaScript. It supports basic arithmetic operations such as addition, subtraction, multiplication, and division. Users can perform calculations using both the keyboard and mouse inputs.",url:"https://athishthayalan.github.io/calculator/",repo:"https://github.com/AthishThayalan/calculator"},{id:6,name:"Way of the Viking - Client Project",image:Mv,description:"Way of the Viking is a client project that uses React for the front end and firebase for the backend ",url:"https://wov-client-project.web.app/",repo:"https://github.com/nology-tech/wov-client-project"}],Wf=""+new URL("github-BsLkggKK.png",import.meta.url).href,Rv=({project:e})=>{const{id:t,image:n,name:r,url:l,description:i}=e,[o,u]=Ee.useState(!1),s=()=>{u(!0)},a=()=>{u(!1)};return _.jsxs("div",{className:"relative overflow-hidden rounded-lg bg-cover bg-no-repeat shadow-lg dark:shadow-black/20 bg-[50%]",style:{width:"100%",height:"90%"},onMouseEnter:s,onMouseLeave:a,children:[_.jsx("img",{src:n,alt:r,className:"w-full h-full object-cover"}),_.jsxs("a",{href:l,children:[_.jsx("div",{className:"absolute top-0 right-0 bottom-0 left-0 h-full w-full overflow-hidden bg-fixed bg-[hsla(0,0%,0%,0.3)]",children:o&&_.jsxs("div",{className:"flex h-full items-end justify-start",children:[_.jsx("h5",{className:"m-6 text-lg font-bold text-white",children:r}),_.jsx("p",{className:"m-6 text-sm text-white",children:i})]})}),_.jsx("div",{children:_.jsx("div",{className:"mask absolute top-0 right-0 bottom-0 left-0 h-full w-full overflow-hidden bg-fixed opacity-0 transition duration-300 ease-in-out hover:opacity-100 bg-[hsla(0,0%,99.2%,0.15)]"})})]}),_.jsx("a",{href:e.repo,target:"_blank",rel:"noopener noreferrer",className:"absolute top-0 right-0 m-2 github-icon-container",children:_.jsx("img",{src:Wf,alt:"GitHub",className:"w-8 h-8 github-icon"})})]},t)},Dv=()=>_.jsx("div",{className:"container my-24 mx-auto md:px-6 h-auto bg",id:"projects",children:_.jsxs("section",{className:"mb-32 ",children:[_.jsxs("h2",{className:"mb-12 text-white text-center text-3xl font-bold",children:["Welcome to my",_.jsx("u",{className:"text-gray-200 dark:text-primary-400",children:" Projects!"})]}),_.jsx("div",{className:"grid gap-6 lg:grid-cols-3",children:Iv.map(e=>_.jsx(Rv,{project:e},e.id))})]})}),$v=""+new URL("me-cropped-removebg-preview-Buv3cjnm.png",import.meta.url).href,Fv=""+new URL("linkedin-BPkF7gsN.png",import.meta.url).href,Hv=""+new URL("email-BigMg9aS.png",import.meta.url).href,Uv=()=>_.jsxs("div",{className:"max-w-screen-xl mx-auto h-screen flex items-center justify-center pb-12",children:[" ",_.jsxs("div",{className:"bg-zinc-900 rounded-lg shadow-lg md:flex md:flex-row items-center justify-center text-white h-auto p-4",id:"contact",children:[_.jsxs("div",{className:"md:w-1/2 p-4",children:[_.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Let's Connect!"}),_.jsx("p",{className:"text-lg mb-4",children:"Whether you have a project idea, want to collaborate, or just want to say hello, feel free to reach out to me. I'd love to hear from you!"}),_.jsx("p",{className:"text-lg mb-8",children:"You can reach me through any of the following channels:"}),_.jsxs("div",{className:"flex flex-col space-y-4",children:[_.jsxs("a",{href:"mailto:tathish@hotmail.co.uk",className:"flex items-center text-lg text-primary-400 hover:scale-110",children:[_.jsx("img",{src:Hv,alt:"Email",className:"w-6 h-6 mr-2"}),"Email"]}),_.jsxs("a",{href:"https://www.linkedin.com/in/athish-thayalan-1182b81b7/",target:"_blank",rel:"noopener noreferrer",className:"flex items-center text-lg text-primary-400 hover:scale-110",children:[_.jsx("img",{src:Fv,alt:"LinkedIn",className:"w-6 h-6 mr-2"}),"LinkedIn"]}),_.jsxs("a",{href:"https://github.com/AthishThayalan",target:"_blank",rel:"noopener noreferrer",className:"flex items-center text-lg text-primary-400 hover:scale-110",children:[_.jsx("img",{src:Wf,alt:"GitHub",className:"w-6 h-6 mr-2"}),"GitHub"]})]})]}),_.jsx("div",{className:"md:w-1/3 ml-40 mb-20",children:_.jsx("img",{src:$v,alt:"My Image",className:"w-200 rounded-md max-h-full bounce"})})]})]});function Av(){return _.jsxs("div",{className:"w-full font-poppins bg-cover bg-center ",style:{backgroundImage:`url(${ji})`},children:[_.jsx(Sv,{}),_.jsxs("div",{className:" bg-cover bg-center",style:{backgroundImage:`url(${ji})`},children:[_.jsx(Cv,{}),_.jsx(Tv,{})]}),_.jsxs("div",{className:" bg-cover bg-center",style:{backgroundImage:`url(${ji})`},children:[_.jsx(Dv,{}),_.jsx(Uv,{})]})]})}zi.createRoot(document.getElementById("root")).render(_.jsx(od.StrictMode,{children:_.jsx(Av,{})})); diff --git a/assets/index-17qaizMt.css b/assets/index-CFJo_Ah4.css similarity index 54% rename from assets/index-17qaizMt.css rename to assets/index-CFJo_Ah4.css index 9e992c7..44af185 100644 --- a/assets/index-17qaizMt.css +++ b/assets/index-CFJo_Ah4.css @@ -1 +1 @@ -.hover:pointer{cursor:pointer!important}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.bounce{animation:bounce 3s infinite linear}.rainbow-hover:hover{animation:rainbow 2s infinite}@keyframes rainbow{0%{color:red}16.7%{color:orange}33.3%{color:#ff0}50%{color:green}66.7%{color:#00f}83.3%{color:indigo}to{color:violet}}.slow-magnify:hover{transform:scale(1.1);transition:transform .3s ease;cursor:pointer}.github-icon-container{transition:transform .2s ease-in-out}.github-icon:hover{transform:scale(1.3)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Poppins,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-50{z-index:50}.m-2{margin:.5rem}.m-6{margin:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-24{margin-top:6rem;margin-bottom:6rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-20{margin-bottom:5rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-40{margin-left:10rem}.ml-60{margin-left:15rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-40{margin-top:10rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-full{max-height:100%}.w-1\/2{width:50%}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-full{width:100%}.max-w-screen-xl{max-width:1280px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[0\.27rem\]{border-radius:.27rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.bg-\[hsla\(0\,0\%\,0\%\,0\.3\)\]{background-color:#0000004d}.bg-\[hsla\(0\,0\%\,99\.2\%\,0\.15\)\]{background-color:#fdfdfd26}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-fixed{background-attachment:fixed}.bg-\[50\%\]{background-position:50%}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[0\.65em\]{padding-left:.65em;padding-right:.65em}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-12{padding-bottom:3rem}.pb-\[0\.25em\]{padding-bottom:.25em}.pl-6{padding-left:1.5rem}.pt-\[0\.35em\]{padding-top:.35em}.text-left{text-align:left}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[1\.5em\]{font-size:1.5em}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:text-sky-300:hover{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}@media (min-width: 768px){.md\:mb-10{margin-bottom:2.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:flex-row{flex-direction:row}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:ml-auto{margin-left:auto}.lg\:block{display:block}.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:h-auto{height:auto}.lg\:w-auto{width:auto}.lg\:flex-grow{flex-grow:1}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}}@media (prefers-color-scheme: dark){.dark\:bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.dark\:shadow-black\/20{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}} +.hover:pointer{cursor:pointer!important}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.bounce{animation:bounce 3s infinite linear}.rainbow-hover:hover{animation:rainbow 2s infinite}@keyframes rainbow{0%{color:red}16.7%{color:orange}33.3%{color:#ff0}50%{color:green}66.7%{color:#00f}83.3%{color:indigo}to{color:violet}}.slow-magnify:hover{transform:scale(1.1);transition:transform .3s ease;cursor:pointer}.github-icon-container{transition:transform .2s ease-in-out}.github-icon:hover{transform:scale(1.3)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Poppins,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-50{z-index:50}.m-2{margin:.5rem}.m-6{margin:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-24{margin-top:6rem;margin-bottom:6rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-20{margin-bottom:5rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-40{margin-left:10rem}.ml-60{margin-left:15rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-40{margin-top:10rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-full{max-height:100%}.w-1\/2{width:50%}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-full{width:100%}.max-w-screen-xl{max-width:1280px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[0\.27rem\]{border-radius:.27rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.bg-\[hsla\(0\,0\%\,0\%\,0\.3\)\]{background-color:#0000004d}.bg-\[hsla\(0\,0\%\,99\.2\%\,0\.15\)\]{background-color:#fdfdfd26}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-fixed{background-attachment:fixed}.bg-\[50\%\]{background-position:50%}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[0\.65em\]{padding-left:.65em;padding-right:.65em}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-12{padding-bottom:3rem}.pb-\[0\.25em\]{padding-bottom:.25em}.pl-6{padding-left:1.5rem}.pt-\[0\.35em\]{padding-top:.35em}.text-left{text-align:left}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[1\.5em\]{font-size:1.5em}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:text-sky-300:hover{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}@media (min-width: 768px){.md\:mb-10{margin-bottom:2.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:flex-row{flex-direction:row}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:ml-auto{margin-left:auto}.lg\:block{display:block}.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:h-auto{height:auto}.lg\:w-auto{width:auto}.lg\:flex-grow{flex-grow:1}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}}@media (prefers-color-scheme: dark){.dark\:bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.dark\:shadow-black\/20{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}} diff --git a/index.html b/index.html index 88f100f..0edc0a0 100644 --- a/index.html +++ b/index.html @@ -9,8 +9,8 @@ /> Portfolio - - + +