<!doctype html>
<html lang="en">
	<head>
		<!-- Required meta tags -->
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<!-- Bootstrap CSS -->
		<link rel="stylesheet" href="/css/www.css?v=2026052501">
		<link rel="stylesheet" href="https://use.typekit.net/fvn7esh.css">
		
				
        <!-- Google tag (gtag.js) --> 
        <!-- Moved to footer -->
        <!-- <script async src="https://www.googletagmanager.com/gtag/js?id=G-1WLB8MKYJZ"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-1WLB8MKYJZ'); </script> -->
		
		<title>404 File Not Found - Firefly Education</title>
	</head>
	<body>
				<header class="company-header">
			<nav class="navbar navbar-expand-md navbar-light">
				<a class="navbar-brand" href="/">Firefly Education</a>
				<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#companyNavbarSupportedContent" aria-controls="companyNavbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
					<span class="navbar-toggler-icon"></span>
				</button>
								<div class="collapse navbar-collapse" id="companyNavbarSupportedContent">
					<ul class="navbar-nav mr-auto ml-auto">
																		<li class="nav-item dropdown">
							<a class="nav-link dropdown-toggle" href="#" id="seriesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
								Our Series							</a>
							<div class="dropdown-menu dropdown-menu-series" aria-labelledby="seriesDropdown">
								<h6 class="h7 dropdown-header">Primary</h6><a class="dropdown-item dropdown-item-soundwavesearlyliteracy " href="/series/soundwavesearlyliteracy">Sound Waves Early Literacy (F–2)<span class="tagline">Systematic synthetic phonics, word study and reading</span></a><a class="dropdown-item dropdown-item-soundwaveswordstudy " href="/series/soundwaveswordstudy">Sound Waves Word Study (3–6)<span class="tagline">Spelling patterns, morphology and etymology</span></a><a class="dropdown-item dropdown-item-englishstars " href="/series/englishstars">English Stars (3–6)<span class="tagline">Comprehension, text types and grammar</span></a><a class="dropdown-item dropdown-item-writingtime " href="/series/writingtime">Writing Time (F–6)<span class="tagline">Adventures in handwriting</span></a><a class="dropdown-item dropdown-item-mathstrek " href="/series/mathstrek">Maths Trek (F–6)<span class="tagline">Exploring maths in the real world</span></a><a class="dropdown-item dropdown-item-thinkmentals " href="/series/thinkmentals">Think Mentals (1–6)<span class="tagline">Maths strategies and practice</span></a><h6 class="h7 dropdown-header">Secondary</h6><a class="dropdown-item dropdown-item-bitmaths " href="/series/bitmaths">BitMaths (7–8)<span class="tagline">A digital maths resource for junior secondary</span></a>							</div>
						</li>
																								<li class="nav-item">
							<a class="nav-link" href="/support/">Professional Learning</a>						</li>
																								<li class="nav-item">
							<a class="nav-link" href="/contact/">Contact Us</a>						</li>
																	</ul>
					<ul class="navbar-nav">
						<li class="nav-item dropdown mr-md-2">
							<a href="https://online.fireflyeducation.com.au" class="nav-link nav-link-btn">Log In</a>						</li>
					</ul>
				</div>
							</nav>
		</header>
<div class="page margin-children" id="error">
	<h2 class="sr-only">404 File Not Found</h2><section class="container margin-120 section container text-center mt-3" id="error-message">
	<div class="text-left text-sm-center"><p><img src="/content/www/company-images/batty_404.gif" class="img-fluid"></p>

<h4>Sorry to leave you hanging.</h4>

