diff --git a/data/en/clients.yml b/data/en/clients.yml index 86c2b7e4b..1662621a5 100644 --- a/data/en/clients.yml +++ b/data/en/clients.yml @@ -9,23 +9,48 @@ clients: show: true showServices: true - - name: Tactile - image: img/clients/tactile.png + - name: BlueVoyant + image: img/clients/bluevoyant.png show: true - showServices: true + showServices: false - - name: Trisa + - name: TRISA image: img/clients/trisa.png show: true showServices: true - - name: Qredo - image: img/clients/qredo.png + - name: 202 Group + image: img/clients/202group.png show: true showServices: true - - name: 202 Group - image: img/clients/202group.png + - name: mersive + image: img/clients/mersive.png + show: true + showServices: false + + - name: WorkMation + image: img/clients/workmation.png + show: true + showServices: false + + - name: Bitcoin4U + image: img/clients/btcfu.png + show: true + showServices: false + + - name: Tech Sierra + image: img/clients/techsierra.png + show: true + showServices: false + + - name: Tactile + image: img/clients/tactile.png + show: true + showServices: true + + - name: Qredo + image: img/clients/qredo.png show: true showServices: true @@ -38,3 +63,13 @@ clients: image: img/clients/uchicago.png show: true showServices: false + + - name: UMBC Training Centers + image: img/clients/umbc_c4ai.png + show: true + showServices: false + + - name: Georgetown University + image: img/clients/georgetown.png + show: true + showServices: false diff --git a/layouts/shortcodes/clients.html b/layouts/shortcodes/clients.html index 18238b60e..4ba4cac78 100644 --- a/layouts/shortcodes/clients.html +++ b/layouts/shortcodes/clients.html @@ -12,15 +12,32 @@

{{ end }} - +
+
+ +
+
+ + +
+
{{ end }} diff --git a/layouts/shortcodes/testimonials.html b/layouts/shortcodes/testimonials.html index 7c8afe7aa..bc13e4482 100644 --- a/layouts/shortcodes/testimonials.html +++ b/layouts/shortcodes/testimonials.html @@ -10,7 +10,7 @@

{{ .title }}

{{ .description }}

