Preceded by months of mounting tension between North and South Korea and the US, the Games ended with a softening of relations between the two Korean countries, who competed under a united flag.

“The Olympic Winter Games at Pyeongchang has come to an end, but the time of peace will continue,” Korean president Moon Jae-in said in closing remarks distributed by the organizing committee ahead of the closing ceremony.

The showpiece attracted a crowd of 35,000 spectators, including dignitaries such as US President Donald Trump’s daughter Ivanka, to the Pyeongchang Olympic stadium.

Calls for peace

Both Korean countries competed as one team in the women’s hockey and marched under a unified flag at the opening and closing ceremonies.

North Korea also sent cheerleaders and musicians to the Games, while Kim Yo Jong, the sister of North Korean leader Kim Jong Un, attended the opening ceremony and met with Moon.

The closing ceremony started with the Olympic Stadium aglow with lights, and the crowd counting down together to say “one,” when performers representing the athletes entered the stadium.

It also featured traditional and contemporary Korean dance, music, puppets, a giant turtle — a sacred animal in Korea — and finished with a thumping dance party for the athletes.

“This celebration of peace that began at Pyeongchang will continue on to the Tokyo 2020 Olympic Summer Games and the Beijing 2022 Olympic Winter Games,” said Moon.

“Here in Korea, we will continue our endeavor to broaden the horizon of peace that began in Pyeonchang.”

The unified Korean team enter the stadium.
READ: What are North Korea’s cheerleaders singing at the Winter Olympics?

IOC calls Pyeongchang “a success”

Thomas Bach, the president of the International Olympic Committee (IOC), told the crowd: “The Olympic Games of PyeongChang 2018 are the games of new horizons.”

He thanked the athletes for their “competitive spirit and fair play” and told the PyeongChang organizing committee: “Thank you from the bottom of my heart.”

Addressing Korean President Moon, Bach said: “Thank you for your personal commitment and determination to make these Games so successful in every way.”

In remarks distributed by organizers before the closing ceremony, Bach had said: “We have seen here how sport can make the world a better place.

“The way in which the DPRK athletes have been received by their fellow athletes and by the crowds shows the Olympic spirit in action.”

Bach ended his speech by bringing athletes from the five continents on to the stage, which included Lindsey Vonn of the US, the world’s most successful female ski racer of all time, and Tongan flag bearer Pita Taufatofua.

READ: Tonga’s famous flag bearer Pita Taufatofua achieves his ‘impossible dream’

No major scandals

The 23rd Winter Olympics, the first in South Korea since the 1988 Seoul Summer Games, passed by without any major scandals or organizational hiccups, though there were some sporadic cases of doping.

Earlier Sunday there was controversy after the Olympic Athlete from Russia (OAR) team beat Germany to win the men’s ice hockey gold and then sang the Russian national anthem while the Olympic song was being played at the medal ceremony against IOC stipulations.

The IOC had banned Russia from competing in the Winter Games because of state-sponsored doping before and during the 2014 Sochi Olympics.

Instead, the IOC allowed 168 Russian athletes to compete as the Olympic Athlete from Russia (OAR) team under a neutral flag, provided they could prove there were clean.

Although two Russian athletes on the OAR team tested positive for banned substances during the Games, the IOC on Sunday ruled it will lift the country’s Olympic ban, provided there aren’t any more doping cases from its athletes in Pyeongchang.

However, the IOC did not allow the OAR team to march under the Russian flag in the closing ceremony.

READ: Russian men win ice hockey gold — then sing anthem

Women own the games

In the first week of the Games, the weather took center stage as high winds wreaked havoc with the schedule, ending the multiple gold medal hopes of US ski star Mikaela Shiffrin, who leaves Pyeongchang with one gold and one silver.

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘sports/2018/02/24/mikaela-shiffrin-winter-olympics-intv.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_49’,adsection: ‘cnn.com_specialreports_winterolympics_inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“width”:220,”type”:”jpg”,”uri”:”//”,”height”:124},”xsmall”:{“width”:307,”type”:”jpg”,”uri”:”//”,”height”:173},”small”:{“width”:460,”type”:”jpg”,”uri”:”//”,”height”:259},”medium”:{“width”:780,”type”:”jpg”,”uri”:”//”,”height”:438},”large”:{“width”:1100,”type”:”jpg”,”uri”:”//”,”height”:619},”full16x9″:{“width”:1600,”type”:”jpg”,”uri”:”//”,”height”:900},”mini1x1″:{“width”:120,”type”:”jpg”,”uri”:”//”,”height”:120}}},autoStartVideo = false,isVideoReplayClicked = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = false;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_49’);/*** Finds the next video ID and URL in the current collection, if available.* @param currentVideoId The video that is currently playing* @param containerId The parent container Id of the video element*/function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId && jQuery.isArray(currentVideoCollection) && currentVideoCollection.length > 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();}}}callbackObj = {onPlayerReady: function (containerId) {CNN.VideoPlayer.reportLoadTime(containerId);CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (Modernizr && ! && ! && !Modernizr.tablet) {var containerClassId = ‘#’ + containerId;if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},/** Listen to the metadata event which fires right after the ad ends and the actual video playback begins*/onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen > 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr && ! && ! && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;/** When the video content starts playing, inject analytics data* for Aspen (if enabled) and the companion ad layout* (if it was set when the ad played) should switch back to* epic ad layout. onContentPlay calls updateCompanionLayout* with the ‘restoreEpicAds’ layout to make this switch*/if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’) {playerInstance = FAVE.player.getInstance(containerId) || null;} else {playerInstance = containerId && window.cnnVideoManager.getPlayerByContainer(containerId).videoInstance.cvp || null;}prevVideoId = (window.jsmd && window.jsmd.v && (window.jsmd.v.eVar18 || window.jsmd.v.eVar4)) || ”;if (playerInstance && typeof playerInstance.reportAnalytics === ‘function’) {if (prevVideoId.length === 0 && document.referrer && >= 0) {prevVideoId = document.referrer.replace(/^(?:http|https)://[^/]/videos/(.+.w+)(?:/video/playlists/.*)?$/, ‘/video/$1’);if (prevVideoId === document.referrer) {prevVideoId = ”;}}playerInstance.reportAnalytics(‘videoPageData’, {videoCollection: currentVideoCollectionId,videoBranding: CNN.omniture.branding_content_page,templateType: CNN.omniture.template_type,nextVideo: nextVideoId,previousVideo: prevVideoId,referrerType: ”,referrerUrl: document.referrer});}if (Modernizr && ! && ! && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr && ! && ! && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length > 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion && typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr && ! && ! && !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ && videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});/* videodemanddust is a default feature of the injector */CNN.INJECTOR.scriptComplete(‘videodemanddust’);

Over 3,000 athletes from 92 countries had competed for 102 gold medals, helped by some 20,000 volunteers.

Women provided the breakout performances of the Games, with an unknown Czech athlete, Ester Ledecka, taking center stage as she became the first person to triumph in two different sports at a Winter Olympics when she followed up her shock win in the super-G alpine skiing with gold in the snowboarding parallel slalom.

Although the 22-year-old Ledecka was the fifth athlete to win in two sports at one Games, she was the first to do it in two completely different events as the previous double wins had been achieved in Nordic ski competitions.

The last event of the Olympics, the women’s cross-country 30-kilometer mass start (classic) was won, perhaps fittingly, by Marit Bjoergen, who ended her Olympic career as the greatest winter Olympian of all time.

Waving the Norwegian flag and with a beaming smile on her face as she crossed the finish line in one hour, 22 minutes and 17.6 seconds, the 37-year-old mother-of-one clinched a record eighth gold medal.

A few hours later, Bjoergen received her gold medal during the closing ceremony in the stadium from IOC president Bach.

It was her fifth medal at the Pyeongchang Games, and her 15th overall. It was also the 39th medal for Norway, a winter Olympic record. Germany was second on the medals table with 31 medals while Canada finished third with 29.

The US sent its biggest ever team but finished in a disappointing fourth place on the medals table with 23 medals, which was well below its target of 37 and its worst performance in 20 years. Great Britain won five medals, its most ever at a Winter Games.

The host nation ended the games in seventh place with 17 medals.

The first part of the closing ceremony featured a young guitarist playing from the highest spot in the stadium, and a solo dancer performing Korea’s traditional Spring Dance of Nightingale on the ground stage with the sound of geomungo, a traditional Korean string instrument, resonating through the stadium.

The crowd let out a huge roar when the athletes, many waving flags and dancing with each other, entered the stadium to a live band playing Korean music.

But the biggest cheer was reserved for the unified North and Korean team, who entered the arena together for the second time in 17 days.

The Pyeongchang Games officially ended with the traditional raising of the Greek flag, the lowering of the Olympic flag and the Beijing 2022 flag handover ceremony before the Olympic flame was extinguished.