From 4a60aa9f7663528e8bc5696d61f098f8de39f8d1 Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Tue, 1 Oct 2024 15:36:44 +1000 Subject: [PATCH 01/31] Hero Counter additon and update to main script file. --- .../js/solcast.webflow.component.counter.js | 23 +++++++++++++++++++ assets/js/solcast.webflow.script.js | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 assets/js/solcast.webflow.component.counter.js diff --git a/assets/js/solcast.webflow.component.counter.js b/assets/js/solcast.webflow.component.counter.js new file mode 100644 index 0000000..4797cb5 --- /dev/null +++ b/assets/js/solcast.webflow.component.counter.js @@ -0,0 +1,23 @@ +/*----------------------------------*/ +/* Counter Script for Hero Sections */ +/*----------------------------------*/ + + +// Select all the paragraphs with the class 'stat-card_heading' +const paragraphs = document.querySelectorAll('.stat-card_heading'); + +// Regular expression to match number sets in each paragraph +const regex = /\d+/g; + +// Loop through each element and apply the transformation +paragraphs.forEach(function(paragraph) { + // Replace each number with the span element + paragraph.innerHTML = paragraph.innerHTML.replace(regex, function(match) { + // Format the number with commas using toLocaleString + const formattedNumber = Number(match).toLocaleString(); + + return `${formattedNumber}`; + }); +}); + +new PureCounter(); \ No newline at end of file diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 780f2ea..6eafc3a 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -168,7 +168,7 @@ $(".slider-main_component").each(function (index) { }, keyboard: { enabled: true, - onlyInViewport: true + onlyInViewport: true, }, breakpoints: { // mobile landscape From 4161537af1915f05782baf2ac195e573abb7ae35 Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Wed, 2 Oct 2024 10:06:03 +1000 Subject: [PATCH 02/31] Updated gap on Proof Splide --- assets/js/solcast.webflow.script.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 6eafc3a..4f5f6a6 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -11,21 +11,13 @@ document.addEventListener('DOMContentLoaded', () => { new Splide('.splide', { type: 'loop', drag: 'free', - gap: '5rem', + gap: '1rem', autoWidth: true, pauseOnHover: true, pauseOnFocus: true, autoScroll: { speed: 0.8, }, - breakpoints: { - 760: { - gap: '3rem', - }, - 580: { - gap: '2rem', - }, - }, reducedMotion: { speed: 0, autoplay: 'pause', From 8a25f16b9d5851c22c113410184e4c9a8013d0e7 Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Wed, 2 Oct 2024 10:10:28 +1000 Subject: [PATCH 03/31] Updated Gap --- assets/js/solcast.webflow.script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 4f5f6a6..69fe31d 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -11,7 +11,7 @@ document.addEventListener('DOMContentLoaded', () => { new Splide('.splide', { type: 'loop', drag: 'free', - gap: '1rem', + gap: '2rem', autoWidth: true, pauseOnHover: true, pauseOnFocus: true, From 534e332704e68a69dae2569a3ac544264f1e3ec4 Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Mon, 21 Oct 2024 11:06:27 +1100 Subject: [PATCH 04/31] Update to main script --- .../js/solcast.webflow.component.counter.js | 23 ---------- assets/js/solcast.webflow.script.js | 44 ++++++++++++++++++- 2 files changed, 43 insertions(+), 24 deletions(-) delete mode 100644 assets/js/solcast.webflow.component.counter.js diff --git a/assets/js/solcast.webflow.component.counter.js b/assets/js/solcast.webflow.component.counter.js deleted file mode 100644 index 4797cb5..0000000 --- a/assets/js/solcast.webflow.component.counter.js +++ /dev/null @@ -1,23 +0,0 @@ -/*----------------------------------*/ -/* Counter Script for Hero Sections */ -/*----------------------------------*/ - - -// Select all the paragraphs with the class 'stat-card_heading' -const paragraphs = document.querySelectorAll('.stat-card_heading'); - -// Regular expression to match number sets in each paragraph -const regex = /\d+/g; - -// Loop through each element and apply the transformation -paragraphs.forEach(function(paragraph) { - // Replace each number with the span element - paragraph.innerHTML = paragraph.innerHTML.replace(regex, function(match) { - // Format the number with commas using toLocaleString - const formattedNumber = Number(match).toLocaleString(); - - return `${formattedNumber}`; - }); -}); - -new PureCounter(); \ No newline at end of file diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 69fe31d..704c584 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -185,4 +185,46 @@ $(".slider-main_component").each(function (index) { disabledClass: "is-disabled" }, }); -}); \ No newline at end of file +}); + +/*--------------------------*/ +/* Hight Light Text Script */ +/*--------------------------*/ + +document.addEventListener('DOMContentLoaded', function() { + // Select all elements with the class 'script-text-highlight' + var elements = document.querySelectorAll('.script-text-highlight'); + + // Loop through each element and apply the text replacement + elements.forEach(function(element) { + // Use a regular expression to find the ## content ## + var elementText = element.innerHTML; + var newText = elementText.replace(/##(.*?)##/g, '$1'); + + // Update the element with the new content + element.innerHTML = newText; + }); +}); + +/*------------------------------------------*/ +/* Counter Script for Page Banner Component */ +/*------------------------------------------*/ + +// Select all the paragraphs with the class 'stat-card_heading' +const paragraphs = document.querySelectorAll('.stat-card_heading'); + +// Regular expression to match number sets in each paragraph +const regex = /\d+/g; + +// Loop through each element and apply the transformation +paragraphs.forEach(function(paragraph) { + // Replace each number with the span element + paragraph.innerHTML = paragraph.innerHTML.replace(regex, function(match) { + // Format the number with commas using toLocaleString + const formattedNumber = Number(match).toLocaleString(); + + return `${formattedNumber}`; + }); +}); + +new PureCounter(); \ No newline at end of file From e283466602727d5651032645b5aa8cdfee085d79 Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Mon, 21 Oct 2024 17:10:27 +1100 Subject: [PATCH 05/31] Updated Splide JS --- assets/js/solcast.webflow.script.js | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 704c584..3307a72 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -15,6 +15,7 @@ document.addEventListener('DOMContentLoaded', () => { autoWidth: true, pauseOnHover: true, pauseOnFocus: true, + focusableNodes: 'img', autoScroll: { speed: 0.8, }, From 1fe8bc087e439e13c4a8451fbecafa29dcf2c43b Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Fri, 1 Nov 2024 11:30:20 +1100 Subject: [PATCH 06/31] Update to Testimonial Slider to fix mobile view --- assets/js/solcast.webflow.script.js | 1 - 1 file changed, 1 deletion(-) diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 3307a72..803cfa8 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -153,7 +153,6 @@ $(".slider-main_component").each(function (index) { followFinger: true, freeMode: false, slideToClickedSlide: false, - slidesPerView: 2, spaceBetween: "4%", rewind: false, mousewheel: { From 58bc2373b0e1c758505580e99eca71b391528691 Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Fri, 1 Nov 2024 12:04:43 +1100 Subject: [PATCH 07/31] Splitting component scripts out --- assets/js/component.counter.js | 22 ++++++++++++++ assets/js/component.hightlighttext.js | 19 ++++++++++++ assets/js/solcast.webflow.script.js | 44 +-------------------------- 3 files changed, 42 insertions(+), 43 deletions(-) create mode 100644 assets/js/component.counter.js create mode 100644 assets/js/component.hightlighttext.js diff --git a/assets/js/component.counter.js b/assets/js/component.counter.js new file mode 100644 index 0000000..0e55e7e --- /dev/null +++ b/assets/js/component.counter.js @@ -0,0 +1,22 @@ +/*------------------------------------------*/ +/* Counter Script for Page Banner Component */ +/*------------------------------------------*/ + +// Select all the paragraphs with the class 'stat-card_heading' +const paragraphs = document.querySelectorAll('.stat-card_heading'); + +// Regular expression to match number sets in each paragraph +const regex = /\d+/g; + +// Loop through each element and apply the transformation +paragraphs.forEach(function(paragraph) { + // Replace each number with the span element + paragraph.innerHTML = paragraph.innerHTML.replace(regex, function(match) { + // Format the number with commas using toLocaleString + const formattedNumber = Number(match).toLocaleString(); + + return `${formattedNumber}`; + }); +}); + +new PureCounter(); \ No newline at end of file diff --git a/assets/js/component.hightlighttext.js b/assets/js/component.hightlighttext.js new file mode 100644 index 0000000..78eacf3 --- /dev/null +++ b/assets/js/component.hightlighttext.js @@ -0,0 +1,19 @@ +/*--------------------------*/ +/* Hight Light Text Script */ +/*--------------------------*/ + +document.addEventListener('DOMContentLoaded', function() { + // Select all elements with the class 'script-text-highlight' + var elements = document.querySelectorAll('.script-text-highlight'); + + // Loop through each element and apply the text replacement + elements.forEach(function(element) { + // Use a regular expression to find the ## content ## + var elementText = element.innerHTML; + var newText = elementText.replace(/##(.*?)##/g, '$1'); + + // Update the element with the new content + element.innerHTML = newText; + }); + }); + \ No newline at end of file diff --git a/assets/js/solcast.webflow.script.js b/assets/js/solcast.webflow.script.js index 803cfa8..d344fd1 100644 --- a/assets/js/solcast.webflow.script.js +++ b/assets/js/solcast.webflow.script.js @@ -185,46 +185,4 @@ $(".slider-main_component").each(function (index) { disabledClass: "is-disabled" }, }); -}); - -/*--------------------------*/ -/* Hight Light Text Script */ -/*--------------------------*/ - -document.addEventListener('DOMContentLoaded', function() { - // Select all elements with the class 'script-text-highlight' - var elements = document.querySelectorAll('.script-text-highlight'); - - // Loop through each element and apply the text replacement - elements.forEach(function(element) { - // Use a regular expression to find the ## content ## - var elementText = element.innerHTML; - var newText = elementText.replace(/##(.*?)##/g, '$1'); - - // Update the element with the new content - element.innerHTML = newText; - }); -}); - -/*------------------------------------------*/ -/* Counter Script for Page Banner Component */ -/*------------------------------------------*/ - -// Select all the paragraphs with the class 'stat-card_heading' -const paragraphs = document.querySelectorAll('.stat-card_heading'); - -// Regular expression to match number sets in each paragraph -const regex = /\d+/g; - -// Loop through each element and apply the transformation -paragraphs.forEach(function(paragraph) { - // Replace each number with the span element - paragraph.innerHTML = paragraph.innerHTML.replace(regex, function(match) { - // Format the number with commas using toLocaleString - const formattedNumber = Number(match).toLocaleString(); - - return `${formattedNumber}`; - }); -}); - -new PureCounter(); \ No newline at end of file +}); \ No newline at end of file From 474c798455cf6d7b9153a40b452fce5e2cc1447d Mon Sep 17 00:00:00 2001 From: Liam Hammersley Date: Mon, 4 Nov 2024 16:52:25 +1100 Subject: [PATCH 08/31] Blog Template Page customisations and scripts. --- assets/css/solcast.webflow.style.css | 648 +-------------------------- assets/js/iframe.resizer.js | 9 + assets/js/page.blog-template.js | 25 ++ 3 files changed, 36 insertions(+), 646 deletions(-) create mode 100644 assets/js/iframe.resizer.js create mode 100644 assets/js/page.blog-template.js diff --git a/assets/css/solcast.webflow.style.css b/assets/css/solcast.webflow.style.css index 5557817..b45a721 100644 --- a/assets/css/solcast.webflow.style.css +++ b/assets/css/solcast.webflow.style.css @@ -81,650 +81,6 @@ font-display: swap; } -/* Scroll bar styling */ -* { - scrollbar-width: auto; - scrollbar-color: var(--base-color-color--blue-200) var(--base-color-color--blue-100); -} - -/* Make text look crisper and more legible in all browsers */ -body { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-smoothing: antialiased; - text-rendering: optimizeLegibility; -} - -/* Focus state style for keyboard navigation for the focusable elements */ -*[tabindex]:focus-visible, - input[type="file"]:focus-visible { - outline: 0.125rem solid #4d65ff; - outline-offset: 0.125rem; -} - -video { - width: 100%; -} - -/* Set color style to inherit */ -.inherit-color * { - color: inherit; -} - -/* Get rid of top margin on first element in any rich text element */ -.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child { - margin-top: 0 !important; -} - -/* Get rid of bottom margin on last element in any rich text element */ -.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child { - margin-bottom: 0 !important; -} - - -/* Make sure containers never lose their center alignment */ -.container-medium,.container-small, .container-large { - margin-right: auto !important; - margin-left: auto !important; -} - -/* -Make the following elements inherit typography styles from the parent and not have hardcoded values. -Important: You will not be able to style for example "All Links" in Designer with this CSS applied. -Uncomment this CSS to use it in the project. Leave this message for future hand-off. -*/ -/* -a, -.w-input, -.w-select, -.w-tab-link, -.w-nav-link, -.w-dropdown-btn, -.w-dropdown-toggle, -.w-dropdown-link { - color: inherit; - text-decoration: inherit; - font-size: inherit; -} -*/ - -/* Apply "..." after 3 lines of text */ -.text-style-3lines { - display: -webkit-box; - overflow: hidden; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; -} - -/* Apply "..." after 2 lines of text */ -.text-style-2lines { - display: -webkit-box; - overflow: hidden; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; -} - -/* Adds inline flex display */ -.display-inlineflex { - display: inline-flex; -} - -/* These classes are never overwritten */ -.hide { - display: none !important; -} - -@media screen and (max-width: 991px) { - .hide, .hide-tablet { - display: none !important; - } -} - @media screen and (max-width: 767px) { - .hide-mobile-landscape{ - display: none !important; - } -} - @media screen and (max-width: 479px) { - .hide-mobile{ - display: none !important; - } -} - -.margin-0 { - margin: 0rem !important; -} - -.padding-0 { - padding: 0rem !important; -} - -.spacing-clean { -padding: 0rem !important; -margin: 0rem !important; -} - -.margin-top { - margin-right: 0rem !important; - margin-bottom: 0rem !important; - margin-left: 0rem !important; -} - -.padding-top { - padding-right: 0rem !important; - padding-bottom: 0rem !important; - padding-left: 0rem !important; -} - -.margin-right { - margin-top: 0rem !important; - margin-bottom: 0rem !important; - margin-left: 0rem !important; -} - -.padding-right { - padding-top: 0rem !important; - padding-bottom: 0rem !important; - padding-left: 0rem !important; -} - -.margin-bottom { - margin-top: 0rem !important; - margin-right: 0rem !important; - margin-left: 0rem !important; -} - -.padding-bottom { - padding-top: 0rem !important; - padding-right: 0rem !important; - padding-left: 0rem !important; -} - -.no-margin { - margin: 0 0 0 0 !important; -} - -.margin-left { - margin-top: 0rem !important; - margin-right: 0rem !important; - margin-bottom: 0rem !important; -} - -.padding-left { - padding-top: 0rem !important; - padding-right: 0rem !important; - padding-bottom: 0rem !important; -} - -.margin-horizontal { - margin-top: 0rem !important; - margin-bottom: 0rem !important; -} - -.padding-horizontal { - padding-top: 0rem !important; - padding-bottom: 0rem !important; -} - -.margin-vertical { - margin-right: 0rem !important; - margin-left: 0rem !important; -} - -.padding-vertical { - padding-right: 0rem !important; - padding-left: 0rem !important; -} - -/* -Custom CSS for Solcast Build -Code by Liam Hammersley of Rework Digital -*/ - -::marker { - color: var(--text-color--text-secondary); -} - -.background-gradient-blue-100-white { - position: relative; -} - -.background-gradient-blue-100-white::before { - content: ""; - height: 100%; - max-height: 50rem; - display: inline-block; - background: linear-gradient(var(--background-color--background-light-blue), var(--background-color--background-white)); - position: absolute; - top: 0; - left: 0; - right: 0; - z-index: -1; -} - -.header_overlay-wrapper::before { - content: ""; - height: 100%; - max-height: 8rem; - display: inline-block; - background: var(--background-color--background-white); - position: relative; - top: 0; - left: 0; - right: 0; - z-index: -1; -} - -.border-color-tertiary { - border-color: var(--border-color--border-tertiary) !important; -} - -.is--navCurrent { - color: var(--link-color--link-primary) !important; -} - -.layout-first-item { - order: -999; -} - -.embed-hidden { - visibility: hidden; -} - -.no-border { - border: 0 !important; -} - -/* Custom Widths */ - -.width-10em { - width: 10em; -} - -.width-20em { - width: 20em; -} - -/* Table Properties */ - -.table_wrapper { - overflow-x: auto !important; -} - -table thead:first-child tr:first-child th:first-child { - border-top-left-radius: var(--sizes--table-border-radius) !important; -} -table thead:first-child tr:first-child th:last-child { - border-top-right-radius: var(--sizes--table-border-radius) !important; - -} -table tbody tr:last-child td:first-child{ - border-bottom-left-radius: var(--sizes--table-border-radius) !important; - -} -table tbody tr:last-child td:last-child{ - border-bottom-right-radius: var(--sizes--table-border-radius) !important; -} - -/* Embed Table Fix */ - -.w-embed table tr { - display: grid !important; -} - -.w-embed table td:first-of-type { - white-space: inherit !important; -} - -/* Table Rows */ -.table-row-2 { ---table-row-count: 2; -} -.table-row-3 { ---table-row-count: 3; -} -.table-row-4 { ---table-row-count: 4; -} -.table-row-5 { ---table-row-count: 5; -} -.table-row-6 { ---table-row-count: 6; -} -.table-row-7 { ---table-row-count: 7; -} - -.table_rows-2,.table-row-3,.table-row-4,.table-row-5,.table-row-6,.table-row-7 { - grid-template-rows: repeat(var(--table-row-count), auto); -} - - -.row-span-2 { - grid-row-start: span 2 !important; - grid-row-end: span 2 !important; -} - -.row-span-3 { - grid-row-start: span 3 !important; - grid-row-end: span 3 !important; -} - -.row-span-4 { - grid-row-start: span 4 !important; - grid-row-end: span 4 !important; -} - -/* Table Columns */ -.table_col-1 { - --table-col-count: 1; -} - -.table_col-2 { - --table-col-count: 2; -} -.table_col-3 { - --table-col-count: 3; -} -.table_col-4 { - --table-col-count: 4; -} -.table_col-5 { - --table-col-count: 5; -} -.table_col-6 { - --table-col-count: 6; -} -.table_col-7 { - --table-col-count: 7; -} -.table_col-8 { - --table-col-count: 8; -} -.table_col-9 { - --table-col-count: 9; -} -.table_col-10 { - --table-col-count: 10; -} -.table_col-11 { - --table-col-count: 11; -} -.table_col-12 { - --table-col-count: 12; -} -.table_col-13 { - --table-col-count: 13; -} -.table_col-14 { - --table-col-count: 14; -} -.table_col-15 { - --table-col-count: 15; -} -.table_col-16 { - --table-col-count: 16; -} -.table_col-17 { - --table-col-count: 17; -} -.table_col-18 { - --table-col-count: 18; -} -.table_col-19 { - --table-col-count: 19; -} -.table_col-20 { - --table-col-count: 20; -} - -.table_row,.table_col-2,.table_col-3,.table_col-4,.table_col-5,.table_col-6,.table_col-7,.table_col-8,.table_col-9,.table_col-10,.table_col-11,.table_col-12,.table_col-13,.table_col-14,.table_col-15,.table_col-16,.table_col-17,.table_col-18,.table_col-19,.table_col-20 { - grid-template-columns: repeat(var(--table-col-count), minmax(var(--sizes--table-variables--fr-width),1fr)) !important; -} - -.col-span-2 { - grid-column-start: span 2; - grid-column-end: span 2; -} -.col-span-3 { - grid-column-start: span 3; - grid-column-end: span 3; -} -.col-span-4 { - grid-column-start: span 4; - grid-column-end: span 4; -} -.col-span-5 { - grid-column-start: span 5; - grid-column-end: span 5; -} -.col-span-6 { - grid-column-start: span 6; - grid-column-end: span 6; -} -.col-span-7 { - grid-column-start: span 7; - grid-column-end: span 7; -} -.col-span-8 { - grid-column-start: span 8; - grid-column-end: span 8; -} -.col-span-9 { - grid-column-start: span 9; - grid-column-end: span 9; -} -.col-span-10 { - grid-column-start: span 10; - grid-column-end: span 10; -} - -/* Gap Sizes */ -.col-gap-1 { - grid-column-gap: 1rem; -} -.col-gap-2 { - grid-column-gap: 2rem; -} -.col-gap-3 { - grid-column-gap: 3rem; -} -.col-gap-4 { - grid-column-gap: 4rem; -} -.col-gap-5 { - grid-column-gap: 5rem; -} -.col-gap-6 { - grid-column-gap: 6rem; -} - -.row-gap-1 { - grid-row-gap: 1rem; -} -.row-gap-2 { - grid-row-gap: 2rem; -} -.row-gap-3 { - grid-row-gap: 3rem; -} -.row-gap-4 { - grid-row-gap: 4rem; -} -.row-gap-5 { - grid-row-gap: 5rem; -} -.row-gap-6 { - grid-row-gap: 6rem; -} - -.cell-align-left { - justify-content: flex-start !important; - text-align: left !important; -} - -.cell-align-right { - justify-content: flex-end !important; - text-align: right !important; -} - -.cell-align-top { - display: table-cell; - vertical-align: top !important; -} - -/* Resets margin on table header div within Rich Text Embeds -- Mostly used on Blog Posts*/ - -.text-rich-text .table_wrapper p { - margin: 0 !important; -} - -/* End Table Properties */ - - -@media (max-width: 1240px) { - - .latest-blog_list { - gap: 2rem; - } -} - -/* Splide Styling */ - -@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0} - -.splide__pagination { - display: none; -} - -.splide__track::after { - content: ""; - background: linear-gradient(90deg, var(--background-color--background-light-blue) 0%, transparent 5%, transparent 95%, var(--background-color--background-light-blue) 100%); - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; -} - -.sp-status { - position: relative; - display: inline-block; -} -.sp-status .sp-status-badge { - width: 0.8em; - height: 0.8em; - margin-left: 0.3em; - display: inline-block; - border-radius: 50%; -} -.sp-status .sp-status-badge.sp-status-ok { - background: rgb(52, 200, 0); -} -.sp-status .sp-status-badge.sp-status-scheduled { - background: #2498ec; -} -.sp-status .sp-status-badge.sp-status-minor { - background: #fe8000; -} -.sp-status .sp-status-badge.sp-status-major { - background: #ff231f; -} - -/* Tooltip text */ -.sp-status .sp-tooltip { - font-size: 12px; - background-color: black; - color: #fff; - text-align: center; - padding: 5px 0; - border-radius: 4px; - position: absolute; - z-index: 1; - max-width: 130px; - word-break: break-word; -} -.sp-status .sp-tooltip::after { - content: " "; - position: absolute; - margin-left: -5px; - border-width: 5px; - border-style: solid; - color: black; -} -.sp-status .sp-tooltip--top, .sp-status .sp-tooltip--bottom { - margin-left: -65px; - left: 50%; -} -.sp-status .sp-tooltip--top { - bottom: 120%; -} -.sp-status .sp-tooltip--top::after { - top: 100%; /* At the bottom of the tooltip */ - left: 50%; - border-color: black transparent transparent transparent; -} -.sp-status .sp-tooltip--bottom { - top: 120%; -} -.sp-status .sp-tooltip--bottom::after { - top: -10px; /* At the bottom of the tooltip */ - left: 50%; - border-color: transparent transparent black transparent; -} -.sp-status .sp-tooltip--left, .sp-status .sp-tooltip--right { - top: 50%; - transform: translateY(-50%); -} -.sp-status .sp-tooltip--left::after, .sp-status .sp-tooltip--right::after { - top: calc(50% - 5px); - border-color: transparent transparent transparent black; -} -.sp-status .sp-tooltip--left { - right: 105%; -} -.sp-status .sp-tooltip--left::after { - left: calc(100% + 5px); - border-color: transparent transparent transparent black; -} -.sp-status .sp-tooltip--right { - left: 105%; -} -.sp-status .sp-tooltip--right::after { - right: 100%; - border-color: transparent black transparent transparent; -} - -/* Show the tooltip text when you mouse over the tooltip container */ -.sp-status:hover .sp-tooltip { - visibility: visible; -} - -/* Irr Map Location Styling */ -#gallery-list-section .w-embed { - display: none; -} -.gallery-items { - display: flex; - flex-wrap: wrap; - justify-content: center; -} -.gallery-items .item { - cursor: pointer; - flex: 0 1 220px; - margin: 14px; - text-align: center; -} -.gallery-items img { - height: 120px; - -o-object-fit: cover; - object-fit: cover; - width: 220px; -} -.gallery-items .item .item-wrap .label { - padding: .5rem; -} -.gallery-items .item .item-wrap { - background-color: #111; - color: #acafb6; +html { + scroll-behavior: smooth; } \ No newline at end of file diff --git a/assets/js/iframe.resizer.js b/assets/js/iframe.resizer.js new file mode 100644 index 0000000..93b046b --- /dev/null +++ b/assets/js/iframe.resizer.js @@ -0,0 +1,9 @@ +/*! iFrame Resizer (iframeSizer.min.js ) - v4.2.11 - 2020-06-02 + * Desc: Force cross domain iframes to size to content. + * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame. + * Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net + * License: MIT + */ + +!function(l){if("undefined"!=typeof window){var e,m=0,g=!1,o=!1,v="message".length,I="[iFrameSizer]",x=I.length,F=null,r=window.requestAnimationFrame,h={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},M={},i=null,w={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){E("onMessage function not defined")},onResized:function(){},onScroll:function(){return!0}},k={};window.jQuery&&((e=window.jQuery).fn?e.fn.iFrameResize||(e.fn.iFrameResize=function(i){return this.filter("iframe").each(function(e,n){d(n,i)}).end()}):T("","Unable to bind to jQuery, it is not fully loaded.")),"function"==typeof define&&define.amd?define([],q):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=q()),window.iFrameResize=window.iFrameResize||q()}function p(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function z(e,n,i){e.addEventListener(n,i,!1)}function O(e,n,i){e.removeEventListener(n,i,!1)}function a(e){return I+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}function t(e){return M[e]?M[e].log:g}function R(e,n){s("log",e,n,t(e))}function T(e,n){s("info",e,n,t(e))}function E(e,n){s("warn",e,n,!0)}function s(e,n,i,t){!0===t&&"object"==typeof window.console&&console[e](a(n),i)}function n(n){function e(){i("Height"),i("Width"),A(function(){P(b),S(y),d("onResized",b)},b,"init")}function i(e){var n=Number(M[y]["max"+e]),i=Number(M[y]["min"+e]),t=e.toLowerCase(),o=Number(b[t]);R(y,"Checking "+t+" is in range "+i+"-"+n),oM[c]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}c in M&&"iFrameResizer"in i?E(c,"Ignored iFrame, already setup."):(d=(d=e)||{},M[c]={firstRun:!0,iframe:i,remoteHost:i.src&&i.src.split("/").slice(0,3).join("/")},function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(d),Object.keys(d).forEach(n,d),function(e){for(var n in w)Object.prototype.hasOwnProperty.call(w,n)&&(M[c][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:w[n])}(d),M[c]&&(M[c].targetOrigin=!0===M[c].checkOrigin?function(e){return""===e||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e}(M[c].remoteHost):"*"),function(){switch(R(c,"IFrame scrolling "+(M[c]&&M[c].scrolling?"enabled":"disabled")+" for "+c),i.style.overflow=!1===(M[c]&&M[c].scrolling)?"hidden":"auto",M[c]&&M[c].scrolling){case"omit":break;case!0:i.scrolling="yes";break;case!1:i.scrolling="no";break;default:i.scrolling=M[c]?M[c].scrolling:"no"}}(),f("Height"),f("Width"),u("maxHeight"),u("minHeight"),u("maxWidth"),u("minWidth"),"number"!=typeof(M[c]&&M[c].bodyMargin)&&"0"!==(M[c]&&M[c].bodyMargin)||(M[c].bodyMarginV1=M[c].bodyMargin,M[c].bodyMargin=M[c].bodyMargin+"px"),r=L(c),(s=p())&&(a=s,i.parentNode&&new a(function(e){e.forEach(function(e){Array.prototype.slice.call(e.removedNodes).forEach(function(e){e===i&&C(i)})})}).observe(i.parentNode,{childList:!0})),z(i,"load",function(){B("iFrame.onload",r,i,l,!0),function(){var e=M[c]&&M[c].firstRun,n=M[c]&&M[c].heightCalculationMethod in h;!e&&n&&j({iframe:i,height:0,width:0,type:"init"})}()}),B("init",r,i,l,!0),M[c]&&(M[c].iframe.iFrameResizer={close:C.bind(null,M[c].iframe),removeListeners:b.bind(null,M[c].iframe),resize:B.bind(null,"Window resize","resize",M[c].iframe),moveToAnchor:function(e){B("Move to anchor","moveToAnchor:"+e,M[c].iframe,c)},sendMessage:function(e){B("Send Message","message:"+(e=JSON.stringify(e)),M[c].iframe,c)}}))}function c(e,n){null===i&&(i=setTimeout(function(){i=null,e()},n))}function u(){"hidden"!==document.visibilityState&&(R("document","Trigger event: Visiblity change"),c(function(){f("Tab Visable","resize")},16))}function f(n,i){Object.keys(M).forEach(function(e){!function(e){return M[e]&&"parent"===M[e].resizeFrom&&M[e].autoResize&&!M[e].firstRun}(e)||B(n,i,M[e].iframe,e)})}function y(){z(window,"message",n),z(window,"resize",function(){!function(e){R("window","Trigger event: "+e),c(function(){f("Window "+e,"resize")},16)}("resize")}),z(document,"visibilitychange",u),z(document,"-webkit-visibilitychange",u)}function q(){function i(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected