7 Commits

Author SHA1 Message Date
8fb985538d Updated copyright to 2026
All checks were successful
Publish to Server / Deploy (push) Successful in 39s
Changed website URL and references from CS:Box to Computing:Box

Signed-off-by: Alexander Lyall <alex@adcm.uk>
2026-01-11 17:41:24 +00:00
9188b796fc Add .htaccess to rewrite URLs without .html extension
All checks were successful
Publish to Server / Deploy (push) Successful in 43s
Signed-off-by: Alexander Davis <alex@adcm.uk>
2025-12-14 13:22:27 +00:00
33fd3595ea Export of whole site.
All checks were successful
Publish to Server / Deploy (push) Successful in 52s
Signed-off-by: Alexander Davis <alex@adcm.uk>
2025-12-14 13:12:06 +00:00
9a27375a8f Merge branch 'main' of https://git.adcmnetworks.co.uk/ADCM-Networks/ProfessionalWebsite.git
* 'main' of https://git.adcmnetworks.co.uk/ADCM-Networks/ProfessionalWebsite.git:
  Update .gitea/workflows/publish.yaml
2025-12-14 13:11:35 +00:00
c752004771 Export of whole site
Signed-off-by: Alexander Davis <alex@adcm.uk>
2025-12-14 13:11:11 +00:00
38c2a20da1 Update .gitea/workflows/publish.yaml
Some checks failed
Publish to Server / Deploy (push) Failing after 37s
2025-12-14 13:08:25 +00:00
672e32dcf8 Remove export directory to hide unpublished posts
Some checks failed
Publish to Server / Deploy (push) Has been cancelled
Add new blog post: "The Split Up"
Update "Acknowledgements & Dedications": replace main message with alert box
Update "Marking the Milestone: Mastering the Computing Measure": replace note-to-self with alert box

Signed-off-by: Alexander Davis <alex@adcm.uk>
2025-12-14 13:02:10 +00:00
192 changed files with 4424 additions and 536 deletions

View File

@@ -22,8 +22,7 @@ jobs:
with:
server: ${{ vars.SSH_HOST }}
username: ${{ vars.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
passphrase: ${{ secrets.KEY_PASSWORD }}
password: ${{ secrets.KEY_PASSWORD }}
port: 22
uploads: |
${{ vars.GIT_FOLDER }} => ${{ vars.SSH_FOLDER }}

9
Export/.htaccess Normal file
View File

@@ -0,0 +1,9 @@
RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,168 @@
.carousel-item {
height: 600px;
position: relative;
overflow: hidden;
}
.carousel-item img {
height: 100%;
width: 100%;
object-fit: cover;
transition: transform 1s ease;
}
.carousel-caption {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
width: 100%;
padding: 0;
}
.carousel-text-container {
position: relative;
z-index: 4;
opacity: 0;
transform: translateX(100px);
transition: all 1s ease;
}
.carousel-button {
transition: all 1s ease;
}
.carousel-button .btn {
background-color: #38c3ff;
color: #ffffff;
border: none;
padding: 0.75rem 1.5rem;
font-size: 1.2em;
border-radius: 5px;
cursor: pointer;
z-index: 7;
}
.carousel-overlay {
position: absolute;
top: -100%;
left: 50%;
transform: translateX(-50%);
width: calc(70% - 450px);
height: 170%;
background-color: rgba(89,170,204,0.6);
z-index: 2;
transition: all 1s ease;
border-radius: 4px;
padding-top: 50px;
display: block;
}
.carousel-item.active img {
transform: translateX(0);
}
.carousel-item.active .carousel-text-container {
opacity: 1;
transform: translateX(0);
transition-delay: 0.2s;
}
.carousel-item.active .carousel-button {
opacity: 1;
transition-delay: 1.2s;
}
.carousel-item.active .carousel-overlay {
top: -50px;
}
.heading_titles {
margin-top: 70px !important;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
font-weight: 700;
}
.btn_view_more {
margin-top: 15px;
z-index: 3 !important;
opacity: 1;
position: relative;
}
@media (max-width: 1480px) {
.carousel-overlay {
width: calc(60% + 50px);
}
}
@media (max-width: 768px) {
.btn_view_more {
/*margin-top: 15px;*/
z-index: 3 !important;
}
}
@media (max-width: 768px) {
.carousel-button .btn {
font-size: 1em;
padding: 0.5rem 1rem;
}
}
@media (max-width: 768px) {
.carousel-item {
height: 500px;
z-index: 7;
}
}
@media (max-width: 768px) {
.carousel-overlay {
width: calc(80% + 50px);
}
}
@media (max-width: 576px) {
.carousel-button .btn {
font-size: 0.8em;
padding: .4rem .8rem;
}
}
@media (max-width: 576px) {
.carousel-item {
height: 400px;
}
}
@media (max-width: 576px) {
.carousel-overlay {
width: calc(90% + 50px);
}
}
.small_heading {
text-shadow: 2px 2px 8px rgb(67,67,67);
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
width: 100%;
padding: 0px;
margin: 0px;
padding-right: calc(var(--bs-gutter-x) * .5);
padding-left: calc(var(--bs-gutter-x) * .5);
margin-right: auto;
margin-left: auto;
padding: 0px;
margin: 0px;
}
.container-fluid {
padding: 0px;
margin: 0px;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,53 @@
@font-face {
font-family: 'Lato';
src: url(../../assets/fonts/Lato-4e217721e9fb1cd301e9a54b812ed57e.woff2?h=4cf0101c9fb4e71821a619e3490ba3db) format('woff2');
font-weight: 300;
font-style: normal;
font-display: swap;
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Lato';
src: url(../../assets/fonts/Lato-56d4f452a028c443cc47b3fadf4ce597.woff2?h=4cf0101c9fb4e71821a619e3490ba3db) format('woff2');
font-weight: 300;
font-style: normal;
font-display: swap;
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Lato';
src: url(../../assets/fonts/Lato-8396872b14a8ea9c4ae608b70e9d89a9.woff2?h=4cf0101c9fb4e71821a619e3490ba3db) format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Lato';
src: url(../../assets/fonts/Lato-94b6e1f3e395174bc9a2ac26a293a78d.woff2?h=4cf0101c9fb4e71821a619e3490ba3db) format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Lato';
src: url(../../assets/fonts/Lato-5387afcc673bd39af5b4ab2d4f64f3e7.woff2?h=4cf0101c9fb4e71821a619e3490ba3db) format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Lato';
src: url(../../assets/fonts/Lato-51893472f68d786b7cec684fd0a2af6d.woff2?h=4cf0101c9fb4e71821a619e3490ba3db) format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

View File

@@ -0,0 +1,49 @@
.rainbow-border:hover {
--border-angle: 0turn;
--main-bg: conic-gradient(
from var(--border-angle),
var(--bs-primary),
#112 5%,
#112 60%,
#213 95%
);
border: solid 5px transparent;
border-radius: 5px;
--gradient-border: conic-gradient(from var(--border-angle), transparent 25%, var(--bs-primary), var(--bs-secondary) 99%, transparent);
background: var(--main-bg) padding-box, var(--gradient-border) border-box, var(--main-bg) border-box;
background-position: center center;
animation: bg-spin 3s linear infinite;
}
@keyframes bg-spin {
to {
--border-angle: 1turn;
}
}
@property --border-angle {
syntax: "<angle>";
inherits: true;
initial-value: 0turn;
}
@keyframes colour-change {
0% {
background: linear-gradient(120deg, var(--bs-primary), var(--bs-secondary));
}
50% {
background: linear-gradient(120deg, var(--bs-secondary), var(--bs-primary), var(--bs-secondary));
}
100% {
background: linear-gradient(120deg, var(--bs-secondary), var(--bs-primary));
}
}
@keyframes reverse-colour-change {
0% {
background: linear-gradient(120deg, var(--bs-secondary), var(--bs-primary));
}
50% {
background: linear-gradient(120deg, var(--bs-primary), var(--bs-secondary), var(--bs-primary));
}
100% {
background: linear-gradient(120deg, var(--bs-primary), var(--bs-secondary));
}
}

View File

@@ -0,0 +1,197 @@
:root, [data-bs-theme=light] {
--bs-primary: #381741;
--bs-primary-rgb: 56,23,65;
--bs-primary-text-emphasis: #16091A;
--bs-primary-bg-subtle: #D7D1D9;
--bs-primary-border-subtle: #AFA2B3;
--bs-secondary: #e86b17;
--bs-secondary-rgb: 232,107,23;
--bs-secondary-text-emphasis: #5D2B09;
--bs-secondary-bg-subtle: #FAE1D1;
--bs-secondary-border-subtle: #F6C4A2;
--bs-link-color: #381741;
--bs-link-color-rgb: 56,23,65;
--bs-link-hover-color: #e86b17;
--bs-link-hover-color-rgb: 232,107,23;
}
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #381741;
--bs-btn-border-color: #381741;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #301437;
--bs-btn-hover-border-color: #2D1234;
--bs-btn-focus-shadow-rgb: 225,220,227;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #2D1234;
--bs-btn-active-border-color: #2A1131;
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #381741;
--bs-btn-disabled-border-color: #381741;
}
.btn-outline-primary {
--bs-btn-color: #381741;
--bs-btn-border-color: #381741;
--bs-btn-focus-shadow-rgb: 56,23,65;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #381741;
--bs-btn-hover-border-color: #381741;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #381741;
--bs-btn-active-border-color: #381741;
--bs-btn-disabled-color: #381741;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #381741;
}
.btn-secondary {
--bs-btn-color: #000000;
--bs-btn-bg: #e86b17;
--bs-btn-border-color: #e86b17;
--bs-btn-hover-color: #000000;
--bs-btn-hover-bg: #EB813A;
--bs-btn-hover-border-color: #EA7A2E;
--bs-btn-focus-shadow-rgb: 35,16,3;
--bs-btn-active-color: #000000;
--bs-btn-active-bg: #ED8945;
--bs-btn-active-border-color: #EA7A2E;
--bs-btn-disabled-color: #000000;
--bs-btn-disabled-bg: #e86b17;
--bs-btn-disabled-border-color: #e86b17;
}
.btn-outline-secondary {
--bs-btn-color: #e86b17;
--bs-btn-border-color: #e86b17;
--bs-btn-focus-shadow-rgb: 232,107,23;
--bs-btn-hover-color: #000000;
--bs-btn-hover-bg: #e86b17;
--bs-btn-hover-border-color: #e86b17;
--bs-btn-active-color: #000000;
--bs-btn-active-bg: #e86b17;
--bs-btn-active-border-color: #e86b17;
--bs-btn-disabled-color: #e86b17;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #e86b17;
}
[data-bs-theme=dark] {
--bs-primary: #e86b17;
--bs-primary-rgb: 232,107,23;
--bs-primary-text-emphasis: #F1A674;
--bs-primary-bg-subtle: #2E1505;
--bs-primary-border-subtle: #8B400E;
--bs-secondary: #381741;
--bs-secondary-rgb: 56,23,65;
--bs-secondary-text-emphasis: #88748D;
--bs-secondary-bg-subtle: #0B050D;
--bs-secondary-border-subtle: #220E27;
--bs-link-color: #ffffff;
--bs-link-color-rgb: 255,255,255;
--bs-link-hover-color: #e86b17;
--bs-link-hover-color-rgb: 232,107,23;
}
[data-bs-theme=dark] .btn-primary, .btn-primary[data-bs-theme=dark] {
--bs-btn-color: #000000;
--bs-btn-bg: #e86b17;
--bs-btn-border-color: #e86b17;
--bs-btn-hover-color: #000000;
--bs-btn-hover-bg: #EB813A;
--bs-btn-hover-border-color: #EA7A2E;
--bs-btn-focus-shadow-rgb: 35,16,3;
--bs-btn-active-color: #000000;
--bs-btn-active-bg: #ED8945;
--bs-btn-active-border-color: #EA7A2E;
--bs-btn-disabled-color: #000000;
--bs-btn-disabled-bg: #e86b17;
--bs-btn-disabled-border-color: #e86b17;
}
[data-bs-theme=dark] .btn-outline-primary, .btn-outline-primary[data-bs-theme=dark] {
--bs-btn-color: #e86b17;
--bs-btn-border-color: #e86b17;
--bs-btn-focus-shadow-rgb: 232,107,23;
--bs-btn-hover-color: #000000;
--bs-btn-hover-bg: #e86b17;
--bs-btn-hover-border-color: #e86b17;
--bs-btn-active-color: #000000;
--bs-btn-active-bg: #e86b17;
--bs-btn-active-border-color: #e86b17;
--bs-btn-disabled-color: #e86b17;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #e86b17;
}
[data-bs-theme=dark] .btn-secondary, .btn-secondary[data-bs-theme=dark] {
--bs-btn-color: #fff;
--bs-btn-bg: #381741;
--bs-btn-border-color: #381741;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #301437;
--bs-btn-hover-border-color: #2D1234;
--bs-btn-focus-shadow-rgb: 225,220,227;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #2D1234;
--bs-btn-active-border-color: #2A1131;
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #381741;
--bs-btn-disabled-border-color: #381741;
}
[data-bs-theme=dark] .btn-outline-secondary, .btn-outline-secondary[data-bs-theme=dark] {
--bs-btn-color: #381741;
--bs-btn-border-color: #381741;
--bs-btn-focus-shadow-rgb: 56,23,65;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #381741;
--bs-btn-hover-border-color: #381741;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #381741;
--bs-btn-active-border-color: #381741;
--bs-btn-disabled-color: #381741;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #381741;
}
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.pt-3 {
padding-top: 1rem !important;
}
@media (min-width: 992px) {
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
}
.swiper-vertical {
max-height: 100vh;
}
.swiper-nav-standalone .swiper-button-prev, .swiper-nav-standalone .swiper-button-next {
position: relative;
top: auto;
right: auto;
bottom: auto;
left: auto;
width: auto;
height: auto;
margin: 0;
}
.swiper-nav-standalone .swiper-button-prev:after, .swiper-nav-standalone .swiper-button-next:after {
content: "";
}
.swiper-nav-custom .swiper-button-prev:after, .swiper-nav-custom .swiper-button-next:after {
content: "";
}

226
Export/assets/css/pikaday.min.css vendored Normal file
View File

@@ -0,0 +1,226 @@
/* !
* Pikaday
* Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/ */
.pika-single {
z-index: 9999;
display: block;
position: relative;
color: #333;
background: #fff;
border: 1px solid #ccc;
border-bottom-color: #bbb;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}
.pika-single:after, .pika-single:before {
content: " ";
display: table;
}
.pika-single:after {
clear: both;
}
.pika-single.is-hidden {
display: none;
}
.pika-single.is-bound {
position: absolute;
box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
}
.pika-lendar {
float: left;
width: 240px;
margin: 8px;
}
.pika-title {
position: relative;
text-align: center;
}
.pika-label {
display: inline-block;
position: relative;
z-index: 9999;
overflow: hidden;
margin: 0;
padding: 5px 3px;
font-size: 14px;
line-height: 20px;
font-weight: 700;
background-color: #fff;
}
.pika-title select {
cursor: pointer;
position: absolute;
z-index: 9998;
margin: 0;
left: 0;
top: 5px;
opacity: 0;
}
.pika-next, .pika-prev {
display: block;
cursor: pointer;
position: relative;
outline: 0;
border: 0;
padding: 0;
width: 20px;
height: 30px;
text-indent: 20px;
white-space: nowrap;
overflow: hidden;
background-color: transparent;
background-position: center center;
background-repeat: no-repeat;
background-size: 75% 75%;
opacity: .5;
}
.pika-next:hover, .pika-prev:hover {
opacity: 1;
}
.is-rtl .pika-next, .pika-prev {
float: left;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==);
}
.is-rtl .pika-prev, .pika-next {
float: right;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=);
}
.pika-next.is-disabled, .pika-prev.is-disabled {
cursor: default;
opacity: .2;
}
.pika-select {
display: inline-block;
}
.pika-table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
border: 0;
}
.pika-table td, .pika-table th {
width: 14.285714285714286%;
padding: 0;
}
.pika-table th {
color: #999;
font-size: 12px;
line-height: 25px;
font-weight: 700;
text-align: center;
}
.pika-button {
cursor: pointer;
display: block;
box-sizing: border-box;
-moz-box-sizing: border-box;
outline: 0;
border: 0;
margin: 0;
width: 100%;
padding: 5px;
color: #666;
font-size: 12px;
line-height: 15px;
text-align: right;
background: #f5f5f5;
}
.pika-week {
font-size: 11px;
color: #999;
}
.is-today .pika-button {
color: #3af;
font-weight: 700;
}
.has-event .pika-button, .is-selected .pika-button {
color: #fff;
font-weight: 700;
background: #3af;
box-shadow: inset 0 1px 3px #178fe5;
border-radius: 3px;
}
.has-event .pika-button {
background: #005da9;
box-shadow: inset 0 1px 3px #0076c9;
}
.is-disabled .pika-button, .is-inrange .pika-button {
background: #d5e9f7;
}
.is-startrange .pika-button {
color: #fff;
background: #6cb31d;
box-shadow: none;
border-radius: 3px;
}
.is-endrange .pika-button {
color: #fff;
background: #3af;
box-shadow: none;
border-radius: 3px;
}
.is-disabled .pika-button {
pointer-events: none;
cursor: default;
color: #999;
opacity: .3;
}
.is-outside-current-month .pika-button {
color: #999;
opacity: .3;
}
.is-selection-disabled {
pointer-events: none;
cursor: default;
}
.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button {
color: #fff;
background: #ff8000;
box-shadow: none;
border-radius: 3px;
}
.pika-table abbr {
border-bottom: none;
cursor: help;
}
/* # sourceMappingURL=pikaday.min.css.map */
.page-footer .links a {
font-size: 1.2rem;
}
.portfolio-block.cv .group .item {
border-bottom: 1px solid var(--bs-dark-bg-subtle);
}

View File

@@ -0,0 +1,611 @@
.bs-icon {
--bs-icon-size: .75rem;
display: flex;
flex-shrink: 0;
justify-content: center;
align-items: center;
font-size: var(--bs-icon-size);
width: calc(var(--bs-icon-size) * 2);
height: calc(var(--bs-icon-size) * 2);
color: var(--bs-primary);
}
.bs-icon-xs {
--bs-icon-size: 1rem;
width: calc(var(--bs-icon-size) * 1.5);
height: calc(var(--bs-icon-size) * 1.5);
}
.bs-icon-sm {
--bs-icon-size: 1rem;
}
.bs-icon-md {
--bs-icon-size: 1.5rem;
}
.bs-icon-lg {
--bs-icon-size: 2rem;
}
.bs-icon-xl {
--bs-icon-size: 2.5rem;
}
.bs-icon.bs-icon-primary {
color: var(--bs-white);
background: var(--bs-primary);
}
.bs-icon.bs-icon-primary-light {
color: var(--bs-primary);
background: rgba(var(--bs-primary-rgb), .2);
}
.bs-icon.bs-icon-semi-white {
color: var(--bs-primary);
background: rgba(255, 255, 255, .5);
}
.bs-icon.bs-icon-rounded {
border-radius: .5rem;
}
.bs-icon.bs-icon-circle {
border-radius: 50%;
}
.blog-heading {
margin-bottom: 10px !important;
text-align: center;
}
.blog-loop-img {
max-height: 200px;
background-size: cover;
}
.blog-block {
padding-bottom: 25px!important;
padding-top: 50px!important;
}
/* [data-bs-theme=dark] .card-link .blog-link {
--bs-link-color: #ffffff !important;
--bs-link-color-rgb: 255,255,255 !important;
--bs-link-hover-color: var(--bs-primary) !important;
--bs-link-hover-color-rgb: var(--bs-primary-rgb) !important;
color: #ffffff !important;
}
[data-bs-theme=dark] .card-link .blog-link:hover {
--bs-link-color: #ffffff !important;
--bs-link-color-rgb: 255,255,255 !important;
--bs-link-hover-color: var(--bs-primary) !important;
--bs-link-hover-color-rgb: var(--bs-primary-rgb) !important;
color: var(--bs-secondary) !important;
}
[data-bs-theme=light] .card-link .blog-link {
--bs-link-color: var(--bs-primary) !important;
--bs-link-color-rgb: var(--bs-primary-rgb) !important;
--bs-link-hover-color: var(--bs-primary) !important;
--bs-link-hover-color-rgb: var(--bs-primary-rgb) !important;
color: var(--bs-link-color);
}
[data-bs-theme=light] .card-link .blog-link:hover {
--bs-link-color: var(--bs-primary) !important;
--bs-link-color-rgb: var(--bs-primary-rgb) !important;
--bs-link-hover-color: var(--bs-primary) !important;
--bs-link-hover-color-rgb: var(--bs-primary-rgb) !important;
color: var(--bs-link-hover-color);
} */
[data-bs-theme=light] .footer-logo-colour {
display: block;
}
[data-bs-theme=dark] .footer-logo-colour {
display: none;
}
[data-bs-theme=dark] #light-mode {
display: none!important;
}
[data-bs-theme=auto] #light-mode {
display: none!important;
}
[data-bs-theme=light] #dark-mode {
display: none!important;
}
[data-bs-theme=light] #dark-mode {
display: none!important;
}
[data-bs-theme=light] #auto-mode {
display: none!important;
}
[data-bs-theme=dark] #auto-mode {
display: none!important;
}
[data-bs-theme=auto] #light-mode {
display: none!important;
}
[data-bs-theme=auto] #dark-mode {
display: none!important;
}
.gradient {
background: linear-gradient(120deg, rgb(var(--bs-primary-rgb)), rgb(var(--bs-secondary-rgb)))!important;
color: #fff;
transition: background 1000ms linear;
}
.gradient .mode-select {
pointer-events: auto;
}
.gradient:hover {
animation: reverse-colour-change;
animation-iteration-count: 1;
animation-duration: 5s;
animation-fill-mode: forwards;
}
.coloured-underline {
text-decoration-line: underline;
text-decoration-thickness: 2.5px;
text-decoration-color: linear-gradient(var(--bs-secondary-rgb), var(--bs-primary-rgb));
transition: background-size 2s linear, background-position 2s linear;
text-decoration: none;
background-image: linear-gradient(rgb(var(--bs-secondary-rgb)),rgb(var(--bs-primary-rgb)));
background-size: 20px 2px, 100% 2px, 0 2px;
background-position: calc(20px * -1) 100%, 100% 100%, 0 100%;
background-repeat: no-repeat;
transition: background-size 2s linear, background-position 2s linear;
}
.coloured-underline:hover {
/*text-decoration-thickness: 5px;*/
background-size: 20px 2px, 0 2px, 100% 2px;
background-position: calc(100% + 20px) 100%, 100% 100%, 0 100%;
}
/* [data-bs-theme="light"] .carousel-fade {
--bs-carousel-indicator-active-bg: #000;
--bs-carousel-caption-color: #000;
--bs-carousel-control-icon-filter: invert(1) grayscale(100);
}
[data-bs-theme="dark"] .carousel-fade {
--bs-carousel-indicator-active-bg: #fff;
--bs-carousel-caption-color: #fff;
--bs-carousel-control-icon-filter: invert(0) grayscale(100);
} */
.rainbow-border {
max-height: 15em;
object-fit: cover;
}
.slider-image-fit {
object-fit: contain !important;
}
.center-everything {
margin-right: auto!important;
margin-left: auto!important;
}
.portfolio-block.block-intro {
padding-top: 5em;
padding-bottom: 2em;
}
.portfolio-block.project {
padding-top: 0px;
padding-bottom: 3em;
}
.portfolio-block.project .more-projects {
margin-top: 2em;
border-top: 1px solid var(--bs-dark-subtle);
padding-top: 1em;
}
.portfolio-block.block-intro p {
font-size: 1.5em;
font-weight: 300;
margin-bottom: 30px;
max-width: 95%;
}
.project-carousel {
width: 95%;
margin-right: auto;
margin-left: auto;
margin-bottom: 25px;
}
.portfolio-block .heading h2, .portfolio-block .heading .h2 {
text-transform: capitalize;
margin-top: 0;
margin-bottom: .5rem;
font-weight: bold;
line-height: 1.2;
color: var(--bs-heading-color);
font-size: 2.5rem;
}
.swiper-control {
color: var(--bs-secondary);
}
:root {
--swiper-theme-color: var(--bs-secondary);
}
.dropdown-menu .dropdown-item:active {
--bs-dropdown-link-active-bg: var(--bs-secondary)!important;
}
.portfolio-navbar.gradient {
padding-top: 5px;
padding-bottom: 5px;
}
.logo {
margin-right: 0;
padding: 0;
}
.portfolio-navbar.gradient img {
width: 100px;
height: 100px;
}
.heading.blog-heading.acknowledgements {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/dissertation_acknowledgements.webp?h=0a964a8359c7afc7a412d2fa56f81732") center / cover;
color: white;
}
.footer-copyright {
margin-left: 2em;
}
.loop-padding {
padding-top: 25px;
}
.footer-logo {
width: 100px;
height: 100px;
}
.accreditations-title {
font-weight: bold;
}
.accreditations-navigation {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.heading.page-heading {
margin-bottom: 25px;
}
.loop-item {
padding-bottom: 15px;
}
.card-resize {
height: 18em;
}
.dates {
float: right;
}
.tags {
float: left;
}
.excerpts {
clear: both;
}
.heading.blog-heading.pbm-website {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/peter_bell%20music/peter_bell_music.webp?h=bf4c8cb4c7d1ff76ef9bec3bf29df3ae") center / cover;
color: white;
}
.heading.blog-heading.keresley-website {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/keresley_church/keresleychurch.webp?h=452ec6d8bd02d324537f2dd100764d76") center / cover;
color: white;
}
.heading.blog-heading.mottashaw-consulting {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/mottashaw/mottashaw-preview.webp?h=c4ff31817c96c7661dbd3bf735b19fa9") center / cover;
color: white;
}
.heading.blog-heading.showreel {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/showreel.jpg?h=9be1146cb56a32276b867b17b96c2972") center / cover;
color: white;
}
.heading.blog-heading.frizzle-tv {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/frizzle/frizzlepreview.webp?h=fe3aa289bd751d93101e7ac02bbe22a3") center / cover;
color: white;
}
.heading.blog-heading.bcumha-website {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/bcumha/bcumhapreview.webp?h=59e6f298a7cf791663e3280b7638cc14") center / cover;
color: white;
}
.heading.blog-heading.bcudiscover-website {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/bcu_dis.cover/bcudiscoverpreview.webp?h=a9c8f8deb4fac6c2b1e65e11c6dce8c5") center / cover;
color: white;
}
.heading.blog-heading.bcucu-website {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/web_design/bcucu/bcucupreview.webp?h=0c3a26febc398753c8c1cea6d046322f") center / cover;
color: white;
}
.heading.blog-heading.taskmaster-ios {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/for_education/taskmaster_for%20ios/taskmasteriospreview.webp?h=b62eff0bef2a6734f8e4ac9ad05f103c") center / cover;
color: white;
}
.heading.blog-heading.naturefindings-windows {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/for_education/nature_findings/naturefindingspreview.webp?h=a1d20406f8862370fbf569a75cf95af9") center / cover;
color: white;
}
.heading.blog-heading.mymind-ios {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/for_education/my_mind/my_mind_logo.webp?h=4e299b8017d1483b6dfb87ea14d502aa") center / cover;
color: white;
}
.heading.blog-heading.csbox-web {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/for_education/cs_box/csbox_logo.webp?h=487f527cf87df0dba11b6f4d4993a80d") center / cover;
color: white;
}
.heading.blog-heading.bitbox-various {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/for_education/bit_box/bit_box_logo.webp?h=36b5ef1a4c9f880d65df48518293999f") center / cover;
color: white;
}
.heading.blog-heading.identity-website {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/the_computers_identity/identitypreview.webp?h=8f3c2d53aaf46cff69c58a66abbe76f5") center / cover;
color: white;
}
.heading.blog-heading.taskmaster-web {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/task_master/taskmasterpreview.webp?h=bece3f4d6e67029790c7b300d5db3393") center / cover;
color: white;
}
.heading.blog-heading.sortai-windows {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/sort.ai/sort.ai_logo.webp?h=a198ffe5f200f284ee778dd6f7b1d741") center / cover;
color: white;
}
.heading.blog-heading.societyplus-web {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/society+/societypluspreview.webp?h=c5bf765f66449f21ca88f0206db68bd5") center / cover;
color: white;
}
.heading.blog-heading.iamaware-film {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/iamaware.webp?h=a3dcdbacf64839eb9dcfd0f9190b41fb") center / cover;
color: white;
}
.heading.blog-heading.exambufforbluff-windows {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/exam_buff_or_exam_bluff/exam_buff_or_exam_bluff_app_logo.webp?h=c5996308f0abaf2970a7fd4e8e1cdcbf") center / cover;
color: white;
}
.heading.blog-heading.citationneeded-web {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/projects/extracurricular/citation_needed/login_screen.webp?h=3626905284037118af731fe2573ac5f4") center / cover;
color: white;
}
.heading.blog-heading.split {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/break-up.jpg?h=2583aa574343007bfcdc91dcbad2cd32") center / cover;
color: white;
}
.heading.blog-heading.migration {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/migration-process.webp?h=e112f60ecc785c0dfc809a62dd3a356f") center / cover;
color: white;
}
.heading.blog-heading.clutter {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/clearing_the_clutter.webp?h=663b94419c9fd6cac937ef9f663fc013") center / cover;
color: white;
}
.heading.blog-heading.edtech {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/edtech_strategies.webp?h=b72cdf1e1356beee9d0d49acf961779b") center / cover;
color: white;
}
.heading.blog-heading.reset {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/its_been_a_while.webp?h=dac60117b0dffab449f882fe85bb3e31") center / cover;
color: white;
}
.heading.blog-heading.milestone {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/milestone.webp?h=d29dcecaf625be0e0a7477bb376bb154") center / cover;
color: white;
}
.heading.blog-heading.try-again {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/somethings-not-right.webp?h=0f3a7a00d0464010d2f7d3883466f8fa") center / cover;
color: white;
}
.heading.blog-heading.tes-launch {
height: 25em;
background: linear-gradient(rgba(var(--bs-primary-rgb),0.75), rgba(var(--bs-secondary-rgb),0.75)), url("../../assets/img/blog/what-started-it-all.webp?h=8f52c56d25366380ceae7d60855e2cb6") center / cover;
color: white;
}
.button {
margin-bottom: 80px;
}
.hide-quote {
display: none;
}
.post-images {
text-align: center;
margin-bottom: 16px;
}
.blog-image-container {
width: 250px;
}
.blog-list {
margin-bottom: 16px;
}
.blog-button {
margin: 0PX 0PX 80PX;
}
.project-buttons {
margin-top: 25px;
margin-right: auto;
margin-left: auto;
display: flex;
justify-content: center;
}
.more-projects-heading {
margin-bottom: 10px!important;
}
.meta.project-details {
padding-left: 12px!important;
padding-right: 12px!important;
}
.portfolio-video {
margin-right: auto;
margin-left: auto;
margin-bottom: 1em;
}
.intro-margin {
margin-top: 25px;
}
.about-intro {
margin-bottom: 15px;
margin-top: 25px;
}
.headshot {
max-width: 500px;
}
.text-margin {
margin-top: 15px;
}
.cv-group {
max-width: 75%;
}
.portfolio-block.cv.no-padding {
padding-bottom: 0px;
padding-top: 0px;
}
.heading-no-gap {
margin-bottom: 0px!important;
}
.work-experience.group.wex-div {
margin-top: 25px;
margin-right: auto;
margin-left: auto;
}
.footer-margin {
margin-bottom: 25px;
}
.contact-form {
max-width: 85%;
}
.portfolio-block.block-intro.auto-margin {
margin-top: auto;
}
.screen-content.featured-project {
background-image: url("../../assets/img/projects/for_education/cs_box/csbox_homepage.webp?h=5f6153bff07499f4d1108de6fea419f5");
}
.accreditation {
height: 150px;
object-fit: contain;
}
.card-img-size {
max-height: 10em;
object-fit: cover;
}
.mobile-padding-left {
margin-left: 0.5em;
}
.no-margin {
margin: 0;
}

7
Export/assets/css/styles.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB

View File

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 180 KiB

View File

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

View File

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 169 KiB

View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 239 KiB

View File

Before

Width:  |  Height:  |  Size: 173 KiB

After

Width:  |  Height:  |  Size: 173 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 124 KiB

View File

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 211 KiB

View File

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 149 KiB

View File

Before

Width:  |  Height:  |  Size: 471 KiB

After

Width:  |  Height:  |  Size: 471 KiB

View File

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 192 KiB

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Some files were not shown because too many files have changed in this diff Show More