{"Page":1,"Rows":[{"id":"e489a6bb-1c37-4a91-bdbe-662c1f788cc6","type":"js","owner":"56258bb7-c9f3-416d-b2a8-a6265e30f3c9","publisher":"76de2e60-a3fd-413c-b774-4babb08889c5","title":"scripts/bundle.js","content":"var menu = new Menu();\n\nfunction Menu() {\n    var self = this;\n    this.icon = {};\n    this.menu = {};\n    this.active = false;\n    this.elementMenuToggle = '#nav-icon';\n    this.elementMenu = '#nav-primary';\n\n    this.init = function () {\n        $(this.elementMenuToggle).on('click', this.toggleMenu);\n        this.icon = $(this.elementMenuToggle).children(0);\n        this.menu = $(this.elementMenu);\n        $(document).on('click', this.closeMenu);\n    }\n\n    this.toggleMenu = function () {\n        if (self.active === false) {\n            self.menu.fadeIn().css('display', 'flex');\n            self.active = true;\n            self.icon.html('close')\n            $('#nav-primary, .desktop-primary-nav, .nav-app').addClass('menu-active');\n\n        } else {\n            self.menu.fadeOut();\n            self.active = false;\n            self.icon.html('menu')\n            $('#nav-primary, .desktop-primary-nav, .nav-app').removeClass('menu-active');\n        }\n    }\n\n    this.closeMenu = function (event) {\n        if (!$(event.target).closest('#nav-primary').length \u0026\u0026 !$(event.target).is('#nav-primary') \u0026\u0026\n            !$(event.target).closest('#nav-icon').length \u0026\u0026 !$(event.target).is('#nav-icon')) {\n            //console.log(event.target)\n            self.menu.fadeOut();\n            self.active = false;\n            self.icon.html('menu');\n            $('#nav-primary, #nav-primary-toggle, .desktop-primary-nav, .logo, .nav-app').removeClass('menu-active');\n            $('#nav-icon').removeClass('open');\n        }\n    }\n}\n\nfunction toggleModal() {\n    $(\".modal-wrapper\").each(function () {\n        $(this).hide();\n    })\n\n    $('.modal-trigger').on(\"click\", function () {\n        const type = $(this).attr('data-type');\n        $(`.${type}-modal`).show();\n        $(\"body\").addClass(\"lb-disable-scrolling\");\n    });\n\n    $('.close-icon').on(\"click\", function () {\n        $(\".modal-wrapper\").hide();\n        $(\"body\").removeClass(\"lb-disable-scrolling\")\n    });\n\n    $(\".modal-wrapper\").click(function (e) {\n        if (!$(e.target).closest('.modal-info').length \u0026\u0026 !$(e.target).is('.modal-info')) {\n            $(\".modal-wrapper\").hide();\n            $(\"body\").removeClass(\"lb-disable-scrolling\")\n        }\n    });\n}\n\nfunction toggleMobileMenu() {\n    $('.nav-hamburger').click(function () {\n        $('.nav-primary').fadeToggle();\n    })\n\n    $('.nav-close').click(function () {\n        $('.nav-primary').fadeOut();\n    })\n}\n\nfunction toggleMobileSubmenu() {\n    $('.nav-link-icon').click(function () {\n        $(this).toggleClass('active');\n        $(this).parents('.main-dropdown').find('.subpage-ul').slideToggle();\n\n        $(this).parents('.main-dropdown').siblings('.main-dropdown').find('.nav-link-icon').removeClass('active').text('keyboard_arrow_down');\n        $(this).parents('.main-dropdown').siblings('.main-dropdown').find('.subpage-ul').slideUp();\n\n        if ($(this).hasClass('active')) {\n            $(this).text('keyboard_arrow_up')\n        } else {\n            $(this).text('keyboard_arrow_down')\n        }\n    })\n}\n\nfunction toggleMobileSubLevelMenu() {\n    $('.submenu-toggle').click(function () {\n        $(this).toggleClass('active');\n        $(this).parents('.subpage-link-row').siblings('.sublevel-links').slideToggle();\n\n        if ($(this).hasClass('active')) {\n            $(this).text('remove')\n        } else {\n            $(this).text('add')\n        }\n    })\n\n    $('.submenu-toggle-2').on('click', function () {\n        const $toggle = $(this);\n        const $currentItem = $toggle.closest('li');\n        const $currentMenu = $currentItem.children('.nav-secondary-sub-menu');\n        const isOpen = $toggle.hasClass('active');\n\n        // close sibling expandable items at the same level\n        $currentItem.siblings('li').each(function () {\n            const $sibling = $(this);\n\n            $sibling.children('.secondary-nav-link')\n                .find('.submenu-toggle-2')\n                .removeClass('active')\n                .text('add_box');\n\n            $sibling.children('.nav-secondary-sub-menu')\n                .stop(true, true)\n                .slideUp()\n                .removeClass('active');\n\n            // optional: also reset any nested open states inside the sibling\n            $sibling.find('.submenu-toggle-2')\n                .removeClass('active')\n                .text('add_box');\n\n            $sibling.find('.nav-secondary-sub-menu')\n                .stop(true, true)\n                .slideUp()\n                .removeClass('active');\n        });\n\n        // toggle current item\n        if (isOpen) {\n            $toggle.removeClass('active').text('add_box');\n            $currentMenu.stop(true, true).slideUp().removeClass('active');\n        } else {\n            $toggle.addClass('active').text('indeterminate_check_box');\n            $currentMenu.stop(true, true).slideDown().addClass('active');\n        }\n    });\n}\n\nconst replaceMarkerWithFormat = (item) =\u003e {\n    let original = item\n    let split = original.split(\"{REPLACE}\")\n    let joined = split.join(window.location.host)\n    return joined\n}\n\n\n$(document).ready(function () {\n    menu.init();\n    toggleMobileSubmenu();\n    toggleMobileMenu();\n    toggleMobileSubLevelMenu()\n    toggleModal();\n\n    // Update year in copyright line \n    $('#full-year').text(new Date().getFullYear());\n\n    const customDateCalendarFormat = {\n        \"allDay\": {\n            \"start\": \"LL\",\n            \"end\": \"LL\"\n        },\n        \"regular\": {\n            \"start\": \"MMMM D, YYYY h:mm A\",\n            \"end\": \"h:mm A\"\n        },\n        \"multiRegular\": {\n            \"start\": \"MMMM D, YYYY h:mm A\",\n            \"end\": \"MMMM D, YYYY h:mm A\"\n        },\n        \"single\": \"LL\"\n    }\n\n    $('.format-date').each(function (i) {\n        const innerJson = $(this).find('.date-data')\n        //console.log(this.innerHTML)\n        if (innerJson.length \u003e 0) {\n            this.innerHTML = formatDate?.(innerJson?.[0]?.innerHTML, customDateCalendarFormat)\n            return\n        }\n        // parse publish date info so that it works in safari and ios \n        const event = moment.utc($(this).text(), 'YYYY-MM-DD HH:mm:ss');\n        this.innerHTML = formatDate?.(event, customDateCalendarFormat)\n    })\n\n    $('.format-date-time').each(function (i) {\n        const event = moment.utc($(this).text(), 'YYYY-MM-DD HH:mm:ss');\n        this.innerHTML = moment(event).local().format('MM/DD/YYYY h:mm A')\n    })\n\n    // Parse published date as \"today\" on News Centre page\n    $('.format-date-news').each(function () {\n        // parse publish date info so that it works in safari and ios \n        const date = moment.utc($(this).text(), 'YYYY-MM-DD HH:mm:ss');\n        $(this).text(date.format('LL'))\n\n        const published = new Date($(this).text());\n        const formatPublished = `${published.getFullYear()}${published.getMonth() + 1}${published.getDate()}`;\n        let today = moment().utc().startOf('day').format('YYYYMD');\n\n        if (today === formatPublished) {\n            $(this).parent('.news-post-date').text('Posted Today')\n        }\n    })\n\n    // format corporate site event\n    // event date box - showing the start date only\n    $('.event-start-date .date-data').each(function (index) {\n        const json = asJson?.(this.innerHTML)\n        const { startdate, enddate, isAllDay } = getEventInfo?.(json) || {}\n\n        // subtract one day if it's all-day event\n        if (isAllDay) {\n            endate = enddate.subtract(1, 'days')\n        }\n\n        const hours = moment.duration(enddate.diff(startdate)).asHours()\n        const startDay = startdate.format('YYYY-MMM-DD')\n        const endDay = enddate.format('YYYY-MMM-DD')\n\n        // check if it's multi-day\n        if ((isAllDay \u0026\u0026 hours \u003e= 24) || (!isAllDay \u0026\u0026 startDay !== endDay)) {\n            const $multiday = $('\u003cdiv\u003e').addClass('event-multiday').text('Multi-Day')\n            $(this).parents('.event-date-wrapper').append($multiday)\n        }\n\n        this.outerHTML = startdate.format(`[\u003cdiv class=\"month\"\u003e]MMM[\u003c/div\u003e][\u003cdiv class=\"day\"\u003e]DD[\u003c/div\u003e][\u003cdiv class=\"week\"\u003e]ddd[\u003c/div\u003e]`)\n    })\n\n    // date and time are in two separate lines\n    $('.event-date-time').each(function (i) {\n        const innerJson = $(this).find('.date-data')\n        const json = asJson?.(innerJson?.[0]?.innerHTML)\n        const { startdate, enddate, isAllDay } = getEventInfo?.(json) || {}\n        if (isAllDay) {\n            endate = enddate.subtract(1, 'days')\n        }\n        const hours = moment.duration(enddate.diff(startdate)).asHours()\n        const startDay = startdate.format('YYYY-MMM-DD')\n        const endDay = enddate.format('YYYY-MMM-DD')\n        const $time = $(\"\u003cdiv\u003e\").addClass('event-time-line')\n        const $date = $(\"\u003cdiv\u003e\").addClass('event-date-line')\n        let timeText = \"\"\n        let dateText = \"\"\n\n        if ($(this).attr(\"data-type\") == \"date-first\") {\n            // for event date in the banner: include year\n            if (isAllDay) {\n                $time.text(\"All Day\")\n                if (hours \u003e= 24) {\n                    // multi-day\n                    dateText = startdate.format(\"MMM D, YYYY\") + \" - \" + enddate.format(\"MMM D, YYYY\")\n                } else {\n                    dateText = startdate.format(\"MMM D, YYYY\")\n                }\n                $date.text(dateText)\n            } else {\n                if (startDay == endDay) {\n                    timeText = startdate.format(\"h:mm A\") + \" - \" + enddate.format(\"h:mm A\")\n                    dateText = startdate.format(\"MMM D, YYYY\")\n                } else {\n                    // regular multi-day\n                    timeText = startdate.format(\"h:mm A\") + \" - \" + enddate.format(\"h:mm A\")\n                    dateText = startdate.format(\"MMM D, YYYY\") + \" - \" + enddate.format(\"MMM D, YYYY\")\n                }\n                $time.text(timeText)\n                $date.text(dateText)\n            }\n            $(this).append($date).append($time)\n        } else {\n            if (isAllDay) {\n                $time.text(\"All Day\")\n                if (hours \u003e= 24) {\n                    // multi-day\n                    dateText = startdate.format(\"MMM D\") + \" - \" + enddate.format(\"MMM D\")\n                }\n                $date.text(dateText)\n            } else {\n                if (startDay == endDay) {\n                    timeText = startdate.format(\"h:mm A\") + \" - \" + enddate.format(\"h:mm A\")\n                } else {\n                    // regular multi-day\n                    timeText = startdate.format(\"h:mm A\") + \" - \" + enddate.format(\"h:mm A\")\n                    dateText = startdate.format(\"MMM D\") + \" - \" + enddate.format(\"MMM D\")\n                }\n                $time.text(timeText)\n                $date.text(dateText)\n            }\n            $(this).append($time).append($date)\n        }\n    })\n\n    $('.event-time-only').each(function () {\n        const innerJson = $(this).find('.date-data')\n        const json = asJson?.(innerJson?.[0]?.innerHTML)\n        const { startdate, enddate, isAllDay } = getEventInfo?.(json) || {}\n        if (isAllDay) {\n            endate = enddate.subtract(1, 'days')\n        }\n        const $time = $(\"\u003cdiv\u003e\").addClass('event-time-line')\n        let timeText = \"\"\n\n        if (isAllDay) {\n            $time.text(\"All Day\")\n        } else {\n            timeText = startdate.format(\"h:mm A\") + \" - \" + enddate.format(\"h:mm A\")\n            $time.text(timeText)\n        }\n        $(this).append($time)\n    })\n\n    $('.event-date-only').each(function (i) {\n        const innerJson = $(this).find('.date-data')\n        const json = asJson?.(innerJson?.[0]?.innerHTML)\n        const { startdate, enddate, isAllDay } = getEventInfo?.(json) || {}\n        if (isAllDay) {\n            endate = enddate.subtract(1, 'days')\n        }\n        const hours = moment.duration(enddate.diff(startdate)).asHours()\n        const startDay = startdate.format('YYYY-MMM-DD')\n        const endDay = enddate.format('YYYY-MMM-DD')\n        const $date = $(\"\u003cdiv\u003e\")\n        let dateText = \"\"\n\n        if (isAllDay) {\n            if (hours \u003e= 24) {\n                // multi-day\n                dateText = startdate.format(\"MMM D, YYYY\") + \" - \" + enddate.format(\"MMM D, YYYY\")\n            } else {\n                dateText = startdate.format(\"MMM D, YYYY\")\n            }\n            $date.text(dateText)\n        } else {\n            if (startDay == endDay) {\n                dateText = startdate.format(\"MMM D, YYYY\")\n            } else {\n                // regular multi-day\n                dateText = startdate.format(\"MMM D, YYYY\") + \" - \" + enddate.format(\"MMM D, YYYY\")\n            }\n            $date.text(dateText)\n        }\n        $(this).append($date)\n    })\n\n\n    // format dates on back-to-school page\n    const firstDay = $('.first-day-date').text()\n    $('.first-day-date').text(moment(firstDay).format('dddd, MMMM D, YYYY'))\n\n    $('.event-date-box .date-data').each(function (index) {\n        const json = asJson?.(this.innerHTML)\n        const { startdate, enddate, isAllDay } = getEventInfo?.(json) || {}\n        this.outerHTML = startdate.format(`[\u003cdiv class=\"month\"\u003e]MMM[\u003c/div\u003e][\u003cdiv class=\"day\"\u003e]DD[\u003c/div\u003e][\u003cdiv class=\"week\"\u003e]ddd[\u003c/div\u003e]`)\n    })\n\n    $('.event-time').each(function () {\n        const innerJson = $(this).find('.date-data')\n        const json = asJson?.(innerJson?.[0]?.innerHTML)\n        const { startdate, enddate, isAllDay } = getEventInfo?.(json) || {}\n        const hours = moment.duration(enddate.diff(startdate)).asHours()\n\n        if (hours \u003c= 24 \u0026\u0026 isAllDay) {\n            this.innerHTML = 'All Day'\n        } else if (hours \u003c= 24 \u0026\u0026 !isAllDay) {\n            this.innerHTML = startdate.format('h:mm A') + \" - \" + enddate.format('h:mm A')\n        } else {\n            this.innerHTML = formatDate?.(innerJson?.[0]?.innerHTML)\n        }\n        return\n    })\n\n    // format dct date field\n    $('.date-dct').each(function(){\n        const date = $(this).text()\n        const format = moment(date).format('MMMM D, YYYY')\n        $(this).text(format)\n    })\n\n    // format dct date-range field\n    $('.format-date-range').each(function () {\n        const raw = $(this).text();\n\n        const startMatch = raw.match(/startDate:(\\d{4}-\\d{2}-\\d{2})/);\n        const endMatch   = raw.match(/endDate:(\\d{4}-\\d{2}-\\d{2})/);\n        if (!startMatch || !endMatch) return;\n\n        const start = moment(startMatch[1], 'YYYY-MM-DD');\n        const end   = moment(endMatch[1],   'YYYY-MM-DD');\n        if (!start.isValid() || !end.isValid()) return;\n\n        const formatted = start.isSame(end, 'year')\n        ? start.format('MMMM D') + '-' + end.format('MMMM D, YYYY')   // July 1-July 15, 2026\n        : start.format('MMMM D, YYYY') + '-' + end.format('MMMM D, YYYY'); // July 1, 2025-July 15, 2026\n\n        $(this).text(formatted);\n    });\n\n    $('.format-helper-date').each(function () {\n        const raw = $(this).text().trim();\n        const [y, m, d] = raw.split('-').map(Number);\n        if (!y || !m || !d) return; // skip anything unexpected\n\n        const date = new Date(y, m - 1, d);\n        const formatted = date.toLocaleDateString('en-US', {\n            year: 'numeric',\n            month: 'long',\n            day: 'numeric'\n        });\n\n        $(this).text(formatted);\n    });\n\n\n    // V1 Bolden search terms found in Content\n    $('.search-term').each(function () {\n        const term = $(this).text().toLowerCase()\n        const splitTerm = term.split(\" \").join(\".\").split(\".\")\n        $(\".search-description\").each(function () {\n            let description = $(this).text()\n            let splitDescription = description.split(\" \")\n            for (let item of splitDescription) {\n                if (splitTerm.includes(item.replace(/[\\s,.;:]+/gi, \"\").toLowerCase())) {\n                    const index = splitDescription.indexOf(item);\n                    splitDescription[index] = `\u003cstrong\u003e${item}\u003c/strong\u003e`\n                }\n            }\n            $(this).html(splitDescription.join(\" \"))\n        })\n    })\n\n\n    // Sticky Header\n    $(window).on(\"scroll\", () =\u003e {\n        const windowTop = $(window).scrollTop();\n        if (windowTop \u003e 68) {\n            $('.sticky-header').addClass('sticky-active');\n        } else {\n            $('.sticky-header').removeClass('sticky-active');\n        }\n\n    });\n\n\n    $('.format-text').each(function () {\n        const encodedHtml = $(this).html();\n\n        // decode into actual HTML\n        const decodedHtml = $('\u003cdiv\u003e').html(encodedHtml).text();\n\n        // parse into DOM\n        const $wrapper = $('\u003cdiv\u003e').html(decodedHtml);\n\n        // remove non-text elements\n        $wrapper.find('script, style, noscript, img, video, audio, iframe, figure').remove();\n\n        // add spacing after block-like elements\n        $wrapper.find('p, div, li, br, h1, h2, h3, h4, h5, h6').after(' ');\n\n        // extract text (preserves spacing better than textContent)\n        let text = $wrapper[0].innerText;\n\n        // normalize whitespace\n        text = text.replace(/\\s+/g, ' ').trim();\n\n        const words = text.split(' ');\n        const snippet = words.slice(0, 70).join(' ');\n        const finalSnippet = words.length \u003e 70 ? snippet + '…' : snippet;\n\n        $(this).text(finalSnippet);\n    });\n\n    // Sticky Header\n    $(window).scroll(() =\u003e {\n        var windowTop = $(window).scrollTop();\n        windowTop \u003e 100 ? $('.sticky-header').addClass('sticky-active') : $('.sticky-header').removeClass('sticky-active');\n    });\n\n    /* Open external links in new tab */\n    $('a[href^=http]').click(function () {\n        var a = new RegExp('/' + window.location.host + '/');\n        if (!a.test(this.href)) {\n            window.open(this.href);\n            return false;\n        }\n    });\n\n    // Open document links in new tab\n    $('a[href]').each(function () {\n        const url = $(this).attr('href');\n        if (url.startsWith(`${window.location.host}/documents/`)\n            || url.startsWith('/documents/')) {\n            $(this).attr('target', '_blank');\n        }\n    });\n\n    // Add an external link icon to buttons when they do not have a url that is on our site - Corporate Site ONLY\n    if (location.hostname === 'cbe.cmdesign.imagineeverything.com' || location.hostname === 'cbe.ab.ca') {\n        $('.btn').each(function () {\n            const linkHost = this.hostname;\n            const currentHost = location.hostname;\n            const hasIcon = $(this).find('i').length \u003e 0;\n\n            if (linkHost \u0026\u0026 linkHost !== currentHost \u0026\u0026 !hasIcon) {\n                $(this).prepend(`\u003ci class=\"fa-solid fa-up-right-from-square\"\u003e\u003c/i\u003e`).addClass('flex-row')\n            }\n        });\n    }\n\n    // Content Tabs\n    $(\".tab-item\").each(function (i) {\n        $(this).attr(\"id\", `tab-${++i}`);\n    });\n\n    $(\".tab-link\").each(function (i) {\n        $(this).attr(\"href\", `#tab-${++i}`);\n    });\n\n    $(\"#content-tabs\").tabs();\n\n    //Collpasible Box\n    $('.collapsible-box-title').each(function () {\n        let title = $(this).text();\n        $(this).html('\u003ci class=\"material-icons collapsible-box-icon\"\u003ekeyboard_arrow_right\u003c/i\u003e' + title)\n    });\n\n    $('.collapsible-box-title').click(function (event) {\n        let icon = $(this).children();\n        if (icon.html() == 'keyboard_arrow_right') {\n            icon.html('keyboard_arrow_down');\n        }\n        else\n            icon.html('keyboard_arrow_right');\n\n        $(this).siblings(\"div\").slideToggle(300);\n    });\n\n    // Create \u0026 append bottom icon\n    $('.collapsible-box-description').each(function () {\n        let $newIcon = $('\u003ci class=\"material-icons collapsible-bottom-icon\"\u003ekeyboard_arrow_up\u003c/i\u003e')\n        $(this).append($newIcon)\n\n    });\n\n    // Bottom Icon\n    $('.collapsible-bottom-icon').click(function (event) {\n        let icon = $(this)\n            .parents(\"div.collapsible-box\")\n            .children(\"h3.collapsible-box-title\")\n            .children();\n\n        icon.html() == 'keyboard_arrow_right'\n            ?\n            icon.html('keyboard_arrow_down')\n            :\n            icon.html('keyboard_arrow_right')\n            ;\n\n        $(this).parent().slideToggle(300)\n    });\n\n     // Collapsible boxes - Lexical Editor\n    function initCollapsibleBoxes($boxes, { iconFirst, closedIcon, openIcon }) {\n        $boxes.each(function () {\n            const $details = $(this).removeAttr('open');\n            const $summary = $details.children('summary');\n            const icon = `\u003ci class=\"material-icons collapsible-box-icon\"\u003e${closedIcon}\u003c/i\u003e`;\n            const title = `\u003ch3 class=\"no-margin\"\u003e${$summary.text()}\u003c/h3\u003e`;\n            $summary.html(iconFirst ? icon + title : title + icon);\n        });\n\n        $boxes.click(function () {\n            const $details = $(this);\n            const isActive = $details.toggleClass('active').hasClass('active');\n            isActive ? $details.removeAttr('open') : $details.attr('open', 'true');\n            $details.find('.collapsible-box-icon').text(isActive ? openIcon : closedIcon);\n        });\n    }\n\n    // Default boxes (icon on the left) — exclude the about-notice variant\n    initCollapsibleBoxes($('details').not('.about-notice-right details'), {\n        iconFirst: true,\n        closedIcon: 'keyboard_arrow_right',\n        openIcon: 'keyboard_arrow_up',\n    });\n\n    // About-notice boxes (icon on the right, +/- glyphs)\n    initCollapsibleBoxes($('.about-notice-right details'), {\n        iconFirst: false,\n        closedIcon: 'add',\n        openIcon: 'remove',\n    });\n\n    document.querySelectorAll('oembed[url]').forEach(element =\u003e {\n        const anchor = document.createElement('a');\n\n        anchor.setAttribute('href', element.getAttribute('url'));\n        anchor.className = 'embedly-card';\n\n        element.appendChild(anchor);\n    });\n\n    // Disable translation of icons\n    $('i').each(function () {\n        $(this).addClass('notranslate').attr('role', 'presentation');\n    })\n\n    if ($('.sidebar').children().length \u003c= 0) {\n        $('.sidebar').addClass('no-sidebar')\n    }\n\n    // add a \u003cdiv\u003e to wrap .editor-table\n    if ($('.editor-table').length \u003e 0) {\n        $(\".editor-table\").each(function () {\n            $(this).wrap(\"\u003cdiv class='editor-table-wrapper'\u003e\u003c/div\u003e\")\n        })\n    }\n\n    // display a message on news section on homepage if there's no news\n    if ($('.news-item').length \u003c= 0) {\n        $('.home-news').remove();\n        $('\u003cp\u003eThere is no news currently.\u003c/p\u003e').insertBefore(\".more-news\")\n    }\n\n    // display a message on news/event section on school council/parent society page if it's empty\n    if ($('.tagged-news').length \u003c= 0) {\n        $('.tagged-news-wrapper').remove();\n        $('\u003cp\u003eThere is no news currently.\u003c/p\u003e').insertAfter(\".news-heading\")\n    }\n\n    // Hide social media section on homepage if it's empty\n    if ($('.fb-slide').length \u003c= 0) {\n        $('.social-container').remove();\n        $('.social-media').addClass('inactive')\n    } else {\n\n        $('.social-media').addClass('active')\n    }\n\n    // Hide Transportation section on Back-to-School page if it's empty\n    if ($('#section-transportation .bts-col').length \u003c= 0) {\n        $('#section-transportation').remove()\n    }\n\n    if ($('#section-transportation .bts-col.show').length == 1) {\n        $('#section-transportation .bts-col').css({\n            width: '80%',\n            'flex-grow': 'unset'\n        })\n    }\n\n    $('#section-transportation .bts-col').each(function () {\n        if ($(this).hasClass('hide')) {\n            $(this).remove()\n        }\n    })\n\n    // Hide location contact block when it's empty on Event Article (Corporate)\n    $('.location-contact-section').each(function () {\n        const $section = $(this);\n\n        const hasContent = $section.find('.location-contact-zone').filter(function () {\n            const $card = $(this).find('.event-card-text');\n\n            // real content elements, ignoring the static heading\n            if ($card.children().not('h2').length \u003e 0) return true;\n\n            // fallback: loose text nodes not wrapped in an element\n            const $text = $card.clone();\n            $text.find('h2').remove();\n            return $.trim($text.text()) !== '';\n        }).length \u003e 0;\n\n        if (!hasContent) {\n            $section.hide();\n        }\n    });\n\n    // Toggle secondary navigation on mobile\n    $(\".current-page\").click(function (e) {\n        e.preventDefault();\n        $(this).siblings(\".secondary-nav\").slideToggle(300);\n        $(this).toggleClass('active')\n\n        if ($(this).hasClass('active')) {\n            $(this).find('i').text('keyboard_arrow_up')\n        } else {\n            $(this).find('i').text('keyboard_arrow_down')\n        }\n\n    });\n\n    // Toggle secondary navigation on mobile\n    $(\".nav-secondary-heading\").click(function (e) {\n        e.preventDefault();\n        $(this).siblings(\".nav-secondary\").slideToggle(300);\n    });\n\n    $('.subpage-wrapper').masonry({\n        itemSelector: '.grid-item',\n        columnWidth: '.grid-sizer',\n        percentPosition: true,\n        horizontalOrder: true,\n    });\n\n    // Wrap \u003ctable\u003e with table class to apply styling \n    if ($('table:not(.editor-table)').length \u003e 0) {\n        if ($('table:not(.editor-table)').parent('figure').length \u003c= 0) {\n            $(this).wrap('\u003cdiv class=\"table\"\u003e\u003c/div\u003e');\n        }\n    }\n\n    // add index number to banner-item\n    let bannerCount = 0;\n    const numOfBanner = $('.banner-item').length;\n\n    if (numOfBanner \u003e 0) {\n        $('.banner-item').each(function () {\n            bannerCount++\n            $(this).addClass(`banner-item-${bannerCount}`)\n        })\n\n        $('.news-grid').addClass(`news-grid-${numOfBanner}`)\n    }\n\n    // Remove duplicate h1 tags\n    // Ex. Cleaning up news articles where title was copied into editor since it is now displayed in the template\n    let seen = '';\n    $('h1').each(function () {\n        let see = $(this).text();\n        if (seen === see) {\n            $(this).remove();\n        } else {\n            seen = seen + $(this).text();\n        }\n    });\n\n    // wrap iframe with a div for video embed in dct rich-text\n    if ($('.editor iframe').length \u003e 0) {\n        $('.editor iframe').each(function () {\n            $(this).wrap(\"\u003cdiv class='responsive-iframe'\u003e\u003c/div\u003e\")\n        })\n    }\n\n    // remove parent container when lexical editor has no content\n    if ($('.editor-paragraph').length \u003e 0) {\n        $('.editor').each(function () {\n            if (!$(this).text().trim()) {\n                $(this).parents('.cta-block').remove()\n                $(this).parents('div.content-container').addClass('no-margin')\n            }\n        })\n    }\n\n    // do not show color blocks if it's empty for school council \u0026 parent society pages\n    if ($('.sc-ps .cta-block').length \u003e 0) {\n        $('.sc-ps .cta-block').each(function () {\n            if (!$(this).text().trim()) {\n                $(this).remove()\n            }\n        })\n    }\n\n    $('.search-form').submit(function (e) {\n        const searchTerm = $(this).find('#search-term');\n        const searchTermClone = $(this).find('#search-term-clone');\n        let updatedSearchTerm = searchTermClone.val();\n        console.log(updatedSearchTerm)\n        searchTermClone.prop('disabled', true);\n\n        const isExact = $(this).find('#isExactSearch');\n        if (Boolean(isExact?.[0]?.checked)) {\n            updatedSearchTerm = `\"${updatedSearchTerm}\"`;\n        }\n\n        const isExcluding = $(this).find('#isExcluding');\n        if (Boolean(isExcluding?.[0]?.checked)) {\n            const excludedTerm = $(this).find('#exclude-search-term').val();\n            if (excludedTerm) {\n                updatedSearchTerm = ` (-\"${excludedTerm}\") ${updatedSearchTerm}`;\n            }\n        }\n        searchTerm.val(updatedSearchTerm);\n    });\n\n    $('.isExcluding').on('change', function (e) {\n        const wrapper = $(this).parent('.search-filter-group').siblings('.exclude-wrapper');\n        if (Boolean(e?.target?.checked)) {\n            wrapper.css('display', 'block');\n        } else {\n            wrapper.css('display', 'none');\n        }\n    });\n\n    // search filter dropdown\n    $('.filter-icon').on('click keypress', function (event) {\n        event.stopPropagation();\n        const keycode = event.keyCode ? event.keyCode : event.which;\n        //trigger event on 'click' or pressing enter key\n        if (keycode === 13 || event.type === 'click') {\n            $(this).parent('.search-row').siblings('.search-filters').slideToggle(300).toggleClass('active');\n            $('.search-bar-wrapper').toggleClass('active')\n        }\n    });\n\n    // $('.responsive-cards').each(function () {\n    //   const $cards = $(this).find('.responsive-card');\n    //   const count = $cards.length;\n\n    //   if (count === 1) {\n    //     $(this).addClass('one-card')\n    //   } else if (count === 2) {\n    //     $(this).addClass('two-cards')\n    //   } \n    // });\n\n    // 404 Page\n    $('.error-page-container p').text('We can\\'t seem to find the page you are looking for.').show()\n\n    const $errorMsg = $('\u003cp\u003e').html(`\n        You can help us improve the site by sending the link to the page you were trying to find or a description of the problem you encountered to \u003ca href=\"mailto:Webmaster@cbe.ab.ca\"\u003eWebmaster@cbe.ab.ca\u003c/a\u003e.\n    `).addClass('error-contact')\n    $('.error-page-container').append($errorMsg)\n    $('.error-page-container p').show()\n\n    $('.error-page-container .optionbox-padding').html(`\n        \u003cform class=\"search-form search-api-form\" role=\"search\"\u003e\n            \u003cdiv class=\"input-field\"\u003e\n                \u003cinput id=\"SearchText\" name=\"SearchText\" class=\"search-text search-box\" type=\"text\" placeholder=\"Search..\" aria-label=\"Search Term\" required\u003e\n                \u003clabel for=\"SearchText\"\u003eSearch\u003c/label\u003e\n            \u003c/div\u003e\n            \u003cdiv class=\"input-buttons\"\u003e\n                \u003cinput class=\"search-button\" type=\"submit\" value=\"Find\"\u003e\n            \u003c/div\u003e\n        \u003c/form\u003e\n    `)\n})\n\ndocument.addEventListener('DOMContentLoaded', async function () {\n    async function replaceImagePath(elementClass, imageName) {\n        const siteLogoWrapper = document.querySelector(`.${elementClass}`);\n\n        if (!siteLogoWrapper) {\n            return;\n        }\n\n        async function imageExists(path) {\n            try {\n                const response = await fetch(path, { method: 'HEAD' });\n\n                if (response.ok) {\n                    return true;\n                } else {\n                    console.warn(`Image not found: ${path}. Trying different extension...`);\n                    return false;\n                }\n            } catch (error) {\n                console.error(`Error checking image existence: ${error}`);\n                return false;\n            }\n        }\n\n        const extensions = ['.svg', '.png', '.jpg'];\n        let imageFound = false;\n\n        for (const extension of extensions) {\n            const imagePath = imageName + extension;\n            const imageExistsResult = await imageExists(imagePath);\n\n            if (imageExistsResult) {\n                createAndAppendImage(imagePath, siteLogoWrapper);\n                imageFound = true;\n                break;\n            }\n        }\n\n        if (!imageFound) {\n            siteLogoWrapper.innerHTML = '';\n        }\n    }\n\n    function createAndAppendImage(src, parentElement) {\n        const imgElement = document.createElement('img');\n        imgElement.src = src;\n        imgElement.alt = '{{site.name}} Logo';\n        imgElement.classList.add('site-logo');\n\n        parentElement.innerHTML = '';\n        parentElement.appendChild(imgElement);\n    }\n\n    const elementClass = 'site-logo-wrapper';\n    const imageName = '/images/{{jsonRender Site.Settings 'schoolCode'}}' + '-logo';\n    await replaceImagePath(elementClass, imageName);\n});\n\n","data":null,"route":"/scripts/bundle.js","path":"e489a6bb1c374a91bdbe662c1f788cc6","created":"2023-10-19T21:17:48.257634Z","updated":"2026-10-30T21:38:20.248028Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"56258bb7-c9f3-416d-b2a8-a6265e30f3c9","Firstname":"imagineEverything","Lastname":"support"},"TemplateKey":null,"StructureKey":null,"departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2024-02-27T20:25:30.17Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{},"media":null},{"id":"0c2073ed-71e1-44b0-9953-cd90ea3894ac","type":"js","owner":"76de2e60-a3fd-413c-b774-4babb08889c5","publisher":"dd862409-2d08-4129-8ee3-57704232344f","title":"/scripts/weekly-updates.js","content":"function localStartOfDayToIso(dateStr) {\n    const [year, month, day] = dateStr.split('-').map(Number);\n\n    // This creates a Date at local time: year-month-day 00:00:00.000\n    const localMidnight = new Date(year, month - 1, day, 0, 0, 0, 0);\n\n    // Convert to ISO string (UTC), e.g. \"2025-11-10T08:00:00.000Z\"\n    return localMidnight.toISOString();\n}\n\nfunction localEndOfDayToIso(dateStr) {\n    const [year, month, day] = dateStr.split('-').map(Number);\n\n    // const localEnd = new Date(year, month - 1, day, 23, 59, 59, 999);\n    // return localEnd.toISOString();\n\n    const nextMidnight = new Date(year, month - 1, day + 1, 0, 0, 0, 0);\n    return nextMidnight.toISOString();\n}\n\n\n$(document).ready(function (e) {\n    const startInput = $('#event-start').text();\n    const endInput = $('#event-end').text()\n\n    if (startInput \u0026\u0026 endInput) {\n        const startDate = localStartOfDayToIso(startInput)\n        const endDate = localEndOfDayToIso(endInput)\n\n        let includeSites = \"\"\n        const url = `/sys/api/v2/query?contentType=event\u0026startdate=${startDate}\u0026enddate=${endDate}`\n        //console.log(url)\n        $.get(url)\n            .done(function (events) {\n                // format enddate of all-day event\n                let newEvents = []\n                for (const item of events.Rows) {\n                    const isAllDay = item.Settings.isAllDay\n                    const enddate = item.Settings.enddate\n\n                    if (isAllDay) {\n                        item.Settings.enddate = moment.utc(enddate).utc().subtract(1, 'days').format()\n                    } else {\n                        item.Settings.startdate = moment(item.Settings.startdate).format()\n                        item.Settings.enddate = moment(item.Settings.enddate).format()\n                    }\n\n                    newEvents.push(item)\n                }\n\n                // Sort events by startDate\n                newEvents.sort(function (a, b) { return (a.Settings.startdate.toLowerCase() \u003e b.Settings.startdate.toLowerCase()) ? 1 : ((b.Settings.startdate.toLowerCase() \u003e a.Settings.startdate.toLowerCase()) ? -1 : 0); })\n             \n\n                // Map out organized events - one column layout (used in default school home, parent society and school council pages)\n                if (newEvents.length \u003e 0) {\n                    $('#weekly-events').append(`\u003ch3 class=\"mt0\"\u003eUpcoming Events\u003c/h3\u003e`)\n                    for (const item of newEvents) {\n                        //console.log(item)\n                        const $eventDetails = $('\u003cdiv\u003e').addClass('event-item-wrapper');\n                        const { startdate, enddate, isAllDay } = item.Settings || {}\n                        const hours = moment.utc(enddate).diff(moment.utc(startdate), 'hours', true);\n                        let momentEventTime, momentMonthStart, momentDayStart, momentWeekStart \n\n                        if (isAllDay) {\n                            if (hours \u003e= 24) {\n                                momentEventTime = `All Day - ${moment.utc(enddate).format('MMM DD, ddd')}`\n                            } else {\n                                momentEventTime = 'All Day'\n                            }\n\n                            momentMonthStart = moment.utc(startdate).format('MMM')\n                            momentDayStart = moment.utc(startdate).format('DD')\n                            momentWeekStart = moment.utc(startdate).format('ddd')\n                        } else {\n                            if (moment(startdate).tz('America/Edmonton').format('ll') !== moment(enddate).tz('America/Edmonton').format('ll')) {\n                                // events not on the same day\n                                momentEventTime = `${moment(startdate).tz('America/Edmonton').format('h:mm A')} - ${moment(enddate).tz('America/Edmonton').format('MMM DD h:mm A')}`\n                            } else {\n                                momentEventTime = `${moment(startdate).tz('America/Edmonton').format('h:mm A')} - ${moment(enddate).tz('America/Edmonton').format('h:mm A')}`\n                            }\n\n                            momentMonthStart = moment(startdate).tz('America/Edmonton').format('MMM')\n                            momentDayStart = moment(startdate).tz('America/Edmonton').format('DD')\n                            momentWeekStart = moment(startdate).tz('America/Edmonton').format('ddd')\n                        }\n\n                        $eventDetails.html(`\n                            \u003ca href=\"${item.Route}\" class=\"event-item\"\u003e\n                                \u003cdiv class=\"event-date-wrapper flex-column-center\" data-name=\"${item.Tags ? item?.Tags[0].Name : ''}\"\u003e\t\t\t\n                                    \u003cdiv class=\"event-date-box\"\u003e\n                                        \u003cdiv class=\"month\"\u003e${momentMonthStart}\u003c/div\u003e\n                                        \u003cdiv class=\"day\"\u003e${momentDayStart}\u003c/div\u003e\n                                        \u003cdiv class=\"week\"\u003e${momentWeekStart}\u003c/div\u003e\n                                    \u003c/div\u003e\n                                \u003c/div\u003e\n                                \u003cdiv class=\"event-name flex-column-center\"\u003e\n                                    \u003cdiv class=\"card-description\"\u003e${item.Title}\u003c/div\u003e\n                                    \u003cdiv class=\"format-event-time\"\u003e${momentEventTime}\u003c/div\u003e\n                                \u003c/div\u003e\n                            \u003c/a\u003e\n                        `)\n\n                        $('#weekly-events').append($eventDetails)\n                        $('.tagged-events').css('display', 'flex')\n                    }\n                } \n            })\n\n            .fail(function () {\n                toastr.error(\"Couldn't retrieve events, please try again later\", \"Whoops!\")\n            })\n\n    }\n\n})\n\n","data":{},"route":"/scripts/weekly-updates.js","path":"0c2073ed71e144b09953cd90ea3894ac","created":"2025-11-13T20:53:36.744559Z","updated":"2026-10-30T12:00:22.868685Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{},"status":"","tags":null,"TagIds":[],"meta":{},"ownerUser":{"ID":"76de2e60-a3fd-413c-b774-4babb08889c5","Firstname":"Yingying","Lastname":"Feng"},"TemplateKey":null,"StructureKey":null,"departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2025-11-13T20:53:27.097Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{},"media":null},{"id":"350088de-8b5c-5c97-b0ca-4d3fa68320cd","type":"page","owner":"45f06f48-a93c-414e-b9a0-7582e0abc085","publisher":"a7a7d49d-7915-4611-b60d-c6a97fa4d18f","title":"Our School","content":"","data":{"related":[{"id":"b7eba97e-3fe7-44c4-9664-12cc3e754f51","link":"/conduct","label":"Code of Conduct"},{"id":"620eeb76-ad81-4b1c-b221-67b7334cd2d3","link":"/attendance","label":"Attendance"},{"id":"82f28853-ec4f-4893-81fc-b3abd3318afd","doc":"","link":"/fees","label":"Report to Parents on Fees"}],"imageList":[],"mainContent":{"id":"17f0c1c3-2919-47d7-aaf7-d85fcbde10c2","lexical":{"html":"\u003ch2 class=\"editor-heading-h2\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst School at a Glance\u003c/span\u003e\u003c/h2\u003e\u003cul class=\"editor-list-ul\"\u003e\u003cli value=\"1\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eWe have two streams in the school: a kindergarten to grade 6 community program and Grades 4 to 6 gifted and talented specialized classes (GATE). There are no significant boundaries evident between programs as we consider ourselves one united team of leaders and learners.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"2\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThe GATE specialized classes\u0026nbsp;draws students from all of North Calgary through a vigorous application process that begins with the child's School Learning Team (SLT): classroom teacher/resource teacher, administration, and parents. The community program has enrolment restricted to our boundaries (generally the community of Hillhurst)\u003c/span\u003e\u003c/li\u003e\u003cli value=\"3\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThrough collaborative community efforts, we provide enriched learning experiences that foster academic excellence and develop active, responsible, compassionate citizens.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"4\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eWe pride ourselves on having a strong, supportive community of students, parents and teachers who work together for the safety and security of our students.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"5\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eWe have a very active and supportive \u003c/span\u003e\u003ca href=\"https://hillhurst-cbe.cmdesign.imagineeverything.com/school-council\" rel=\"noreferrer\" class=\"editor-link\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eSchool Council\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"6\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eOur students, parents and staff undertake many charitable works.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"7\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eStudent Leadership opportunities\u003c/span\u003e\u003c/li\u003e\u003cli value=\"8\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eMusic and Daily Phys-ed programs for grades K-6\u003c/span\u003e\u003c/li\u003e\u003cli value=\"9\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eNEW! 2023-2024 - Before/After School located in the building.\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 class=\"editor-heading-h2\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eSchool History \u0026amp; Background\u003c/span\u003e\u003c/h2\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst Community School is a gracious sandstone building built in 1912 beside beautiful Riley Park just blocks from the Bow River. The building has been lovingly maintained and sunlight floods in through 20-foot high windows. The friendly and inclusive environment at the school makes it easy for new families and children alike to get involved and adjust to the community.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThe surrounding communities of Hillhurst, West Hillhurst, Briar Hill and Sunnyside are among the oldest in Calgary and have been rejuvenated in the last twenty years with increasingly upscale homes along tree-lined streets. Those who live here can walk downtown to work and bike the river pathways for fun and exercise.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThe shopping area of Kensington, a five-minute walk from the school is voted the favourite area in Calgary because of the many cafes, restaurants and interesting shops. Within 10\u0026nbsp;minutes are the University of Calgary, the Foothills Hospital, the new Children’s Hospital, the Jubilee Auditorium, the Alberta College of Art, Southern Institute of Technology, a convenient mall and Home Depot, two community centres, ice arenas and tennis courts.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst School, built in 1912, is a small, vibrant elementary school adjacent to Riley Park. We have 11\u0026nbsp;classrooms for Grades 1 to 6 and 1\u0026nbsp;morning kindergarten class. We have a gym, a library, three laptop carts and an iPad cart,\u0026nbsp;robotics kits (EV3's and Ozobots),\u0026nbsp;2 playgrounds, and more!\u0026nbsp;We also use Riley park\u0026nbsp;for outdoor activities. Our school is a beautiful old heritage sandstone building with wide halls, big sunny windows and oak wainscotting along the hall walls. The parents, staff and students are friendly and very supportive of the school and one another. Our school welcomes volunteers and has a wonderful and active \u003c/span\u003e\u003ca href=\"/school/hillhurst/get-involved/school-council/pages/default.aspx\" class=\"editor-link\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eSchool Council\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e.\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst has a close-knit, caring atmosphere that supports the individual growth of children. Through collaborative community effort, we provide enriched learning experiences that foster academic excellence and develop active, responsible, compassionate citizens.\u003c/span\u003e\u003c/p\u003e\u003cie-fragment data-lexical-content-fragment=\"977f677d-be3f-4c70-a1f1-e2ee9071ca33\" data-id=\"977f677d-be3f-4c70-a1f1-e2ee9071ca33\"\u003e\u003c/ie-fragment\u003e\u003ch5 class=\"editor-heading-h5\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView Our \u003c/span\u003e\u003cie-document data-lexical-document-id=\"ea895456-db0a-4a3d-a69a-3136b0f1f081\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e\u003cie-fragment data-lexical-content-fragment=\"4bdcccd2-ba4c-4d69-97be-49cc89e44601\" data-id=\"4bdcccd2-ba4c-4d69-97be-49cc89e44601\"\u003e\u003c/ie-fragment\u003e\u003ch5 class=\"editor-heading-h5\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView Our \u003c/span\u003e\u003cie-document data-lexical-document-id=\"6c230fda-0df5-49f1-a4c8-c433bfbc7491\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e\u003cie-fragment data-lexical-content-fragment=\"edf9ae92-ebbe-47f4-b3f2-0ed3161c1587\" data-id=\"edf9ae92-ebbe-47f4-b3f2-0ed3161c1587\"\u003e\u003c/ie-fragment\u003e\u003ch5 class=\"editor-heading-h5\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView Our \u003c/span\u003e\u003cie-document data-lexical-document-id=\"393e596a-5a43-4b9f-89de-fe06e9eeb466\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e","engine":"lexical"}},"pageQuicklinks":[]},"route":"/school","path":"cdf6200f728544b78d462ce665f73ea7.df3fb56a5dec440da50934f8ca249803.350088de8b5c5c97b0ca4d3fa68320cd","created":"2024-01-18T15:08:59.111782Z","updated":"2026-10-29T19:18:16.820386Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{"seoTitle":"","isPrimary":false,"releaseDate":"2023-11-30","migrationInfo":{"source":"Automated Migration","sourceId":"https://school.cbe.ab.ca/school/hillhurst/about-us/school/pages/default.aspx","timestamps":["2024-02-12T06:27:01.255Z","2024-02-14T05:32:24.166Z"]},"isDistrictPage":false,"seoDescription":""},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"45f06f48-a93c-414e-b9a0-7582e0abc085","Firstname":"Integration","Lastname":"Importer"},"TemplateKey":"rich_text_w_sidebar","StructureKey":"rich_text_w_sidebar_page","departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2024-02-14T05:32:24.166Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{"imageList":[],"mainContent":{"id":"17f0c1c3-2919-47d7-aaf7-d85fcbde10c2","lexical":{"engine":"lexical","html":"\u003ch2 class=\"editor-heading-h2\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst School at a Glance\u003c/span\u003e\u003c/h2\u003e\u003cul class=\"editor-list-ul\"\u003e\u003cli value=\"1\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eWe have two streams in the school: a kindergarten to grade 6 community program and Grades 4 to 6 gifted and talented specialized classes (GATE). There are no significant boundaries evident between programs as we consider ourselves one united team of leaders and learners.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"2\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThe GATE specialized classes\u0026nbsp;draws students from all of North Calgary through a vigorous application process that begins with the child's School Learning Team (SLT): classroom teacher/resource teacher, administration, and parents. The community program has enrolment restricted to our boundaries (generally the community of Hillhurst)\u003c/span\u003e\u003c/li\u003e\u003cli value=\"3\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThrough collaborative community efforts, we provide enriched learning experiences that foster academic excellence and develop active, responsible, compassionate citizens.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"4\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eWe pride ourselves on having a strong, supportive community of students, parents and teachers who work together for the safety and security of our students.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"5\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eWe have a very active and supportive \u003c/span\u003e\u003ca href=\"https://hillhurst-cbe.cmdesign.imagineeverything.com/school-council\" rel=\"noreferrer\" class=\"editor-link\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eSchool Council\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"6\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eOur students, parents and staff undertake many charitable works.\u003c/span\u003e\u003c/li\u003e\u003cli value=\"7\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eStudent Leadership opportunities\u003c/span\u003e\u003c/li\u003e\u003cli value=\"8\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eMusic and Daily Phys-ed programs for grades K-6\u003c/span\u003e\u003c/li\u003e\u003cli value=\"9\" class=\"editor-listitem\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eNEW! 2023-2024 - Before/After School located in the building.\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 class=\"editor-heading-h2\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eSchool History \u0026amp; Background\u003c/span\u003e\u003c/h2\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst Community School is a gracious sandstone building built in 1912 beside beautiful Riley Park just blocks from the Bow River. The building has been lovingly maintained and sunlight floods in through 20-foot high windows. The friendly and inclusive environment at the school makes it easy for new families and children alike to get involved and adjust to the community.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThe surrounding communities of Hillhurst, West Hillhurst, Briar Hill and Sunnyside are among the oldest in Calgary and have been rejuvenated in the last twenty years with increasingly upscale homes along tree-lined streets. Those who live here can walk downtown to work and bike the river pathways for fun and exercise.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eThe shopping area of Kensington, a five-minute walk from the school is voted the favourite area in Calgary because of the many cafes, restaurants and interesting shops. Within 10\u0026nbsp;minutes are the University of Calgary, the Foothills Hospital, the new Children’s Hospital, the Jubilee Auditorium, the Alberta College of Art, Southern Institute of Technology, a convenient mall and Home Depot, two community centres, ice arenas and tennis courts.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst School, built in 1912, is a small, vibrant elementary school adjacent to Riley Park. We have 11\u0026nbsp;classrooms for Grades 1 to 6 and 1\u0026nbsp;morning kindergarten class. We have a gym, a library, three laptop carts and an iPad cart,\u0026nbsp;robotics kits (EV3's and Ozobots),\u0026nbsp;2 playgrounds, and more!\u0026nbsp;We also use Riley park\u0026nbsp;for outdoor activities. Our school is a beautiful old heritage sandstone building with wide halls, big sunny windows and oak wainscotting along the hall walls. The parents, staff and students are friendly and very supportive of the school and one another. Our school welcomes volunteers and has a wonderful and active \u003c/span\u003e\u003ca href=\"/school/hillhurst/get-involved/school-council/pages/default.aspx\" class=\"editor-link\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eSchool Council\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e.\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst has a close-knit, caring atmosphere that supports the individual growth of children. Through collaborative community effort, we provide enriched learning experiences that foster academic excellence and develop active, responsible, compassionate citizens.\u003c/span\u003e\u003c/p\u003e\u003cie-fragment data-lexical-content-fragment=\"977f677d-be3f-4c70-a1f1-e2ee9071ca33\" data-id=\"977f677d-be3f-4c70-a1f1-e2ee9071ca33\"\u003e\u003c/ie-fragment\u003e\u003ch5 class=\"editor-heading-h5\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView Our \u003c/span\u003e\u003cie-document data-lexical-document-id=\"ea895456-db0a-4a3d-a69a-3136b0f1f081\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e\u003cie-fragment data-lexical-content-fragment=\"4bdcccd2-ba4c-4d69-97be-49cc89e44601\" data-id=\"4bdcccd2-ba4c-4d69-97be-49cc89e44601\"\u003e\u003c/ie-fragment\u003e\u003ch5 class=\"editor-heading-h5\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView Our \u003c/span\u003e\u003cie-document data-lexical-document-id=\"6c230fda-0df5-49f1-a4c8-c433bfbc7491\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e\u003cie-fragment data-lexical-content-fragment=\"edf9ae92-ebbe-47f4-b3f2-0ed3161c1587\" data-id=\"edf9ae92-ebbe-47f4-b3f2-0ed3161c1587\"\u003e\u003c/ie-fragment\u003e\u003ch5 class=\"editor-heading-h5\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView Our \u003c/span\u003e\u003cie-document data-lexical-document-id=\"393e596a-5a43-4b9f-89de-fe06e9eeb466\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e"}},"pageQuicklinks":[],"related":[{"id":"b7eba97e-3fe7-44c4-9664-12cc3e754f51","label":"Code of Conduct","link":"/conduct"},{"id":"620eeb76-ad81-4b1c-b221-67b7334cd2d3","label":"Attendance","link":"/attendance"},{"doc":"","id":"82f28853-ec4f-4893-81fc-b3abd3318afd","label":"Report to Parents on Fees","link":"/fees"}]},"media":null},{"id":"9141bc48-676a-5db4-98bc-d7da245d932a","type":"page","owner":"45f06f48-a93c-414e-b9a0-7582e0abc085","publisher":"a7a7d49d-7915-4611-b60d-c6a97fa4d18f","title":"Digital Citizenship","content":"","data":{"related":[],"imageList":[{"id":"a1853055-2476-49d3-8366-9963f5d3bc4c","image":{"alt":"Student Learning About Digital Citizenship","src":"/images/3796e855-5744-5e87-9f78-ee145282a767"},"caption":"Student Learning About Digital Citizenship"}],"mainContent":{"id":"89fd8a97-c462-4968-b950-0ec6ef1df0c8","lexical":{"html":"\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigital citizenship is a comprehensive approach to the use of digital technologies that spans student education from K-12 and into adulthood. Digital citizenship should be practiced in every course, throughout the school and at home. Digital citizenship is an ongoing partnership between teachers, students and parents. Just as teachers build an awareness of the importance of digital citizenship at school, parents build and reinforce these concepts with their children at home.\u003c/span\u003e\u003c/p\u003e\u003cblockquote class=\"editor-quote\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigital citizenship isn't just about recognizing and dealing with online hazards. It's about building safe spaces and communities, [having students] understand how to manage personal information, and about being Internet savvy -- using your online presence to grow and shape your world in a safe, creative way, and inspiring others to do the same.\u0026nbsp;\u003c/span\u003e\u003cbr\u003e\u003ca href=\"http://www.digizen.org/\" target=\"_blank\" class=\"editor-link\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigizen.org\u003c/span\u003e\u003c/a\u003e\u003c/blockquote\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst School recognizes that our students and their families use digital technologies at home, at work, and for social purposes. Digital technologies have also become an integral part of our school program - for research, for communication, and for production of print, online, and multimedia demonstrations of learning. At school we model and teach safe, ethical, appropriate and responsible online behaviour and monitor student use of digital resources.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eIn some circumstances, parents will be consulted regarding students bringing their own digital devices to school for connection to our wireless network. This will only be done for specific educational purposes, and will be subject to the same digital citizenship expectations as for CBE equipment.\u003c/span\u003e\u003c/p\u003e\u003chr\u003e\u003ch2 class=\"editor-heading-h2\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigital Citizenship Plan\u003c/span\u003e\u003c/h2\u003e\u003ch5 class=\"editor-heading-h5\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView our:\u003c/span\u003e\u003cie-document data-lexical-document-id=\"75f423a3-a230-480a-addb-d97835905c38\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e\u003cie-fragment data-lexical-content-fragment=\"df2d8810-8509-4f5f-a877-9e12e414eb94\" data-id=\"df2d8810-8509-4f5f-a877-9e12e414eb94\"\u003e\u003c/ie-fragment\u003e","engine":"lexical"}},"pageQuicklinks":[]},"route":"/digital-citizenship","path":"cdf6200f728544b78d462ce665f73ea7.df3fb56a5dec440da50934f8ca249803.9141bc48676a5db498bcd7da245d932a","created":"2024-01-18T15:10:40.447613Z","updated":"2026-10-29T19:08:09.948403Z","privacyLevel":0,"active":true,"mediaId":"3796e855-5744-5e87-9f78-ee145282a767","settings":{"seoTitle":"","isPrimary":false,"releaseDate":"2023-10-28","migrationInfo":{"source":"Automated Migration","sourceId":"https://school.cbe.ab.ca/school/hillhurst/culture-environment/tech-tools/digital-citizenship/pages/default.aspx","timestamps":["2024-02-12T06:27:01.255Z","2024-02-14T05:32:24.166Z"]},"isDistrictPage":false,"seoDescription":""},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"45f06f48-a93c-414e-b9a0-7582e0abc085","Firstname":"Integration","Lastname":"Importer"},"TemplateKey":"rich_text_w_sidebar","StructureKey":"rich_text_w_sidebar_page","departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2024-02-14T05:32:24.166Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{"imageList":[{"caption":"Student Learning About Digital Citizenship","id":"a1853055-2476-49d3-8366-9963f5d3bc4c","image":{"alt":"Student Learning About Digital Citizenship","src":"/images/3796e855-5744-5e87-9f78-ee145282a767"}}],"mainContent":{"id":"89fd8a97-c462-4968-b950-0ec6ef1df0c8","lexical":{"engine":"lexical","html":"\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigital citizenship is a comprehensive approach to the use of digital technologies that spans student education from K-12 and into adulthood. Digital citizenship should be practiced in every course, throughout the school and at home. Digital citizenship is an ongoing partnership between teachers, students and parents. Just as teachers build an awareness of the importance of digital citizenship at school, parents build and reinforce these concepts with their children at home.\u003c/span\u003e\u003c/p\u003e\u003cblockquote class=\"editor-quote\" dir=\"ltr\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigital citizenship isn't just about recognizing and dealing with online hazards. It's about building safe spaces and communities, [having students] understand how to manage personal information, and about being Internet savvy -- using your online presence to grow and shape your world in a safe, creative way, and inspiring others to do the same.\u0026nbsp;\u003c/span\u003e\u003cbr\u003e\u003ca href=\"http://www.digizen.org/\" target=\"_blank\" class=\"editor-link\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigizen.org\u003c/span\u003e\u003c/a\u003e\u003c/blockquote\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eHillhurst School recognizes that our students and their families use digital technologies at home, at work, and for social purposes. Digital technologies have also become an integral part of our school program - for research, for communication, and for production of print, online, and multimedia demonstrations of learning. At school we model and teach safe, ethical, appropriate and responsible online behaviour and monitor student use of digital resources.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eIn some circumstances, parents will be consulted regarding students bringing their own digital devices to school for connection to our wireless network. This will only be done for specific educational purposes, and will be subject to the same digital citizenship expectations as for CBE equipment.\u003c/span\u003e\u003c/p\u003e\u003chr\u003e\u003ch2 class=\"editor-heading-h2\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eDigital Citizenship Plan\u003c/span\u003e\u003c/h2\u003e\u003ch5 class=\"editor-heading-h5\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eView our:\u003c/span\u003e\u003cie-document data-lexical-document-id=\"75f423a3-a230-480a-addb-d97835905c38\"\u003e\u003c/ie-document\u003e\u003c/h5\u003e\u003cie-fragment data-lexical-content-fragment=\"df2d8810-8509-4f5f-a877-9e12e414eb94\" data-id=\"df2d8810-8509-4f5f-a877-9e12e414eb94\"\u003e\u003c/ie-fragment\u003e"}},"pageQuicklinks":[],"related":[]},"media":{"ID":"3796e855-5744-5e87-9f78-ee145282a767","CreatedAt":"2024-01-16T20:55:53.449072Z","CreatedBy":"45f06f48-a93c-414e-b9a0-7582e0abc085","UpdatedAt":"2025-12-17T00:23:43.485876Z","UpdatedBy":"45f06f48-a93c-414e-b9a0-7582e0abc085","Active":true,"FilenameExt":"162be850-471c-4ec6-a05f-371a73b13c90_IMG_1157.jpg","Locator":"s3r://ca-central-1/contentmanagement-production/96bee624-a07c-4913-a51e-1c1247aa3590/full/3796e855-5744-5e87-9f78-ee145282a767_full?versionId=v1base64","Type":"image","Hash":"Bc8JdNq5a0qZNge88cGyoyQRC4pnP3w79uzBWwfoAZg=","ContentType":"image/jpeg","Extension":"jpg","FileSize":97279,"Width":808,"Height":390,"ARScore":105,"Text":"","Polygons":null,"ProcessedAt":"2025-12-17T00:23:34.02039Z","KeywordsProcessedAt":null,"Log":{"Retries":0,"KeywordRetries":0,"Log":[{"Time":"2025-12-17T00:23:34.02034267Z","Error":"FileSize mismatch: stored=129731, tika=97279; updating to Tika value"}],"KeywordsLog":null},"Sites":["56112f65-05b9-4742-a031-4660c9e66df5","6a3f322f-c5f4-45fe-8c04-90879d08cbf0","8cf24339-01e6-40ed-a33c-7d82a6e61de3","40d49a16-2feb-4898-a7d5-14d036b9d0a0","2d08bd44-1c7f-4282-9ffe-7b058da6c99d","d86c80cc-ea62-472e-ab61-a32fa32585be","8631fa3c-afd4-4c28-b2ce-183e2915ece3","c9a24e9f-39db-4102-bb8d-4f3a0d506a8c"],"DepartmentID":null,"PrivacyLevel":0,"PublishAt":"2024-01-16T20:55:53.449072Z","ExpireAt":null,"ObsoleteAt":null,"Title":"162be850-471c-4ec6-a05f-371a73b13c90_IMG_1157","Filename":"162be850-471c-4ec6-a05f-371a73b13c90_IMG_1157","FolderID":"00000000-0000-0000-0000-000000000002","Keywords":null,"Description":"","Tags":[],"Meta":null,"Settings":null,"StructureKey":null,"Data":null,"DataText":"","CropIDs":null,"DirtyCropIDs":null,"Folder":null}},{"id":"fbe4374b-5b0b-4eae-9659-f9a4ef295e38","type":"css","owner":"56258bb7-c9f3-416d-b2a8-a6265e30f3c9","publisher":"76de2e60-a3fd-413c-b774-4babb08889c5","title":"css/global.css","content":"*,\n*:after,\n*:before {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n\n.clearfix:before,\n.clearfix:after {\n  content: '';\n  display: table;\n}\n\n.clearfix:after {\n  clear: both;\n}\n\n.display-inline * {\n  display: inline-block;\n}\n\n.aria-hide {\n  display: none;\n}\n\n.visually-hidden:not(:focus):not(:active) {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip-path: inset(50%);\n  white-space: nowrap;\n  border: 0;\n}\n\n#skip a {\n    position: absolute;\n    left: -10000px;\n    top: auto;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n}\n\n#skip a:focus {\n    position:static;\n    width:auto;\n    height:auto;\n}\n\n/* Variables */\n:root {\n\t--primary-color-1: {{jsonRender Site.Settings \"primaryColor1\"}};\n\t--primary-color-1a: {{jsonRender Site.Settings \"primaryColor1\"}}80; /* 50% opacity*/\n\t--primary-color-2: {{jsonRender Site.Settings \"primaryColor2\"}};\n\t--primary-color-2a: {{jsonRender Site.Settings \"primaryColor2\"}}33; /* 20% opacity*/\n\t--primary-color-3: {{jsonRender Site.Settings \"primaryColor3\"}};\n\t--primary-color-4: {{jsonRender Site.Settings \"primaryColor4\"}};\n\t--highlight-color: {{jsonRender Site.Settings \"highlightColor\"}};\n\t--highlight-color-2: {{jsonRender Site.Settings \"highlightColor2\"}};\n\t--link-color: {{jsonRender Site.Settings \"linkColours\"}};\n\t--link-color-2: {{jsonRender Site.Settings \"linkColor2\"}};\n\t--link-hover-color: {{jsonRender Site.Settings \"linkHoverColours\"}};\n\t--link-hover-color-2: {{jsonRender Site.Settings \"linkHoverColor2\"}};\n\t--link-hover-color-3: {{jsonRender Site.Settings \"linkHoverColor3\"}};\n\t--top-nav-color: {{jsonRender Site.Settings \"topNavColor\"}};\n\t--top-nav-hover-color: {{jsonRender Site.Settings \"topNavHoverColor\"}};\n\t--quicklink-hover: {{jsonRender Site.Settings \"quickLinkHover\"}};\n\t--button-1: {{jsonRender Site.Settings \"button1\"}};\n\t--button-2: {{jsonRender Site.Settings \"button2\"}};\n\t--button-footer: {{jsonRender Site.Settings \"footerButton\"}};\n\t--btn-primary: #00adda;\n\t--btn-hover: #005f78;\n\t--heading-color-2: #FFFFFF;\n\t--dark-font-color: #000000;\n\t--light-font-color: #fff;\n\t--dark-grey: #666666;\n\t--medium-grey: #F0F0F0;\n\t--light-grey: #F8F8F8; \n\t--black: #000000;\n\t--beige: #F5EFE2;\n\t--body-font: 'Roboto', sans-serif;\n\t--font-regular: 400;\n\t--font-medium: 500;\n\t--font-semibold: 600;\n\t--font-bold: 700;\n\n\t/* 15% opacity */\n\t--principals-message-15: #88C7E226;\n\t--clubs-15: #2D95FC26;\n\t--weekly-update-15: #7A6FE326;\n\t--performance-15: #AAA3CF26;\n\t--no-school-15: #E90C8E26;\n\t--well-being-15: #EC8EAB26;\n\t--school-council-15: #FF643D26;\n\t--culture-15: #D8AC5D26;\n\t--meeting-15: #A8877B26;\n\t--off-site-activity-15: #6E8E6126;\n\t--academic-15: #8CC34A26;\n\t--parent-society-15: #438AA826;\n\t--athletics-15: #34B1B926;\n}\n\n/* background-colors */\n.bg-light-grey {\n\tbackground: #F8F8F8;\n}\n\n.bg-medium-grey {\n\tbackground-color: var(--medium-grey);\n}\n\n.bg-dark-grey {\n\tbackground: #666666;\n\tcolor: white;\n}\n\n.bg-black {\n\tbackground: #000000!important;\n\tcolor: white;\n}\n\n.bg-blue {\n\tbackground: #03ADDB!important;\n\tcolor: white;\n}\n\n.bg-beige {\n\tbackground: var(--beige);\n}\n\n.bg-light-blue {\n    background-color: #D4E1E4;\n}\n\n.bg-light-blue-2 {\n    background-color: #CFEFF7;\n}\n\n.bg-light-orange {\n    background-color: #F2E1CB;\n}\n\n.bg-light-purple {\n    background-color: #E5E1E8;\n}\n\n.bg-purple {\n\tbackground: #64308F!important;\n\tcolor: white;\n}\n\n.bg-link {\n\tbackground: var(--link-color);\n\tcolor: white;\n}\n\n.bg-primary-1 {\n\tbackground: var(--primary-color-1);\n\tcolor: white;\n}\n\n.bg-primary-1a {\n\tbackground: var(--primary-color-1a);\n\tcolor: white;\n}\n\n.bg-primary-2 {\n\tbackground: var(--primary-color-2);\n\tcolor: white;\n}\n\n.bg-primary-3 {\n\tbackground: var(--primary-color-3);\n\tcolor: white;\n}\n\n.bg-primary-1 h2, \n.bg-primary-2 h2,\n.bg-primary-3 h2 {\n\tcolor: white!important;\n}\n\n.bg-primary-2 a:not(.btn),\n.bg-primary-3 a:not(.btn) {\n\tcolor: var(--link-color-2)!important;\n}\n\n.bg-primary-2 a:not(.btn):hover,\n.bg-primary-2 a:not(.btn):focus,\n.bg-primary-3 a:not(.btn):hover,\n.bg-primary-3 a:not(.btn):focus{\n\tcolor: var(--link-hover-color-2)!important;\n}\n\n.bg-highlight {\n\tbackground: var(--highlight-color);\n}\n\n.bg-highlight-2 {\n\tbackground: var(--highlight-color-2);\n\tcolor: white;\n}\n\n.bg-lightblue {\n    background-color: #CCE6F5!important;\n}\n\n.bg-lightgrey {\n    background-color: #EDEEF1!important;\n}\n\n.bg-transparent {\n    background-color: transparent!important;\n}\n\n.bg-lightgreen {\n    background-color: #EAEFEB!important;\n}\n\n.bg-lightpurple {\n    background-color: #EAE6ED!important;\n}\n\n.bg-lightbrown {\n    background-color: #E0DCD3!important;\n}\n\n.bg-lightteal {\n    background-color: #E9F4FA!important;\n}\n\n.bg-navy {\n    background-color: #01576E!important;\n    color: white;\n}\n\n.bg-navy .showcase-button-prev, \n.bg-navy .showcase-button-next {\n    background-color: #fff;\n}\n\n.bg-navy .showcase-buttons i {\n    color: #01576E;\n}\n\n.bg-colour {\n    padding-top: 2rem;\n    padding-bottom: 2rem;\n}\n\n.less-gap {\n    margin-left: -.5rem;\n    margin-right: -.5rem;\n}\n\n.less-gap \u003e div,\n.less-gap \u003e article {\n    padding-left: .5rem;\n    padding-right: .5rem;\n}\n\n/* Borders */\n.border-grey {\n    border: 2px solid var(--medium-grey);\n}\n.bborder-green {\n    border-bottom: 6px solid #008B46;\n}\n.bborder-navy {\n    border-bottom: 6px solid #004987;\n}\n.bborder-pink {\n    border-bottom: 6px solid #AA258D;\n}\n.bborder-teal {\n    border-bottom: 6px solid #0099A8;\n}\n.bborder-brown {\n    border-bottom: 6px solid #996633;\n}\n.bborder-blue {\n    border-bottom: 6px solid #0AADDB;\n}\n.bborder-orange {\n    border-bottom: 6px solid #F7941D;\n}\n.bborder-purple {\n    border-bottom: 6px solid #64308F;\n}\n\n/* Quicklinks colour palette */\n.bg-cbeblue {\n    background: #00ADDA!important;\n}\n.bg-denim {\n    background: #004987!important;\n}\n.bg-pride {\n    background: #64308F!important;\n}\n.bg-cosmetology {\n    background: #AA258D!important;\n}\n.bg-graduation {\n    background: #990033!important;\n}\n.bg-fireball {\n    background: #C7111F!important;\n}\n.bg-juicebox {\n    background: #F28726!important;\n}\n.bg-saddle {\n    background: #996633!important;\n}\n.bg-autumn {\n    background: #cc9933!important;\n}\n.bg-schoolbus {\n    background: #ffcc00!important;\n}\n.bg-springbreak {\n    background: #AFD622!important;\n}\n.bg-grassstain {\n    background: #008846!important;\n}\n\n.bg-cbeblue .quicklink-icon,\n.bg-blue .quicklink-icon {\n    color: #00ADDA!important;\n}\n.bg-purple .quicklink-icon  {\n    color: #64308F!important;\n}\n.bg-denim .quicklink-icon {\n    color: #004987!important;\n}\n.bg-pride .quicklink-icon {\n    color: #64308F!important;\n}\n.bg-cosmetology .quicklink-icon {\n    color: #AA258D!important;\n}\n.bg-graduation .quicklink-icon {\n    color: #990033!important;\n}\n.bg-fireball .quicklink-icon {\n    color: #C7111F!important;\n}\n.bg-juicebox .quicklink-icon {\n    color: #F28726!important;\n}\n.bg-saddle .quicklink-icon {\n    color: #996633!important;\n}\n.bg-autumn .quicklink-icon {\n    color: #cc9933!important;\n}\n.bg-schoolbus .quicklink-icon {\n    color: #ffcc00!important;\n}\n.bg-springbreak .quicklink-icon {\n    color: #AFD622!important;\n}\n.bg-grassstain .quicklink-icon {\n    color: #008846!important;\n}\n.bg-black .quicklink-icon{\n\tcolor: #000000!important;\n}\n\n/* Text Colour */\n.primary-2 {\n\tcolor: var(--primary-color-2);\n}\n\n.link-color {\n\tcolor: var(--link-color);\n}\n\n/* TYPOGRAPHY\nUsing the Perfect Fifth factor from https://www.gridlover.net/try\n*/\nhtml {\n  font-size: 16px;\n  line-height: 21px;\n  scroll-behavior: smooth;\n}\n\n@media (min-width: 99em){\n\thtml {\n\t  font-size: calc(12px + 0.390625vw);\n\t}\n}\n\n@media (min-width: 125em){\n\thtml {\n\t  font-size: calc(15px + 0.390625vw);\n\t}\n}\n\n@media (min-width: 2560px){\n\thtml {\n\t  font-size: 25px;\n\t}\n}\n\nbody {\n  max-width: 2560px;\n  padding: 0;\n  margin: 0 auto;  \n  font-family: var(--body-font);\n  font-weight: 400;\n  font-style: normal;\n  font-size: 1rem;\n  line-height: 1.4;\n  color: var(--dark-font-color);\n}\n\n\nh1, .h1 {\n  font-weight: var(--font-bold);\n  font-style: normal; \n  font-size: 3.25rem;\n  margin-top: 1.3125rem;\n  margin-bottom: 2.625rem;\n}\n\n\nh2, .h2{\n  font-size: 2rem;\n  margin-top: 1.3125rem;\n  margin-bottom: 1.3125rem;\n}\n\nh3, .h3{\n  font-size: 1.375rem;\n  margin-top: 1rem;\n  margin-bottom: 0.75rem;\n}\n\n.page-content h3 {\n\tfont-size: 1.5rem;\n}\n\nh4, .h4 {\n  font-size: 1.2rem;\n  margin-top: 1.3125rem;\n  margin-bottom: 0.75rem;\n}\n\nh5, .h5 {\n  font-size: 1.1rem;\n  margin-top: 1.3125rem;\n  margin-bottom: 0.75rem;\n}\n\n.text-large {\n\tfont-size: 1.1rem;\n}\n\n.editor-layoutItem :first-child {\n\tmargin-top: 0;\n}\n\n@media all and (max-width: 62em){\n\th1, .h1 {\n\t\tfont-size: 2rem;\n\t}\n\t\n\th2, .h2 {\n\t\tfont-size: 1.5rem;\n\t\tmargin: 1rem 0;\n\t}\n\t\n\th3, .h3, .page-content h3 {\n\t\tfont-size: 1.375rem;\n\t\tmargin: 1rem 0;\n\t}\n}\n\n.editor-text-italic {\n\tfont-size: 1em;\n}\n\n/* Font size within main content */\n.resize-text h1 {\n  font-size: 3.25em;\n}\n\n.resize-text h2 {\n  font-size: 2em;\n}\n\n.resize-text h3 {\n  font-size: 1.375em;\n}\n\n.resize-text h4 {\n    font-size: 1.2em;\n}\n\n.resize-text h5{\n  font-size: 1.1em;\n}\n\n@media all and (max-width: 62em){\n\t.resize-text h1 {\n\t\tfont-size: 2em;\n\t}\n\t\n\t.resize-text h2 {\n\t\tfont-size: 1.5em;\n\t}\n}\n\np, ul, ol, pre, blockquote {\n  margin-top: 0rem;\n  margin-bottom: 1.3125rem;\n}\n\nul ul, ol ol, ul ol, ol ul {\n  margin-top: 0rem;\n  margin-bottom: 0rem;\n}\n\nh1 + h2 {\n  margin-top: 0;\n}\n\np {\n\tline-height: 1.5;\n}\n\nhr {\n\tborder: 0;\n    height: 1px;\n    background-color: #e6e6e6;\n\tmargin: 2rem 0;\t\n\tclear: both;\n}\n\nimg {\n\theight: auto;\n\tmax-width: 100%;\t\n\tobject-fit: cover;\n\tdisplay: block;\n}\t\n\na {\n  text-decoration: none;\n}\n\nblockquote {\n\tbackground: var(--light-grey);\n    border-left: 5px solid var(--primary-color-2);\n\tpadding: 2rem; \n\tmargin: 1rem;\n    position: relative;\n    font-weight: 300;\n\toverflow: hidden;\n}\n\nblockquote p:last-of-type {\n\tmargin-bottom: 0;\n}\n\nul {\n\tpadding-left: 0;\n\tlist-style: none;\n}\n\nsvg {\n\tmargin-top: -1px;\n}\n\nstrong {\n\tfont-weight: var(--font-bold);\n}\n\nsection {\n\tmargin-bottom: 2rem;\n}\n\nfigcaption {\n    font-weight: var(--font-medium);\n    font-size: .85rem;\n    color: var(--dark-grey);\n    text-align: left;\n}\n\nfigure {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.allow-newlines {\n  white-space: pre-wrap;\n}\n\n.no-padding {\n  padding: 0;\n}\n\n.no-margin {\n\tmargin: 0;\n}\n\n.mt0 {\n\tmargin-top: 0!important;\n}\n\n.mb0 {\n\tmargin-bottom: 0!important;\n}\n\n.auto-margin {\n\tmargin: auto;\n}\n\n.flex-row {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: .5rem;\n}\n\n.flex-row-between {\n    display: flex;\n\tflex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n}\n\n.flex-column-center {\n\tdisplay: flex;\n\tjustify-content: center;\n\tflex-direction: column;\n}\n\n.flex-column-between {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-direction: column;\n}\n\n.content-inner ul,\n.content ul {\n\tpadding-left: 1.2rem;\n\tlist-style: unset;\n}\n\n.content {\n\twidth: 100%;\n}\n\n.wrapper {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n.content-wrapper {\n\tposition: relative;\n\twidth: 100%;\n}\n\n.font-bold {\n\tfont-weight: var(--font-bold);\n}\n\n.font-medium {\n\tfont-weight: var(--font-medium);\n}\n\n.align-right {\n\tmargin-left: auto;\n}\n\n.text-center {\n\ttext-align: center;\n}\n\n.text-shadow {\n\ttext-shadow: 0px 3px 6px #00000029;\n}\n\n.box-shadow {\n\tbox-shadow: 0px 3px 15px #00000029;\n}\n\n.block-center {\n\tmargin-left: auto;\n\tmargin-right: auto;\n\twidth: fit-content;\n}\n\n@media all and (min-width: 75em){\n\t.wrapper {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t}\n\t\n\t.full-container {\n\t\tpadding: 0 2rem;\n\t}\n\t\n\n\tblockquote {\n\t \tpadding: 2rem\n\t}\n}\n\n\n/* Layout */\n.content-container,\n.container.pad-side {\n\tpadding: 0 1rem;\n}\n\n.container.pad-side {\n\tmargin: 0 1rem;\n}\n\n.content-container \u003e .row {\n\trow-gap: 1rem;\n}\n\n@media all and (min-width: 48em){\n\t.content-container,\n\t.container.pad-side {\n\t\tpadding: 0 5%;\n\t\twidth: auto;\n\t}\n}\n\n@media all and (min-width: 62em){\n\t.content-container,\n\t.container.pad-side {\n\t\tpadding: 0 10%;\n\t}\n\t\n\t/*.page-template.content-container {\n\t\tpadding: 0 10%;\n\t}*/\n\t\n\t.container.pad-side {\n\t\tmargin-top: 3rem;\n\t}\n}\n\n/* Search Results */\n.container.pad-side \u003e .row \u003e h1 {\n\twidth: 100%;\n}\n.search-results {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 1rem;\n}\n\n.search-result {\n\tborder: 1px dashed #c3c3c3;\n\tpadding: 1rem 1rem 0;\n\tflex-basis: 100%;\n\tmax-width: 100%;\n}\n\n.search-result a {\n\tdisplay: flex;\n\tcolumn-gap: 1rem;\t\n\tcolor: var(--dark-font-color);\n}\n\n.search-description strong {\n\tcolor: var(--accent-1)\n}\n\n.error-page-container .input-buttons {\n\tmargin: auto;\n}\n\n/* show and hide on different screen sizes */\n.mobile-only {\n\tdisplay: block;\n}\n\n.desktop-only {\n\tdisplay: none;\n}\n\n@media all and (min-width: 75em){\n\t.desktop-only {\n\t\tdisplay: block;\n\t}\n\t.mobile-only {\n\t\tdisplay: none;\n\t}\n}\n\n/* BUTTON \u0026 LINKS */\na {\n  \ttransition: all .3s ease-in-out; \n\tcolor: var(--link-color);\n}\n\na:hover,\na:focus {\n\tcolor: var(--link-hover-color);\n}\n\n.link-hover-2:hover,\n.link-hover-2:focus {\n\tcolor: var(--link-hover-color-2);\n}\n\n.link-hover-3:hover,\n.link-hover-3:focus {\n\tcolor: var(--link-hover-color-3);\n}\n\n\n.btn {\n\tbackground: var(--link-color);\n    color: var(--light-font-color);\n    padding: 0.65rem 1.5rem;\n    font-weight: var(--font-medium);\n    font-size: 1rem;\n    border-radius: 5px;\n    margin-top: 1rem;\n    display: block;\n    width: fit-content;\n    transition: all .3s ease-in-out;\n}\n\n.btn.smaller {\n\tfont-size: .85rem;\n    padding: 0.5rem 1rem;\n}\n\n.btn-primary {\n    background: var(--primary-color-1);\n\tcolor: white!important;\n}\n\n.btn-secondary {\n    background: var(--primary-color-2);\n\tcolor: white!important;\n}\n\n.btn-link-color {\n    background: var(--link-color);\n\tcolor: white!important;\n}\n\n.btn-black {\n\tbackground: #000000;\n\tcolor: white!important;\n}\n\n.btn-red {\n\tbackground: #9A0235;\n\tcolor: white!important;\n}\n\n.btn-footer {\n\tbackground: var(--button-footer);\n\tcolor: white!important;\n}\n\n.btn-link {\n\tpadding: 0;\n\tfont-weight: var(--font-semibold);\n}\n\n.btn-center {\n    margin-left: auto;\n    margin-right: auto;\n}\n\n.btn-link-secondary {\n\tcolor: #fff;\n}\n\n.btn-1 {\n    background: var(--button-1);\n\tcolor: white!important;\n}\n\n.btn-2 {\n    background: var(--button-2);\n\tcolor: white!important;\n}\n\n.btn:hover,\n.btn:focus {\n\tbox-shadow: inset 0 0 0 5em rgba(255, 255, 255, 0.3)!important\n}\n\n@media (min-width: 99em){\n\t.btn {\n\t\tfont-size: .9rem;\n\t}\n}\n\n/* Google Translate*/\n#google_translate_element {\n\tmargin-top: 2rem;\n}\n\n#google_translate_element img {\n\tdisplay: inline-block;\n}\n\n.goog-te-gadget .goog-te-combo {\n\tmargin: 0 0 1rem!important;\n\tpadding: 0.75rem;\n    border: none;\n\tborder-right: 0.5rem solid #fff;\n    font-weight: var(--font-medium);\n\twidth: 100%;\n}\n\n.goog-te-gadget,\n.VIpgJd-ZVi9od-l4eHX-hSRGPd,\n.VIpgJd-ZVi9od-l4eHX-hSRGPd:visited {\n    color: white!important;\n}\n\n/* INPUT FIELDS */\ninput:-webkit-autofill,\ninput:-webkit-autofill:focus,\ntextarea:-webkit-autofill,\ntextarea:-webkit-autofill:focus,\nselect:-webkit-autofill,\nselect:-webkit-autofill:focus {\n  border: none;\n  -webkit-text-fill-color: none;\n  -webkit-box-shadow: 0 0 0px 1000px #fff inset;\n}\n\n.input-field input[type=\"text\"], .input-field input[type=\"password\"], \n.input-field input[type=\"date\"], .input-field input[type=\"tel\"], \n.input-field input[type=\"email\"], .input-field input[type=\"url\"], \ntextarea {\n    width: 100%;\n    box-sizing: border-box;\n    border: solid 1px #e4e4e4;\n    transition: 0.5s;\n\tpadding: .5rem;\n}\n\ntextarea {\n\tmin-height: 200px;\n}\n\ninput[type=\"submit\"] {\n    font-weight: bold;\n    background: var(--btn-primary);\n    color: white;\n\tborder-radius: 5px;\n    border: 0;\n    cursor: pointer;\n    padding: .5rem 1.5rem;\n    -webkit-transition: all .2s ease-in-out;\n    -moz-transition: all .2s ease-in-out;\n    -ms-transition: all .2s ease-in-out;\n    -o-transition: all .2s ease-in-out;\n    transition: all .2s ease-in-out;\n}\n\ninput[type=\"submit\"]:hover,\ninput[type=\"submit\"]:focus {\n\tcolor: var(--btn-hover);\n}\n\n.input-field {\n\tmargin-bottom: 1rem;\n}\n\n.input-field label {\n    margin-bottom: .5rem;\n    display: block;\n}\n\n.input-buttons {\n    font-weight: var(--font-bold);\n    margin-top: 1rem;\n    display: block;\n\twidth: fit-content;\t\n\tcolor: var(--light-font-color);\n    background: var(--accent-1);\n}\n\n.cbe-form label {\n\tfont-weight: var(--font-semibold);\n}\n\n.cbe-form .star {\n\tcolor: #cc0000;\n}\n\n.cbe-form fieldset {\n\tpadding: 0;\n    border: none;\n}\n\n.cbe-form fieldset legend {\n\tfont-size: 1rem;\n\tmargin-bottom: .5rem\n}\n\n.error-message {\n\tfont-size: .9rem;\n\tcolor: var(--dark-grey);\n}\n\n/* Alerts */\n.banner-alert-wrapper {\n\ttop: var(--main-top-xs);\n\tfont-size: 1rem;\n}\n\n.alert-btn {\n    margin: auto;\n}\n\n.popupContent .btn {\n    margin: auto;\n}\n\n#popup-container .row {\n    row-gap: 1.5rem;\n}\n\n@media (min-width: 75em){\n\t.banner-alert-wrapper {\n\t\ttop: var(--main-top-lg);\n\t}\n}\n\n/* Table Styles */\n.editor-table-wrapper {\n\twidth: 100%;\n\toverflow-x: auto;\n}\n\n.table,\n.editor-table {\n  margin: 0 0 2rem;\n  overflow-x: auto;\n  box-shadow: 0px 5px 10px rgb(0 0 0 / 10%);\n}\n\n.table thead th a {\n\tcolor: white;\n}\n\n.table th a:hover,\n.table th a:focus,\n.editor-table th a:hover,\n.editor-table th a:focus{\n\ttext-decoration: underline;\n}\n\n.table.bell-schedule {\n\tbox-shadow: none;\n}\n\n.table table,\n.editor-table {\n  border-radius: 5px;\n  font-weight: normal;\n  border: none;\n  border-collapse: collapse;\n  width: 100%;\n  max-width: 100%;\n  white-space: normal;\n  background-color: white;\n}\n\n.table table td, \n.table table th,\n.editor-table td,\n.editor-table th,\ntable td,\ntable th {\n    padding: 15px 15px;\n\twidth: auto!important;\n\tfont-size: .9rem;\n}\n\n.table table td,\n.editor-table td {\n  border-right: 1px solid #F7F6F4;\n  width: auto!important;\n}\n\n.table table td:last-of-type,\n.editor-table td:last-of-type{\n  border-right: 0;\n}\n\n.table table thead th {\n  color: #ffffff;\n  background: var(--primary-color-2);\n}\n\n.table table thead th \u003e * {\n  color: #ffffff;\n}\n\n.table table thead th:nth-child(even) {\n  color: #ffffff;\n  background: var(--primary-color-1);\n}\n\n.table table tr:nth-child(odd) {\n  background: #f1f1f1;\n}\n\n.table h3,\n.editor-table h3 {\n\tmargin: .5rem 0;\n}\n\n.table img,\n.editor-table img {\n\twidth: auto;\n}\n\ntable td p:last-of-type {\n\tmargin-bottom: 0;\n}\n\n.editor-tableCell {\n\tborder-color: var(--medium-grey)!important;\n}\n\n@media (max-width: 48em) {\n\t.editor-table {\n\t\ttable-layout: auto!important;\n\t}\n}\n\n/* Responsive Iframe for Embed Videos */\n.responsive-iframe {\n\tposition: relative;\n\twidth: 100%;\n    height: 0;\n    padding-bottom: 56.25%;\n}\n\n.embedly-card-hug {\n\tposition: relative!important;\n    padding-bottom: 56.25%!important;\n    height: 0;\n    max-width: 100%!important;\n}\n\n.embedly-card-hug iframe,\n.responsive-iframe iframe {\n\twidth: 100%;\n    height: 100%;\n    border: none;\n    position: absolute!important;\n    min-height: unset;\n}\n\n/* Search bar */\n#search-button, \n.search-bar-wrapper label {\n\tdisplay: none;\n}\n\n#search-button {\n\tdisplay: block;\n}\n\n.search-form .input-field,\n.search-form-2 .input-field {\n\tposition: relative;\n\tmargin: 0;\n}\n\n.search-form {\n    position: relative;\n}\n\n#search-term, \n.desktop-only .input-field input[type=\"text\"].search-box {\n\tborder: none;\n\tbackground: var(--light-grey);\n\tpadding: .65rem .75rem;\n    font-size: .9rem;\n}\n\n.search-bar-wrapper {\n\tmargin: 0;\n}\n\n.search-bar-wrapper i {\n\tcolor: var(--dark-font-color);\n\tposition: absolute;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\tleft: .5rem;\n}\n\n.search-form .filter-icon {\n    color: var(--dark-font-color)!important;\n}\n\n.search-button {\n    position: absolute;\n    left: auto;\n    right: .75rem;\n\ttop: 50%;\n    transform: translateY(-50%);\n    cursor: pointer;\n    color: white;\n    font-size: 24px;\n    appearance: none;\n    border: none;\n    padding: 0;\n    width: 24px;\n}\n\n/* Search filters */\n.search-bar-wrapper .filter-icon {\n    position: absolute;\n    left: auto;\n    right: 32px;\n    cursor: pointer;\n    color: white;\n    font-size: 24px;\n}\n\n.search-bar-wrapper .search-icon {\n    position: absolute;\n    left: .5rem;\n    color: white;\n    font-size: 24px;\n}\n\n.search-row {\n    display: flex;\n    align-items: center;\n    flex-grow: 1;\n    width: 100%;\n    margin-bottom: 0;\n}\n\n.search-filters {\n    display: none;\n    padding: 10px;\n    position: absolute;\n    z-index: 100;\n    background: var(--light-grey);\n    border-radius: 0 0 5px 5px;\n    width: 100%;\n}\n\n.search-filter-group {\n    margin: 0 0 .5rem;\n    display: flex;\n    gap: 0.5rem;\n}\n\n.filter-group:last-of-type {\n    margin: 0;\n}\n\n.search-bar-wrapper .search-filters label {\n    display: block;\n    color: white;\n    font-size: .9rem;\n}\n\n.search-form .search-filters label {\n    color: var(--dark-font-color);\n}\n\n#exclude-search-term {\n    font-size: .85rem;\n    margin-bottom: 0;\n    background-color: white;\n}\n\n.search-event-form .input-field input[type=\"text\"] {\n    border: none;\n    background: var(--light-grey);\n    padding: .65rem .75rem;\n    font-size: .9rem;\n}\n\n/* Header */\nheader {\n\tz-index: 20;\n    position: sticky;\n    top: 0;\n    left: 0;\n    right: 0;\n    background: white;\n}\n\n.nav-app-wrapper {\n    display: flex;\n\tflex-wrap: wrap;\n    justify-content: flex-end;\n\talign-items: center;\n    gap: 1.5rem;\n    padding: 0.75rem 2rem;\n}\n\n.nav-app-wrapper a {\n\tcolor: var(--dark-font-color);\n\tfont-size: .85rem;\n}\n\n.district-logo {\n\tdisplay: block;\n    width: auto;\n    max-height: 45px;\n    object-fit: contain;\n}\n\n.district-link {\n\tdisplay: block;\n}\n\n.district-link .district-logo {\n\twidth: 100%;\n}\n\n.nav-wrapper {\n\tposition: relative;\n    background: var(--primary-color-1);\n    color: var(--top-nav-color);\n    display: flex;\n    align-items: center;\n\tjustify-content: space-between;\n\tpadding: 0 2rem;\n\tgap: 6rem;\n\theight: 5.5rem;\n}\n\n.nav-apps {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n}\n\n.site-title-wrapper {\n    display: flex;\n    align-items: center;\n\tcolor: white;\n}\n\n.site-logo-wrapper {\n    margin-right: 1rem;\n}\n\n.site-title:hover,\n.site-title:focus {\n\tcolor: var(--top-nav-hover-color)\n}\n\n.site-logo {\n\theight: 7rem;\n\tobject-fit: contain;\n\twidth:auto;\n\tposition: relative;\n    z-index: 10;\n}\n\n.site-title {\n\tcolor: white;\n}\n\n.home .site-title h1,\n.site-title h1 {\n\tfont-weight: var(--font-regular);\n\tline-height: 1.1;\n\tfont-size: 1.5rem;\n\tmargin-bottom: 0.25rem;\n}\n\n.school-motto {\n\tfont-size:.8rem; \n\toverflow: hidden;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 1;\n\t-webkit-box-orient: vertical;\n}\n\n\n.nav-subtitle {\n    font-size:.7rem; \n\tcolor:#ccc;\n\tmargin-top:.1rem;\n}\n\n.nav-title {\n\tfont-weight: var(--font-medium);\n\tfont-size: 1rem;\n}\n\n.nav-subtitle {\n\tmargin-top: .15rem;\n\tcolor: white;\n\topacity: .9;\n}\n\n.nav-primary {\n\tdisplay: none;\n}\n\n.main-nav-ul {\n    display: flex;\n    gap: 1.5rem;\n\tmargin-bottom: 0;\n\theight: 100%;\n}\n\n.main-nav-ul a {\n\tcolor: var(--top-nav-color);\n\ttext-align: center;\n}\n\n.main-nav-ul a:hover,\n.main-nav-ul a:focus {\n\tfilter: none;\n\tcolor: var(--top-nav-hover-color);\n}\n\n.main-dropdown \u003e .nav-link {\n\talign-items: flex-start;\n}\n\n/* Sticky header */\n/* .nav-wrapper, */\n.nav-title,\n.nav-subtitle,\n.site-logo {\n\ttransition: all .2s;\n}\n\n.home .site-title h1, \n.site-title h1{\n\ttransition: font-size .2s;\n}\n\nheader.sticky-active .nav-title {\n\tfont-size: .9rem;\n}\n\nheader.sticky-active .nav-subtitle {\n\tfont-size: .65rem;\n}\n\nheader.sticky-active .home .site-title h1,\nheader.sticky-active .site-title h1 {\n\tfont-size: 1.1rem;\n}\n\n/*header.sticky-active .nav-wrapper {\n\theight: 5rem;\n}*/\n\nheader.sticky-active .site-logo {\n\theight: 3.5rem;\n}\n\n@media(min-width: 62em){\n\t.site-logo {\n\t\theight: 8rem;\n\t}\n\t\n\t.nav-close {\n\t\tdisplay: none;\n\t}\n}\n\n@media (min-width: 75em){\n\t.nav-wrapper {\n\t\tpadding: 0 3rem;\n\t\tjustify-content: flex-start;\n\t}\n\t\n\t.nav-primary {\n\t\tdisplay: block!important;\n\t\theight: 100%;\n\t}\n\t\n\t.nav-hamburger,\n\t.nav-link-icon {\n\t\tdisplay: none;\n\t}\n\t\n\t.site-title-wrapper {\n\t\tposition: relative;\n\t}\n\t\n\t.site-logo-wrapper {\n\t\tz-index: 12;\n\t}\n}\n\n@media (min-width: 75em) and (max-width: 1320px) {\n\t.nav-wrapper {\n\t\tgap: 2rem;\n\t}\n}\n\n@media (min-width: 75em) and (max-width: 1350px) {\n\t.nav-wrapper {\n\t\theight: 6rem;\n\t}\n\t\n\t.site-logo {\n\t\theight: 9rem;\n\t}\n\n}\n\n@media (min-width: 75em) and (max-width: 1670px) {\n\t.home .site-title h1, .site-title h1 {\n\t\tfont-size: 1.2rem;\n\t}\n\t\n\t.site-title-wrapper {\n\t\tmax-width: 30%;\n\t}\n}\n\n@media (min-width: 1400px){\n\theader.sticky-active .nav-wrapper {\n\t\tgap: 10rem;\n\t}\n}\n\n/* Mega Menu */\n.subpage-ul {\n    position: absolute;\n    background: #f1f1f1;\n    color: var(--dark-font-color);\n    width: 100%;\n    left: 0;\n    right: 0;\n    z-index: 11;\n    top: 100%;\n}\n\n.subpage-ul \u003e .content-container {\n\tpadding: 1rem 15%;\n\t/*columns: 4;\n    column-fill: balance;*/\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 1rem;\n\tborder-bottom:2px solid var(--primary-color-1);\n\t/*border-top-width: 5px;\n  \tborder-top-style: solid;\n\tborder-image: linear-gradient(95deg, #FF4F00 0%, var(--primary-color-2) 50%, #FF4F00 100%) 1;*/\n}\n\n.subpage-ul a {\n\tdisplay: block;\n    color: var(--dark-font-color);\n    text-align: left;\n\tpadding: 3px 0;\n\tfont-size: .9rem;\n}\n\n.subpage-ul a:hover,\n.subpage-ul a:focus {\n    color: var(--link-hover-color);\n}\n\n.subpage-container.two-col .subpage-ul a {\n\tdisplay: inline-block;\n}\n\n/*.subpage-ul .landing-link {\n\tfont-weight: var(--font-medium);\n}*/\n\n.subpage-container {\n    display: flex;\n    gap: .5rem;\n\tmargin-bottom: 1.5rem;\n\t/*-webkit-column-break-inside: avoid;\n\tbreak-inside: avoid;*/\n\twidth: calc(25% - 0.75rem);\n}\n\n.subpage-container:last-of-type {\n\tmargin-bottom: 0;\n}\n\n.subpage-icon {\n    width: 2rem;\n}\n\n.subpage-icon i {\n\tfont-size: 1.4rem;\n\tcolor: var(--primary-color-2);\n\tmargin-top: 0.2rem;\n\twidth: 2rem;\n}\n\n@media(max-width: 1199px){\n\t.nav-wrapper {\n\t\tposition: unset;\n\t\tpadding: 0.5rem 1rem;\n    \theight: auto;\n\t\tgap: 1rem;\n\t}\n\t\n\t.site-logo {\n    \theight: auto;\n\t\twidth: 4.5rem;\n\t}\n\t\n\t.nav-primary {\n        display: none; \n\t\tposition: fixed;\n\t\tbackground: var(--light-grey);\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttop: 0;\n\t\tz-index: 11;\n\t\theight: 100dvh;\n\t}\n\t\n\t.nav-primary a {\n\t\tcolor: var(--dark-font-color);\n\t}\n\t\n\t.main-nav-ul {\n\t\tflex-direction: column;\n\t\tpadding: 0 1rem;\n\t\tgap: 1rem;\n\t\toverflow: auto;\n\t\theight: calc(100dvh - 56px - 58.4px - 76.99px);\n\t}\n\t\n\t.main-nav-ul a {\n\t\tcolor: var(--dark-font-color);\n\t\ttext-align: left;\n\t}\n\t\n\t.main-dropdown \u003e .nav-link {\n\t\tjustify-content: space-between;\n\t\tbackground: #eefbff; /*var(--beige)*/\n    \tpadding: 0.75rem;\n\t}\n\t\n\t.nav-link-icon {\n\t\tcolor: var(--dark-font-color);\n\t\ttext-align: right;\n    \tflex-grow: 1;\n\t}\n\t\n\t.nav-close {\n\t\tcolor: var(--dark-font-color);\n\t\twidth: fit-content;\n\t\tmargin: 0 0 0 auto;\n\t\tdisplay: block;\n\t}\n\t\n\t.subpage-ul {\n\t\tdisplay: none;\n\t\tposition: static;\n\t\tbackground: #eefbff; /*var(--beige)*/\n\t\tpadding: 0 .75rem;\n\t\tborder-top: 1px solid var(--primary-color-2);\n\t}\n\n\t.subpage-ul a {\n\t\tpadding: 6px 0;\n\t}\n\t\n\t.subpage-ul \u003e .content-container {\n\t\tborder: none;\n\t\tdisplay: block;\n\t\tpadding: 1rem 0;\n\t}\n\t\n\t.subpage-container {\n\t\twidth: 100%;\n\t}\n\t\n\t.search-bar-wrapper.desktop-only ,\n\t.district-logo.desktop-only,\n\t.cm-edit.desktop-only {\n\t\tdisplay: none;\n\t}\n\t\n\t.nav-app-wrapper {\n\t\tjustify-content: center;\n        gap: 0;\n\t}\n\t\n\t.nav-top.mobile-only {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tpadding: 1rem;\n\t}\n\t\n\t.nav-top .cm-logo {\n\t\twidth: 24px;\n\t\theight: auto;\n\t}\n\t\n\t.nav-header {\n\t\tpadding: 0 1rem 1rem;\n\t}\n\t\n\t#search-term, .input-field input[type=\"text\"].search-box {\n\t\tbackground: #eaeaea;\n\t\tpadding: 0.75rem;\n\t\tborder-radius: 5px;\n\t\tpadding-left: 2rem;\n\t}\n\n    .search-filters {\n        background: #eaeaea;\n    }\n\t\n\t.nav-subtitle {\n\t\tcolor: var(--dark-font-color);\n\t}\n\t\n\t.nav-footer {\n\t\tbackground: var(--link-color);\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tpadding: 0.75rem; /*1rem*/ \n\t}\n\t\n\t.nav-footer a {\n\t\tcolor: var(--light-font-color); /*var(--dark-font-color)*/\n\t\tfont-size: 1rem; /*.8rem*/\n\t}\n\t\n\t.nav-footer-links {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 0.5rem; /*0.25rem*/\n\t}\n\t\n\t.nav-footer-links i {\n\t\tfont-size: 1rem;\n\t}\n\t\n\t.nav-footer-district {\n\t\tdisplay: block;\n\t\twidth: 50%;\n\t}\n\t\n\t.nav-footer-district .district-logo {\n\t\tmargin-left: auto;\n\t}\n\t\n\t.subpage-ul \u003e .subpage-wrapper {\n\t\theight: auto!important;\n\t}\n\t\n\t.grid-sizer{\n\t  width: 100%;\n\t}\n\t\n\t.grid-item {\n\t\tposition: static!important;\n\t\tmargin-bottom: 1rem; /*.5rem*/\n\t}\n\t\n\t.subpage-container {\n\t\twidth: 100%;\n\t}\n\n\t.subpage-links {\n\t\twidth: 100%;\n\t}\n\t\n\t.subpage-link.active {\n\t\tfont-weight: var(--font-bold);\n\t}\n\n\t.subpage-link-row {\n\t\tjustify-content: space-between;\n\t}\n\n\t.sublevel-links {\n\t\tmargin-left: 1rem;\n\t\tdisplay: none;\n\t}\n\n\t.submenu-toggle {\n\t\tfont-size: 1.2rem;\n\t\tflex-grow: 1;\n        text-align: right;\n\t}\n}\n\n@media (max-width: 48em) {\n\t.nav-app-wrapper span {\n\t\tdisplay: none;\n\t}\n\t\n\t.school-motto {\n\t\tdisplay: none;\n\t}\n}\n\n@media (max-width: 400px) {\n\t.home .site-title h1, .site-title h1 {\n\t\tfont-size: 1rem;\n\t}\n\t.nav-footer {\n\t\tpadding: 1rem;\n\t}\n\t.nav-footer a {\n\t\tfont-size: 0.8rem;\n\t}\n}\n\n@media(min-width: 75em){\n\t.subpage-ul {\n\t\tdisplay: block!important;\n\t\ttransition: all .3s ease-in-out;\n\t\ttransition-delay: .2s;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: top;\n\t\topacity: 0;\n\t\tmax-height: 70vh;\n    \toverflow: auto;\n\t}\n\t\n\t.main-dropdown:hover .subpage-ul,\n\t.subpage-ul:hover {\n\t\ttransform: scaleY(1);\n\t\topacity: 1;\n\t}\n\t\n\t.search-icon {\n\t\tdisplay: none;\n\t}\n\t\n\t.subpage-container.two-col {\n\t\twidth: calc(50% - .75rem);\n\t}\n\t\n\t.subpage-container.two-col .subpage-links {\n\t\tcolumns: 2;\n\t\twidth: 100%;\n\t}\n\n\t.subpage-ul a:first-of-type {\n\t\tpadding-top: 0;\n\t\tmargin-top: 4px;\n\t}\n\n\t.subpage-ul a:last-of-type {\n\t\tpadding-bottom: 0;\n\t}\n\n\t.subpage-links {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 5px;\n\t\tline-height: 1.3;\n\t}\n\t\n\t/*.subpage-ul \u003e .content-container {\n\t\tdisplay: block; \n\t\tcolumn-count: 4;\n\t}*/\n\t\n\t/*.subpage-container {\n\t\tbreak-inside: avoid;\n\t\tpage-break-inside: avoid;\n    \t-webkit-column-break-inside: avoid;\n\t\twidth: 100%; \n\t}*/\n\t\n\t/*.subpage-container:nth-of-type(n+4) {\n\t  break-before: column;\n\t}*/\n\t\n\t.subpage-ul \u003e .subpage-wrapper {\n\t\tdisplay: grid;\n\t}\n\t\n\t.grid-sizer{\n\t  width: 25%;\n\t}\n\t\n\t.grid-item {\n\t\tfloat: left;\n\t\twidth: 25%;\n\t\tmax-width: 12.5rem;\n\t\tmargin-bottom: 1rem;\n\t}\n\t\n\t.subpage-container {\n\t\twidth: 100%;\n\t}\n\t\n\t.subpage-ul a {\n\t\tfont-size: .85rem;\n\t}\n}\n\n/* Footer */\nfooter {\n    background: #000000;\n    color: white;\n\tline-height: 1.6;\n\tpadding: 1rem 0;\n}\n\nfooter h4 {\n\tmargin-top: 0;\n}\n\nfooter ul {\n\tmargin-bottom: 0;\n}\n\nfooter hr {\n\tbackground: rgba(175, 175, 175, .52);\n}\n\nfooter .row {\n\trow-gap: 1.5rem;\n}\n\naddress {\n\tfont-style: normal;\n}\n\n.footer-top a {\n\tcolor: white;\n}\n\n.footer-top a:hover,\n.footer-top a:focus {\n    color: #00adda;\n}\n\n.footer-bottom {\n\tfont-size: .9rem;\n}\n\n.footer-bottom .district-logo {\n\tmargin-bottom: 1rem;\n\tmax-height: 3rem;\n}\n\n.schools-select {\n\tmargin-top: 1.5rem;\n    margin-bottom: 1rem;\n}\n\n.schools-select input[type=\"submit\"]{\n\tbackground: var(--button-footer);\n    border-radius: 5px;\n    padding: 0.5rem 0.75rem;\n    font-weight: var(--font-medium);\n\tmargin: 0;\n}\n\n.schools-select input[type=\"submit\"]:hover,\n.schools-select input[type=\"submit\"]:focus {\n\tcolor: var(--link-hover-color);\n}\n\n#schools-dropdown {\n\tposition:relative;\n\tpadding: .55rem;\n\tcursor: pointer;\n\tborder-radius: 5px;\n\tborder: none;\n    font-size: .85rem;\n\tbackground-color: #C7C7C7;\n\t/* max-width: 12rem; */\n\tappearance: none;\n\t-webkit-appearance: none;\n}\n.custom-select {\n\tposition: relative;\n}\n.custom-select::after {\n\tposition: absolute;\n\tright: .5rem;\n\tfont-family: \"Font Awesome 5 Free\";\n\tfont-weight: 900;\n\tcontent: \"\\f078\";\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\tfont-size: .6rem;\n    color: var(--dark-font-color);\n\tpointer-events: none;\n}\n\n/* Custom Select */\n.custom-select-wrapper {\n    position: relative;\n    display: inline-block;\n    width: 100%;\n}\n\n.custom-select {\n    background-color: #fff;\n    border: 1px solid #AFAFAF;\n    border-radius: 5px;\n    transition: 0.5s;\n    padding: 0.75rem 1rem;\n    appearance: none;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    width: 100%;\n}\n\n.custom-select-wrapper i {\n    position: absolute;\n    right: 10px;\n    top: 50%;\n    transform: translateY(-50%);\n    pointer-events: none;\n    /* allows clicks to go through to the select */\n    color: #707070;\n}\n\n.custom-select-wrapper::after {\n    content: none;\n}\n\n@media (min-width: 62em){\n\tfooter {\n\t\tpadding: 2rem 0;\n\t\tline-height: 1.8;\n\t}\n\tfooter .policy {\n\t\ttext-align: right;\n\t}\n\t\n\tfooter .copyright {\n\t\ttext-align: center;\n\t}\n\t\n\tfooter .copyright-line {\n\t\tmargin-bottom: .5rem;\n\t}\n\t\n\t#schools-dropdown {\n\t\tborder-right: .5rem solid #C7C7C7;\n\t}\n\t\n\t.footer-top .col {\n\t\theight: fit-content;\n\t}\n}\n\n@media (min-width: 75em){\n\tfooter {\n\t\tpadding: 3rem 0 2rem;\n\t}\n\t\n}\n\n/* Home - Banner */\n.home h2 {\n\tmargin-top: 0;\n\tmargin-bottom: 1.25rem;\n}\n.banner-news {\n\tmargin-bottom: 0;\n}\n\n.news-grid {\n\tdisplay: grid;\n}\n\n.banner-item a {\n\tdisplay: block;\n\tposition: relative;\n\tcolor: white;\n\tbackground: var(--medium-grey);\n    height: 100%;\n}\n\n.banner-item a:hover,\n.banner-item a:focus {\n\tcolor: white!important;\n}\n\n.banner-item a::after {\n\tcontent: \"\";\n\tbackground: transparent linear-gradient(180deg, #00000000 0%, #000000 100%) 0% 0% no-repeat padding-box;\n\tbackground: transparent linear-gradient(180deg, #0000 55%, #000 85%) 0% 0% no-repeat padding-box;\n\topacity: 0.8;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\ttransition: all .2s ease-in-out;\n}\n\n.banner-item a:hover::after {\n\topacity: .3;\n}\n\n.banner-img {\n\twidth: 100%;\n\theight: 100%;\n\taspect-ratio: 16/9;\n}\n\n.banner-img img {\n\twidth: 100%;\n\theight: 100%;\n\taspect-ratio: 3/2;\n}\n\n.banner-item .banner-text {\n\tposition: absolute;\n\tbottom: 1rem;\n\tleft: 1rem;\n\twidth: 90%;\n\tz-index: 9;\n}\n\n.banner-item h3 {\n\tfont-weight: var(--font-medium);\n\tfont-size: 1.2rem;\n\toverflow: hidden;\n    display: -webkit-box;\n    -webkit-line-clamp: 3;\n    -webkit-box-orient: vertical;\n}\n\n.banner-item:nth-of-type(1) h3 {\n\tfont-weight: var(--font-bold);\n\tfont-size: 1.2rem;\n}\n\n.news-tag {\n\tfont-size: .875rem;\n    background: var(--medium-grey);\n    border-radius: 5px;\n    padding: 6px 8px;\n    text-transform: capitalize;\n    margin-bottom: 1rem;\n    display: inline-block;\n}\n\n.banner-item .cover-logo {\n\tmargin: 0 1rem 0 auto;\n    opacity: .5;\n    width: 30%;\n    padding-top: 1rem;\n\theight: auto;\n\taspect-ratio: unset;\n}\n\n@media (min-width: 62em){\n    .banner-item:nth-of-type(1) h3 {\n        font-size: 1.5rem;\n    }\n\n\t.news-grid {\n\t\tgrid-template-columns: repeat(4, 1fr);\n\t\tgrid-template-rows: repeat(2, 1fr);\n\t\tgrid-column-gap: 1px;\n\t\tgrid-row-gap: 1px;\n\t\theight: calc(1 / 3 * 100vw);\n\t}\n\n\t.banner-item:nth-of-type(1) { grid-area: 1 / 1 / 3 / 3; }\n\t.banner-item:nth-of-type(2) { grid-area: 1 / 3 / 2 / 4; }\n\t.banner-item:nth-of-type(3) { grid-area: 1 / 4 / 2 / 5; }\n\t.banner-item:nth-of-type(4) { grid-area: 2 / 3 / 3 / 4; }\n\t.banner-item:nth-of-type(5) { grid-area: 2 / 4 / 3 / 5; }\n\t\n\t.banner-item:nth-of-type(1) .banner-text {\n\t\tbottom: 2rem;\n\t\tleft: 3rem;\n\t}\n\t\n\t.banner-img {\n\t\taspect-ratio: unset;\n\t}\n\t\n\t.banner-item:nth-of-type(1) h3 {\n\t\twidth: 90%;\n\t}\n\t\n\t/* Adjust layout based on number of news articles in banner section */\n\t.news-grid-1 .banner-item-1 { grid-area: 1 / 1 / 4 / 5; }\n\t\n\t.news-grid-2 .banner-item-2 {grid-area: 1 / 3 / 3 / 5; }\n\t\n\t.news-grid-3 .banner-item-2 { grid-area: 1 / 3 / 3 / 4; }\n\t.news-grid-3 .banner-item-3 { grid-area: 1 / 4 / 3 / 5; }\n\t\n\t.news-grid-4 .banner-item-2 { grid-area: 1 / 3 / 3 / 4; }\n\t.news-grid-4 .banner-item-3 { grid-area: 1 / 4 / 2 / 5; }\n\t.news-grid-4 .banner-item-4 { grid-area: 2 / 4 / 3 / 5; }\n\n}\n\n@media (min-width: 75em){\n\t.banner-item:nth-of-type(1) h3 {\n\t\tfont-size: 2rem;\n\t}\n}\n\n@media (min-width: 99em){\n\t.news-tag {\n\t\tfont-size: .75rem;\n\t}\n}\n\n/* Home - Quicklinks */\n/*.links-swiper .swiper-wrapper {\n\tjustify-content: center;\n}*/\n\n.links-swiper .swiper-wrapper {\n    height: auto;\n}\n.quicklinks {\n\tposition: relative;\n    background: var(--highlight-color);\n    padding: 2rem 3rem;\n\tmargin-bottom: 0;\n}\n\n.quicklink {\n    background: white;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n\talign-items: center;\n    gap: 0.75rem;\n    text-align: center;\n    border-radius: 5px;\n    aspect-ratio: 1/1;\n\tpadding: 0.5rem;\n}\n\n.quicklink i {\n\tcolor: var(--primary-color-4);\n\tfont-size: 2rem;\n}\n\n.quicklink-label {\n\tcolor: var(--primary-color-2);\n\tfont-size: 16px;\n    font-weight: var(--font-medium);\n\ttransition: all .3s ease-in-out;\n\tmin-height: 40.31px;\n}\n\n.quicklink:hover .quicklink-label, \n.quicklink:focus .quicklink-label {\n\tcolor: var(--link-hover-color)\n}\n\n.swiper-button-next:after,\n.swiper-button-prev:after {\n    content: '';\n}\n\n.links-button-prev, \n.links-button-next {\n\tbackground: var(--primary-color-1);\n\tcolor: white;\n    border-radius: 50%;\n    width: 2rem;\n    height: 2rem;\n}\n\n.links-button-prev {\n\tleft: .5rem;\n}\n\n.links-button-next {\n\tright: .5rem;\n}\n@media (min-width: 48em){\n\t.quicklink-label {\n\t\tmin-height: 44.8px;\n\t}\n} \n@media (min-width: 75em){\n\t.quicklinks {\n\t\tbackground: var(--highlight-color);\n\t\tpadding: 2rem 5%;\n\t}\n\t\n\t.links-button-prev {\n\t\tleft: 1rem;\n\t\twidth: 2.5rem;\n    \theight: 2.5rem;\n\t}\n\n\t.links-button-next {\n\t\tright: 1rem;\n\t\twidth: 2.5rem;\n    \theight: 2.5rem;\n\t}\n}\n\n/* Home - Events */\n.home-events-wrapper {\n\trow-gap: 1rem;\n}\n\n.format-event-time, .event-item-wrapper .event-time-only {\n    font-size: .8rem;\n    font-weight: var(--font-regular);\n}\n\n.event-item {\n    display: flex;\n    align-items: center;\n    color: var(--dark-font-color);\n    font-weight: var(--font-medium);\n    margin-bottom: 1rem;\n\tborder-radius: 5px;\n\theight: 100%;\n}\n\n#weekly-events .event-item {\n\theight: auto;\n}\n\n.event-date-wrapper {\n    background: var(--dark-grey);\n    color: var(--light-font-color);\n    text-align: center;\n\tfont-weight: var(--font-medium);\n    padding: 0.5rem 1rem;\n    line-height: 1.2;\n\tborder-radius: 5px 0 0 5px;\n\twidth: 5rem;\n\theight: 100%;\n}\n\n.event-date-wrapper .month {\n    text-transform: uppercase;\n\tfont-size: .8rem;\n}\n\n.event-date-wrapper .day {\n    font-size: 1.1rem;\n}\n\n.event-date-wrapper .week {\n\ttext-transform: uppercase;\n    font-size: .7rem;\n}\n\n.event-name {\n\tbackground: white;\n    padding: 0 1.5rem;\n\tborder: 3px solid #EAEAEA;\n\tborder-radius: 0 5px 5px 0;\n\tborder-left: none;\n\twidth: calc(100% - 80px);\n\theight: 100%;\n}\n\n.--CBE-International .event-date-wrapper,\n.--CBE-International .event-name {\n\theight: 4.5rem;\n}\n\n.--CBE-International .event-item,\n.--CBE-International .home-events-wrapper {\n\theight: auto;\n\tmargin-bottom: 0;\n}\n\n.event-name .card-description {\n\toverflow: hidden;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 1;\n\t-webkit-box-orient: vertical;\n}\n\n.home .calendar-title-row h2 {\n\tmargin-bottom: 0;\n}\n\n.calendar-title-row {\n\tmargin-bottom: 1.25rem;\n\tflex-wrap: wrap;\n}\n\n.calendar-legend {\n    color: #02ADDB;\n    font-size: .9rem;\n\tposition: relative;\n\tpadding: .5rem 0;\n}\n\n.legend-wrapper {\n    visibility: hidden;\n\topacity: 0;\n    position: absolute;\n    background: white;\n    top: 100%;\n    right: 0;\n    padding: 16px;\n\tmin-width: 240px;\n    border-radius: 5px;\n\tbox-shadow: 0px 3px 15px #0000000D;\n\ttransition: all .3s ease-in-out;\n}\n\n.legend-wrapper .news-post-tag {\n    margin-bottom: 4px;\n\tfont-size: 14px;\n}\n\n.legend-wrapper .news-post-tag:last-of-type {\n\tmargin-bottom: 0;\n}\n\n.calendar-legend:hover .legend-wrapper, \n.calendar-legend:focus .legend-wrapper {\n\topacity: 1;\n    visibility: visible;\n}\n\n.alternative-home.news {\n    background: #e7e7e7;\n}\n\n@media (min-width: 62em){\n    .home-news, .home-events-wrapper {\n        height: 88%;\n    }\n\n\t.home-events-wrapper {\n\t\tdisplay: grid;\n  \t\tgrid-template-rows: repeat(6, minmax(0, 1fr));\n\t}\n\n\t.--Global-Learning .home-events-wrapper {\n\t\theight: auto;\n\t}\n\n    .alternative-home .home-news,\n    .alternative-home .home-events-wrapper {\n        height: auto;\n    }\n\n    .sc-events-news .home-news, \n    .sc-events-news .home-events-wrapper {\n        height: auto;\n    }\n\n\t.--CBE-International .home-events-wrapper {\n\t\theight: auto;\n\t}\n}\n\n/* @media (min-width: 75em){\n    .event-item-wrapper {\n        padding: 0 .5rem;\n    }\n} */\n\n/* Home News */\n.news {\n\tpadding: 2rem 0 3rem;\n\tmargin-bottom: 0;\n}\n\n.news-events {\n\tmargin-bottom: 0;\n\tpadding-bottom: 2rem;\n}\n\n.news-events .news {\n\tpadding: 2rem 1rem 3rem;\n}\n\n.home-news {\n    display: flex;\n    flex-wrap: wrap;\n\tgap: 1rem;\n}\n\n.home-news .news-item {\n\twidth: 100%;\n}\n\n.news-item \u003e a,\n.news-item \u003e div {\n    background: white;\n    border-radius: 5px;\n    display: flex;\n\theight: 100%;\n\tbox-shadow: 0px 3px 15px #0000000D;\n}\n\n.news-text {\n\twidth: 65%;\n\tpadding: 1.2rem;\n    color: var(--dark-font-color);\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n}\n\n.news-title {\n\tfont-size: 1.2rem;\n    margin-bottom: 0.5rem;\n\tfont-weight: var(--font-medium);\n\toverflow: hidden;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n}\n.page-content .news-title {\n\tfont-size: 1.2rem;\n    margin-bottom: 0.5rem;\n}\n\n.news-text .news-tag {\n\tcolor: white;\n    margin-bottom: 0.25rem;\n    font-size: .75rem;\n}\n\n.news-img {\n\twidth: 35%;\n\tbackground: #e1e1e1;\n\tborder-radius: 0 5px 5px 0;\n\taspect-ratio: 3/2;\n}\n\n.news-img img {\n\tborder-radius: 0 5px 5px 0;\n\theight: 100%;\n\taspect-ratio: 3/2;\n}\n\n.news-img .cover-logo {\n\tobject-fit: contain;\n    padding: 0 0.5rem;\n\twidth: 100%;\n\tmax-width: 200px;\n    margin: auto;\n}\n\n.news-date {\n    font-size: .8rem;\n\tmargin-bottom: 0.35rem\n}\n\n@media (max-width: 500px) {\n    .home .news-item \u003e a, \n    .home .news-item \u003e div {\n        flex-wrap: wrap;\n    }\n\n    .home .news-text, \n    .home .news-img {\n        width: 100%;\n    }\n\n    .home .news-text {\n        padding: 1rem;\n    }\n\n    .home .news-img img {\n        border-radius: 0 0 5px 5px;\n    }\n\n    .home .news-title {\n        font-size: 1rem;\n    }\n}\n\n@media (min-width: 501px) and (max-width: 767px) {\n    .home .news-text {\n\t\twidth: 55%;\n\t}\n\t\n\t.home .news-img {\n\t\twidth: 45%;\n\t}\n}\n\n@media (min-width: 48em){\n\t.home-news .news-item {\n\t\twidth: calc((100% - 1rem) / 2);\n\t}\n\t\n\t.home-news .news-item.one-col {\n\t\twidth: 100%;\n\t}\n\t\n\t.news {\n\t\tpadding: 2.5rem 0;\n\t}\n\t\n\t.news-events .news {\n\t\tpadding: 2.5rem 1rem;\n\t}\n\t\n\t.news-events .events {\n\t\tpadding: 2.5rem 1rem;\n\t}\n\t\n\t.news-img .cover-logo {\n\t\tpadding: 0 1rem;\n\t}\n\t\n\t.news-text {\n\t\twidth: 70%;\n\t}\n\t\n\t.news-img {\n\t\twidth: 30%;\n\t}\n\n    .alternative-home .news-text {\n        width: 70%;\n    }\n\n    .alternative-home .news-img {\n        width: 30%;\n    }\n}\n\n@media (min-width: 993px) and (max-width: 1583px) {\n    .home .news-text {\n\t\twidth: 55%;\n\t}\n\t\n\t.home .news-img {\n\t\twidth: 45%;\n\t}\n}\n\n/* Home - Programs */\n.programs-content {\n    background: var(--primary-color-3);\n    color: white;\n    padding: 2rem 1rem;\n}\n\n.programs-text h4 {\n\tmargin: 0 0 .5rem;\n}\n\n.program-item {\n    line-height: 1.6;\n}\n\n.programs-img img {\n\twidth: 100%;\n\theight: 100%;\n\taspect-ratio: 16/9;\n}\n\n.programs-info {\n\tfont-weight: var(--font-bold);\n}\n\n@media (min-width: 48em){\n\t\n\t.programs-row {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\t\n\t.programs-img, .programs-content {\n\t\twidth: 50%;\n\t\theight: auto;\n\t\talign-self: stretch;\n\t}\n\t\n\t.programs-content {\n\t\tpadding: 2rem;\n\t}\n\n}\n\n@media (min-width: 75em){\n\t.programs-content {\n\t\tpadding: 3% 5%;\n\t}\n}\n\t\n/* Home - Showcase */\n.showcase-item {\n    display: block;\n    position: relative;\n    aspect-ratio: 3/2;\n}\n\n.showcase-item::after {\n\tcontent: \"\";\n\tposition: absolute;\n    top: 0;\n    left: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: transparent linear-gradient(180deg, #00000000 0%, #0000001A 56%, #000000 100%) 0% 0% no-repeat padding-box;\n\topacity: 0.6;\n}\n\n.showcase-img {\n\twidth: 100%;\n\taspect-ratio: 3/2;\n}\n\n.showcase-title {\n    position: absolute;\n    color: white;\n    bottom: .5rem;\n    left: .5rem;\n    width: 90%;\n\tz-index: 5;\n\tfont-weight: var(--font-medium);\n}\n\n.showcase-buttons,\n.social-buttons {\n    display: flex;\n    align-items: center;\n}\n\n.showcase-button-prev,\n.showcase-button-next,\n.social-button-prev,\n.social-button-next {\n\tposition: static;\n\tbackground: var(--primary-color-2);\n\tcolor: white;\n\twidth: 3rem;\n\theight: 2.75rem;\n\tmargin-top: 0;\n}\n\n.showcase-button-prev,\n.social-button-prev {\n\tborder-radius: 5px 0 0 5px;\n}\n\n.showcase-button-next,\n.social-button-next {\n\tborder-radius: 0 5px 5px 0;\n}\n\n.showcase .flex-row-between {\n\tmargin-top: 1rem;\n\trow-gap: 1rem;\n}\n\n.showcase .btn {\n\tmargin-top: 0;\n}\n\n@media (min-width:62em){\n\t.showcase-title {\n\t\tbottom: 1rem;\n\t\tleft: 1rem;\n\t}\n}\n\n/* Home - About */\n.about-info {\n\tpadding: 3rem 0 4rem;\n\t/*background: transparent linear-gradient(180deg, #4A4A4A 0%, #333333 100%) 0% 0% no-repeat padding-box;*/\n}\n\n.about-info.no-bg {\n\tbackground: none;\n}\n\n.about-info .row {\n\trow-gap: 2rem;\n}\n\n.about-bg {\n\twidth: 100%;\n    height: 100%;\n\taspect-ratio: 4/1;\n}\n\n.home .about-bg {\n    height: auto;\n}\n\n.about-block {\n    background: var(--primary-color-3);\n    padding: 1rem;\n    border-radius: 5px;\n\tmargin-top: -5rem;\n}\n\n.about-block h3 {\n\tmargin-bottom: .5rem;\n}\n\n.circle-icon {\n    background: var(--primary-color-2);\n\tcolor: white;\n    padding: 0.5rem;\n    border-radius: 50%;\n\taspect-ratio: 1/1;\n\tfont-size: 1rem;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\twidth: 2.25rem;\n    height: 2.25rem;\n    text-align: center;\n}\n\n.schoolinfo-block {\n\tdisplay: flex;\n\tgap: 1rem;\n}\n\n.schoolinfo-block a {\n\tcolor: white;\n\tword-break: break-word;\n}\n\n.schoolinfo-block .editor a {\n    color: var(--link-color);\n}\n\n.schoolinfo-block .btn {\n\tbox-shadow: 0px 3px 15px #00000029;\n}\n\n.schoolinfo-block h4 {\n\tmargin: 0 0 .5rem;\n\tfont-size: 1.2rem;\n\ttext-shadow: 0px 3px 6px #00000029;\n}\n\n.schoolinfo-text i {\n\tfont-size: .7rem;\n}\n\n.schoolinfo-text {\n\tline-height: 1.5;\n}\n\n.schoolinfo-content {\n\tfont-size: 16px;\n}\n\n.schoolinfo-block.leadership {\n\tmargin-top: 1.5rem;\n}\n\n.schoolinfo-text.leadership {\n\twidth: calc(100% - 3.35rem);\n}\n\n.leadership-row {\n    display: flex;\n\tflex-wrap: wrap;\n\tgap: 1rem;\n    width: 100%;\n}\n\n.leadership-item {\n\twidth: 100%;\n}\n\n.leadership-name {\n\tmargin-bottom: .5rem;\n}\n\n.leadership-label {\n    font-size: 14px;\n\tfont-weight: var(--font-medium);\n}\n\n.leadership-name {\n    font-size: 16px;\n}\n\n.school-leadership {\n\tmargin-bottom: 1rem;\n}\n\n.school-leadership-title {\n\tfont-weight: var(--font-medium);\n}\n\n.multilocation.leadership-label {\n\tmargin-bottom: .5rem;\t\n}\n\n.multilocation.leadership-name {\n\tmargin-bottom: 1rem;\n}\n\n.sidebar-template .schoolinfo-block,\n.sidebar-template .schoolinfo-text{\n\twidth: calc(100% - 2rem);\n}\n\n@media (min-width: 48em){\n\t.leadership-item {\n\t\twidth: calc((100% - 2rem) / 3);\n\t\tborder-right: 1px dashed #707070;\n\t\tpadding: 0 0.75rem;\n\t}\n\n    .leadership-item:nth-of-type(3n+1){\n\t\tpadding-left: 0;\n\t}\n\n    .leadership-item:nth-of-type(3n){\n\t\tborder-right: none;\n\t}\n\t\n\t.two-by-two .leadership-item {\n\t\twidth: calc((100% - 1rem) / 3);\n\t\tpadding-left: 0;\n\t}\n\t\n\t.two-by-two .leadership-item:nth-of-type(2n){\n\t\tborder-right: none;\n\t\tpadding-right: 0;\n\t\tpadding-left: 2rem;\n\t}\n\n    .two-by-two .leadership-item:nth-of-type(3n){\n\t\tborder-right: 1px dashed #707070;\n\t}\n\n\t.leadership-item:last-of-type {\n\t\tborder-right: none;\n\t\tpadding-right: 0;\n\t}\n\t\n\t.leadership-item:first-of-type {\n\t\tpadding-left: 0;\n\t}\n\t\n\t.multi-location .two-by-two .leadership-item {\n\t\twidth: calc((100% - 1rem) / 2);\n\t\tpadding-left: 0;\n\t}\n\t\n}\n\n@media (min-width: 62em){\n\t.about-block {\n\t\tpadding: 2rem;\n\t\tmargin-top: -6rem;\n\t}\n\t\n\t.schoolinfo-block.leadership {\n\t\tmargin-top: 2.5rem;\n\t}\n\t\n\t.schoolinfo-block.leadership .btn {\n\t\tmargin-top: 1.5rem;\n\t}\n\t\n\t.about-col {\n\t\tpadding-right: 2rem;\n\t}\n\t\n\t.contact-col {\n\t\tpadding-left: 2rem;\n\t}\n}\n\n@media (min-width: 99em){\n\t.leadership-label {\n\t\tfont-size: .75rem;\n\t}\n\t.schoolinfo-content,\n\t.leadership-name,\n\t.schoolinfo-block .btn {\n\t\tfont-size: .85rem;\n\t}\n}\n\n/* Home - Social Media */\n.social-media {\n\tpadding: 2rem 0;\n}\n\n.social-media h2 {\n\tmargin: 0;\n}\n\n.social-media .news-text {\n\twidth: 75%;\n}\n\n.social-media .news-text.no-img {\n    width: 100%;\n}\n\n.social-media .news-item {\n\tposition: relative;\n\theight: 100%;\n}\n\n.social-img {\n    width: 25%;\n    border-radius: 5px 0 0 5px;\n}\n\n.social-media .news-item .fb-icon {\n\tposition: absolute;\n\ttop: -.75rem;\n\tleft: -.75rem;\n\tbackground: #4267B2;\n\tcolor: white;\n\tborder-radius: 50%;\n\twidth: 2rem;\n    height: 2rem;\n    text-align: center;\n}\n\n.social-swiper {\n\tmargin-left: -.75rem;\n}\n\n.social-swiper .swiper-slide {\n\theight: auto;\n\tpadding: .75rem 0 0 .75rem;\n}\n\n.social-buttons {\n\tmargin-top: 1.5rem;\n}\n\n.social-media .link-row {\n\tmargin-top: 2rem;\n\tfont-weight: var(--font-medium);\n}\n\n.follow-link {\n\tfont-size: .8rem;\n\tfont-weight: var(--font-medium);\n}\n\n.social-title-row {\n\tmargin-bottom: 1rem;\n\trow-gap: .5rem;\n}\n\n.social-media.inactive .social-title-row {\n\tjustify-content: center;\n    flex-wrap: wrap;\n    gap: 1rem;\n\tmargin-bottom: 0;\n}\n\n.social-media.inactive .social-title-row h2 {\n\twidth: 100%;\n}\n\n.social-icon {\n    border: 1.5px solid var(--primary-color-2);\n    color: var(--primary-color-2);\n    border-radius: 50%;\n    padding: 0.5rem;\n    text-align: center;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    width: 2.25rem;\n    height: 2.25rem;\n\tcolor: white;\n\tbackground: var(--primary-color-2);\n}\n\n.social-icon:hover {\n\tcolor: var(--primary-color-2)!important;\n\tborder: 1.5px solid var(--primary-color-2);\n\tbackground: none;\n}\n\n@media (min-width: 62em){\n\t.social-media .news-text {\n\t\tpadding: 1.5rem;\n\t}\n}\n\n/* Custom List Styles */\n.page-content ul,\n.page-content .square-list,\n.square-list {\n\tlist-style-type: none!important;\n\tlist-style: none;\n\tmargin-left:2rem;\n\tpadding: 0;\n\toverflow: hidden;\n}\n\n.page-content ul li,\n.page-content ol li,\n.square-list li {\n\tpadding-left: 1.25rem;\n\tposition: relative;\n\tmargin-bottom: 0.5rem;\n}\n\n.editor-nested-listitem::marker {\n    content: none\n}\n\n.page-content ul li::before,\n.square-list li::before {\n\tbackground: var(--primary-color-2);\n    content: \"\";\n    width: 6px;\n    height: 6px;\n    position: absolute;\n    left: 0;\n\ttop: .5rem;\n}\n\nli.editor-listitem.editor-nested-listitem::before {\n    content: none;\n}\n\n/* nested ordered list styling */\n.editor-nested-listitem {\n    list-style-type: none;\n}\n.editor-nested-listitem:before,\n.editor-nested-listitem:after {\n    display: none;\n}\n\n.editor-list-ol {\n    list-style-type: none;\n    counter-reset: item;\n    margin: 0;\n    padding: 0;\n}\n\n.page-content .editor-list-ol {\n    margin: 0;\n    padding: 0;\n}\n\n.editor-list-ol \u003e .editor-listitem:not(.editor-nested-listitem) {\n    display: table;\n    counter-increment: item;\n    margin-bottom: 0.6em;\n}\n.editor-list-ol \u003e .editor-listitem:not(.editor-nested-listitem):before {\n    content: counters(item, '.') '. ';\n    display: table-cell;\n    padding-right: 0.6em;\n}\n.editor-listitem:not(.editor-nested-listitem) .editor-list-ol \u003e .editor-listitem:not(.editor-nested-listitem) {\n    margin: 0;\n}\n.editor-listitem:not(.editor-nested-listitem) .editor-list-ol \u003e .editor-listitem:not(.editor-nested-listitem):before {\n    content: counters(item, '.') ' ';\n}\n\n\n/* Anchor link offset */\n.editor [id] {\n\tscroll-margin-top: 140px;\n}\n\n/* Subpage Template */\n.main-content {\n\twidth: auto;\n}\n\n/*.sidebar-template .main-content {\n\twidth: calc(70% - 2rem);\n}*/\n\na[href=\"javascript:void(0)\"] {\n  cursor: default; \n  pointer-events: none; \n}\n\n.main-content a:hover,\n.main-content a:focus {\n\ttext-decoration: underline;\n}\n\n.main-content .btn:hover,\n.main-content .btn:focus {\n\ttext-decoration: none;\n}\n\n.sidebar {\n\tpadding: 0 1rem;\n\twidth: 100%;\n}\n\n.no-sidebar {\n\tdisplay: none;\n}\n\n@media (min-width: 62em){\n\t.sidebar {\n\t\twidth: 30%;\n\t\tmax-width: 550px;\n\t\tmargin-left: 2rem;\n\t}\n}\n\n.page-content ol {\n\tpadding-left: 1rem;\n\tmargin-left:2rem;\n}\n\n.page-content .editor-heading-h2 {\n\tcolor: var(--primary-color-2);\n}\n\n.editor p {\n\tmargin-bottom: .75rem;\n}\n\n.page-header,\n.school-news-header.page-header {\n\tposition: relative;\n\ttext-align: center;\n\tcolor: white;\n\tbackground: linear-gradient(95deg, #FF4F00 0%, var(--primary-color-2) 50%, #FF4F00 100%);\n\tbackground: var(--primary-color-2);\n\tpadding:1.65rem 1rem;\n\tmargin-bottom: 0;\n}\n\n.page-header::after,\n.school-news-header.page-header::after {\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tbackground: transparent linear-gradient(95deg, #000000 0%, var(--primary-color-2) 50%, #000000 100%) 0% 0% no-repeat padding-box;\n\topacity: 0.3;\n}\n\n.page-header h1 {\n\tposition: relative;\n    z-index: 10;\n\tfont-size: 2.2rem;\n}\n\n.related-wrapper {\n    background: var(--highlight-color);\n\tmargin-bottom: 1.5rem;\n}\n\n.related-wrapper.calendar {\n    margin-top: 2rem;\n}\n\n.related-title {\n\tbackground: var(--primary-color-1);\n\tpadding: .75rem 1rem;\n}\n\n.page-content .related-title h3 {\n\tcolor: white;\n\tfont-size: 1.2rem;\n    margin: 0;\n}\n\n.page-content .related-list {\n\tpadding: 1rem;\n}\n\n.related-list a {\n\tword-break: break-word;\n}\n\n.quicklinks-wrapper {\n\trow-gap: 1.5rem;\n\tmargin-bottom: 1.5rem;\n}\n\n.quicklink-icon {\n\talign-items: center;\n}\n\n.quicklink-item {\n\tdisplay: flex;\n    /*width: calc(50% - 0.8rem);*/\n    border-radius: 10px;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    gap: 1rem;\n    padding: 0.5rem 1rem;\n\taspect-ratio: 1/1;\n\tfont-weight: var(--font-medium);\n}\n\n.quicklink-item i {\n\tfont-size: 2.5rem;\n}\n\n.quicklink-item span {\n\tfont-size: .85rem;\n\ttext-align: center;\n\tword-break: break-word;\n\twhite-space: normal;\n    overflow-wrap: anywhere;\n}\n\n.sidebar-template .quicklink-item span {\n\tword-break: unset;\n}\n\n.quicklink-item img {\n\tdisplay: block;\n\theight: 2rem;\n\twidth: 100%;\n\tobject-fit: contain;\n}\n\n.images-wrapper figure {\n\tmargin: 0 0 1rem;\n}\n\n.images-wrapper img {\n\tdisplay: block;\n\twidth: 100%;\n\taspect-ratio: 3/2;\n}\n\n/*.page-header:after {\n\tcontent: \"\";\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: linear-gradient(95deg, rgba(0,0,0,0.5) 0%, rgba(255,255,255,0) 50%, rgba(0,0,0,0.5) 100%);\n}*/\n\n@media (min-width: 500px) and (max-width: 991px) {\n\t.quicklink-col {\n\t\tmax-width: calc(100% / 3);\n\t\tflex-basis: calc(100% / 3);\n\t}\n\n\t.quicklink-item i {\n\t\tfont-size: 3rem;\n\t}\n}\n\n@media (min-width: 62em) {\n\t.quicklink-item i {\n\t\tfont-size: 1.5rem;\n\t}\n\t\n\t/*.page-content .ck-editor {\n\t\twidth: 90%;\n\t}*/\n}\n\n/* Collapsible box - rich text editor */\n.collapsible-box {\n\twidth: 100%;\n\tmargin-bottom: 1rem;\n}\n\n.collapsible-box .material-icons {\n\tcolor: var(--primary-color-2);\n}\n\n.collapsible-box-description { \n\tdisplay: none;\n\tmargin: 1rem 0.5rem;\n}\n\n.collapsible-box-title {\n    background-color: var(--light-grey);\n    display: flex;\n    align-items: center;\n    padding: .5rem;\n\tmargin: 0;\n\tcursor: pointer;\n}\n\n.collapsible-box-title i {\n\tmargin-right: .5rem;\n}\n\n.collapsible-bottom-icon {\n\tcursor: pointer;\n}\n\n/* Collapsible boxes - lexical rte */\n.editor details summary {\n    background-color: var(--light-grey);\n    display: flex;\n    align-items: center;\n    padding: 0.5rem;\n\tmargin: 0;\n\tcursor: pointer;\n    transition: all .3s ease-in-out;\n}\n\n.editor details summary i {\n    color: var(--primary-color-2);\n    margin-right: .5rem;\n}\n\n.editor details {\n    margin-bottom: 1rem;\n    transition: all .3s ease-in-out;\n}\n\n.editor div[data-lexical-collapsible-content]{\n    padding: 1rem;\n}\n\n/* Secondary Navigation */\n.secondary-nav {\n    background: #F0F0F0;\n}\n\n.secondary-nav-ul {\n    display: flex;\n    row-gap: 1rem;\n    flex-wrap: wrap;\n    justify-content: center;\n\tmargin-bottom: 0;\n}\n\n.secondary-nav-item {\n\tpadding: .75rem 1rem;\n\tposition: relative;\n\tborder-bottom: 2px solid #F0F0F0;\n}\n\n.secondary-nav-item a {\n\tdisplay: inline-block;\n\tcolor: var(--black);\n\tfont-weight: var(--font-medium);\n}\n\n.secondary-nav-item.active {\n\tbackground: #FAFAFA;\n\tborder-color: var(--primary-color-2);\n}\n\n .secondary-nav-item:before {\n position:absolute;\n transform: translateY(-50%);\n top: 50%;\n width:1px;\n height:16px;\n content:\"\";\n background:var(--primary-color-2);\n right:0\n}\n\n.secondary-nav-item:hover {\n\tfilter: brightness(.95);\n\tborder-bottom: 2px solid var(--primary-color-1);\n}\n\n.secondary-nav-item.active::after {\n    content: '';\n    margin: auto;\n    width: 0;\n    height: 0;\n    border-left: 12px solid transparent;\n    border-right: 12px solid transparent;\n    border-top: 10px solid var(--primary-color-2);\n    position: absolute;\n    top: calc(100% + 1px);\n    left: 0;\n    right: 0;\n}\n\n.secondary-nav-item.active a {\n\tfont-weight: var(--font-bold);\n}\n\n.vertical-bar {\n\theight: 16px;\n    width: 1px;\n    background: var(--primary-color-2);\n    display: inline-block;\n    vertical-align: middle;\n    margin: auto 0;\n}\n\n.breadcrumbs {\n    display: flex;\n\tflex-wrap: wrap;\n    gap: 0.25rem;\n\ttext-transform: uppercase;\n\talign-items: center;\n\tmargin-top: 1.5rem;\n\tmargin-bottom: 1rem;\n}\n\n.breadcrumbs-home {\n\tgap: .25rem;\n}\n\n.breadcrumbs a {\n\tcolor: var(--primary-color-2);\n\tfont-size: .75rem;\n}\n\n.breadcrumbs a:hover,\n.breadcrumbs a:focus {\n\tcolor: var(--link-hover-color);\n}\n\n.breadcrumbs a.active {\n\tcolor: var(--black);\n\tfont-size: .75rem;\n}\n\n.breadcrumbs-home i {\n\tfont-size: .65rem;\n\tmargin-bottom: 2px;\n}\n\n.current-page,\n.cookie {\n\tdisplay: none;\n}\n\n@media(max-width: 62em){\n\t.current-page {\n\t\tdisplay: flex;\n\t\tmargin: 1.5rem 1rem 0;\n\t\tbackground: var(--light-grey);\n\t\tpadding: 0.75rem;\n\t\tjustify-content: space-between;\n\t\tfont-weight: var(--font-medium);\n\t}\n\t\n\t.cookie {\n\t\tdisplay: block;\n\t}\n\t\n\t.cookie a {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tcolor: var(--dark-font-color);\n\t\tfont-weight: var(--font-medium);\n\t\tpadding: 0 0.75rem;\n\t}\n\t\n\t.secondary-nav {\n\t\tdisplay: none;\n\t\tmargin: 0 1rem;\n\t}\n\t\n\t.secondary-nav-ul {\n\t\tflex-direction: column;\n\t\trow-gap: .75rem;\n\t\tpadding: 1rem 0;\n\t}\n\t\n\t.secondary-nav-item:before,\n\t.secondary-nav-item:after,\n\t.secondary-nav-item.active::after {\n\t\tcontent: none;\n\t}\n\t\n\t.secondary-nav-item {\n\t\tpadding: 0 1rem;\n\t}\n\t\n\t.secondary-nav-item.active {\n\t\tbackground: #F0F0F0;\n\t\tborder: none;\n\t}\n\t\n\t.secondary-nav-item:hover {\n\t\tborder: none;\n\t\tfilter: none;\n\t}\n\t\n\t.vertical-bar {\n\t\tdisplay: none;\n\t}\n}\n\n@media(min-width: 62em){\n\t.secondary-nav {\n\t\tdisplay: block!important;\n\t}\n}\n\n/* News Centre */\n.news-centre {\n\tposition: relative;\n\tmargin-bottom: 0;\n}\n\n.news-centre .breadcrumbs {\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n}\n\n.news-container,\n.calendar-container {\n\tpadding: 0 1rem;\n}\n\n.news-container .row {\n\trow-gap: 1.5rem;\n}\n\n.filter-sidebar {\n\twidth: 100%;\n\tpadding: 0 1rem;\n\tbackground: var(--medium-grey);\n\tmargin-bottom: 1.5rem; \n}\n\n.filter-wrapper {\n\tpadding: 2rem 1rem;\n}\n\n.filter-wrapper h3 {\n\tmargin: 0 0 .5rem;\n}\n\n.filter-tags {\n\tmargin-bottom: 2rem;\n}\n\n.news-post-img,\n.news-post-img img {\n    aspect-ratio: 16/9;\n    background: #e1e1e1;\n    border-radius: 5px 5px 0 0;\n    display: block;\n\twidth: 100%;\n}\n\n.news-post-img .cover-logo {\n\tpadding: 1rem;\n\twidth: 200px;\n    object-fit: contain;\n}\n\n.news-post {\n    background: var(--medium-grey);\n    display: block;\n    border-radius: 5px;\n\theight: 100%;\n}\n\n.main-content .news-post:hover,\n.main-content .news-post:focus {\n\ttext-decoration: none;\n}\n\n.news-post-text {\n\tcolor: var(--dark-font-color);\n\tpadding: 1rem;\n}\n\n.news-centre .news-title {\n\tfont-size: 1.2rem;\n\ttransition: .2s;\n\toverflow: hidden;\n\tdisplay: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n}\n\n.news-post:hover h3.news-title {\n\tcolor: var(--link-hover-color);\n}\n\n.news-post-date {\n\tfont-size: .8rem;\n\tmargin-bottom: 0.5rem;\n}\n\n.news-post-tags {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: .5rem;\n}\n\n.news-post-tag {\n\tcolor: #333;\n\tfont-size: .8rem;\n\ttext-transform: uppercase;\n}\n\n.banner-news .news-post-tags {\n\tmargin-top: .25rem;\n}\n\n.banner-news .news-post-tag {\n\tcolor: white;\n}\n\n.news-post-tag::before {\n\tcontent: \"\";\n\twidth: 0.5rem;\n    height: 0.5rem;\n\tborder-radius: 50%;\n\tmargin-right: 5px;\n\tdisplay: inline-block;\n}\n\n.filter-group {\n\tpadding: 0.25rem 0.75rem;\n    border-radius: 5px;\n    margin-bottom: 0.75rem;\n\tcolor: white;\n\tbackground: var(--dark-grey);\n}\n\n.filter-group label {\n\ttext-transform: capitalize;\n\tmargin-left: .25rem;\n\tfont-size: .8rem;\n}\n\n.filter-title {\n\talign-items: baseline;\n}\n\n.filter-title h3,\n.filter-date h3 {\n\tcolor: var(--dark-font-color)\n}\n\n/*.news-article {\n\tdisplay: none;\n}*/\n\n.pagination-select {\n    text-align: right;\n\tmargin-bottom: 1rem;\n}\n\n#loadMore {\n\tcolor: white;\n\tmargin: 2rem auto;\n}\n\n#loadMore:hover,\n#loadMore:focus {\n\ttext-decoration: none;\n}\n\n#reset {\n\tcursor: pointer;\n\tcolor: var(--button-1);\n\tfont-size: .8rem;\n}\n\n.date-picker label {\n\tdisplay: block;\n\tfont-weight: var(--font-medium);\n}\n\n.date-picker input[type=\"text\"] {\n\tborder-radius: 5px;\n\tborder: none;\n}\n\n.date-picker .date-input {\n\tposition: relative;\n}\n\n.date-picker .date-input button {\n\tposition: absolute;\n    right: 10px;\n    top: 50%;\n    transform: translateY(-50%);\n\tappearance: none;\n    border: none;\n    background: none;\n}\n\n.date-picker .date-input button::after {\n\tdisplay: inline-block;\n    text-rendering: auto;\n    -webkit-font-smoothing: antialiased;\n    font: var(--fa-font-solid);\n    content: \"\\f073\";\n    color: var(--button-1);\n}\n\n#date-apply {\n\tborder: none;\n}\n\n/*#news-show-number {\n\tborder: none;\n    border-bottom: 1px solid var(--link-color);\n    color: var(--link-color);\n}*/\n\n/* Search bar on news centre and calendar */\n.news-search label,\n.events-search label {\n\tdisplay: none;\n}\n\n.news-search i,\n.events-search i {\n\tposition: absolute;\n\tleft: 8px;\n\ttop: 50%;\n    transform: translateY(-50%);\n}\n\n.news-search,\n.events-search {\n\tposition: relative;\n\tbackground: var(--medium-grey);\n\tborder-radius: 5px;\n\twidth: fit-content;\n\tmargin-bottom: 0;\n}\n\n.search {\n\tborder: none;\t\n\tbackground: var(--medium-grey);\n\tpadding: 0.5rem 0.5rem 0.5rem 36px;\n\tborder-radius: 5px;\n}\n\n.search::placeholder {\n    font-size: .85rem;\n\tcolor: var(--black);\n}\n.search-row,\n.news-centre .search-row {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 1rem;\n\tmargin-top: 1.5rem;\n\tmargin-bottom: 1.5rem;\n}\n\n@media (min-width: 62em){\n\t.news-container,\n\t.calendar-container {\n\t\tpadding: 1.5rem 10% 0 2rem;\n\t\tborder-top: 2px solid var(--medium-grey);\n\t}\n\t\n\t.filter-sidebar {\n\t\twidth: 20%;\n\t\tpadding: 0;\n\t\tmargin-bottom: 0;\n\t}\n\t\n\t.filter-wrapper {\n\t\tpadding: 2rem;\n\t}\n}\n\n/* Contact Template */\n.contact-template .row {\n\trow-gap: 1.5rem;\n}\n\n.contact-template .about-info {\n\tpadding: 3rem 0;\n}\n\n.contact-template .multiboxes-row {\n\tpadding-bottom: 0;\n}\n\n/*.contact-template .about-info.no-bg {\n\tpadding: 0;\n}*/\n\n.contact-template .btn {\n\tfont-size: .85rem;\n    padding: 0.5rem 1rem;\n}\n\n.contact-template .school-map {\n\tmax-width: 100%;\n    list-style: none;\n    transition: none;\n    overflow: hidden;\n    aspect-ratio: 3/1;\n    width: 100%;\n\tmargin-top: -3rem;\n\tmargin-bottom: 2rem;\n\tbox-shadow: 0px 3px 15px #00000029;\n}\n\n.contact-template .school-map img {\n\twidth: 100%;\n    height: 100%;\n}\n\n.contact-template .map-col img {\n\twidth: 100%;\n    aspect-ratio: 3/1;\n}\n\n#gmap-canvas,\n.gmap-canvas {\n\theight:100%; \n\twidth:100%;\n\tmax-width:100%;\n}\n\n#gmap-canvas img,\n.gmap-canvas img {\n\tmax-width:none!important;\n\tbackground:none!important;\n\tfont-size: inherit;\n\tfont-weight:inherit;\n}\n\n.multiboxes-row {\n\tpadding: 0;\n\tmargin-bottom: 2rem;\n}\n\n.multiboxes-row .box {\n\tpadding: 1.5rem;\n}\n\n.multiboxes-row .box-2 {\n\tcolor: var(--dark-font-color)\n}\n\n.multiboxes-row .box-3 {\n\tbackground-color: #EBEBEB;\n}\n\n.team-label {\n\tmargin-bottom: .2rem;\n\tfont-size: .85rem;\n}\n\n.school-msgs {\n    padding: 2rem 1rem;\n}\n\n.school-msgs h3 {\n\ttext-shadow: 0px 3px 6px #00000029;\n}\n\n.school-msgs .btn {\n\tmargin: auto;\n\tbox-shadow: 0px 3px 15px #00000029;\n}\n\n.school-info-wrapper {\n    padding: 1rem 1rem 0;\n\talign-items: flex-start;\n\tgap: 1rem;\n}\n\n.school-info-wrapper h4 {\n\tmargin-top: 0;\n}\n\n.school-info-row {\n    display: flex;\n\tflex-wrap: wrap;\n\trow-gap: 1rem;\n    column-gap: 1rem;\n    width: 100%;\n\tmargin-bottom: 2rem;\n}\n\n.school-info p {\n\tmargin: 0;\n\t/*font-weight: var(--font-bold);*/\n}\n\n.school-info .title {\n\tcolor: var(--primary-color-2);\n}\n\n.school-info p.title {\n\tcolor: var(--primary-color-2);\n\tfont-weight: var(--font-bold);\n}\n\n.location-col {\n\tdisplay: flex;\n    flex-direction: column;\n    justify-content: space-between;\n}\n\n.location-col-content {\n\tflex-grow: 1;\n}\n\n.location-col-inner {\n    background: var(--dark-grey);\n    height: 100%;\n}\n\n.location-title,\n.location-info {\n    padding: 1rem;\n}\n\n.location-title h3 {\n    font-size: 1.2rem;\n}\n\n.location-info .schoolinfo-block {\n\tmargin-bottom: 1rem;\n}\n\n.location-info .schoolinfo-block p {\n\tmargin-bottom: 1rem;\n}\n\n.location-info .schoolinfo-block:last-of-type {\n\tmargin-bottom: 0;\n}\n\n.location-info .schoolinfo-block h4 {\n\tfont-size: 1.1rem;\n}\n\n.multi-maps img {\n\twidth: 100%;\n\taspect-ratio: 3/1;\n}\n\n@media (min-width: 48em){\n\t.multiboxes-row .box {\n\t\tpadding: 1.5rem 5%;\n\t}\n\t\n\t.school-info-wrapper {\n\t\tpadding: 2rem 5% 0.5rem;\n\t}\n}\n\n@media (min-width: 75em){\n\t.contact-template .js-officehours {\n\t\tmin-height: 9rem\n\t}\n\t.contact-template .school-map {\n\t\tmargin-top: -8rem;\n\t\tmargin-left: auto;\n\t\twidth: calc(75% - 1rem);\n\t\taspect-ratio: 4/1;\n\t}\n\n\t.multiboxes-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t}\n\t\n\t.multiboxes-row .box {\n\t\tpadding: 2rem;\n\t\twidth: calc(100% / 3);\n\t}\n\t\n\t.school-msgs {\n\t\tpadding: 2rem 15%;\n\t}\n\t\n\t.school-msgs h3 {\n\t\tfont-size: 1.75rem;\n\t}\n\t\n\t.school-info-wrapper {\n\t\tmargin-left: 10vw;\n\t\tpadding: 3rem 0;\n\t}\n\t\n\t.school-info-wrapper .school-info-text {\n\t\twidth: calc(100% - 5rem);\n\t}\n\t\n\t.school-info-row {\n\t\twidth: 80%;\n\t\tcolumn-gap: 0;\n\t\tjustify-content: space-between;\n\t}\n\t\n\t.multi-location .school-info-row {\n\t\tcolumn-gap: 2rem;\n\t}\n\t\n}\n\n/* Staff Template */\n.staff-tools-wrapper {\n\tpadding: 2rem 0;\n}\n\n.staff-tools-wrapper .tool-link p {\n\ttransition: all .2s ease-in-out;\n}\n\n.staff-tools-wrapper .tool-link:hover p,\n.staff-tools-wrapper .tool-link:focus p{\n\tcolor: var(--link-hover-color)\n}\n\n.main-content .tool-link {\n    align-items: flex-start;\n    gap: 1rem;\n\tcolor: var(--dark-font-color)\n}\n\n.main-content .tool-link:hover,\n.main-content .tool-link:focus {\n\ttext-decoration: none;\n}\n\n.tools-intro h2 {\n\tmargin-bottom: .5rem;\n}\n\n.tool-icon .circle-icon {\n\tcolor: var(--primary-color-2);\n\tbackground: var(--primary-color-2a);\n}\n\n.retired-staff {\n\tmargin-bottom: 1rem;\n}\n\n.retired-staff-text,\n.former-staff-text {\n    padding: 1rem;\n}\n\n@media (min-width: 48em){\n\t.retired-staff-text,\n\t.former-staff-text {\n\t\tpadding: 1rem 5%;\n\t}\n}\n\n@media (min-width: 62em){\n\t.retired-former {\n\t\tdisplay: flex;\n\t\tgap: 1rem;\n\t}\n\t\n\t.retired-staff,\n\t.former-staff {\n\t\twidth: calc(50% - 0.5rem);\n\t\tmargin: 0;\n\t}\n\t\n\t.retired-staff-text,\n\t.former-staff-text {\n\t\tpadding: 3rem 5rem;\n\t}\n}\n\n/* School Council Template */\n.cta-container .row {\n\trow-gap: 2rem;\n}\n.cta-box {\n\tpadding: 1rem;\n}\n\n.cta-box a {\n\tcolor: var(--link-color-2);\n}\n\n.cta-box a:hover,\n.cta-box a:focus {\n\tcolor: var(--link-hover-color-2);\n}\n\n.sc-events-news {\n    padding: 2rem 0;\n\tdisplay: none;\n}\n\n.sc-events-news .event-name {\n    border: none;\n    background: white;\n\tpadding: 0 1rem;\n}\n\n.sc-events-news .event-name .card-description {\n    -webkit-line-clamp: 2;\n    line-height: 1.2;\n    font-size: .9rem;\n    margin-bottom: 0.25rem;\n}\n\n.sc-events-news .event-title {\n\toverflow: hidden;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 1;\n\t-webkit-box-orient: vertical;\n}\n\n.sc-events-news .event-item-wrapper {\n\tpadding: 0;\n}\n\n.sc-events-news .btn {\n\tmargin-left: auto;\n}\n.sc-events-news .news-title {\n\toverflow: hidden;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 2;\n\t-webkit-box-orient: vertical;\n}\n\n.home-events-wrapper.sc {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr;\n\tgrid-template-rows: auto;\n\tpadding: 0;\n}\n\n.sc-news {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr;\n\tgrid-template-rows: auto;\n\trow-gap: 1rem;\n}\n\n.page-content .agenda-list li {\n\tpadding-left: 0;\n\tmargin-bottom: .5rem;\n\tbreak-inside: avoid;\n}\n.page-content .agenda-list li::before {\n\tcontent: none;\n}\n\n.page-content .agenda-list {\n    margin-left: 0;\n}\n\n.agenda-link {\n    word-break: break-word;\n}\n\n.sc-col \u003e div {\n\tpadding: 1.5rem 1rem;\n}\n\n.sc-col \u003e .about-sc,\n.sc-col \u003e .contact-sc {\n\tmargin-bottom: 1rem;\n}\n\n.sc-col \u003e .contact-sc \u003e .flex-row,\n.sc-col \u003e .members-sc \u003e .flex-row {\n\talign-items: flex-start;\n}\n\n.page-content .about-sc ul li::before{\n    background: white;\n}\n\n.showcase.bg-light-grey {\n\tposition: relative;\n\tpadding: 2rem 0;\n}\n\n.tagged-events {\n\tdisplay: none\n}\n\n@media (min-width: 48em){ \n\t.agenda-list {\n\t\tcolumn-count: 2;\n\t}\n\t\n\t.sc-col \u003e .contact-sc \u003e .flex-row,\n\t.sc-col \u003e .members-sc \u003e .flex-row {\n\t\tgap: .75rem;\n\t}\n\t\n\t.sc-events-news \u003e .content-container {\n\t\tpadding: 0 2rem;\n\t}\n}\n\n@media (min-width: 62em){\n\t.cta-box {\n\t\tpadding: 2rem;\n\t}\n\t\n\t.home-events-wrapper.sc {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr 1fr;\n\t\tgrid-template-rows: auto;\n\t\tcolumn-gap: .5rem;\n\t}\n\t\n\t.home-events-wrapper.sc.full-width {\n\t\tgrid-template-columns: 1fr 1fr 1fr 1fr;\n\t}\n\t\n\t.sc-news {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr;\n\t\tgrid-template-rows: auto;\n\t\trow-gap: 1rem;\n\t}\n\t\n\t.sc-news.full-width {\n\t\tgrid-template-columns: 1fr 1fr;\n\t\tcolumn-gap: 1rem;\n\t}\n\t\n\t.sc-grid {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 1rem;\n\t\theight: 100%;\n\t\talign-items: stretch;\n\t}\n\t\n\t.sc-col {\n\t\twidth: calc(50% - 0.5rem);\n\t\theight: auto;\n\t\talign-self: stretch;\n\t\tflex-grow: 1;\n\t}\n\t\n\t.sc-col \u003e div {\n\t\tpadding: 2rem 1.5rem;\n\t}\n\t\n\t.sc-col \u003e .about-sc {\n\t\tmargin-bottom: 0;\n\t\theight: 100%;\n\t\tpadding: 2rem 2.5rem 2rem 2rem;\n\t}\n\t\n\t.showcase.bg-light-grey {\n\t\tpadding: 2.5rem 0;\n\t}\n\n    /* .sc-col \u003e .contact-sc {\n       height: calc(40% - 1rem);\n    }\n\n    .sc-col \u003e .members-sc {\n        height: 60%;\n    } */\n}\n\n/* Program, Focus \u0026 Approach */\n.program-heading,\n.focus-heading, \n.program-content {\n    padding: 2rem 0;\n}\n\n.program-content .row,\n.focus-content .row {\n\trow-gap: 1.5rem;\n}\n\n.program-card .flex-row {\n\tgap: .75rem;\n\talign-items: flex-start;\n}\n\n.flex-row.program-card-inner {\n    background: white;\n    padding: 2rem 1.5rem;\n    box-shadow: 0px 3px 6px #00000029;\n\theight: 100%;\n}\n\n@media (min-width: 62em){\n\t.program-heading,\n\t.focus-heading, \n\t.program-content {\n\t\tpadding: 3rem 0;\n\t}\n}\n\n/* Registration */\n.program-wrapper {\n\tdisplay: none\n}\n\n.designation-block {\n\theight: 100%;\n\tpadding: 2rem;\n\tfont-weight: var(--font-medium);\n}\n\n.designation-block h4 {\n\tmargin: 1rem 0;\n\tfont-size: 1.1rem;\n}\n\n.program-tagline {\n\tmargin-bottom: 0.5rem;\n    display: block;\n\ttext-transform: uppercase;\n}\n\n.program-img {\n\tposition: relative;\n}\n\n.program-img img {\n\taspect-ratio: 730/451;\n\twidth: 100%;\n}\n\n.program1.row,\n.program2.row,\n.program3.row {\n\trow-gap: 1.5rem;\n}\n\n.program1 .colour-block {\n\twidth: 80%;\n\theight: 100%;\n\tposition: absolute;\n\ttop: 70px;\n\tright: 0;\n\tz-index: -1;\n}\n\n.program-text h4 {\n\tfont-size: 1.1rem;\n\tfont-weight: var(--font-medium);\n}\n\n.program-section {\n\toverflow: hidden;\n\tpadding-bottom: 70px;\n\tmargin-top: 3rem;\n}\n\n.program2-section \u003e .content-container {\n\tpadding-top: 1.5rem;\n\tpadding-bottom: 1.5rem;\n}\n\n.program3-section {\n\tpadding-top: 5%;\n\tpadding-bottom: 5%;\n}\n\n.program3 .colour-block-1 {\n\tposition: absolute;\n    width: 25%;\n    height: 120%;\n    top: -10%;\n    left: 25%;\n    z-index: -1;\n}\n\n.program3 .colour-block-2 {\n\tposition: absolute;\n    width: 40%;\n    height: 130%;\n    top: -15%;\n    left: 50%;\n    z-index: -1;\n}\n\n.program3 .program-img {\n\tmargin-top: 10%;\n}\n\n.ready-register {\n\tpadding: 2rem 0;\n\tmargin-top: 4rem;\n\tmargin-bottom: 0;\n}\n\n.ready-register.editable h2 {\n    margin-bottom: .5rem;\n}\n\n.ready-register .subtitle {\n    font-weight: var(--font-medium);\n}\n\n.reg-step {\n    width: 5.5rem;\n    height: 5.5rem;\n    margin: 0 auto 1rem;\n    border-radius: 50%;\n    text-align: center;\n\tfont-size: 2rem;\n    font-weight: var(--font-bold);\n}\n\n.register-steps {\n\tmargin-top: 2rem;\n\trow-gap: 1.5rem;\n}\n\n.register-steps .square-list {\n\tmargin-left: auto;\n}\n\n.register-steps .btn {\n\tmargin-bottom: 1rem;\n}\n\n.cbe-transfer {\n\tmargin-bottom: 0;\n}\n\n.cbe-transfer .text-block {\n    padding: 2rem 1rem;\n}\n\n.cbe-transfer .contact-block {\n\tposition: relative;\n}\n\n.contact-inner-block {\n\tposition: relative;\n\tbackground: white;\n    margin: 3rem 2rem;\n    padding: 2rem;\n\tbox-shadow: 0px 3px 50px #00000029;\n\tz-index: 4;\n}\n\n.cbe-transfer .contact-block .colour-block {\n    position: absolute;\n    width: 50%;\n    height: calc(100% - 3rem);\n    z-index: 3;\n    right: 1rem;\n}\n\n.cbe-transfer .contact-info {\n    margin-bottom: 1.5rem;\n}\n\n.cbe-transfer .contact-line {\n\tmargin-bottom: 5px;\n}\n\n.cbe-transfer .contact-line a {\n\tcolor: var(--link-color);\n}\n.cbe-transfer .contact-line a:hover,\n.cbe-transfer .contact-line a:focus {\n\tcolor: var(--link-hover-color);\n}\n\n@media (min-width: 48em){\n\t.program1 .colour-block {\n\t\twidth: calc(100% - 5vw);\n\t\tright: calc(-5vw + 1rem);\n\t}\n\t\n\t.cbe-transfer .text-block {\n\t\tpadding: 2rem 5vw;\n\t}\n\t\n\t.contact-inner-block {\n\t\tmargin: 3rem 5vw;\n\t}\n}\n\n@media (min-width: 62em){\n\t.program1 .colour-block {\n\t\twidth: 100%;\n\t\tright: calc(-10vw + 1rem);\n\t}\n\t\n\t.program2-section {\n\t\tmargin-right: 10vw;\n\t}\n\t\n\t.program2-section \u003e .content-container {\n\t\tpadding-right: 0;\n\t\tpadding-top: 2rem;\n\t\tpadding-bottom: 2rem;\n\t}\n\t\n\t.program2.row {\n\t\tflex-direction: row-reverse;\n\t}\n\t\n\t.program2 .program-img {\n\t\tmargin-top: -15rem;\n\t}\n\t\n\t.program2 .program-text-inner {\n\t\twidth: 90%;\n\t\tmargin: auto;\n\t}\n\t\n\t.program2-section {\n\t\tmargin-top: 3rem;\n\t}\n\t\n\t.program3 .program-img {\n\t\tmargin-top: 0;\n\t}\n\t\n\t.ready-register {\n\t\tmargin-top: 0;\n\t}\n\t\n\t.cbe-transfer {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t}\n\t\n\t.cbe-transfer .text-block {\n\t\tpadding: 4rem 5vw 4rem 10vw;\n\t\twidth: 60%;\n\t}\n\t\n\t.cbe-transfer .contact-block {\n\t\twidth: 40%;\n\t\talign-self: stretch;\n\t}\n\t\n\t.cbe-transfer .contact-block .bg-light-grey {\n\t\theight: 100%;\n\t}\n\t\n\t.contact-inner-block {\n\t\tmargin: 4rem 5rem 4rem 3rem;\n\t}\n\t\n\t.cbe-transfer .contact-block .colour-block {\n\t\tright: 3rem;\n    \twidth: 30%;;\n\t\theight: calc(100% - 4rem);\n\t}\n}\n\n@media (min-width: 75em) {\n\t.program2 .program-img {\n\t\tmargin-top: -10rem;\n\t}\n\t\n\t.program2-section {\n\t\tmargin-top: 5rem;\n\t}\n\t\n\t.cbe-transfer .text-block {\n\t\twidth: 70%;\n\t}\n\t\n\t.cbe-transfer .contact-block {\n\t\twidth: 30%;\n\t}\n}\n\n@media (min-width: 99em) {\n\t.program2 .program-img {\n\t\tmargin-top: -5rem;\n\t}\n\t\n\t.program2-section {\n\t\tmargin-top: 3rem;\n\t}\n}\n\n/* Article Template */\n.article-template .cover-image {\n\twidth: 100%;\n}\n\n.article-template .news-post-date,\n.article-template .news-content {\n\tmargin-top: 1rem;\n}\n\n.article-template .news-post-date {\n\tcolor: var(--dark-grey)\n}\n\n.article-template .back-link {\n\tmargin: 1rem 0;\n\tgap: 0;\n}\n\n.article-template .date-wrapper {\n\tmargin-bottom: 1rem;\n\tcolor: var(--dark-grey);\n    font-size: .9rem;\n}\n\n.article-template .date-wrapper i {\n\tfont-size: 1rem;\n}\n\n.article-template .back-link:hover {\n\ttext-decoration: none;\n\tcolor: var(--link-hover-color);\n}\n\n.article-template.content-container .content-container {\n\tpadding: 0;\n}\n\n.editor \u003e :first-child:is(h2, h3, h4, h5, h6) {\n    margin-top: 0;\n}\n\n/* .article-template .main-content {\n\tmargin-top: 2rem;\n} */\n\n/* Quicklinks template */\n.quicklinks-template .quicklink-item {\n\tdisplay: block;\n\tcolor: white;\n\tborder: 1px solid var(--medium-grey);\n    padding: 0;\n\taspect-ratio: auto;\n\theight: 100%;\n\tbackground: var(--primary-color-2)\n}\n\n.quicklinks-template .quicklink-item:hover,\n.quicklinks-template .quicklink-item:focus {\n\tcolor: var(--quicklink-hover);\n}\n\n.quicklinks-template .quicklink-item img {\n\tobject-fit: contain;\n    padding: .5rem;\n    height: auto;\n    aspect-ratio: 3/2;\n\tbackground: white;\n\tborder-radius: 8px 8px 0 0;\n}\n\n.quicklinks-template .quicklink-icon {\n\tobject-fit: contain;\n    padding: 0.5rem;\n    height: auto;\n    aspect-ratio: 3/2;\n    background: white;\n    border-radius: 8px 8px 0 0;\n    color: var(--primary-color-2);\n    text-align: center;\n    display: flex;\n    justify-content: center;\n    flex-direction: column;\n}\n\n.quicklinks-template .quicklink-label {\n\tpadding: 1rem;\n\tcolor: white;\n\ttransition: all .2s ease-in-out;\n}\n\n.quicklinks-template.sidebar-template .quicklink-label {\n\tpadding: .5rem;\n}\n\n.main-content .quicklink-item:hover,\n.main-content .quicklink-item:focus{\n\ttext-decoration: none;\n}\n\n.quicklink-item:hover .quicklink-label,\n.quicklink-item:focus .quicklink-label{\n\ttext-decoration: none;\n\tcolor: var(--link-hover-color);\n}\n\n@media only screen and (min-width: 99em){\n\t.quicklink-col.col-xl-2 {\n\t\t-ms-flex-preferred-size: calc(100% / 6);\n\t\tflex-basis: calc(100% / 6);\n\t\tmax-width: calc(100% / 6);\n\t}\n}\n\n.modal-wrapper {\n    display: none;\n    position: fixed;\n    z-index: 500;\n    left: 0;\n    top: 0;\n    width: 100%;\n    height: 100%;\n    overflow: auto;\n    background-color: rgba(0,0,0,0.7);\n    margin: 0!important;\n}\n\n.modal-info {\n\tmargin: 0 auto;\n    width: 90%;\n    position: absolute;\n    top: 20%;\n    left: 0;\n    right: 0;\n    transform: translateY(-50%);\n    padding: 1rem;\n\tmax-height: 90vh;\n}\n\n.modal-wrapper .close-icon {\n    font-size: 1.5rem;\n\tcolor: white;\n\tposition: absolute;\n    top: 1rem;\n    right: 1rem;\n    left: auto;\n    cursor: pointer;\n    z-index: 200;\n}\n\n@media (min-width: 62em){\n\t.modal-info {\n\t\twidth: 40%;\n\t\ttop: 50%;\n\t}\n\t\n\t.translate-modal .modal-info {\n\t\ttop: 35%;\n\t}\n}\n\n.pswp__custom-caption {\n    /* text-align: center; */\n    font-size: 16px;\n    color: #fff;\n    width: fit-content;\n    max-width: 800px;\n    padding: 0.5rem 1rem;\n    position: absolute;\n    left: 50%;\n    bottom: 1rem;\n    transform: translateX(-50%);\n}\n\n\ntable.editor-table {\n\toverflow-x: auto !important;\n}\n\n.our-staff table img {\n\tmax-width: 12rem;\n}\n\n/* same table column width for \"Our Staff\" page */\n.our-staff table {\n    table-layout: fixed; \n}\n\n.ww_cond, .ww_source, .ww_name {\n    display: none!important;\n}\n\n#ww_71372c7ff2842 .ww_icon {\n    order: -1;\n    margin-top: 0!important;\n    margin-bottom: 2%!important;\n}\n\n\n.last-modified {\n    margin: 2rem 0;\n    text-align: center;\n    color: #666666;\n    font-size: .8rem;\n}\n\n.hours-item {\n    margin-bottom: .5rem;\n}\n\n.hours h5 {\n    margin-bottom: .15rem;\n}\n\nh2.minus-margin {\n    margin-top: -.35rem!important;\n}\n\n/* Weather Widget */\n.weather-wrapper iframe #wxlink .mainDiv {\n    border: none!important;\n    background-color: none!important;\n    color: white!important;\n}\n\n@media (max-width: 1300px) {\n    .weather-wrapper iframe {\n        max-width: 100%;\n    }\n}\n\n@media (max-width: 400px) {\n    .weather-wrapper iframe {\n        height: 214px;\n    }\n}\n\n@media (min-width: 1000px) and (max-width: 1300px) {\n    .weather-wrapper iframe {\n        height: 300px;\n    }\n}\n\n/* corporate site styling (mainly for new story) */\n.title-row {\n    margin-bottom: 1rem;\n}\n\n.corporate-news-story.page-header {\n    background-color: transparent;\n    text-align: left;\n    padding-left: 0;\n    padding-right: 0;\n    margin-bottom: 1rem;\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end;\n}\n\n.page-header-no-image::after {\n    content: none;\n}\n\n.page-header-no-image {\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-bottom: 1.5rem;\n}\n\n.corporate-news-story .breadcrumbs {\n    text-transform: none;\n    font-weight: var(--font-medium);\n    color: var(--primary-color-1);\n\tmargin-top: 1rem;\n}\n\n.article-header .breadcrumbs {\n    margin-bottom: 0;\n}\n\n.corporate-news-story .news-banner {\n    display: flex;\n    flex-wrap: wrap;\n}\n\n.corporate-news-story .news-banner-text {\n    background-color: var(--primary-color-2);\n    color: white;\n    padding: 1rem;\n}\n\n.corporate-news-story .news-banner-text p {\n    margin-bottom: 2rem;\n}\n\n.corporate-news-story .news-banner-text p::after {\n    content: \"\";\n    width: 80px;\n    height: 2px;\n    background: #CCE6F5;\n    display: block;\n    margin-top: 2rem;\n}\n\n.corporate-news-story .news-banner-img {\n    width: 100%;\n    aspect-ratio: 3 / 2;\n}\n\n.corporate-news-story .news-banner-img img {\n    height: 100%;\n    aspect-ratio: 3 / 2;\n}\n\n.corporate-news-story .news-banner-text h1 {\n    line-height: 1.1;\n    margin: 0 0 1.5rem;\n    font-size: 2.2rem;\n}\n\n.documents-wrapper {\n    background-color: var(--primary-color-1);\n    border-radius: 5px;\n    padding: 1rem;\n}\n\n.documents-wrapper ul {\n    margin-left: 0;\n    margin-bottom: 0;\n    color: white;\n}\n\n.documents-wrapper ul li {\n    padding: 0;\n    align-items: baseline;\n}\n\n.documents-wrapper ul li:last-of-type {\n    margin-bottom: 0;\n}\n\n.documents-wrapper ul li::before {\n    content: none\n}\n\n.documents-wrapper a {\n    color: white;\n}\n\n.article-share, .article-categories {\n    margin-bottom: 2rem;\n}\n\n.share-icons {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n}\n\n.article-tags {\n    display: flex;\n    flex-wrap: wrap;\n    row-gap: .25rem;\n}\n\n.article-tag {\n    text-transform: capitalize;\n    padding-right: .5rem;\n}\n\n.article-tag::after {\n    content: '|';\n    color: #CCCCCC;\n    padding-left: .5rem;\n}\n\n.article-tag:last-of-type::after {\n    content: none;\n}\n\n.related-events {\n    row-gap: 1.5rem;\n}\n\n.related-event {\n    border-radius: 5px;\n    background: #FCFCFC;\n    box-shadow: 0px 3px 7.5px 0px rgba(0, 0, 0, 0.05);\n\tborder: 2px solid var(--medium-grey);\n    height: 100%;\n    display: flex;\n    gap: 1rem;\n}\n\n.related-event .event-date-wrapper {\n\theight: fit-content;\n}\n\n.related-event .event-date-wrapper:hover,\n.related-event .event-date-wrapper:focus {\n    text-decoration: none;\n    color: white;\n}\n\n.related-event .month {\n    text-transform: uppercase;\n}\n\n.related-event .day {\n    font-size: 1.5rem;\n}\n\n.related-event .week {\n    text-transform: uppercase;\n    font-size: .8rem;\n}\n\n.related-event-details {\n    padding: 1rem 0;\n    width: calc(100% - 7rem);\n\tdisplay: flex;\n    flex-direction: column;\n    justify-content: center;\n}\n\n.related-event-tag {\n    text-transform: uppercase;\n    margin-bottom: .5rem;\n    display: block;\n    font-size: .7rem;\n    color: var(--dark-font-color);\n}\n\n.related-event-title {\n    display: block;\n    font-weight: var(--font-bold);\n    margin-bottom: .25rem;\n    font-size: 1.1rem;\n\tcolor: var(--dark-font-color);\n\tline-height: 1.3;\n}\n\n.related-event .event-date-line {\n\tcolor: var(--dark-grey);\n}\n\n.event-start-date {\n\theight: 100%;\n    padding: 1rem;\n\tdisplay: flex;\n    flex-direction: column;\n    justify-content: center;\n}\n\n.related-event-info {\n    margin-top: .5rem;\n\toverflow: hidden;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 3;\n\t-webkit-box-orient: vertical;\n\tfont-size: .9rem;\n}\n\n.news-main-content .related-event-time-row div {\n\tdisplay: inline;\n}\n\n.related-event-time-row {\n\tfont-weight: var(--font-medium);\n}\n\n.related-event-info .card-description {\n    overflow: hidden;\n    display: -webkit-box;\n    -webkit-line-clamp: 3;\n    -webkit-box-orient: vertical;\n    line-height: 1.6;\n}\n\n.event-multiday {\n    backdrop-filter: brightness(0.5);\n    border-radius: 0 0 0 5px;\n    font-size: .8rem;\n    text-transform: uppercase;\n    padding: .25rem;\n}\n\n.event-time-only {\n\tmargin-right: .5rem;\n}\n\n.event-card-type {\n\tposition: relative;\n\tpadding-left: 1rem;\n}\n\n.event-card-type::before {\n\tbackground: var(--primary-color-2);\n    content: \"\";\n    width: 6px;\n    height: 6px;\n    position: absolute;\n    left: 0;\n\ttop: .5rem;\n}\n\n.separate-dot {\n    color: var(--primary-color-1);\n}\n\n.related-event-type {\n    font-weight: var(--font-medium);\n}\n\n.related-location-date-wrapper {\n\tmargin-top: .5rem;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: .5rem;\n}\n\n.related-event-location,\n.related-event-date {\n    font-size: .8rem;\n    border-radius: 20px;\n    background: #EAEAEA;\n    width: fit-content;\n    padding: .25rem .75rem;\n}\n\n.related-event-date {\n\talign-items: baseline;\n}\n\n.main-content-2 {\n    margin-top: 2rem;\n    margin-bottom: 2rem;\n}\n\n.showcase-zone.news-article {\n    color: white;\n}\n\n.cards-wrapper {\n    row-gap: 1rem;\n    margin-bottom: 2rem;\n}\n\n.card-wrapper {\n    border-radius: 5px;\n    border: 5px solid #EDEEF1;\n    height: 100%;\n\tbackground-color: white;\n}\n\n.card-wrapper img {\n    aspect-ratio: 2/1;\n    border-radius: 5px 5px 0px 0px;\n    width: 100%;\n}\n\n.card-text {\n    padding: 1.25rem 1rem;\n}\n\n.card-wrapper .btn {\n    margin-left: auto;\n    margin-right: auto;\n    filter: drop-shadow(0px 3px 7.5px rgba(0, 0, 0, 0.16));\n}\n\n.card-wrapper p {\n    margin-bottom: 1rem;\n}\n\n.corporate-news-story .quicklink-item {\n    flex-direction: row;\n    justify-content: flex-start;\n    padding: 0;\n    aspect-ratio: unset;\n    gap: 0;\n    height: 100%;\n    border: 2px solid #F0F0F0;;\n}\n\n.corporate-news-story .quicklink-label-wrapper {\n    color: white;\n    flex-grow: 1;\n    padding: 1rem;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n}\n\n.corporate-news-story .quicklink-label-wrapper span {\n    font-size: .9rem;\n}\n\n.corporate-news-story .quicklink-label-wrapper .quicklink-desc {\n    color: #707070;\n    font-weight: var(--font-regular);\n}\n\n.corporate-news-story .quicklink-item img {\n    display: block;\n    width: 100%;\n    height: auto;\n    border-radius: 10px 0 0 10px;\n    padding: 1rem;\n}\n\n.corporate-news-story .quicklink-img-wrapper {\n    width: 35%;\n    background: white;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    height: 100%;\n    border-radius: 10px 0 0 10px;\n}\n\n.corporate-news-story .quicklink-img-wrapper i {\n    color: currentColor;\n    font-size: 2rem;\n    text-align: center;\n    display: block;\n}\n\n.text-link {\n    text-align: center;\n    border-style: solid;\n    border-width: 2px;\n    background-color: white!important;\n    border-color: #00ADDA;\n    transition: all .3s ease-in-out;\n}\n\n.text-link .quicklink-label-wrapper {\n    color: #00ADDA;\n    transition: all .3s ease-in-out;\n\tborder-radius: 10px;\n}\n\n.text-link:hover, .text-link:focus {\n    border-color: var(--link-hover-color);\n}\n\n.text-link:hover .quicklink-label-wrapper, .text-link:focus .quicklink-label-wrapper {\n\tbackground-color: var(--light-grey);\n}\n\n.image-link span {\n    text-align: left;\n}\n\n.image-link .quicklink-label-wrapper {\n    background-color: #00ADDA;\n    border-radius: 0 10px 10px 0;\n    transition: all .3s ease-in-out;\n    width: 65%;\n}\n\n.image-link .quicklink-label-wrapper .quicklink-desc {\n    color: white;\n}\n\n.image-link:hover .quicklink-label-wrapper, .image-link:focus .quicklink-label-wrapper {\n    background-color: var(--link-hover-color);\n}\n\n\n\n/* sidebar quicklinks */\n.corporate-news-story .quicklinks-wrapper {\n\tmargin-top: 1.5rem;\n}\n.quicklink-vertical {\n\tdisplay: flex;\n    border-radius: 10px;\n    align-items: center;\n    font-weight: var(--font-medium);\n    flex-direction: column;\n\tborder: 2px solid #F0F0F0;\n    justify-content: flex-start;\n    padding: 0;\n    aspect-ratio: unset;\n    gap: 0;\n    height: 100%;\n}\n\n.quicklink-vertical .quicklink-img-wrapper,\n.quicklink-vertical.image-link .quicklink-label-wrapper{\n    width: 100%;\n}\n\n.quicklink-vertical .quicklink-img-wrapper {\n    border-radius: 10px 10px 0 0;\n    padding: .5rem;\n    height: 85px;\n}\n\n.quicklink-vertical.image-link .quicklink-label-wrapper {\n    border-radius: 0 0 10px 10px;\n    text-align: center;\n    justify-content: flex-start;\n    height: auto;\n}\n\n.quicklink-vertical.image-link .quicklink-label-wrapper span {\n    text-align: center;\n}\n\n.corporate-news-story ul {\n    margin-left: .5rem;\n}\n\n.showcase {\n    position: relative;\n\tmargin-top: 1.5rem;\n}\n\n.showcase-zone {\n    padding-top: 2rem;\n    padding-bottom: 2rem;\n}\n\n.showcase .flex-row-between {\n    margin: 0;\n}\n\n.corporate-news-story .showcase-swiper .swiper-wrapper {\n\theight: auto;\n}\n\n.corporate-news-story .showcase-swiper .swiper-wrapper:not(:has(.swiper-slide:nth-child(3))) {\n    justify-content: center;\n}\n\n.corporate-news-story .showcase-button-prev, \n.corporate-news-story .showcase-button-next {\n\tposition: absolute;\n    border-radius: 50%;\n    width: 3rem;\n    height: 3rem;\n    top: 50%;\n    transform: translateY(-50%);\n}\n\n.corporate-news-story .news-item \u003e a, \n.corporate-news-story .news-item \u003e div {\n    display: block;\n    box-shadow: 0px 3px 7.5px 0px rgba(0, 0, 0, 0.05);\n}\n\n/* Side Navigation */\n.sidebar-nav {\n    order: -1;\n}\n\n.corporate-news-story .nav-secondary-wrapper {\n    margin-top: 0;\n    margin-bottom: 2rem;\n}\n\n.corporate-news-story .nav-secondary-ul {\n    margin: 0;\n    list-style: none;\n}\n\n.corporate-news-story  .nav-secondary-ul li::before {\n    content: none\n}\n\n.corporate-news-story .secondary-nav-item::after, \n.corporate-news-story .secondary-nav-item.active::after  {\n    content: none;\n}\n\n.corporate-news-story  .secondary-nav-item, \n.corporate-news-story  .secondary-nav-item.active {\n    background-color: transparent;\n    padding: .75rem 0;\n    margin-bottom: 0;\n    border-bottom: 1px solid #ccc;\n}\n\n.contact-zone {\n    background-color: #CCE6F5;\n    border-radius: 5px;\n    padding: 2rem;\n}\n \n.contact-zone .circle-icon {\n    background: rgba(0, 0, 0, 0.1975);\n    color: var(--dark-font-color);\n}\n\n.all-notices .contact-row,\n.corporate-news-story .contact-row {\n    margin-bottom: 1rem;\n}\n\n.corporate-news-story .contact-row:last-of-type {\n    margin-bottom: 0;\n}\n\n.corporate-news-story .contact-row a {\n    color: var(--dark-font-color);\n}\n\n.corporate-news-story .contact-title {\n    margin-bottom: 1rem;\n}\n\n.corporate-news-story .contact-title h2 {\n    text-align: center;\n}\n\n.corporate-news-story .contact-col {\n    margin-bottom: 2rem;\n}\n\n@media (min-width: 48em) {\n    .text-left .news-banner-text,\n    .text-right .news-banner-text {\n        padding: 2rem 5% 2rem 5%;\n    }\n}\n\n@media (min-width: 62em) {\n    .news-banner-img, .news-banner-text {\n        flex-basis: 50%;\n        max-width: 50%;\n    }\n\n\t.no-news-banner-img .news-banner-text {\n        flex-basis: 100%;\n        max-width: 100%;\n    }\n\n    .text-left .news-banner-text,\n    .corporate-news-story .news-banner-text {\n        padding: 2rem 5% 2rem 10%;\n    }\n\n    .text-right .news-banner-text {\n        padding: 2rem 10% 2rem 5%;\n    }\n\n    .text-right .news-banner-img {\n        order: -1;\n    }\n\n    .event-card {\n        padding: 2rem;\n    }\n\n    .location-contact-zone svg {\n        right: 2rem;\n    }\n\n    .location-contact-section .bg-colour-filter {\n        padding-top: 5rem;\n        padding-bottom: 5rem;\n    }\n\n\t.corporate-news-story .showcase-button-next {\n        right: calc((10vw - 3rem) / 2);\n    }\n\n    .corporate-news-story .showcase-button-prev {\n        left: calc((10vw - 3rem) / 2);\n    }\n}\n\n/* About Us Template */\n.about_template .about-bg {\n\taspect-ratio: 253/60;\n\theight: auto;\n}\n\n.about_template .row {\n\trow-gap: 2rem;\n\tjustify-content: space-between;\n}\n\n.about_template .row.multi-maps {\n\tjustify-content: center;\n}\n\n.about_template .about-profile {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 1rem;\n\tmargin: 2rem 0;\n}\n\n.about-contact-info {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 1rem;\n}\n\n.about-contact-info a {\n\tcolor: var(--dark-font-color);\n}\n\n.about-contact-info a:hover,\n.about-contact-info a:focus {\n\tcolor: var(--link-color);\n}\n\n.ward-school-name {\n\tfont-weight: var(--font-regular);\n}\n\n.about-program {\n\tborder-radius: 5px;\n\tbox-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);\n\tpadding: 1rem;\n\tposition: relative;\n}\n\n.about-program h2 {\n\tmargin-bottom: .75rem;\n}\n\n.about-program .multi-grades,\n.about-program .js-enrollment-multi {\n\tfont-size: 1.2rem;\n}\n\n.about-school-info-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 2rem;\n}\n\n.about-school-info {\n\twidth: 100%;\n\ttext-align: left;\n}\n\n.about-program-text {\n\tmargin-bottom: .5rem;\n}\n\n.about-profile-label {\n\tmargin-bottom: .5rem;\n\tfont-size: 1.1rem;\n}\n\n.grade-enrollment-item {\n\tfont-size: 1.1rem;\n}\n\n.about-profile-number {\n\tmargin: 0;\n\tfont-size: 2rem;\n}\n\n.about_template-multiple .about-profile-number {\n\tfont-size: 1.1rem;\n}\n\n.js-grade-enrolment span {\n\tfont-weight: var(--font-medium);\n}\n\n.js-grade-enrolment {\n\tdisplay: flex;\n    flex-direction: column;\n}\n\n.about-location {\n\tmargin-top: -5rem;\n\toverflow: visible;\n}\n\n.about-location .content-container {\n\tpadding-top: 6rem;\n\tpadding-bottom: 3rem;\n}\n\n.about_template-multiple .about-location-content {\n    background: white;\n    color: var(--dark-font-color);\n    text-align: center;\n    padding: 1rem;\n}\n\n.about_template-multiple .about-location-text {\n\tmargin-top: .5rem;\n}\n\n.about_template-multiple .about-location-link {\n    margin: 0 auto;\n    width: 100%;\n    text-align: center;\n    display: block;\n    color: white;\n    background: var(--primary-color-2);\n    padding: .5rem 1rem;\n}\n\n.about_template-multiple .location-card {\n\theight: 100%;\n\tbackground-color: white;\n}\n\n.about_template-multiple .location-card-content {\n\theight: 100%;\n}\n\n.about-map img {\n\taspect-ratio: 2.5 / 1;\n    margin-bottom: -18%;\n    position: relative;\n    z-index: 1;\n}\n\n.about-notice, .about-leadership {\n\tpadding-top: 2rem;\n\tpadding-bottom: 2rem;\n}\n\n.about-notice {\n\tpadding-top: 4rem;\n\tpadding-bottom: 3rem;\n\tposition: relative;\n}\n\n.about-notice-heading {\n\tmargin-bottom: 1rem;\n}\n\n.about-notice-left, .about-notice-right {\n\tposition: relative;\n\tz-index: 10;\n}\n\n.about-notice-left .circle-icon {\n\tbackground:  #9A0235;\n}\n\n.about-notice-right .circle-icon {\n\tbackground:  var(--dark-font-color);\n}\n\n.about-notice-left h2 {\n\tcolor: #9A0235;\n}\n\n.about-notice .fa-flag {\n\tcolor: #9A0235;\n\tmargin-right: .5rem;\n}\n\n.about-notice-graphic {\n\tdisplay: none;\n    margin: auto;\n\tz-index: 1;\n}\n\n.about-notice-left-content {\n\tmargin-left: .5rem;\n}\n\n.about-notice .editor ul li::before {\n    background: var(--button-2);\n\ttop: 0.7rem;\n}\n\n.about-notice .editor ul {\n\tmargin-left: 0;\n}\n\n.about-notice .editor details summary {\n\tbackground-color: var(--link-color);\n\tcolor: white;\n\tfilter: drop-shadow(0px 3px 7.5px rgba(0, 0, 0, 0.16));\n\tborder-radius: 5px;\n\tjustify-content: space-between;\n\tpadding: .5rem .5rem .5rem .75rem;\n}\n\n.about-notice .editor details summary * {\n\tcolor: white;\n}\n\n.about-notice .editor details summary h3 {\n\tfont-weight: var(--font-medium);\n\tfont-size: 1rem;\n\tmargin: 0;\n}\n\n.about-notice .editor details summary i {\n\tmargin: 0;\n}\n.about-leadership .row {\n\trow-gap: 1rem;\n}\n\n.about-leadership .team-label {\n\ttext-shadow: 0px 3px 3px rgba(0, 0, 0, 0.16);\n}\n\n.about-leadership .team-name {\n\ttext-shadow: 0px 3px 3px rgba(0, 0, 0, 0.16);\n\tfont-weight: var(--font-bold);\n}\n\n.leadership-img {\n\torder: 2;\n\tmax-width: 50%;\n\tmargin: auto;\n}\n\n.system-leadership {\n\torder: 1;\n}\n\n.about-hours img {\n\twidth: 100%;\n\tbox-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.16);\n\taspect-ratio: 1920/550;\n\tobject-position: bottom 5% left 50%;\n}\n\n.about-hours-row {\n    background: white;\n\tborder-radius: 5px;\n\tborder: 1px solid #dedede;\n\tbox-shadow: 0px 3px 7.5px 0px rgba(0, 0, 0, 0.05);\n\twidth: 90%;\n    margin: -4rem auto 0;\n\trow-gap: 1rem;\n}\n\n\n.about-hours-left {\n\tbackground-color: white;\n\tpadding: 1rem 1rem 0;\n\tborder-radius: 5px 5px 0 0;\n}\n\n.about-hours-row.no-next-year .about-hours-left{\n\tborder-radius: 5px;\n}\n\n.about-hours-left .btn {\n\tmargin: auto;\n}\n\n.about-hours-left h3 {\n\tcolor: var(--link-color);\n}\n\n.about-hours-left p {\n\tfont-weight: var(--font-semibold);\n\tmargin-bottom: 0;\n}\n\n.about-hours-right {\n\tbackground-color: var(--link-color);\n\tpadding: 1rem;\n\tborder-radius: 0 0 5px 5px;\n}\n\n.about-hours-right p {\n\tcolor: white;\n}\n\n.about-current-hours {\n\tmargin-bottom: 1.5rem;\n}\n\n.about-current-hours .row {\n\trow-gap: 0;\n}\n\n.about-current-hours .col-xs-12 {\n\tposition: relative;\n}\n\n.about-current-hours .col-xs-12::after {\n\tcontent: '';\n\tposition: absolute;\n\twidth: 1px;\n\theight: 100%;\n\tbackground-color: #EAEAEA;\n\ttop: 50%;\n\tright: 0;\n\ttransform: translateY(-50%);\n}\n\n.about-current-hours .col-xs-12:last-of-type::after {\n\tcontent: none;\n}\n\n.about-highlights {\n\tposition: relative;\n\tmargin: 2rem auto 0;\n}\n\n.about-highlights-left {\n\tposition: relative;\n\tpadding-top: 1rem;\n\tpadding-bottom: 1rem;\n}\n\n.about-highlights-left img {\n\twidth: 100%;\n\tbox-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.16);\n\taspect-ratio: 3 / 2;\n}\n\n.about-highlights-right .subtitle {\n\tmargin-bottom: .5rem;\n}\n\n.about-highlights-right h2 {\n\tmargin-bottom: .5rem;\n\tcolor: var(--primary-color-2);\n}\n\n.about-highlights .colour-block {\n    width: 40%;\n    height: 100%;\n    position: absolute;\n    top: 0;\n\tleft: -3%;\n    z-index: -1;\n}\n\n.about-news-event .news h2 {\n\tmargin-bottom: 1.25rem;\n}\n\n.about-news-event {\n\tmargin-bottom: 2rem;\n}\n\n.about-news-event \u003e .row {\n\trow-gap: 0;\n}\n\n.about-news-event .home-news {\n\tflex-direction: column;\n}\n\n.about-news-event .home-events-wrapper {\n\trow-gap: 1rem;\n\tdisplay: grid;\n\tgrid-template-rows: repeat(4, minmax(0, 1fr));\n\tjustify-content: unset;\n}\n\n.about-news-event a:hover,\n.about-news-event a:focus {\n\ttext-decoration: none;\n}\n\n.about-explore .cta {\n\tpadding: 1rem;\n\tbox-shadow: 0px 3px 25px 0px rgba(0, 0, 0, 0.16);\n\theight: 100%;\n}\n\n.about-navigation {\n\tpadding: 1rem;\n\theight: 100%;\n\tborder-left: 8px solid var(--link-color);\n}\n\n.about-navigation ul {\n\tmargin-bottom: 0;\n\tmargin-left: 0;\n}\n\n.about-navigation ul li::before {\n    content: none;\n}\n\n.about-navigation ul li {\n\tlist-style: none;\n\tpadding-left: 0;\n\tpadding-bottom: .75rem;\n\tmargin-bottom: .75rem;\n\tborder-bottom: 1px solid #ccc;\n}\n\n.about-navigation ul li:last-of-type {\n\tpadding-bottom: 0;\n\tmargin-bottom: 0;\n\tborder-bottom: none;\n}\n\n.about-navigation ul li a {\n\tcolor: var(--dark-font-color);\n\tfont-weight: var(--font-medium);\n}\n\n.program-divider {\n\tmargin-bottom: 0;\n}\n\n.grade-wrapper {\n\tmargin-bottom: .5rem;\n}\n\n.about-school-info-row hr {\n\tdisplay: none;\n}\n\n@media (min-width: 600px) {\n\t.about-notice {\n\t\tpadding-top: 10%;\n\t}\n\n\t.about-map img {\n\t\tmargin-bottom: -13%;\n\t}\n\n\t.about-school-info {\n\t\twidth: calc((100% - 2rem) / 2);\n\t}\n\n\t.about-program {\n\t\tpadding: 2rem;\n\t}\n}\n\n@media (min-width: 62em) and (max-width: 1199px) {\n\t.about-map img {\n\t\tmargin-bottom: -45%;\n\t}\n}\n\n@media (min-width: 62em) {\n\t.program-divider {\n\t\tdisplay: none;\n\t}\n\n\t.about-news-event .home-news {\n\t\tjustify-content: space-between;\n\t}\n\n\t.about-school-info-row {\n\t\tjustify-content: center;\n\t}\n\n\t.about-school-info-row hr {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.about_template-multiple .about-school-info-row {\n\t\tjustify-content: space-between;\n\t}\n\n\t.about-school-info {\n\t\twidth: calc((100% - 4rem) / 3);\n\t\ttext-align: center;\n\t}\n\n\t.about_template-multiple .about-school-info.ward,\n\t.about_template-multiple .about-school-info.enrolment,\n\t.about_template-multiple .about-school-info.grade-enrollment {\n\t\ttext-align: left;\n\t}\n\n\t.about_template-multiple .about-school-info {\n\t\twidth: auto;\n\t}\n\n\t.about_template-multiple .about-school-info.enrolment,\n\t.about_template-multiple .about-school-info.grade-enrollment {\n\t\twidth: calc((100% - 2rem) / 2);\n\t}\n\n\t.about-profile-number {\n\t\tfont-size: 3rem;\n\t}\n\n\t.about_template-multiple .about-school-info.area .about-profile-number,\n\t.about_template-multiple .about-school-info.grades .about-profile-number {\n\t\tfont-size: 2.5rem;\n\t}\n\n\t.about_template-multiple .about-school-info .about-profile-number.multi-grades {\n\t\tfont-size: 1.1rem;\n\t}\n\n\t.about-program {\n\t\tpadding: 2rem;\n\t}\n\n\t.about-program-right {\n\t\tborder-left: 1px solid #EAEAEA;\n\t}\n\n\t.about_template-multiple .about-program-right {\n\t\tpadding-left: 2rem;\n\t}\n\n\t.about-program-left {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t}\n\n\t.about-location .content-container {\n\t\tpadding-top: 8rem;\n\t}\n\n\t.about-notice {\n\t\tpadding-top: 7%;\n\t} \n\n\t.about-notice-left,\n\t.about-notice-right.has-notice {\n\t\tflex-basis: calc(100% * 5 / 12);\n        max-width: calc(100% * 5 / 12);\n\t}\n\n\t.about-notice-right.no-notice {\n\t\tflex-basis: calc(100% * 10 / 12);\n\t\tmax-width: calc(100% * 10 / 12);\n\t}\n\t\n\t.about-notice-graphic {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\twidth: 22vw;\n\t\tmax-width: 550px;\n        height: auto;\n\t\ttop: 50%;\n\t\tbottom: unset;\n\t\ttransform: translate(-50%, -50%);\n\t\tleft: 26%;\n\t\tright: 0;\n\t\tmargin: auto;\n\t}\n\n\t.about-notice-graphic.no-notice {\n\t\tmax-width: 350px;\n\t\tmargin-right: 0;\n\t\tleft: unset;\n\t\ttransform: translateY(-50%);\n\t\tright: 1rem;\n\t}\n\n\t.about-leadership .system-leadership {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: flex-end;\n\t\torder: 3;\n\t}\n\n\t.leadership-img {\n\t\tmax-width: unset;\n\t}\n\n\t.text-inner {\n\t\ttext-align: left;\n\t}\n\n\t.about-hours-row {\n\t\tmargin-top: -5rem;\n\t\twidth: 100%;\n\t}\n\n\t/* .about-hours img {\n\t\taspect-ratio: 1920/450;\n\t} */\n\n\t.about-hours-left {\n\t\tborder-radius: 5px 0 0 5px;\n\t\tpadding: 2rem;\n\t}\n\n\t.about-hours-right {\n\t\tborder-radius: 0 5px 5px 0;\n\t\tpadding: 2rem;\n\t}\n\n\t.about-highlights {\n\t\tpadding-top: 2rem;\n\t\tpadding-bottom: 2rem;\n\t}\n\n\t.about-highlights-left {\n\t\tposition: static;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t}\n\n\t.about-highlights .content-container {\n\t\tpadding-left: 3%;\n\t}\n\n\t.about-highlights-right {\n\t\tpadding-left: calc(1rem + 3%);\n\t}\n\n\t.about-highlights .colour-block {\n\t\twidth: 30%;\n\t}\n\n\t.about-explore .cta, .about-navigation {\n\t\tpadding: 2rem;\n\t}\n}\n\n\n/* Individual Notice */\n.notice-banner {\n\tbackground-color: #ECF0F3;\n\tjustify-content: space-between;\n}\n.notice-banner .news-banner-text{\n\tbackground-color: #ECF0F3;\n\tcolor: var(--dark-font-color);\n\twidth: 100%;\n}\n\n.notice-banner .article-tags {\n\tgap: .5rem;\n\tmargin-bottom: 1.5rem;\n}\n\n.notice-banner .article-tag::after {\n\tcontent: none;\n}\n\n.notice-banner .article-tag {\n\tbackground-color: #F28725;\n\tcolor: white;\n\tpadding: 5px;\n\ttext-transform: uppercase;\n    font-size: 14px;\n}\n\n\n.notice-banner h1::after {\n\tcontent: '';\n\twidth: 80px;\n\theight: 2px;\n\tbackground: #00ADDA;\n\tdisplay: block;\n    margin-top: 1.5rem;\n}\n\n.notice-banner .format-date-news {\n\tfont-weight: var(--font-medium);\n}\n\n.notice-main-content .documents-wrapper {\n\tmargin-bottom: 1.5rem;\n\tbackground-color: #00adda;\n}\n\n.notice-main-content .circle-icon,\n.notice-main-content .info-card-container .bts-col::after {\n\tbackground-color: #F28725;\n}\n.notice-main-content .info-card-container .bts-col .btn-arrow::after {\n\tcolor: #F28725;\n}\n\n.notice-main-content .info-card-container .bts-col .btn-arrow::after, \n.notice-main-content .info-card-container .bts-col .btn-arrow:hover, \n.notice-main-content .info-card-container .bts-col .btn-arrow:focus {\n    color: #F28725;\n}\n\n\n/* all notices */\n.all-notices .notice-intro .btn {\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.all-notices.notice-main-content .circle-icon,\n.all-notices.notice-main-content .info-card-container .bts-col::after {\n\tbackground-color: #00ADDA;\n}\n.all-notices.notice-main-content .info-card-container .bts-col .btn-arrow::after, \n.all-notices.notice-main-content .info-card-container .bts-col .btn-arrow:hover, \n.all-notices notice-main-content .info-card-container .bts-col .btn-arrow:focus {\n    color: #00ADDA;\n}\n\n.all-notices .related-title {\n\tbackground-color: var(--primary-color-2);\n}\n\n.all-notices .related-wrapper {\n\tbackground-color: var(--light-grey);\n\tmargin-bottom: 0;\n}\n\n.all-notices .related-content {\n\tpadding: 1rem;\n}\n\n.all-notices .related-wrapper li::before {\n\tbackground: var(--dark-font-color);\n}\n\n.all-notices .related-content .editor *:first-child{\n\tmargin-top: 0;\n}\n\n.all-notices .related-content .editor *:last-child {\n\tmargin-bottom: 0;\n}\n\n.notice-table-col {\n\tjustify-content: space-between;\n\tgap: 1rem;\n\theight: 100%;\n\tfont-size: .9rem;\n}\n\n.notice-table-col .pager {\n\tmargin-bottom: 0;\n\tmargin-top: 0;\n}\n\n.info-card-container .content-card {\n\tgap: 1rem;\n}\n\n.related-school-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: .5rem;\n}\n\n.all-notices .row {\n\trow-gap: 1.5rem;\n}\n\n.notice-intro {\n\tbackground-color: #00adda;\n\tcolor: white;\n\tpadding: 1rem;\n\theight: 100%;\n}\n\n.notice-table th {\n    background-color: #00adda !important;\n    color: white!important;\n\ttext-align: left;\n}\n\n.notice-table {\n    box-shadow: none;\n\tborder: 1px solid #CCC;\n\tmargin-bottom: 0;\n}\n\n.notice-table tr:nth-child(odd) {\n    background: #E5F7FB;\n}\n\n.notice-table p:last-of-type {\n    margin-bottom: 0;\n}\n\n.notice-table-tag {\n\ttext-transform: capitalize;\n}\n\n.notice-table .notice-table-date,\n.notice-table .notice-table-tag {\n\tmin-width: 150px;\n}\n\n.explore-nav {\n    background-color: #F0F0F0;\n    padding: 2rem;\n    border-radius: 5px;\n\theight: 100%;\n}\n\n.explore-nav .secondary-nav-item:last-of-type {\n    border-bottom: none;\n}\n\n.off-campus-program .contact-zone {\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n}\n\n.contact-section \u003e.row {\n    row-gap: 1rem;\n}\n\n@media (min-width: 62em) {\n\t.notice-banner .news-banner-img,\n\t.notice-banner .news-banner-img img {\n\t\taspect-ratio: 580 / 525;\n\t}\n\n    .notice-banner .news-banner-img {\n        flex-basis: calc(30% + 2rem);\n        max-width: calc(30% + 2rem);\n    }\n\n\t.notice-banner .news-banner-text {\n\t\tflex-grow: 1;\n\t}\n\n\t.no-news-banner-img .news-banner-text {\n\t\tflex-basis: 100%;\n\t\tmax-width: 100%;\n\t}\n\n\t.notice-intro {\n\t\tpadding: 2rem;\n\t}\n}\n\n/* Weekly Updates */\n#weekly-events .event-date-wrapper, \n#weekly-events .event-name {\n\theight: 5rem;\n}\n\n#weekly-events {\n\tmargin-bottom: 2rem;\n}\n\n\n/* 404 Page */\n.error-page-container .btn,\n.error-page-container p,\n.error-page-container label {\n    display: none;\n}\n\n.error-page-container p {\n    font-size: 1.5rem;\n}\n\n.error-page-container .error-contact {\n    margin-top: 1rem;\n\tfont-size: 1rem;\n}\n\n.error-page-container .search-button {\n    position: static;\n    transform: unset;\n    width: fit-content;\n    margin-top: 1rem;\n}\n\n.error-page-container .input-field input[type=\"text\"] {\n    width: fit-content;\n    border-radius: 5px;\n    padding: .75rem 1rem;\n}\n\n\n/* IE Query Pager */\nie-query .pager {\n    display: flex;\n    align-items: center;\n    gap: 0.25rem;\n    position: relative;\n    counter-reset: pages;\n    margin: auto;\n}\n\n/* Hide all page links but keep them counted\n   (display: none would stop the counter) */\nie-query .pager .page {\n    counter-increment: pages;\n    position: absolute;\n    visibility: hidden;\n\tpadding: unset;\n\tborder-radius: unset;\n\tcolor: unset;\n\tbackground-color: unset;\n\tborder: unset;\n\tmargin: 0;\n}\n\n/* \"Page 1\" */\nie-query .pager .page.current {\n    position: static;\n    visibility: visible;\n    order: 2;\n\tbackground-color: unset;\n\tcolor: unset;\n\tborder-color: unset;\n\tcursor: unset;\n\tmargin: 0;\n    border: none;\n    padding: 0;\n}\n\nie-query .pager .page.current::before {\n    content: \"Page \";\n}\n\n/* \"of 29\" */\nie-query .pager::after {\n    content: \"of \" counter(pages);\n    order: 3;\n}\n\n/* Prev / next arrows: the links on either side of the current page */\nie-query .pager .page:has(+ .current),\nie-query .pager .current + .page {\n    position: static;\n    visibility: visible;\n    font-size: 0;\n    text-decoration: none;\n}\n\nie-query .pager .page:has(+ .current) { order: 1; }\nie-query .pager .current + .page { order: 4; }\n\nie-query .pager .page:has(+ .current)::before,\nie-query .pager .current + .page::before {\n    font-family: \"Font Awesome 7 Free\";\n    font-weight: 900;\n    font-size: 1rem;\n    margin-left: .5rem;\n}\n\nie-query .pager .page:has(+ .current)::before { content: \"\\f053\"; margin-right: .5rem; } /* chevron-left */\nie-query .pager .current + .page::before { content: \"\\f054\"; }      /* chevron-right */\n\nie-query .pager:has(\u003e .page.current:first-child)::before {\n    content: \"\\f053\";\n    font-family: \"Font Awesome 7 Free\";\n    font-weight: 900;\n    font-size: 1rem;\n    order: 1;\n    opacity: 0.35;\n    margin-right: .5rem;\n}\n","data":null,"route":"/css/global.css","path":"fbe4374b5b0b4eae9659f9a4ef295e38","created":"2023-10-19T21:16:24.920423Z","updated":"2026-10-23T21:01:44.585764Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"56258bb7-c9f3-416d-b2a8-a6265e30f3c9","Firstname":"imagineEverything","Lastname":"support"},"TemplateKey":null,"StructureKey":null,"departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2024-02-23T00:09:05.473Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{},"media":null},{"id":"7b1d1b8f-1be1-4d61-b76e-65edf23540a7","type":"fragment","owner":"3a7551ac-c626-4dec-8d55-ee9212788a1c","publisher":"3a7551ac-c626-4dec-8d55-ee9212788a1c","title":"Hillhurst School","content":"","data":{"latlng":{"lat":"51.05739","lng":"-114.09249"},"profile":{"fax":"587-933-9830","email":"Hillhurst@cbe.ab.ca","phone":"403-777-6360","hidden":"0","address":"1418 7 Ave NW Calgary, AB T2N 0Z2","logourl":"/schools/find-a-school/schoollogosandimages/b218logo.gif","lottery":"0","subarea":"A","website":"https://hillhurst.cbe.ab.ca/","areaname":"Area 7","capacity":"0","lowgrade":"0","opentime":"8:45","proposed":"0","sbeditor":"cbeorg\\dakooperberg,cbeorg\\sfdharamsi,cbeorg\\jccesario,cbeorg\\kjpope","wardname":"Ward 7","closetime":"3:20","highgrade":"6","principal":"cbeorg\\kjpope","assistants":"cbeorg\\kjpope","domainname":"hillhurst.cbe.ab.ca","hoursclass":"Mon-Thurs: 8:45-3:20\nFri: 8:45-12:45","sbapprover":"cbeorg\\kjpope,cbeorg\\dakooperberg,cbeorg\\sfdharamsi,cbeorg\\jccesario,cbeorg\\jnsaxton","schoolcode":"218","schoolname":"Hillhurst School","schooltype":"Elementary","description":"- We have two programs in the school: a kindergarten to grade 6 community program and a grade 4 to 6 gifted and talented program (GATE). There are no significant boundaries evident between programs as we consider ourselves one united team of leaders and learners.\n\n- The GATE program is a CBE program that draws from Areas I, II, and III; the community program has enrollment restricted to our boundaries (generally the community of Hillhurst - see map K-6)\n\n- Through collaborative community efforts, we provid enriched learning experiences that foster academic excellence and develop active, responsible, compassionate citizens.\n\n- We pride ourselves on having a strong, supportive community of students, parents \u0026 teachers who work together for the safety \u0026 security of our students.\n\n- We have a very active and supportive School Council.\n\n- Our students, parents and staff undertake many charitable works.","hoursoffice":"Mon-Thurs: 8:30-3:30\nFri: 8:30-1:00","officehours":"Class Hours\nMon-Thurs: 8:45-3:20\nFri: 8:45-12:45\nOffice Hours\nMon-Thurs: 8:30-3:30\nFri: 8:30-1:00","openingdate":"","areaFragment":"fragment://55e605f1-1c6f-4f1c-bcc8-55a847d8dafa","calendarname":"Traditional Calendar","hrdepartment":"HR10000086","wardFragment":"fragment://46750386-c591-4758-aa40-393a5c3d6da6","classhoursend":"3:17","hoursbusiness":"","administrators":"cbeorg\\jccesario,cbeorg\\kjpope","mapcoordinates":"0xE6100000010C088F368E58874940404D2D5BEB855CC0","officehoursend":"3:30","proposedgrades":"","classhoursstart":"8:45","officehoursstart":"8:30","classdismissalday":"Friday","schooldisplayname":"Hillhurst School","classdismissaltime":"12:52","designationsummary":"","officedismissaltime":"1:00"},"programs":[{"id":"58abe78e-89a4-4214-97e4-e19b914937d3","overlay":"/documents/f871cb6f-2d7c-48c7-81e2-703975c9d754/Regular_Hillhurst_2025_26_K-6.kmz","walkzone":"/documents/9b07cc5e-c922-482f-bbd7-0fa257beb0b4/HillhurstSchool_WalkZone_1600_K-6.kmz","programFragment":"fragment://9d06f92c-6f9e-42bb-a2ce-890215738ecc","programLowGrade":"0","programDateRange":"","programHighGrade":"6"}],"enrollment":[{"id":"bfab9a22-e95e-4807-9e04-4d2a16089e4a","grades":"0","number":"18"},{"id":"0020b78e-9db4-40aa-bd5d-cc0dd468e565","grades":"1","number":"13"},{"id":"26ae90c1-02cf-4598-aa6f-101debd41156","grades":"2","number":"33"},{"id":"89aab6fd-8627-4db6-b595-5da4750b6ad2","grades":"3","number":"20"},{"id":"ebf3a2ea-1926-4539-9e86-f645a7ca13fb","grades":"4","number":"51"},{"id":"96bb9ea9-aa9d-4c60-8068-a9340f6b7f8d","grades":"5","number":"69"},{"id":"00dc7c94-1b49-41b9-9246-8bf332a36dd5","grades":"6","number":"54"}]},"route":"","path":"7b1d1b8f1be14d61b76e65edf23540a7","created":"2026-02-25T23:16:32.655089Z","updated":"2026-10-23T20:44:52.024676Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{"schoolCode":"218"},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"3a7551ac-c626-4dec-8d55-ee9212788a1c","Firstname":"Anastasia","Lastname":"Boltogaeva"},"TemplateKey":null,"StructureKey":"school_profile_fragment","departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2025-05-27T19:33:06.006Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{"enrollment":[{"grades":"0","id":"bfab9a22-e95e-4807-9e04-4d2a16089e4a","number":"18"},{"grades":"1","id":"0020b78e-9db4-40aa-bd5d-cc0dd468e565","number":"13"},{"grades":"2","id":"26ae90c1-02cf-4598-aa6f-101debd41156","number":"33"},{"grades":"3","id":"89aab6fd-8627-4db6-b595-5da4750b6ad2","number":"20"},{"grades":"4","id":"ebf3a2ea-1926-4539-9e86-f645a7ca13fb","number":"51"},{"grades":"5","id":"96bb9ea9-aa9d-4c60-8068-a9340f6b7f8d","number":"69"},{"grades":"6","id":"00dc7c94-1b49-41b9-9246-8bf332a36dd5","number":"54"}],"latlng":{"lat":"51.05739","lng":"-114.09249"},"profile":{"address":"1418 7 Ave NW Calgary, AB T2N 0Z2","administrators":"cbeorg\\jccesario,cbeorg\\kjpope","areaFragment":"fragment://55e605f1-1c6f-4f1c-bcc8-55a847d8dafa","areaname":"Area 7","assistants":"cbeorg\\kjpope","calendarname":"Traditional Calendar","capacity":"0","classdismissalday":"Friday","classdismissaltime":"12:52","classhoursend":"3:17","classhoursstart":"8:45","closetime":"3:20","description":"- We have two programs in the school: a kindergarten to grade 6 community program and a grade 4 to 6 gifted and talented program (GATE). There are no significant boundaries evident between programs as we consider ourselves one united team of leaders and learners.\n\n- The GATE program is a CBE program that draws from Areas I, II, and III; the community program has enrollment restricted to our boundaries (generally the community of Hillhurst - see map K-6)\n\n- Through collaborative community efforts, we provid enriched learning experiences that foster academic excellence and develop active, responsible, compassionate citizens.\n\n- We pride ourselves on having a strong, supportive community of students, parents \u0026 teachers who work together for the safety \u0026 security of our students.\n\n- We have a very active and supportive School Council.\n\n- Our students, parents and staff undertake many charitable works.","designationsummary":"","domainname":"hillhurst.cbe.ab.ca","email":"Hillhurst@cbe.ab.ca","fax":"587-933-9830","hidden":"0","highgrade":"6","hoursbusiness":"","hoursclass":"Mon-Thurs: 8:45-3:20\nFri: 8:45-12:45","hoursoffice":"Mon-Thurs: 8:30-3:30\nFri: 8:30-1:00","hrdepartment":"HR10000086","logourl":"/schools/find-a-school/schoollogosandimages/b218logo.gif","lottery":"0","lowgrade":"0","mapcoordinates":"0xE6100000010C088F368E58874940404D2D5BEB855CC0","officedismissaltime":"1:00","officehours":"Class Hours\nMon-Thurs: 8:45-3:20\nFri: 8:45-12:45\nOffice Hours\nMon-Thurs: 8:30-3:30\nFri: 8:30-1:00","officehoursend":"3:30","officehoursstart":"8:30","openingdate":"","opentime":"8:45","phone":"403-777-6360","principal":"cbeorg\\kjpope","proposed":"0","proposedgrades":"","sbapprover":"cbeorg\\kjpope,cbeorg\\dakooperberg,cbeorg\\sfdharamsi,cbeorg\\jccesario,cbeorg\\jnsaxton","sbeditor":"cbeorg\\dakooperberg,cbeorg\\sfdharamsi,cbeorg\\jccesario,cbeorg\\kjpope","schoolcode":"218","schooldisplayname":"Hillhurst School","schoolname":"Hillhurst School","schooltype":"Elementary","subarea":"A","wardFragment":"fragment://46750386-c591-4758-aa40-393a5c3d6da6","wardname":"Ward 7","website":"https://hillhurst.cbe.ab.ca/"},"programs":[{"id":"58abe78e-89a4-4214-97e4-e19b914937d3","overlay":"/documents/f871cb6f-2d7c-48c7-81e2-703975c9d754/Regular_Hillhurst_2025_26_K-6.kmz","programDateRange":"","programFragment":"fragment://9d06f92c-6f9e-42bb-a2ce-890215738ecc","programHighGrade":"6","programLowGrade":"0","walkzone":"/documents/9b07cc5e-c922-482f-bbd7-0fa257beb0b4/HillhurstSchool_WalkZone_1600_K-6.kmz"}]},"media":null},{"id":"b27a3534-023e-4691-85c8-0e5a536cdcbc","type":"js","owner":"56258bb7-c9f3-416d-b2a8-a6265e30f3c9","publisher":"76de2e60-a3fd-413c-b774-4babb08889c5","title":"/scripts/search.js","content":"const isSearchResultsPage = window.location.pathname === \"/search-results\";\n\n// ============================================================\n// Date Picker\n// ============================================================\n\nconst datePickerInit = () =\u003e {\n    const dateFormat = \"mm/dd/yy\";\n\n    // Shared datepicker config\n    const baseConfig = {\n        defaultDate: \"+1w\",\n        maxDate: 0,\n        changeMonth: true,\n        changeYear: true,\n        numberOfMonths: 1,\n        showOn: \"both\",\n        buttonText: \"\",\n        dateFormat: dateFormat\n    };\n\n    // Start date: updates ISO field and sets min date on end picker\n    const from = $(\"#startdate\")\n        .datepicker(baseConfig)\n        .on(\"change\", function () {\n            updateISOField(this, \"#startdate_iso\");\n            to.datepicker(\"option\", \"minDate\", getDate(this));\n        });\n\n    // End date: updates ISO field and sets max date on start picker\n    const to = $(\"#enddate\")\n        .datepicker(baseConfig)\n        .on(\"change\", function () {\n            updateISOField(this, \"#enddate_iso\");\n            from.datepicker(\"option\", \"maxDate\", getDate(this));\n        });\n\n    function getDate(element) {\n        try {\n            return $.datepicker.parseDate(dateFormat, element.value);\n        } catch (error) {\n            return null;\n        }\n    }\n\n    // Sync the visible date field to its hidden ISO counterpart\n    function updateISOField(input, hiddenField) {\n        const date = getDate(input);\n        $(hiddenField).val(date ? new Date(date).toISOString() : \"\");\n    }\n};\n\n// Set both the visible datepicker and hidden ISO field from an ISO string\nfunction updateDatepicker(selector, hiddenSelector, isoDate) {\n    if (!isoDate) return;\n\n    const date = new Date(isoDate);\n    if (isNaN(date.getTime())) return;\n\n    $(selector).datepicker(\"setDate\", date);\n    $(hiddenSelector).val(date.toISOString());\n}\n\n// ============================================================\n// Search term parsing helpers\n// ============================================================\n\nfunction containsExcludedTerm(str) {\n    return /(^|\\s)-\\S+/.test(str) || /\"[^\"]+\"-\\S+/.test(str);\n}\n\nfunction isQuoted(term) {\n    return /^\".+\"$/.test(term) || /\".+\"/.test(term) || /\\S\\+\\S/.test(term);\n}\n\n// Split a search string into its core text and any excluded (-term) parts\nfunction extractSearchTerms(str) {\n    const quotedMatch = str.match(/\"([^\"]+)\"/);\n    const excludedMatches = str.match(/(?:^|\\s)-\\S+/g);\n\n    const searchText = quotedMatch\n        ? quotedMatch[1]\n        : str.replace(/(?:^|\\s)-\\S+/g, '').trim();\n\n    const excludeTerms = excludedMatches\n        ? excludedMatches.map(term =\u003e term.trim().substring(1))\n        : [];\n\n    return { searchText, excludeTerms };\n}\n\nfunction removeDuplicates(arr) {\n    return [...new Set(arr)];\n}\n\n// ============================================================\n// Filter visibility\n// ============================================================\n\n// Show only the filter groups that have results in the unfiltered set.\n// window._availableFilters is the source of truth; it's refreshed only\n// when no Types[] filter is active, so multi-selecting doesn't shrink\n// the available filter list.\nfunction applyFilterVisibility() {\n    if (!window._availableFilters) return;\n\n    $('.side-filter-group').hide();\n    window._availableFilters.forEach(type =\u003e {\n        const name = type.charAt(0).toUpperCase() + type.slice(1);\n        $(`.side-filter-group[data-name=${name}]`).show();\n    });\n}\n\n// Update the available-filters cache from a result set\nfunction updateAvailableFilters(results) {\n    const types = (results?.Rows ?? []).map(row =\u003e row?.Type);\n    window._availableFilters = removeDuplicates(types);\n}\n\n// When the URL loads with a Types[] filter already set, we can't learn\n// available types from the filtered query. Fire a parallel unfiltered\n// query just to populate the cache.\nfunction discoverAvailableFilters(urlParams) {\n    const discoveryParams = new URLSearchParams(urlParams);\n    discoveryParams.delete(\"Types[]\");\n    discoveryParams.set(\"PageSize\", \"100\");\n    discoveryParams.set(\"Page\", \"1\");\n\n    fetch(\"/api/v1/search?\" + discoveryParams.toString())\n        .then(r =\u003e r.json())\n        .then(results =\u003e {\n            updateAvailableFilters(results);\n            applyFilterVisibility();\n        })\n        .catch(() =\u003e { /* fail silently — filters just stay visible */ });\n}\n\n// ============================================================\n// Main query\n// ============================================================\n\nasync function performQuery(query) {\n    const response = await fetch(\"/api/v1/search?\" + query);\n    const results = await response.json();\n\n    updatePagination(results, query);\n    updatePaginationBottom(results, query);\n\n    const params = new URLSearchParams(query);\n    const searchText = params.get(\"SearchText\");\n\n    // Keep the URL in sync with the current query\n    if (params.size \u003e 0) {\n        const newUrl = window.location.pathname + \"?\" + query;\n        window.history.replaceState({ path: newUrl }, '', newUrl);\n    }\n\n    // Only refresh the available-filters cache on unfiltered queries\n    const hasTypeFilter = params.getAll(\"Types[]\").length \u003e 0;\n    if (!hasTypeFilter) {\n        updateAvailableFilters(results);\n    }\n    applyFilterVisibility();\n\n    // Render results or empty state\n    if (results?.TotalRecords == 0) {\n        renderEmptyState(searchText);\n    } else {\n        renderResults(results);\n    }\n}\n\nfunction renderEmptyState(searchText) {\n    $(\"#search-result-list\").html(`\n        \u003cdiv class=\"empty-result\"\u003e\n            \u003ch2\u003eHmmm...\u003c/h2\u003e\n            \u003ch3\u003eWe can't find a match for \u003cstrong\u003e\"${searchText}\"\u003c/strong\u003e.\u003c/h3\u003e\n            \u003cul class=\"square-list editor-list-ul\"\u003e\n                \u003cli\u003e\u003cspan\u003eCheck your search for any typos or spelling errors\u003c/span\u003e\u003c/li\u003e\n                \u003cli\u003eTry a more general search term\u003c/li\u003e\n                \u003cli\u003eTry a different keyword\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/div\u003e\n    `);\n}\n\nfunction renderResults(results) {\n    $(\"#search-result-list\").html(\n        (results?.Rows ?? []).map(createRow).join(\"\\n\")\n    );\n\n    // Format news publish dates\n    $('.search-publish-date').each(function () {\n        const event = moment.utc($(this).text(), 'YYYY-MM-DD HH:mm:ss');\n        $(this).text(moment(event).format('MMMM D, YYYY'));\n    });\n\n    // Add file-type icons to document links\n    $('.document-route').each(function () {\n        const $icon = $(\"\u003ci\u003e\").addClass(\"fa-solid\");\n        const fileRoute = $(this).attr('href');\n\n        if (fileRoute) {\n            const fileTypeMap = {\n                '.pdf': 'fa-file-pdf',\n                '.doc': 'fa-file-word',\n                '.docx': 'fa-file-word',\n                '.ppt': 'fa-file-powerpoint',\n                '.pptx': 'fa-file-powerpoint',\n                '.xls': 'fa-file-excel',\n                '.xlsx': 'fa-file-excel',\n            };\n\n            const matchedType = Object.keys(fileTypeMap).find(ext =\u003e fileRoute.includes(ext));\n            $icon.addClass(fileTypeMap[matchedType] || 'fa-file');\n        }\n\n        $(this).append($icon);\n    });\n}\n\n// ============================================================\n// Spell check\n// ============================================================\n\nasync function performSpellCheck(term) {\n    const response = await fetch(\"/api/v1/search/spellcheck?SearchText=\" + term);\n    const results = await response.json();\n\n    if (!results) return;\n\n    $('#spell-check').html(`\n        Did you mean: \u003cspan class=\"spell-check-link\"\u003e${results}\u003c/span\u003e\n    `);\n\n    // Clicking the suggestion re-runs the search with the corrected term\n    $('.spell-check-link').click(function () {\n        $('#search-result-text').val(results);\n        $('#spell-check').html('');\n        $('#search-results-form-1').submit();\n    });\n}\n\n// ============================================================\n// Pagination\n// ============================================================\n\n// Shared pagination logic for both top and bottom pagers.\n// `suffix` is \"\" for the top pager, \"-bottom\" for the bottom one.\nfunction renderPagination(record, query, suffix) {\n    const { TotalRecords, TotalPages, Page } = record;\n\n    $(`.search-total-records${suffix}`).text(TotalRecords);\n    $(`.search-total-page${suffix}`).text(TotalPages);\n\n    // Rebuild the page-number dropdown\n    const $pageSelect = $(`.search-page-number${suffix}`).empty();\n    for (let i = 0; i \u003c Number(TotalPages); i++) {\n        $('\u003coption\u003e').text(i + 1).attr('value', i + 1).addClass('page-option').appendTo($pageSelect);\n    }\n    $pageSelect.val(Page);\n\n    // Wire up back/forward arrows\n    const $back = $(`.search-pagination-back${suffix}`).off(\"click\");\n    const $forward = $(`.search-pagination-forward${suffix}`).off(\"click\");\n\n    if (Page \u003e 1) {\n        const usp = new URLSearchParams(query);\n        usp.set(\"Page\", Page - 1);\n        $back.click(function () {\n            performQuery(usp.toString());\n            $pageSelect.val(Page - 1);\n        });\n    }\n\n    if (Page \u003c TotalPages) {\n        const usp = new URLSearchParams(query);\n        usp.set(\"Page\", Page + 1);\n        $forward.click(function () {\n            performQuery(usp.toString());\n            $pageSelect.val(Page + 1);\n        });\n    }\n\n    if (TotalPages \u003e 1) {\n        $('#search-pagination-form-bottom').css('display', 'flex');\n    }\n}\n\nfunction updatePagination(record, query) {\n    renderPagination(record, query, \"\");\n}\n\nfunction updatePaginationBottom(record, query) {\n    renderPagination(record, query, \"-bottom\");\n}\n\n// ============================================================\n// Row rendering\n// ============================================================\n\nfunction createRow(searchData) {\n    const type = getDataType(searchData.Type);\n    const isDocument = type === 'Document';\n\n    // Documents open in a new tab; the link target depends on ExtID presence\n    const titleLink = isDocument\n        ? `\u003ca href=\"${searchData.Type === 'document' ? '/documents/' + searchData.ExtID : searchData.Route}\" target=\"_blank\" class=\"document-route\"\u003e\n                \u003ch4 class=\"no-margin\"\u003e${searchData.Title}\u003c/h4\u003e\n            \u003c/a\u003e`\n        : `\u003ca href=\"${searchData.Route}\"\u003e\n                \u003ch4 class=\"no-margin\"\u003e${searchData.Title}\u003c/h4\u003e\n            \u003c/a\u003e`;\n\n    const routeLink = isDocument\n        ? `\u003ca href=\"${searchData.Route}\" target=\"_blank\" class=\"search-route\"\u003e\n                ${window.location.origin}${searchData.Route}\n            \u003c/a\u003e`\n        : `\u003ca href=\"${searchData.Route}\" class=\"search-route\"\u003e\n                ${window.location.origin}${searchData.Route}\n            \u003c/a\u003e`;\n\n    // Type-specific date row (news -\u003e publish date, event -\u003e event window)\n    const dateRow = type === 'News'\n        ? `\u003cdiv class=\"search-publish-date\"\u003e${searchData.PublishAt}\u003c/div\u003e`\n        : type === 'Event'\n            ? `\u003cdiv class=\"search-event-date\"\u003e${formatEvent(searchData.Settings)}\u003c/div\u003e`\n            : '';\n\n    return `\n        \u003cdiv class=\"search-item\"\u003e\n            \u003cdiv class=\"search-title\"\u003e\n                ${titleLink}\n                \u003cspan class=\"search-type\" data-name=\"${type}\"\u003e${type}\u003c/span\u003e\n            \u003c/div\u003e\n            ${dateRow}\n            \u003cdiv class=\"search-content\"\u003e\n                \u003cp class=\"search-snippet\"\u003e${searchData.Snippet}\u003c/p\u003e\n                ${routeLink}\n            \u003c/div\u003e\n        \u003c/div\u003e`;\n}\n\nfunction getDataType(type) {\n    return {\n        \"event\": \"Event\",\n        \"news\": \"News\",\n        \"page\": \"Page\",\n        \"document\": \"Document\"\n    }[type] || \"\";\n}\n\n// Format an event's date range for display\nfunction formatEvent(obj) {\n    let { startdate, enddate, isAllDay } = getEventInfo?.(obj) || {};\n    const hours = moment.duration(enddate.diff(startdate)).asHours();\n\n    if (isAllDay) {\n        // All-day events store end as exclusive midnight; subtract a day for display\n        enddate = moment(enddate).utc().subtract(1, 'days');\n        return hours \u003e 24\n            ? `${startdate.format('MMMM D, YYYY')} - ${enddate.format('MMMM D, YYYY')}`\n            : `${startdate.format('MMMM D, YYYY')}`;\n    }\n\n    // Same-day events collapse to a single date with a time range\n    if (startdate.format('ll') !== enddate.format('ll')) {\n        return `${startdate.format('MMMM D, YYYY h:mm A')} - ${enddate.format('MMMM D, YYYY h:mm A')}`;\n    }\n    return `${startdate.format('MMMM D, YYYY h:mm A')} - ${enddate.format('h:mm A')}`;\n}\n\n// ============================================================\n// Promotions \u0026 suggestions\n// ============================================================\n\nasync function performPromotion(query) {\n    const response = await fetch(\"/api/v1/search/match-promotions?\" + query);\n    const results = await response.json();\n\n    $(\"#search-result-promotion\").html(results.map(createPromotions).join(\"\\n\"));\n}\n\nfunction createPromotions(searchData) {\n    return `\n        \u003cdiv class=\"search-item promotion\"\u003e\n            \u003ca class=\"search-title\" href=\"${searchData.Link}\"\u003e\n                \u003ch4 class=\"no-margin\"\u003e${searchData.Title}\u003c/h4\u003e\n            \u003c/a\u003e\n            \u003cdiv class=\"search-content\"\u003e\n                ${searchData.Description ? `\u003cp class=\"search-snippet\"\u003e${searchData.Description}\u003c/p\u003e` : ''}\n                \u003ca class=\"search-route\" href=\"${searchData.Link}\"\u003e${searchData.Link}\u003c/a\u003e\n            \u003c/div\u003e\n        \u003c/div\u003e`;\n}\n\nasync function performSuggestions(query) {\n    const response = await fetch(\"/api/v1/search/match-suggestions?\" + query);\n    const results = await response.json();\n\n    if (results.length) {\n        $('#search-result-suggestion').html(`\n            \u003ch3\u003eYou May Be Interested In\u003c/h3\u003e\n            ${results.map(x =\u003e `\u003ca class=\"search-suggestion\"\u003e${x.Phrase}\u003c/a\u003e`).join(\"\\n\")}\n        `);\n    } else {\n        $('#search-result-suggestion').html('');\n    }\n\n    // Clicking a suggestion re-runs the search with that phrase\n    $('.search-suggestion').click(function () {\n        $('#search-result-text').val($(this).text());\n        $('#search-results-form-1').submit();\n    });\n}\n\n// ============================================================\n// Query building\n// ============================================================\n\n// Serialize all three forms into a URL query string, wrapping SearchText\n// with quotes/exclusions based on the advanced-search toggles.\nfunction makeQuery() {\n    const excludeTerm = $('#exclude-term').val().trim();\n    const isExactMatch = $('#ExactSearch').is(':checked');\n    const isExcludeTerm = $('#Excluding').is(':checked');\n\n    // Show/hide the exclude input based on the toggle\n    isExcludeTerm ? $('.exclude-wrapper').show() : $('.exclude-wrapper').hide();\n\n    const filteredQuery = $('#search-results-form-1, #search-results-form-2, #search-date-form')\n        .serializeArray()\n        .filter(item =\u003e item.name === 'SearchText' || item.value.trim() !== \"\")\n        .map(item =\u003e {\n            if (item.name !== 'SearchText') return item;\n\n            // Decorate SearchText with quotes and/or -excludeTerm as needed\n            if (isExactMatch \u0026\u0026 isExcludeTerm) {\n                return { name: item.name, value: `\"${item.value}\" -${excludeTerm}` };\n            }\n            if (isExactMatch) {\n                return { name: item.name, value: `\"${item.value}\"` };\n            }\n            if (isExcludeTerm) {\n                return { name: item.name, value: `${item.value} -${excludeTerm}` };\n            }\n            return item;\n        });\n\n    return $.param(filteredQuery);\n}\n\n// ============================================================\n// Search entry points (from other pages)\n// ============================================================\n\nfunction initiateSearch(event) {\n    event.preventDefault();\n    const searchTerm = $(this).find('input[name=\"SearchText\"]').val();\n    window.open(\"/search-results?SearchText=\" + searchTerm, \"_self\");\n}\n\nfunction initiateEventSearch(event) {\n    event.preventDefault();\n    const searchTerm = $(this).find('input[name=\"SearchText\"]').val();\n    window.open(\"/search-results?Types%5B%5D=event\u0026SearchText=\" + searchTerm, \"_self\");\n}\n\n// ============================================================\n// Initial form hydration from URL\n// ============================================================\n\nfunction updateFormFromURL() {\n    const urlParams = new URLSearchParams(window.location.search);\n\n    // Restore type checkboxes\n    urlParams.getAll(\"Types[]\").forEach(value =\u003e {\n        $(`.checkbox-tag[value=\"${value}\"]`).prop(\"checked\", true);\n    });\n\n    // Restore page and page size\n    const pageSize = urlParams.get('PageSize');\n    const page = urlParams.get('Page');\n    if (pageSize) $('.search-page-size').val(pageSize);\n    if (page) $('.search-page-number, .search-page-number-bottom').val(page);\n\n    // Restore date range\n    updateDatepicker('#startdate', '#startdate_iso', urlParams.get('UpdatedAfter'));\n    updateDatepicker('#enddate', '#enddate_iso', urlParams.get('UpdatedBefore'));\n\n    // Restore the search field, stripping quotes/exclusions back out and\n    // ticking the matching advanced-search toggles\n    const searchText = urlParams.get(\"SearchText\") || \"\";\n    let textOnly = searchText;\n\n    if (isQuoted(searchText)) {\n        $(\"#ExactSearch\").prop(\"checked\", true);\n        textOnly = extractSearchTerms(searchText)?.searchText;\n    }\n\n    if (containsExcludedTerm(searchText)) {\n        $(\"#Excluding\").prop(\"checked\", true);\n        $('.exclude-wrapper').show();\n        const { searchText: core, excludeTerms } = extractSearchTerms(searchText);\n        textOnly = core;\n        $('#exclude-term').val(excludeTerms[0]);\n    }\n\n    $('#search-result-text').val(textOnly);\n\n    // Only call the API if the URL contains a search\n    if (!urlParams.toString()) return;\n\n    // If the URL arrives with Types[] already set, the filtered results won't\n    // reveal which other types exist. Fire a parallel unfiltered query to\n    // populate the filter cache in the background.\n    if (urlParams.getAll(\"Types[]\").length \u003e 0) {\n        discoverAvailableFilters(urlParams);\n    }\n\n    performQuery(urlParams);\n\n    if (isSearchResultsPage) {\n        performPromotion(urlParams);\n        performSuggestions(urlParams);\n    }\n}\n\n// ============================================================\n// Document ready — wire up all event handlers\n// ============================================================\n\n$(function () {\n    datePickerInit();\n\n    // Toggle the advanced-search panel\n    $('.exact-phrase-toggle').click(function () {\n        $('.exact-phrase').fadeToggle(300);\n    });\n\n    updateFormFromURL();\n\n    // Search bars on other pages redirect to the search-results page\n    $(\".search-api-form\").on(\"submit\", initiateSearch);\n    $(\".search-event-form\").on(\"submit\", initiateEventSearch);\n\n    // Clear all filters and re-run the query\n    $(\"#reset\").click(function (e) {\n        e.preventDefault();\n        $('.checkbox-tag').prop(\"checked\", false);\n        $('#search-results-form-2').trigger(\"reset\");\n        $(\"#startdate, #enddate\").val(\"\").datepicker(\"setDate\", null);\n        $(\"#startdate_iso, #enddate_iso\").val(\"\");\n        performQuery(makeQuery());\n    });\n\n    // Main search form: re-run the query and spell-check the term\n    $(\"#search-results-form-1, #search-date-form\").on(\"submit\", function (e) {\n        e.preventDefault();\n        $('.checkbox-tag').prop(\"checked\", false);\n        performQuery(makeQuery());\n\n        if (isSearchResultsPage) {\n            performPromotion(makeQuery());\n            performSuggestions(makeQuery());\n        }\n\n        performSpellCheck($('#search-result-text').val());\n    });\n\n    // Type filter toggle — re-runs the query with the new filter set\n    $(\".checkbox-tag[type='checkbox']\").on(\"change\", function (e) {\n        e.preventDefault();\n        performQuery(makeQuery());\n    });\n\n    // Page selector (top or bottom)\n    $(\".search-page-number, .search-page-number-bottom\").on(\"change\", function () {\n        const urlParams = new URLSearchParams(window.location.search);\n        urlParams.set(\"Page\", $(this).val());\n        performQuery(urlParams.toString());\n    });\n\n    // Page size selector — clamp back to page 1 if current page would overflow\n    $(\".search-page-size\").on(\"change\", function () {\n        const urlParams = new URLSearchParams(window.location.search);\n        urlParams.set(\"PageSize\", $(this).val());\n\n        const page = Number(urlParams.get('Page'));\n        const totalPages = Math.ceil(\n            Number($('.search-total-records').text()) / Number(urlParams.get(\"PageSize\"))\n        );\n\n        if (page \u003e totalPages) {\n            $('.search-page-number').val(1);\n            urlParams.set(\"Page\", 1);\n        }\n\n        performQuery(urlParams.toString());\n    });\n\n    // Mobile: toggle the filter sidebar open/closed\n    $(\".filter-trigger\").on(\"click\", function () {\n        $(\".search-results-filters\").slideToggle();\n        $(this).toggleClass(\"active\");\n\n        const $arrow = $(this).find(\".down-arrow\");\n        if ($(this).hasClass(\"active\")) {\n            $arrow.removeClass(\"fa-chevron-down\").addClass(\"fa-chevron-up\");\n        } else {\n            $arrow.addClass(\"fa-chevron-down\").removeClass(\"fa-chevron-up\");\n        }\n    });\n});","data":null,"route":"/scripts/search.js","path":"b27a3534023e469185c80e5a536cdcbc","created":"2025-02-06T20:14:40.376769Z","updated":"2026-10-23T16:51:03.209613Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"56258bb7-c9f3-416d-b2a8-a6265e30f3c9","Firstname":"imagineEverything","Lastname":"support"},"TemplateKey":null,"StructureKey":null,"departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2025-02-06T20:14:40.376Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{},"media":null},{"id":"a4276931-d62a-4919-b01d-18c04924abfd","type":"event","owner":"a7a7d49d-7915-4611-b60d-c6a97fa4d18f","publisher":"a7a7d49d-7915-4611-b60d-c6a97fa4d18f","title":"Halloween Dance at Hillhurst Sunnyside Community Association","content":"","data":{},"route":"/event/halloween-dance","path":"a4276931d62a4919b01d18c04924abfd","created":"2026-10-22T01:25:28.65447Z","updated":"2026-10-22T01:26:18.624296Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{"rdate":[],"rrule":"","exdate":[],"enddate":"2026-10-31T02:00:00.000Z","isAllDay":false,"startdate":"2026-10-31T00:00:00.000Z"},"status":"","tags":[{"id":"a594a501-bd99-44ed-bc74-ffbfe7baf9e4","name":"school council","types":["page","news","event","fragment","list","alert"]}],"TagIds":["a594a501-bd99-44ed-bc74-ffbfe7baf9e4"],"meta":{},"ownerUser":{"ID":"a7a7d49d-7915-4611-b60d-c6a97fa4d18f","Firstname":"Shafali","Lastname":"Dharamsi Hamir"},"TemplateKey":"event_article","StructureKey":"wysiwyg","departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2026-10-22T01:26:14.203Z","expire_at":null,"UrlParams":null,"startDate":"2026-10-30T18:00:00-06:00","endDate":"2026-10-30T20:00:00-06:00","IsAllDay":false,"DctMap":{},"media":null},{"id":"819302fc-87c5-4647-95d7-ffc068a072de","type":"fragment","owner":"76de2e60-a3fd-413c-b774-4babb08889c5","publisher":"76de2e60-a3fd-413c-b774-4babb08889c5","title":"About Us | Let Us Know ","content":"","data":{"cta":{"link":"/contact","label":"Contact Us","title":"Let Us Know - Absences, Questions \u0026 More","content":"If you need to get in touch with us - whether to report an abscence, update your contact information, or ask a question - please visit our Contact Us page for details on how to reach the school."}},"route":"","path":"819302fc87c5464795d7ffc068a072de","created":"2025-06-05T17:53:38.74551Z","updated":"2026-10-21T16:36:10.82438Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"76de2e60-a3fd-413c-b774-4babb08889c5","Firstname":"Yingying","Lastname":"Feng"},"TemplateKey":null,"StructureKey":"call_to_action","departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2025-06-05T17:53:32.183Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{"cta":{"content":"If you need to get in touch with us - whether to report an abscence, update your contact information, or ask a question - please visit our Contact Us page for details on how to reach the school.","label":"Contact Us","link":"/contact","title":"Let Us Know - Absences, Questions \u0026 More"}},"media":null},{"id":"4cd7baac-ab10-40d5-b4ed-d2335ebd3912","type":"fragment","owner":"76de2e60-a3fd-413c-b774-4babb08889c5","publisher":"76de2e60-a3fd-413c-b774-4babb08889c5","title":"About Us  | Notices","content":"","data":{"mainContent":{"lexical":{"html":"\u003cdetails open=\"true\"\u003e\u003csummary\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eA School Designation or Lottery Notice?\u003c/span\u003e\u003c/p\u003e\u003c/summary\u003e\u003cdiv data-lexical-collapsible-content=\"true\"\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eA\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003eSchool Designation or Lottery Notice\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;lets families know when there are changes to which school a student can attend because a school has limited space. It may also explain whether a\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003elottery\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;or\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003eoverflow school\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;will be used when there isn’t enough space at the designated school.\u003c/span\u003e\u003c/p\u003e\u003c/div\u003e\u003c/details\u003e\u003cdetails open=\"true\"\u003e\u003csummary\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eAn Attendance Area or a Walk Zone?\u003c/span\u003e\u003c/p\u003e\u003c/summary\u003e\u003cdiv data-lexical-collapsible-content=\"true\"\u003e\u003cp class=\"editor-paragraph\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eYour\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003eattendance area\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;is the area where you live that determines which CBE school your child is designated to attend.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eA\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003ewalk zone\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;is the area around a school where students live close enough to be considered within walking distance of the school.\u003c/span\u003e\u003c/p\u003e\u003c/div\u003e\u003c/details\u003e","engine":"lexical"}}},"route":"","path":"4cd7baacab1040d5b4edd2335ebd3912","created":"2025-06-04T21:37:46.619943Z","updated":"2026-10-21T16:32:14.077432Z","privacyLevel":0,"active":true,"mediaId":null,"settings":{},"status":"","tags":null,"TagIds":[],"meta":null,"ownerUser":{"ID":"76de2e60-a3fd-413c-b774-4babb08889c5","Firstname":"Yingying","Lastname":"Feng"},"TemplateKey":null,"StructureKey":"wysiwyg","departmentId":null,"isPersonal":false,"navigationPath":"","treeIndex":0,"level":0,"inlineChildren":false,"children":null,"isPrimary":false,"isNavigationGroup":false,"EditLink":"","publish_at":"2025-06-04T21:37:15.922Z","expire_at":null,"UrlParams":null,"startDate":null,"endDate":null,"IsAllDay":false,"DctMap":{"mainContent":{"lexical":{"engine":"lexical","html":"\u003cdetails open=\"true\"\u003e\u003csummary\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eA School Designation or Lottery Notice?\u003c/span\u003e\u003c/p\u003e\u003c/summary\u003e\u003cdiv data-lexical-collapsible-content=\"true\"\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eA\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003eSchool Designation or Lottery Notice\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;lets families know when there are changes to which school a student can attend because a school has limited space. It may also explain whether a\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003elottery\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;or\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003eoverflow school\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;will be used when there isn’t enough space at the designated school.\u003c/span\u003e\u003c/p\u003e\u003c/div\u003e\u003c/details\u003e\u003cdetails open=\"true\"\u003e\u003csummary\u003e\u003cp class=\"editor-paragraph\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eAn Attendance Area or a Walk Zone?\u003c/span\u003e\u003c/p\u003e\u003c/summary\u003e\u003cdiv data-lexical-collapsible-content=\"true\"\u003e\u003cp class=\"editor-paragraph\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eYour\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003eattendance area\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;is the area where you live that determines which CBE school your child is designated to attend.\u003c/span\u003e\u003c/p\u003e\u003cp class=\"editor-paragraph\" style=\"text-align: start;\"\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003eA\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003cstrong class=\"editor-text-bold\" style=\"white-space: pre-wrap;\"\u003ewalk zone\u003c/strong\u003e\u003c/b\u003e\u003cspan style=\"white-space: pre-wrap;\"\u003e\u0026nbsp;is the area around a school where students live close enough to be considered within walking distance of the school.\u003c/span\u003e\u003c/p\u003e\u003c/div\u003e\u003c/details\u003e"}}},"media":null}],"Total":51}