-
+
{{ range .testimonial }} diff --git a/static/img/clients/bluevoyant.png b/static/img/clients/bluevoyant.png new file mode 100644 index 000000000..e15ffc1ab Binary files /dev/null and b/static/img/clients/bluevoyant.png differ diff --git a/static/img/clients/btcfu.png b/static/img/clients/btcfu.png new file mode 100644 index 000000000..18407b390 Binary files /dev/null and b/static/img/clients/btcfu.png differ diff --git a/static/img/clients/georgetown.png b/static/img/clients/georgetown.png new file mode 100644 index 000000000..923f1ebe7 Binary files /dev/null and b/static/img/clients/georgetown.png differ diff --git a/static/img/clients/mersive.png b/static/img/clients/mersive.png new file mode 100644 index 000000000..48381d7c8 Binary files /dev/null and b/static/img/clients/mersive.png differ diff --git a/static/img/clients/techsierra.png b/static/img/clients/techsierra.png new file mode 100644 index 000000000..3cbf7b0bc Binary files /dev/null and b/static/img/clients/techsierra.png differ diff --git a/static/img/clients/umbc_c4ai.png b/static/img/clients/umbc_c4ai.png new file mode 100644 index 000000000..1cc0133de Binary files /dev/null and b/static/img/clients/umbc_c4ai.png differ diff --git a/static/img/clients/workmation.png b/static/img/clients/workmation.png new file mode 100644 index 000000000..c3b93c5e2 Binary files /dev/null and b/static/img/clients/workmation.png differ diff --git a/static/js/index.js b/static/js/index.js index 8853e8133..ce89b516b 100644 --- a/static/js/index.js +++ b/static/js/index.js @@ -1,12 +1,16 @@ -// Initialize Embla carousel -const emblaRoot = document.querySelector('.embla'); -const emblaViewport = emblaRoot?.querySelector('.embla__viewport'); -const prevBtn = emblaRoot?.querySelector('.embla__prev'); -const nextBtn = emblaRoot?.querySelector('.embla__next'); -const options = { loop: true }; +// Initialize Embla carousel. +const emblaRoot = document.querySelectorAll('.embla'); if (emblaRoot) { - const carousel = EmblaCarousel(emblaViewport, options); - prevBtn.addEventListener('click', carousel.scrollPrev, false); - nextBtn.addEventListener('click', carousel.scrollNext, false); -} \ No newline at end of file + emblaRoot?.forEach((root) => { + // Set carousel options from the data attributes. + const options = { loop: Boolean(root?.dataset?.loop), slidesToScroll: Number(root?.dataset?.scroll), align: "start" }; + const carousel = EmblaCarousel(root?.querySelector('.embla__viewport'), options); + + const prevBtn = root?.querySelector('.embla__prev'); + const nextBtn = root?.querySelector('.embla__next'); + + prevBtn?.addEventListener('click', carousel?.scrollPrev, false); + nextBtn?.addEventListener('click', carousel?.scrollNext, false); + }); +}; \ No newline at end of file diff --git a/static/output.css b/static/output.css index 419f841ab..84f15237a 100644 --- a/static/output.css +++ b/static/output.css @@ -1131,6 +1131,10 @@ video { visibility: visible; } +.invisible { + visibility: hidden; +} + .static { position: static; } @@ -1397,6 +1401,10 @@ video { margin-top: 0.25rem; } +.mt-1\.5 { + margin-top: 0.375rem; +} + .mt-10 { margin-top: 2.5rem; } @@ -1561,6 +1569,10 @@ video { height: 2rem; } +.h-9 { + height: 2.25rem; +} + .h-\[100px\] { height: 100px; } @@ -1585,6 +1597,10 @@ video { height: 100%; } +.max-h-14 { + max-height: 3.5rem; +} + .max-h-96 { max-height: 24rem; } @@ -1630,6 +1646,10 @@ video { width: 6rem; } +.w-28 { + width: 7rem; +} + .w-3 { width: 0.75rem; } @@ -1678,6 +1698,10 @@ video { width: 20rem; } +.w-9 { + width: 2.25rem; +} + .w-96 { width: 24rem; } @@ -1714,10 +1738,6 @@ video { max-width: 80rem; } -.max-w-\[180px\] { - max-width: 180px; -} - .max-w-\[350px\] { max-width: 350px; } @@ -1750,6 +1770,10 @@ video { flex: 0 0 100%; } +.flex-\[0_0_50\%\] { + flex: 0 0 50%; +} + .flex-none { flex: none; } @@ -1784,6 +1808,11 @@ video { cursor: pointer; } +.touch-pinch-zoom { + --tw-pinch-zoom: pinch-zoom; + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); +} + .resize { resize: both; } @@ -2262,6 +2291,11 @@ video { background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } +.object-contain { + -o-object-fit: contain; + object-fit: contain; +} + .object-cover { -o-object-fit: cover; object-fit: cover; @@ -2709,11 +2743,6 @@ video { color: rgb(75 85 99 / var(--tw-text-opacity)); } -.text-red-800 { - --tw-text-opacity: 1; - color: rgb(153 27 27 / var(--tw-text-opacity)); -} - .text-red-900 { --tw-text-opacity: 1; color: rgb(127 29 29 / var(--tw-text-opacity)); @@ -2778,6 +2807,11 @@ video { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } +.grayscale { + --tw-grayscale: grayscale(100%); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + .filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } @@ -3300,6 +3334,11 @@ em { color: rgb(148 163 184 / var(--tw-text-opacity)); } +.hover\:grayscale-0:hover { + --tw-grayscale: grayscale(0); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; @@ -3672,6 +3711,10 @@ em { max-width: 24rem; } + .md\:flex-\[0_0_33\%\] { + flex: 0 0 33%; + } + .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } @@ -3692,10 +3735,6 @@ em { flex-direction: row; } - .md\:flex-wrap { - flex-wrap: wrap; - } - .md\:items-center { align-items: center; } @@ -3975,6 +4014,10 @@ em { width: 100%; } + .lg\:flex-\[0_0_20\%\] { + flex: 0 0 20%; + } + .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } @@ -3995,6 +4038,10 @@ em { align-items: center; } + .lg\:justify-center { + justify-content: center; + } + .lg\:justify-between { justify-content: space-between; }