Compare commits

...

104 Commits

Author SHA1 Message Date
Karma Riuk
9ed9135208 updated cv 2025-03-24 12:17:41 +01:00
Karma Riuk
fafd7139e4 fixed final little detail about videos 2025-02-20 14:53:46 +01:00
Karma Riuk
0cab633f03 updated cv 2025-02-20 14:34:20 +01:00
Karma Riuk
ef84eec124 made videos better 2025-02-20 14:27:07 +01:00
Karma Riuk
bbeaf46b27 downscaled the footer background to load faster 2025-02-20 14:12:04 +01:00
Karma Riuk
1462461d70 moved from gifs to mp4 because gifs were heavy as fuck 2025-02-20 14:09:29 +01:00
Karma Riuk
598193d364 made images lazy to make loading faster 2025-02-20 12:11:55 +01:00
Karma Riuk
0a3332c9fe made hero lower res to make loading quicker 2025-02-20 12:11:43 +01:00
Karma Riuk
9f3e554624 made the resume better (is collpased by default,
and can be expanded)
2025-02-20 12:00:25 +01:00
Karma Riuk
3c5ce5c07a updated the resume 2025-02-20 09:51:22 +01:00
Karma Riuk
3d1943791e tried to fix the colour of higlight in light theme 2025-02-20 09:31:39 +01:00
Karma Riuk
d73e027641 fixed hover of portfolio 2025-02-19 15:38:36 +01:00
Karma Riuk
3c36906d86 moved the projects around 2025-02-19 15:26:32 +01:00
Karma Riuk
8a18029a0b updated cv 2025-02-19 15:18:44 +01:00
Karma Riuk
3132b4f325 added todo 2025-02-19 15:12:16 +01:00
Karma Riuk
cd7cfbbb7c added stickfosh to my portfolio 2025-02-19 15:10:41 +01:00
Karma Riuk
cd5330b92c updated cv 2025-02-19 14:10:27 +01:00
Karma Riuk
ed4b9a9a56 updated masters GPA 2025-02-19 13:13:00 +01:00
Karma Riuk
11c0688f6c moved stuff around 2025-01-28 13:20:35 +01:00
Karma Riuk
f9a9dfc653 commented out the filters for the projects section 2025-01-28 13:15:46 +01:00
Karma Riuk
8c3b3e501e removed instagram from socials 2025-01-28 13:11:06 +01:00
Karma Riuk
55467968bd fixed job title 2025-01-28 13:10:33 +01:00
Karma Riuk
5a92fd84ce added GPA of masters 2025-01-28 13:10:25 +01:00
Karma Riuk
161c033491 test was successful 2024-06-10 16:41:35 +02:00
Karma Riuk
662cda7ac4 testing somthing 2024-06-10 16:38:46 +02:00
Karma Riuk
c7fb1a68cd fix typo 2024-06-10 16:11:14 +02:00
Karma Riuk
4229a08c50 updated cv 2024-04-16 09:19:23 +02:00
Karma Riuk
4ddf0e4c6a updated cv 2024-04-16 09:18:13 +02:00
Karma Riuk
b7f3ce6899 updated cv 2024-04-16 09:04:35 +02:00
Karma Riuk
2c13c79d10 updated cv 2024-04-16 09:01:54 +02:00
Karma Riuk
e2950995fb updated cv 2024-04-03 17:49:16 +02:00
Karma Riuk
ad837910a3 updated cv 2024-04-03 17:47:03 +02:00
Karma Riuk
59bdd9b784 updated cv 2024-04-01 12:21:57 +02:00
Karma Riuk
516a944d22 updated cv 2024-04-01 12:20:15 +02:00
Karma Riuk
ab23d9e344 fixed skills title 2024-03-18 21:42:55 +01:00
Karma Riuk
b47c9ad995 removed the unessecary pics and modifies two gifs
to make them shorter
2024-03-17 09:08:17 +01:00
Karma Riuk
a4ba8c0c86 cleaned up the animations 2024-03-17 09:07:47 +01:00
Karma Riuk
ee3d06d939 formatted the tailwind classes 2024-03-16 10:25:53 +01:00
Karma Riuk
5f772b1f78 formatted code 2024-03-15 14:55:13 +01:00
Karma Riuk
0f1535f0ec added a bunch of projects with their respective images 2024-03-15 14:45:59 +01:00
Karma Riuk
d777587b29 tuned down the animations a lil 2024-03-12 14:35:31 +01:00
Karma Riuk
58626fec3a skills: removed some filters, added the chess
card and moved things around
2024-03-12 14:24:25 +01:00
Karma Riuk
52786bd8d2 updated cv 2024-03-12 14:09:56 +01:00
Karma Riuk
8000504c04 automated age calculation 2024-03-12 14:03:01 +01:00
Karma Riuk
63e00968e0 updated the picture of me 2024-02-29 09:38:44 +01:00
Karma Riuk
3144aca6e3 Removed placeholder testimonials 2024-02-29 09:23:29 +01:00
Karma Riuk
410d15d46a added the missing testimonial pictures 2024-02-29 09:17:01 +01:00
Karma Riuk
d2ef0ef232 added some css rule to make it more responsive and
look better with blocks of text
2024-02-29 09:16:39 +01:00
Karma Riuk
66c7236788 updated subtitle of Contact Me 2024-02-29 09:14:30 +01:00
Karma Riuk
3e4d63872a updated testimonials by adding Didyk and Zucchetti 2024-02-29 09:14:13 +01:00
Karma Riuk
447972b0ad started updating the skills section 2024-02-29 09:13:40 +01:00
Karma Riuk
f12d1c8292 updated professional experience 2024-02-29 09:13:02 +01:00
Karma Riuk
e2fa5fa477 updated animation of the languages 2024-02-29 09:12:34 +01:00
Karma Riuk
fd029cefaf updated language of html 2024-02-29 09:12:09 +01:00
Karma Riuk
82fa1a7629 updated cv 2024-02-27 14:24:10 +01:00
Karma Riuk
5c7f7268e8 updated cv 2024-02-27 14:04:52 +01:00
Karma Riuk
0bf5a68bb8 updated cv 2024-02-27 14:03:08 +01:00
Karma Riuk
1946d32103 gotta push to pull you know? ifykyk 2023-09-21 15:35:03 +02:00
Karma Riuk
b0e5ad5e75 previous commit didn't work cuz it was missing the ttfs :) 2023-09-21 15:01:29 +02:00
Karma Riuk
65e99b27ea working on the skills (commiting to see if the
font-awesome icon is shown on the server)
2023-09-21 14:55:51 +02:00
Karma Riuk
6df4f40afd removed unnecessary pages and styles 2023-09-21 10:42:10 +02:00
Karma Riuk
e530ab8a41 made default theme dark and added saving the theme to localstorage 2023-09-19 18:57:25 +02:00
Karma Riuk
de5023604f added dark theme switcher (god it was a pain) 2023-09-19 18:44:47 +02:00
Karma Riuk
f398788adb fixed vocab issue 2023-09-18 10:18:15 +02:00
Karma Riuk
891e674470 updated footer background 2023-09-18 10:17:53 +02:00
Karma Riuk
585380ce88 updated testimonials background 2023-09-18 10:12:20 +02:00
Karma Riuk
d6446f5160 moved languages to the about me section and
removed the programming languages
2023-09-18 10:00:43 +02:00
Karma Riuk
5bbf0068e7 removed unused styles 2023-09-18 09:41:28 +02:00
Karma Riuk
dc02c06bc8 added transitions to contact 2023-09-18 09:35:53 +02:00
Karma Riuk
69c5167856 added links to socials 2023-09-18 09:35:07 +02:00
Karma Riuk
a3919b42a9 removed useless dependency 2023-09-18 09:34:48 +02:00
Karma Riuk
a959034e4e fixed languages scale cuz I can't count lol 2023-09-13 10:33:05 +02:00
Karma Riuk
35f76f4dd7 Added first testimony (Hauswirth) 2023-09-13 10:14:51 +02:00
Karma Riuk
a690d47565 fix: typo sumary -> summary 2023-09-13 10:14:27 +02:00
Karma Riuk
298d78df16 disabled select on the span behind the titles 2023-09-11 15:11:34 +02:00
Karma Riuk
211ed6497f changed the "about me" sentences (thanks chatgpt) 2023-09-11 15:11:03 +02:00
Karma Riuk
c5e5a21ac7 added overflow-x hidden to avoid any issues with
horizontal scroll
2023-09-11 14:59:01 +02:00
Karma Riuk
e4b90621b3 added languages 2023-09-07 13:57:02 +02:00
Karma Riuk
db4f5b8b51 fix: typo 2023-09-07 10:37:10 +02:00
Karma Riuk
2aaa70cc5e renamed services to skills 2023-09-07 10:20:57 +02:00
Karma Riuk
f3178c4f26 added back in the testimonials 2023-09-07 10:18:36 +02:00
Karma Riuk
2c0997058e Added secondary bullets to the resume 2023-09-07 10:14:49 +02:00
Karma Riuk
2abd73e73c css: made some variables 2023-09-07 10:14:34 +02:00
Karma Riuk
c0f85d0e98 finished resume 2023-09-05 18:52:47 +02:00
Karma Riuk
f7d7f42254 fixed style fluke 2023-09-04 11:40:07 +02:00
Karma Riuk
a53af1d3d6 updated resume 2023-09-04 11:39:59 +02:00
Karma Riuk
3564a73c69 downloaded aos locally 2023-09-04 11:39:30 +02:00
Karma Riuk
bbf67c1221 added left and right fades and made so that on
mobiles it's just up
2023-09-03 00:10:57 +02:00
Karma Riuk
891fe84af8 updated style of download my cv button 2023-09-02 18:59:42 +02:00
Karma Riuk
6e6eddee3a updated cv 2023-09-02 18:40:34 +02:00
Karma Riuk
16ce8513f7 updated cv 2023-09-02 18:30:10 +02:00
Karma Riuk
096fd9619d updated cv 2023-09-02 18:28:41 +02:00
Karma Riuk
e0b907820d added button to download cv 2023-09-02 18:21:47 +02:00
Karma Riuk
a66dd82bbc added cv 2023-09-02 18:05:24 +02:00
Karma Riuk
1b62bd45b1 added transitions to resume 2023-09-02 17:37:29 +02:00
Karma Riuk
c15c00b9ab added animations for about me section 2023-09-02 17:11:43 +02:00
Karma Riuk
f1a0f407bd fix: progress bar animations 2023-09-02 17:10:48 +02:00
Karma Riuk
b17729e9c0 fix: margins and displaying stuff for small
screens
2023-09-02 16:37:01 +02:00
Karma Riuk
fe83b657e1 started adding transitions 2023-09-02 16:36:58 +02:00
Karma Riuk
fae9c15584 added transitions library 2023-09-02 16:34:38 +02:00
Karma Riuk
a30c03c88c formatted main.js 2023-09-02 15:07:03 +02:00
Karma Riuk
1c4cdb5155 updated my resume 2023-09-01 20:48:29 +02:00
Karma Riuk
9df63eead9 updated title of page 2023-09-01 20:48:11 +02:00
Karma Riuk
24dcda9405 removed the testimonials setions 2023-09-01 19:03:45 +02:00
51 changed files with 1732 additions and 1868 deletions

