<p>LAUSANNE: The International Olympic Committee (IOC) has teamed up with UN Environment for its Clean Seas Campaign and calls on sport and the Olympic Movement to join the effort.</p>

<p>The Clean Seas Campaign, launched in January 2017, aims to increase global awareness of the marine litter issue, and to implement measures that address gaps in waste management.</p>

<p>Seven major sporting bodies, representatives from European and Oceania National Olympic Committees, and three sponsors joined the effort Monday to support the IOC in addressing this global issue.</p>

<p>"The IOC is embracing sustainability in its day-to-day operations, as well as taking a proactive leadership role to inspire Olympic stakeholders and the wider sports community to implement best sustainability practices," said Prince Albert of Monaco, who serves as the chair of the IOC Sustainability and Legacy Commission. "Making a pledge to the UN Environment's Clean Seas Campaign is another important example of how the IOC is implementing its sustainability strategy."</p>

<p>Erik Solheim, the executive director of UN Environment and a member of the IOC Sustainability and Legacy Commission, said: "This is the biggest commitment ever made from sport to address plastic pollution. The International Olympic Committee's Clean Seas pledge will transform the awareness and use of plastic waste in sport. We are delighted to see the actions taken by so many sporting organisations as well as sponsors."</p>

<p>The IOC has already begun reducing waste at the IOC headquarters, as well as at The Olympic Museum, and is working to increase responsible material use at IOC events in collaboration with its suppliers by 2020.</p>

<p>Moving forward, the IOC will provide educational toolkits and workshops to the sports community, in addition to further driving innovative solutions together with its partners. With assistance from Olympic Solidarity funding, coastal clean-ups, campaigns and education programmes have already begun in Oceania, a region of 17 nations that see first-hand the impacts of marine debris in the oceans.</p>

<p>The IOC's stakeholders have already committed to taking an active position towards minimising their impact on the environment, but Monday also committed to join the IOC's Clean Seas movement with the following actions:</p>

<p>&nbsp; &nbsp; World Sailing will pledge to implement an ambitious waste reduction strategy for all its events by 2019, and launch an education programme to reach an estimated 70 million sailors.</p>

<p>&nbsp; &nbsp; The International Triathlon Union (ITU) will work closely with its local organising committees, national federations, stakeholders and the IOC to raise awareness of the issue of marine litter.</p>

<p>&nbsp; &nbsp; The International Surfing Association (ISA) will elect a Sustainability Partner by the end of 2018, aiming to implement a plan to use, reuse and recycle plastics at ISA World Championships by 2019, and expand its education materials on sustainability.</p>

<p>&nbsp; &nbsp; The International Ice Hockey Federation (IIHF) is decreasing plastic use and encouraging recycling at its headquarters, and providing recycling education opportunities at national and youth camps.</p>

<p>&nbsp; &nbsp; The International Association of Athletics Federations (IAAF) has pledged to introduce measures to reduce plastic waste at future IAAF events, and encourage IAAF member federations to follow suit in addition to its air quality partnership with UN Environment.</p>

<p>&nbsp; &nbsp; The International Golf Federation (IGF) is working with governing bodies, national associations and grassroots facilities to drive more responsible resource use through the GEO Foundation.</p>

<p>&nbsp; &nbsp; World Rugby has undertaken a variety of actions to reuse and recycle, and will implement new measures with a focus on the reduction of plastic waste.</p>

<p>&nbsp; &nbsp; National Olympic Committees from around the world will be joining the Clean Seas movement with their own commitments  such as Spain and Germany, which are reducing waste and working on raising awareness nationally.</p>

<p>Many of the IOC's TOP Partners are also doing their part to reduce marine litter. They include:</p>

<p>&nbsp; &nbsp; The Coca-Cola Company announced its World Without Waste vision in January 2018 with ambitious goals to address what it recognises is a major and growing problem in our world. One of those goals is to help collect and recycle a bottle or can for every one it sells by 2030  regardless of where it comes from. It has also committed to making bottles with an average of 50 per cent recycled content by 2030. All of its PET plastic, aluminium and glass packaging is recyclable, and the company is continuing to pursue the goal of making all of it consumer packaging 100 per cent recyclable.</p>

<p>&nbsp; &nbsp; The Dow Chemical Company believes no waste, including plastic waste, belongs in the ocean, and has been collaborating with its key partners to help lead the transition to a sustainable planet and society. Dow is a founding member of the Trash Free Seas Alliance, which seeks solutions to prevent waste from reaching our waterways and the ocean; has programmes underway with Ocean Conservancy; and supports the transition to a circular economy working with the Ellen MacArthur Foundation. Dow also supports the Declaration of the Global Plastics Association for Solutions on Marine Litter, which has approximately 355 marine litter projects planned, underway, or completed around the globe. Dow also recently joined Closed Loop Ocean, an initiative designed to fund waste infrastructure and recycling solutions in Southeast Asia with a focus on investments to improve collection, sorting and recycling markets.</p>

<p>&nbsp; &nbsp; The Procter &amp; Gamble Company has made great progress towards its 2020 goals to reduce packaging (already using 14 per cent less, on the way to a 20 per cent reduction), increasing recycled material use (34 kilotons recycled materials used last year on the way to 52 kilotons/year), and increasing the recyclability of its packaging (now 86 per cent recyclable). The company also has partnerships with the Closed Loop Fund, The Recycling Partnership, the Material Recovery For the Future initiative, and the Trash Free Seas Alliance; and will work with the Olympic Movement to develop solutions to promote and implement recycling globally. It has also committed to 100 per cent recyclable packaging and keeping all P&amp;G plastic out of the ocean by 2030.<br />
&nbsp;</p>