An error occurred while processing the template.
The following has evaluated to null or missing:
==> LinkToSingle.ccSingle  [in template "10108#260730#DONATE-AMOUNT-STICKY-CTA-WITH-IMAGES" at line 17, column 16]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ccSingle = LinkToSingle.ccSingle.getD...  [in template "10108#260730#DONATE-AMOUNT-STICKY-CTA-WITH-IMAGES" at line 17, column 5]
----
1<#-- 
2Web content templates are used to lay out the fields defined in a web 
3content structure. 
4 
5Please use the left panel to quickly add commonly used variables. 
6Autocomplete is also available and can be invoked by typing "${". 
7--> 
8 
9<#assign  
10    campaigncode = httpUtil.getParameter(portalUtil.getCurrentURL(request), "campaigncode", false) 
11    productID = httpUtil.getParameter(portalUtil.getCurrentURL(request), "productID", false) 
12	emailID = httpUtil.getParameter(portalUtil.getCurrentURL(request), "emailID", false) 
13    amount = httpUtil.getParameter(portalUtil.getCurrentURL(request), "amount", false) 
14    singlePayUrl = LinkToSingle.getData() 
15    regularPayUrl = LinkToRegular.getData() 
16    urlParams = "" 
17    ccSingle = LinkToSingle.ccSingle.getData() 
18    ccRegular = LinkToRegular.ccRegular.getData() 
19/> 
20 
21<#if campaigncode?has_content> 
22    <#assign urlParams = 'campaigncode=' + campaigncode /> 
23    <#if productID?has_content> 
24        <#assign urlParams = urlParams + '&productID=' + productID /> 
25    </#if> 
26<#elseif productID?has_content> 
27    <#assign urlParams = 'productID=' + productID /> 
28</#if> 
29 
30<#if (emailID?has_content)> 
31	<#if urlParams?has_content> 
32		<#assign urlParams = urlParams +'&emailID='+emailID/> 
33	<#else> 
34		<#assign urlParams = urlParams +'emailID='+emailID/> 
35	</#if> 
36</#if> 
37 
38<#if urlParams?has_content> 
39    <#if singlePayUrl?has_content> 
40        <#if singlePayUrl?contains("?")> 
41            <#if singlePayUrl?contains("productID") && urlParams?contains("productID")> 
42                <#assign singlePayUrl = singlePayUrl?replace("productID", "defproductID") />     
43            </#if> 
44 
45            <#if singlePayUrl?contains("campaigncode") && urlParams?contains("campaigncode")> 
46                <#assign singlePayUrl = singlePayUrl?replace("campaigncode", "defcampaigncode") /> 
47            </#if>             
48 
49            <#assign singlePayUrl = singlePayUrl + '&' + urlParams /> 
50        <#else> 
51            <#assign singlePayUrl = singlePayUrl + '?' + urlParams />         
52        </#if> 
53    </#if> 
54     
55    <#if regularPayUrl?has_content> 
56        <#if regularPayUrl?contains("?")> 
57            <#if regularPayUrl?contains("productID") && urlParams?contains("productID")> 
58                <#assign regularPayUrl = regularPayUrl?replace("productID", "defproductID") />     
59            </#if> 
60 
61            <#if regularPayUrl?contains("campaigncode") && urlParams?contains("campaigncode")> 
62                <#assign regularPayUrl = regularPayUrl?replace("campaigncode", "defcampaigncode") /> 
63            </#if>          
64 
65            <#assign regularPayUrl = regularPayUrl + '&' + urlParams /> 
66        <#else> 
67            <#assign regularPayUrl = regularPayUrl + '?' + urlParams />         
68        </#if> 
69    </#if>     
70</#if> 
71 
72<#assign both = "" /> 
73<#if regularPayUrl?has_content && singlePayUrl?has_content> 
74    <#assign both = "both" /> 
75</#if> 
76 
77<#assign hasRegularAsks = false /> 
78<#assign hasSingleAsks = false /> 
79<#assign hasRegularDefault = false /> 
80<#assign hasSingleDefault = false /> 
81<#assign defaultRegularAsk = 0 /> 
82<#assign defaultSingleAsk = 0 /> 
83 
84<#if AskSingle.getSiblings()?has_content && LinkToSingle?has_content> 
85    <#list AskSingle.getSiblings() as cur_AskSingle> 
86        <#if cur_AskSingle.SingleAmount?has_content && cur_AskSingle.SingleAmount.getData() != "" 
87                && cur_AskSingle.SingleHeader.getData()?has_content && cur_AskSingle.SingleHeader.getData() != ""> 
88            <#assign hasSingleAsks = true /> 
89        </#if> 
90        <#if cur_AskSingle.SingleIsDefault?? && getterUtil.getBoolean(cur_AskSingle.SingleIsDefault.getData())> 
91	            <#assign hasSingleDefault = true /> 
92	            <#assign defaultSingleAsk = cur_AskSingle?index /> 
93        </#if> 
94    </#list> 
95</#if> 
96 
97<#if AskRegular.getSiblings()?has_content && LinkToRegular?has_content> 
98    <#list AskRegular.getSiblings() as cur_AskRegular> 
99        <#if cur_AskRegular.RegularAmount?has_content && cur_AskRegular.RegularAmount.getData() != "" 
100                && cur_AskRegular.RegularHeader.getData()?has_content && cur_AskRegular.RegularHeader.getData() != ""> 
101            <#assign hasRegularAsks = true /> 
102        </#if> 
103        <#if cur_AskRegular.RegularIsDefault?? && getterUtil.getBoolean(cur_AskRegular.RegularIsDefault.getData())> 
104	            <#assign hasRegularDefault = true /> 
105	            <#assign defaultRegularAsk = cur_AskRegular?index /> 
106        </#if> 
107    </#list> 
108</#if> 
109 
110<#if DefaultPaymentType?? && DefaultPaymentType.getData() != ""> 
111    <#assign displayRegular = DefaultPaymentType.getData()?boolean> 
112<#else> 
113    <#assign displayRegular = true> 
114</#if> 
115 
116<div class="donations-landing-sticky-cta-with-images"> 
117    <div class="donations-launcher"> 
118        <#if VideoURL?? && VideoURL.getData() != ""> 
119            <div class="image-section video-section top"> 
120                <div class="embed-video"> 
121                    <iframe class="video-content" src="${VideoURL.getData()}" frameborder="0" allowfullscreen></iframe> 
122                </div> 
123            </div> 
124        <#elseif mainImage.getData()?? && mainImage.getData() != ""> 
125            <div class='image-section top' style="background-image: url('${mainImage.getData()}')"> 
126                <img src="${mainImage.getData()}" /> 
127            </div> 
128        </#if> 
129 
130        <div class="content-area"> 
131            <div class="content-section"> 
132                <form action="" class="form" id="donateForm1" method="post" name="donateForm1" novalidate> 
133                    <div class="asks-area"> 
134                        <#if both == "both"> 
135                            <div class="switch-payment-option-section"> 
136                                <#if displayRegular> 
137                                    <div class="switch-payment-option-button donate-regular themeButton themeBackground${ButtonHeaderColour.getData()} theme${ButtonHeaderTextColour.getData()}Txt selected" data-hide="single"> 
138                                        Give monthly 
139                                    </div> 
140                                </#if> 
141                                <div class="switch-payment-option-button donate-regular themeButton<#if !displayRegular> themeBackground${ButtonHeaderColour.getData()} theme${ButtonHeaderTextColour.getData()}Txt selected</#if>" data-hide="regular"> 
142                                    Give once 
143                                </div> 
144                                <#if !displayRegular> 
145                                    <div class="switch-payment-option-button donate-regular themeButton" data-hide="single"> 
146                                        Give monthly 
147                                    </div> 
148                                </#if> 
149                            </div> 
150                        </#if> 
151                        <#if hasRegularAsks> 
152                            <div class="asks-section donate-regular-area"<#if both == "both" && !displayRegular> style="display: none;"</#if>> 
153                                <div class="asks"> 
154                                    <#list AskRegular.getSiblings() as askRegular> 
155                                        <div class="donate-amount donate-regular form-control<#if (askRegular?index == defaultRegularAsk && both != "both") || (askRegular?index == defaultRegularAsk && both == "both" && displayRegular)> themeBackground${ButtonHeaderColour.getData()} theme${ButtonHeaderTextColour.getData()}Txt selected</#if>" data-amount="${askRegular.RegularAmount.getData()}" data-index="${askRegular?index}"> 
156                                            <div class="donate-amount-main-text"> 
157                                                ${askRegular.RegularHeader.getData()} 
158                                            </div> 
159                                            <div class="donate-amount-additional-text"> 
160                                                /month 
161                                            </div> 
162                                        </div> 
163                                    </#list> 
164                                </div> 
165                            </div> 
166                        </#if> 
167                        <#if hasSingleAsks> 
168                            <div class="asks-section donate-single-area"<#if both == "both" && displayRegular> style="display: none;"</#if>> 
169                                <div class="asks"> 
170                                    <#list AskSingle.getSiblings() as askSingle> 
171        	                    	    <div class="donate-amount donate-single form-control<#if (askSingle?index == defaultSingleAsk && both != "both") || (askSingle?index == defaultSingleAsk && both == "both" && !displayRegular)> themeBackground${ButtonHeaderColour.getData()} theme${ButtonHeaderTextColour.getData()}Txt selected</#if>" data-amount="${askSingle.SingleAmount.getData()}" data-index="${askSingle?index}"> 
172        	                    	        <div class="donate-amount-main-text"> 
173        	                    	            ${askSingle.SingleHeader.getData()} 
174                                            </div> 
175        	                    	    </div> 
176                            	    </#list> 
177                                </div> 
178                            </div> 
179                        </#if> 
180                        <div class="donation-info-section"> 
181                            <div class="donation-info-text-section"> 
182                                <div class="donation-info-text"> 
183                                    <#if (both == "both" && hasRegularAsks && displayRegular) || both != "both" && hasRegularAsks> 
184                                        ${AskRegular.getSiblings()[defaultRegularAsk].RegularText.getData()} 
185                                    </#if> 
186                                    <#if (both == "both" && hasSingleAsks && !displayRegular) || both != "both" && hasSingleAsks> 
187                                        ${AskSingle.getSiblings()[defaultSingleAsk].SingleText.getData()} 
188                                    </#if> 
189                                </div> 
190                            </div> 
191                            <div class="donation-info-image-section"> 
192                                <#if (both == "both" && hasRegularAsks && displayRegular) || both != "both" && hasRegularAsks> 
193                                    <#if AskRegular.getSiblings()[defaultRegularAsk].RegularImage.getData()?? && AskRegular.getSiblings()[defaultRegularAsk].RegularImage.getData() != ""> 
194                            	        <img alt="${AskRegular.getSiblings()[defaultRegularAsk].RegularImage.getAttribute("alt")}" src="${AskRegular.getSiblings()[defaultRegularAsk].RegularImage.getData()}" /> 
195                                    </#if> 
196                                </#if> 
197                                <#if (both == "both" && hasSingleAsks && !displayRegular) || both != "both" && hasSingleAsks> 
198                                    <#if AskSingle.getSiblings()[defaultSingleAsk].SingleImage.getData()?? && AskSingle.getSiblings()[defaultSingleAsk].SingleImage.getData() != ""> 
199                                    	<img alt="${AskSingle.getSiblings()[defaultSingleAsk].SingleImage.getAttribute("alt")}" src="${AskSingle.getSiblings()[defaultSingleAsk].SingleImage.getData()}" /> 
200                                    </#if> 
201                                </#if> 
202                            </div> 
203                        </div> 
204                        <div class="other-donation-amount"> 
205                            <div class="input-group"> 
206                                <div class="input-group-border"> 
207                                    <span class="input-group-addon">£</span> 
208                                    <input class="field amount form-control donation-amount-input" id="_donationAmount" name="_donationAmount" placeholder="Other amount" title="donation-amount" type="number" onfocus="clearErrMsg();" value="${amount}"> 
209                                </div> 
210                                <div class="form-validator-stack help-block"> 
211                                    <div id="errDiv" role="alert"></div> 
212                                </div> 
213                            </div> 
214                        </div> 
215                    </div> 
216                    <div class="donate-button-area"> 
217                        <#if hasRegularAsks || hasSingleAsks> 
218                            <button class="themeButton themeStraightButton donate-button themeBackground${ButtonHeaderColour.getData()} theme${ButtonHeaderTextColour.getData()}Txt" onClick="submitDonateForm();"> 
219                                <#if both == "both" && displayRegular || both != "both" && hasRegularAsks> 
220                                    Give ${AskRegular.getSiblings()[defaultRegularAsk].RegularHeader.getData()} monthly now 
221                                <#else> 
222                                    Give ${AskSingle.getSiblings()[defaultSingleAsk].SingleHeader.getData()} now 
223                                </#if> 
224                            </button> 
225                        </#if> 
226                        <#if SinglePaymentOptionsImage?? && SinglePaymentOptionsImage.getData()?? && SinglePaymentOptionsImage.getData() != ""> 
227    	                    <div class="payment-options payment-options-single" <#if both == "both" && !displayRegular || both != "both" && hasSingleAsks>style="display: none;"</#if>> 
228    	                        <img alt="${SinglePaymentOptionsImage.getAttribute("alt")}" src="${SinglePaymentOptionsImage.getData()}" /> 
229                            </div> 
230                        </#if> 
231                        <#if RegularPaymentOptionsImage?? && RegularPaymentOptionsImage.getData()?? && RegularPaymentOptionsImage.getData() != ""> 
232                            <div class="payment-options payment-options-regular" <#if both == "both" && displayRegular || both != "both" && hasRegularAsks>style="display: none;"</#if>> 
233    	                        <img alt="${RegularPaymentOptionsImage.getAttribute("alt")}" src="${RegularPaymentOptionsImage.getData()}" /> 
234                            </div> 
235                        </#if> 
236                    </div> 
237                </form> 
238            </div> 
239        </div> 
240        <div class="header-section divider-indent"> 
241            <div class="header"> 
242                ${IntroHeader.getData()} 
243            </div> 
244        </div> 
245    </div> 
246</div> 
247 
248<script> 
249 
250    <#if hasRegularAsks> 
251        var regularAsks = []; 
252        <#list AskRegular.getSiblings() as askRegular> 
253            regularAsks.push({ 
254                buttonText: "${askRegular.RegularHeader.getData()}", 
255                infoText: "${askRegular.RegularText.getData()}", 
256                infoImageURL: "${askRegular.RegularImage.getData()}" 
257            }); 
258        </#list> 
259    </#if> 
260 
261    <#if hasSingleAsks> 
262        var singleAsks = []; 
263        <#list AskSingle.getSiblings() as askSingle> 
264            singleAsks.push({ 
265                buttonText: "${askSingle.SingleHeader.getData()}", 
266                infoText: "${askSingle.SingleText.getData()}", 
267                infoImageURL: "${askSingle.SingleImage.getData()}" 
268            }); 
269        </#list> 
270    </#if> 
271     
272    $('.donation-amount-input').on("click", function(event) { 
273        updateEmptyDonation() 
274    }); 
275     
276    $('.donate-amount').on("click", function(event) { 
277        var currentTarget = $(event.currentTarget); 
278        var index = currentTarget.data("index"); 
279 
280        if (currentTarget.hasClass("donate-regular")) { 
281            var buttonText = "Give " + regularAsks[index].buttonText + " monthly now"; 
282            var infoText = regularAsks[index].infoText; 
283            var infoImageURL = regularAsks[index].infoImageURL; 
284        } else { 
285            var buttonText = "Give " + singleAsks[index].buttonText + " now"; 
286            var infoText = singleAsks[index].infoText; 
287            var infoImageURL = singleAsks[index].infoImageURL; 
288
289         
290        $('.donation-info-image-section img').attr("src", infoImageURL); 
291        $('.donation-info-text').html(infoText); 
292        $('.donate-button').html(buttonText); 
293         
294        $('.donation-info-section').slideDown(1000); 
295 
296        $('.donate-amount').removeClass("selected"); 
297        $('.donate-amount').removeClass("themeBackground${ButtonHeaderColour.getData()}"); 
298        $('.donate-amount').removeClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
299        $(currentTarget).addClass("selected"); 
300        $(currentTarget).addClass("themeBackground${ButtonHeaderColour.getData()}"); 
301        $(currentTarget).addClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
302    }); 
303     
304    $(".switch-payment-option-button").on("click", function(event) { 
305        var currentTarget = $(event.currentTarget); 
306        var hide = $(event.currentTarget).data("hide"); 
307         
308        $('.asks-section').show(); 
309        $('.donate-footer-area').show(); 
310        $('.payment-options').show(); 
311 
312        $('.donate-' + hide + '-area').hide(); 
313        $('.donate-' + hide + '-footer-area').hide(); 
314        $('.payment-options-' + hide).hide(); 
315 
316        $(".switch-payment-option-button").removeClass("selected"); 
317        $(".switch-payment-option-button").removeClass("themeBackground${ButtonHeaderColour.getData()}"); 
318        $(".switch-payment-option-button").removeClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
319 
320        $(currentTarget).addClass("selected"); 
321        $(currentTarget).addClass("themeBackground${ButtonHeaderColour.getData()}"); 
322        $(currentTarget).addClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
323         
324        if ((hide == "regular" && ${hasSingleDefault?c}) || (hide == "single" && ${hasRegularDefault?c})) { 
325            updateDefaultDonation(hide); 
326        } else { 
327            updateEmptyDonation(); 
328
329    }); 
330 
331    function updateDefaultDonation(hidden) { 
332        if (hidden == "single") { 
333            var index = ${defaultRegularAsk}; 
334            var buttonText = "Give " + regularAsks[index].buttonText + " monthly now"; 
335            var infoText = regularAsks[index].infoText; 
336            var infoImageURL = regularAsks[index].infoImageURL; 
337            var askSelector = ".donate-amount.donate-regular" 
338        } else { 
339            var index = ${defaultSingleAsk} 
340            var buttonText = "Give " + singleAsks[index].buttonText + " now"; 
341            var infoText = singleAsks[index].infoText; 
342            var infoImageURL = singleAsks[index].infoImageURL; 
343            var askSelector = ".donate-amount.donate-single" 
344
345         
346        $('.donation-info-image-section img').attr("src", infoImageURL); 
347        $('.donation-info-text').html(infoText); 
348        $('.donate-button').html(buttonText); 
349         
350        $('.donation-info-section').slideDown(1000); 
351 
352        $('.donate-amount').removeClass("selected"); 
353        $('.donate-amount').removeClass("themeBackground${ButtonHeaderColour.getData()}"); 
354        $('.donate-amount').removeClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
355 
356        $($(askSelector)[index]).addClass("selected"); 
357        $($(askSelector)[index]).addClass("themeBackground${ButtonHeaderColour.getData()}"); 
358        $($(askSelector)[index]).addClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
359
360 
361    function updateEmptyDonation() { 
362        <#if DefaultAskHeader?? && DefaultAskHeader.getData() != ""> 
363            $('.donation-text-area').html("${DefaultAskHeader.getData()}"); 
364        <#else> 
365            $('.donation-text-area').html(""); 
366        </#if> 
367 
368        $('.donation-info-section').slideUp(1000); 
369         
370 
371        $('.donate-amount').removeClass("selected"); 
372        $('.donate-amount').removeClass("themeBackground${ButtonHeaderColour.getData()}"); 
373        $('.donate-amount').removeClass("theme${ButtonHeaderTextColour.getData()}Txt"); 
374 
375        if ($('.donate-regular-area').is(":visible")) { 
376            $('.donate-button').html("Give monthly now"); 
377        } else { 
378            $('.donate-button').html("Give now"); 
379
380
381 
382    function submitDonateForm() { 
383        var minAmount = 1; 
384        var maxAmount = 0; 
385        var amount = 0.00; 
386        var target = event.target; 
387        var form = $(target).parents('form:first'); 
388 
389        if ($('.donate-amount.selected').length > 0) { 
390            amount = $('.donate-amount.selected').data("amount"); 
391        } else { 
392            amount = $(form).find("#_donationAmount").val(); 
393
394         
395        if ($('.donate-regular-area').is(":visible")) { 
396            /* if regular area is visible, change url to regular url and newCampaigncode to the regular campaigncode */ 
397            url = "${regularPayUrl}" 
398            newCampaigncode = "${ccRegular}" 
399        } else { 
400            /* if regular area isn't visible, change url to single url and newCampaigncode to the single campaigncode */ 
401            url = "${singlePayUrl}" 
402            newCampaigncode = "${ccSingle}" 
403
404 
405        if (url == "${LinkToSingle.getData()}") { 
406            <#if SingleMinAmount?? && SingleMinAmount.getData() != ""> 
407                minAmount = ${SingleMinAmount.getData()} 
408            </#if> 
409 
410            <#if SingleMaxAmount?? && SingleMaxAmount.getData() != ""> 
411                var maxAmount = ${SingleMaxAmount.getData()} 
412            </#if> 
413        } else { 
414            <#if RegularMinAmount?? && RegularMinAmount.getData() != ""> 
415                minAmount = ${RegularMinAmount.getData()} 
416            </#if> 
417 
418            <#if RegularMaxAmount?? && RegularMaxAmount.getData() != ""> 
419                var maxAmount = ${RegularMaxAmount.getData()} 
420            </#if> 
421
422         
423        var regEx = /^\d+(\.\d{1,2})?$/; 
424        
425        if (amount == '' || isNaN(amount)) { 
426            $(form).find("#errDiv").html( "Please enter amount"); 
427            event.preventDefault(); 
428            return;    
429        } else if (amount < minAmount) { 
430            $(form).find("#errDiv").html("Due to administration costs we are unable to accept donations under £" + minAmount); 
431            event.preventDefault(); 
432            return; 
433        } else if (maxAmount != 0 && amount > maxAmount) { 
434            $(form).find("#errDiv").html("We do no accept monthly donations of greater than £" + maxAmount + " via our website. <a href='https://www.rspca.org.uk/utilities/contactus/askus' target='_blank'>Contact us</a> for help."); 
435            event.preventDefault(); 
436            return; 
437        } else if (!regEx.test(amount)) { 
438            $(form).find("#errDiv").html("Please enter a valid amount (no commas and only 2 digits after the decimal)"); 
439            event.preventDefault(); 
440            return;    
441        } else { 
442            var finalUrl = ''; 
443            var UrlParams = window.location.search; 
444            if (UrlParams.includes("campaigncode")) { 
445                /* If url has a campaigncode param, only add the donation amount to the url */ 
446                if (url.indexOf('?') > 0) { 
447                    finalUrl = url + '&amount=' + amount;     
448                } else { 
449                    finalUrl = url + '?amount=' + amount;  
450
451            } else { 
452                /* If url doesn't have a campaigncode param, add both amount and campaigncode to the url */ 
453                if (url.indexOf('?') > 0) { 
454                    if (newCampaigncode === "") { 
455                        finalUrl = url + '&amount=' + amount; 
456                    } else { 
457                        finalUrl = url + '&amount=' + amount + '&campaigncode=' + newCampaigncode;  
458
459                } else { 
460                    if (newCampaigncode === "") { 
461                        finalUrl = url + '?amount=' + amount;   
462                    } else { 
463                        finalUrl = url + '?amount=' + amount + '&campaigncode=' + newCampaigncode;  
464
465
466
467 
468            form.attr('action', finalUrl);  
469
470
471     
472    /* Deal with floating CTA's */ 
473     
474    $(window).on("scroll", function(event) { 
475        checkStickyPos(); 
476    }); 
477     
478    $(window).on("resize", function(event) { 
479        checkStickyPos(); 
480    }); 
481     
482    function checkStickyPos() { 
483        if ($(window).outerWidth() < 768) { 
484            $(".content-section").css({position: "relative", top: "0"}); 
485 
486            if ($(".content-section").offset().top + $(".content-section").height()  < $(window).scrollTop() + $('#banner').height()) { 
487                $('.floating-donate').show(); 
488            } else { 
489                $('.floating-donate').hide(); 
490
491        } else { 
492            $('.floating-donate').hide(); 
493             
494            var headerHeight = 0; 
495            if ($('#banner').css("position") == "fixed") { 
496                headerHeight = $('#banner').height() 
497
498             
499            if ($(window).scrollTop() + headerHeight > $(".donations-launcher").offset().top) { 
500                $(".content-section").css({position: "fixed", top: headerHeight + 100 + "px"}); 
501            } else { 
502                if ($(".content-section").css("position") != "absolute") { 
503                    $(".content-section").css({position: "absolute", top: "100px"}); 
504
505
506
507
508     
509    function clearErrMsg() { 
510        document.getElementById("errDiv").innerHTML = ""; 
511
512</script> 

Will you help our wildlife teams rescue, rehabilitate and release wild animals trapped in litter?

Everyday, we see horrific situations with our beautiful wildlife trapped in litter which has been thrown away without thought or care. Some have been trapped for days if not weeks, and often face a slow death without our fast response.

Sadly, as a result of the pandemic and discarded PPE equipment, this problem has only got worse and we have now reached a critical point. In particular, discarded face masks are everywhere, the straps can get entangled around the heads, necks and limbs of animals as they struggle to get free.

We're now in an emergency situation and fear the numbers of animals trapped could actually be a lot higher. Some of our most beloved animals like badgers and hedgehogs are nocturnal which often go unseen and we can only react to what the public reports. With people still understandably nervous about catching Covid, with many still choosing to wear masks, the reality of PPE litter is not going away anytime soon.

With only 4 wildlife centres across England and Wales. In 2021 we received over 3,500 calls about animals trapped in litter. With over 15,000 animals admitted to our four wildlife centres.

 

Your emergency support could help make a life-saving difference to a wild animal in desperate need.

Here are some of the vulnerable wild animals that needed our urgent help.

Gull trapped in face mask

RSPCA Inspector Adam Jones was called to an animal emergency involving a face mask. Adam said: "The gull had been sitting in the same spot for hours and didn't appear to be moving. I went out to catch him and when he tried to hop away he would stumble and fall - the poor thing had a disposable face mask tangled around both legs. It's clear the mask had been there for some time and the elastic straps had tightened around his legs - his joints were swollen and sore."

Thankfully after rehabilitation the gull was released back into the wild. However, we fear that this gull could be just one of many victims, now that face masks are part of everyday life.

£10 could go towards critical wire clippers to release wildlife

Donate now

Seal suffers with two-inch neck wound

When we found Colossus the seal he had a two-inch deep wound that had become badly infected and he had lost a lot of weight. But thankfully, after completing the difficult task of removing the netting, we were able to start his treatment. He was worryingly quiet to begin with and almost motionless, but when he started hoovering up fish we knew he was on the mend! After a long period of recovery and rehabilitation, we were delighted to be able to release Colossus back into the wild off the coast of Norfolk.

£25 could buy salt bags for daily salt baths

Donate now

Gull left hanging by its wing

Recently we were alerted to a gull left suspended from a tree by a discarded fishing line from an angling lake in Dawley, Shropshire. Animal Rescue Officer David attended the call. He said: "This poor gull was swinging backwards and forwards over the water, completely tangled up by its wing in the fishing line with no means of escape."

David was able to release the gull and immediately transport it for veterinary treatment. After 24 hours of rest, including a meal of fish and mealworms - the gull was successfully released back onto the lake the following day!

£40 could go towards heat lamps to keep rehab enclosures warm and cosy

Donate now

More than 80 pence
of every pound we spend goes directly to animals who desperately need help. Select the tabs to read more. (Based on RSPCA 2021 accounts)
£1
83p
is spent on animal welfare
16p
is spent raising the next pound
1p
is spent on governance
More than 80 percent of your donation will go to rescuing, rehabilitating and rehoming or releasing vulnerable animals. This means abandoned dogs and cats will be cared for, or an injured fox can get a much needed check-up. Most importantly, it ensures that the voice of all animals can be heard.
From bats to badgers and seals to sparrows, we help animals great and small. Each year, we rescue more than 100,000 of them. Without the funds gained through our marketing, we would not be able to finance our crucial work.
Your 1p will support our board members as they create campaigns and push for governance change. At home or abroad, our prevention campaigns are essential for improving the safety and happiness of animals.

Donate by phone, call now

0300 123 8181