<p>We couldn’t find what you were looking for. Please try browsing our website, or <a href="https://www.fireflyeducation.com.au/contact/">contact us</a> for assistance.</p>
</div>	</section>
</div>
		<footer>
			<hr>
			<div class="container">
								<div class="row">
					<div class="col-12 col-lg-4 order-lg-2 footer-newsletters">
	<h6>Follow Our Story</h6>
	<div class="row align-items-center">
				<div class="col-sm-6 col-md-3 col-lg-12">
			<ul class="list-unstyled"><li><a href="https://www.fireflyeducation.com.au//form/newsletters">Newsletters</a></li></ul>		</div>
						<div class="col-sm-6 col col-md-9 col-lg-12">
			<ul class="list-inline">
			<li class="list-inline-item"><a href="https://facebook.com/fireflyeducation" target="facebook"><img src="/content/www/icons/footer-facebook.svg" width="36" height="36" alt="Facebook"></a></li><li class="list-inline-item"><a href="https://www.youtube.com/user/FireflyEducation" target="youtube"><img src="/content/www/icons/footer-youtube.svg" width="36" height="36" alt="YouTube"></a></li><li class="list-inline-item"><a href="https://www.instagram.com/firefly.education" target="instagram"><img src="/content/www/icons/footer-instagram.svg" width="36" height="36" alt="Instagram"></a></li>			</ul>
		</div>
			</div>
</div>
<div class="col-6 col-md-3 col-lg-2">
	<h6>Company</h6>
	<ul class="list-unstyled"><li><a href="https://www.fireflyeducation.com.au/company/about">About Firefly</a></li><li><a href="https://www.fireflyeducation.com.au/company/news">News</a></li><li><a href="https://www.fireflyeducation.com.au/company/jobs">Jobs</a></li><li><a href="https://www.fireflyeducation.com.au/company/terms">Terms &amp; Conditions</a></li><li><a href="https://www.fireflyeducation.com.au/company/privacy">Privacy Policy</a></li><li><a href="https://www.fireflyeducation.com.au/company/copyright">Copyright</a></li><li><a href="https://www.fireflyeducation.com.au/contact">Contact Us</a></li></ul></div>
<div class="col-6 col-md-3 col-lg-2">
	<h6>Our Series</h6>
	<ul class="list-unstyled"><li><h6 class="h7">Primary</h6>
<ul class="list-unstyled"><li><a href="https://www.fireflyeducation.com.au/series/soundwavesearlyliteracy/overview">Sound Waves F–2</a></li><li><a href="https://www.fireflyeducation.com.au/series/soundwaveswordstudy/program">Sound Waves 3–6</a></li><li><a href="https://www.fireflyeducation.com.au/series/englishstars/features">English Stars</a></li><li><a href="https://www.fireflyeducation.com.au/series/writingtime/features">Writing Time</a></li><li><a href="https://www.fireflyeducation.com.au/series/mathstrek/features">Maths Trek</a></li><li><a href="https://www.fireflyeducation.com.au/series/thinkmentals/features">Think Mentals</a></li></ul></li><li><h6 class="h7">Secondary</h6>
<ul class="list-unstyled"><li><a href="https://www.fireflyeducation.com.au/series/bitmaths/features">BitMaths</a></li></ul></li></ul></div>
<div class="col-6 col-md-3 col-lg-2">
	<h6>Professional Learning</h6>
	<ul class="list-unstyled"><li><a href="https://www.fireflyeducation.com.au/support/workshops">PL Workshops</a></li><li><a href="https://www.fireflyeducation.com.au/support/articles">Articles &amp; Videos</a></li><li><a href="https://www.fireflyeducation.com.au/support/helpdesk">Help Desk</a></li></ul></div>
