CINXE.COM

Robots and Hyper Tube among KRRI research projects on show at InnoTrans | News | Railway Gazette International

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="preload" as="style" href="/Magazine/core.css?p=7513768095036817"> <link rel="preload" as="script" href="/Magazine/core.js?p=7513768095036817"> <link rel="preload" as="image" href="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg" imagesrcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg 780w" imagesizes="(max-width: 1023px) 100vw, 780px" /> <!-- DVV Google Tag Manager DO NOT delete --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KGQPK8B');</script> <!-- End Google Tag Manager --> <title>Robots and Hyper Tube among KRRI research projects on show at InnoTrans | News | Railway Gazette International</title> <meta name="description" content="INNOTRANS: Korea Railroad Research Institute is to highlight eight of its latest innovations and research programmes during the upcoming Berlin fair." /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="momentnowdate" content="2024-11-27 00:10:52.216"/> <meta name="momentlocale" content="en-gb"/> <meta name="momentlocaleformat" content="D MMMM YYYY"/> <meta name="momentrelative" content="false"/> <meta name="momentrelativeformat" content="YYYY,MM,DD"/> <meta name="momentrelativemorethan" content="10"/> <meta name="robots" content="noarchive" /> <meta name="pubdate" content="Mon, 16 Sep 2024 06:00 GMT" /> <link rel="canonical" href="https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article" /> <meta name="blockthis" content="blockGA" /> <meta name="showwallpaper" content="true" /> <meta name="navcode" content="352" /> <meta name="primarynavigation" content="Home" /> <meta property="og:title" content="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" /> <meta property="og:type" content="Article" /> <meta property="og:url" content="https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article" /> <meta property="og:site_name" content="Railway Gazette International" /> <meta property="og:description" content="INNOTRANS: Korea Railroad Research Institute is to highlight eight of its latest innovations and research programmes during the upcoming Berlin fair. Evacuation robot KRRI's Evacuation Guide Robot is designed for rapid response to disasters such as fires and floods in main line and metro tunnels. Mounted ..." /> <meta property="og:image:width" content="1024" /> <meta property="og:image:height" content="536" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg" /> <meta property="og:image:alt" content="Hyper Tube KRRI InnoTrans material (Image KRRI)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/4/6/67446_krriinnotransmaterialimagekrri8_547867.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (8)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/4/8/67448_krriinnotransmaterialimagekrri7_670017.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (7)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/4/9/67449_krriinnotransmaterialimagekrri3_772989.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (3)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/5/0/67450_krriinnotransmaterialimagekrri5_344452.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (5)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/5/1/67451_krriinnotransmaterialimagekrri6_949087.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (6)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/5/2/67452_krriinnotransmaterialimagekrri2_438183.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (2)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/5/3/67453_krriinnotransmaterialimagekrri4_33165.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (4)" /> <meta property="og:image" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1024x536/4/5/4/67454_krriinnotransmaterialimagekrri1_161745.jpg" /> <meta property="og:image:alt" content="KRRI InnoTrans material (Image KRRI) (1)" /> <meta property="twitter:card" content="summary_large_image" /> <meta property="twitter:title" content="Robots and Hyper Tube among KRRI research projects on show at ..." /> <meta property="twitter:description" content="INNOTRANS: Korea Railroad Research Institute is to highlight eight of its latest innovations and research programmes during the upcoming Berlin fair. Evacuation robot KRRI's Evacuation Guide Robot is designed for rapid response to disasters such as fires and floods in main line and metro tunnels. Mounted ..." /> <meta property="twitter:image:src" content="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/1120xAny/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg" /> <meta property="twitter:image:alt" content="Hyper Tube KRRI InnoTrans material (Image KRRI)" /> <link rel="icon" href="/magazine/dest/graphics/favicons/favicon-32x32.png" /> <!--[if IE]><link rel="shortcut icon" href="/magazine/dest/graphics/favicons/favicon.ico" /><![endif]--> <link rel="apple-touch-icon-precomposed" href="/magazine/dest/graphics/favicons/apple-touch-icon-precomposed.png" /> <meta name="msapplication-TileImage" content="/magazine/dest/graphics/favicons/mstile-144x144.png" /> <meta name="msapplication-TileColor" content="#ffffff" /> <link href="/Magazine/core.css?p=7513768095036817" rel="stylesheet" type="text/css"> <link href="/Magazine/print.css?p=7513768095036817" rel="stylesheet" type="text/css" media="print"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script>var newLang={"more":{"default":"Show more","searchtype":"Show more","searchdates":"Show more"},"less":{"default":"Show fewer","searchtype":"Show fewer","searchdates":"Show fewer"},"show":{"default":"show"},"hide":{"default":"hide"},"caption":{"show":"show caption","hide":"hide caption"},"carousel":{"play":"play slideshow","pause":"pause slideshow"}};</script> <script type="text/javascript"> var IPState = { useripstate: false, useripname: '' }; </script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({'StoryID':'67380'}); window.dataLayer.push({'StoryFormatProperty':'O'}); window.dataLayer.push({'StoryCategories':'|Infrastructure|InnoTrans|Traction &amp; Rolling Stock|Metro|Research &amp; Skills|South Korea|Peoplemover|'}); window.dataLayer.push({'StoryLayout':'Standard'}); window.dataLayer.push({'StoryWidth':'standard width'}); window.dataLayer.push({'StoryLayoutCode':'1'}); window.dataLayer.push({'StoryFormatCode':'1097'}); window.dataLayer.push({'StoryTypeCode':'1013'}); window.dataLayer.push({'StoryCategoriesCodes':'|66|71|74|103|2011|2122|2179|'}); window.dataLayer.push({'StoryFullNavPath':'null'}); window.dataLayer.push({'UserID':undefined}); window.dataLayer.push({'NavCode':'352'}); window.dataLayer.push({'MicrositeNavCode':'-1'}); window.dataLayer.push({'NavKey':'2'}); window.dataLayer.push({'NavigationAreaNavCode':'352'}); </script> <script type="text/javascript"> window.dataLayer.push({'AccessQualificationTypeName':'Free access (anonymous users)'}); window.dataLayer.push({'AccessProductCode':'RGofree'}); window.dataLayer.push({'AccessProductName':'Railway Gazette Online Free'}); window.dataLayer.push({'AccessCount':'1'}); </script> <script type="text/javascript"> //add any client specific dimensions window.dataLayer = window.dataLayer || []; window.dataLayer.push({'UserStateLoggedIn':'False'}); window.dataLayer.push({'FullNavPath':'|1|352|'}); window.dataLayer.push({'Content Title':'Robots and Hyper Tube among KRRI research projects on show at InnoTrans | News'}); window.dataLayer.push({'AccessStatus':'Granted'}); window.dataLayer.push({'Template':'Story'}); window.dataLayer.push({'Pubcode':'2'}); window.dataLayer.push({'PublicationName':'Railway Gazette International'}); window.dataLayer.push({'StoryAccessControl':'Private'}); window.dataLayer.push({'StoryFormat':'No auto related content'}); window.dataLayer.push({'StoryType':'News'}); window.dataLayer.push({'Headline':'Robots and Hyper Tube among KRRI research projects on show at InnoTrans'}); window.dataLayer.push({'LongHeadline':undefined}); window.dataLayer.push({'Intro':undefined}); window.dataLayer.push({'Catchline':undefined}); window.dataLayer.push({'Synopsis':undefined}); window.dataLayer.push({'Standfirst':undefined}); window.dataLayer.push({'Answer':undefined}); window.dataLayer.push({'Source':undefined}); window.dataLayer.push({'Refs':undefined}); window.dataLayer.push({'Class':undefined}); window.dataLayer.push({'Credits':undefined}); window.dataLayer.push({'Postscript':undefined}); window.dataLayer.push({'PrimaryNav':'|Main Navigation|Home|'}); window.dataLayer.push({'PrimaryNavCurrent':'Home'}); window.dataLayer.push({'PrimaryNavCodeCurrent':'352'}); window.dataLayer.push({'CategoryCodes':'|66|71|74|103|2011|2122|2179|'}); window.dataLayer.push({'Tags':undefined}); window.dataLayer.push({'Bylines':'|Railway Gazette International|'}); window.dataLayer.push({'IssueDate':'01-09-2024'}); window.dataLayer.push({'IssueDateTime':'01-09-2024 00:00:00'}); window.dataLayer.push({'PublishDate':'16-09-2024'}); window.dataLayer.push({'PublishDateTime':'16-09-2024 06:00:00'}); window.dataLayer.push({'BrowseJobsURL':undefined}); window.dataLayer.push({'grecaptcha':'6LdF8vonAAAAAD7o_GFdZx7ScY1_ggHdHUmijbXX'}); </script> <link href='https://fonts.googleapis.com/css?family=PT+Sans:400,700' rel='stylesheet' type='text/css'> <style> /* CLS FIXES */ #wrapper_sleeve { position: relative; max-width: 1024px; margin: 0 auto; background-color: #fff; } body#story.story-style-2 #wrapper_sleeve, body#story.story-style-4 #wrapper_sleeve, body#story.story-style-5 #wrapper_sleeve, body#story.story-style-6 #wrapper_sleeve, body#story.story-style-7 #wrapper_sleeve{ max-width:unset; } .footer { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; } .wallpaper-applied.site-width-1024 .container.hot-topics-container .inner-sleeve { max-width: 1180px; width:1180px; margin: 0 auto; } .container.hot-topics-container .inner-sleeve { max-width: 1180px; width:1180px; margin: 0 auto; } .footer .container .inner-sleeve { max-width: 1220px; } #wrapper_sleeve>:first-child { padding-top: 31px; background-color: #fff; } .accessContainer>.container:first-child .inner-sleeve { padding-top: 60px; } @media only screen and (max-width: 768px) { .accessContainer .storyPreview .access-denied-index-img.picture img{ width:100px; } } @media screen and (min-width: 1024px){ .hero-spin{ width:100%; margin-left: -50%; margin-right: -50%; } .grid .hero-carousel .swiper-box, .container>.inner-sleeve:not(#colwrapper) .grid .oneColumn .spinVideo.full-width-background, .container>.inner-sleeve:not(#colwrapper) .grid .oneColumn .spinVideo.site-width-background, .container>.inner-sleeve:not(#colwrapper) .grid .oneColumn div.full-width-background, .container>.inner-sleeve:not(#colwrapper) .grid .oneColumn div.site-width-background{ width:100%; margin-left: calc(-50% + 50%); } body#story.story-style-1 .contentWrapper{ width: auto; padding-right: 7%; } body#story.story-style-2 .contentWrapper, body#story.story-style-4 .contentWrapper, body#story.story-style-5 .contentWrapper, body#story.story-style-6 .contentWrapper, body#story.story-style-7 .contentWrapper { width: 107%; padding-right: 7%; } } @media screen and (min-width: 1180px){ .grid .hero-carousel .swiper-box{ width:100%; margin-left: -50%; margin-right: -50%; } } @media screen and (min-width: 1280px){ .directories.directory-search .contentWrapperLeft { margin-left: 0; width: 100%; } } </style> <style type="text/css"> /* START styles for HTML messaging */ #top .html-message, #main .html-message, #foot .html-message { margin: 40px 0px; } #top .html-message .content, #main .html-message .content, #foot .html-message .content { background-color: #f2f2f2; padding: 20px 20px 50px; z-index: 9; position: relative; } #top .html-message.content-close-block .content, #main .html-message.content-close-block .content, #foot .html-message.content-close-block .content { padding-top: 40px; } #top .html-message .content .col-1, #main .html-message .content .col-1, #foot .html-message .content .col-1 { margin-bottom: 25px; } #top .html-message .content .col-1 header h2, #main .html-message .content .col-1 header h2, #foot .html-message .content .col-1 header h2 { color: #000; font-size: 1.424rem; line-height: 1.602rem; margin-bottom: 13px; } #top .html-message .content .col-1 section p, #main .html-message .content .col-1 section p, #foot .html-message .content .col-1 section p { color:#444; font-size: 1rem; line-height: 1.266rem; margin-bottom: 20px; } #top .html-message .content .col-1 section ul, #main .html-message .content .col-1 section ul, #foot .html-message .content .col-1 section ul { padding: 0; margin: 0; list-style: none; } #top .html-message .content .col-1 section li, #main .html-message .content .col-1 section li, #foot .html-message .content .col-1 section li { color: #444; font-size: 1rem; line-height: 1.266rem; margin-bottom: 12px; position: relative; padding-left: 18px; } #top .html-message .content .col-1 section li:before, #main .html-message .content .col-1 section li:before, #foot .html-message .content .col-1 section li:before { content: ''; position: absolute; display: inline-block; left: -2px; top: 2px; width: 14px; height: 14px; background-position: -504px -517px; background-repeat: no-repeat; background-image: url(/magazine/dest/graphics/output/sprite.css-007e76df.svgz); } #top .html-message .content .col-1 footer .button, #main .html-message .content .col-1 footer .button, #foot .html-message .content .col-1 footer .button { position: absolute; bottom: 30px; } #top .html-message .content .col-2, #main .html-message .content .col-2, #foot .html-message .content .col-2 { background-color: #fff; position: relative; padding: 25px 20px; margin-bottom: 41px; } .html-message.content-close-block .content .col-2:after { content: ""; display: inline-block; border-left: 28px solid transparent; border-right: 28px solid transparent; border-top: 28px solid #fff; position: absolute; right: 25px; bottom: -28px; } #top .html-message .content .col-2 section .image , #main .html-message .content .col-2 section .image, #foot .html-message .content .col-2 section .image { display: none; } #top .html-message .content .col-2 section .quotation, #main .html-message .content .col-2 section .quotation, #foot .html-message .content .col-2 section .quotation { margin-bottom: 5px; } #top .html-message .content .col-2 section .quotation p, #main .html-message .content .col-2 section .quotation p, #foot .html-message .content .col-2 section .quotation p { color: #E39B00; font-size: 1.125rem; line-height: 1.424rem; font-weight: bold; } #top .html-message .content .col-2 section .quotation-source, #main .html-message .content .col-2 section .quotation-source, #foot .html-message .content .col-2 section .quotation-source { overflow: hidden; } #top .html-message .content .col-2 section .quotation-source p, #main .html-message .content .col-2 section .quotation-source p, #foot .html-message .content .col-2 section .quotation-source p { color: #666; font-size: .889rem; line-height: 1rem; margin-bottom: 5px; } /* Styling for 'close' button */ .content-close-block { position: relative; } .content-close-block .content-close-block-trigger { position: absolute; top: 0; right: 0; z-index: 30000; background-color: #f2f2f2; padding: 6px; text-transform: uppercase; font-size: 0.702rem; line-height: 0.702rem; text-decoration: none; font-weight: bold; } .content-close-block .content-close-block-trigger:after { content: ""; display: inline-block; width: 20px; height: 14px; background-repeat: no-repeat; background-image: url(https://d1c4d7gnm6as1q.cloudfront.net/pictures/web/m/u/g/message_close_691357.svgz); background-position: 4px 0px; } @media screen and (min-width: 1024px) { #top .oneColumn .html-message .content, #foot .oneColumn .html-message .content { display: flex; flex-wrap: nowrap; flex-direction: row; padding: 27px 40px 40px; } #top .oneColumn .html-message.content-close-block .content, #foot .oneColumn .html-message.content-close-block .content { padding-top: 40px; } #top .oneColumn .html-message .content .col-1, #foot .oneColumn .html-message .content .col-1 { flex: 1 67.68%; padding-right: 20px; margin-bottom: 70px; } #top .oneColumn .html-message .content .col-1 header h2, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 header h2, #top .twoColumnsSmallRight .columnOne .html-message .content .col-1 header h2, #main .oneColumn .html-message .content .col-1 header h2, #foot .oneColumn .html-message .content .col-1 header h2, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 header h2, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-1 header h2 { /* font-size: 2.566rem; line-height: 2.887rem; */ font-size: 2.281rem; line-height: 2.566rem; } #top .twoColumns .html-message .content .col-1 header h2, #foot .twoColumns .html-message .content .col-1 header h2 { font-size: 2.281rem; line-height: 2.566rem; } /* #top .oneColumn .html-message .content .col-1 section p, #top .twoColumns .html-message .content .col-1 section p, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 section p, #top .twoColumnsSmallRight .columnOne .html-message .content .col-1 section p, #main .oneColumn .html-message .content .col-1 section p, #foot .oneColumn .html-message .content .col-1 section p, #foot .twoColumns .html-message .content .col-1 section p, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 section p, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-1 section p { font-size: 1.125rem; line-height: 1.802rem; margin-bottom: 10px; } */ /* #top .oneColumn .html-message .content .col-1 section li, #top .twoColumns .html-message .content .col-1 section li, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 section li, #top .twoColumnsSmallRight .columnOne .html-message .content .col-1 section li, #main .oneColumn .html-message .content .col-1 section li, #foot .oneColumn .html-message .content .col-1 section li, #foot .twoColumns .html-message .content .col-1 section li, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 section li, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-1 section li { font-size: 1.125rem; line-height: 1.802rem; margin-bottom: 0; } */ /* #top .oneColumn .html-message .content .col-1 section li:before, #top .twoColumns .html-message .content .col-1 section li:before, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 section li:before, #top .twoColumnsSmallRight .columnOne .html-message .content .col-1 section li:before, #main .oneColumn .html-message .content .col-1 section li:before, #foot .oneColumn .html-message .content .col-1 section li:before, #foot .twoColumns .html-message .content .col-1 section li:before, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-1 section li:before, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-1 section li:before { top: 5px; } */ #top .oneColumn .html-message .content .col-1 footer .button, #foot .oneColumn .html-message .content .col-1 footer .button { bottom: 40px; } #top .oneColumn .html-message .content .col-2, #foot .oneColumn .html-message .content .col-2 { background-color: transparent; flex: 1 56.565%; padding: 13px 0 0; margin-bottom: 41px; } #top .oneColumn .columnOne .html-message.content-close-block .content .col-2:after, #foot .oneColumn .columnOne .html-message.content-close-block .content .col-2:after { display: none; } #top .oneColumn .html-message .content .col-2 section .image, #top .twoColumns .html-message .content .col-2 section .image, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-2 section .image, #top .twoColumnsSmallRight .columnOne .html-message .content .col-2 section .image, #main .oneColumn .html-message .content .col-2 section .image, #foot .oneColumn .html-message .content .col-2 section .image, #foot .twoColumns .html-message .content .col-2 section .image, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-2 section .image, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-2 section .image { display: block; float: left; width: 140px; height: 140px; margin-right: 17px; margin-bottom: 10px; } #top .oneColumn .html-message .content .col-2 section .image img, #top .twoColumns .html-message .content .col-2 section .image img, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-2 section .image img, #top .twoColumnsSmallRight .columnOne .html-message .content .col-2 section .image img, #main .oneColumn .html-message .content .col-2 section .image img, #foot .oneColumn .html-message .content .col-2 section .image img, #foot .twoColumns .html-message .content .col-2 section .image img, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-2 section .image img, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-2 section .image img { border-radius: 100%; } #top .oneColumn .html-message .content .col-2 section .quotation, #foot .oneColumn .html-message .content .col-2 section .quotation { float: right; margin-bottom: 5px; min-width: 240px; width: calc(100% - 160px); } #top .oneColumn .html-message .content .col-2 section .quotation p, #top .twoColumns .html-message .content .col-2 section .quotation p, #top .twoColumnsSmallLeft .columnTwo .html-message .content .col-2 section .quotation p, #top .twoColumnsSmallRight .columnOne .html-message .content .col-2 section .quotation p, #main .oneColumn .html-message .content .col-2 section .quotation p, #foot .oneColumn .html-message .content .col-2 section .quotation p, #foot .twoColumns .html-message .content .col-2 section .quotation p, #foot .twoColumnsSmallLeft .columnTwo .html-message .content .col-2 section .quotation p, #foot .twoColumnsSmallRight .columnOne .html-message .content .col-2 section .quotation p { font-size: 1.4rem; margin-bottom: 15px; line-height: 2rem; } #top .oneColumn .html-message .content .col-2 section .quotation-source, #foot .oneColumn .html-message .content .col-2 section .quotation-source { clear: both; float: left; width: 140px; } #top .oneColumn .html-message .content .col-2 section .quotation-source p, #foot .oneColumn .html-message .content .col-2 section .quotation-source p { margin-bottom: 0; } } /* END styles for HTML messaging */ </style> <style type="text/css"> /* START styles for thank you page */ .thankYouTop { text-align: center; } .spinPromo.thankYouTop.package h2 { padding: 10px 0; } .spinPromo.thankYouTop.package .columns .column-1, .package .columns .column-2, .package .columns .column-3 { background-color: #fff; padding: 20px; } .spinPromo.thankYouTop.package .columns .column-1, .package .columns .column-2{ margin-bottom: 20px; } @media screen and (min-width: 1024px) { .spinPromo.thankYouTop.package .columns { display: flex; flex-direction: row; max-width: 1180px; margin-left: auto; margin-right: auto; } .spinPromo.thankYouTop.package .columns .column-1, .package .columns .column-2, .package .columns .column-3 { flex: 1 1; position: relative; text-align: left; } .spinPromo.thankYouTop.package .columns .column-1, .package .columns .column-2{ margin-bottom: 0; } .spinPromo.thankYouTop.package .columns .column-2, .package .columns .column-3 { margin-left: 20px; } .spinPromo.thankYouTop.package .columns .column-inner { padding-bottom: 50px; } .spinPromo.thankYouTop.package .columns .column-footer { position: absolute; left: 20px; right: 20px; bottom: 20px; padding: 0; } } /* END styles for thank you page */ </style> <style> .mast-sharing-icons { display: none; position: absolute; right: 20px; bottom: -20px; list-style: none; margin: 0; padding: 0; } .mast-sharing-icons:after { display: table; clear: both; content: ''; } .mast-sharing-icons li { float: left; } .mast-sharing-icons li:not(:last-child) { margin-right: 8px; } .mast-sharing-icons li a { display: inline-block; } .mast-sharing-icons li a svg [id$="-circle"] { fill: #005092; transition: fill 200ms linear; } .mast-sharing-icons li a:hover svg [id$="-circle"] { fill: #000; } @media screen and (min-width: 1024px) { .mast-sharing-icons { display: block; } } </style> <!-- TEMP PATCH: DVVMCS-366 START --> <style> header#masthead+.ad { position: relative; } @media screen and (min-width: 1024px) { .wallpaper-applied header#masthead+.ad:before { content: ''; position: absolute; left: -50vw; right: -50vw; z-index: 0; top: -24px; bottom: -24px; width: 1024px; margin: 0 auto; } .wallpaper-applied header#masthead+.ad > div { position: relative; } } </style> <!-- TEMP PATCH: AC - REMOVAL OF RG CHINA LOGO AND RE-WORK OF GRID REPEAT -- START --> <style> .brand-list ul li { margin: 0 auto; } @media screen and (min-width: 1280px){ .brand-list ul { -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr; grid-template-columns: repeat(3,1fr) !important; grid-gap: 170px; }} @media screen and (min-width: 768px) and (max-width: 1280px) { .brand-list ul { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 20px 1fr 20px 1fr; grid-template-columns: repeat(2,1fr) !important; grid-gap: 75px; margin: auto; text-align: center !important; }} #cookiePolicy div p {text-align: left;} </style> <!-- TEMP PATCH: AC END --> <!-- AC - Ads text colour for global enhanced ads --> <style> .ad-text { background: #f0f2f2; font-size: 0.675rem; padding: 2px; color: #444; text-transform: uppercase; border-top: 4px solid #DCDCDC; } </style> <style> .wallpaper-applied.site-width-1024 .ad-style1, .wallpaper-applied.site-width-1024 header#masthead+.ad { width: 728px; } </style> <!-- START DIRECTORY CSS STYLING --> <style> .directories .contactOption__web a{ overflow-wrap: break-word; } .directories .company-footer .company-footer__content__sleeve .company-footer__content .company-footer__info-logo-request-info, .directories .company-footer .company-footer__content__sleeve .company-footer__content { gap:20px; } @media screen and (min-width: 1024px){ .full-branded-section, .full-container { width: unset; left: unset; right: unset; margin-left: unset; margin-right: unset; } .directories .company-footer .company-footer__content__sleeve .company-footer__content .company-footer__info-logo-request-info .company-footer__info{ margin:0; } } @media screen and (min-width: 1280px){ .directories #content .headerWrapper, .directories .contentWrapper { width: 100%; } .directories .company-header .company-header__content__sleeve .company-header__content .company-header__info { padding-left: 20px; padding-right: 20px; } .directories .company-header .company-header__content__sleeve .company-header__content .company-header__logo-request-info .company-header__logo .company-header__logo_inner { margin-right: 20px; } .directories .contactus__header .contactus__header_location { margin-left: 12%; } .directories .company-header .company-header__content__sleeve .company-header__company-tabs, .directories .company-footer .company-footer__content__sleeve .company-footer__content { padding-left: 20px; padding-right: 20px; } } </style> <!-- END DIRECTORY CSS STYLING --> <!-- Beginnig hot topics CSS STYLING --> <style> .hot-topics-item {display: none;} .hot-topics-item > span:nth-child(2) > a:nth-child(1) {display: none;} .wallpaper-applied.site-width-1024 .hot-topics-container { position: relative; width: 100% !important; margin: auto; } .wallpaper-applied.site-width-1024 .container.hot-topics-container .inner-sleeve { max-width: 1024px !important; width: 100%; margin: 0 auto; } .directories .contactus__footer { display: none; } div.company-footer__info-logo-request-info > div.company-footer__info > button { display: none !important; } div.company-header__content > div.company-header__info > button { display: none !important; } .cta-button-wrapper { margin: 0 auto !important; display: table;} .cta-button { background: transparent; padding: 10px 20px; border: 2px solid #005092; border-radius: 20px; margin: 0 auto !important; transition: all 0.25s ease; } .cta-button:hover { background: #005092; color: #fff !important; padding: 10px 20px; border: 2px solid #005092; border-radius: 20px; transition: all 0.25s ease; text-decoration: none; } .storytext .inline_gallery.style1-gallery .galleryscroll .text.content {background: #ffffff73; padding: 10px;} </style> <!-- <style> div#wrapper div#wrapper_sleeve.showMenuPushed div.container.relatedArticles.companyNews {display: none;} </style> --> <!-- END hot topics CSS STYLING --> <!--<style> #wrapper_sleeve { position: relative; max-width: inherit; margin: 0 auto; background-color: #fff;} @media screen and (min-width: 768px) { .hero-spin .hero-spin__extra { padding-top: 0px; position: relative; max-width: 1100px; width: 100%; }} @media screen and (min-width: 1024px) { .hero-spin { background-color: transparent; width: 100vw !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; padding-bottom: 0; }} @media screen and (min-width: 1024px) { .hero-spin .hero-spin__main__content__container {margin-top: 50px;}} .grid .hero-spin .more, .hero-spin .hero-spin__main__content .readmore { display: none; } .hero-spin .hero-spin__main__content .intro { font-size: 1.98rem; font-weight: 600; } @media screen and (min-width: 1280px) { .hero-spin .hero-spin__main__content>div>.meta, .hero-spin .hero-spin__main__content>div>p { max-width: 850px; } } .hero-spin .hero-spin__extra .hero-spin__extra__list .intro { display: block; text-align: center; width: 133px; margin: 0 auto; background-color: #005092; border-radius: 5px; padding: 7px; } div.hero-spin__main > div > div.hero-spin__extra.gridLayout > ul > li > div > p > a { color: #ffffff; font-weight: 600; } @media screen and (min-width: 1024px){ .hero-spin .hero-spin__main__content>div>.intro { margin-bottom: 52px; margin-top: 52px; } } @media screen and (min-width: 1724px){ .hero-spin .hero-spin__main__content>div>.intro { margin-bottom: 0px; } } @media screen and (min-width: 768px){ .hero-spin .hero-spin__extra .hero-spin__extra__list h4 { margin-bottom: 8px; font-size: 1.424rem; line-height: 1.802rem; height: 90px; } } </style>--> <style> .corporate { background: url(https://d1x8q5iq3n6y12.cloudfront.net/CMS/s3/dvv-library/web/h/i/u/1_445375.png) !important; background-size: cover !important; background-repeat: no-repeat !important; padding: 0% 2%; } .corporate h2 { color: #527ba9; font-size: 39pt; line-height: 58px; padding: 1% 16%; margin-left: 19%; } .corporate h3 { color: #d1defb; padding: 5% 2% 0%; margin-left: 33.3%; margin-bottom: 0px; } .corporate p { color: #edf5ff; padding: 2%; margin: 0% 3% 1% 45%; text-align: right; } .corporate .button { margin: 2px 60% 45px; width: 330px; } .content-close-block .content-close-block-trigger { background-color: transparent; color: #ffffff; } .content-close-block .closable-welcome-message .content-close-block-trigger::after, .i-close-welcome-message { display: none; } .billboard { margin: 0px auto 30px; display: flex; justify-content: center; } </style> <style> /*.corporate_subs_msg { border: 1px solid #005092; box-shadow: 5px 5px 10px rgb(0 0 0 / 10%); padding: 30px 20px 40px; position: relative; display: block; } .corporate_subs_msg header h2 { font-size: 2.027rem; line-height: 2.027rem; font-weight: 600; text-align: center; } .corporate_subs_msg .content { text-align: center; max-width: 800px; margin: 0 auto; } .corporate_subs_msg .content p { color: #666; font-size: 1.125rem; line-height: 1.802rem; margin-bottom: 18px; } .corporate_subs_msg p { line-height: 1.802rem; margin-bottom: 18px; text-align: center; } .corporate_subs_msg .content2 p { line-height: 1.0rem; margin-bottom: 10px; } .corporate_subs_msg .content2 h2 { margin-top: 25px; } .corporate_subs_msg .content3 { margin-bottom: -15px; }*/ </style> <script data-ad-client="ca-pub-7045852503918369" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <meta name="google-site-verification" content="ojKNsJR7hnpBNaYvxbPPxNCHSQ0YJnk6BHFQui-VqsQ" /> <meta name="google-site-verification" content="HCoJsr9OuUiqJS--PJxmsXQRuTF7_scJPa_V9A_g7yA" /> <meta name="google-site-verification" content="yqc9O3gL22UT2bkYsY2LHSea9TJiT_5aiXGAQd2Grgw" /> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <!-- Begin of setting Premium user --> <script> $(document).ready(function() { var notSignedIn = getDataLayerVal('PartyActiveProductIds') == undefined ? true : false ; if(!notSignedIn){ var splitthis = getDataLayerVal('PartyActiveProductIds').split('|'); var premium = splitthis.filter(function(number) { return number == '2'; }); if(premium.length != 0){ document.querySelector('body').classList.add("premium"); } else{ if(document.querySelector('body').classList.contains("premium")){ document.querySelector('body').classList.remove("premium"); } } } }) </script> <!-- End of setting Premium user --> <style> .mast-sharing-icons { display: none; position: absolute; right: 20px; bottom: -20px; list-style: none; margin: 0; padding: 0; } .mast-sharing-icons:after { display: table; clear: both; content: ''; } .mast-sharing-icons li { float: left; } .mast-sharing-icons li:not(:last-child) { margin-right: 8px; } .mast-sharing-icons li a { display: inline-block; } .mast-sharing-icons li a svg [id$="-circle"] { fill: #005092; transition: fill 200ms linear; } .mast-sharing-icons li a:hover svg [id$="-circle"] { fill: #000; } @media screen and (min-width: 1024px) { .mast-sharing-icons { display: block; } } </style> <script> var showwallpaper; if(document.querySelector('meta[name="showwallpaper"]')) { showwallpaper = document.querySelector('meta[name="showwallpaper"]').content; } </script> <style> @media screen and (min-width: 1220px) { .wallpaper-applied.site-width-1024 .mast.container .inner-sleeve, .wallpaper-applied.site-width-1024 #mainnav.container .inner-sleeve { max-width: 1220px; } } </style> <script type='text/javascript'> function getDataLayerVal(keyVal) { for (var i = 0; i < window.dataLayer.length; i++) { if (dataLayer[i][keyVal] !== undefined) { return dataLayer[i][keyVal]; } } } function updateContentFromDataLayer(selector, value) { return document.querySelector(selector).innerText = getDataLayerVal(value) } </script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { // Define a size mapping object which can be applied to the ad positions. The first // parameter to addSize is a viewport size, while the second is a list of allowed ad sizes. // The sizes included below match those in the examples provided in this support document. //(Used for: AdvertA, AdvertC, AdvertAttach) var mapSmallRight = googletag.sizeMapping(). // 320, 0 (Mobile) addSize([320, 0], [[300,75],[320,50],[300,250]]). // 768, 0 (Tablet - Portrait) addSize([768, 0], [[300, 250]]). // 1024, 0 (Desktop / Tablet Landscape) addSize([1024, 0], [[300,250]]).build(); //(Used for: AdvertB) var mapSmallRightB = googletag.sizeMapping(). // 320, 0 (Mobile) addSize([320, 0], [[300,75],[320,50],[300,250]]). // 768, 0 (Tablet - Portrait) addSize([768, 0], [[300, 250]]). // 1024, 0 (Desktop / Tablet Landscape) addSize([1024, 0], [[300,250], [120,600], [160,600], [300,600]]).build(); //(Used for: AdvertD, AdvertE, AdvertF) var mapLargeRight = googletag.sizeMapping(). // 320, 0 (Mobile) addSize([320, 0], [[300, 50]]). // 768, 0 (Tablet - Portrait) addSize([768, 0], [[300, 250]]). // 1024, 0 (Desktop / Tablet Landscape) addSize([1024, 0], [[300, 600]]).build(); // WV Cloud Documentation | Google DoubleClick Advertising // abacusemedia.com/webvision Page 6 of 12 //(Used for: Masthead Leaderboard;) var mapLB = googletag.sizeMapping(). // 320, 0 (Mobile) addSize([320, 0], [[300,50], [320, 50]]). // 601, 0 (Small Tablet - Portrait) addSize([601, 0], [[468,60]]). // 768, 0 (Tablet - Portrait) addSize([768, 0], [[728,90]]). // 1024, 0 (Desktop / Tablet Landscape) addSize([1024, 0], [[728,90], [970,250]]).build(); var mapWallpaper = googletag.sizeMapping(). addSize([0, 0], []). // 1220, 0 addSize([1220, 0], [1, 1]).build(); // var wallpaperSlot = googletag.defineOutOfPageSlot('/13644946/WallpaperV5', 'div-gpt-ad-1602240785818-0').addService(googletag.pubads()); // ADVERT A googletag.defineSlot('/13644946/RGI.COM_MPU_GENERAL_PAGES', [300, 250], 'div-gpt-ad-1602084646203-0').defineSizeMapping(mapSmallRight).addService(googletag.pubads()); // ADVERT B googletag.defineSlot('/13644946/RGI_MPU_General2', [300, 250], 'div-gpt-ad-1601978937945-0').defineSizeMapping(mapSmallRightB).addService(googletag.pubads()); // ADVERT C googletag.defineSlot('/13644946/RGI_MPU_C', [300, 250], 'div-gpt-ad-1666188956933-0').defineSizeMapping(mapSmallRight).addService(googletag.pubads()); // UNDER NAV googletag.defineSlot('/13644946/RGI.COM_LEAD_GENERAL_PAGES', [[300, 50], [320, 50], [970, 90], [728, 90], [970, 250], [468, 60]], 'div-gpt-ad-1601973347622-0').defineSizeMapping(mapLB).addService(googletag.pubads()); // Home Leaderboard 2 googletag.defineSlot('/13644946/RGI_Leaderboard_2', [[300, 50], [320, 50], [970, 90], [728, 90], [970, 250], [468, 60]], 'div-gpt-ad-1724079785985-0').defineSizeMapping(mapLB).addService(googletag.pubads()); // Home Leaderboard 3 googletag.defineSlot('/13644946/RGI_Leaderboard_3', [[300, 50], [320, 50], [970, 90], [728, 90], [970, 250], [468, 60]], 'div-gpt-ad-1724081464759-0').defineSizeMapping(mapLB).addService(googletag.pubads()); // Leaderboard 4 googletag.defineSlot('/13644946/RGI_leaderboard_4', [[970, 250]], 'div-gpt-ad-1726133201831-0').defineSizeMapping(mapLB).addService(googletag.pubads()); // home video slot //googletag.defineSlot('/13644946/rgivideo', [[640, 480], [300, 250]], 'div-gpt-ad-1644499013896-0').addService(googletag.pubads()); //RG ADHESION - (WB 10.09/2024) googletag.defineOutOfPageSlot('/13644946/RGI_Adhesion', 'div-gpt-ad-1725960169073-0').addService(googletag.pubads()); // Microsite ad units googletag.defineSlot('/13644946/Metro_MPU_General', [300, 250], 'div-gpt-ad-1602154876742-0').defineSizeMapping(mapSmallRight).addService(googletag.pubads()); googletag.defineSlot('/13644946/Metro_MPU_B', [300, 250], 'div-gpt-ad-1602154919837-0').defineSizeMapping(mapSmallRight).addService(googletag.pubads()); googletag.defineSlot('/13644946/Metro_MPU_C', [300, 250], 'div-gpt-ad-1602154953662-0').defineSizeMapping(mapSmallRight).addService(googletag.pubads()); googletag.defineSlot('/13644946/Metro_Leaderboard_General', [[300, 50], [728, 90], [468, 60]], 'div-gpt-ad-1707835215170-0').defineSizeMapping(mapLB).addService(googletag.pubads()); googletag.defineSlot('/13644946/Metro_Skyscraper', [[300, 600], [300, 250]], 'div-gpt-ad-1602154984749-0').defineSizeMapping(mapSmallRightB).addService(googletag.pubads()); googletag.defineSlot('/13644946/RBUK_Masthead_Leader_under_Nav', [[300, 50], [728, 90], [468, 60]], 'div-gpt-ad-1602155029502-0').defineSizeMapping(mapLB).addService(googletag.pubads()); googletag.defineSlot('/13644946/RBUK_Advert_A', [300, 250], 'div-gpt-ad-1602155062284-0').defineSizeMapping(mapSmallRight).addService(googletag.pubads()); googletag.defineSlot('/13644946/RBUK_MPU_B', [300, 250], 'div-gpt-ad-1602155092840-0').defineSizeMapping(mapSmallRightB).addService(googletag.pubads()); googletag.defineSlot('/13644946/RBUK_Advert_C', [300, 250], 'div-gpt-ad-1602155131343-0').defineSizeMapping(mapSmallRightB).addService(googletag.pubads()); //Out of page unit - added 15-9-22 googletag.defineOutOfPageSlot('/13644946/RGI_Interstitial', 'div-gpt-ad-1663232421348-0').addService(googletag.pubads()); googletag.pubads().setTargeting('UserStateLoggedIn', getDataLayerVal('UserStateLoggedIn')); googletag.pubads().setTargeting('StoryCategories', getDataLayerVal('StoryCategories')); googletag.pubads().setTargeting('navcode', getDataLayerVal('NavCode')); googletag.pubads().setTargeting('articleid', getDataLayerVal('StoryID')); googletag.pubads().setTargeting('storylayout', getDataLayerVal('StoryLayout')); googletag.pubads().setTargeting('jobtitle', typeof jobtitleVar !== 'undefined' ? jobtitleVar.slice(1,-1) : ''); googletag.pubads().setTargeting('industrysector', typeof industrySectorVar !== 'undefined' ? industrySectorVar.slice(1,-1) : ''); googletag.pubads().setTargeting('MicrositeNavCode', getDataLayerVal('MicrositeNavCode')); googletag.pubads().setTargeting('usertype', getDataLayerVal('usertype')); googletag.pubads().setTargeting('ProductId',getDataLayerVal('PartyActiveProductIds')); googletag.pubads().setTargeting("url",window.location.pathname); googletag.pubads().setTargeting('slug', document.location.pathname.substr(document.location.pathname.lastIndexOf('/'))); if (document.querySelector('#div-gpt-ad-1602240785818-0') && showwallpaper && (window.innerWidth > 1220)) { var wallpaperSlot = googletag.defineOutOfPageSlot('/13644946/WallpaperV5', 'div-gpt-ad-1602240785818-0').addService(googletag.pubads()).setTargeting('url', document.location.pathname); googletag.pubads().addEventListener('slotRenderEnded', function(event) { if((event.slot.getSlotElementId() == wallpaperSlot.getSlotElementId()) && !event.isEmpty) { if(document.querySelector('.wallpaper-ad[data-site-width-1024]')) { document.body.classList.add('site-width-1024'); } if(showwallpaper === "true") { document.body.classList.add('wallpaper-applied'); $(window).trigger('wallpaper:advert'); } } }); }; googletag.pubads().enableLazyLoad({ fetchMarginPercent: 5, // Fetch slots within 5 viewports. renderMarginPercent: 5, // Render slots within 2 viewports. mobileScaling: 0 // Double the above values on mobile. }); //googletag.pubads().enableAsyncRendering(); //googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); // check if wallpaper is defined, is set to be shown on this page and screen width is greater than 1220 /* if (document.querySelector('#div-gpt-ad-1578661320890-0') && showwallpaper && (window.innerWidth > 1220)) { var wallpaperSlot = googletag.defineOutOfPageSlot('/210416249/Wallpaper', 'div-gpt-ad-1602240785818-0').defineSizeMapping(mapWallpaper).addService(googletag.pubads()).setTargeting('url', document.location.pathname); googletag.pubads().addEventListener('slotRenderEnded', function(event) { debugger; if((event.slot.getSlotElementId() == wallpaperSlot.getSlotElementId()) && !event.isEmpty) { debugger; if(document.querySelector('.wallpaper-ad[data-site-width-1024]')) { document.body.className += ' ' + 'site-width-1024'; } if(showwallpaper === "true") { document.body.className += ' ' + 'wallpaper-applied'; $(window).trigger('wallpaper:advert'); } } }); }; */ window.addEventListener('message', receiveMessage, false); function receiveMessage(event) { if(event.data == 'wallpaper-fireplace' || event.data == 'wallpaper-standard') { //if(event.data == 'wallpaper-standard') { document.body.classList.add(event.data); positionWallpaperFromTop(); wallpaperElement = document.querySelector('.wallpaper-ad').getElementsByTagName('div')[0]; wallpaperElement.style.top = document.querySelector('#masthead').getBoundingClientRect().bottom + 'px'; } } function positionWallpaperFromTop() { if(!window.IntersectionObserver) return; var observer = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { var wallpaperElement = document.querySelector('.wallpaper-ad').getElementsByTagName('div')[0]; wallpaperElement.style.top = (document.querySelector('#masthead').getBoundingClientRect().bottom + window.scrollY) + 'px' } else { document.querySelector('#wrapper_sleeve').style.top = '0'; } }); observer.observe(document.querySelector('#masthead')); } </script> <!-- THIS IS COMMENTED OUT AS IT ALREADY EXISTS ON A SEPARATE PAGE TEXT "Google tag manager" --> <!-- Google Tag Manager (noscript) <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KGQPK8B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> End Google Tag Manager (noscript) --> <script type="text/javascript"> _linkedin_partner_id = "3203105"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript"; b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=3203105&fmt=gif" /> </noscript> <script> var EnhancedAdvertisingConfig = {}; </script> <!--Global Enhanced Adverts JSON definition from PAGETEXT--> <script> EnhancedAdvertisingConfig = { "Refresh":false, "RefreshDelaySecondsDefaultDesktop":30, "RefreshDelaySecondsDefaultMobile":30, "StoryDynamicSlotsAddGroupsAll":"Ads,Widgets", "StoryDynamicSlotsAddGroupsInline":"", "StoryDynamicSlotsAddGroupsRHC":"", "StoryDynamicSlotsRemoveGroupsAll":"", "StoryDynamicSlotsRemoveGroupsInline":"", "StoryDynamicSlotsRemoveGroupsRHC":"", "StoryDynamicSlotsRepeat":true, "StoryDynamicSlotsDesktopMaxInlineSlots":3, "StoryDynamicSlotsMobileMaxInlineSlots":3, "StoryDynamicSlotsDesktopMaxRHCSlots":3, "StoryDynamicSlotsDesktopElementSpacingFirst":3, "StoryDynamicSlotsMobileElementSpacingFirst":2, "StoryDynamicSlotsDesktopElementSpacing":4, "StoryDynamicSlotsMobileElementSpacing":3, "GAMAdUnitSizesInlineMobileDefault":[[300,250]], "GAMAdUnitSizesInlineDesktopDefault":[[300,250]], "GAMAdUnitSizesRHCDefault":[[300,250],[300,600]], "RHCMinHeightForSlotInsert":250, "RHCAdContainerDefaultHeight":250, "RHCMinHeightForStickyAd":300, "RHCStickyAdThresholdHeight":300, "RHCAdSmallContainerDefaultHeight":300, "CollapseEmptyDivs":true, "Slots":[ { "Type":"GAMAdvert", "Position":"PreferRight", "Group":"Ads", "AdUnit":"/13644946/RGI.COM_MPU_GENERAL_PAGES", "RefreshDelaySeconds":30, "Sticky":false, "Repeat":false, "Refresh":true, "InsertIfNoRHCSpace":true, "NoBackfill":true, "AdUnitSizesInline":[[300,250]], //not required after hotfix "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,600],[300,250]], "AdUnitSizesRHC":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, { "Type":"CustomContent", "Position":"Right", "Sticky":false, "Group":"Widgets", "Repeat":false, "InsertIfNoRHCSpace":true, "HTML":"<div class=\"tab-widget-5\" data-ajax-load-content=\"\" data-cache-bust=\"true\" data-url=\"/ajax/most\"></div>", "CustomEventName":"MostPopularWidgetInit", "Javascript":function(elem,container,slotconfig,adcounter,counter,repeat){ $(window).trigger("abacus:readjusrhcheight",[event, elem]); }, "CSSClass":"wvc-custom-widget-mostpopular", "MinHeight":600 }, { "Type":"GAMAdvert", "Position":"Right", "Group":"Ads", "AdUnit":"/13644946/RGI_MPU_General2", "RefreshDelaySeconds":30, "Sticky":true, "Repeat":false, "Refresh":true, "NoBackfill":true, "InsertIfNoRHCSpace":true, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "AdUnitSizesRHC":[[300,600],[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, //repeating slots - 1 and 2 { "Type":"GAMAdvert", "Position":"Right", "Group":"Ads", "AdUnit":"/13644946/RGI.COM_MPU_GENERAL_PAGES", "RefreshDelaySeconds":30, "Sticky":true, "Repeat":true, "Refresh":true, "NoBackfill":true, "InsertIfNoRHCSpace":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "AdUnitSizesRHC":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, { "Type":"GAMAdvert", "Position":"Right", "Group":"Ads", "AdUnit":"/13644946/RGI_MPU_General2", "RefreshDelaySeconds":30, "Sticky":true, "Repeat":true, "Refresh":true, "NoBackfill":true, "InsertIfNoRHCSpace":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "AdUnitSizesRHC":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, //inline repaeting slots { "Type":"GAMAdvert", "Position":"Inline", "Group":"Ads", "AdUnit":"/13644946/RGI.COM_MPU_GENERAL_PAGES", "RefreshDelaySeconds":30, "Repeat":true, "Refresh":true, "NoBackfill":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":269 }, { "Type":"GAMAdvert", "Position":"Inline", "Group":"Ads", "AdUnit":"/13644946/RGI_MPU_General2", "RefreshDelaySeconds":30, "Repeat":true, "Refresh":true, "NoBackfill":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":269 } ], "Overrides":[ { //If Type='Sponsored' (1018) OR Type='Organisations' (1015) OR Type='Tender' (1030) OR Type='Job' (1031) "Conditions":"StoryType-1015,StoryType-1018,StoryType-1030,StoryType-1031", "Operator":"Or", "Settings":{ "RemoveGroupsAll":"Ads" } }, { //If Category="Slots (all) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsAll":"Ads,Widgets" } }, { //If Category="Slots (RHC) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsRHC":"Ads,Widgets" } }, { //If Category="Slots (inline) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsInline":"Ads,Widgets" } }, { //If Category="Advert slots (all) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsAll":"Ads" } }, { //If Category="Advert slots (RHC) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsRHC":"Ads" } }, { //If Category="Advert slots (inline) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsInline":"Ads", } } ] };</script> <script> $(window).trigger("wvcfe:globalenhancedadvertsinit", [event, EnhancedAdvertisingConfig]); (function(w, d) { if(window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = Array.prototype.forEach; } d.addEventListener('DOMContentLoaded', function(event) { if(EnhancedAdvertisingConfig.Slots) { var enhAdDebug = false; if( localStorage.getItem('enh-ads-debug') == 'true' ) enhAdDebug = true; var sp = 'story-inlinecontent-placeholder'; var supportedTypes = ['gamadvert', 'customcontent']; var supportedPositions = ['inline', 'preferright', 'right']; var isDesktopResolution = w.matchMedia("screen and (min-width: 1023px)").matches; var isStoryFullLayout = d.body.classList.contains('story-full-layout'); var inlineCounter = 1; var rhcCounter = 1; var inlineAdCounter = 1; var rhcAdCounter = 1; var ticking = false; $('#story.enhanced-advertising .storytext > div.webonly').each( function(){ var t = $(this); t.replaceWith( t.html() ); }); var storyCustomContentPlaceholders = d.querySelectorAll('#story.enhanced-advertising .storytext > *'); var maxRHCSlotsToFitIn = 0; var matches = function(el, selector) { return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector); }; var getClosestParent = function(elem, selector) { for(; elem && elem !== d; elem = elem.parentNode) { if(matches(elem, selector)) { return elem; } } return null; }; var storyType = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryTypeCode && el.StoryTypeCode != 'null'; }).map(function(el) { return 'StoryType-' + el.StoryTypeCode; }).join('') : ''; var storyFormat = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryFormatCode && el.StoryFormatCode != 'null'; }).map(function(el) { return 'StoryFormat-' + el.StoryFormatCode; }).join('') : ''; var storyLayout = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryLayoutCode && el.StoryLayoutCode != 'null'; }).map(function(el) { return 'StoryLayout-' + el.StoryLayoutCode; }).join('') : ''; //PWVD-780 var storyWidth = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryWidth && el.StoryWidth != 'null'; }).map(function(el) { return 'StoryWidth-' + el.StoryWidth; }).join('') : ''; var storyFullNavPath = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryFullNavPath && el.StoryFullNavPath != 'null'; }).map(function(el) { return el.StoryFullNavPath; }).join('').split('|').filter(function(el) { return el && el != 'null'; }).join('-') : ''; var storyCategoriesCodes = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryCategoriesCodes && el.StoryCategoriesCodes != 'null'; }).map(function(el) { return el.StoryCategoriesCodes; }).join('').split('|').filter(function(el) { return el && el != 'null'; }).map(function(el) { return 'StoryCategoriesCodes-' + el; }) : []; var storyID = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryID && el.StoryID != 'null'; }).map(function(el) { return 'StoryID-' + el.StoryID; }).filter(function(el) { return el && el != 'null' && el != 'StoryID-'; }).join('') : ''; storyFullNavPath = (storyFullNavPath ? 'StoryFullNavPath-' + storyFullNavPath : ''); var allDataLayerFilters = storyCategoriesCodes.concat([storyType, storyFormat, storyLayout, storyWidth, storyFullNavPath, storyID]).map(function(m) { return m.toLowerCase(); }); EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert = (EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert || 800); EnhancedAdvertisingConfig.RHCMinHeightForStickyAd = (EnhancedAdvertisingConfig.RHCMinHeightForStickyAd || 250); if('Overrides' in EnhancedAdvertisingConfig) { if(EnhancedAdvertisingConfig.Overrides) { var overrides = EnhancedAdvertisingConfig.Overrides; var andOperator = function() { return (override.Conditions.toLowerCase().split(',').filter(function(el) { return el && el; }).every(function(el) { return allDataLayerFilters.indexOf(el) != -1; })); }; var orOperator = function(el) { return (override.Conditions.toLowerCase().split(',').filter(function(el) { return el && el; }).some(function(el) { return allDataLayerFilters.indexOf(el) != -1; })); }; for(var i = 0, iL = overrides.length; i < iL; i++) { var override = overrides[i]; var operatorFilter; if(override.Operator && override.Operator.toLowerCase() == 'and') { operatorFilter = andOperator; } else { operatorFilter = orOperator; } if(operatorFilter()) { if('Settings' in override) { if(override.Settings) { var settings = override.Settings; if('AddGroupsAll' in settings && settings.AddGroupsAll && isString(settings.AddGroupsAll)) { if(settings.AddGroupsAll.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll += ',' + settings.AddGroupsAll.toLowerCase(); } } if('AddGroupsInline' in settings && settings.AddGroupsInline && isString(settings.AddGroupsInline)) { if(settings.AddGroupsInline.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline += ',' + settings.AddGroupsInline.toLowerCase(); } } if('AddGroupsRHC' in settings && settings.AddGroupsRHC && isString(settings.AddGroupsRHC)) { if(settings.AddGroupsRHC.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC += ',' + settings.AddGroupsRHC.toLowerCase(); } } if('RemoveGroupsAll' in settings && settings.RemoveGroupsAll && isString(settings.RemoveGroupsAll)) { if(settings.RemoveGroupsAll.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll += ',' + settings.RemoveGroupsAll.toLowerCase(); } } if('RemoveGroupsInline' in settings && settings.RemoveGroupsInline && isString(settings.RemoveGroupsInline)) { if(settings.RemoveGroupsInline.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline += ',' + settings.RemoveGroupsInline.toLowerCase(); } } if('RemoveGroupsRHC' in settings && settings.RemoveGroupsRHC && isString(settings.RemoveGroupsRHC)) { if(settings.RemoveGroupsRHC.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC += ',' + settings.RemoveGroupsRHC.toLowerCase(); } } if('Repeat' in settings && isBoolean(settings.Repeat)) { EnhancedAdvertisingConfig.StoryDynamicSlotsRepeat = settings.Repeat; } if('DesktopMaxInlineSlots' in settings && isNumberPositiveOrZero(settings.DesktopMaxInlineSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxInlineSlots = settings.DesktopMaxInlineSlots; } if('MobileMaxInlineSlots' in settings && isNumberPositiveOrZero(settings.MobileMaxInlineSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxInlineSlots = settings.MobileMaxInlineSlots; } if('DesktopMinRHCSlots' in settings && isNumberPositiveOrZero(settings.DesktopMinRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMinRHCSlots = settings.DesktopMinRHCSlots; } if('MobileMinRHCSlots' in settings && isNumberPositiveOrZero(settings.MobileMinRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMinRHCSlots = settings.MobileMinRHCSlots; } if('DesktopMaxRHCSlots' in settings && isNumberPositiveOrZero(settings.DesktopMaxRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxRHCSlots = settings.DesktopMaxRHCSlots; } if('MobileMaxRHCSlots' in settings && isNumberPositiveOrZero(settings.MobileMaxRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxRHCSlots = settings.MobileMaxRHCSlots; } if('DesktopElementSpacingFirst' in settings && settings.DesktopElementSpacingFirst && isNumberPositive(settings.DesktopElementSpacingFirst)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacingFirst = settings.DesktopElementSpacingFirst; } if('MobileElementSpacingFirst' in settings && settings.MobileElementSpacingFirst && isNumberPositive(settings.MobileElementSpacingFirst)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacingFirst = settings.MobileElementSpacingFirst; } if('DesktopElementSpacing' in settings && settings.DesktopElementSpacing && isNumberPositive(settings.DesktopElementSpacing)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacing = settings.DesktopElementSpacing; } if('MobileElementSpacing' in settings && settings.MobileElementSpacing && isNumberPositive(settings.MobileElementSpacing)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacing = settings.MobileElementSpacing; } if('RHCMinHeightForSlotInsert' in settings && settings.RHCMinHeightForSlotInsert && isNumberPositive(settings.RHCMinHeightForSlotInsert)) { EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert = settings.RHCMinHeightForSlotInsert; } if('RHCMinHeightForStickyAd' in settings && settings.RHCMinHeightForStickyAd && isNumberPositive(settings.RHCMinHeightForStickyAd)) { EnhancedAdvertisingConfig.RHCMinHeightForStickyAd = settings.RHCMinHeightForStickyAd; } if('CollapseEmptyDivs' in settings && isBoolean(settings.CollapseEmptyDivs)) { EnhancedAdvertisingConfig.CollapseEmptyDivs = settings.CollapseEmptyDivs; } } } } } } } var paragraphThreshold = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacing : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacing; var paragraphFirstThreshold = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacingFirst : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacingFirst; var maxInlineSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxInlineSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxInlineSlots; var minRHCSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMinRHCSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMinRHCSlots; var maxRHCSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxRHCSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxRHCSlots; var allAddGroups = (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll : "").split(',').filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allAddInlineGroups = [].concat(allAddGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allAddRHCGroups = [].concat(allAddGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allRemoveGroups = (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll : "").split(',').filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allRemoveInlineGroups = [].concat(allRemoveGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allRemoveRHCGroups = [].concat(allRemoveGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); EnhancedAdvertisingConfig.Slots = EnhancedAdvertisingConfig.Slots.map(function(x, i) { x.Used = false; x.Index = i; if('Type' in x) { if(supportedTypes.indexOf(x.Type.toString().toLowerCase()) != -1) { x.Type = x.Type.toString().toLowerCase(); } else { x.Type = 'customcontent'; } } else { x.Type = 'customcontent'; } if('Position' in x) { if(supportedPositions.indexOf(x.Position.toString().toLowerCase()) != -1) { x.Position = x.Position.toString().toLowerCase(); } else { x.Position = 'inline'; } } else { x.Position = 'inline'; } if('CSSClass' in x) { x.CSSClass = x.CSSClass.toString().split(' ').join(',').split(',').filter(function(e) { return e && e; }).join(' '); } else { x.CSSClass = ''; } if('Group' in x) { x.Group = x.Group.toString().split(' ').join(',').split(',').filter(function(e) { return e && e; }).join(','); } else { x.Group = ''; } if('Sticky' in x) { if(x.Sticky.toString().toLowerCase() == 'true') { x.Sticky = true; } else { x.Sticky = false; } } else { x.Sticky = false; } if('InsertIfNoRHCSpace' in x) { if(x.InsertIfNoRHCSpace.toString().toLowerCase() == 'true') { x.InsertIfNoRHCSpace = true; } else { x.InsertIfNoRHCSpace = false; } } else { x.InsertIfNoRHCSpace = false; } if('MinHeight' in x) { x.MinHeight = parseInt(x.MinHeight.toString()); } else { x.MinHeight = 0; } if('NoBackfill' in x) { if(x.NoBackfill.toString().toLowerCase() == 'true') { x.NoBackfill = true; } else { x.NoBackfill = false; } } else { x.NoBackfill = false; } if('Refresh' in x) { if(x.Refresh.toString().toLowerCase() == 'true') { x.Refresh = true; } else { x.Refresh = false; } } else { x.Refresh = false; } if('ExtraHTML' in x) { if(x.ExtraHTML.toString()) { x.ExtraHTML = x.ExtraHTML.toString(); } else { x.ExtraHTML = ''; } } else { x.ExtraHTML = ''; } if('CustomEventName' in x) { if(x.CustomEventName.toString()) { x.CustomEventName = x.CustomEventName.toString(); } else { x.CustomEventName = ''; } } else { x.CustomEventName = ''; } if('Javascript' in x) { if(x.Javascript) { if(typeof x.Javascript === 'function') { x.Javascript = x.Javascript; } } else { x.Javascript = ''; } } else { x.Javascript = ''; } if('AdUnit' in x) { if(x.AdUnit.toString()) { x.AdUnit = x.AdUnit.toString(); } else { x.AdUnit = ''; } } else { x.AdUnit = ''; } if('AdUnitSizesInlineMobile' in x) { x.AdUnitSizesInlineMobile = x.AdUnitSizesInlineMobile; } else if('GAMAdUnitSizesInlineMobileDefault' in EnhancedAdvertisingConfig) { x.AdUnitSizesInlineMobile = EnhancedAdvertisingConfig.GAMAdUnitSizesInlineMobileDefault } if('AdUnitSizesInlineDesktop' in x) { x.AdUnitSizesInlineDesktop = x.AdUnitSizesInlineDesktop; } else if('GAMAdUnitSizesInlineDesktopDefault' in EnhancedAdvertisingConfig) { x.AdUnitSizesInlineDesktop = EnhancedAdvertisingConfig.GAMAdUnitSizesInlineDesktopDefault; } if('AdUnitSizesRHC' in x) { x.AdUnitSizesRHC = x.AdUnitSizesRHC; } else if('GAMAdUnitSizesRHCDefault' in EnhancedAdvertisingConfig) { x.AdUnitSizesRHC = EnhancedAdvertisingConfig.GAMAdUnitSizesRHCDefault; } if('RefreshDelaySeconds' in x) { x.RefreshDelaySeconds = parseInt(x.RefreshDelaySeconds.toString(), 10); } else { x.RefreshDelaySeconds = 30; } return x; }); var storyInlineContent = EnhancedAdvertisingConfig.Slots.filter(function(el) { return el && (el.Position.toLowerCase() == "inline" || ((!isDesktopResolution || isStoryFullLayout) && el.Position.toLowerCase() == "preferright")) && (el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allAddInlineGroups.indexOf(subel) != -1 || allAddInlineGroups.indexOf('[all]') != -1; }) && !(el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allRemoveInlineGroups.indexOf(subel) != -1 || allRemoveInlineGroups.indexOf('[all]') != -1; }); }); var storyRHCContent = isDesktopResolution ? EnhancedAdvertisingConfig.Slots.filter(function(el) { return el && (el.Position.toLowerCase() == "right" || (isDesktopResolution && !isStoryFullLayout && el.Position.toLowerCase() == "preferright")) && (el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allAddRHCGroups.indexOf(subel) != -1 || allAddRHCGroups.indexOf('[all]') != -1; }) && !(el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allRemoveRHCGroups.indexOf(subel) != -1 || allRemoveRHCGroups.indexOf('[all]') != -1; }); }) : []; storyInlineContent.forEach( (c, ix) => c.inlineIndex = ix ); storyRHCContent.forEach( (c, ix) => c.rhcIndex = ix ); var googletag = w.googletag || {}; googletag.cmd = googletag.cmd || []; if( isNumberPositive(maxInlineSlots) ){ //PWVD-781 for(var tmpCounter = 0, i = 0, eL = storyCustomContentPlaceholders.length, adThresholdCounter = 1; i < eL; i++) { var currentIsPara = matches(storyCustomContentPlaceholders[i], 'p:not([class])'); var nextIsPara = (i + 1 < eL) && matches(storyCustomContentPlaceholders[i + 1], 'p:not([class])'); if( currentIsPara && !nextIsPara ){ //PWVD-897 - count paragraphs followed by any other element if(adThresholdCounter < (tmpCounter == 0 ? paragraphFirstThreshold : paragraphThreshold)) { adThresholdCounter++; continue; } } else if( currentIsPara && nextIsPara ) { if(adThresholdCounter < (tmpCounter == 0 ? paragraphFirstThreshold : paragraphThreshold)) { adThresholdCounter++; continue; } tmpCounter++; adThresholdCounter = 1; storyCustomContentPlaceholders[i].outerHTML = storyCustomContentPlaceholders[i].outerHTML + "<div class=\"story-inlinecontent-placeholder story-inlinecontent-placeholder-init item-notin-viewport\" data-storyinlinecontainer=\"" + tmpCounter + "\"><div class=\"story-inlinecontent-placeholder-inner\" data-id=\"story-inline-item-" + tmpCounter + "\" data-storyinlineitem=\"" + tmpCounter + "\"></div></div>"; if(tmpCounter >= maxInlineSlots && maxInlineSlots) break; } } } if(d.querySelector('#story.enhanced-advertising:not(.story-full-layout) #rightcolumn_sleeve')) { if(!(d.body.id == "story" || d.body.id == "story_custom") && !d.querySelector('.storytext div.table-full:not(.initialized)')) { w.addEventListener("abacus:storytexttablefull:finished", function(e) { adjustRHCHeightAndInitialAds(); }, true); } else { adjustRHCHeightAndInitialAds(); } } if('IntersectionObserver' in w && 'IntersectionObserverEntry' in w && 'intersectionRatio' in w.IntersectionObserverEntry.prototype) { d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init').forEach(function(el) { if(el) { var inlineAdsObserver = new IntersectionObserver(function(entries) { return inlineAdsObserverCallback(entries); }, { root: null, rootMargin: "50px 0px 50px 0px", threshold: [0, 0.01, 0.99, 1] }); inlineAdsObserver.observe(el); } }); var inlineAdsObserverCallback = function(entries) { return entries.forEach(function(entry, i) { if(entry.isIntersecting) { entry.target.classList.remove('item-notin-viewport'); entry.target.classList.add('item-in-viewport'); } else { entry.target.classList.remove('item-in-viewport'); entry.target.classList.add('item-notin-viewport'); } }); }; d.querySelectorAll('.storytext-end, #rhcreflow-extra-end').forEach(function(el) { if(el) { var adsInViewportObserver = new IntersectionObserver(function(entries) { return adsInViewportObserverCallback(entries); }, { root: null, rootMargin: "0px 0px 200px 0px", threshold: [1] }); adsInViewportObserver.observe(el); } }); var adsInViewportObserverCallback = function(entries) { return entries.forEach(function(entry, i) { if(entry.isIntersecting) { if(entry.target.classList.contains('storytext-end') && d.body.classList.contains('enhanced-advertising-inline-init')) { d.body.classList.add('enhanced-advertising-storytext-endreached'); } // RHC is empty at load time so it always fires as in viewport, need to check whether rhc ads slots already init if(entry.target.classList.contains('rhcreflow-extra-end') && d.body.classList.contains('enhanced-advertising-rhc-init')) { d.body.classList.add('enhanced-advertising-rhc-endreached'); } /* if(entry.target.id === 'rhcreflow-extra'){ //Fix for issue when RHC is not in initial viewport if( location.host.indexOf('abasoftaws.co.uk') > 0 ) console.log('New observer callback'); readjusRHCHeight(); } */ } }); }; } var inlineEl = d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-placeholder-completed):not(.story-inlinecontent-placeholder-processing)'); if(inlineEl) { googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { d.body.classList.add('enhanced-advertising-inline-init'); insertInlineSlot(inlineEl); console.log('Init inline ad slot load'); }); } function slotRender(event){ var el, slot = event.slot, slotId = slot.getSlotElementId(); if(enhAdDebug) console.log('Slot render: ' + slotId); if(slotId == 'custom-inline'){ el = document.querySelector(`div.story-inlinecontent-placeholder-inner[data-id="story-inline-item-${event.dataId}"]`); //Get inline slot (does not have ID) //if(!el) // el = document.querySelector(`div.story-inlinecontent-placeholder-inner[data-id="story-inline-item-${event.inlineIndex+1}"]`); } else el = d.getElementById(slotId); if(el) { var minHeight = 0; var parentInlineNode = getClosestParent(el, '.story-inlinecontent-placeholder'); var parentRHCNode = getClosestParent(el, '.story-rhccontent-placeholder'); if(parentInlineNode || parentRHCNode) { var classList = el.classList; if(parentInlineNode) { parentInlineNode.classList.add('story-inlinecontent-placeholder-ad'); var index = parseInt(parentInlineNode.hasAttribute('data-index') ? parentInlineNode.getAttribute('data-index') : '0', 10); if(!event.isEmpty) { classList.add('ad'); classList.add('mob-ad-50'); classList.add('ad-story-inline'); classList.add('ad-story-inline-notempty'); parentInlineNode.classList.add('story-inlinecontent-placeholder-ad-size-' + event.size.join('x')); parentInlineNode.setAttribute('data-slot', slot.getAdUnitPath()); var currentInlineSlot = storyInlineContent.filter(function(e) { return e.Index == index; }); if(currentInlineSlot.length) { minHeight = currentInlineSlot[0].MinHeight; if(currentInlineSlot[0].Repeat == false) { currentInlineSlot[0].Used = true; } } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } parentInlineNode.classList.add('story-inlinecontent-placeholder-finished'); insertInlineSlot(d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)')); } else { classList.add('ad-story-inline-isempty'); var currentInlineSlot = storyInlineContent.filter(function(e) { return e.Index == index; }); if(currentInlineSlot.length) { minHeight = currentInlineSlot[0].MinHeight; currentInlineSlot[0].Used = true; } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } if(parentInlineNode && parentInlineNode.hasAttribute('data-nobackfill')) { if(parentInlineNode.getAttribute('data-nobackfill') == '1') { updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight); if(!storyInlineContent.some(function(el) { return el.Used == false; })) { finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true); } else { insertInlineSlot(d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)')); } initRHCHeightCalc(); return; } } // Move to next from the list if( storyInlineContent.some( function(e){ return e.Used == false; } ) ) { if(enhAdDebug) console.log('slotRender: parentInlineNode: Move to next from the list') var adRetryCssClass = 'ad-story-inline-retry'; var nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Index > index && e.Used == false; }); if(!nextInlineSlotList.length) { // select repeatable ads nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Used == false && e.Index > index && e.Repeat == true; }); if(!nextInlineSlotList.length) { // if no repeatable ads by indexed order then start from the beginning or just pick any existing nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); if(!nextInlineSlotList.length) { // no more ads to add d.body.classList.add('enhanced-advertising-inline-runoutofslots'); finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true); updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight); initRHCHeightCalc(); return; } } } var mapInlineAdItem = nextInlineSlotList[0]; var refresh = EnhancedAdvertisingConfig.Refresh; googletag.destroySlots([slot]); if(mapInlineAdItem.Refresh) { refresh = mapInlineAdItem.Refresh; } if(mapInlineAdItem.Repeat) { parentInlineNode.classList.remove('story-inlinecontent-placeholder-repeat-false'); parentInlineNode.classList.add('story-inlinecontent-placeholder-repeat-true'); } else { parentInlineNode.classList.remove('story-inlinecontent-placeholder-repeat-true'); parentInlineNode.classList.add('story-inlinecontent-placeholder-repeat-false'); } var mapInlineAdItemSlot = googletag.defineSlot(mapInlineAdItem.AdUnit, isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile, slotId); if(mapInlineAdItemSlot) { mapInlineAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapInlineAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads()); } else { console.warn('Something wrong with inline ad slot \'' + slotId + '\', size(s) \'' + (isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapInlineAdItem.AdUnit + '\''); } googletag.display(slotId); el.classList.add(adRetryCssClass); parentInlineNode.setAttribute('data-index', mapInlineAdItem.Index); if(mapInlineAdItem.ExtraHTML) { var extraHTMLEl = parentInlineNode.querySelector('.story-inlinecontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = mapInlineAdItem.ExtraHTML; } } else { var extraHTMLEl = parentInlineNode.querySelector('.story-inlinecontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = ''; } } } else { // no slots to add.. finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true); } } } else if(parentRHCNode) { parentRHCNode.classList.add('story-rhccontent-placeholder-ad'); var index = parseInt(parentRHCNode.hasAttribute('data-index') ? parentRHCNode.getAttribute('data-index') : '0', 10); if(!event.isEmpty) { classList.add('ad-rhc'); classList.add('ad-story-rhc'); classList.add('ad-story-rhc-notempty'); parentRHCNode.classList.add('story-rhccontent-placeholder-ad-size-' + event.size.join('x')); parentRHCNode.setAttribute('data-slot', slot.getAdUnitPath()); var currentRHCSlot = storyRHCContent.filter(function(e) { return e.Index == index; }); if(currentRHCSlot.length) { minHeight = currentRHCSlot[0].MinHeight; if(currentRHCSlot[0].Repeat == false) { currentRHCSlot[0].Used = true; } if(currentRHCSlot[0].InsertIfNoRHCSpace) { currentRHCSlot[0].InsertIfNoRHCSpace = false; } } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } parentRHCNode.classList.remove('story-rhccontent-placeholder-isempty'); parentRHCNode.classList.remove('story-rhccontent-placeholder-notempty'); parentRHCNode.classList.add((event.isEmpty ? 'story-rhccontent-placeholder-isempty' : 'story-rhccontent-placeholder-notempty')); parentRHCNode.classList.add('story-rhccontent-placeholder-ad-completed'); parentRHCNode.classList.add('story-rhccontent-placeholder-finished'); var canAddRHC = isStoryTextTallerThanRHC(); if( ( index > 0 && !d.body.classList.contains('enhanced-advertising-inline-completed') && parentRHCNode.classList.contains('story-rhccontent-placeholder-canbesticky') ) || ( canAddRHC.canAdd && parentRHCNode.classList.contains('story-rhccontent-placeholder-canbesticky') && canAddRHC.delta > EnhancedAdvertisingConfig.RHCMinHeightForStickyAd ) ){ parentRHCNode.classList.remove('story-rhccontent-placeholder-canbesticky'); parentRHCNode.classList.add('story-rhccontent-placeholder-sticky'); } } else { classList.add('ad-story-rhc-isempty'); var currentRHCSlot = storyRHCContent.filter(function(e) { return e.Index == index; }); if(currentRHCSlot.length) { currentRHCSlot[0].Used = true; } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } if(parentRHCNode && parentRHCNode.hasAttribute('data-nobackfill')) { if(parentRHCNode.getAttribute('data-nobackfill') == '1') { updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty); if(!storyRHCContent.some(function(el) { return el.Used == false; })) { d.body.classList.add('enhanced-advertising-rhc-runoutofslots'); finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, true); } initRHCHeightCalc(); return; } } // Move to next from the list if(enhAdDebug){ console.log('slotRender: parentRHCNode: storyRHCContent: index: ' + index); console.log(storyRHCContent); } if(storyRHCContent.some(function(e) { return e.Used == false; })) { var adRetryCssClass = 'ad-story-rhc-retry'; var nextRHCSlotList = storyRHCContent.filter(function(e) { if(enhAdDebug) console.log('%c Current index: ' + e.Index + ', slot data index: ' + index, 'color: #0C6') return e.Index > index && e.Used == false; }); if(enhAdDebug){ console.log('%c slotRender: parentRHCNode: Moved to next from the list', 'color: #06C'); console.log(nextRHCSlotList); } if(!nextRHCSlotList.length) { // select repeatable ads nextRHCSlotList = storyRHCContent.filter(function(e) { return e.Used == false && e.Index > index && e.Repeat == true; }); if(!nextRHCSlotList.length) { // if no repeatable ads by indexed order then start from the beginning or just pick any existing nextRHCSlotList = storyRHCContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); if(!nextRHCSlotList.length) { // no more ads to add finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, false); //updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty, minHeight); updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty); initRHCHeightCalc(); return; } } } var mapRHCAdItem = nextRHCSlotList[0]; var refresh = EnhancedAdvertisingConfig.Refresh; googletag.destroySlots([slot]); if(mapRHCAdItem.Refresh) { refresh = mapRHCAdItem.Refresh; } if(mapRHCAdItem.Repeat) { parentRHCNode.classList.remove('story-rhccontent-placeholder-repeat-false'); parentRHCNode.classList.add('story-rhccontent-placeholder-repeat-true'); } else { parentRHCNode.classList.remove('story-rhccontent-placeholder-repeat-true'); parentRHCNode.classList.add('story-rhccontent-placeholder-repeat-false'); } if(mapRHCAdItem.Type == 'customcontent'){ //Custom content (RSCCS-540) if(enhAdDebug) console.log('Next RHC config item is custom content'); adjustRHCHeightAndInitialAds(); } else if(mapRHCAdItem.AdUnit){ //Google ad var mapInlineAdItemSlot = googletag.defineSlot(mapRHCAdItem.AdUnit, isDesktopResolution ? mapRHCAdItem.AdUnitSizesInlineDesktop : mapRHCAdItem.AdUnitSizesInlineMobile, slotId); if(mapInlineAdItemSlot) { mapInlineAdItemSlot.defineSizeMapping( googletag.sizeMapping().build() ).setTargeting( 'refresh', (refresh ? 'true' : 'false') ).setTargeting( 'refreshdelayseconds', mapRHCAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile) ).setCollapseEmptyDiv( EnhancedAdvertisingConfig.CollapseEmptyDivs, false ).addService( googletag.pubads() ); } else { console.warn('SlotRender: Something wrong with RHC ad slot \'' + slotId + '\', size(s) \'' + (isDesktopResolution ? mapRHCAdItem.AdUnitSizesInlineDesktop : mapRHCAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapRHCAdItem.AdUnit + '\''); } googletag.display(slotId); } el.classList.add(adRetryCssClass); parentRHCNode.setAttribute('data-index', mapRHCAdItem.Index); if(mapRHCAdItem.ExtraHTML) { var extraHTMLEl = parentRHCNode.querySelector('.story-rhccontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = mapRHCAdItem.ExtraHTML; } } else { var extraHTMLEl = parentRHCNode.querySelector('.story-rhccontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = ''; } } } else { // no slots to add.. finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, false); } } } if(parentInlineNode) { updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight); } else { //updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty, minHeight); updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty); } } } initRHCHeightCalc(); } googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRequested', function(event) { var slot = event.slot; var el = d.getElementById(slot.getSlotElementId()); if(el) { var parentInlineNode = getClosestParent(el, '.story-inlinecontent-placeholder'); var parentRHCNode = getClosestParent(el, '.story-rhccontent-placeholder'); if(parentInlineNode || parentRHCNode) { if(parentInlineNode) { parentInlineNode.classList.add('story-inlinecontent-placeholder-ad-init'); } else { parentRHCNode.classList.add('story-rhccontent-placeholder-ad-init'); } } } }); googletag.pubads().addEventListener('slotRenderEnded', function(event) { var sId = event.slot.getSlotElementId(); if( enhAdDebug && sId.includes('story-rhcad') || sId.includes('story-inlinead') ){ console.log(`%c Slot RENDER END (${sId})`, 'color: #FE2ACA'); console.log(event); //loadOrRender(sId, 'render', event); } slotRender(event); }); if(enhAdDebug){ //Track slot load events googletag.pubads().addEventListener('slotOnload', (evLoad) => { var sId = evLoad.slot.getSlotElementId(); if( sId.includes('story-rhcad') || sId.includes('story-inlinead') ){ console.log(`%c Slot LOAD (${ evLoad.slot.getSlotElementId() })`, 'color: #C00;'); console.log(event); //loadOrRender(sId, 'load'); } }); } googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { var slot = event.slot; if(slot.getTargeting('refresh').indexOf('true') > -1 && event.inViewPercentage > 0) { var el = d.getElementById(slot.getSlotElementId()); var parentStoryInlineNode = getClosestParent(el, '.ad-story-inline'); var parentStoryRHCNode = getClosestParent(el, '.ad-story-rhc'); if(parentStoryInlineNode || parentStoryRHCNode) { if(parentStoryInlineNode) { var inlineEl = getClosestParent(el, '.story-inlinecontent-placeholder'); if(inlineEl) { if(inlineEl.hasAttribute('data-shouldrefresh')) { var shouldRefresh = inlineEl.getAttribute('data-shouldrefresh'); if(shouldRefresh && shouldRefresh == '1') { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryInlineNode.classList; var cssClassName = 'ad-story-inline-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryInlineNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); classList.add('ad-story-inline-refreshed'); inlineEl.setAttribute('data-shouldrefresh', '0'); } } } } else { var rhcEl = getClosestParent(el, '.story-rhccontent-placeholder'); if(rhcEl) { if(rhcEl.hasAttribute('data-shouldrefresh')) { var shouldRefresh = rhcEl.getAttribute('data-shouldrefresh'); if(shouldRefresh && shouldRefresh == '1') { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryRHCNode.classList; var cssClassName = 'ad-story-rhc-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryRHCNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); classList.add('ad-story-rhc-refreshed'); rhcEl.setAttribute('data-shouldrefresh', '0'); } } } } } } }); googletag.pubads().addEventListener('impressionViewable', function(event) { var slot = event.slot; if(slot.getTargeting('refresh').indexOf('true') > -1) { var refreshdelayseconds = slot.getTargeting('refreshdelayseconds').length ? parseInt(slot.getTargeting('refreshdelayseconds')[0], 10) : 0; if(refreshdelayseconds) { setTimeout(function() { var el = d.getElementById(slot.getSlotElementId()); var parentStoryInlineNode = getClosestParent(el, '.ad-story-inline'); var parentStoryRHCNode = getClosestParent(el, '.ad-story-rhc'); if(parentStoryInlineNode) { var inlineEl = getClosestParent(el, '.story-inlinecontent-placeholder'); if(inlineEl) { if(inlineEl.classList.contains('item-in-viewport')) { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryInlineNode.classList; var cssClassName = 'ad-story-inline-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryInlineNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); inlineEl.setAttribute('data-shouldrefresh', '0'); } else { inlineEl.setAttribute('data-shouldrefresh', '1'); } } } else if(parentStoryRHCNode) { var rhcEl = getClosestParent(el, '.story-rhccontent-placeholder'); if(rhcEl) { if(rhcEl.classList.contains('item-in-viewport')) { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryRHCNode.classList; var cssClassName = 'ad-story-rhc-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryRHCNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); rhcEl.setAttribute('data-shouldrefresh', '0'); } else { rhcEl.setAttribute('data-shouldrefresh', '1'); } } } }, refreshdelayseconds * 1000); } else { console.log('Ad refresh delay in seconds is incorrect (slot: ' + slot.getSlotElementId() + '): ', refreshdelayseconds); } } }); }); function isBoolean(n) { return !!n === n; } function isNumber(n) { return +n === n; } function isString(n) { return '' + n === n; } function isNumberPositive(n) { return +n === n && n > 0; } function isNumberPositiveOrZero(n) { return +n === n && n >= 0; } function isArrayOfArrays(a) { return a.every(function(x) { return Array.isArray(x); }); } function getAbsoluteHeight(element) { if(!element) return 0; var styles = w.getComputedStyle(element); var margin = parseFloat(styles['margin-top']) + parseFloat(styles['margin-bottom']); var minHeight = element.clientHeight; return Math.ceil(minHeight ? minHeight + margin : element.offsetHeight + margin); } function updateRHCContainerState() { var classList = d.body.classList; if(!d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder.story-rhccontent-placeholder-completed').length) { d.body.classList.add('enhanced-advertising-rhc-empty'); } else { d.body.classList.remove('enhanced-advertising-rhc-empty'); } } function insertRHCSlot(el) { if(el) { el.classList.add('story-rhccontent-placeholder-processing'); } if(el && storyRHCContent.some(function(e) { return e.Used == false; })) { var classList = el.classList; var placeholder = el.querySelector('[data-id]'); var tempFilteredRHCAds = storyRHCContent; if(placeholder) { var elemsIndexes = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed[data-index]'); var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1; tempFilteredRHCAds = storyRHCContent.filter(function(e) { return slotIndex < e.Index && e.Used == false; }); if(!tempFilteredRHCAds.length) { tempFilteredRHCAds = storyRHCContent.filter(function(e) { return e.Used == false && slotIndex < e.Index && e.Repeat == true; }); } if(!tempFilteredRHCAds.length) { tempFilteredRHCAds = storyRHCContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); } if(!tempFilteredRHCAds.length) { finalizeRemainingEmptyRHCSlotContainers(classList, false); return; } var mapRHCAdItem = tempFilteredRHCAds[0]; classList.remove('story-rhccontent-placeholder-init'); classList.remove('story-rhccontent-placeholder-processing'); classList.add('story-rhccontent-placeholder-completed'); if(mapRHCAdItem.CSSClass) { mapRHCAdItem.CSSClass.split(' ').forEach(function(elem) { if(elem) { classList.add(elem); } }); } if(mapRHCAdItem.Type == 'gamadvert') { if(placeholder) { var refresh = EnhancedAdvertisingConfig.Refresh; el.setAttribute('data-storycustomcontent', '0'); if(mapRHCAdItem.Sticky) { classList.add('story-rhccontent-placeholder-canbesticky'); placeholder.classList.add('sticky'); } if(mapRHCAdItem.NoBackfill) { el.setAttribute('data-nobackfill', '1'); } else { el.setAttribute('data-nobackfill', '0'); } if(mapRHCAdItem.Refresh) { refresh = mapRHCAdItem.Refresh; } var mapRHCAdItemSlot = googletag.defineSlot(mapRHCAdItem.AdUnit, mapRHCAdItem.AdUnitSizesRHC, 'story-rhcad-' + rhcAdCounter); if(mapRHCAdItemSlot) { mapRHCAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapRHCAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads()); } else { console.warn('Something wrong with rhc ad slot \'' + 'story-rhcad-' + rhcAdCounter + '\', size(s) \'' + mapRHCAdItem.AdUnitSizesRHC.join('x') + '\', path \'' + mapRHCAdItem.AdUnit + '\''); } if(refresh) { el.setAttribute('data-shouldrefresh', '0'); classList.add('story-rhccontent-placeholder-refresh-true'); } else { classList.add('story-rhccontent-placeholder-refresh-false'); } classList.add('story-rhccontent-placeholder-ad'); placeholder.id = 'story-rhcad-' + rhcAdCounter; placeholder.outerHTML = '<div class="story-rhccontent-placeholder-ad-extrahtml">' + mapRHCAdItem.ExtraHTML + '</div>' + placeholder.outerHTML; el.setAttribute('data-slot', mapRHCAdItem.AdUnit); googletag.display('story-rhcad-' + rhcAdCounter); $(w).trigger("wvcfe:storyrhcaditeminit", [$(el), $(placeholder), mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); if(mapRHCAdItem.CustomEventName) { $(w).trigger(mapRHCAdItem.CustomEventName, [el, placeholder, mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); } if(mapRHCAdItem.Javascript) { if(typeof mapRHCAdItem.Javascript === 'function') { mapRHCAdItem.Javascript.call(this, el, placeholder, mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type); } } rhcAdCounter++; } } else if(mapRHCAdItem.Type == 'customcontent') { el.setAttribute('data-storycustomcontent', '1'); classList.add('story-rhccontent-placeholder-customcontent'); if(placeholder) { placeholder.innerHTML = mapRHCAdItem.HTML; classList.add('story-rhccontent-placeholder-notempty'); $(w).trigger("wvcfe:storyrhcitemajaxinit", [$(el), $(placeholder), mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); if(mapRHCAdItem.CustomEventName) { $(w).trigger(mapRHCAdItem.CustomEventName, [$(el), $(placeholder), mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); } if(mapRHCAdItem.Javascript) { if(typeof mapRHCAdItem.Javascript === 'function') { mapRHCAdItem.Javascript.call(this, el, placeholder, mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type); } } el.classList.add('story-rhccontent-placeholder-finished'); } } el.setAttribute('data-index', mapRHCAdItem.Index); rhcCounter++; } else { console.log('Missing placeholder: [data-id="story-rhc-item-' + rhcCounter + '"]'); } } else if(el) { // All slots are used, mark current slot placeholder and the rest ones as completed and used var classList = el.classList; finalizeRemainingEmptyRHCSlotContainers(classList, false); } else { console.log('Missing RHC element'); } } function insertInlineSlot(el) { if(el) { el.classList.add('story-inlinecontent-placeholder-processing'); } if(el && storyInlineContent.some(function(e) { return e.Used == false; })) { var classList = el.classList; var placeholder = el.querySelector('[data-id]'); var tempFilteredInlineAds = storyInlineContent; if(placeholder) { var elemsIndexes = d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-completed[data-index]'); var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1; tempFilteredInlineAds = storyInlineContent.filter(function(e){ return slotIndex < e.Index && e.Used == false; }); if(!tempFilteredInlineAds.length) { tempFilteredInlineAds = storyInlineContent.filter(function(e) { return e.Used == false && slotIndex < e.Index && e.Repeat == true; }); if(!tempFilteredInlineAds.length) { // start from the first repeatable ad index tempFilteredInlineAds = storyInlineContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); if(!tempFilteredInlineAds.length) { finalizeRemainingEmptyInlineSlotContainers(classList, true); return; } } } var mapInlineAdItem = tempFilteredInlineAds[0]; classList.remove('story-inlinecontent-placeholder-init'); classList.remove('story-inlinecontent-placeholder-processing'); classList.add('story-inlinecontent-placeholder-completed'); if(mapInlineAdItem.CSSClass) { mapInlineAdItem.CSSClass.split(' ').forEach(function(elem) { if(elem) { classList.add(elem); } }); } if(mapInlineAdItem.Type == 'gamadvert') { var refresh = EnhancedAdvertisingConfig.Refresh; el.setAttribute('data-storycustomcontent', '0'); el.classList.add('story-inlinecontent-placeholder-ad'); if(mapInlineAdItem.Sticky) { classList.add('story-inlinecontent-placeholder-sticky'); placeholder.classList.add('sticky'); } if(mapInlineAdItem.NoBackfill) { el.setAttribute('data-nobackfill', '1'); } else { el.setAttribute('data-nobackfill', '0'); } if(mapInlineAdItem.Repeat) { classList.add('story-inlinecontent-placeholder-repeat-true'); } else { classList.add('story-inlinecontent-placeholder-repeat-false'); } if(mapInlineAdItem.Refresh) { refresh = mapInlineAdItem.Refresh; } var mapInlineAdItemSlot = googletag.defineSlot(mapInlineAdItem.AdUnit, isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile, 'story-inlinead-' + inlineAdCounter); if(mapInlineAdItemSlot) { mapInlineAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapInlineAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads()); } else { console.warn('Something wrong with inline ad slot \'' + 'story-inlinead-' + inlineAdCounter + '\', size(s) \'' + (isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapInlineAdItem.AdUnit + '\''); } if(refresh) { el.setAttribute('data-shouldrefresh', '0'); classList.add('story-inlinecontent-placeholder-refresh-true'); } else { classList.add('story-inlinecontent-placeholder-refresh-false'); } placeholder.id = 'story-inlinead-' + inlineAdCounter; placeholder.outerHTML = '<div class="story-inlinecontent-placeholder-ad-extrahtml">' + mapInlineAdItem.ExtraHTML + '</div>' + placeholder.outerHTML; el.setAttribute('data-slot', mapInlineAdItem.AdUnit); googletag.display('story-inlinead-' + inlineAdCounter); $(w).trigger("wvcfe:storyinlineaditeminit", [$(el), $(placeholder), mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type]); if(mapInlineAdItem.CustomEventName) { $(w).trigger(mapInlineAdItem.CustomEventName, [el, placeholder, mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type]); } if(mapInlineAdItem.Javascript) { if(typeof mapInlineAdItem.Javascript === 'function') { mapInlineAdItem.Javascript.call(this, el, placeholder, mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type); } } inlineAdCounter++; } else if(mapInlineAdItem.Type == 'customcontent') { el.setAttribute('data-storycustomcontent', '1'); el.classList.add('story-inlinecontent-placeholder-customcontent'); placeholder.innerHTML = mapInlineAdItem.HTML; $(w).trigger("wvcfe:storyinlineitemajaxinit", [$(el), $(placeholder), mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type]); if(mapInlineAdItem.CustomEventName) { $(w).trigger(mapInlineAdItem.CustomEventName, [$(el), $(placeholder), mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type]); } if(mapInlineAdItem.Javascript) { if(typeof mapInlineAdItem.Javascript === 'function') { mapInlineAdItem.Javascript.call(this, el, placeholder, mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type.toLowerCase()); } } el.classList.add('story-inlinecontent-placeholder-finished'); var inlineCustomEvent = { dataId: (mapInlineAdItem.Index+1), slot: { getSlotElementId: function(){ return 'custom-inline'; }, getAdUnitPath: function(){return 'custom-inline'} }, isEmpty: false, size:[0,0] }; el.setAttribute('data-index', mapInlineAdItem.Index); slotRender(inlineCustomEvent); //$(w).trigger('abacus:inlinecontentrender', inlineCustomEvent); } el.setAttribute('data-index', mapInlineAdItem.Index); //el.setAttribute('data-index', inlineCounter); inlineCounter++; } else { console.log('Missing placeholder: [data-id="story-inline-item-' + inlineCounter + '"]'); } } else if(el) { // All slots are used, mark current slot placeholder and the rest ones as completed and used var classList = el.classList; finalizeRemainingEmptyInlineSlotContainers(classList, true); } else { console.log('Missing inline element'); } } function finalizeRemainingEmptyRHCSlotContainers(classList, processremaining) { classList.remove('story-rhccontent-placeholder-init'); classList.remove('story-rhccontent-placeholder-processing'); classList.add('story-rhccontent-placeholder-completed'); classList.add('story-rhccontent-placeholder-isempty'); classList.add('story-rhccontent-placeholder-runoutofslots'); classList.add('story-rhccontent-placeholder-finished'); if(processremaining) { for(var i = 0, elems = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-processing)'), iL = elems.length; i < iL; i++) { var e = elems[i]; if(e) { var c = e.classList; c.remove('story-rhccontent-placeholder-init'); c.add('story-rhccontent-placeholder-completed'); c.add('story-rhccontent-placeholder-isempty'); c.add('story-rhccontent-placeholder-runoutofslots'); c.add('story-rhccontent-placeholder-finished'); } } } } function finalizeRemainingEmptyInlineSlotContainers(classList, processremaining) { classList.remove('story-inlinecontent-placeholder-init'); classList.remove('story-inlinecontent-placeholder-processing'); classList.add('story-inlinecontent-placeholder-completed'); classList.add('story-inlinecontent-placeholder-isempty'); classList.add('story-inlinecontent-placeholder-runoutofslots'); classList.add('story-inlinecontent-placeholder-finished'); if(processremaining) { for(var i = 0, elems = d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-placeholder-processing)'), iL = elems.length; i < iL; i++) { var e = elems[i]; if(e) { var c = e.classList; c.remove('story-inlinecontent-placeholder-init'); c.add('story-inlinecontent-placeholder-completed'); c.add('story-inlinecontent-placeholder-isempty'); c.add('story-inlinecontent-placeholder-runoutofslots'); c.add('story-inlinecontent-placeholder-finished'); } } } } function updateInlinePlaceholderClasses(node, status, minHeight) { node.classList.remove('story-inlinecontent-placeholder-isempty'); node.classList.remove('story-inlinecontent-placeholder-notempty'); node.classList.add((status ? 'story-inlinecontent-placeholder-isempty' : 'story-inlinecontent-placeholder-notempty')); node.classList.add('story-inlinecontent-placeholder-ad-completed'); if(!status) { var computedMinHeightValue = w.getComputedStyle(node).minHeight || 0; var computedMinHeight = parseInt(computedMinHeightValue, 10); if(minHeight > computedMinHeight) { node.style.minHeight = minHeight + 'px'; } } } function updateRHCPlaceholderClasses(node, status) { node.classList.remove('story-rhccontent-placeholder-ad-init'); node.classList.remove('story-rhccontent-placeholder-isempty'); node.classList.remove('story-rhccontent-placeholder-notempty'); node.classList.add((status ? 'story-rhccontent-placeholder-isempty' : 'story-rhccontent-placeholder-notempty')); node.classList.add('story-rhccontent-placeholder-ad-completed'); } function initRHCHeightCalc() { updateRHCFirstandLastItemStyles(); // readjust height if no in progress/loading ads as the height might change on storytext or RHC if(!d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder.story-rhccontent-placeholder-completed.story-rhccontent-placeholder-ad-init').length) { readjusRHCHeight(); } else { setTimeout(function() { initRHCHeightCalc(); }, 0); } } function isInViewport(element) { var rect = element.getBoundingClientRect(); var height = w.innerHeight || d.documentElement.clientHeight; var width = w.innerWidth || d.documentElement.clientWidth; return ( rect.right >= 0 && rect.bottom >= 0 && rect.left <= width && rect.top <= height ); } function processElementsInViewport() { var adsInlinePlaceholders = d.querySelectorAll('.storytext .story-inlinecontent-placeholder'); //PWVD-893 : change from rhccontent var adsRHCPlaceholders = d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder'); if(adsInlinePlaceholders || adsRHCPlaceholders) { if(adsInlinePlaceholders) { adsInlinePlaceholders.forEach(function(el) { var classList = el.classList; if(!isInViewport(el)) { classList.remove('story-inlinecontent-placeholder-isinviewport'); classList.add('story-inlinecontent-placeholder-isnotinviewport'); } else { classList.remove('story-inlinecontent-placeholder-isnotinviewport'); classList.add('story-inlinecontent-placeholder-isinviewport'); } }); } else { adsRHCPlaceholders.forEach(function(el) { var classList = el.classList; if(!isInViewport(el)) { classList.remove('story-rhccontent-placeholder-isinviewport'); classList.add('story-rhccontent-placeholder-isnotinviewport'); } else { classList.remove('story-rhccontent-placeholder-isnotinviewport'); classList.add('story-rhccontent-placeholder-isinviewport'); } }); } } } function adjustRHCHeightAndInitialAds() { var output = []; var googletag = w.googletag || {}; var rhcreflowExtra = d.querySelector('#rhcreflow-extra'); if(rhcreflowExtra) { rhcreflowExtra.innerHTML = ''; minRHCSlotsToFitIn = (minRHCSlots > 0 ? minRHCSlots : 2); maxRHCSlotsToFitIn = (maxRHCSlots > 0 ? maxRHCSlots : 0); for(var i = 0, iL = Math.max(storyRHCContent.length, maxRHCSlotsToFitIn); i < iL; i++) { rhcCounter = i + 1; output.push("<div class=\"story-rhccontent-placeholder story-rhccontent-placeholder-init item-notin-viewport\" data-storyrhccontainer=\"" + rhcCounter + "\"><div class=\"story-rhccontent-placeholder-inner\" data-id=\"story-rhc-item-" + rhcCounter + "\" data-storyrhcitem=\"" + rhcCounter + "\"></div></div>"); if(rhcCounter >= maxRHCSlotsToFitIn) break; } d.querySelector('#rhcreflow-extra').innerHTML = output.join(''); if('IntersectionObserver' in w && 'IntersectionObserverEntry' in w && 'intersectionRatio' in w.IntersectionObserverEntry.prototype) { d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-init').forEach(function(el) { if(el) { observer = new IntersectionObserver(function(entries) { return observerCallback(entries); }, { root: null, rootMargin: "50px 0px 50px 0px", threshold: [0, 0.01, 0.99, 1] }); observer.observe(el); } }); var observerCallback = function(entries) { return entries.forEach(function(entry, i) { if(entry.isIntersecting) { entry.target.classList.remove('item-notin-viewport'); entry.target.classList.add('item-in-viewport'); } else { entry.target.classList.remove('item-in-viewport'); entry.target.classList.add('item-notin-viewport'); } }); } } googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { var rhcEl = d.querySelector('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-completed):not(.story-rhccontent-placeholder-processing)'); var hasAnyRHCLoadedBefore = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed'); if(rhcEl && !hasAnyRHCLoadedBefore.length) { insertRHCSlot(rhcEl); d.body.classList.add('enhanced-advertising-rhc-init'); } }); updateRHCContainerState(); } } function isStoryTextTallerThanRHC() { var calcHeight = 0; if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) { var h = 0, colmain = d.getElementById('colmain').clientHeight; d.querySelectorAll('#rightcolumn_sleeve > *:not(#rhcreflow-extra)').forEach(function(item) { h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); d.querySelectorAll('#rhcreflow-extra > *').forEach(function(item) { h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); return { "canAdd": colmain > calcHeight, "delta": colmain - calcHeight }; } else { return { "canAdd": false, "delta": 0 }; } } function canAddRHCItem() { // check whether inline and RHC ads finished loading, otherwise ignore var storyRHCSlotHeight = EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert; var calcHeight = 0; if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) { var h = 0, innerChild = 0; d.querySelectorAll('#rightcolumn_sleeve > *:not(#rhcreflow-extra)').forEach(function(item) { h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); d.querySelectorAll('#rhcreflow-extra > *').forEach(function(item) { //innerChild = (item || item.querySelector('.story-rhccontent-placeholder-inner') || item.firstChild); //h = getAbsoluteHeight(innerChild); //if (h == 0) { // h = getAbsoluteHeight(item); //} h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); var result = { "canAddRHCItem": d.getElementById('colmain').clientHeight > calcHeight + storyRHCSlotHeight, "colmainTaller": d.getElementById('colmain').clientHeight > calcHeight }; return result; } else { return { "canAddRHCItem": false, "colmainTaller": false }; } } function readjusRHCHeight() { if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) { d.getElementById('rightcolumn_sleeve').style.minHeight = d.getElementById('colmain').clientHeight + 'px'; } var elemsIndexes = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed[data-index]'); var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1; var rhcEl = d.querySelector('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-completed):not(.story-rhccontent-placeholder-processing)'); var canAdd = canAddRHCItem(); var hasInsertIfNoRHCSpace = storyRHCContent.some(function(e) { return e.InsertIfNoRHCSpace == true && e.Used == false && e.Index > slotIndex; }); if(!rhcEl || (!canAdd.canAddRHCItem && !hasInsertIfNoRHCSpace && !d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)').length)) { d.body.classList.add('enhanced-advertising-rhc-completed'); } else { d.body.classList.remove('enhanced-advertising-rhc-completed'); } //var rhcElementsInitialised = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-finished)'); var rhcElementsInitialised = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-finished):not(.story-rhccontent-placeholder-isempty)'); //var rhcElemInit = $('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed'); //PWVD-749 //var classesToExclude = ['init', 'processing', 'finished'].map( cls => '.story-rhccontent-placeholder-' + cls); //, 'isempty' //rhcElemInit = rhcElemInit.find( classesToExclude.join(',') ).remove(); if(rhcEl && (canAdd.canAddRHCItem || hasInsertIfNoRHCSpace) && rhcElementsInitialised.length == 0) { googletag.cmd.push(function() { insertRHCSlot(rhcEl); }); } } function updateRHCFirstandLastItemStyles() { d.querySelectorAll('#rhcreflow-extra > *:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-isempty)').forEach(function(item, index, data) { item.classList.remove('story-rhccontent-placeholder-first'); item.classList.remove('story-rhccontent-placeholder-last'); if(index == 0) { item.classList.add('story-rhccontent-placeholder-first'); } if(index == data.length - 1) { item.classList.add('story-rhccontent-placeholder-last'); } }); if((d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-completed').length == d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-finished').length) && !d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-init').length) { d.body.classList.add('enhanced-advertising-inline-completed'); } else { d.body.classList.remove('enhanced-advertising-inline-completed'); } } w.addEventListener('scroll', function(e) { if(!ticking) { w.requestAnimationFrame(function() { processElementsInViewport(); readjusRHCHeight(); ticking = false; }); ticking = true; } }, true); w.addEventListener('resize', function(e) { if(!ticking) { w.requestAnimationFrame(function() { processElementsInViewport(); readjusRHCHeight(); ticking = false; }); ticking = true; } }, true); w.addEventListener("abacus:loadcontent:complete", function(evt, context) { readjusRHCHeight(); }, true); if(d.querySelector('#story .storytext img.lazyload')) { d.addEventListener('lazyloaded', function(e) { if(w.googletag && googletag.apiReady) { if(getClosestParent(e.target, '.storytext')) { readjusRHCHeight(); } } }); } w.addEventListener("abacus:advertb:loaded", function(evt, context) { readjusRHCHeight(); }, true); w.addEventListener("abacus:gamadvert:loaded", function(evt, context) { readjusRHCHeight(); }, true); w.addEventListener("abacus:readjusrhcheight", function(evt, context) { readjusRHCHeight(); }, true); //w.addEventListener('abacus:inlinecontentrender', function(customEvent) { // slotRender(customEvent); //}, true); } }); })(window, document); </script> <!-- GOOGLE ANALYTICS IS BEING INCLUDED THROUGH GOOGLE TAG MANAGER --> <!-- Global site tag (gtag.js) - Google Analytics <script async src="https://www.googletagmanager.com/gtag/js?id=UA-2220664-14"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-2220664-14'); gtag('config', 'AW-1034638432'); </script> --> <!-- Abacus Google Tag Manager DO NOT delete --> <script>(function(w,d,s,l,i){ w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); } ) (window,document,'script','dataLayer','GTM-MJ3XLK3'); </script> <!-- End Google Tag Manager --> <script data-ad-client="ca-pub-7045852503918369" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> </head> <body id="story" class="M1-master js-disabled story-style-1 story-format-1013 story-type-1097 enhanced-advertising enhanced-advertising-rhc-empty"> <!-- Abacus Google Tag Manager (noscript) DO NOT delete --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MJ3XLK3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!---Railway Gazette Google Tag Manager---> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KGQPK8B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!--[if lte IE 10]> <link rel="stylesheet" href="/CSS/dest/notsupported.css"> <div class="notSupported"> <div class="sleeve"> <span id="logo" class="vector-icon i-brand-logo i-brand-logo-dims"></span> <h2> Your browser is not supported </h2> <p> Sorry but it looks as if your browser is out of date. To get the best experience using our site we recommend that you upgrade or switch browsers. </p> <p class="buttonContainer"> <a class="button" href="https://www.google.co.uk/webhp?ion=1&espv=2&ie=UTF-8#q=update+my+browser" target="_blank">Find a solution</a> </p> </div> </div> <![endif]--> <script type="text/javascript">document.body.className = document.body.className.replace('js-disabled', ''); document.cookie = "_js=1; path=/";</script> <div id="wrapper"> <ul id="skiplinks"><li><a href="#wrapper_sleeve">Skip to main content</a></li><li><a href="#mainnav">Skip to navigation</a></li></ul> <header id="masthead" class="masthead"> <div class="htmlContent"> <!--wallpaper--> <!-- /13644946/WallpaperV5 --> <div id='div-gpt-ad-1602240785818-0' class="wallpaper-ad" data-site-width-1024> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1602240785818-0'); }); </script> </div> <!--wallpaper--> <!-- /13644946/WallpaperV5 --> <!--<div id='div-gpt-ad-1602146700128-0' class="wallpaper-ad" data-site-width-1024> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1602146700128-0'); }); </script> </div>--> <!--wallpaper--> <!-- /13644946/WallpaperV5 --> <!--<div id='div-gpt-ad-1602173815824-0' class="wallpaper-ad" data-site-width-1024> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1602173815824-0'); } ); </script> </div> --> <!--wallpaper--> <!-- /13644946/WallpaperV5 --> <!--<div id='div-gpt-ad-1578661320890-0' class="wallpaper-ad" data-site-width-1024> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1578661320890-0'); }); </script></div>--> <!-- /13644946/RGI_Interstitial --> <div id='div-gpt-ad-1663232421348-0'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1663232421348-0'); }); </script> </div> <!-- /13644946/RGI_Adhesion --> <div id='div-gpt-ad-1725960169073-0'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1725960169073-0'); }); </script> </div> </div> <!--<div class="leaderboard"> <div class="ad"> <div id='div-gpt-ad-1601973347622-0' class="dt-ad-90 tab-ad-90 mob-ad-50"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1601973347622-0'); }); </script> </div> </div>--> <div class="mast container full" role="banner" data-multi-toggle-menu> <div class="inner-sleeve" data-menu-open-pushed> <div class="mastheadLogo"> <a href="https://www.railwaygazette.com/"> <span class="logoIcon"> <span class="assistive">Railway Gazette</span> </span> </a> </div> <div id="print_logo"> <img src="/magazine/dest/graphics/logo/print_logo.png" alt="railway gazette logo" /> </div> <div class="mastheadMobileLogo"> <a href="/"> <span class="logoIcon"> <span class="assistive">Railway Gazette</span> </span> </a> </div> <ol class="mast-sharing-icons"> <li><a href="https://facebook.com/railwaygazette" aria-label="Facebook" rel="noopener noreferrer" target="_blank"><svg id="mast-fb-share" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path id="mast-fb-share-circle" d="M16,31.5a15.31,15.31,0,0,1-6-1.22A15.46,15.46,0,0,1,4.89,5.17L5.06,5A15.54,15.54,0,0,1,10,1.72a15.36,15.36,0,0,1,12,0A15.73,15.73,0,0,1,30.27,10a15.31,15.31,0,0,1,0,12A15.73,15.73,0,0,1,22,30.27,15.23,15.23,0,0,1,16,31.5Z" transform="translate(0 0)" fill="#005092"/><path id="mast-fb-share-ring" d="M16,31A15,15,0,1,0,1,16,15.08,15.08,0,0,0,16,31m0,1a15.81,15.81,0,0,1-6.2-1.26,16.15,16.15,0,0,1-8.53-8.51,15.94,15.94,0,0,1,0-12.46A16.15,16.15,0,0,1,9.8,1.26a15.86,15.86,0,0,1,12.41,0A16.23,16.23,0,0,1,30.73,9.8a15.81,15.81,0,0,1,0,12.41,16.23,16.23,0,0,1-8.53,8.53A15.73,15.73,0,0,1,16,32Z" transform="translate(0 0)" fill="#fff"/><path id="mast-fb-share-icon" d="M19.15,16.38H17V24H13.83V16.38h-1.5v-2.7h1.5V11.95a3,3,0,0,1,3.23-3.22h2.32v2.62H17.65c-.3,0-.67.15-.67.75v1.58h2.4Z" transform="translate(0 0)" fill="#fff"/></svg></a></li> <li><a href="https://twitter.com/railwaygazette" aria-label="Twitter" rel="noopener noreferrer" target="_blank"><svg id="mast-twitter-share" width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_30_2)"> <path id="mast-tw-share-circle" d="M16 31.1111C24.3456 31.1111 31.1111 24.3456 31.1111 16C31.1111 7.65439 24.3456 0.888916 16 0.888916C7.65436 0.888916 0.888885 7.65439 0.888885 16C0.888885 24.3456 7.65436 31.1111 16 31.1111Z" fill="#005092"/> <path d="M17.5225 14.7749L23.4788 8H22.0671L16.8979 13.8825L12.7643 8H8L14.2468 16.8957L8 24H9.41173L14.8732 17.7876L19.2357 24H24L17.5225 14.7749ZM15.5889 16.9722L14.9539 16.0882L9.92 9.03991H12.088L16.1495 14.7279L16.7821 15.6137L22.0677 23.0076H19.8997L15.5889 16.9722Z" fill="white"/> </g> <defs> <clipPath id="clip0_30_2"> <rect width="32" height="32" fill="white"/> </clipPath> </defs> </svg> </a></li> <li><a href="https://www.linkedin.com/company/railway-gazette-international/" aria-label="LinkedIn" rel="noopener noreferrer" target="_blank"><svg id="mast-linked-share" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path id="mast-linked-share-circle" d="M16,31.5a15.31,15.31,0,0,1-6-1.22A15.54,15.54,0,0,1,5.06,27,15.44,15.44,0,0,1,5.06,5,15.54,15.54,0,0,1,10,1.72a15.36,15.36,0,0,1,12,0A15.73,15.73,0,0,1,30.27,10a15.31,15.31,0,0,1,0,12A15.73,15.73,0,0,1,22,30.27,15.23,15.23,0,0,1,16,31.5Z" fill="#005092"/><path id="mast-linked-share-ring" d="M16,31A15.08,15.08,0,0,0,31,16,15,15,0,1,0,16,31m0,1a15.81,15.81,0,0,1-6.2-1.26,16.15,16.15,0,0,1-8.53-8.51,15.94,15.94,0,0,1,0-12.46A16.15,16.15,0,0,1,9.8,1.26a15.86,15.86,0,0,1,12.41,0A16.23,16.23,0,0,1,30.73,9.8a15.81,15.81,0,0,1,0,12.41,16.23,16.23,0,0,1-8.53,8.53A15.73,15.73,0,0,1,16,32Z" fill="#fff"/><g id="mast-linked-share-icon"><path id="mast-linked-share-icon-n" d="M19.07,12.77A2.53,2.53,0,0,0,16.75,14V13H14.13v7.88h2.63V16.45a2.08,2.08,0,0,1,.08-.67,1.5,1.5,0,0,1,1.35-1c1,0,1.35.75,1.35,1.8v4.2h2.63V16.3C22.08,13.9,20.8,12.78,19.07,12.77Z" fill="#fff"/><rect id="mast-linked-share-icon-i" x="10" y="13" width="2.63" height="7.88" fill="#fff"/><path id="mast-linked-share-icon-tittle" d="M11.35,9.18a1.39,1.39,0,0,0-1.5,1.26s0,.06,0,.09a1.36,1.36,0,0,0,1.37,1.35h.05a1.39,1.39,0,0,0,1.5-1.26s0-.06,0-.09a1.32,1.32,0,0,0-1.29-1.35Z" fill="#fff"/></g></svg></a></li> <li><a href="https://www.youtube.com/RailwayGazette" aria-label="YouTube" rel="noopener noreferrer" target="_blank"><svg id="mast-youtube-share" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path id="mast-youtube-share-circle" d="M16,31.5a15.31,15.31,0,0,1-6-1.22A15.54,15.54,0,0,1,5.06,27,15.44,15.44,0,0,1,5.06,5,15.54,15.54,0,0,1,10,1.72a15.36,15.36,0,0,1,12,0A15.73,15.73,0,0,1,30.27,10a15.31,15.31,0,0,1,0,12A15.73,15.73,0,0,1,22,30.27,15.23,15.23,0,0,1,16,31.5Z" fill="#005092"/><path id="mast-youtube-share-ring" d="M16,31A15.08,15.08,0,0,0,31,16,15,15,0,1,0,16,31m0,1a15.81,15.81,0,0,1-6.2-1.26,16.15,16.15,0,0,1-8.53-8.51,15.94,15.94,0,0,1,0-12.46A16.15,16.15,0,0,1,9.8,1.26a15.86,15.86,0,0,1,12.41,0A16.23,16.23,0,0,1,30.73,9.8a15.81,15.81,0,0,1,0,12.41,16.23,16.23,0,0,1-8.53,8.53A15.73,15.73,0,0,1,16,32Z" fill="#fff"/><path id="mast-youtube-share-icon" d="M14.31,18.25V13.47l4.38,2.44ZM24,12.63a4,4,0,0,0-.62-1.69,2.83,2.83,0,0,0-1.61-.75C19.49,10,16.1,10,16.1,10h0s-3.39,0-5.72.19a1.87,1.87,0,0,0-1.61.75,3.27,3.27,0,0,0-.62,1.69A25,25,0,0,0,8,15.34v1.31a22.86,22.86,0,0,0,.18,2.72,4,4,0,0,0,.63,1.69,3,3,0,0,0,1.79.75c1.25.09,5.54.19,5.54.19s3.39,0,5.63-.19a1.87,1.87,0,0,0,1.61-.75A4,4,0,0,0,24,19.38a25,25,0,0,0,.18-2.72V15.34A22.86,22.86,0,0,0,24,12.63Z" fill="#fff"/></svg></a></li> <li><a href="https://www.instagram.com/railwaygazette/" aria-label="Instagram" rel="noopener noreferrer" target="_blank"><svg id="mast-instagram-share" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path id="mast-instagram-share-circle" d="M16,31.5a15.31,15.31,0,0,1-6-1.22A15.54,15.54,0,0,1,5.06,27,15.44,15.44,0,0,1,5.06,5,15.54,15.54,0,0,1,10,1.72a15.36,15.36,0,0,1,12,0A15.73,15.73,0,0,1,30.27,10a15.31,15.31,0,0,1,0,12A15.73,15.73,0,0,1,22,30.27,15.23,15.23,0,0,1,16,31.5Z" fill="#005092"/><path id="mast-instagram-share-ring" d="M16,31A15.08,15.08,0,0,0,31,16,15,15,0,1,0,16,31m0,1a15.81,15.81,0,0,1-6.2-1.26,16.15,16.15,0,0,1-8.53-8.51,15.94,15.94,0,0,1,0-12.46A16.15,16.15,0,0,1,9.8,1.26a15.86,15.86,0,0,1,12.41,0A16.23,16.23,0,0,1,30.73,9.8a15.81,15.81,0,0,1,0,12.41,16.23,16.23,0,0,1-8.53,8.53A15.73,15.73,0,0,1,16,32Z" fill="#fff"/><path id="mast-instagram-share-icon" d="M22.3,10.76A1.38,1.38,0,0,0,21.16,9.7H10.76A1.48,1.48,0,0,0,9.7,10.84v10.4a1.48,1.48,0,0,0,1.14,1.06h10.4a1.39,1.39,0,0,0,1.06-1.06Zm-3-.08h1.21a.52.52,0,0,1,.53.51s0,0,0,0v1.21a.51.51,0,0,1-.45.53H19.34a.64.64,0,0,1-.53-.3V11.29a.46.46,0,0,1,.45-.61ZM16,13.42a2.54,2.54,0,0,1,.23,5.08H16a2.54,2.54,0,0,1,0-5.09Zm4.93,1.44v5.62a.52.52,0,0,1-.51.53H11.52A.52.52,0,0,1,11,20.5s0,0,0,0V14.86H12.2A4,4,0,0,0,12.5,18,3.66,3.66,0,0,0,14,19.49a3.81,3.81,0,0,0,4.1-.15,3.51,3.51,0,0,0,1.14-1.21,3.61,3.61,0,0,0,.53-1.59,4.17,4.17,0,0,0-.15-1.67Z" fill="#fff"/></svg></a></li> </ol> <div class="mastControls"> <nav data-multi-toggle-item="" class="mastNav loggedout hide"><span class="toggleIcon"><a href="#mastnav" data-toggle-button=""><span class="assistive">Mast navigation</span></a></span><ul id="mastnav" data-toggle-element=""><li><a href="https://www.railwaygazette.com/advertise-with-us" class="newWindow">Advertise</a></li><li><a href="https://account.railwaygazette.com/register?surveycode=50&amp;campaigncode=reg_toplink?returl=https://www.railwaygazette.com/56310.article">Register</a></li><li><a href="https://www.railwaygazette.com/subscriptions?campaigncode=rgsubusernav">Subscribe</a></li><li><a class="popup signIn" href="https://www.railwaygazette.com/sign-in">Sign In</a></li></ul></nav> <div class="mastheadSearch hide" data-multi-toggle-item=""> <span class="toggleIcon"> <a href="#search" data-toggle-button=""> <span class="assistive">Search our site</span> </a> </span> <form action="https://www.railwaygazette.com/searchresults" method="get" id="mastsearch" data-toggle-element=""> <fieldset> <div> <label for="search">Search our site</label> <input type="text" id="search" value="" name="qkeyword" class="text" placeholder="Search our site" /> <button class="mastSearch" type="submit">Search</button> </div> </fieldset> </form> </div> <div class="menuToggle"> <span class="toggleIcon"><a href="#mobilemenu" data-menu-toggle-button=""><span class="assistive">Menu</span></a></span> </div> </div> </div> </div> <div class="menuContainer"> <div class="mobileMenu" id="mobilemenu"> <div class="sleeve"> <a class="menuClose" href="#wrapper"> <span>Close<span class="assistive"> menu</span></span> </a> <ul class="main"> <li class="home-icon"> <a href="https://www.railwaygazette.com/"> <span>Home</span> </a> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/news" aria-expanded="false"> <span>News</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/news"> <span>News</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/passenger"> <span>Passenger</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/traction-and-rolling-stock"> <span>Traction & Rolling Stock</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/high-speed"> <span>High Speed</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/freight"> <span>Freight</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/infrastructure"> <span>Infrastructure</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/policy"> <span>Policy</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/technology"> <span>Technology</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/business"> <span>Business</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/research-training-and-skills"> <span>Research, Training & Skills</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/accessibility-and-inclusion/2297.subject"> <span>Accessibility & inclusion</span> </a> </li> <li class="break"> <a href="https://www.railwaygazette.com/news/people"> <span>People</span> </a> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/news/regions" aria-expanded="false"> <span>Regions</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/news/regions"> <span>Regions</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/africa"> <span>Africa</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/asia"> <span>Asia</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/australasia"> <span>Australasia</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/europe"> <span>Europe</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/middle-east"> <span>Middle East</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/central-and-south-america"> <span>Central & South America</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/regions/north-america"> <span>North America</span> </a> </li> <li class="break"> <a href="https://www.railwaygazette.com/uk" class="newWindow"> <span>UK news from Rail Business UK</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://www.metro-report.com" class="newWindow" aria-expanded="false"> <span>Urban transport news from Metro Report International</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.metro-report.com" class="newWindow"> <span>Urban transport news from Metro Report International</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/metro-report/news/modes/metros" class="newWindow"> <span>Metros</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/metro-report/news/modes/light-rail-and-tram" class="newWindow"> <span>Light Rail & Tram</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/metro-report/news/modes/suburban-and-commuter-rail" class="newWindow"> <span>Suburban & Commuter Rail</span> </a> </li> <li class="break"> <a href="https://www.railwaygazette.com/metro-report/news/modes/peoplemovers-and-monorails" class="newWindow"> <span>Peoplemovers & Monorails</span> </a> </li> </ul> </li> <li class=""> <a href="https://www.railwaygazette.com/news/innotrans"> <span>InnoTrans</span> </a> </li> </ul> </li> <li class=""> <a href="https://www.railwaygazette.com/in-depth"> <span>In depth</span> </a> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/events" aria-expanded="false"> <span>Events</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/events"> <span>Events</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/events/rail-industry-events-2024"> <span>Rail Industry Events 2024</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/events/rail-industry-events-2025"> <span>Rail Industry Events 2025</span> </a> </li> <li class=""> <a href="https://www.railbusinessawards.com/" class="newWindow"> <span>Rail Business Awards</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/events/rail-training-and-skills-courses-2024"> <span>Rail Training & Skills Courses 2024</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/events/rail-training-and-skills-courses-2025"> <span>Rail Training & Skills Courses 2025</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/news/innotrans"> <span>InnoTrans</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/maps-and-data" aria-expanded="false"> <span>Maps & Data</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/maps-and-data"> <span>Maps & Data</span> </a> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators" aria-expanded="false"> <span>Railway Operators</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators"> <span>Railway Operators</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators/passenger"> <span>Passenger</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators/freight"> <span>Freight</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators/train-operator-/-open-access"> <span>Train Operator / Open Access</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators/track-authority"> <span>Track Authority</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators/holding-company"> <span>Holding Company</span> </a> </li> <li class="break"> <a href="https://www.railwaygazette.com/maps-and-data/railway-operators/tourist"> <span>Tourist</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators" aria-expanded="false"> <span>Urban Railway Operators</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators"> <span>Urban Railway Operators</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/metro"> <span>Metro</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/light-rail-/-tramway"> <span>Light Rail / Tramway</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/commuter"> <span>Commuter</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/infrastructure/track-authority"> <span>Infrastructure/Track Authority</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/holding-company"> <span>Holding Company</span> </a> </li> <li class="break"> <a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/urban-rail-list-of-openings"> <span>Urban rail - list of openings</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/maps-and-data/maps" aria-expanded="false"> <span>Maps</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/maps-and-data/maps"> <span>Maps</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps/country-and-city-map-directory/53920.article"> <span>Country and city map directory</span> </a> </li> </ul> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/country-profiles"> <span>Country Profiles</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/regulatory-authorities"> <span>Regulatory Authorities</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/associations"> <span>Associations</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/maps-and-data/data-and-analysis"> <span>Data & Analysis</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/magazines" aria-expanded="false"> <span>Magazines</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/magazines"> <span>Magazines</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/magazines/railway-gazette-international"> <span>Railway Gazette International</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/magazines/metro-report-international"> <span>Metro Report International</span> </a> </li> </ul> </li> <li class=""> <a href="https://www.railwaygazette.com/tenders-and-jobs"> <span>Tenders & Jobs</span> </a> </li> <li class="hasChildren "> <a href="https://www.railwaygazette.com/sponsored-content" aria-expanded="false"> <span>Sponsored content</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://www.railwaygazette.com/sponsored-content"> <span>Sponsored content</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/our-white-papers/23803.more"> <span>White Papers</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/our-broadcasts/23797.more?navcode=369"> <span>Webinars</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/our-sponsored-content/23800.more?navcode=369"> <span>Digital Advertorials</span> </a> </li> <li class=""> <a href="https://www.railwaygazette.com/sponsored-content/supplier-directory"> <span>Supplier Directory</span> </a> </li> </ul> </li> </ul> </div> </div> <div class="mobileMenuClose"></div> <div id="mainnav" class="desktopNavigation container" data-menu-open-pushed=""><div class="dropdown vanityPanel"><div class="inner-sleeve"></div></div><div class="inner-sleeve"><ul class="main preJS"><li data-navcode="352" data-rootnavcode="352" class="current home-icon"><a href="https://www.railwaygazette.com/"><span>Home</span></a></li><li data-navcode="31" data-rootnavcode="31" class="hasChildren fourSubNav"><a href="https://www.railwaygazette.com/news"><span>News</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="36" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/passenger"><span>Passenger</span></a></li><li data-navcode="47" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/traction-and-rolling-stock"><span>Traction & Rolling Stock</span></a></li><li data-navcode="46" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/high-speed"><span>High Speed</span></a></li><li data-navcode="40" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/freight"><span>Freight</span></a></li><li data-navcode="39" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/infrastructure"><span>Infrastructure</span></a></li><li data-navcode="37" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/policy"><span>Policy</span></a></li><li data-navcode="48" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/technology"><span>Technology</span></a></li><li data-navcode="38" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/business"><span>Business</span></a></li><li data-navcode="286" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/research-training-and-skills"><span>Research, Training & Skills</span></a></li><li data-navcode="6215" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/accessibility-and-inclusion/2297.subject"><span>Accessibility & inclusion</span></a></li><li data-navcode="49" data-rootnavcode="31" class="break"><a href="https://www.railwaygazette.com/news/people"><span>People</span></a></li></ul></li><li class="subnav"><ul><li data-navcode="50" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions"><span>Regions</span></a><ul><li data-navcode="70" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/africa"><span>Africa</span></a></li><li data-navcode="73" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/asia"><span>Asia</span></a></li><li data-navcode="74" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/australasia"><span>Australasia</span></a></li><li data-navcode="75" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/europe"><span>Europe</span></a></li><li data-navcode="76" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/middle-east"><span>Middle East</span></a></li><li data-navcode="72" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/central-and-south-america"><span>Central & South America</span></a></li><li data-navcode="71" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/regions/north-america"><span>North America</span></a></li><li data-navcode="77" data-rootnavcode="31" class="break"><a href="https://www.railwaygazette.com/uk" class="newWindow"><span>UK news from Rail Business UK</span></a></li></ul></li></ul></li><li class="subnav"><ul><li data-navcode="35" data-rootnavcode="31" class=""><a href="https://www.metro-report.com" class="newWindow"><span>Urban transport news from Metro Report International</span></a><ul><li data-navcode="354" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/metro-report/news/modes/metros" class="newWindow"><span>Metros</span></a></li><li data-navcode="355" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/metro-report/news/modes/light-rail-and-tram" class="newWindow"><span>Light Rail & Tram</span></a></li><li data-navcode="356" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/metro-report/news/modes/suburban-and-commuter-rail" class="newWindow"><span>Suburban & Commuter Rail</span></a></li><li data-navcode="357" data-rootnavcode="31" class="break"><a href="https://www.railwaygazette.com/metro-report/news/modes/peoplemovers-and-monorails" class="newWindow"><span>Peoplemovers & Monorails</span></a></li></ul></li></ul></li><li class="subnav"><ul><li data-navcode="44" data-rootnavcode="31" class=""><a href="https://www.railwaygazette.com/news/innotrans"><span>InnoTrans</span></a></li></ul></li></ul></div></div></li><li data-navcode="33" data-rootnavcode="33" class="hasChildren"><a href="https://www.railwaygazette.com/in-depth"><span>In depth</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="promotedStory"><a href="/in-depth/stations-keeping-eurostar-passengers-connected/67826.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/6/7/9/68679_eurostarlondonstpancrasphotobz_110946.jpg" loading="lazy" class="lazyloaded" alt="Eurostar London St Pancras photo BZ"></div><div class="captionBlock"><span class="title">Stations: Keeping Eurostar passengers connected</span></div></a></li><li class="promotedStory"><a href="/in-depth/stations-barcelonas-next-rail-hub-nears-completion/67792.article" class="image layoutIcon pictureLayout"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/6/2/5/68625_cabeceranortelasagreraadif_452635.jpg" loading="lazy" class="lazyloaded" alt="cabecera norte La SagreraADIF"></div><div class="captionBlock"><span class="title">Stations: Barcelona’s next rail hub nears completion</span></div></a></li><li class="promotedStory"><a href="/in-depth/interview-putting-era-at-the-heart-of-europes-railway-ecosystem/67774.article" class="image layoutIcon pictureLayout"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/5/6/3/68563_ertmsstakeholdersplatform_705799.jpg" loading="lazy" class="lazyloaded" alt="ertms stakeholders platform"></div><div class="captionBlock"><span class="title">Interview: Putting ERA at the heart of Europe’s railway ecosystem</span></div></a></li><li class="promotedStory"><a href="/in-depth/interview-ukrainian-railways-looks-for-more-international-partnerships/67765.article" class="image layoutIcon pictureLayout"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/5/5/2/68552_ukrainianrailwaysphotoukrainianrailways1_136772.jpg" loading="lazy" class="lazyloaded" alt="Ukrainian Railways (photo Ukrainian Railways) (1)"></div><div class="captionBlock"><span class="title">Interview: Ukrainian Railways looks for more international partnerships</span></div></a></li></ul></div></div></li><li data-navcode="344" data-rootnavcode="344" class="hasChildren oneSubNav"><a href="https://www.railwaygazette.com/events"><span>Events</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="6311" data-rootnavcode="344" class=""><a href="https://www.railwaygazette.com/events/rail-industry-events-2024"><span>Rail Industry Events 2024</span></a></li><li data-navcode="6381" data-rootnavcode="344" class=""><a href="https://www.railwaygazette.com/events/rail-industry-events-2025"><span>Rail Industry Events 2025</span></a></li><li data-navcode="6334" data-rootnavcode="344" class=""><a href="https://www.railbusinessawards.com/" class="newWindow"><span>Rail Business Awards</span></a></li><li data-navcode="6382" data-rootnavcode="344" class=""><a href="https://www.railwaygazette.com/events/rail-training-and-skills-courses-2024"><span>Rail Training & Skills Courses 2024</span></a></li><li data-navcode="6409" data-rootnavcode="344" class=""><a href="https://www.railwaygazette.com/events/rail-training-and-skills-courses-2025"><span>Rail Training & Skills Courses 2025</span></a></li><li data-navcode="6406" data-rootnavcode="344" class=""><a href="https://www.railwaygazette.com/news/innotrans"><span>InnoTrans</span></a></li></ul></li><li class="promotedStory"><a class="image" href="https://www.railbusinessawards.com/" data-story="67533" target="_blank" rel="noopener noreferrer"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/8/8/0/67880_rbas_463180.png" loading="lazy" class="lazyloaded" alt="RBAs"></div><div class="captionBlock"><span class="title">Rail Business Awards</span></div></a></li><li class="promotedStory"><a class="image" href="https://www.railwaygazette.com/events/rail-industry-events-2025" data-story="65503"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/8/8/7/61887_2025_903874.jpg" loading="lazy" class="lazyloaded" alt="2025"></div><div class="captionBlock"><span class="title">Rail Industry Events 2025</span></div></a></li><li class="promotedStory"><a class="image" href="https://www.railwaygazette.com/events/rail-industry-events-2024" data-story="63299"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/8/8/6/61886_2024_960559.jpg" loading="lazy" class="lazyloaded" alt="2024"></div><div class="captionBlock"><span class="title">Rail Industry Events 2024</span></div></a></li></ul></div></div></li><li data-navcode="118" data-rootnavcode="118" class="hasChildren threeSubNav"><a href="https://www.railwaygazette.com/maps-and-data"><span>Maps & Data</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="125" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/railway-operators"><span>Railway Operators</span></a><ul><li data-navcode="132" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/railway-operators/passenger"><span>Passenger</span></a></li><li data-navcode="131" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/railway-operators/freight"><span>Freight</span></a></li><li data-navcode="133" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/railway-operators/train-operator-/-open-access"><span>Train Operator / Open Access</span></a></li><li data-navcode="134" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/railway-operators/track-authority"><span>Track Authority</span></a></li><li data-navcode="130" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/railway-operators/holding-company"><span>Holding Company</span></a></li><li data-navcode="129" data-rootnavcode="118" class="break"><a href="https://www.railwaygazette.com/maps-and-data/railway-operators/tourist"><span>Tourist</span></a></li></ul></li></ul></li><li class="subnav"><ul><li data-navcode="124" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators"><span>Urban Railway Operators</span></a><ul><li data-navcode="138" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/metro"><span>Metro</span></a></li><li data-navcode="139" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/light-rail-/-tramway"><span>Light Rail / Tramway</span></a></li><li data-navcode="136" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/commuter"><span>Commuter</span></a></li><li data-navcode="135" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/infrastructure/track-authority"><span>Infrastructure/Track Authority</span></a></li><li data-navcode="137" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/holding-company"><span>Holding Company</span></a></li><li data-navcode="330" data-rootnavcode="118" class="break"><a href="https://www.railwaygazette.com/maps-and-data/urban-railway-operators/urban-rail-list-of-openings"><span>Urban rail - list of openings</span></a></li></ul></li></ul></li><li class="subnav"><ul><li data-navcode="151" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/maps"><span>Maps</span></a><ul><li data-navcode="161" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps/country-and-city-map-directory/53920.article"><span>Country and city map directory</span></a></li></ul></li><li data-navcode="128" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/country-profiles"><span>Country Profiles</span></a></li><li data-navcode="126" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/regulatory-authorities"><span>Regulatory Authorities</span></a></li><li data-navcode="127" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/associations"><span>Associations</span></a></li><li data-navcode="383" data-rootnavcode="118" class=""><a href="https://www.railwaygazette.com/maps-and-data/data-and-analysis"><span>Data & Analysis</span></a></li></ul></li></ul></div></div></li><li data-navcode="111" data-rootnavcode="111" class="hasChildren oneSubNav"><a href="https://www.railwaygazette.com/magazines"><span>Magazines</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="121" data-rootnavcode="111" class=""><a href="https://www.railwaygazette.com/magazines/railway-gazette-international"><span>Railway Gazette International</span></a></li><li data-navcode="122" data-rootnavcode="111" class=""><a href="https://www.railwaygazette.com/magazines/metro-report-international"><span>Metro Report International</span></a></li></ul></li><li class="promotedStory"><a href="/magazines/railway-gazette-international-current-issue-november-2024/67681.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/3/1/4/68314_rgin2411coverminipic_108396.jpg" loading="lazy" class="lazyloaded" alt="RGIN-2411-cover-minipic"></div><div class="captionBlock"><span class="title">Railway Gazette International Current Issue - November 2024</span></div></a></li><li class="promotedStory"><a href="/magazines/railway-gazette-international-2024-digital-archive/65790.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/9/7/3/62973_rgin2401coverminipic_848447.jpg" loading="lazy" class="lazyloaded" alt="RGIN-2401-cover-minipic"></div><div class="captionBlock"><span class="title">Railway Gazette International 2024 Digital Archive</span></div></a></li><li class="promotedStory"><a href="/magazines/railway-gazette-international-2023-digital-archive/63453.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/6/4/1/55641_rgin2301coverminipic_330197.jpg" loading="lazy" class="lazyloaded" alt="RGIN-2301-cover-minipic"></div><div class="captionBlock"><span class="title">Railway Gazette International 2023 Digital Archive</span></div></a></li></ul></div></div></li><li data-navcode="349" data-rootnavcode="349" class="hasChildren"><a href="https://www.railwaygazette.com/tenders-and-jobs"><span>Tenders & Jobs</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="promotedStory"><a href="/tenders-and-jobs/second-tender-for-passenger-rail-services-in-pays-de-la-loire/67867.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/7/6/7/68767_logofondsblanc_156719300x200_588471.jpg" loading="lazy" class="lazyloaded" alt="logofondsblanc_156719-300x200"></div><div class="captionBlock"><span class="title">Second Tender for Passenger Rail Services in Pays-de-la-Loire</span></div></a></li><li class="promotedStory"><a href="/tenders-and-jobs/principal-structures-engineer/67845.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/7/1/8/68718_rssbjpg_359885.jpg" loading="lazy" class="lazyloaded" alt="RSSBJpg"></div><div class="captionBlock"><span class="title">Principal Structures Engineer</span></div></a></li><li class="promotedStory"><a href="/tenders-and-jobs/commercial-procurement-manager/67776.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/5/7/3/68573_rssbjpg_359885.jpg" loading="lazy" class="lazyloaded" alt="RSSBJpg"></div><div class="captionBlock"><span class="title">Commercial Procurement Manager</span></div></a></li><li class="promotedStory"><a href="/tenders-and-jobs/project-manager/67777.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/5/7/2/68572_rssbjpg_359885.jpg" loading="lazy" class="lazyloaded" alt="RSSBJpg"></div><div class="captionBlock"><span class="title">Project Manager</span></div></a></li></ul></div></div></li><li data-navcode="369" data-rootnavcode="369" class="hasChildren oneSubNav"><a href="https://www.railwaygazette.com/sponsored-content"><span>Sponsored content</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="6320" data-rootnavcode="369" class=""><a href="https://www.railwaygazette.com/our-white-papers/23803.more"><span>White Papers</span></a></li><li data-navcode="6318" data-rootnavcode="369" class=""><a href="https://www.railwaygazette.com/our-broadcasts/23797.more?navcode=369"><span>Webinars</span></a></li><li data-navcode="6319" data-rootnavcode="369" class=""><a href="https://www.railwaygazette.com/our-sponsored-content/23800.more?navcode=369"><span>Digital Advertorials</span></a></li><li data-navcode="6383" data-rootnavcode="369" class=""><a href="https://www.railwaygazette.com/sponsored-content/supplier-directory"><span>Supplier Directory</span></a></li></ul></li><li class="promotedStory"><a href="/sponsored-content/rail-baltica-creating-a-strategic-link-for-europe/67648.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/2/6/9/68269_estoniaulemistestationvisualisation1_3467.jpg" loading="lazy" class="lazyloaded" alt="Estonia-Ulemiste-station-visualisation-(1)"></div><div class="captionBlock"><span class="title">Rail Baltica: creating a strategic link for Europe</span><span class="author">Sponsored by <span class="noLink">Rail Baltica</span></span></div></a></li><li class="promotedStory"><a href="/sponsored-content/croatian-konar-group-among-the-first-in-europe-to-manufacture-battery-multiple-unit-and-the-only-one-to-present-such-an-advancement-at-innotrans-2024/67523.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/8/3/2/67832_konarsmeasurementtrain_793077.jpg" loading="lazy" class="lazyloaded" alt="KONČAR's-Measurement-train"></div><div class="captionBlock"><span class="title">Croatian KONČAR Group among the first in Europe to manufacture Battery Multiple Unit and the only one to present such an advancement at InnoTrans 2024</span><span class="author">Sponsored by <span class="noLink">KONČAR</span></span></div></a></li><li class="promotedStory"><a href="/sponsored-content/lb-foster-highlights-at-innotrans/67476.article" class="image"><div class="image"><img src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/274x183/7/1/9/67719_lbfoster_92071.jpg" loading="lazy" class="lazyloaded" alt="LBFoster"></div><div class="captionBlock"><span class="title">L.B. Foster highlights at InnoTrans</span><span class="author">Sponsored by <span class="noLink">L.B. Foster</span></span></div></a></li></ul></div></div></li><li class="more hide"><a href="#mobilemenu" data-menu-toggle-button="" aria-expanded="false"><span> More from<span class="assistive"> navigation items</span></span></a></li></ul></div></div><div class="desktopNavigationSpace"></div> </div> </header> <!-- Masthead leaderboard - under nav--> <div class="ad showMenuPushed" class="ad showMenuPushed" data-a-menu-open-pushed="true" style="position: relative; margin-top: 24px;"> <!-- /13644946/RGI.COM_LEAD_GENERAL_PAGES --> <div id='div-gpt-ad-1601973347622-0' class="dt-ad-90 tab-ad-90 mob-ad-50"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1601973347622-0'); }); </script> </div> </div> <!-- Masthead leaderboard - under nav <div class="ad showMenuPushed" class="ad showMenuPushed" data-a-menu-open-pushed="true" style="position: relative; margin-top: 24px;"> <!-- /210416249/RGI.COM_LEAD_GENERAL_PAGES <div id='div-gpt-ad-1568119471514-0'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1568119471514-0'); }); </script> </div> </div>--> <div id="wrapper_sleeve" data-menu-open-pushed> <div class="storyLayout standard"></div> <div class="headerWrapper"> <div class="container titleByline"> <div class="inner-sleeve"> <div class="story_title"> <h1>Robots and Hyper Tube among KRRI research projects on show at InnoTrans</h1> </div> <p class="byline meta">By <span class="author"><a href="https://www.railwaygazette.com/railway-gazette-international/1098.bio" rel="author">Railway Gazette International</a></span><span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2024-09-16T06:00:00&quot;,&quot;format&quot;: &quot;D MMMM YYYY&quot;}">2024-09-16T06:00:00+01:00</span></p> </div> </div> </div> <div id="columns" class="container"> <div id="colwrapper" class="inner-sleeve"> <div id="colmain" role="main" class="restrictedcontent"> <div id="content"> <div id="content_sleeve"> <div class="contentWrapper"> <div class="storyContentWrapper"> <div class="pageOptions"> <ul><!-- <li> <a data-facebook-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="facebook" title="Share this on Facebook" rel="noopener noreferrer"></a> </li> <li> <a data-twitter-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="twitter" title="Share this on Twitter" rel="noopener noreferrer"></a> </li> <li> <a data-linkedin-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="linkedin" title="Share this on Linked in" rel="noopener noreferrer"></a> </li> <li> <a data-whatsapp-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="whatsapp" title="Share this on Whatsapp" rel="noopener noreferrer"></a> </li> --> <!--facebook--> <li> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.railwaygazette.com%2frobots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans%2f67380.article&e=Robots+and+Hyper+Tube+among+KRRI+research+projects+on+show+at+InnoTrans" class="facebook" title="Share this on Facebook" target="_blank"></a> </li> <!-- twitter--> <li> <a href="https://twitter.com/intent/tweet?text=Robots+and+Hyper+Tube+among+KRRI+research+projects+on+show+at+InnoTrans&url=https%3a%2f%2fwww.railwaygazette.com%2frobots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans%2f67380.article" class="twitter" title="Share this on Twitter" target="_blank"></a> </li> <!--linked in--> <li> <a href="https://www.linkedin.com/cws/share?url=https%3a%2f%2fwww.railwaygazette.com%2frobots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans%2f67380.article" class="linkedin" title="Share this on Linked in" target="_blank"></a> </li> <li><a href="mailto:?subject=Robots and Hyper Tube among KRRI research projects on show at InnoTrans&amp;body=https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article" class="email" title="Email this article"></a></li> </ul> <ul class="pageOptions_right"> <li class=" last" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/67380/bookmark"> </li> </ul> </div> <div class="articleWrapper"> <div class="articleContent"> <div class="storytext"><div class="inline_image image_size_full fullsize" data-attachment="67447" data-sequence="2"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67447&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="Hyper Tube KRRI InnoTrans material (Image KRRI)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg 780w" loading="eager" class="lazyloaded" width="563" height="279"></p> </div> <p>INNOTRANS: Korea Railroad Research Institute is to highlight eight of its latest innovations and research programmes during the upcoming <a class="intextlink" href="https://www.railwaygazette.com/maps-and-data/berlin-city-map/53952.article" rel="intextlink_2">Berlin</a> fair.</p> <h4>Evacuation robot</h4> <p>KRRI’s Evacuation Guide Robot is designed for rapid response to disasters such as fires and floods in main line and metro tunnels. Mounted on a guide rail adjacent to the track, the robot would arrive on site within 5 min and guide passengers via audio and LED indicators to a safe zone while providing critical site information to the control centre.</p> <div class="inline_image image_size_full fullsize" data-attachment="67446" data-sequence="1"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67446&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (8)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/6/67446_krriinnotransmaterialimagekrri8_547867.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/6/67446_krriinnotransmaterialimagekrri8_547867.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/4/6/67446_krriinnotransmaterialimagekrri8_547867.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/4/6/67446_krriinnotransmaterialimagekrri8_547867.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>It would also be able to supervise track maintenance tasks and monitor environmental conditions such as temperature, humidity and dust as well as detect abnormal factors such as smoke and high temperature.</p> <p>It has passed tests for operation at up to 18&nbsp;km/h and withstanding fire temperatures of 250°C for up to 30 min.</p> <p>The robot is currently undergoing further testing including running over a 200 m guideway at KRRI’s test centre in Osong.</p> <h4>Hyper Tube</h4> <p>KRRI will also be showing its version of low-pressure maglev technology, which it has branded HTX. Targeting operation at 1&nbsp;000 km/h, Hyper Tube eXpress is designed to be an ultra-speed ground transport alternative to aviation. It would work with superconducting propulsion and levitation in a double-shell concrete-epoxy sealed tube. The vehicles would be constructed using carbon fibre composite bodies.</p> <div class="inline_image image_size_full fullsize" data-attachment="67452" data-sequence="7"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67452&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (2)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/2/67452_krriinnotransmaterialimagekrri2_438183.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/2/67452_krriinnotransmaterialimagekrri2_438183.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/5/2/67452_krriinnotransmaterialimagekrri2_438183.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/5/2/67452_krriinnotransmaterialimagekrri2_438183.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>The technologies have been under development at KRRI since 2016, and a test track and research and development centre are planned to be set up next year ahead of a test programme running until 2032. A pilot route is planned for commercial service from 2033 to 2040.</p> <h4>Rail wear detection tool</h4> <div class="inline_image image_size_full fullsize" data-attachment="67451" data-sequence="6"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67451&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (6)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/1/67451_krriinnotransmaterialimagekrri6_949087.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/1/67451_krriinnotransmaterialimagekrri6_949087.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/5/1/67451_krriinnotransmaterialimagekrri6_949087.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/5/1/67451_krriinnotransmaterialimagekrri6_949087.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>KRRI’s Railobse rail profile and wear measurement system uses a non-contact laser sensor that measures rail head condition. The tool then evaluates, analyses visualises and shares the resulting condition data in real-time via an online database.</p> <h4>Recycled sleepers</h4> <p>In order to find an eco-friendly alternative to wooden sleepers, KRRI has been working to develop products made of a mixture of waste plastic and steel slag. Typically 1&nbsp;670 sleepers are needed for 1 km of railway, which requires 100 tonnes of plastic and 40 tonnes of slag.</p> <div class="inline_image image_size_full fullsize" data-attachment="67448" data-sequence="3"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67448&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (7)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/8/67448_krriinnotransmaterialimagekrri7_670017.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/8/67448_krriinnotransmaterialimagekrri7_670017.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/4/8/67448_krriinnotransmaterialimagekrri7_670017.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/4/8/67448_krriinnotransmaterialimagekrri7_670017.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>KRRI claims that the composite sleepers are crack-resistant and have a lifespan of 50 years.</p> <h4>Peoplemover tyre monitoring</h4> <p>In the urban transport segment, KRRI has developed a high-performance tyre temperature and pressure monitoring system for automated guideway transit vehicles.</p> <div class="inline_image image_size_full fullsize" data-attachment="67449" data-sequence="4"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67449&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (3)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/9/67449_krriinnotransmaterialimagekrri3_772989.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/4/9/67449_krriinnotransmaterialimagekrri3_772989.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/4/9/67449_krriinnotransmaterialimagekrri3_772989.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/4/9/67449_krriinnotransmaterialimagekrri3_772989.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>The equipment is intended to decrease the number of tyre failures and therefore lower operating and maintenance costs of automated peoplemover lines.</p> <h4>Quiet gangways</h4> <p>Noise-reducing bellows are being developed for inter-car gangways, especially for high speed trainsets. KRRI’s prototypes are made of lightweight and flexible silicon rubber and are manufactured in multilayered perforated panels.</p> <div class="inline_image image_size_full fullsize" data-attachment="67453" data-sequence="8"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67453&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (4)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/3/67453_krriinnotransmaterialimagekrri4_33165.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/3/67453_krriinnotransmaterialimagekrri4_33165.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/5/3/67453_krriinnotransmaterialimagekrri4_33165.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/5/3/67453_krriinnotransmaterialimagekrri4_33165.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>KRRI says it has already completed tests on the bellows’ performance, durability, robustness, fire protection and water ingress risk.</p> <h4>Wayside transponder</h4> <p>KRRI is developing an electrical-optical wayside transponder to better connect control centres with trains.</p> <div class="inline_image image_size_full fullsize" data-attachment="67450" data-sequence="5"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67450&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (5)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/0/67450_krriinnotransmaterialimagekrri5_344452.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/0/67450_krriinnotransmaterialimagekrri5_344452.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/5/0/67450_krriinnotransmaterialimagekrri5_344452.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/5/0/67450_krriinnotransmaterialimagekrri5_344452.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1434"></p> </div> <p>It transmits train control information by converting electronic data into optical signals and vice versa, the institute says.</p> <h4>Battery-hydrogen train</h4> <p>The institute continues to refine the design of its <a class="intextlink" href="https://www.railwaygazette.com/news/traction-and-rolling-stock/hydrogen" rel="intextlink_0">hydrogen</a> fuel cell-battery hybrid trainset which it started developing in 2021. The train has a continuous rating of 1·2&nbsp;MW, a maximum speed of 121 km/h and a range of more than 600 km with one charge. It features a polymer electrolyte membrane fuel cell and a lithium-ion polymer <a class="intextlink" href="https://www.railwaygazette.com/news/traction-and-rolling-stock/battery-traction" rel="intextlink_1">battery</a>.</p> <div class="inline_image image_size_full fullsize" data-attachment="67454" data-sequence="9"><button class="show-fullscreen" data-url="/attachment?attype=P&amp;atcode=67454&amp;storycode=67380">Show Fullscreen</button> <p class="picture"><img alt="KRRI InnoTrans material (Image KRRI) (1)" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/4/67454_krriinnotransmaterialimagekrri1_161745.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/480xany/4/5/4/67454_krriinnotransmaterialimagekrri1_161745.jpg 480w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/600xany/4/5/4/67454_krriinnotransmaterialimagekrri1_161745.jpg 600w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/780xany/4/5/4/67454_krriinnotransmaterialimagekrri1_161745.jpg 780w" loading="lazy" class="lazyloaded" width="1920" height="1200"></p> </div> <p>The trainset completed preliminary test runs at KRRI’s Osong test centre during 2022.&nbsp;</p></div><div id="storytext-end" class="storytext-end"></div> </div> </div> <div class="htmlContent"> </div> </div> <div class="topics"><div class="sleeve"><span class="topicsLabel"></span><h2>Topics</h2><ul class="topicsList"><li><a href="/news/infrastructure">Infrastructure</a></li><li><a href="/news/innotrans">InnoTrans</a></li><li><a href="/metro/103.subject">Metro</a></li><li><a href="/peoplemover/2179.subject">Peoplemover</a></li><li><a href="/news/research-training-and-skills">Research & Skills</a></li><li><a href="/south-korea/2122.subject">South Korea</a></li><li><a href="/news/traction-and-rolling-stock">Traction & Rolling Stock</a></li></ul></div></div> <div class="pageOptions"> <ul><!-- <li> <a data-facebook-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="facebook" title="Share this on Facebook" rel="noopener noreferrer"></a> </li> <li> <a data-twitter-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="twitter" title="Share this on Twitter" rel="noopener noreferrer"></a> </li> <li> <a data-linkedin-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="linkedin" title="Share this on Linked in" rel="noopener noreferrer"></a> </li> <li> <a data-whatsapp-share="true" data-share-url='https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article' data-share-title="Robots and Hyper Tube among KRRI research projects on show at InnoTrans" href="javascript:void(0)" class="whatsapp" title="Share this on Whatsapp" rel="noopener noreferrer"></a> </li> --> <!--facebook--> <li> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.railwaygazette.com%2frobots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans%2f67380.article&e=Robots+and+Hyper+Tube+among+KRRI+research+projects+on+show+at+InnoTrans" class="facebook" title="Share this on Facebook" target="_blank"></a> </li> <!-- twitter--> <li> <a href="https://twitter.com/intent/tweet?text=Robots+and+Hyper+Tube+among+KRRI+research+projects+on+show+at+InnoTrans&url=https%3a%2f%2fwww.railwaygazette.com%2frobots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans%2f67380.article" class="twitter" title="Share this on Twitter" target="_blank"></a> </li> <!--linked in--> <li> <a href="https://www.linkedin.com/cws/share?url=https%3a%2f%2fwww.railwaygazette.com%2frobots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans%2f67380.article" class="linkedin" title="Share this on Linked in" target="_blank"></a> </li> <li><a href="mailto:?subject=Robots and Hyper Tube among KRRI research projects on show at InnoTrans&amp;body=https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article" class="email" title="Email this article"></a></li> </ul> <ul class="pageOptions_right"> <li class=" last" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/67380/bookmark"> </li> </ul> </div> </div> </div> </div> </div> <div id="rightcolumn" class="fixedrightcolumn rightcolumn restrictedcontent"> <div id="rightcolumn_sleeve"> <!-- BELOW NOT SUPPORT Instructions for implementation depending on right or bottom. If this in the bottom position then we might need to wrap the code with ` <div class="container"> <div class="inner-sleeve"> // taxanomy-list to go here </div> </div> ` --> <div data-mpu1-reflow></div> <div id="rhcreflow-tabletlandscape"></div> <div id="rhcreflow-desktop" class="rhc-mostpopular-desktop"> </div> <div id="rhcreflow-extra"></div> <div id="rhcreflow-extra-end" class="rhcreflow-extra-end"></div> </div> </div> </div> </div> <div class="container bottomAdContainer restrictedcontent"> <div class="inner-sleeve"> <div class="bottomAd"> </div> </div> </div> <div class="container relatedVideos restrictedcontent"> <div class="inner-sleeve"> <div id="videosreflow-tabletportrait"></div> <div id="videosreflow-mobile"></div> </div> </div> <div class="container relatedArticles" id="relatedArticles"> <div class="inner-sleeve"> <div class="extras relatedarticles restrictedcontent"> <div class="relatedarticles_sleeve"> <div class="extras_heading"> <h3>Related articles</h3> </div> <div class="extrasStory listBlocks"> <div class="contentWrapper loadMoreItems" data-load-more-ajax=""> <ul data-load-more-context=""> <li class=""> <a href="https://www.railwaygazette.com/infrastructure/krri-to-extend-research-on-autonomous-train-operation/67685.article" class="image"> <img alt="KRRI tests autonomous train control (photos KRRI) (6)" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/100x67/3/3/3/68333_krritestsautonomoustraincontrolphotoskrri6_982520.jpg" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/100x67/3/3/3/68333_krritestsautonomoustraincontrolphotoskrri6_982520.jpg 100w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/172x115/3/3/3/68333_krritestsautonomoustraincontrolphotoskrri6_982520.jpg 172w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/220x148/3/3/3/68333_krritestsautonomoustraincontrolphotoskrri6_982520.jpg 220w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/280x188/3/3/3/68333_krritestsautonomoustraincontrolphotoskrri6_982520.jpg 280w" width="100" height="67" class="lazyloaded" /> </a> <div class="storyDetails"> <a href="https://www.railwaygazette.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://www.railwaygazette.com/infrastructure/krri-to-extend-research-on-autonomous-train-operation/67685.article">KRRI to extend research on autonomous train operation</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2024-10-31T05:00:00Z&quot;,&quot;format&quot;: &quot;D MMMM YYYY HH:mm&quot;}">2024-10-31T05:00:00Z</span> <span class="author">By <a rel="author" href="https://www.railwaygazette.com/railway-gazette-international/1098.bio">Railway Gazette International</a></span> </p> <p> SOUTH KOREA: Korea Railroad Research Institute is preparing to extend its R&amp;D programme which aims to introduce direct train-to-train communication and position reporting to replace centralised traffic control. As part of its 33·1bn won programme, which started in 2016 and runs until the end of this ...</p> </div> </li> <li class=""> <a href="https://www.railwaygazette.com/technology/krri-installs-private-5g-network-to-test-rail-applications/67626.article" class="image"> <img alt="kr KRRI tests" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/100x67/1/7/3/68173_krkrritests_340288.jpg" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/100x67/1/7/3/68173_krkrritests_340288.jpg 100w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/172x115/1/7/3/68173_krkrritests_340288.jpg 172w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/220x148/1/7/3/68173_krkrritests_340288.jpg 220w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/280x188/1/7/3/68173_krkrritests_340288.jpg 280w" width="100" height="67" class="lazyloaded" /> </a> <div class="storyDetails"> <a href="https://www.railwaygazette.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://www.railwaygazette.com/technology/krri-installs-private-5g-network-to-test-rail-applications/67626.article">KRRI installs private 5G network to test rail applications</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2024-10-22T05:00:00Z&quot;,&quot;format&quot;: &quot;D MMMM YYYY HH:mm&quot;}">2024-10-22T05:00:00Z</span> <span class="author">By <a rel="author" href="https://www.railwaygazette.com/railway-gazette-international/1098.bio">Railway Gazette International</a></span> </p> <p>SOUTH KOREA: Korea Railroad Research Institute is installing a private 5G-R telecoms network at its Osong test centre as a basis for testing 5G applications in rail.</p> </div> </li> <li class=""> <a href="https://www.railwaygazette.com/light-rail-and-tram/hyundai-rotem-to-supply-34-hydrogen-trams-to-daejeon/67103.article" class="image"> <img alt="Hyundai Rotem to supply 34 hydrogen trams to Daejeon (image Daejeon municipality)" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/100x67/6/9/5/66695_hyundairotemtosupply34hydrogentramstodaejeonimagedaejeonmunicipality_585275_crop.jpg" srcset="https://d1c4d7gnm6as1q.cloudfront.net/Pictures/100x67/6/9/5/66695_hyundairotemtosupply34hydrogentramstodaejeonimagedaejeonmunicipality_585275_crop.jpg 100w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/172x115/6/9/5/66695_hyundairotemtosupply34hydrogentramstodaejeonimagedaejeonmunicipality_585275_crop.jpg 172w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/220x148/6/9/5/66695_hyundairotemtosupply34hydrogentramstodaejeonimagedaejeonmunicipality_585275_crop.jpg 220w,https://d1c4d7gnm6as1q.cloudfront.net/Pictures/280x188/6/9/5/66695_hyundairotemtosupply34hydrogentramstodaejeonimagedaejeonmunicipality_585275_crop.jpg 280w" width="100" height="67" class="lazyloaded" /> </a> <div class="storyDetails"> <a href="https://www.railwaygazette.com/metro-report-international/1026.type" class="storyType">Metro Report International</a> <h3> <a href="https://www.railwaygazette.com/light-rail-and-tram/hyundai-rotem-to-supply-34-hydrogen-trams-to-daejeon/67103.article">Hyundai Rotem to supply 34 hydrogen trams to Daejeon</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2024-08-12T11:00:00Z&quot;,&quot;format&quot;: &quot;D MMMM YYYY HH:mm&quot;}">2024-08-12T11:00:00Z</span> <span class="author">By <a rel="author" href="https://www.railwaygazette.com/metro-report-international/1097.bio">Metro Report International</a></span> </p> <p> SOUTH KOREA: Daejeon municipality signed a 293·4bn won contract with Hyundai Rotem on July 25 for the supply of 34 hydrogen vehicles to run on Daejeon’s planned first light rail route, Line 2. The trams are scheduled to be delivered from the first half of 2026 ...</p> </div> </li> </ul> <div class="loadMoreButtonWrapper" data-load-more-button-wrapper=""> <button type="button" class="button" data-load-more-button="" data-items-offset="3" data-ajax-url="https://www.railwaygazette.com/67380/loadmore?code=ARTICLES" data-items-to-load="8" data-loading-more-text="Loading more articles"> Load more articles </button> </div> </div> </div> <div class="fixedrightcolumn rightcolumn"> <!-- 22-09-22 - New ENHANCED ADS unit--> <!-- /13644946/RGI_MPU_C --> <div class="ad"> <div id='div-gpt-ad-1666188956933-0' style='min-width: 300px; min-height: 250px;'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1666188956933-0'); }); </script> </div></div> <!-- /210416249/RGI_MPU_C --> <!-- <div class="ad"> <div id='div-gpt-ad-1572343283773-0'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1572343283773-0'); }); </script> </div> </div>--> <!--<div class="ad">--> <!-- /13644946/RGI_MPU_C <div id='div-gpt-ad-1602146167342-0' style='width: 300px; height: 250px;'>   <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1602146167342-0'); } );   </script> </div> </div>--> </div> </div> </div> </div> </div> <div class="container commentContainer restrictedcontent"> <div class="inner-sleeve"> <div class=" extras"> <div class="extrasStory"> <div class="contentWrapper"></div> </div></div> </div> </div> <div class="container"><div class="inner-sleeve"><div id="rhcreflow-tabletportrait"></div><div id="rhcreflow-mobile"></div></div></div><div id="mobile-drop-zone"></div> <div class="footer_ad"> <div class="footer_ad_strip"> <div class="ad"> </div> </div> </div> <div id="footer" class="footer" role="contentinfo"> <div class="container footerTopNavPageText"> <div class="inner-sleeve"> <div class="brand-list"> <ul> <li> <a href="https://www.railwaygazette.com"> <svg id="Group_1156" data-name="Group 1156" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="212" height="50" viewBox="0 0 212 50"> <rect id="Rectangle_1553" data-name="Rectangle 1553" width="212" height="50" fill="#fff"/> <g id="Group_1155" data-name="Group 1155"> <path id="Path_2131" data-name="Path 2131" d="M25,0A24.993,24.993,0,0,0,5.3,40.378H34.725a3.2,3.2,0,0,0,3.19-3.19V35.41h-7.76a5.781,5.781,0,0,1-5.775-5.775V14.155a5.738,5.738,0,0,1,1-3.243H15.367a3.194,3.194,0,0,0-3.19,3.19V35.4H9.644V14.1a5.729,5.729,0,0,1,5.723-5.723H34.725A5.729,5.729,0,0,1,40.447,14.1V37.188a5.729,5.729,0,0,1-5.722,5.722H7.566A25,25,0,1,0,25,0" fill="#005191"/> <path id="Path_2132" data-name="Path 2132" d="M34.725,10.912h-4.57a3.245,3.245,0,0,0-3.242,3.242V29.636a3.246,3.246,0,0,0,3.242,3.242h7.76V14.1a3.194,3.194,0,0,0-3.19-3.19" fill="#005191"/> <g id="Group_1151" data-name="Group 1151"> <path id="Path_2133" data-name="Path 2133" d="M61.792,25.954H59.531V10.628H65.3a6.432,6.432,0,0,1,3.983,1.011,3.959,3.959,0,0,1,1.291,3.316v.688a4.516,4.516,0,0,1-.742,2.745,3.822,3.822,0,0,1-2.293,1.367l3.746,6.2H68.659L65.214,19.97H61.792Zm6.522-10.72a4.79,4.79,0,0,0-.15-1.324,1.552,1.552,0,0,0-.5-.785,1.939,1.939,0,0,0-.925-.377,9.068,9.068,0,0,0-1.443-.1H61.792v5.3H65.3a9.068,9.068,0,0,0,1.443-.1,1.887,1.887,0,0,0,.925-.388,1.616,1.616,0,0,0,.5-.8,4.781,4.781,0,0,0,.15-1.324Z" fill="#1d1d1b"/> </g> <g id="Group_1152" data-name="Group 1152"> <path id="Path_2134" data-name="Path 2134" d="M81.747,24.1a1.83,1.83,0,0,1-.474,1.442,2.7,2.7,0,0,1-1.722.409H76.322a5.022,5.022,0,0,1-3.24-.828A3.073,3.073,0,0,1,72.1,22.64v-.474a2.979,2.979,0,0,1,1.065-2.583,5.7,5.7,0,0,1,3.326-.775,7.881,7.881,0,0,1,2.024.2,3.791,3.791,0,0,1,1.076.442v-.646a5.128,5.128,0,0,0-.075-.937,1.194,1.194,0,0,0-.366-.667,1.93,1.93,0,0,0-.84-.409,6.335,6.335,0,0,0-1.5-.14q-.9,0-1.926.011t-1.755.032l.409-1.873q.6-.021,1.486-.032t1.786-.011a6.137,6.137,0,0,1,3.767.915,3.231,3.231,0,0,1,1.163,2.7Zm-7.535-1.485a1.385,1.385,0,0,0,.453,1.13,2.674,2.674,0,0,0,1.657.377h3.272V22.144a2.619,2.619,0,0,0-.086-.71.87.87,0,0,0-.345-.484,1.873,1.873,0,0,0-.753-.27,8.165,8.165,0,0,0-1.313-.085h-.5a7.543,7.543,0,0,0-1.173.075,1.812,1.812,0,0,0-.732.258.967.967,0,0,0-.377.484,2.258,2.258,0,0,0-.108.754Z" fill="#1d1d1b"/> <path id="Path_2135" data-name="Path 2135" d="M86.655,11.532a1.5,1.5,0,0,1-.334,1.087,1.941,1.941,0,0,1-2.174,0,1.492,1.492,0,0,1-.334-1.087,1.489,1.489,0,0,1,.334-1.087,1.936,1.936,0,0,1,2.174,0A1.493,1.493,0,0,1,86.655,11.532Zm-2.541,3.293h2.261V25.954H84.114Z" fill="#1d1d1b"/> <path id="Path_2136" data-name="Path 2136" d="M88.721,9.96h2.26V25.954h-2.26Z" fill="#1d1d1b"/> <path id="Path_2137" data-name="Path 2137" d="M100.367,17.538l-2.239,8.416H95.8L92.51,14.825h2.26l2.217,8.762,2.346-8.762h2.2l2.239,8.8,2.346-8.8h2.11l-3.358,11.129h-2.325Z" fill="#1d1d1b"/> </g> <g id="Group_1153" data-name="Group 1153"> <path id="Path_2138" data-name="Path 2138" d="M118.557,24.1a1.83,1.83,0,0,1-.474,1.442,2.693,2.693,0,0,1-1.721.409h-3.229a5.022,5.022,0,0,1-3.24-.828,3.07,3.07,0,0,1-.98-2.486v-.474a2.98,2.98,0,0,1,1.066-2.583,5.694,5.694,0,0,1,3.325-.775,7.876,7.876,0,0,1,2.024.2,3.787,3.787,0,0,1,1.077.442v-.646a5.122,5.122,0,0,0-.076-.937,1.183,1.183,0,0,0-.366-.667,1.92,1.92,0,0,0-.839-.409,6.338,6.338,0,0,0-1.5-.14q-.9,0-1.926.011t-1.755.032l.409-1.873q.6-.021,1.486-.032t1.786-.011a6.138,6.138,0,0,1,3.768.915,3.23,3.23,0,0,1,1.162,2.7Zm-7.534-1.485a1.388,1.388,0,0,0,.452,1.13,2.677,2.677,0,0,0,1.658.377H116.4V22.144a2.616,2.616,0,0,0-.087-.71.869.869,0,0,0-.344-.484,1.879,1.879,0,0,0-.753-.27,8.173,8.173,0,0,0-1.313-.085h-.5a7.543,7.543,0,0,0-1.173.075,1.812,1.812,0,0,0-.732.258.973.973,0,0,0-.377.484,2.286,2.286,0,0,0-.107.754Z" fill="#1d1d1b"/> <path id="Path_2139" data-name="Path 2139" d="M121.98,27.849q1.077.042,1.873.043h1.636a5.68,5.68,0,0,0,1.356-.14,2.028,2.028,0,0,0,.915-.474,1.855,1.855,0,0,0,.5-.915,6.021,6.021,0,0,0,.152-1.484v-.238c-.13.116-.273.23-.431.345a2.386,2.386,0,0,1-.592.3,4.463,4.463,0,0,1-.883.2,9.483,9.483,0,0,1-1.3.075,5.451,5.451,0,0,1-3.175-.785,3.16,3.16,0,0,1-1.109-2.767v-7.19h2.26V21.5a7.315,7.315,0,0,0,.054.948,1.352,1.352,0,0,0,.28.689,1.37,1.37,0,0,0,.711.419,4.919,4.919,0,0,0,1.323.14,7.472,7.472,0,0,0,1.486-.118,1.723,1.723,0,0,0,.86-.409,1.473,1.473,0,0,0,.409-.754,5.157,5.157,0,0,0,.109-1.151V14.825h2.26V24.879a7.606,7.606,0,0,1-.291,2.259,3.352,3.352,0,0,1-.926,1.507,3.845,3.845,0,0,1-1.614.85,8.872,8.872,0,0,1-2.335.27H123.7q-.452,0-.969-.011c-.344-.007-.732-.019-1.162-.032Z" fill="#1d1d1b"/> <path id="Path_2140" data-name="Path 2140" d="M149.749,17.925v6.006a2.7,2.7,0,0,1-.345,1.528,1.29,1.29,0,0,1-1.141.5H144.54a10.11,10.11,0,0,1-3.165-.419A4.447,4.447,0,0,1,139.4,24.3a4.576,4.576,0,0,1-1-2.056,13.16,13.16,0,0,1-.28-2.873V17.194a13.247,13.247,0,0,1,.27-2.81,4.279,4.279,0,0,1,3.013-3.358,10.422,10.422,0,0,1,3.326-.441h2.39q1.1,0,2.195.043l-.366,2.023c-.6-.014-1.123-.025-1.56-.032s-.826-.011-1.163-.011h-1.647a10.141,10.141,0,0,0-2.066.172,2.3,2.3,0,0,0-1.249.667,2.773,2.773,0,0,0-.613,1.421,14.513,14.513,0,0,0-.161,2.411v2a13.058,13.058,0,0,0,.183,2.454,2.828,2.828,0,0,0,.634,1.41,2.2,2.2,0,0,0,1.227.636,10.455,10.455,0,0,0,1.938.15h3.014V19.863h-2.842l.409-1.938Z" fill="#1d1d1b"/> <path id="Path_2141" data-name="Path 2141" d="M161.309,24.1a1.834,1.834,0,0,1-.474,1.442,2.7,2.7,0,0,1-1.722.409h-3.229a5.022,5.022,0,0,1-3.24-.828,3.073,3.073,0,0,1-.979-2.486v-.474a2.979,2.979,0,0,1,1.065-2.583,5.7,5.7,0,0,1,3.326-.775,7.867,7.867,0,0,1,2.023.2,3.787,3.787,0,0,1,1.077.442v-.646a5.121,5.121,0,0,0-.076-.937,1.183,1.183,0,0,0-.366-.667,1.92,1.92,0,0,0-.839-.409,6.335,6.335,0,0,0-1.5-.14q-.9,0-1.926.011c-.682.007-1.268.018-1.755.032l.409-1.873q.6-.021,1.485-.032t1.787-.011a6.137,6.137,0,0,1,3.767.915,3.231,3.231,0,0,1,1.163,2.7Zm-7.535-1.485a1.388,1.388,0,0,0,.452,1.13,2.677,2.677,0,0,0,1.658.377h3.272V22.144a2.619,2.619,0,0,0-.086-.71.875.875,0,0,0-.345-.484,1.873,1.873,0,0,0-.753-.27,8.173,8.173,0,0,0-1.313-.085h-.495a7.566,7.566,0,0,0-1.174.075,1.823,1.823,0,0,0-.732.258.971.971,0,0,0-.376.484,2.258,2.258,0,0,0-.108.754Z" fill="#1d1d1b"/> <path id="Path_2142" data-name="Path 2142" d="M165.915,24.082h6.78l-.387,1.872H163.2V24.19l6.48-7.492h-6.458l.387-1.873h8.762V16.59Z" fill="#1d1d1b"/> <path id="Path_2143" data-name="Path 2143" d="M176.463,21.219a8.867,8.867,0,0,0,.1,1.464,1.72,1.72,0,0,0,.387.882,1.5,1.5,0,0,0,.807.442,6.474,6.474,0,0,0,1.378.118h1.582q.957,0,2.486-.043l-.387,1.872c-.445.015-.826.025-1.141.033s-.606.01-.872.01h-1.668a7.265,7.265,0,0,1-2.486-.355,3.5,3.5,0,0,1-1.507-1.011,3.562,3.562,0,0,1-.743-1.593,10.3,10.3,0,0,1-.193-2.078v-1.2a10.879,10.879,0,0,1,.2-2.207,3.831,3.831,0,0,1,.754-1.657,3.476,3.476,0,0,1,1.528-1.044,7.409,7.409,0,0,1,2.55-.366,6.969,6.969,0,0,1,2.357.334,3.6,3.6,0,0,1,1.443.9,3.023,3.023,0,0,1,.721,1.313,6.077,6.077,0,0,1,.194,1.539v.323a6.9,6.9,0,0,1-.086,1.227,1.623,1.623,0,0,1-.28.7.88.88,0,0,1-.484.323,2.79,2.79,0,0,1-.7.076Zm2.669-4.952a5.838,5.838,0,0,0-1.378.13,1.471,1.471,0,0,0-.807.484,2,2,0,0,0-.387.98,10.839,10.839,0,0,0-.1,1.614h5.36v-.732a5.181,5.181,0,0,0-.118-1.195,1.469,1.469,0,0,0-.431-.764,1.832,1.832,0,0,0-.829-.4A6.019,6.019,0,0,0,179.132,16.267Z" fill="#1d1d1b"/> <path id="Path_2144" data-name="Path 2144" d="M186,12.2l2.261-.409v3.035h4.089l-.387,1.873h-3.7v5.166a7.223,7.223,0,0,0,.075,1.163,1.326,1.326,0,0,0,.29.689,1.12,1.12,0,0,0,.614.323,5,5,0,0,0,1.022.086h1.96l-.388,1.829h-1.55a9.594,9.594,0,0,1-2.121-.193,2.775,2.775,0,0,1-1.312-.656,2.444,2.444,0,0,1-.668-1.238A8.618,8.618,0,0,1,186,21.929Z" fill="#1d1d1b"/> <path id="Path_2145" data-name="Path 2145" d="M193.9,12.2l2.261-.409v3.035h4.089l-.387,1.873h-3.7v5.166a7.225,7.225,0,0,0,.075,1.163,1.326,1.326,0,0,0,.29.689,1.12,1.12,0,0,0,.614.323,5,5,0,0,0,1.022.086h1.959l-.387,1.829h-1.55a9.594,9.594,0,0,1-2.121-.193,2.783,2.783,0,0,1-1.313-.656,2.45,2.45,0,0,1-.667-1.238,8.619,8.619,0,0,1-.183-1.938Z" fill="#1d1d1b"/> <path id="Path_2146" data-name="Path 2146" d="M203.8,21.219a8.867,8.867,0,0,0,.1,1.464,1.729,1.729,0,0,0,.388.882,1.494,1.494,0,0,0,.806.442,6.48,6.48,0,0,0,1.378.118h1.583q.957,0,2.486-.043l-.388,1.872c-.444.015-.825.025-1.14.033s-.607.01-.872.01H206.47a7.273,7.273,0,0,1-2.486-.355,3.5,3.5,0,0,1-1.506-1.011,3.574,3.574,0,0,1-.744-1.593,10.374,10.374,0,0,1-.193-2.078v-1.2a10.8,10.8,0,0,1,.205-2.207,3.83,3.83,0,0,1,.753-1.657,3.476,3.476,0,0,1,1.528-1.044,7.415,7.415,0,0,1,2.551-.366,6.977,6.977,0,0,1,2.357.334,3.6,3.6,0,0,1,1.442.9,3.036,3.036,0,0,1,.722,1.313,6.078,6.078,0,0,1,.193,1.539v.323a6.81,6.81,0,0,1-.086,1.227,1.6,1.6,0,0,1-.28.7.876.876,0,0,1-.484.323,2.776,2.776,0,0,1-.7.076Zm2.669-4.952a5.843,5.843,0,0,0-1.378.13,1.464,1.464,0,0,0-.806.484,2.014,2.014,0,0,0-.388.98,10.839,10.839,0,0,0-.1,1.614h5.36v-.732a5.181,5.181,0,0,0-.118-1.195,1.462,1.462,0,0,0-.431-.764,1.833,1.833,0,0,0-.828-.4A6.035,6.035,0,0,0,206.47,16.267Z" fill="#1d1d1b"/> </g> <g id="Group_1154" data-name="Group 1154"> <path id="Path_2147" data-name="Path 2147" d="M60.394,33.579v7.213H59.331V33.579Z" fill="#1d1d1b"/> <path id="Path_2148" data-name="Path 2148" d="M62.937,33.579l3.718,5.44v-5.44h1.063v7.213h-.962l-3.7-5.41v5.41H61.995V33.579Z" fill="#1d1d1b"/> <path id="Path_2149" data-name="Path 2149" d="M74.992,33.579l-.193.952H72.4v6.261H71.335V34.531H68.8L69,33.579Z" fill="#1d1d1b"/> <path id="Path_2150" data-name="Path 2150" d="M81.019,33.579l-.192.952H77.139v2.077h3.627l-.193.952H77.139v2.279h3.88l-.192.953H76.076V33.579Z" fill="#1d1d1b"/> <path id="Path_2151" data-name="Path 2151" d="M83.39,40.792H82.326V33.579h2.715a3.02,3.02,0,0,1,1.874.476,1.864,1.864,0,0,1,.608,1.56v.325a2.125,2.125,0,0,1-.35,1.291,1.8,1.8,0,0,1-1.078.643l1.762,2.918H86.621L85,37.976H83.39Zm3.069-5.045a2.246,2.246,0,0,0-.071-.623.728.728,0,0,0-.233-.37.911.911,0,0,0-.435-.177,4.165,4.165,0,0,0-.679-.046H83.39v2.492h1.651a4.294,4.294,0,0,0,.679-.045.9.9,0,0,0,.435-.183.756.756,0,0,0,.233-.375,2.246,2.246,0,0,0,.071-.623Z" fill="#1d1d1b"/> <path id="Path_2152" data-name="Path 2152" d="M89.883,33.579l3.718,5.44v-5.44h1.063v7.213H93.7L90,35.382v5.41H88.941V33.579Z" fill="#1d1d1b"/> <path id="Path_2153" data-name="Path 2153" d="M100.489,38.725H97.521l-.75,2.067H95.7l2.755-7.213h1.175l2.755,7.213h-1.134Zm-2.644-.912h2.31L99,34.653Z" fill="#1d1d1b"/> <path id="Path_2154" data-name="Path 2154" d="M109.079,33.579l-.193.952h-2.4v6.261h-1.064V34.531H102.89l.192-.952Z" fill="#1d1d1b"/> <path id="Path_2155" data-name="Path 2155" d="M111.227,33.579v7.213h-1.064V33.579Z" fill="#1d1d1b"/> <path id="Path_2156" data-name="Path 2156" d="M115.7,40.974a4.79,4.79,0,0,1-1.565-.213,2.054,2.054,0,0,1-.942-.633,2.336,2.336,0,0,1-.461-1.043,7.616,7.616,0,0,1-.122-1.444v-.922a7.558,7.558,0,0,1,.117-1.4,2.412,2.412,0,0,1,.451-1.048,2.08,2.08,0,0,1,.937-.659,4.587,4.587,0,0,1,1.585-.228,4.813,4.813,0,0,1,1.565.213,2.054,2.054,0,0,1,.942.633,2.334,2.334,0,0,1,.461,1.044,7.517,7.517,0,0,1,.122,1.443v.922a7.558,7.558,0,0,1-.117,1.4,2.4,2.4,0,0,1-.451,1.049,2.089,2.089,0,0,1-.936.658A4.577,4.577,0,0,1,115.7,40.974Zm0-.922a4.648,4.648,0,0,0,.988-.086,1.078,1.078,0,0,0,.6-.35,1.537,1.537,0,0,0,.3-.744,8,8,0,0,0,.08-1.271V36.76a7.909,7.909,0,0,0-.08-1.261,1.546,1.546,0,0,0-.3-.745,1.108,1.108,0,0,0-.6-.355,4.419,4.419,0,0,0-.988-.091,4.625,4.625,0,0,0-.987.086,1.077,1.077,0,0,0-.6.35,1.526,1.526,0,0,0-.3.745,7.96,7.96,0,0,0-.081,1.271V37.6a7.9,7.9,0,0,0,.081,1.261,1.518,1.518,0,0,0,.3.744,1.1,1.1,0,0,0,.6.355A4.339,4.339,0,0,0,115.7,40.052Z" fill="#1d1d1b"/> <path id="Path_2157" data-name="Path 2157" d="M121.124,33.579l3.718,5.44v-5.44H125.9v7.213h-.962l-3.7-5.41v5.41h-1.064V33.579Z" fill="#1d1d1b"/> <path id="Path_2158" data-name="Path 2158" d="M131.72,38.725h-2.968L128,40.792h-1.074l2.756-7.213h1.175l2.755,7.213H132.48Zm-2.644-.912h2.31l-1.155-3.16Z" fill="#1d1d1b"/> <path id="Path_2159" data-name="Path 2159" d="M135.711,33.579v6.26h3.657l-.192.953h-4.528V33.579Z" fill="#1d1d1b"/> </g> </g> </svg> </a> </li> <li> <a href="https://www.railwaygazette.com/metro-report"> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="187.227" height="50.27" viewBox="0 0 187.227 50.27"> <g id="Group_1169" data-name="Group 1169" transform="translate(0.5)"> <rect id="Rectangle_1567" data-name="Rectangle 1567" width="187" height="50" transform="translate(-0.5 0.27)" fill="none"/> <g id="Group_1165" data-name="Group 1165"> <path id="Path_2267" data-name="Path 2267" d="M66.869,19.367,62.8,12.048V23.737H60.54V8.41h2.519l4.908,8.783L72.595,8.41h2.562V23.737H72.9V11.854l-4.025,7.512Z" fill="#1d1d1b"/> <path id="Path_2268" data-name="Path 2268" d="M79.806,19a8.97,8.97,0,0,0,.1,1.464,1.732,1.732,0,0,0,.387.883,1.511,1.511,0,0,0,.808.441,6.409,6.409,0,0,0,1.378.118h1.582q.957,0,2.486-.043l-.387,1.873c-.445.014-.826.025-1.141.032s-.607.011-.872.011H82.476a7.3,7.3,0,0,1-2.487-.355,3.5,3.5,0,0,1-1.507-1.012,3.567,3.567,0,0,1-.742-1.593,10.28,10.28,0,0,1-.194-2.077V17.537a10.787,10.787,0,0,1,.205-2.206,3.829,3.829,0,0,1,.753-1.658,3.464,3.464,0,0,1,1.529-1.043,7.383,7.383,0,0,1,2.55-.367,6.977,6.977,0,0,1,2.357.334,3.607,3.607,0,0,1,1.442.9,3.037,3.037,0,0,1,.722,1.313,6.086,6.086,0,0,1,.194,1.54v.322a6.8,6.8,0,0,1-.087,1.227,1.621,1.621,0,0,1-.279.7.885.885,0,0,1-.484.323,2.844,2.844,0,0,1-.7.075Zm2.67-4.951a5.9,5.9,0,0,0-1.378.129,1.47,1.47,0,0,0-.808.484,2.018,2.018,0,0,0-.387.98,10.976,10.976,0,0,0-.1,1.614h5.361v-.731a5.169,5.169,0,0,0-.119-1.195,1.458,1.458,0,0,0-.431-.764,1.833,1.833,0,0,0-.829-.4,6.086,6.086,0,0,0-1.312-.118" fill="#1d1d1b"/> <path id="Path_2269" data-name="Path 2269" d="M89.342,9.981,91.6,9.573v3.034h4.09l-.388,1.874H91.6v5.166a7.336,7.336,0,0,0,.075,1.162,1.334,1.334,0,0,0,.291.689,1.114,1.114,0,0,0,.613.323,4.947,4.947,0,0,0,1.022.086h1.96l-.388,1.83h-1.55a9.577,9.577,0,0,1-2.12-.194,2.765,2.765,0,0,1-1.314-.657,2.431,2.431,0,0,1-.667-1.237,8.619,8.619,0,0,1-.183-1.938Z" fill="#1d1d1b"/> <path id="Path_2270" data-name="Path 2270" d="M97.221,23.737V16.116a4.037,4.037,0,0,1,.3-1.646,2.763,2.763,0,0,1,.851-1.1,3.569,3.569,0,0,1,1.323-.614,7.167,7.167,0,0,1,1.722-.193h1.593c.374,0,.682.007.926.021l-.387,1.873h-.216c-.129,0-.287,0-.473-.011s-.387-.01-.6-.01h-.624a3.961,3.961,0,0,0-1.185.14A1.289,1.289,0,0,0,99.8,15a1.405,1.405,0,0,0-.269.689,7.126,7.126,0,0,0-.054.925v7.126Z" fill="#1d1d1b"/> <path id="Path_2271" data-name="Path 2271" d="M110.179,12.263a9.859,9.859,0,0,1,2.38.248,3.435,3.435,0,0,1,1.6.861,3.615,3.615,0,0,1,.915,1.636,9.575,9.575,0,0,1,.291,2.572v1.184a9.578,9.578,0,0,1-.291,2.573,3.62,3.62,0,0,1-.915,1.636,3.435,3.435,0,0,1-1.6.861,11.58,11.58,0,0,1-4.758,0,3.434,3.434,0,0,1-1.6-.861,3.639,3.639,0,0,1-.915-1.636,9.622,9.622,0,0,1-.29-2.573V17.58a9.62,9.62,0,0,1,.29-2.572,3.634,3.634,0,0,1,.915-1.636,3.434,3.434,0,0,1,1.6-.861,9.841,9.841,0,0,1,2.378-.248m2.885,5.317a11.067,11.067,0,0,0-.118-1.819,2.16,2.16,0,0,0-.431-1.044,1.514,1.514,0,0,0-.871-.484,9.147,9.147,0,0,0-2.929,0,1.517,1.517,0,0,0-.871.484,2.15,2.15,0,0,0-.43,1.044,11.049,11.049,0,0,0-.119,1.819v1.184a11.055,11.055,0,0,0,.119,1.82,2.142,2.142,0,0,0,.43,1.043,1.513,1.513,0,0,0,.871.485,9.147,9.147,0,0,0,2.929,0,1.509,1.509,0,0,0,.871-.485,2.151,2.151,0,0,0,.431-1.043,11.072,11.072,0,0,0,.118-1.82Z" fill="#1d1d1b"/> <path id="Path_2272" data-name="Path 2272" d="M125.248,23.737h-2.261V8.41h5.77a6.429,6.429,0,0,1,3.983,1.012,3.96,3.96,0,0,1,1.291,3.315v.688a4.516,4.516,0,0,1-.743,2.745A3.82,3.82,0,0,1,131,17.538l3.745,6.2h-2.626l-3.444-5.985h-3.423Zm6.523-10.72a4.776,4.776,0,0,0-.151-1.324,1.56,1.56,0,0,0-.495-.786,1.963,1.963,0,0,0-.926-.377,9.068,9.068,0,0,0-1.442-.1h-3.509v5.3h3.509a8.938,8.938,0,0,0,1.442-.1,1.881,1.881,0,0,0,.926-.387,1.62,1.62,0,0,0,.495-.8,4.776,4.776,0,0,0,.151-1.324Z" fill="#1d1d1b"/> <path id="Path_2273" data-name="Path 2273" d="M138.271,19a8.971,8.971,0,0,0,.1,1.464,1.724,1.724,0,0,0,.387.883,1.511,1.511,0,0,0,.808.441,6.409,6.409,0,0,0,1.378.118h1.582q.959,0,2.486-.043l-.387,1.873c-.445.014-.826.025-1.141.032s-.607.011-.872.011h-1.668a7.286,7.286,0,0,1-2.486-.355,3.492,3.492,0,0,1-1.508-1.012,3.556,3.556,0,0,1-.742-1.593,10.28,10.28,0,0,1-.194-2.077V17.537a10.862,10.862,0,0,1,.2-2.206,3.841,3.841,0,0,1,.754-1.658A3.464,3.464,0,0,1,138.5,12.63a7.379,7.379,0,0,1,2.55-.367,6.977,6.977,0,0,1,2.357.334,3.606,3.606,0,0,1,1.442.9,3.036,3.036,0,0,1,.722,1.313,6.086,6.086,0,0,1,.194,1.54v.322a6.8,6.8,0,0,1-.087,1.227,1.621,1.621,0,0,1-.28.7.878.878,0,0,1-.484.323,2.833,2.833,0,0,1-.7.075Zm2.67-4.951a5.9,5.9,0,0,0-1.378.129,1.47,1.47,0,0,0-.808.484,2.008,2.008,0,0,0-.387.98,10.977,10.977,0,0,0-.1,1.614h5.36v-.731a5.175,5.175,0,0,0-.118-1.195,1.458,1.458,0,0,0-.431-.764,1.833,1.833,0,0,0-.829-.4,6.086,6.086,0,0,0-1.312-.118" fill="#1d1d1b"/> <path id="Path_2274" data-name="Path 2274" d="M152.952,12.264a9.615,9.615,0,0,1,2.347.247,3.3,3.3,0,0,1,1.581.872,3.681,3.681,0,0,1,.894,1.668,10.426,10.426,0,0,1,.28,2.637v.969a11.512,11.512,0,0,1-.226,2.443,3.746,3.746,0,0,1-.8,1.679,3.4,3.4,0,0,1-1.56.979,8.332,8.332,0,0,1-2.54.323,5.167,5.167,0,0,1-1.712-.247,3.337,3.337,0,0,1-1.13-.635V27.5h-2.282V17.58a9.466,9.466,0,0,1,.291-2.55,3.628,3.628,0,0,1,.915-1.636,3.51,3.51,0,0,1,1.593-.873,9.223,9.223,0,0,1,2.346-.257m-.021,9.966a6.581,6.581,0,0,0,1.453-.129,1.508,1.508,0,0,0,.86-.517,2.188,2.188,0,0,0,.41-1.087,14.072,14.072,0,0,0,.1-1.84v-.969a13.072,13.072,0,0,0-.108-1.883,2.189,2.189,0,0,0-.42-1.077,1.484,1.484,0,0,0-.861-.495,8.6,8.6,0,0,0-2.852,0,1.576,1.576,0,0,0-.883.484,2.093,2.093,0,0,0-.441,1.044,11.04,11.04,0,0,0-.119,1.819v1.528a7.557,7.557,0,0,0,.13,1.551,2.021,2.021,0,0,0,.452.958,1.661,1.661,0,0,0,.882.484,6.371,6.371,0,0,0,1.4.129" fill="#1d1d1b"/> <path id="Path_2275" data-name="Path 2275" d="M165.071,12.263a9.844,9.844,0,0,1,2.379.248,3.439,3.439,0,0,1,1.6.861,3.623,3.623,0,0,1,.914,1.636,9.535,9.535,0,0,1,.291,2.572v1.184a9.537,9.537,0,0,1-.291,2.573,3.628,3.628,0,0,1-.914,1.636,3.439,3.439,0,0,1-1.6.861,11.575,11.575,0,0,1-4.757,0,3.429,3.429,0,0,1-1.6-.861,3.639,3.639,0,0,1-.915-1.636,9.623,9.623,0,0,1-.29-2.573V17.58a9.62,9.62,0,0,1,.29-2.572,3.634,3.634,0,0,1,.915-1.636,3.429,3.429,0,0,1,1.6-.861,9.835,9.835,0,0,1,2.378-.248m2.885,5.317a11.18,11.18,0,0,0-.118-1.819,2.16,2.16,0,0,0-.431-1.044,1.52,1.52,0,0,0-.872-.484,9.141,9.141,0,0,0-2.928,0,1.517,1.517,0,0,0-.871.484,2.15,2.15,0,0,0-.431,1.044,11.051,11.051,0,0,0-.119,1.819v1.184a11.056,11.056,0,0,0,.119,1.82,2.142,2.142,0,0,0,.431,1.043,1.513,1.513,0,0,0,.871.485,9.141,9.141,0,0,0,2.928,0,1.515,1.515,0,0,0,.872-.485,2.151,2.151,0,0,0,.431-1.043,11.185,11.185,0,0,0,.118-1.82Z" fill="#1d1d1b"/> <path id="Path_2276" data-name="Path 2276" d="M172.347,23.737V16.116a4.037,4.037,0,0,1,.3-1.646,2.772,2.772,0,0,1,.851-1.1,3.574,3.574,0,0,1,1.324-.614,7.155,7.155,0,0,1,1.722-.193h1.593q.56,0,.925.021l-.387,1.873h-.215c-.129,0-.288,0-.474-.011s-.388-.01-.6-.01h-.624a3.944,3.944,0,0,0-1.184.14,1.287,1.287,0,0,0-.646.419,1.415,1.415,0,0,0-.269.689,7.127,7.127,0,0,0-.054.925v7.126Z" fill="#1d1d1b"/> <path id="Path_2277" data-name="Path 2277" d="M180.376,9.981l2.26-.408v3.034h4.091l-.388,1.874h-3.7v5.166a7.2,7.2,0,0,0,.076,1.162,1.334,1.334,0,0,0,.29.689,1.121,1.121,0,0,0,.613.323,4.95,4.95,0,0,0,1.023.086H186.6l-.387,1.83h-1.55a9.57,9.57,0,0,1-2.12-.194,2.761,2.761,0,0,1-1.314-.657,2.431,2.431,0,0,1-.667-1.237,8.618,8.618,0,0,1-.183-1.938Z" fill="#1d1d1b"/> <rect id="Rectangle_1568" data-name="Rectangle 1568" width="1.064" height="7.213" transform="translate(60.34 31.361)" fill="#1d1d1b"/> <path id="Path_2278" data-name="Path 2278" d="M63.956,31.361l3.718,5.44v-5.44h1.064v7.213h-.963l-3.7-5.41v5.41H63.014V31.361Z" fill="#1d1d1b"/> <path id="Path_2279" data-name="Path 2279" d="M76.011,31.361l-.193.952h-2.4v6.26H72.354v-6.26H69.821l.192-.952Z" fill="#1d1d1b"/> <path id="Path_2280" data-name="Path 2280" d="M82.038,31.361l-.193.952H78.158V34.39h3.627l-.192.952H78.158v2.279h3.88l-.193.952H77.094V31.361Z" fill="#1d1d1b"/> <path id="Path_2281" data-name="Path 2281" d="M84.418,38.573H83.355V31.361h2.714a3.03,3.03,0,0,1,1.875.476,1.863,1.863,0,0,1,.607,1.56v.324a2.126,2.126,0,0,1-.349,1.292,1.8,1.8,0,0,1-1.079.643l1.763,2.917H87.65l-1.621-2.815H84.418Zm3.07-5.044a2.251,2.251,0,0,0-.071-.623.734.734,0,0,0-.233-.37.925.925,0,0,0-.436-.177,4.271,4.271,0,0,0-.679-.046H84.418v2.492h1.651a4.156,4.156,0,0,0,.679-.046.88.88,0,0,0,.436-.182.763.763,0,0,0,.233-.375,2.241,2.241,0,0,0,.071-.623Z" fill="#1d1d1b"/> <path id="Path_2282" data-name="Path 2282" d="M90.912,31.361l3.718,5.44v-5.44h1.064v7.213H94.73l-3.7-5.41v5.41H89.969V31.361Z" fill="#1d1d1b"/> <path id="Path_2283" data-name="Path 2283" d="M101.517,36.507H98.549L97.8,38.574H96.726l2.755-7.213h1.176l2.755,7.213h-1.135ZM98.874,35.6h2.31l-1.155-3.16Z" fill="#1d1d1b"/> <path id="Path_2284" data-name="Path 2284" d="M110.108,31.361l-.193.952h-2.4v6.26h-1.064v-6.26h-2.533l.192-.952Z" fill="#1d1d1b"/> <rect id="Rectangle_1569" data-name="Rectangle 1569" width="1.064" height="7.213" transform="translate(111.192 31.361)" fill="#1d1d1b"/> <path id="Path_2285" data-name="Path 2285" d="M116.733,38.756a4.782,4.782,0,0,1-1.565-.213,2.054,2.054,0,0,1-.942-.633,2.341,2.341,0,0,1-.461-1.043,7.609,7.609,0,0,1-.122-1.444V34.5a7.55,7.55,0,0,1,.117-1.4,2.4,2.4,0,0,1,.45-1.049,2.082,2.082,0,0,1,.937-.658,4.547,4.547,0,0,1,1.586-.229,4.79,4.79,0,0,1,1.565.213,2.054,2.054,0,0,1,.942.633,2.35,2.35,0,0,1,.461,1.044,7.608,7.608,0,0,1,.121,1.444v.921a7.564,7.564,0,0,1-.116,1.4,2.41,2.41,0,0,1-.45,1.049,2.1,2.1,0,0,1-.938.658,4.563,4.563,0,0,1-1.585.228m0-.922a4.632,4.632,0,0,0,.987-.086,1.077,1.077,0,0,0,.6-.349,1.526,1.526,0,0,0,.3-.745,7.978,7.978,0,0,0,.081-1.271v-.841a7.892,7.892,0,0,0-.081-1.261,1.526,1.526,0,0,0-.3-.745,1.1,1.1,0,0,0-.6-.355,4.411,4.411,0,0,0-.987-.09,4.577,4.577,0,0,0-.988.086,1.071,1.071,0,0,0-.6.349,1.532,1.532,0,0,0-.3.744,8.132,8.132,0,0,0-.08,1.272v.841a8.021,8.021,0,0,0,.08,1.261,1.532,1.532,0,0,0,.3.744,1.1,1.1,0,0,0,.6.355,4.355,4.355,0,0,0,.988.091" fill="#1d1d1b"/> <path id="Path_2286" data-name="Path 2286" d="M122.152,31.361l3.718,5.44v-5.44h1.064v7.213h-.963l-3.7-5.41v5.41H121.21V31.361Z" fill="#1d1d1b"/> <path id="Path_2287" data-name="Path 2287" d="M132.759,36.507h-2.968l-.75,2.067h-1.074l2.756-7.213H131.9l2.756,7.213h-1.134Zm-2.644-.912h2.309l-1.155-3.16Z" fill="#1d1d1b"/> <path id="Path_2288" data-name="Path 2288" d="M136.75,31.361v6.26h3.657l-.192.952h-4.528V31.361Z" fill="#1d1d1b"/> <path id="Path_2289" data-name="Path 2289" d="M25.273,0a25,25,0,1,0,6.2,49.224V29.946h-.016V13.633a3.2,3.2,0,0,0-3.193-3.193H25.053a3.2,3.2,0,0,0-3.193,3.193V35.165H19.327V29.958h0V13.644a3.2,3.2,0,0,0-3.193-3.193h-3.21a3.2,3.2,0,0,0-3.193,3.193V35.168H7.2V13.644a5.731,5.731,0,0,1,5.725-5.725h3.21a5.712,5.712,0,0,1,4.456,2.139,5.718,5.718,0,0,1,4.466-2.151h3.209a5.712,5.712,0,0,1,4.552,2.267,5.712,5.712,0,0,1,4.379-2.046h5.418V10.66H37.193A3.194,3.194,0,0,0,34,13.85V48.43A25,25,0,0,0,25.273,0" fill="#009254"/> </g> </g> </svg> </a> </li> <li> <a href="https://www.railwaygazette.com/uk"> <svg id="rail_business_uk_small" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="219" height="50" viewBox="0 0 219 50"> <rect id="Rectangle_1554" data-name="Rectangle 1554" width="219" height="50" fill="#fff"/> <g id="Group_1157" data-name="Group 1157"> <path id="Path_2160" data-name="Path 2160" d="M62.156,31.85H59.9V16.523h5.769a6.425,6.425,0,0,1,3.983,1.012,3.956,3.956,0,0,1,1.291,3.314v.69a4.513,4.513,0,0,1-.742,2.744A3.809,3.809,0,0,1,67.9,25.65l3.746,6.2H69.023l-3.445-5.985H62.156Zm6.522-10.72a4.738,4.738,0,0,0-.151-1.324,1.542,1.542,0,0,0-.5-.786,1.949,1.949,0,0,0-.925-.377,9.082,9.082,0,0,0-1.443-.1H62.156v5.295h3.508a8.952,8.952,0,0,0,1.443-.1,1.886,1.886,0,0,0,.925-.387,1.606,1.606,0,0,0,.5-.8,4.738,4.738,0,0,0,.151-1.324Z" fill="#1d1d1b"/> <path id="Path_2161" data-name="Path 2161" d="M82.111,30a1.833,1.833,0,0,1-.473,1.442,2.694,2.694,0,0,1-1.723.409H76.686a5.017,5.017,0,0,1-3.24-.829,3.073,3.073,0,0,1-.979-2.486v-.474a2.975,2.975,0,0,1,1.066-2.582,5.694,5.694,0,0,1,3.325-.775,7.836,7.836,0,0,1,2.024.2,3.773,3.773,0,0,1,1.077.441V24.7a5.114,5.114,0,0,0-.076-.937,1.186,1.186,0,0,0-.366-.667,1.9,1.9,0,0,0-.84-.409,6.273,6.273,0,0,0-1.5-.14q-.9,0-1.927.01t-1.755.032l.409-1.872q.6-.021,1.486-.032t1.787-.011a6.139,6.139,0,0,1,3.767.914,3.235,3.235,0,0,1,1.162,2.7Zm-7.534-1.485a1.385,1.385,0,0,0,.452,1.129,2.662,2.662,0,0,0,1.657.377h3.273V28.04a2.616,2.616,0,0,0-.087-.71.871.871,0,0,0-.344-.485,1.88,1.88,0,0,0-.753-.269,8.055,8.055,0,0,0-1.314-.086h-.494a7.674,7.674,0,0,0-1.174.075,1.827,1.827,0,0,0-.732.259.967.967,0,0,0-.377.484,2.262,2.262,0,0,0-.107.753Z" fill="#1d1d1b"/> <path id="Path_2162" data-name="Path 2162" d="M87,17.427a1.493,1.493,0,0,1-.334,1.087,1.937,1.937,0,0,1-2.175,0,1.489,1.489,0,0,1-.333-1.087,1.492,1.492,0,0,1,.333-1.087,1.937,1.937,0,0,1,2.175,0A1.5,1.5,0,0,1,87,17.427m-2.541,3.294h2.261V31.85H84.457Z" fill="#1d1d1b"/> <rect id="Rectangle_1555" data-name="Rectangle 1555" width="2.26" height="15.995" transform="translate(89.064 15.856)" fill="#1d1d1b"/> <path id="Path_2163" data-name="Path 2163" d="M99.2,16.523h6.243a5.278,5.278,0,0,1,3.467.926,3.607,3.607,0,0,1,1.075,2.884V20.5a3.957,3.957,0,0,1-.494,2.056,2.9,2.9,0,0,1-1.615,1.217,3.258,3.258,0,0,1,1.841,1.172,3.8,3.8,0,0,1,.7,2.4V27.7a3.707,3.707,0,0,1-1.313,3.164,5.849,5.849,0,0,1-3.6.991H99.2Zm8.482,3.854a1.762,1.762,0,0,0-.528-1.443,2.712,2.712,0,0,0-1.711-.431h-3.982v4.37h3.724a2.809,2.809,0,0,0,1.926-.527,2.172,2.172,0,0,0,.571-1.668Zm-6.221,9.493h4.047a2.985,2.985,0,0,0,1.97-.506,2.329,2.329,0,0,0,.569-1.8v-.279a2.426,2.426,0,0,0-.613-1.894,3.189,3.189,0,0,0-2.1-.539h-3.875Z" fill="#1d1d1b"/> <path id="Path_2164" data-name="Path 2164" d="M117.157,32.195a6.646,6.646,0,0,1-3.66-.818,3.112,3.112,0,0,1-1.227-2.8V20.72h2.261v7.406a6.14,6.14,0,0,0,.064.947,1.3,1.3,0,0,0,.322.69,1.616,1.616,0,0,0,.786.419,5.949,5.949,0,0,0,1.454.14,5.8,5.8,0,0,0,1.442-.14,1.6,1.6,0,0,0,.775-.419,1.283,1.283,0,0,0,.323-.69,6.13,6.13,0,0,0,.065-.947V20.72h2.26v7.859a3.112,3.112,0,0,1-1.227,2.8,6.6,6.6,0,0,1-3.638.818" fill="#1d1d1b"/> <path id="Path_2165" data-name="Path 2165" d="M130.245,25.285a4.248,4.248,0,0,1,1.571.4,2.5,2.5,0,0,1,1.367,1.7,4.3,4.3,0,0,1,.119.98v.3a2.836,2.836,0,0,1-1.1,2.379,5.494,5.494,0,0,1-3.379.85q-.969,0-2.25-.011T124,31.85l.387-1.872q1.163.021,2.368.032t2.175.01a3.625,3.625,0,0,0,1.712-.279,1.18,1.18,0,0,0,.462-1.1,2.074,2.074,0,0,0-.054-.484.875.875,0,0,0-.215-.4,1.263,1.263,0,0,0-.464-.291,2.975,2.975,0,0,0-.817-.16l-2.584-.238a3.817,3.817,0,0,1-1.355-.333,2.74,2.74,0,0,1-.9-.668,2.565,2.565,0,0,1-.5-.893,3.232,3.232,0,0,1-.162-1.012V23.8a2.8,2.8,0,0,1,1.012-2.292,5.243,5.243,0,0,1,3.315-.829h2.153q1.119,0,2.519.043l-.388,1.873c-.6-.014-1.134-.025-1.593-.033s-.866-.01-1.216-.01h-1.712a3.1,3.1,0,0,0-1.528.268,1.04,1.04,0,0,0-.431.959,2.029,2.029,0,0,0,.054.494.731.731,0,0,0,.215.366,1.325,1.325,0,0,0,.474.259,3.463,3.463,0,0,0,.829.15Z" fill="#1d1d1b"/> <path id="Path_2166" data-name="Path 2166" d="M137.931,17.427a1.493,1.493,0,0,1-.334,1.087,1.937,1.937,0,0,1-2.175,0,1.493,1.493,0,0,1-.334-1.087,1.5,1.5,0,0,1,.334-1.087,1.937,1.937,0,0,1,2.175,0,1.5,1.5,0,0,1,.334,1.087m-2.541,3.294h2.26V31.85h-2.26Z" fill="#1d1d1b"/> <path id="Path_2167" data-name="Path 2167" d="M140,31.85V23.993a3.157,3.157,0,0,1,1.2-2.778,8.733,8.733,0,0,1,7.47,0,3.159,3.159,0,0,1,1.194,2.778V31.85H147.6V24.445a6.149,6.149,0,0,0-.064-.947,1.29,1.29,0,0,0-.322-.689,1.621,1.621,0,0,0-.8-.42,8.007,8.007,0,0,0-2.971,0,1.617,1.617,0,0,0-.8.42,1.284,1.284,0,0,0-.323.689,6.149,6.149,0,0,0-.064.947V31.85Z" fill="#1d1d1b"/> <path id="Path_2168" data-name="Path 2168" d="M154.2,27.115a8.854,8.854,0,0,0,.1,1.463,1.733,1.733,0,0,0,.387.882,1.508,1.508,0,0,0,.807.443,6.484,6.484,0,0,0,1.378.117h1.582q.958,0,2.487-.042l-.387,1.872q-.669.021-1.141.032c-.317.008-.607.012-.872.012h-1.669a7.29,7.29,0,0,1-2.486-.355,3.5,3.5,0,0,1-1.507-1.012,3.55,3.55,0,0,1-.742-1.593,10.225,10.225,0,0,1-.194-2.078V25.65a10.869,10.869,0,0,1,.2-2.206,3.83,3.83,0,0,1,.754-1.658,3.471,3.471,0,0,1,1.528-1.044,7.44,7.44,0,0,1,2.551-.366,7,7,0,0,1,2.357.334,3.611,3.611,0,0,1,1.443.9,3.027,3.027,0,0,1,.721,1.314,6.072,6.072,0,0,1,.193,1.539v.322a6.9,6.9,0,0,1-.086,1.227,1.628,1.628,0,0,1-.279.7.882.882,0,0,1-.485.323,2.782,2.782,0,0,1-.7.076Zm2.669-4.952a5.838,5.838,0,0,0-1.378.13,1.464,1.464,0,0,0-.807.483,2.023,2.023,0,0,0-.387.98,10.863,10.863,0,0,0-.1,1.615h5.361v-.733a5.112,5.112,0,0,0-.119-1.194,1.462,1.462,0,0,0-.431-.764,1.833,1.833,0,0,0-.828-.4,5.973,5.973,0,0,0-1.314-.119" fill="#1d1d1b"/> <path id="Path_2169" data-name="Path 2169" d="M169.617,25.285a4.254,4.254,0,0,1,1.572.4,2.5,2.5,0,0,1,1.367,1.7,4.353,4.353,0,0,1,.118.98v.3a2.835,2.835,0,0,1-1.1,2.379,5.5,5.5,0,0,1-3.38.85q-.968,0-2.249-.011t-2.573-.032l.388-1.872q1.163.021,2.368.032t2.174.01a3.62,3.62,0,0,0,1.712-.279,1.18,1.18,0,0,0,.463-1.1,2.073,2.073,0,0,0-.055-.484.857.857,0,0,0-.215-.4,1.258,1.258,0,0,0-.463-.291,2.983,2.983,0,0,0-.817-.16l-2.584-.238a3.823,3.823,0,0,1-1.356-.333,2.735,2.735,0,0,1-.9-.668,2.583,2.583,0,0,1-.506-.893,3.232,3.232,0,0,1-.162-1.012V23.8a2.8,2.8,0,0,1,1.012-2.292,5.246,5.246,0,0,1,3.316-.829H169.9q1.118,0,2.518.043l-.388,1.873c-.6-.014-1.133-.025-1.593-.033s-.865-.01-1.216-.01h-1.711a3.1,3.1,0,0,0-1.529.268,1.042,1.042,0,0,0-.43.959,2.032,2.032,0,0,0,.053.494.723.723,0,0,0,.215.366,1.339,1.339,0,0,0,.475.259,3.464,3.464,0,0,0,.828.15Z" fill="#1d1d1b"/> <path id="Path_2170" data-name="Path 2170" d="M180.639,25.285a4.248,4.248,0,0,1,1.572.4,2.5,2.5,0,0,1,1.367,1.7,4.356,4.356,0,0,1,.119.98v.3a2.838,2.838,0,0,1-1.1,2.379,5.5,5.5,0,0,1-3.38.85q-.968,0-2.249-.011T174.4,31.85l.388-1.872q1.163.021,2.368.032c.8.007,1.529.01,2.174.01a3.62,3.62,0,0,0,1.712-.279,1.18,1.18,0,0,0,.463-1.1,2.021,2.021,0,0,0-.055-.484.857.857,0,0,0-.215-.4,1.258,1.258,0,0,0-.463-.291,2.983,2.983,0,0,0-.817-.16l-2.584-.238a3.823,3.823,0,0,1-1.356-.333,2.746,2.746,0,0,1-.9-.668,2.583,2.583,0,0,1-.506-.893,3.231,3.231,0,0,1-.161-1.012V23.8a2.8,2.8,0,0,1,1.012-2.292,5.241,5.241,0,0,1,3.315-.829h2.153q1.119,0,2.518.043l-.388,1.873c-.6-.014-1.133-.025-1.593-.033s-.865-.01-1.216-.01H178.53a3.1,3.1,0,0,0-1.529.268,1.042,1.042,0,0,0-.43.959,2.033,2.033,0,0,0,.053.494.731.731,0,0,0,.215.366,1.339,1.339,0,0,0,.475.259,3.454,3.454,0,0,0,.828.15Z" fill="#1d1d1b"/> <path id="Path_2171" data-name="Path 2171" d="M197.086,32.238a8.758,8.758,0,0,1-3-.43,3.951,3.951,0,0,1-1.8-1.271,4.824,4.824,0,0,1-.882-2.067,14.833,14.833,0,0,1-.238-2.8V16.523h2.262v9.192a13.888,13.888,0,0,0,.149,2.239,3.052,3.052,0,0,0,.561,1.4,2.133,2.133,0,0,0,1.119.721,8.271,8.271,0,0,0,3.66,0,2.137,2.137,0,0,0,1.119-.721,3.029,3.029,0,0,0,.559-1.4,13.631,13.631,0,0,0,.151-2.239V16.523h2.261v9.149a14.838,14.838,0,0,1-.237,2.8,4.837,4.837,0,0,1-.882,2.067,3.948,3.948,0,0,1-1.809,1.271,8.776,8.776,0,0,1-2.992.43" fill="#1d1d1b"/> <path id="Path_2172" data-name="Path 2172" d="M208.065,23.239l6.5-6.716h2.69L210.3,23.777l7.706,8.073h-3.122l-6.824-7.212V31.85H205.8V16.523h2.26Z" fill="#1d1d1b"/> <path id="Path_2173" data-name="Path 2173" d="M30.4,35.675h3.825a2.923,2.923,0,0,0,2.92-2.92V16.178a2.924,2.924,0,0,0-2.92-2.921H27.5V32.78h-.021a2.922,2.922,0,0,0,2.919,2.9" fill="#e8aa00"/> <path id="Path_2174" data-name="Path 2174" d="M27.5.124V10.741h6.723a5.444,5.444,0,0,1,5.436,5.437V32.755a5.443,5.443,0,0,1-5.436,5.436H30.4a5.442,5.442,0,0,1-5.434-5.412H24.95V13.325H15.625a3.222,3.222,0,0,0-3.179,3.257v21.6H9.891v-21.6a5.779,5.779,0,0,1,5.734-5.811H24.95V0A24.983,24.983,0,1,0,27.5.124" fill="#e8aa00"/> </g> </svg> </a> </li> </ul> </div> <!-- <div class="footerSocial"> <span class="footerSocialText">Connect with us</span> <ul> <li class="footerSocialFacebook"> <a href="https://www.facebook/railwaygazette" title="Connect with us on Facebook"></a> </li> <li class="footerSocialTwitter"> <a href="https://www.twitter.com/railwaygazette" title="Connect with us on Twitter"></a> </li> <li class="footerSocialLinkedin"> <a href="https://www.linkedin.com/company/railway-gazette-international" title="Connect with us on Linked in"></a> </li> <li class="footerSocialInstagram"> <a href="https://www.instagram.com/railwaygazette" title="Connect with us on Instagram"></a> </li> <li class="footerSocialYoutube"> <a href="https://www.youtube.com/railwaygazette" title="Connect with us on Youtube"></a> </li> <li class="footerSocialRSS"> <a href="#" title="RSS"></a> </li> </ul> </div> --> </div> </div> <div class="container bottomNav"><div class="inner-sleeve"><ul><li class="first"><a href="https://www.railwaygazette.com/contact-us">Contact us</a></li><li><a href="https://www.railwaygazette.com/about-us">About us</a></li><li><a href="https://www.railwaygazette.com/advertising">Advertising</a></li><li><a href="https://account.railwaygazette.com/register" class="newWindow">Register</a></li><li><a href="https://www.railwaygazette.com/subscriptions?campaigncode=rgsubusernav">Subscribe</a></li><li><a href="https://www.railwaygazette.com/terms-and-conditions">Terms and Conditions</a></li><li><a href="https://www.railwaygazette.com/54152.article">Cookie Policy</a></li><li><a href="https://www.dvvmediainternational.com/policies1/privacy-policy/" class="newWindow">Privacy Policy</a></li><li><a href="https://www.railwaygazette.com/topics-a-z">Topics A-Z</a></li><li><a href="https://www.railwaygazette.com/archive-by-date">Archive (by date)</a></li><li class="last"><a href="https://www.dvvmediainternational.com/" class="newWindow">© DVV Media International Ltd</a></li></ul></div></div> <div class="bottom"> <div class="container footerBottomNavPageText"> <div class="inner-sleeve"> <div class="footerSocial"> <span class="footerSocialText"><strong>Follow</strong> Railway Gazette on social media</span> <ul> <li class="footerSocialFacebook"> <a href="https://www.facebook.com/railwaygazette/" rel="noopener noreferrer" target="_blank" title="Connect with Railway Gazette on Facebook"></a> </li> <li class="footerSocialTwitter"> <a href="https://twitter.com/railwaygazette" rel="noopener noreferrer" target="_blank" title="Follow Railway Gazette on Twitter"></a> </li> <li class="footerSocialLinkedin"> <a href="https://www.linkedin.com/company/railway-gazette-international/" rel="noopener noreferrer" target="_blank" title="Connect with Railway Gazette on LinkedIn"></a> </li> <li class="footerSocialInstagram"> <a href="https://www.instagram.com/railwaygazette/" rel="noopener noreferrer" target="_blank" title="Connect with us on Instagram"></a> </li> </ul> </div> <p class="webvision">Site powered by <a href="https://www.abacusemedia.com/webvisioncloud">Webvision Cloud</a></p> </div> </div> </div> </div> </div> </div> <script src="/Magazine/core.js?p=7513768095036817" defer></script> <!-- AD Renewals Script - Start --> <script type="text/javascript"> (function(d, s) { var config = { baseUrl:'account.railwaygazette.com', partyId: 0 }; var cacheDate = new Date(); cacheDate.setHours(0,0,0,0); var _abacus_ = d.createElement('script'); _abacus_.type = 'text/javascript'; _abacus_.async = true; _abacus_.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + config.baseUrl + '/templatejs?partyId=' + config.partyId + '&cacheDate=' + cacheDate.getTime(); var sc = d.getElementsByTagName(s)[0]; sc.parentNode.insertBefore(_abacus_, sc); })(document, 'script'); </script> <!-- AD Renewals Script - End --> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Article", "description": "INNOTRANS: Korea Railroad Research Institute is to highlight eight of its latest innovations and research programmes during the upcoming Berlin fair.", "image": "https://d1c4d7gnm6as1q.cloudfront.net/Pictures/2000xAny/4/4/7/67447_hypertubekrriinnotransmaterialimagekrri_687411.jpg", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.railwaygazette.com/robots-and-hyper-tube-among-krri-research-projects-on-show-at-innotrans/67380.article" }, "author": { "@type": "Person", "name": "Railway Gazette International" }, "dateCreated": "2024-09-13", "dateModified": "2024-09-13", "datePublished": "2024-09-16", "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".restrictedcontent" }, "headline": "Robots and Hyper Tube among KRRI research projects on show at InnoTrans", "isAccessibleForFree": false, "publisher": { "@type": "Organization", "name": "Railway Gazette International", "logo": { "@type": "ImageObject", "url": "https://www.railwaygazette.com/magazine/dest/graphics/logo/logo.png" } } }</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10