File diff suppressed because it is too large Load Diff

BIN
assets/img/arch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
assets/img/docker.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/img/footer-bg.jpg Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 154 KiB

BIN
assets/img/hero-bg-2k.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 509 KiB

BIN
assets/img/htmlcss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
assets/img/me2-low.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
assets/img/me2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 KiB

BIN
assets/img/neovim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
assets/img/testimonials-bg.jpg Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
assets/img/tsjs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -1,254 +1,355 @@
/**
* Template Name: Laura
* Updated: Jul 27 2023 with Bootstrap v5.3.1
* Template URL: https://bootstrapmade.com/laura-free-creative-bootstrap-theme/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
(function() {
"use strict";
/**
* Easy selector helper function
*/
const select = (el, all = false) => {
el = el.trim()
if (all) {
return [...document.querySelectorAll(el)]
} else {
return document.querySelector(el)
}
}
/**
* Easy event listener function
*/
const on = (type, el, listener, all = false) => {
let selectEl = select(el, all)
if (selectEl) {
if (all) {
selectEl.forEach(e => e.addEventListener(type, listener))
} else {
selectEl.addEventListener(type, listener)
}
}
}
/**
* Easy on scroll event listener
*/
const onscroll = (el, listener) => {
el.addEventListener('scroll', listener)
}
/**
* Navbar links active state on scroll
*/
let navbarlinks = select('#navbar .scrollto', true)
const navbarlinksActive = () => {
let position = window.scrollY + 200
navbarlinks.forEach(navbarlink => {
if (!navbarlink.hash) return
let section = select(navbarlink.hash)
if (!section) return
if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) {
navbarlink.classList.add('active')
} else {
navbarlink.classList.remove('active')
}
})
}
window.addEventListener('load', navbarlinksActive)
onscroll(document, navbarlinksActive)
/**
* Scrolls to an element with header offset
*/
const scrollto = (el) => {
let header = select('#header')
let offset = header.offsetHeight
if (!header.classList.contains('header-scrolled')) {
offset -= 20
}
let elementPos = select(el).offsetTop
window.scrollTo({
top: elementPos - offset,
behavior: 'smooth'
})
}
/**
* Toggle .header-scrolled class to #header when page is scrolled
*/
let selectHeader = select('#header')
if (selectHeader) {
const headerScrolled = () => {
if (window.scrollY > 100) {
selectHeader.classList.add('header-scrolled')
} else {
selectHeader.classList.remove('header-scrolled')
}
}
window.addEventListener('load', headerScrolled)
onscroll(document, headerScrolled)
}
/**
* Back to top button
*/
let backtotop = select('.back-to-top')
if (backtotop) {
const toggleBacktotop = () => {
if (window.scrollY > 100) {
backtotop.classList.add('active')
} else {
backtotop.classList.remove('active')
}
}
window.addEventListener('load', toggleBacktotop)
onscroll(document, toggleBacktotop)
}
/**
* Mobile nav toggle
*/
on('click', '.mobile-nav-toggle', function(e) {
select('#navbar').classList.toggle('navbar-mobile')
this.classList.toggle('bi-list')
this.classList.toggle('bi-x')
})
/**
* Mobile nav dropdowns activate
*/
on('click', '.navbar .dropdown > a', function(e) {
if (select('#navbar').classList.contains('navbar-mobile')) {
e.preventDefault()
this.nextElementSibling.classList.toggle('dropdown-active')
}
}, true)
/**
* Scrool with ofset on links with a class name .scrollto
*/
on('click', '.scrollto', function(e) {
if (select(this.hash)) {
e.preventDefault()
let navbar = select('#navbar')
if (navbar.classList.contains('navbar-mobile')) {
navbar.classList.remove('navbar-mobile')
let navbarToggle = select('.mobile-nav-toggle')
navbarToggle.classList.toggle('bi-list')
navbarToggle.classList.toggle('bi-x')
}
scrollto(this.hash)
}
}, true)
/**
* Scroll with ofset on page load with hash links in the url
*/
window.addEventListener('load', () => {
if (window.location.hash) {
if (select(window.location.hash)) {
scrollto(window.location.hash)
}
}
});
/**
* Skills animation
*/
let skilsContent = select('.skills-content');
if (skilsContent) {
new Waypoint({
element: skilsContent,
offset: '80%',
handler: function(direction) {
let progress = select('.progress .progress-bar', true);
progress.forEach((el) => {
el.style.width = el.getAttribute('aria-valuenow') + '%'
});
}
})
}
/**
* Testimonials slider
*/
new Swiper('.testimonials-slider', {
speed: 600,
loop: true,
autoplay: {
delay: 5000,
disableOnInteraction: false
},
slidesPerView: 'auto',
pagination: {
el: '.swiper-pagination',
type: 'bullets',
clickable: true
}
});
/**
* Porfolio isotope and filter
*/
window.addEventListener('load', () => {
let portfolioContainer = select('.portfolio-container');
if (portfolioContainer) {
let portfolioIsotope = new Isotope(portfolioContainer, {
itemSelector: '.portfolio-item'
});
let portfolioFilters = select('#portfolio-flters li', true);
on('click', '#portfolio-flters li', function(e) {
e.preventDefault();
portfolioFilters.forEach(function(el) {
el.classList.remove('filter-active');
});
this.classList.add('filter-active');
portfolioIsotope.arrange({
filter: this.getAttribute('data-filter')
});
}, true);
}
});
/**
* Initiate portfolio lightbox
*/
const portfolioLightbox = GLightbox({
selector: '.portfolio-lightbox'
});
/**
* Portfolio details slider
*/
new Swiper('.portfolio-details-slider', {
speed: 400,
loop: true,
autoplay: {
delay: 5000,
disableOnInteraction: false
},
pagination: {
el: '.swiper-pagination',
type: 'bullets',
clickable: true
}
});
/**
* Initiate Pure Counter
*/
new PureCounter();
})()
* Template Name: Laura
* Updated: Jul 27 2023 with Bootstrap v5.3.1
* Template URL: https://bootstrapmade.com/laura-free-creative-bootstrap-theme/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
(function () {
"use strict";
/**
* Easy selector helper function
*/
const select = (el, all = false) => {
el = el.trim();
if (all) {
return [...document.querySelectorAll(el)];
} else {
return document.querySelector(el);
}
};
/**
* Easy event listener function
*/
const on = (type, el, listener, all = false) => {
let selectEl = select(el, all);
if (selectEl) {
if (all) {
selectEl.forEach((e) => e.addEventListener(type, listener));
} else {
selectEl.addEventListener(type, listener);
}
}
};
/**
* Easy on scroll event listener
*/
const onscroll = (el, listener) => {
el.addEventListener("scroll", listener);
};
/**
* Navbar links active state on scroll
*/
let navbarlinks = select("#navbar .scrollto", true);
const navbarlinksActive = () => {
let position = window.scrollY + 200;
navbarlinks.forEach((navbarlink) => {
if (!navbarlink.hash) return;
let section = select(navbarlink.hash);
if (!section) return;
if (
position >= section.offsetTop &&
position <= section.offsetTop + section.offsetHeight
) {
navbarlink.classList.add("active");
} else {
navbarlink.classList.remove("active");
}
});
};
window.addEventListener("load", navbarlinksActive);
onscroll(document, navbarlinksActive);
/**
* Scrolls to an element with header offset
*/
const scrollto = (el) => {
let header = select("#header");
let offset = header.offsetHeight;
if (!header.classList.contains("header-scrolled")) {
offset -= 20;
}
let elementPos = select(el).offsetTop;
window.scrollTo({
top: elementPos - offset,
behavior: "smooth",
});
};
/**
* Toggle .header-scrolled class to #header when page is scrolled
*/
let selectHeader = select("#header");
if (selectHeader) {
const headerScrolled = () => {
if (window.scrollY > 100) {
selectHeader.classList.add("header-scrolled");
} else {
selectHeader.classList.remove("header-scrolled");
}
};
window.addEventListener("load", headerScrolled);
onscroll(document, headerScrolled);
}
/**
* Back to top button
*/
let backtotop = select(".back-to-top");
if (backtotop) {
const toggleBacktotop = () => {
if (window.scrollY > 100) {
backtotop.classList.add("active");
} else {
backtotop.classList.remove("active");
}
};
window.addEventListener("load", toggleBacktotop);
onscroll(document, toggleBacktotop);
}
/**
* Mobile nav toggle
*/
on("click", ".mobile-nav-toggle", function (e) {
select("#navbar").classList.toggle("navbar-mobile");
this.classList.toggle("bi-list");
this.classList.toggle("bi-x");
});
/**
* Mobile nav dropdowns activate
*/
on(
"click",
".navbar .dropdown > a",
function (e) {
if (select("#navbar").classList.contains("navbar-mobile")) {
e.preventDefault();
this.nextElementSibling.classList.toggle("dropdown-active");
}
},
true
);
/**
* Scrool with ofset on links with a class name .scrollto
*/
on(
"click",
".scrollto",
function (e) {
if (select(this.hash)) {
e.preventDefault();
let navbar = select("#navbar");
if (navbar.classList.contains("navbar-mobile")) {
navbar.classList.remove("navbar-mobile");
let navbarToggle = select(".mobile-nav-toggle");
navbarToggle.classList.toggle("bi-list");
navbarToggle.classList.toggle("bi-x");
}
scrollto(this.hash);
}
},
true
);
on("click", "#resume-toggle", e => {
console.log("sup")
const sec = select("#resume-section");
const btn = e.target;
sec.classList.toggle("expanded");
select(".resume-fade").classList.toggle("expanded");
if (sec.classList.contains("expanded"))
btn.innerHTML = 'Hide <i class="bi bi-chevron-up"></i>';
else
btn.innerHTML = 'Expand <i class="bi bi-chevron-down"></i>';
AOS.refresh();
})
/**
* Scroll with ofset on page load with hash links in the url
*/
window.addEventListener("load", () => {
if (window.location.hash) {
if (select(window.location.hash)) {
scrollto(window.location.hash);
}
}
});
/**
* Skills animation
*/
let skillsContent = select(".progress", true);
if (skillsContent) {
skillsContent.forEach((skill) => {
new Waypoint({
element: skill,
offset: "100%",
handler: function (direction) {
let progress = skill.querySelectorAll(".progress-bar");
progress.forEach((el) => {
let percent =
100 *
(+el.getAttribute("aria-valuenow") /
(+el.getAttribute("aria-valuemax") -
+el.getAttribute("aria-valuemin")));
el.style.width = percent + "%";
});
},
});
});
}
/**
* Testimonials slider
*/
new Swiper(".testimonials-slider", {
speed: 600,
loop: true,
autoplay: {
delay: 10000,
disableOnInteraction: false,
},
slidesPerView: "auto",
pagination: {
el: ".swiper-pagination",
type: "bullets",
clickable: true,
},
});
window.addEventListener("load", () => {
/**
* Skills isotope and filter
*/
let skillsContainer = select(".skills-container");
if (skillsContainer) {
let skillsIsotope = new Isotope(skillsContainer, {
itemSelector: ".skill-item",
});
let skillsFilters = select("#skills-filters li", true);
on(
"click",
"#skills-filters li",
function (e) {
e.preventDefault();
skillsFilters.forEach(function (el) {
el.classList.remove("filter-active");
});
this.classList.add("filter-active");
skillsIsotope.arrange({
filter: this.getAttribute("data-filter"),
});
},
true
);
}
/**
* Porfolio isotope and filter
*/
let portfolioContainer = select(".portfolio-container");
if (portfolioContainer) {
let portfolioIsotope = new Isotope(portfolioContainer, {
itemSelector: ".portfolio-item",
});
let portfolioFilters = select("#portfolio-flters li", true);
on(
"click",
"#portfolio-flters li",
function (e) {
e.preventDefault();
portfolioFilters.forEach(function (el) {
el.classList.remove("filter-active");
});
this.classList.add("filter-active");
portfolioIsotope.arrange({
filter: this.getAttribute("data-filter"),
});
},
true
);
}
// let horizontal_aoss = document.querySelectorAll("[data-aos~='left'], [data-aos~='right']")
if (window.matchMedia("(max-width: 768px)").matches) {
let horizontal_aoss = document.querySelectorAll(
`[data-aos$="left"], [data-aos$="right"]`
);
horizontal_aoss.forEach((el) => el.setAttribute("data-aos", "fade-up"));
}
AOS.init();
});
/**
* Initiate portfolio lightbox
*/
const portfolioLightbox = GLightbox({
selector: ".portfolio-lightbox",
});
/**
* Portfolio details slider
*/
new Swiper(".portfolio-details-slider", {
speed: 400,
loop: true,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
pagination: {
el: ".swiper-pagination",
type: "bullets",
clickable: true,
},
});
if (localStorage.getItem("theme") == "light") {
toggleDarkMode();
}
// Set age correctly (cuz sbatti farlo ogni
// anno, toi meme tu sais)
let age_span = document.querySelector("#age");
age_span.textContent = calculateAge("1999-10-15");
})();
function toggleDarkMode() {
let dark_indicator = document.querySelector("#navbar i");
dark_indicator.classList.toggle("bi-moon-stars-fill");
dark_indicator.classList.toggle("bi-sun-fill");
document.body.classList.toggle("dark");
let theme = document.body.classList.contains("dark") ? "dark" : "light";
document.documentElement.style.setProperty("color-scheme", theme);
localStorage.setItem("theme", theme);
}
function calculateAge(birthDate) {
const today = new Date();
const birth = new Date(birthDate);
let age = today.getFullYear() - birth.getFullYear();
const monthDifference = today.getMonth() - birth.getMonth();
// Check if the birthday has not occurred yet this year
if (monthDifference < 0 || (monthDifference === 0 && today.getDate() < birth.getDate())) {
age--;
}
return age;
}