<div class="col-6 col-md-3 col-lg-2">
	<h6>Purchasing</h6>
	<ul class="list-unstyled"><li><a href="https://store.fireflyeducation.com.au">Store</a></li><li><a href="https://online.fireflyeducation.com.au/licences">School Licence Order Form</a></li></ul></div>
				</div>
				<hr>
								<div class="row">
					<div class="col-md-6 text-center text-md-left">
						<p>
							Copyright &copy; 2026 Firefly Education Pty Ltd.
													</p>
					</div>
					<div class="col-md-6 text-center text-md-right">
						<p><strong>ABN:</strong> 56 162 375 420</p>
					</div>
				</div>
			</div>
		</footer>
		
		<script src="/js/jquery-3.5.1.min.js"></script>
		<script src="/js/bootstrap.bundle.js"></script>
		
        <!-- Google tag (gtag.js) --><script type="application/javascript" src="https://www.googletagmanager.com/gtag/js?id=G-1WLB8MKYJZ"></script><script type="application/javascript"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-1WLB8MKYJZ'); </script>        
		<script>
			'use strict';
			
			function scroll_to_element(destination)
			{
				var offset = destination.offset().top - 60;
				$('html, body').animate({'scrollTop' : offset}, 500);
			}
			
			function contact_us(short_name, full_name)
			{
				// Is this a valid consultant?
				if ($('#' + short_name).length > 0)
				{
					console.debug('Consultant found');
					// If so, set the form destination and the #who
					$('#form_destination').val(short_name);
					$('#who').html(full_name);
				}
				else
				{
					console.debug('Consultant not found');
					$('#form_destination').val('orders');
					$('#who').html('us');
				}
				$('#contact-us-modal').modal('show');
			}
			
			function validate_form(event, form)
			{
				// Is this form requesting client-side validation?
				if ($(form).hasClass('needs-validation'))
				{
					// Do client-side validation
					if (form.checkValidity() === false) {
						event.preventDefault();
						event.stopPropagation();
						$(form).addClass('was-validated');
						
						// If we are not in a modal, scroll to the top of the form.
						if (!$(form).closest('.modal').length)
						{
							// Find all invalid fields
							var invalid_fields = $(form).find('.invalid-feedback:visible');
							
							// Get the parent .form-group of the first.
							var first_field_field_group = invalid_fields[0].closest('.form-group');
							
							// Scroll to that.
							scroll_to_element($(first_field_field_group));
						}
						
						return false;
					}
					else
					{
						$(form).removeClass('was-validated');
					}
				}
				
				return true;
			}
			
			function submit_form(event)
			{
				var form_valid = validate_form(event, this);
				
				if (form_valid)
				{
					// Is this a modal form?
					if ($(this).closest('.modal').length)
					{
						console.log('Submitting…');
					
						var form = $(this);
						var form_data = form.serialize();
					
						// Disable the submit buttons.
						form.find('[type=submit]').each(function(){
							$(this).attr('data-original-value', $(this).val());
							$(this).val('Submitting…').prop('disabled', true);
						})
					
						// Submit!
						$.ajax({
							url: form.attr('action'),
							type: 'POST',
							data: form_data,
							cache: false,
							success: function(response){
								form.html(response);
								// This isn't necesssary as the form isn't being replace.
								// form.submit(submit_form);
							},
							error: function(response){
								console.log(response);
								alert('There was an error. Please try again.');
							
								// Restore the submit buttons.
								form.find('[type=submit]').each(function(){
									$(this).val($(this).attr('data-original-value')).prop('disabled', false);
								})
							}
						});
						return false;
					}
					return true;
				}
				return false;
			}
			
			function set_equal_box_heights(boxes)
			{
				var maximum_height = 0;
				var change_required = false
				boxes.each(function(){
					var height = parseInt($(this).css('height'));
					console.debug('Current box height: ' + height);
					
					if (height > maximum_height)
					{
						if (maximum_height != 0)
						{
							change_required = true;
							console.debug(maximum_height + ' was the highest previously.');
						}
						maximum_height = height;
						console.debug(maximum_height + ' is the newest highest.');
					}
					else if (height < maximum_height)
					{
						change_required = true;
					}
				});
				
				// Do we need to update any heights?
				if (change_required)
				{
					console.debug('Setting new heights to ' + maximum_height);
					boxes.each(function(){
						var height = parseInt($(this).css('height'));
						if (height < maximum_height)
						{
							$(this).css('height', (maximum_height + 'px'));
						}
					});
				}
			}
			
			function change_position(position, position_other) {
				var position_value = $(position).val();
				if (position_value == 'Other')
				{
					$('#' + position_other + '_collapse').slideDown();
					$('#' + position_other + '').prop('required', true);
				} else {
					$('#' + position_other + '_collapse').slideUp();
					$('#' + position_other + '').prop('required', false);
				}
			}
			
            function workshop_request()
            {
                var workshop_request_form = $('#z-workshop-request-form');
                if (workshop_request_form.attr('data-original-src'))
                {
                    workshop_request_form.attr('src', workshop_request_form.attr('data-original-src'));
                    $('#workshop-request-modal-title').html($('#workshop-request-modal-title').attr('data-original-html'));
                }
                // return false;
            }

            function workshop_request_type(type, series)
            {
                var workshop_request_form = $('#z-workshop-request-form');
                // Is there any value in the data-original-src attribute?
                // If not, stash the original iframe URL and modal title.
                if (!workshop_request_form.attr('data-original-src'))
                {
                    workshop_request_form.attr('data-original-src', workshop_request_form.attr('src'));
                    $('#workshop-request-modal-title').attr('data-original-html', $('#workshop-request-modal-title').html());
                }
                // Replace iframe source and modal title
                workshop_request_form.attr('src', workshop_request_form.attr('data-original-src') + '?workshop_type=' + encodeURIComponent(type) + '&series=' + encodeURIComponent(series));
                $('#workshop-request-modal-title').html('Request ' + type);
                // return false;
            }

			$(document).ready(function()
			{
				
				// Hijack all anchor links and implement a scroll to
				$('a[href^="#"]').not('.block-tabs .nav-link').click(function(event){
					var href = ($(this).attr('href'));
					
					// List of hrefs this function should be ignoring.
					var hrefs_to_ignore = new Array(
						'#',
						'#carousel-hero',
						'#carousel-testimonials',
					);
					
					// Check against the blacklist
					if(hrefs_to_ignore.indexOf(href) == -1)
					{
						event.preventDefault();
						var destination = $(href);
						if (destination.length)
						{
							scroll_to_element(destination);
						}
					}
				});
				
				// Share Link for copying
				$('.share-link').on('hidden.bs.tooltip', function()
				{
					
					// Every time the tooltip is hidden, destroy it.
					$(this).tooltip('dispose');
					
				}).click(function(event)
				{
					event.preventDefault();
					
					// Grab the element and URL and set a default tooltip_text
					var element = $(this);
					var url = element.attr('href');
					var tooltip_text = 'Could not copy. Please right-click and Copy Link.';
					
					// Attempt the clipboard
					navigator.clipboard.writeText(url).then(function()
					{
						
						tooltip_text = 'Copied!';
						
					}, function(err) {
						
						tooltip_text = 'Could not copy. Please right-click and Copy Link. (Error: ' + err + ')';
						
					}).then(function(){
						
						// Configure the tooltip for manual deployment
						$('.share-link').tooltip({
							toggle: false,
							trigger: 'manual',
							placement: 'top',
							title: tooltip_text
						});
						
						// Show, and then hide it.
						setTimeout(function () {
							element.tooltip('hide');
						}, 1000);
						element.tooltip('show');
						
					})
					
				});
				
				// Stop videos when modals close
				$('.modal').on('hidden.bs.modal', function (event)
				{
					var modal_iframes = $(this).find('iframe');
					if (modal_iframes.length)
					{
						console.debug('The modal that just closed had an iframe with a video potentially being played.');
						modal_iframes.each(function(){
							$(this).attr('data-src-backup', $(this).attr('src')).attr('src', '');
							$(this).attr('src', $(this).attr('data-src-backup'));
						})
					}
				})
				
				// Flip the chevrons on sub-header menus
				$('.company-header .navbar-collapse').on('hide.bs.collapse', function()
				{
					$(this).closest('.navbar').find('.navbar-toggler-icon').css('background-image', 'url(/content/www/icons/menu-hamburger.svg)');
					
				}).on('show.bs.collapse', function()
				{
					$(this).closest('.navbar').find('.navbar-toggler-icon').css('background-image', 'url(/content/www/icons/menu-hamburger-open.svg)');
				});
				
				// Flip the chevrons on sub-header menus
				$('.series-header .navbar-collapse, .support-header .navbar .collapse').on('hide.bs.collapse', function()
				{
					var navbar = $(this).closest('.navbar');
					if (navbar.closest('.support-header').length)
					{
						var chevron_image = '/content/www/icons/menu-chevron-down-white.svg';
					}
					else
					{
						var chevron_image = '/content/www/icons/menu-chevron-down.svg';
					}
					navbar.find('.navbar-brand-chevron').css('background-image', 'url(' + chevron_image + ')');
					
				}).on('show.bs.collapse', function()
				{
					var navbar = $(this).closest('.navbar');
					if (navbar.closest('.support-header').length)
					{
						var chevron_image = '/content/www/icons/menu-chevron-up-white.svg';
					}
					else
					{
						var chevron_image = '/content/www/icons/menu-chevron-up.svg';
					}
					navbar.find('.navbar-brand-chevron').css('background-image', 'url(' + chevron_image + ')');
				});
				
				// Flip the chevrons on accordion collapsing
				$('.collapse-chevron-collapse').on('hide.bs.collapse', function()
				{
					$(this).closest('.collapse-chevron-parent').find('.collapse-chevron').attr('src', '/content/www/icons/chevron-down.svg')
				}).on('show.bs.collapse', function()
				{
					$(this).closest('.collapse-chevron-parent').find('.collapse-chevron').attr('src', '/content/www/icons/chevron-up.svg')
				});
                
                $('.workshop-read-more a').click(function(event){
                    event.preventDefault();
                    if ($('.workshop-content').hasClass('expanded'))
                    {
                        $('.workshop-content').removeClass('expanded');
                        $(this).html('Read more <img src="/content/www/icons/menu-chevron-down.svg" alt="Down arrow">');
                    }
                    else
                    {
                        $('.workshop-content').addClass('expanded');
                        $(this).html('Read less <img src="/content/www/icons/menu-chevron-up.svg" alt="Up arrow">');
                    }
                });
				
				// Contact consultant postcode search
				$('#contact-consultants-form').submit(function(event){
					event.preventDefault();
					
					var default_consultant = 'ben';
					if ($('#contact-consultants-postcode').val())
					{
						if (primary_postcode_assignments == undefined) {
							alert('The postcode database is still loading. Please try again in a few seconds.');
							return;
						} else {
							var chosen_consultant = primary_postcode_assignments[parseInt($('#contact-consultants-postcode').val())];
						}
				
						if ($('.contact-consultants-collapse').is(':visible')){
							var duration = 300;
						}
						else
						{
							var duration = 0;
						}
				
						// If the consultant was not found in the postcode database
						if (chosen_consultant == undefined)
						{
							$('.contact-consultants-search-status-message').html('<p>That doesn’t appear to be a valid Australian postcode. Please check and try again, or contact the relevant manager below.<\/p>');
							$('.contact-consultants-search-status-collapse').slideDown(duration);
							$('#contact-consultants-postcode').addClass('is-invalid');
							chosen_consultant = default_consultant;
							$('.contact-consultants-heading').html('Our Education Managers');
						}
						else
						{
							// If the consultant is not on the page, let's just pretend its Ben:
							if ($('#' + chosen_consultant).length == 0)
							{
								chosen_consultant = default_consultant;
							}
					
							$('.contact-consultants-search-status-collapse').slideUp(duration, function(){
								$('.contact-consultants-search-status-message').html('');
							});
					
							// $('.contact-consultants-search-status-message').html('<p>Your local Education Consultants are:<\/p>');
							// $('.contact-consultants-search-status-collapse').fadeIn();
					
							$('#contact-consultants-postcode').removeClass('is-invalid');
							$('.contact-consultants-heading').html('Your local Education Consultants');
					
						}
				
				
						// At this point, we only care about primary. Let's hide all, and show the relevant one
						$('.contact-consultants-group-primary .consultant-card-collapse').each(function(){
							if ($(this).attr('id') == chosen_consultant)
							{
								$(this).show();
							}
							else
							{
								$(this).hide();
							}
						});
				
						$('.contact-consultants-collapse').slideDown();
				
					}
					else
					{
						$('#contact-consultants-postcode').focus();
						$('#contact-consultants-postcode').addClass('is-invalid');
					}
				});
				
				// Contact consultant postcode reset
				$('#contact-consultants-form-reset').click(function(event){
					event.preventDefault();
					$('#contact-consultants-postcode').val('');
					$('.contact-consultants-search-status-collapse').slideUp(300, function(){
						$('.contact-consultants-search-status-message').html('');
						$('#contact-consultants-postcode').removeClass('is-invalid');
						$('.contact-consultants-group-primary .consultant-card-collapse').show();
						$('.contact-consultants-heading').html('Our Education Consultants');
						$('.contact-consultants-collapse').slideDown();
					});
				})
				
				$('form').submit(submit_form);
				
				// if ($('.header-action .block-box').length) {
				// 	console.debug('Settings box heights…');
				// 	set_equal_box_heights($('.header-action .block-box'));
				// }
			});
		</script>
			</body>
</html>
