Un SeaBin més al mar

4.825 Kg menys de plàstic.

4825 Kg de plàstics recollits

A imagin ens prenem molt seriosament el nostre compromís amb el planeta i els seus oceans. Per això estem tan orgullosos de poder compartir amb tu el nostre projecte imagin SeaBin.

Una solució innovadora per lluitar contra la contaminació dels nostres mars i oceans.

De què es tracta?

  • Els dispositius SeaBin són unes papereres marines flotants fabricades amb materials 100% reciclats.

  • Capaces de recol·lectar cada any fins a 1,4 tones de residus i 300.000 objectes de plàstic del mar.

  • Contribueixen a netejar els oceans a través de la captura de plàstics, restes flotants i microfibres.

  • Tot per menys d'1 € d'electricitat al dia.

On es troben?

On es troben?

S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> journalArticleLocalService.fetchJournalArticleByUuidAndGroupId(webContentData.uuid, themeDisplay.getScopeGroupId())  [in template "554383#554429#859110" at line 143, column 38]

----
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: ja = journalArticleLocalService.fetch...  [in template "554383#554429#859110" at line 143, column 33]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
2<#assign portletRequestModel = objectUtil("com.liferay.portal.kernel.portlet.PortletRequestModel", renderRequest, renderResponse) /> 
3<#assign style = ""/> 
4<#if parentStructureFieldSet1019244.selColorDeFondo?? && (parentStructureFieldSet1019244.selColorDeFondo.getData() != "" || parentStructureFieldSet1019244.damImagenFondoFieldSet.damImagenFondo.getData() != "")> 
5	<#assign backgroundStyle = "" 
6		imagePath = "" 
7		backgroundColor = "" 
8		repeatable = "" 
9		backgroundSize = "" 
10		backgroundPosition = "" 
11	/> 
12 
13	<#if parentStructureFieldSet1019244.damImagenFondoFieldSet.damImagenFondo.getData() != ""> 
14		<#assign imagePath = "url('" + parentStructureFieldSet1019244.damImagenFondoFieldSet.damImagenFondo.getData() + "')"> 
15	</#if> 
16 
17	<#if parentStructureFieldSet1019244.selColorDeFondo.getData() != ""> 
18		<#if parentStructureFieldSet1019244.selColorDeFondo.getData() == 'white'> 
19			<#assign backgroundColor = "#FFFFFF"> 
20		</#if> 
21		<#if parentStructureFieldSet1019244.selColorDeFondo.getData() == 'gray-10'> 
22			<#assign backgroundColor = "#F5F5F5"> 
23		</#if> 
24		<#if parentStructureFieldSet1019244.selColorDeFondo.getData() == 'gray-gradient'> 
25			<#assign backgroundColor = "linear-gradient(180deg, #E0E0E0 0%, #FFFFFF 100%)"> 
26		</#if> 
27		<#if parentStructureFieldSet1019244.selColorDeFondo.getData() == 'green-gradient'> 
28			<#assign backgroundColor = "linear-gradient(90deg, #00EABF 0%, #00F198 100%)"> 
29		</#if> 
30	</#if> 
31 
32	<#if parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoRepetible.getData() != ""> 
33		<#assign repeatable = "background-repeat:" + parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoRepetible.getData()/> 
34	</#if> 
35 
36	<#if parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoAncho.getData() != "" || parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoAlto.getData() != ""> 
37		<#assign backgroundSize = "background-size:" + parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoAncho.getData() + " " + parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoAlto.getData()/> 
38	</#if> 
39 
40	<#if parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoPosicionHorizontal.getData() != "" || parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoPosicionVertical.getData() != ""> 
41		<#assign backgroundPosition = "background-position:" + parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoPosicionHorizontal.getData() + " " + parentStructureFieldSet1019244.damImagenFondoFieldSet.txtImagenFondoPosicionVertical.getData()/> 
42	</#if> 
43 
44    <#if imagePath != "" && backgroundColor != ""> 
45 
46        <#assign backgroundStyle = "background: " + imagePath + "," + backgroundColor/> 
47 
48    <#elseif imagePath == "" && backgroundColor != ""> 
49 
50        <#assign backgroundStyle =  "background: " + backgroundColor/> 
51 
52    <#elseif imagePath != "" && backgroundColor == ""> 
53 
54        <#assign backgroundStyle =  "background: " + imagePath/> 
55 
56    </#if> 
57 
58    <#assign style = [backgroundStyle, repeatable, backgroundSize, backgroundPosition]?join(";")> 
59</#if> 
60 
61<#assign thereIsIntersection = parentStructureFieldSet1019244.damSvgIntersection?? && parentStructureFieldSet1019244.damSvgIntersection.getData() != ''> 
62 
63<div id="<@portlet.namespace />" class="d2 highlighted-features container-fluid ${thereIsIntersection?then('pb-0', '')}" style="${style}"> 
64 
65    <div class="container"> 
66        <#if htmlTitulo?? && htmlTitulo.getData() != ""> 
67            <div class="row"> 
68                <div class="col-12 px-0 text-${htmlTitulo.selTitleAlineacion.getData()}"> 
69                    ${htmlTitulo.getData()} 
70                </div> 
71            </div> 
72        </#if> 
73 
74        <#if txtDescripcion?? && txtDescripcion.getData()?has_content> 
75            <div class="row"> 
76                <#assign cssClass = ""> 
77                <#if txtDescripcion.selDescripcionAlineacion.getData() == "left"> 
78                    <#assign cssClass></#assign> 
79                <#elseif txtDescripcion.selDescripcionAlineacion.getData() == "center"> 
80                    <#assign cssClass>offset-sm-3</#assign> 
81                <#elseif txtDescripcion.selDescripcionAlineacion.getData() == "right"> 
82                    <#assign cssClass>offset-sm-6</#assign> 
83                </#if> 
84                <div class="col-12 col-sm-6 d-sm-block body-lg my-3 text-${txtDescripcion.selDescripcionAlineacion.getData()} ${cssClass}"> 
85                    ${txtDescripcion.getData()} 
86                </div> 
87            </div> 
88        </#if> 
89 
90        <#assign alineacionImagen=damImagenPrincipal.selImagenAlineacion.getData()/> 
91        <#if alineacionImagen == "1"> 
92            <#assign col1Order = 2, col2Order = 3> 
93        <#elseif alineacionImagen == "2"> 
94            <#assign col1Order = 1, col2Order = 3> 
95        <#elseif alineacionImagen == "3"> 
96            <#assign col1Order = 1, col2Order = 2> 
97        </#if> 
98 
99        <#assign keyBenefitsSize=jasKeyBenefits.getSiblings()?size/> 
100 
101        <#if damImagenPrincipal?has_content && damImagenPrincipal.getData() != ""> 
102            <div class="content"> 
103 
104                <div class="order-${alineacionImagen} promo-image"> 
105                    <img alt="${damImagenPrincipal.getAttribute("alt")!""}" data-src="${damImagenPrincipal.getData()}"> 
106                </div> 
107 
108                <#assign chunks = jasKeyBenefits.getSiblings()?chunk(keyBenefitsSize / 2)> 
109 
110                <div class="feature-list-col order-${col1Order}"> 
111                    <#list chunks[0] as cell> 
112 
113                        <#assign 
114                            webContentData = jsonFactoryUtil.createJSONObject(cell.getData()) 
115                            ja = journalArticleLocalService.fetchJournalArticleByUuidAndGroupId(webContentData.uuid, themeDisplay.getScopeGroupId())> 
116 
117                        ${journalArticleLocalService.getArticleContent(ja, ja.getDDMTemplateKey(), "VIEW", locale, portletRequestModel, themeDisplay)} 
118 
119                    </#list> 
120                </div> 
121 
122                <div class="feature-list-col order-${col2Order}"> 
123                    <#list chunks[1] as cell> 
124 
125                        <#assign 
126                            webContentData = jsonFactoryUtil.createJSONObject(cell.getData()) 
127                            ja = journalArticleLocalService.fetchJournalArticleByUuidAndGroupId(webContentData.uuid, themeDisplay.getScopeGroupId())> 
128 
129                        ${journalArticleLocalService.getArticleContent(ja, ja.getDDMTemplateKey(), "VIEW", locale, portletRequestModel, themeDisplay)} 
130 
131                    </#list> 
132                </div> 
133            </div> 
134 
135            <#else> 
136 
137                <#list jasKeyBenefits.getSiblings()> 
138                    <div class="content feature-list-row justify-content-around"> 
139                        <#items as cell> 
140 
141                            <#assign 
142                                webContentData = jsonFactoryUtil.createJSONObject(cell.getData()) 
143                                ja = journalArticleLocalService.fetchJournalArticleByUuidAndGroupId(webContentData.uuid, themeDisplay.getScopeGroupId())> 
144 
145                            ${journalArticleLocalService.getArticleContent(ja, ja.getDDMTemplateKey(), "VIEW", locale, portletRequestModel, themeDisplay)} 
146 
147                        </#items> 
148                    </div> 
149                </#list> 
150            </#if> 
151 
152 
153        <#if CTA.htmlDescripcion.getData() != '' || CTA.txtTexto.getData() != ''> 
154            <div class="row"> 
155 
156                <div class="cta"> 
157                    <#if CTA.htmlDescripcion.getData() != ''> 
158                        <div class="detail">${CTA.htmlDescripcion.getData()}</div> 
159                    </#if> 
160 
161                    <#if CTA.txtTexto.getData() != ''> 
162                        <#assign itemId = 'tealium-id' + random.nextInt() > 
163                        <#assign  
164				    		powlinkDinamicoClass = "" 
165				    	/> 
166				    	<#if CTA.PowlinkDinamico?? && getterUtil.getBoolean(CTA.PowlinkDinamico.getData())> 
167				    		<#assign powlinkDinamicoClass = "powlink-dinamico"> 
168				    	</#if> 
169                        <a id="${itemId}" class="alternative btn-${CTA.selTipoEnlace.getData()} btn-color-${CTA.selColor.getData()} ${powlinkDinamicoClass}" href="${CTA.txtEnlace.getData()}" ${(CTA.chkNuevaVentana.getData() == 'true')?string('target="_blank"', '')}">${CTA.txtTexto.getData()}</a> 
170                        <#if CTA.txtTealium.getData() != ""><script>$("#${itemId}").on('click', function() {${CTA.txtTealium.getData()}});</script></#if> 
171                    </#if> 
172                </div> 
173            </div> 
174        </#if> 
175    </div> 
176 
177    <#if thereIsIntersection> 
178        <div class="intersection"> 
179            ${dlUtil.svgContent(parentStructureFieldSet1019244.damSvgIntersection.getData(), groupId)} 
180        </div> 
181    </#if> 
182</div> 

No t'ho perdis

Seabin

Treballant en equip

  • Els ports esportius són ecosistemes que tenen un gran impacte en la biota marina. Per això, instal·larem diversos SeaBins en ports de tot el territori espanyol.

  • Amb la col·laboració del personal del port, es buidaran periòdicament els dispositius, es pesaran tots els residus, es classificaran segons la seva composició i es reciclaran amb l'objectiu de fer un seguiment de l'impacte generat i detectar possibles millores d'ubicació.

  • Es faran accions de conscienciació en cada punt d'instal·lació sobre la problemàtica de la contaminació dels mars.

Coneix el nostre compromís
amb la sostenibilitat

Som el que fem

Som Empresa B Certificada™ des de 2020. Descobreix més aquí.