Binary file not shown.

1
assets/vendor/aos/aos.css vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/vendor/aos/aos.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

40
assets/vendor/mdb/mdb.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,142 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>Inner Page - Laura Bootstrap Template</title>
<meta content="" name="description">
<meta content="" name="keywords">
<!-- Favicons -->
<link href="assets/img/favicon.png" rel="icon">
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Satisfy" rel="stylesheet">
<!-- Vendor CSS Files -->
<link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet">
<link href="assets/vendor/glightbox/css/glightbox.min.css" rel="stylesheet">
<link href="assets/vendor/swiper/swiper-bundle.min.css" rel="stylesheet">
<!-- Template Main CSS File -->
<link href="assets/css/style.css" rel="stylesheet">
<!-- =======================================================
* Template Name: Laura
* Updated: Jul 27 2023 with Bootstrap v5.3.1
* Template URL: https://bootstrapmade.com/laura-free-creative-bootstrap-theme/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
======================================================== -->
</head>
<body>
<!-- ======= Header ======= -->
<header id="header" class="fixed-top d-flex justify-content-center align-items-center ">
<nav id="navbar" class="navbar">
<ul>
<li><a class="nav-link scrollto " href="#hero">Home</a></li>
<li><a class="nav-link scrollto" href="#about">About</a></li>
<li><a class="nav-link scrollto" href="#resume">Resume</a></li>
<li><a class="nav-link scrollto" href="#services">Services</a></li>
<li><a class="nav-link scrollto " href="#portfolio">Portfolio</a></li>
<li class="dropdown"><a href="#"><span>Drop Down</span> <i class="bi bi-chevron-down"></i></a>
<ul>
<li><a href="#">Drop Down 1</a></li>
<li class="dropdown"><a href="#"><span>Deep Drop Down</span> <i class="bi bi-chevron-right"></i></a>
<ul>
<li><a href="#">Deep Drop Down 1</a></li>
<li><a href="#">Deep Drop Down 2</a></li>
<li><a href="#">Deep Drop Down 3</a></li>
<li><a href="#">Deep Drop Down 4</a></li>
<li><a href="#">Deep Drop Down 5</a></li>
</ul>
</li>
<li><a href="#">Drop Down 2</a></li>
<li><a href="#">Drop Down 3</a></li>
<li><a href="#">Drop Down 4</a></li>
</ul>
</li>
<li><a class="nav-link scrollto" href="#contact">Contact</a></li>
</ul>
<i class="bi bi-list mobile-nav-toggle"></i>
</nav><!-- .navbar -->
</header><!-- End Header -->
<main id="main">
<!-- ======= Breadcrumbs ======= -->
<section class="breadcrumbs">
<div class="container">
<div class="d-flex justify-content-between align-items-center">
<h2>Inner Page</h2>
<ol>
<li><a href="index.html">Home</a></li>
<li>Inner Page</li>
</ol>
</div>
</div>
</section><!-- End Breadcrumbs -->
<section class="inner-page">
<div class="container">
<p>
Example inner page template
</p>
</div>
</section>
</main><!-- End #main -->
<!-- ======= Footer ======= -->
<footer id="footer">
<div class="container">
<h3>Laura Thomson</h3>
<p>Et aut eum quis fuga eos sunt ipsa nihil. Labore corporis magni eligendi fuga maxime saepe commodi placeat.</p>
<div class="social-links">
<a href="#" class="twitter"><i class="bx bxl-twitter"></i></a>
<a href="#" class="facebook"><i class="bx bxl-facebook"></i></a>
<a href="#" class="instagram"><i class="bx bxl-instagram"></i></a>
<a href="#" class="google-plus"><i class="bx bxl-skype"></i></a>
<a href="#" class="linkedin"><i class="bx bxl-linkedin"></i></a>
</div>
<div class="copyright">
&copy; Copyright <strong><span>Laura</span></strong>. All Rights Reserved
</div>
<div class="credits">
<!-- All the links in the footer should remain intact. -->
<!-- You can delete the links only if you purchased the pro version. -->
<!-- Licensing information: https://bootstrapmade.com/license/ -->
<!-- Purchase the pro version with working PHP/AJAX contact form: https://bootstrapmade.com/laura-free-creative-bootstrap-theme/ -->
Designed by <a href="https://bootstrapmade.com/">BootstrapMade</a>
</div>
</div>
</footer><!-- End Footer -->
<a href="#" class="back-to-top d-flex align-items-center justify-content-center"><i class="bi bi-arrow-up-short"></i></a>
<!-- Vendor JS Files -->
<script src="assets/vendor/purecounter/purecounter_vanilla.js"></script>
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/vendor/glightbox/js/glightbox.min.js"></script>
<script src="assets/vendor/isotope-layout/isotope.pkgd.min.js"></script>
<script src="assets/vendor/swiper/swiper-bundle.min.js"></script>
<script src="assets/vendor/waypoints/noframework.waypoints.js"></script>
<script src="assets/vendor/php-email-form/validate.js"></script>
<!-- Template Main JS File -->
<script src="assets/js/main.js"></script>
</body>
</html>

View File

@@ -1,185 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>Portfolio Details - Laura Bootstrap Template</title>
<meta content="" name="description">
<meta content="" name="keywords">
<!-- Favicons -->
<link href="assets/img/favicon.png" rel="icon">
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Satisfy" rel="stylesheet">
<!-- Vendor CSS Files -->
<link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet">
<link href="assets/vendor/glightbox/css/glightbox.min.css" rel="stylesheet">
<link href="assets/vendor/swiper/swiper-bundle.min.css" rel="stylesheet">
<!-- Template Main CSS File -->
<link href="assets/css/style.css" rel="stylesheet">
<!-- =======================================================
* Template Name: Laura
* Updated: Jul 27 2023 with Bootstrap v5.3.1
* Template URL: https://bootstrapmade.com/laura-free-creative-bootstrap-theme/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
======================================================== -->
</head>
<body>
<!-- ======= Header ======= -->
<header id="header" class="fixed-top d-flex justify-content-center align-items-center ">
<nav id="navbar" class="navbar">
<ul>
<li><a class="nav-link scrollto " href="#hero">Home</a></li>
<li><a class="nav-link scrollto" href="#about">About</a></li>
<li><a class="nav-link scrollto" href="#resume">Resume</a></li>
<li><a class="nav-link scrollto" href="#services">Services</a></li>
<li><a class="nav-link scrollto active" href="#portfolio">Portfolio</a></li>
<li class="dropdown"><a href="#"><span>Drop Down</span> <i class="bi bi-chevron-down"></i></a>
<ul>
<li><a href="#">Drop Down 1</a></li>
<li class="dropdown"><a href="#"><span>Deep Drop Down</span> <i class="bi bi-chevron-right"></i></a>
<ul>
<li><a href="#">Deep Drop Down 1</a></li>
<li><a href="#">Deep Drop Down 2</a></li>
<li><a href="#">Deep Drop Down 3</a></li>
<li><a href="#">Deep Drop Down 4</a></li>
<li><a href="#">Deep Drop Down 5</a></li>
</ul>
</li>
<li><a href="#">Drop Down 2</a></li>
<li><a href="#">Drop Down 3</a></li>
<li><a href="#">Drop Down 4</a></li>
</ul>
</li>
<li><a class="nav-link scrollto" href="#contact">Contact</a></li>
</ul>
<i class="bi bi-list mobile-nav-toggle"></i>
</nav><!-- .navbar -->
</header><!-- End Header -->
<main id="main">
<!-- ======= Breadcrumbs Section ======= -->
<section class="breadcrumbs">
<div class="container">
<div class="d-flex justify-content-between align-items-center">
<h2>Portfolio Details</h2>
<ol>
<li><a href="index.html">Home</a></li>
<li><a href="portfolio.html">Portfolio</a></li>
<li>Portfolio Details</li>
</ol>
</div>
</div>
</section><!-- Breadcrumbs Section -->
<!-- ======= Portfolio Details Section ======= -->
<section id="portfolio-details" class="portfolio-details">
<div class="container">
<div class="row gy-4">
<div class="col-lg-8">
<div class="portfolio-details-slider swiper">
<div class="swiper-wrapper align-items-center">
<div class="swiper-slide">
<img src="assets/img/portfolio/portfolio-details-1.jpg" alt="">
</div>
<div class="swiper-slide">
<img src="assets/img/portfolio/portfolio-details-2.jpg" alt="">
</div>
<div class="swiper-slide">
<img src="assets/img/portfolio/portfolio-details-3.jpg" alt="">
</div>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
<div class="col-lg-4">
<div class="portfolio-info">
<h3>Project information</h3>
<ul>
<li><strong>Category</strong>: Web design</li>
<li><strong>Client</strong>: ASU Company</li>
<li><strong>Project date</strong>: 01 March, 2020</li>
<li><strong>Project URL</strong>: <a href="#">www.example.com</a></li>
</ul>
</div>
<div class="portfolio-description">
<h2>This is an example of portfolio detail</h2>
<p>
Autem ipsum nam porro corporis rerum. Quis eos dolorem eos itaque inventore commodi labore quia quia. Exercitationem repudiandae officiis neque suscipit non officia eaque itaque enim. Voluptatem officia accusantium nesciunt est omnis tempora consectetur dignissimos. Sequi nulla at esse enim cum deserunt eius.
</p>
</div>
</div>
</div>
</div>
</section><!-- End Portfolio Details Section -->
</main><!-- End #main -->
<!-- ======= Footer ======= -->
<footer id="footer">
<div class="container">
<h3>Laura Thomson</h3>
<p>Et aut eum quis fuga eos sunt ipsa nihil. Labore corporis magni eligendi fuga maxime saepe commodi placeat.</p>
<div class="social-links">
<a href="#" class="twitter"><i class="bx bxl-twitter"></i></a>
<a href="#" class="facebook"><i class="bx bxl-facebook"></i></a>
<a href="#" class="instagram"><i class="bx bxl-instagram"></i></a>
<a href="#" class="google-plus"><i class="bx bxl-skype"></i></a>
<a href="#" class="linkedin"><i class="bx bxl-linkedin"></i></a>
</div>
<div class="copyright">
&copy; Copyright <strong><span>Laura</span></strong>. All Rights Reserved
</div>
<div class="credits">
<!-- All the links in the footer should remain intact. -->
<!-- You can delete the links only if you purchased the pro version. -->
<!-- Licensing information: https://bootstrapmade.com/license/ -->
<!-- Purchase the pro version with working PHP/AJAX contact form: https://bootstrapmade.com/laura-free-creative-bootstrap-theme/ -->
Designed by <a href="https://bootstrapmade.com/">BootstrapMade</a>
</div>
</div>
</footer><!-- End Footer -->
<a href="#" class="back-to-top d-flex align-items-center justify-content-center"><i class="bi bi-arrow-up-short"></i></a>
<!-- Vendor JS Files -->
<script src="assets/vendor/purecounter/purecounter_vanilla.js"></script>
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/vendor/glightbox/js/glightbox.min.js"></script>
<script src="assets/vendor/isotope-layout/isotope.pkgd.min.js"></script>
<script src="assets/vendor/swiper/swiper-bundle.min.js"></script>
<script src="assets/vendor/waypoints/noframework.waypoints.js"></script>
<script src="assets/vendor/php-email-form/validate.js"></script>
<!-- Template Main JS File -->
<script src="assets/js/main.js"></script>
</body>
</html>