CINXE.COM

麦格纳 - 世界500强 汽车零部件供应商 - 麦格纳Magna官网

<!DOCTYPE html> <html class="nhp-init" data-geo="na" lang="zh"> <head> <!-- CookiePro Cookies Consent Notice start for www.magna.com --> <script charset="UTF-8" data-document-languag="true" data-domain-script="0f4ce83a-f579-499e-b010-1b6a74ba5982" src="https://cookie-cdn.cookiepro.com/scripttemplates/otSDKStub.js" type="text/javascript"></script><script type="text/javascript" >function OptanonWrapper() { }</script> <!-- CookiePro Cookies Consent Notice end for www.magna.com --> <meta name="viewport" content="initial-scale=1, width=device-width"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta charset="utf-8" /> <!-- Google Tag Manager --> <script type="text/javascript" > (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-K67JRD2'); </script> <!-- End Google Tag Manager --> <!-- Baidu --> <script type="text/javascript" > var _hmt = _hmt || []; (function () { var hm = document.createElement('script'); hm.src = 'https://hm.baidu.com/hm.js?f0364d12858fb442f61350063f53a6bd'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(hm, s); })(); </script><!-- End Baidu --> <!-- Baidu B --> <script type="text/javascript" > var _hmt = _hmt || []; (function () {{ var hmb = document.createElement('script'); hmb.src = 'https://hm.baidu.com/hm.js?ad3a5139b0d2e39d438e618b079aca8d'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(hmb, s); }})(); </script><!-- End Baidu B --> <!-- <link href="/favicon.ico" rel="shortcut icon" /> --> <style type="text/css" integrity="sha256-nCCsbhe8thTPmEo/DsWcB2+3nL5nMJYSjPxUlOkbd04="> /* This CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype Imaging and/or its suppliers. You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype Imaging with any questions regarding Web Fonts: http://www.fonts.com */ @font-face { font-family: 'Helvetica Neue'; src: url(/ResourcePackages/HighroadFramework/dist/fonts/4ff9f3fa-9221-4fc5-97e6-93572b6efa24.woff2) format('woff2'), url(/ResourcePackages/HighroadFramework/dist/fonts/ca8d25cd-e264-4404-b271-4afc45c779c4.woff) format('woff'); font-style: normal; font-weight: 100; font-display: fallback; } @font-face { font-family: 'Helvetica Neue'; src: url(/ResourcePackages/HighroadFramework/dist/fonts/3a46542f-f429-4821-9a88-62e3be54a640.woff2) format('woff2'), url(/ResourcePackages/HighroadFramework/dist/fonts/50ac1699-f3d2-47b6-878f-67a368a17c41.woff) format('woff'); font-style: normal; font-display: fallback; } @font-face { font-family: 'Helvetica Neue'; src: url(/ResourcePackages/HighroadFramework/dist/fonts/3dac71eb-afa7-4c80-97f0-599202772905.woff2) format('woff2'), url(/ResourcePackages/HighroadFramework/dist/fonts/34e0e4c0-c294-49bb-9a8e-1b2cafd54e32.woff) format('woff'); font-style: normal; font-weight: 400; font-display: fallback; } @font-face { font-family: 'Helvetica Neue'; src: url(/ResourcePackages/HighroadFramework/dist/fonts/5b1fbd62-45dc-4433-a7df-a2b24a146411.woff2) format('woff2'), url(/ResourcePackages/HighroadFramework/dist/fonts/050b1948-f226-4d20-a65a-15d8ed031222.woff) format('woff'); font-style: normal; font-weight: 500; font-display: fallback; } @font-face { font-family: 'Helvetica Neue'; src: url(/ResourcePackages/HighroadFramework/dist/fonts/531c5a28-5575-4f58-96d4-a80f7b702d7b.woff2) format('woff2'), url(/ResourcePackages/HighroadFramework/dist/fonts/439c5962-f9fe-4eaf-a1f6-f41d42edba75.woff) format('woff'); font-style: normal; font-weight: 700; font-display: fallback; } </style> <link href="/CoreCSS" rel="stylesheet" type="text/css" /> <title> 麦格纳 - 世界500强 汽车零部件供应商 - 麦格纳Magna官网 </title> <link href="/Mvc/Styles/RotatingBanner/style.css?package=HighroadFramework" rel="stylesheet" type="text/css" /><link href="/Mvc/Styles/BannerAssets/BannerAssets.v3.List.css?package=HighroadFramework" rel="stylesheet" type="text/css" /><link href="/Mvc/Styles/NasdaqJSON/StockTicker.css?package=HighroadFramework" rel="stylesheet" type="text/css" /> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js" type="text/javascript"></script><script src="https://code.jquery.com/jquery-migrate-3.4.0.min.js" type="text/javascript"></script> <script type="text/javascript" >var sf_appPath = '/';</script> <meta name="keywords" content="麦格纳,Magna,麦格纳官网,麦格纳国际,麦格纳汽车"><meta property="og:title" content="麦格纳 - 世界500强 汽车零部件供应商 - 麦格纳Magna官网" /><meta property="og:description" content="麦格纳Magna是全球多元化的汽车零部件供应商,凭借汽车行业全栈系统能力为汽车制造厂商提供包括设计、开发、制造汽车系统、总成、模块与组件,设计和组装整车解决方案和服务。麦格纳致力于探索如何通过出行科技的进步,为大家创造更加美好的世界。" /><meta property="og:url" content="https://www.magna.com/zh" /><meta property="og:type" content="website" /><meta property="og:site_name" content="Magna" /><style type="text/css" media="all">.l-region-custom-apply-now { --region-vertical-top-padding: 22px; --region-vertical-bottom-padding: 22px; --region-background: rgba(0, 0, 0, 1); --heading-h3-color: currentColor; color: #fff; } @media (min-width: 600px) { body:not(.sfPageEditor) .l-region-custom-apply-now { animation: slide-in-blurred-bottom 0.6s 1s cubic-bezier(0.230, 1.000, 0.320, 1.000) both; z-index: 999; position: absolute; left: 0; width: 100%; transform: translateY(-100%) !important; } } .l-region-custom-apply-now.js-disabled { pointer-events: none; animation: slide-out 2.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) forwards !important; } .l-region-custom-apply-now button[type="button"] { margin-top: 0; padding: 5px; width: 25px; height: 25px; min-height: 0; background: transparent; cursor: pointer; align-self: flex-start; margin-left: auto; } @media only screen and (min-width: 1024px) { .l-region-custom-apply-now button[type="button"] { position: absolute; top: 12.5px; right: var(--gutter); } } .l-region-custom-apply-now .l-column--full { display: flex; flex-wrap: wrap; align-items: center; gap: 1em var(--gutter); opacity: 1 !important; } .l-region-custom-apply-now .l-column--full > :first-child { flex-grow: 1; } .l-region-custom-apply-now .l-column--full > * { margin-top: 0; opacity: 0; animation: fade-in 1.2s 1.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) forwards; } /* ---------------------------------------------- * Generated by Animista on 2022-8-2 21:23:1 * Licensed under FreeBSD License. * See http://animista.net/license for more info. * w: http://animista.net, t: @cssanimista * ---------------------------------------------- */ /** * ---------------------------------------- * animation slide-in-blurred-bottom * ---------------------------------------- */ @keyframes slide-in-blurred-bottom { 0% { transform: translateY(1000px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } } @keyframes slide-out { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(1000px); opacity: 0; } } /** * ---------------------------------------- * animation fade-in * ---------------------------------------- */ @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } .l-region.l-region--media { min-height: min(calc(100dvh - 85px), 950px); } @media (orientation: portrait) { .l-region.l-region--media { min-height: 0; } } .progress-bar { margin-top: 0; position: fixed; right: 2.5rem; top: 7.5rem; width: 2px; height: calc(100vh - 15rem); max-height: 860px; background-color: #7c7c7c; z-index: 10; } @media (max-width: 1339px) { .progress-bar { right: 1.25rem; } } @media (max-width: 839px) { .progress-bar { display: none; } } .progress-bar__thumb { background-color: #DA291C; position: absolute; height: 2rem; left: -1px; top: 0; width: 0.25rem; transform: skewY(19deg); transition: top 0.25s cubic-bezier(0.35, 0.495, 0.445, 1.005); } </style><style type="text/css" media="screen">.is-animate-ready body:not(.sfPageEditor) .is-animate, .is-animate-ready body:not(.sfPageEditor) .is-animate-stagger > *, .is-animate-ready body:not(.sfPageEditor) [data-animate], .is-animate-ready body:not(.sfPageEditor) [data-animate='fadeSlideUpStagger'] > * { opacity: 0; } .is-animate-ready body:not(.sfPageEditor) [data-animate='fadeSlideUpStagger'] { opacity: 1; }</style><style type="text/css" media="all">@media (min-width: 52.5em) { .c-menu-main__dropdown.c-menu-main__dropdown__products .l-region .l-container-inner { grid-auto-flow: column; grid-template-columns: auto; } .c-menu-main__dropdown.c-menu-main__dropdown__products .c-menu-main__subnav__item { text-wrap: balance; } } #onetrust-consent-sdk { margin: 0 !important; } .c-menu-secondary>ul { display: flex; flex-wrap: wrap; } .c-menu-secondary>ul>li:last-child { flex-basis: 100%; } @media (min-width: 840px) { .c-menu-secondary>ul { gap: 2.5rem calc(var(--gutter) * 2); } }</style><script type="text/javascript"> function openLink(culture) { var url = $('[data-sf-role="' + culture + '"]').val(); window.location = url; } // Set page language if meta tag present const pageLanguage = document.querySelector('[name=language]'); if (pageLanguage != null) { document.documentElement.setAttribute('lang', pageLanguage.content); document.querySelector('.l-region-header').setAttribute('lang', 'en'); document.querySelector('.l-region-footer').setAttribute('lang', 'en'); } /** * Disable autoplaying of videos for users who prefer redeuced and/or no * animation. If enabled, only autoplay videos once they are within view. * * Consider moving this to main JS file. */ document.addEventListener('DOMContentLoaded', () => { const autoplayingVideos = document.querySelectorAll('video[muted][preload]'); const playVideoOnUserInteraction = () => { const prefersReducedMotion = window.matchMedia( '(prefers-reduced-motion: reduce)' ); if (!prefersReducedMotion.matches) { const options = { root: null, rootMargin: '0px 0px -33% 0px', }; const callback = (entries, observer) => { entries.forEach((entry, i) => { entry.isIntersecting ? entry.target.play() : entry.target.pause(); }); }; const observer = new IntersectionObserver(callback, options); [...autoplayingVideos].forEach((el) => { observer.observe(el); }); } // Remove event listeners after the video starts playing window.removeEventListener('click', playVideoOnUserInteraction); window.removeEventListener('keydown', playVideoOnUserInteraction); window.removeEventListener('touchstart', playVideoOnUserInteraction); window.removeEventListener('mousemove', playVideoOnUserInteraction); }; // Add event listeners for user interaction window.addEventListener('click', playVideoOnUserInteraction); window.addEventListener('keydown', playVideoOnUserInteraction); window.addEventListener('touchstart', playVideoOnUserInteraction); window.addEventListener('mousemove', playVideoOnUserInteraction); }); </script><meta name="Generator" content="Sitefinity 15.0.8227.0 DX" /><link rel="canonical" href="https://www.magna.com/zh" /><meta name="description" content="麦格纳Magna是全球多元化的汽车零部件供应商,凭借汽车行业全栈系统能力为汽车制造厂商提供包括设计、开发、制造汽车系统、总成、模块与组件,设计和组装整车解决方案和服务。麦格纳致力于探索如何通过出行科技的进步,为大家创造更加美好的世界。" /><meta name="keywords" content="mobility, technology, automotive, innovation" /></head> <body class="nhp"> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K67JRD2" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <script src="/Mvc/Scripts/RotatingBanner/front.js" type="text/javascript"></script> <header class="l-region-header"> <div class="l-container"> <nav class="c-menu-main" aria-label="Primary menu" > <div class="c-menu-main__home"> <a href="/zh"> <!--Todo Translation--> <img alt="logo of Magna International" width="132" src="/ResourcePackages/HighroadFramework/dist/images/logo_Magna-white.svg"> </a> </div> <div class="c-menu-main__toggle"> <button class="c-menu-main__toggle__hamburger hamburger hamburger--slider" type="button" aria-label="Menu" aria-controls="navigation" id="navigation_toggle"> <span class="hamburger-box"> <span class="hamburger-inner"></span> </span> </button> </div> <div class="c-menu-main__nav" id="navigation"> <ul class="c-menu-main__list"> <li class="c-menu-main__list__item" aria-controls="subnav_02"> <button class="c-menu-main__list__item__toggle" type="button" aria-label="Toggle 科技创新 menu" aria-controls="subnav_02"> <span class="o-a11y__visuallyhidden">Toggle 科技创新 menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__list__item__link" href="/zh/科技创新">科技创新</a> <div class="c-menu-main__dropdown"> <div class="c-menu-main__dropdown__column" style="background-image: url('/images/default-source/mega-menu-feature-banners/innovation_menu.png?Status=Temp&sfvrsn=8f8907f9_2'); background-position: right top;"></div> <div class="c-menu-main__dropdown__column"> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__heading">科技创新</span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" id="subnav_02"> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/科技创新/专注环保的创新科技" target="_self">专注环保的创新科技</a> </li> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/科技创新/赋能品牌创造独特体验" target="_self">赋能品牌 创造独特体验</a> </li> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/科技创新/全新出行生态" target="_self">全新出行生态</a> </li> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/科技创新/全方位的驾驶辅助系统" target="_self">全方位的驾驶辅助系统</a> </li> </ul> </div> </div> </div> </div> </li> <li class="c-menu-main__list__item" aria-controls="subnav_021"> <button class="c-menu-main__list__item__toggle" type="button" aria-label="Toggle 产品技术 menu" aria-controls="subnav_021"> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__list__item__link" href="/zh/产品技术">产品技术</a> <div class="c-menu-main__dropdown c-menu-main__dropdown__products" id="subnav_021"> <div class="l-region"> <div class="l-container"> <p class="c-menu-main__heading">产品技术</p> <div class="l-container-inner"> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__subheading u-block"> <button class="c-menu-main__subnav__toggle-products" type="button" aria-label="Toggle Products menu" aria-controls='subnav_child_02_0'> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z"></path></svg> </button> <span class="spacing-top-0">整车解决方案</span> </span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" style="display:block" id='subnav_child_02_0'> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/整车/整车工程" target="_self">整车工程</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/整车/整车制造" target="_self">整车制造</a> </li> </ul> </div> </div> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__subheading u-block"> <button class="c-menu-main__subnav__toggle-products" type="button" aria-label="Toggle Products menu" aria-controls='subnav_child_02_1'> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z"></path></svg> </button> <span class="spacing-top-0">车身与底盘</span> </span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" style="display:block" id='subnav_child_02_1'> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/车身与底盘/电池壳体" target="_self">电池壳体</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/车身与底盘/白车身结构" target="_self">白车身结构</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/车身与底盘/底盘系统" target="_self">底盘系统</a> </li> </ul> </div> </div> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__subheading u-block"> <button class="c-menu-main__subnav__toggle-products" type="button" aria-label="Toggle Products menu" aria-controls='subnav_child_02_2'> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z"></path></svg> </button> <span class="spacing-top-0">电子/电器 </span> </span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" style="display:block" id='subnav_child_02_2'> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/电子-电器/adas与自动驾驶" target="_self">ADAS与自动驾驶</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/电子-电器/控制模块" target="_self">控制模块</a> </li> </ul> </div> </div> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__subheading u-block"> <button class="c-menu-main__subnav__toggle-products" type="button" aria-label="Toggle Products menu" aria-controls='subnav_child_02_3'> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z"></path></svg> </button> <span class="spacing-top-0">外饰/内饰</span> </span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" style="display:block" id='subnav_child_02_3'> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/主动式空气动力系统" target="_self">主动式空气动力系统</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/外饰系统与模块" target="_self">外饰系统和模块</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/照明" target="_self">照明</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/机电智能" target="_self">机电智能</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/车镜及车顶控制台" target="_self">车镜及车顶控制台</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/座椅" target="_self">座椅</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/外饰-内饰/饰件和车辆保温技术" target="_self">饰件和车辆保温技术</a> </li> </ul> </div> </div> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__subheading u-block"> <button class="c-menu-main__subnav__toggle-products" type="button" aria-label="Toggle Products menu" aria-controls='subnav_child_02_4'> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z"></path></svg> </button> <span class="spacing-top-0">动力总成</span> </span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" style="display:block" id='subnav_child_02_4'> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/动力总成/纯电动动力传动产品" target="_self">纯电动动力传动产品</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/动力总成/混合动力传动产品" target="_self">混合动力传动产品</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/动力总成/内燃机动力传动产品" target="_self">内燃机动力传动产品</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/动力总成/动力系统模块和组件" target="_self">动力系统模块和组件</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/产品技术/动力总成/能源储存系统" target="_self">能源储存系统</a> </li> </ul> </div> </div> </div> </div> </div> </div> </li> <li class="c-menu-main__list__item" aria-controls="subnav_01"> <button class="c-menu-main__list__item__toggle" type="button" aria-label="Toggle 麦格纳的故事 menu" aria-controls="subnav_01"> <span class="o-a11y__visuallyhidden">Toggle</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z"></path></svg> </button> <a class="c-menu-main__list__item__link" href="/zh/麦格纳的故事">麦格纳的故事</a> <div class="c-menu-main__dropdown"> <div class="c-menu-main__dropdown__column" style="background-image: url('https://www.magna.com/images/default-source/mega-menu-feature-banners/stories_mega_menu_image.webp');"></div> <div class="c-menu-main__dropdown__column"> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__heading">麦格纳的故事</span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" id="subnav_01"> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?type=news-press-releases">Releases</a> </li> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?topic=magna-people">Magna People</a> </li> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?topic=product-technology">Product & Technology</a> </li> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?topic=growth">Growth</a> </li> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?topic=esg">ESG</a> </li> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?topic=financials">Financials</a> </li> <li class="c-menu-main__subnav__item"> <a class="c-menu-main__subnav__link" target="_self" href="/zh/麦格纳的故事/?topic=inside-automotive">Inside Automotive</a> </li> </ul> </div> </div> </div> </div> </li> <li class="c-menu-main__list__item" aria-controls="subnav_03"> <button class="c-menu-main__list__item__toggle" type="button" aria-label="Toggle 公司概况 menu" aria-controls="subnav_03"> <span class="o-a11y__visuallyhidden">Toggle 公司概况 menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__list__item__link" href="/zh/公司">公司概况</a> <div class="c-menu-main__dropdown"> <div class="c-menu-main__dropdown__column" style="background-image: url('https://www.magna.com/images/default-source/brand/stock-photography/1920x960-menu-photos-02.jpg?Status=Temp&sfvrsn=b9bedceb_4');"></div> <div class="c-menu-main__dropdown__column"> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__heading">公司概况</span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" id="subnav_03"> <li class="c-menu-main__subnav__item " aria-controls="subnav_child_03_1"> <button class="c-menu-main__subnav__toggle" type="button" aria-label="Toggle 公司概况 menu" aria-controls="subnav_child_03_1"> <span class="o-a11y__visuallyhidden">Toggle 公司概况 menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况" target="_self">公司概况</a> <ul class="c-menu-main__subnav__list c-menu-main__subnav__list--child" id="subnav_child_03_1"> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况/麦格纳集团" target="_self">麦格纳事业部</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况/事实与历史" target="_self">事实与历史</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况/客户" target="_self">客户</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况/大事记" target="_self">行业活动</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况/管理及监管-(en)" target="_self">管理及监管 (EN)</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/公司概况/全球分布" target="_self">全球分布</a> </li> </ul> </li> <li class="c-menu-main__subnav__item " aria-controls="subnav_child_03_2"> <button class="c-menu-main__subnav__toggle" type="button" aria-label="Toggle 投资者 (EN) menu" aria-controls="subnav_child_03_2"> <span class="o-a11y__visuallyhidden">Toggle 投资者 (EN) menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__subnav__link" href="/zh/公司/投资者-(en)" target="_self">投资者 (EN)</a> <ul class="c-menu-main__subnav__list c-menu-main__subnav__list--child" id="subnav_child_03_2"> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/投资者-(en)/财务报告和公开披露文件-(en)" target="_self">财务报告和公开披露文件 (EN)</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/投资者-(en)/活动和演示日历-en" target="_self">/活动和演示日历 (en)</a> </li> </ul> </li> <li class="c-menu-main__subnav__item " aria-controls="subnav_child_03_3"> <button class="c-menu-main__subnav__toggle" type="button" aria-label="Toggle 新闻中心 menu" aria-controls="subnav_child_03_3"> <span class="o-a11y__visuallyhidden">Toggle 新闻中心 menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__subnav__link" href="/zh/公司/新闻中心" target="_self">新闻中心</a> <ul class="c-menu-main__subnav__list c-menu-main__subnav__list--child" id="subnav_child_03_3"> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/新闻中心/资讯和新闻发布" target="_self">资讯和新闻发布</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/新闻中心/news-press-releases" target="_self">新闻和新闻稿存档</a> </li> </ul> </li> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/公司/麦格纳技术投资" target="_self">麦格纳技术投资</a> </li> <li class="c-menu-main__subnav__item " aria-controls="subnav_child_03_5"> <button class="c-menu-main__subnav__toggle" type="button" aria-label="Toggle ESG menu" aria-controls="subnav_child_03_5"> <span class="o-a11y__visuallyhidden">Toggle ESG menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__subnav__link" href="/zh/公司/esg" target="_self">ESG</a> <ul class="c-menu-main__subnav__list c-menu-main__subnav__list--child" id="subnav_child_03_5"> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/esg/可持续发展" target="_self">可持续发展</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/esg/多元化与包容性" target="_self">多元化与包容性</a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/公司/esg/管理及监管-(en)" target="_self">管理及监管 (EN)</a> </li> </ul> </li> </ul> </div> </div> </div> </div> </li> <li class="c-menu-main__list__item" aria-controls="subnav_04"> <button class="c-menu-main__list__item__toggle" type="button" aria-label="Toggle 职业发展 menu" aria-controls="subnav_04"> <span class="o-a11y__visuallyhidden">Toggle 职业发展 menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__list__item__link" href="/zh/职业发展">职业发展</a> <div class="c-menu-main__dropdown"> <div class="c-menu-main__dropdown__column" style="background-image: url('/images/default-source/brand/stock-photography/0ed4ae76-c685-4e2f-b4db-9e6b861b40ca_8722d9e8-182f-4477-ac75-955ccefae8b6_2022-navdropdown-1920x660-v2-1.jpg?sfvrsn=f74e4f10_3');"></div> <div class="c-menu-main__dropdown__column"> <div class="c-menu-main__dropdown__column__item"> <span class="c-menu-main__heading">职业发展</span> <div class="c-menu-main__subnav"> <ul class="c-menu-main__subnav__list" id="subnav_04"> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/职业发展/空缺职位" target="_blank">空缺职位&#160;</a> </li> <li class="c-menu-main__subnav__item " aria-controls="subnav_child_04_2"> <button class="c-menu-main__subnav__toggle" type="button" aria-label="Toggle 招聘活动 menu" aria-controls="subnav_child_04_2"> <span class="o-a11y__visuallyhidden">Toggle 招聘活动 menu</span> <svg width="7" height="10"><path d="M.6 10l-.59-.78 5.41-4.05L0 .76.62 0 7 5.2.6 10z" /></svg> </button> <a class="c-menu-main__subnav__link" href="/zh/职业发展/招聘活动" target="_self">招聘活动</a> <ul class="c-menu-main__subnav__list c-menu-main__subnav__list--child" id="subnav_child_04_2"> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/职业发展/招聘活动/美洲" target="_self">美洲 </a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/职业发展/招聘活动/欧洲" target="_self">欧洲 </a> </li> <li class="c-menu-main__subnav__item "> <a class="c-menu-main__subnav__link" href="/zh/职业发展/招聘活动/亚太" target="_self">亚太 </a> </li> </ul> </li> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/职业发展/校园招聘" target="_self">校园招聘</a> </li> <li class="c-menu-main__subnav__item" > <a class="c-menu-main__subnav__link" href="/zh/职业发展/警惕欺诈性招聘信息" target="_self">警惕欺诈性招聘信息</a> </li> </ul> </div> </div> </div> </div> </li> <li class="c-menu-main__list__item c-menu-main__list__item--utility"> <a class="c-menu-main__list__item__link" href="/zh/联系方式" target="_self">联系我们</a> </li> <li class="c-menu-main__list__item c-menu-main__list__item--dropdown"> <button class="c-menu-main__list__item__link" type="button" aria-controls="dropdown_search"> <span class="o-a11y__visuallyhidden">搜索 Toggle</span> <svg class="u-block spacing-top-0" xmlns="http://www.w3.org/2000/svg" width="18.56" height="16.21" viewBox="0 0 18.56 16.21"> <path d="M6.49,13A6.49,6.49,0,1,1,13,6.49,6.5,6.5,0,0,1,6.49,13Zm0-12A5.49,5.49,0,1,0,12,6.49,5.49,5.49,0,0,0,6.49,1Z" /> <rect x="14.14" y="7.96" width="1" height="9.51" transform="translate(-4.56 15.45) rotate(-49.08)" /> </svg> </button> <div class="c-menu-search" id="dropdown_search"> <form action="/zh/首页/search" method="POST" name="GoogleSearchController"> <div class="o-input__inline"> <label class="o-a11y__visuallyhidden" for="s">Enter search terms</label> <input class="o-input__text" id="s" name="s" type="search" placeholder="输入搜索内容" value="" autocomplete="off"> <button class="o-button" type="submit">搜索</button> </div> </form> </div> </li> <li class="c-menu-main__list__item c-menu-main__list__item--dropdown"> <button class="c-menu-main__list__item__link" type="button" aria-label="Language Menu" aria-controls="dropdown_language"> <span class="o-a11y__visuallyhidden">Language Menu</span> <svg class="u-block spacing-top-0" xmlns="http://www.w3.org/2000/svg" width="19" height="19.08" viewBox="0 0 19 19.08"> <path d="M9.5,19.1A9.5,9.5,0,1,1,19,9.6,9.51,9.51,0,0,1,9.5,19.1Zm0-18A8.5,8.5,0,1,0,18,9.6,8.51,8.51,0,0,0,9.5,1.1Z" transform="translate(0 -0.02)" /> <rect x="9.07" y="0.47" width="1" height="18.15" /> <rect x="0.5" y="9.04" width="18.14" height="1" /> <rect x="1.7" y="4.44" width="15.88" height="1" /> <rect x="1.7" y="13.64" width="15.88" height="1" /> <path d="M9.28,19A11.56,11.56,0,0,1,4.54,9.49,11.54,11.54,0,0,1,9.28,0l.59.8A10.57,10.57,0,0,0,5.54,9.49a10.55,10.55,0,0,0,4.33,8.67Z" transform="translate(0 -0.02)" /> <path d="M9.87,19l-.59-.81A10.6,10.6,0,0,0,13.61,9.5,10.63,10.63,0,0,0,9.28.82L9.87,0A11.59,11.59,0,0,1,14.61,9.5,11.58,11.58,0,0,1,9.87,19Z" transform="translate(0 -0.02)" /> </svg> </button> <div class="c-menu-language" id="dropdown_language"> <button class="c-menu-language__link o-heading-body2 " lang="en" type="button" onclick="openLink('en'); return false;">English</button> <button class="c-menu-language__link o-heading-body2 " lang="de" type="button" onclick="openLink('de'); return false;">Deutsch</button> <button class="c-menu-language__link o-heading-body2 " lang="es" type="button" onclick="openLink('es'); return false;">espa&#241;ol</button> <button class="c-menu-language__link o-heading-body2 is-selected" lang="zh" type="button" onclick="openLink('zh'); return false;">中文</button> <button class="c-menu-language__link o-heading-body2 " lang="ja" type="button" onclick="openLink('ja'); return false;">日本語</button> </div> </li> </ul> </div> </nav> </div> </header> <main id="main" style="margin: 0;"> <section class="l-region l-region--dark rotator" data-scroll-speed="8" data-auto-play="True"> <div class="l-container" style="width:100%;"> <span class="o-keyline" aria-hidden="true"></span> </div> <div class="rotator-container spacing-top-80 xs:spacing-top-60"> <div class="rotator-item js-hidden" id="magna-to-participate-in-the-ubs-global-industrials---transportation-conference-(fireside-chat-audio-only)"> <img alt="" class="rotator-item-media" data-sd-image="https://cdn.mediavalet.com/usil/mediamanager/Eg5XVPU4D0KuaSnbMPVVnw/hl-g8Up9IUG39SqxROZJKA/Small/2023-Main-1920x960-Investor-V1.2.jpeg" data-hq-image="https://cdn.mediavalet.com/usil/mediamanager/Eg5XVPU4D0KuaSnbMPVVnw/0lSugrfdkkusEKK-X4lYRg/Large/2023-Main-1920x960-Investor-V1.2.jpeg" aria-hidden="true" /> <strong class="rotator-item-category o-heading-h3">Conference</strong> <h1 class='rotator-item-title o-heading-h1 spacing-top-40'> Magna To Participate In The UBS Global Industrials & Transportation Conference (Fireside Chat Audio Only) </h1> <div class="rotator-item-summary o-heading-lead"> </div> <a class="rotator-item-cta o-buttonlink o-buttonlink--icon o-buttonlink--ghost spacing-top-50 xs:spacing-top-30" href="https://cc.webcasts.com/ubsx001/120324a_js/?entity=27_PPQ4CN2" aria-label="Click here"> Click here </a> </div> <div class="rotator-item js-hidden" id="magna-announces-third-quarter-2024-results"> <img alt="" class="rotator-item-media" data-sd-image="https://cdn.mediavalet.com/usil/mediamanager/Eg5XVPU4D0KuaSnbMPVVnw/hl-g8Up9IUG39SqxROZJKA/Small/2023-Main-1920x960-Investor-V1.2.jpeg" data-hq-image="https://cdn.mediavalet.com/usil/mediamanager/Eg5XVPU4D0KuaSnbMPVVnw/0lSugrfdkkusEKK-X4lYRg/Large/2023-Main-1920x960-Investor-V1.2.jpeg" aria-hidden="true" /> <strong class="rotator-item-category o-heading-h3">Earnings Call</strong> <h2 class='rotator-item-title o-heading-h1 spacing-top-40'> Magna Announces Third Quarter 2024 Results </h2> <div class="rotator-item-summary o-heading-lead"> </div> <a class="rotator-item-cta o-buttonlink o-buttonlink--icon o-buttonlink--ghost spacing-top-50 xs:spacing-top-30" href="https://events.q4inc.com/attendee/431432937" aria-label="Click here"> Click here </a> </div> <div class="rotator-item js-hidden" id="magna-debuts-scalable--eco-friendly-ice-to-hybrid-transmission-for-european-oem"> <img alt="" class="rotator-item-media" data-sd-image="https://cdn.mediavalet.com/usil/mediamanager/ZVdc4bQFQkuohQbXeKUwrQ/zEvAqq8ElkKLOXO9ybuU0A/Medium/Magna_DCT-Eco.png" data-hq-image="https://cdn.mediavalet.com/usil/mediamanager/ZVdc4bQFQkuohQbXeKUwrQ/fd4nbK9P1kWmQKMRkYjS7A/Large/Magna_DCT-Eco.png" aria-hidden="true" /> <strong class="rotator-item-category o-heading-h3">News Release</strong> <h2 class='rotator-item-title o-heading-h1 spacing-top-40'> Magna Debuts Scalable, Eco-Friendly ICE to Hybrid Transmission for European OEM </h2> <div class="rotator-item-summary o-heading-lead"> <p>New modular Dual Clutch Transmission enables seamless<br />hybrid transition on the same vehicle platform with minor<br />changes.</p> </div> <a class="rotator-item-cta o-buttonlink o-buttonlink--icon o-buttonlink--ghost spacing-top-50 xs:spacing-top-30" href="https://www.magna.com/stories/news-press-release/2024/magna-debuts-scalable--eco-friendly-ice-to-hybrid-transmission-for-european-oem" aria-label="Read news release"> Read news release </a> </div> <div class="rotator-item js-hidden" id="the-power-of-magna"> <video data-sd-video="https://cdn.mediavalet.com/usil/mediamanager/-O-Q5sTNlEeWGpH2Mp8FtQ/opFZyldAaEyirpaw4VfiFA/Widescreen360p/Magna_Innovation_Website_Header_Homesite_020622_optimized.mp4" data-hq-video="https://cdn.mediavalet.com/usil/mediamanager/-O-Q5sTNlEeWGpH2Mp8FtQ/GL3TdqqsWkyPNbzIr6KRzg/Widescreen720p/Magna_Innovation_Website_Header_Homesite_020622_optimized.mp4" data-sd-poster="https://cdn.mediavalet.com/usil/mediamanager/DE5wx2g_1kiAO9qXoO3blw/oGfryUS8S06i8Y2hXtC-TQ/Original/Magna_Innovation_Website_Header_Homesite_020622_optimized.jpg" data-hq-poster="https://cdn.mediavalet.com/usil/mediamanager/DE5wx2g_1kiAO9qXoO3blw/oGfryUS8S06i8Y2hXtC-TQ/Original/Magna_Innovation_Website_Header_Homesite_020622_optimized.jpg" preload="metadata" loop muted playsinline class="rotator-item-media" aria-hidden="true"></video> <strong class="rotator-item-category o-heading-h3">科技创新</strong> <h2 class='rotator-item-title o-heading-h1 spacing-top-40'> 麦格纳实力 </h2> <div class="rotator-item-summary o-heading-lead"> 凭借全系统解决方案、深厚的产品知识以及整车专长,麦格纳能够纵览全局并不断创新,推动未来出行的发展。 </div> <a class="rotator-item-cta o-buttonlink o-buttonlink--icon o-buttonlink--ghost spacing-top-50 xs:spacing-top-30" href="https://www.magna.com/zh/%E7%A7%91%E6%8A%80%E5%88%9B%E6%96%B0" aria-label="了解麦格纳实力"> 了解麦格纳实力 </a> </div> </div> <nav class="rotator-nav" aria-label="Rotating banner navigation"> <a class="o-heading-lead" href="#magna-to-participate-in-the-ubs-global-industrials---transportation-conference-(fireside-chat-audio-only)"> <span class="visually-hidden">Goto: Magna To Participate In The UBS Global Industrials & Transportation Conference (Fireside Chat Audio Only)</span> </a> <a class="o-heading-lead" href="#magna-announces-third-quarter-2024-results"> <span class="visually-hidden">Goto: Magna Announces Third Quarter 2024 Results</span> </a> <a class="o-heading-lead" href="#magna-debuts-scalable--eco-friendly-ice-to-hybrid-transmission-for-european-oem"> <span class="visually-hidden">Goto: Magna Debuts Scalable, Eco-Friendly ICE to Hybrid Transmission for European OEM</span> </a> <a class="o-heading-lead" href="#the-power-of-magna"> <span class="visually-hidden">Goto: 麦格纳实力</span> </a> </nav> </section> <script type="text/javascript" >window.autoscroll = true;window.scrollspeed =8;</script> <div class="l-region l-region--dark l-region-custom-apply-now" data-sf-element="Row"> <div id="Banner_C043_Col00" class="sf_colsIn l-container" data-sf-element="Container" data-placeholder-label="Container"><div class="l-container l-grid-layout" data-sf-element="Grid Layout"> <div class="l-row l-row--center l-grid-layout__one-column" data-sf-element="Grid Type"> <div id="Banner_C044_Col00" class="sf_colsIn l-column l-column--full" data-sf-element="Column 1" data-placeholder-label="Grid Column 1"> <div class="o-heading-h3" > <div >加入我们,大有可为。</div> </div> <div class="o-buttonlink-wrapper o-buttonlink-wrapper--accent o-buttonlink-wrapper--icon" > <div ><a href="https://jobs.magna.com/?locale=zh_CN">即刻申请</a></div> </div> <button aria-label="Close snackbar" type="button" onclick="closeSnackbar()"> <svg class="u-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.414 14.414"> <g fill="none" stroke="#707070" stroke-width="2"> <path d="m.707.707 13 13" /> <path d="m.707 13.707 13-13" /> </g> </svg> </button> <script> const closeSnackbar = () => { document .querySelector('.l-region-custom-apply-now') ?.classList.add('js-disabled'); }; </script> </div> </div> </div> </div> </div> <div class="l-region l-region--default is-animate-ready" data-sf-element="Row"> <div id="Banner_C053_Col00" class="sf_colsIn l-container" data-sf-element="Container" data-placeholder-label="Container"><div class="l-container l-grid-layout" data-sf-element="Grid Layout"> <div class="l-grid-layout__one-column is-animate-stagger" data-sf-element="Grid Type"> <div id="Banner_C054_Col00" class="sf_colsIn" data-sf-element="Column 1" data-placeholder-label="Grid Column 1"> <div class="spacing-bottom-20 xs:spacing-bottom-10" > <div ><span class="o-keyline"></span></div> </div> <div class="c-gallery is-animate-stagger spacing-top-60 xs:spacing-top-30" data-animate="fadeSlideUpStagger"> <a href="/zh/%E5%85%AC%E5%8F%B8/%E8%81%8C%E4%B8%9A%E5%8F%91%E5%B1%95" target="" class="c-gallery__item c-gallery__item--span-2" onclick=""> <img srcset="https://www.magna.com/images/default-source/video-banner-assets/careers-homebanner-01.jpg?sfvrsn=31432deb_4 853w, https://www.magna.com/images/default-source/video-banner-assets/careers-homebanner-01.jpg?sfvrsn=31432deb_4 1200w" sizes="(max-width: 599px) 100vw, 50vw" src="https://www.magna.com/images/default-source/video-banner-assets/careers-homebanner-01.jpg?sfvrsn=31432deb_4" alt="" aria-hidden="true" loading="lazy"> <h3 class="c-gallery__item__title">职业发展</h3> <span class="spacing-top-auto o-buttonlink o-buttonlink--alternate">查看详情</span> </a> <a href="https://www.magna.com/company/company-information/leadership-and-governance/corporate-governance-documents" target="" class="c-gallery__item c-gallery__item--span-1" onclick=""> <picture> <source media="(max-width: 599px)" srcset="https://www.magna.com/images/default-source/investors/2023-annual-report/435x235-banner-03.jpg?sfvrsn=c8fe185a_3 853w, https://www.magna.com/images/default-source/investors/2023-annual-report/435x235-banner-03.jpg?sfvrsn=c8fe185a_3 1200w" /> <source media="(min-width: 600px)" srcset="https://www.magna.com/images/default-source/investors/2023-annual-report/435x235-banner-03.jpg?sfvrsn=c8fe185a_3" /> <img class="spacing-top-0" src="https://www.magna.com/images/default-source/investors/2023-annual-report/435x235-banner-03.jpg?sfvrsn=c8fe185a_3" alt="" loading="lazy" aria-hidden="true"> </picture> <h3 class="c-gallery__item__title">2024 Annual Meeting Materials</h3> <span class="spacing-top-auto o-buttonlink o-buttonlink--alternate">Read more</span> </a> <a href="https://www.magna.com/zh/%E7%A7%91%E6%8A%80%E5%88%9B%E6%96%B0" target="" class="c-gallery__item c-gallery__item--span-1" onclick=""> <picture> <source media="(max-width: 599px)" srcset="https://www.magna.com/images/default-source/video-banner-assets/innovation-435x300-v1-0.webp?sfvrsn=7dc38bf_3 853w, https://www.magna.com/images/default-source/video-banner-assets/innovation-435x300-v1-0.webp?sfvrsn=7dc38bf_3 1200w" /> <source media="(min-width: 600px)" srcset="https://www.magna.com/images/default-source/video-banner-assets/innovation-435x300-v1-0.webp?sfvrsn=7dc38bf_3" /> <img class="spacing-top-0" src="https://www.magna.com/images/default-source/video-banner-assets/innovation-435x300-v1-0.webp?sfvrsn=7dc38bf_3" alt="" loading="lazy" aria-hidden="true"> </picture> <h3 class="c-gallery__item__title">科技创新</h3> <span class="spacing-top-auto o-buttonlink o-buttonlink--alternate">查看详情</span> </a> <a href="https://www.magna.com/zh/%E5%85%AC%E5%8F%B8/%E4%BE%9B%E5%BA%94%E5%95%86" target="" class="c-gallery__item c-gallery__item--span-1" onclick=""> <picture> <source media="(max-width: 599px)" srcset="https://www.magna.com/images/default-source/stories/supplier_homepage_tile.jpg?sfvrsn=d971e0ba_3 853w, https://www.magna.com/images/default-source/stories/supplier_homepage_tile.jpg?sfvrsn=d971e0ba_3 1200w" /> <source media="(min-width: 600px)" srcset="https://www.magna.com/images/default-source/stories/supplier_homepage_tile.jpg?sfvrsn=d971e0ba_3" /> <img class="spacing-top-0" src="https://www.magna.com/images/default-source/stories/supplier_homepage_tile.jpg?sfvrsn=d971e0ba_3" alt="" loading="lazy" aria-hidden="true"> </picture> <h3 class="c-gallery__item__title">供应商</h3> <span class="spacing-top-auto o-buttonlink o-buttonlink--alternate">查看详情</span> </a> <a href="https://www.magna.com/zh/%E5%85%AC%E5%8F%B8/%E6%8A%95%E8%B5%84%E8%80%85-(en)" target="" class="c-gallery__item c-gallery__item--span-1" onclick=""> <picture> <source media="(max-width: 599px)" srcset="https://www.magna.com/images/default-source/video-banner-assets/890x300-banner-investor-01.webp?sfvrsn=3c5c2ace_5 853w, https://www.magna.com/images/default-source/video-banner-assets/890x300-banner-investor-01.webp?sfvrsn=3c5c2ace_5 1200w" /> <source media="(min-width: 600px)" srcset="https://www.magna.com/images/default-source/video-banner-assets/890x300-banner-investor-01.webp?sfvrsn=3c5c2ace_5" /> <img class="spacing-top-0" src="https://www.magna.com/images/default-source/video-banner-assets/890x300-banner-investor-01.webp?sfvrsn=3c5c2ace_5" alt="" loading="lazy" aria-hidden="true"> </picture> <h3 class="c-gallery__item__title">投资者</h3> <span class="spacing-top-auto o-buttonlink o-buttonlink--alternate">查看详情</span> </a> <a href="/zh/%E5%85%AC%E5%8F%B8/esg/%E5%8F%AF%E6%8C%81%E7%BB%AD%E5%8F%91%E5%B1%95" target="" class="c-gallery__item c-gallery__item--span-2" onclick=""> <img srcset="https://www.magna.com/images/default-source/default-album/sustainability-tile.webp?sfvrsn=518b3eb8_1 853w, https://www.magna.com/images/default-source/default-album/sustainability-tile.webp?sfvrsn=518b3eb8_1 1200w" sizes="(max-width: 599px) 100vw, 50vw" src="https://www.magna.com/images/default-source/default-album/sustainability-tile.webp?sfvrsn=518b3eb8_1" alt="" aria-hidden="true" loading="lazy"> <h3 class="c-gallery__item__title">致力于创造不凡</h3> <span class="c-gallery__item__title u-block spacing-top-10">可持续发展</span> <span class="spacing-top-auto o-buttonlink o-buttonlink--alternate">查看详情</span> </a> </div> </div> </div> </div> </div> </div> <div class="l-region l-region--dark l-region--media is-animate-ready" data-sf-element="Row"> <div id="Banner_C055_Col00" class="sf_colsIn l-container" data-sf-element="Container" data-placeholder-label="Container (Black)"> <video preload="metadata" playsinline muted loop aria-hidden="true"><source src="https://cdn.mediavalet.com/usil/mediamanager/4eNpRND0xUm9Q-ZO5hy9Jg/GVdP3ubkBUy-EBOfgtFbJw/Widescreen1080p/Magna_Steyr_Production_JLR_Sequence_approved.mp4" type="video/mp4"></video><div class="l-container l-grid-layout" data-sf-element="Grid Layout"> <div class="l-grid-layout__one-column is-animate-stagger" data-sf-element="Grid Type"> <div id="Banner_C056_Col00" class="sf_colsIn" data-sf-element="Column 1" data-placeholder-label="Grid Column 1"> <div > <div ><span class="o-keyline" aria-hidden="true"></span></div> </div> <div class="colspan-4 spacing-top-20 xs:spacing-top-10" > <div ><h2 class="o-heading-h1">认识麦格纳的员工</h2></div> </div> <div class="o-heading-lead colspan-4 spacing-top-30" > <div ><p>我们有最出色的人才,致力于完成行业内最好的工作。</p></div> </div> <div class="o-buttonlink-wrapper o-buttonlink-wrapper--icon o-buttonlink-wrapper--ghost spacing-top-60 xs:spacing-top-40" > <div ><p><a href="/zh/麦格纳的故事?topic=magna-people">认识他们</a></p></div> </div> </div> </div> </div> </div> </div> <div class="l-region l-region--default is-animate-ready" data-sf-element="Row"> <div id="Banner_C008_Col00" class="sf_colsIn l-container" data-sf-element="Container" data-placeholder-label="Container"><div class="l-container l-grid-layout" data-sf-element="Grid Layout"> <div class="l-row l-row--center l-grid-layout__three-column is-animate-stagger" data-sf-element="Grid Type"> <div id="Banner_C020_Col00" class="sf_colsIn l-column l-column--4of12 l-column-medium--6of12 l-column--4of8 l-flexcolumn" data-sf-element="Grid Column 1" data-placeholder-label="Column 1"> <div class="spacing-bottom-20 xs:spacing-bottom-10" > <div ><span class="o-keyline"></span></div> </div> <div class="spacing-top-0" > <div ><h3 class="o-heading-h3 spacing-top-0 spacing-bottom-30">投资者活动</h3></div> </div><div class="spacing-top-0 spacing-bottom-30" data-sf-element="Row"> <div id="Banner_C041_Col00" class="sf_colsIn" data-sf-element="Container" data-placeholder-label="Container"> <p>目前尚无活动安排。</p> </div> </div> <div class="o-buttonlink-wrapper o-buttonlink-wrapper--outline o-buttonlink-wrapper--icon spacing-top-auto" > <div ><a href="/zh/公司/投资者-(en)/活动和演示日历-en">所有活动</a></div> </div> </div> <div id="Banner_C020_Col01" class="sf_colsIn l-column l-column--4of12 l-column-medium--6of12 l-column--4of8 l-flexcolumn" data-sf-element="Grid Column 2" data-placeholder-label="Column 2"> <div class="spacing-bottom-20 xs:spacing-bottom-10" > <div ><span class="o-keyline"></span></div> </div> <div class="spacing-top-0" > <div ><h3 class="o-heading-h3 spacing-top-0 spacing-bottom-30">投资者活动</h3><p class="spacing-top-0 spacing-bottom-30">技术创新与世界级制造让麦格纳赢得了人们对其投资的信心,当然,麦格纳创造的价值不限于此。</p></div> </div> <div class="o-buttonlink-wrapper o-buttonlink-wrapper--outline o-buttonlink-wrapper--icon spacing-top-auto" > <div ><a href="/zh/公司/投资者-(en)">投资麦格纳</a></div> </div> </div> <div id="Banner_C020_Col02" class="sf_colsIn l-column l-column--4of12 l-column-medium--6of12 l-column--4of8 l-flexcolumn" data-sf-element="Grid Column 3" data-placeholder-label="Column 3"> <div class="spacing-bottom-20 xs:spacing-bottom-10" > <div ><span class="o-keyline"></span></div> </div> <div class="spacing-top-0" > <div ><h3 class="o-heading-h3 spacing-top-0 spacing-bottom-30">股价信息</h3></div> </div> <div class="quote-wrapper c-stockticker spacing-bottom-30"> <div class="flex-row NYSE ca-block spacing-top-0"> <div class="flex-element"> NYSE MGA&#160;: </div> <div class="flex-element" style="text-align: center;"> $44.04 </div> <div class="flex-element" style="text-align: center;"> 0% </div> <div class="flex-element ca-block"> <svg xmlns="http://www.w3.org/2000/svg" width="24.972" role="img" height="15.492" viewBox="0 0 24.972 15.492" class="quote-down" aria-label="down"> <path data-name="down" d="M1.4,14.1L12.9,2.8l10.6,11.2" fill="none" stroke="#218b4a" stroke-width="4"></path> </svg> </div> </div> <span class="o-keyline spacing-top-10 spacing-bottom-10" aria-hidden="true"></span> <div class="flex-row TSX ca-block spacing-top-0"> <div class="flex-element"> TSX MG&#160;: </div> <div class="flex-element" style="text-align: center;"> $61.98 </div> <div class="flex-element" style="text-align: center;"> 0% </div> <div class="flex-element ca-block"> <svg xmlns="http://www.w3.org/2000/svg" width="24.972" role="img" height="15.492" viewBox="0 0 24.972 15.492" class="quote-down" aria-label="down"> <path data-name="down" d="M1.4,14.1L12.9,2.8l10.6,11.2" fill="none" stroke="#218b4a" stroke-width="4"></path> </svg> </div> </div> </div> </div> </div> </div> </div> </div> <div class="l-region l-region--dark l-region--media is-animate-ready" data-sf-element="Row"> <div id="Banner_C063_Col00" class="sf_colsIn l-container" data-sf-element="Container" data-placeholder-label="Container (Black)"> <video preload="metadata" playsinline muted loop aria-hidden="true"><source src="https://cdn.mediavalet.com/usil/mediamanager/gDAD4JS-S0ayS0P_w77aBw/wcso5gCsC06t0HPoi3H9Tw/Original/GettyImages-1048118962-HD-web-optimized.mp4" type="video/mp4"></video><div class="l-container l-grid-layout" data-sf-element="Grid Layout"> <div class="l-grid-layout__one-column is-animate-stagger" data-sf-element="Grid Type"> <div id="Banner_C064_Col00" class="sf_colsIn" data-sf-element="Column 1" data-placeholder-label="Grid Column 1"> <div > <div ><span class="o-keyline" aria-hidden="true"></span></div> </div> <div class="colspan-4 spacing-top-20 xs:spacing-top-10" > <div ><h2 class="o-heading-h1">全球分布</h2></div> </div> <div class="o-heading-lead colspan-4 spacing-top-30" > <div ><p>我们的业务遍布五大洲和28个国家,为全球各大汽车制造商提供支持。</p></div> </div> <div class="o-buttonlink-wrapper o-buttonlink-wrapper--icon o-buttonlink-wrapper--ghost spacing-top-60 xs:spacing-top-40" > <div ><p><a href="/zh/公司/公司概况/全球分布">探索我们的业务分布</a></p></div> </div> </div> </div> </div> </div> </div> </main> <footer class="l-region-footer spacing-top-0"> <div class="l-container"> <div > <div ><nav class="c-menu-secondary o-heading-body2 spacing-top-60 xs:spacing-top-30" aria-label="Utility navigation"><ul class="o-list"><li><a href="/zh/隐私权">隐私权</a> <ul class="o-list"><li class="spacing-top-0"><a href="/zh/隐私条款-欧盟">隐私条款 &ndash; 欧盟</a> </li><li class="spacing-top-0"><a href="/zh/privacidade-brasil">隐私权-巴西(葡萄牙语)</a> </li></ul></li><li><a href="/zh/公司/员工">员工</a> </li><li><a href="/zh/公司/供应商">供应商</a> </li><li><a href="/zh/%E5%85%AC%E5%8F%B8/%E8%81%8C%E4%B8%9A%E5%8F%91%E5%B1%95" data-sf-ec-immutable="">职业发展</a> </li><li><a href="/zh/前瞻性声明">前瞻性声明</a> </li><li><a href="/zh/accessibility">可访问性</a> </li><li><a href="/zh/regulatory-matters">相关法规事宜</a> </li><li><span>联系麦格纳</span> <ul class="o-list c-menu-socialmedia"><li><a href="//www.weibo.com/magnachina"><img loading="lazy" alt="Sina Weibo" width="20" src="/ResourcePackages/HighroadFramework/dist/images/icon_weibo.svg" data-sf-ec-immutable="" /></a> </li><li><a href="/wechat"><img loading="lazy" alt="WeChat" width="20" src="/ResourcePackages/HighroadFramework/dist/images/icon_wechat.svg" data-sf-ec-immutable="" /></a> </li></ul></li></ul></nav><p class="o-heading-body2 spacing-top-60 xs:spacing-top-30">所有内容&copy; 2024,麦格纳国际公司版权所有。</p><p class="o-heading-body2 spacing-top-60 xs:spacing-top-30">所属公司: 麦格纳汽车技术(上海)有限公司&nbsp;&nbsp;<a href="https://beian.miit.gov.cn" target="_blank" title="" data-sf-ec-immutable="">沪ICP备19007614号-1</a>&nbsp;&nbsp;<a data-sf-ec-immutable="" href="https://beian.mps.gov.cn/#/query/webSearch" target="_blank">沪公网安备31011202013558号</a></p></div> </div> <script src="//rum-static.pingdom.net/pa-55dbe179abe53d6b598220ec.js" async type="text/plain" class="optanon-category-2"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/a11y-dialog@5.4.2/a11y-dialog.min.js" async></script> </div> </footer> <div class="progress-bar" aria-hidden="true"> <span class="progress-bar__thumb"></span> </div> <script defer src="/CoreJS" type="text/javascript"></script> <script defer src="/MagnaJS/Home" type="text/javascript"></script> <script src="/Frontend-Assembly/Telerik.Sitefinity.Frontend.Navigation/Mvc/Scripts/Navigation.min.js?package=HighroadFramework&amp;v=MTUuMC44MjI3LjA%3d" type="text/javascript"></script><input data-sf-role='en' type='hidden' value='https://www.magna.com/home'><input data-sf-role='de' type='hidden' value='https://www.magna.com/de/Startseite'><input data-sf-role='es' type='hidden' value='https://www.magna.com/es/p&#225;gina-principal'><input data-sf-role='zh' type='hidden' value='https://www.magna.com/zh/首页'><input data-sf-role='ja' type='hidden' value='https://www.magna.com/ja/ホーム'><script type="text/javascript"> // Scroll-timeline Polyfill // https://github.com/flackr/scroll-timeline !function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function t(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function l(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}!function(){var e,n=new WeakMap;function r(e){for(var t,n=[],i=0;i<e.length;i++)n[i]="number"==typeof(t=e[i])?new CSSUnitValue(t,"number"):t;return n}var a=function(){function e(e,t,i,a){n.set(this,{values:r(e),operator:t,name:i||t,delimiter:a||", "})}return e.prototype.toString=function(){var e=n.get(this);return e.name+"("+e.values.join(e.delimiter)+")"},t(e,[{key:"operator",get:function(){return n.get(this).operator}},{key:"values",get:function(){return n.get(this).values}}]),e}(),o=((e={CSSUnitValue:function(){function e(e,t){n.set(this,{value:e,unit:t})}return e.prototype.toString=function(){var e=n.get(this);return""+e.value+function(e){switch(e){case"percent":return"%";case"number":return"";default:return e.toLowerCase()}}(e.unit)},t(e,[{key:"value",get:function(){return n.get(this).value},set:function(e){n.get(this).value=e}},{key:"unit",get:function(){return n.get(this).unit}}]),e}(),CSSKeywordValue:function(){function e(e){this.value=e}return e.prototype.toString=function(){return this.value.toString()},e}(),CSSMathSum:function(e){function t(t){return e.call(this,arguments,"sum","calc"," + ")||this}return i(t,e),t}(a),CSSMathProduct:function(e){function t(t){return e.call(this,arguments,"product","calc"," * ")||this}return i(t,e),t}(a),CSSMathNegate:function(e){function t(t){return e.call(this,[arguments[0]],"negate","-")||this}return i(t,e),t}(a)}).CSSMathNegate=function(e){function t(t){return e.call(this,[1,arguments[0]],"invert","calc"," / ")||this}return i(t,e),t}(a),e.CSSMathMax=function(e){function t(){return e.call(this,arguments,"max")||this}return i(t,e),t}(a),e.CSSMathMin=function(e){function t(){return e.call(this,arguments,"min")||this}return i(t,e),t}(a),e);if(!window.CSS&&!Reflect.defineProperty(window,"CSS",{value:{}}))throw Error("Error installing CSSOM support");for(var l in window.CSSUnitValue||["number","percent","em","ex","px","cm","mm","in","pt","pc","Q","vw","vh","vmin","vmax","rems","ch","deg","rad","grad","turn","ms","s","Hz","kHz","dppx","dpi","dpcm","fr"].forEach(function(e){if(!Reflect.defineProperty(CSS,e,{value:function(t){return new CSSUnitValue(t,e)}}))throw Error("Error installing CSS."+e)}),o)if(!(l in window)&&!Reflect.defineProperty(window,l,{value:o[l]}))throw Error("Error installing CSSOM support for "+l)}(),new CSSKeywordValue("auto");var s=new WeakMap;function c(e){return e===document.scrollingElement?document:e}function u(e){f(e);var t=s.get(e).animations;if(0!==t.length)for(var n=e.currentTime,i=0;i<t.length;i++)t[i].tickAnimation(n)}function m(e,t){if(!e)return null;var n="horizontal-tb"==getComputedStyle(e).writingMode,i=e.scrollTop;return("horizontal"==t||"inline"==t&&n||"block"==t&&!n)&&(i=Math.abs(e.scrollLeft)),i}function f(e){if(e instanceof N){var t=e.subject;t&&"none"!=getComputedStyle(t).display?h(e,E(t)):h(e,null)}else!function(e){var t=s.get(e);t.anonymousSource&&h(e,y(t.anonymousSource,t.anonymousTarget))}(e)}function h(e,t){var n=s.get(e),i=n.source,r=n.scrollListener;if(i!=t&&(i&&r&&c(i).removeEventListener("scroll",r),s.get(e).source=t,t)){var a=function(){u(e)};c(t).addEventListener("scroll",a),n.scrollListener=a}}function d(e,t){for(var n=s.get(e).animations,i=0;i<n.length;i++)n[i].animation==t&&n.splice(i,1)}function p(e,t,n){for(var i=s.get(e).animations,r=0;r<i.length;r++)if(i[r].animation==t)return;i.push({animation:t,tickAnimation:n}),u(e)}var v=function(){function e(e){s.set(this,{source:null,orientation:"block",anonymousSource:e?e.anonymousSource:null,anonymousTarget:e?e.anonymousTarget:null,subject:null,inset:e?e.inset:null,animations:[],scrollListener:null}),h(this,e&&void 0!==e.source?e.source:document.scrollingElement),this.orientation=e&&e.orientation||"block",u(this)}return t(e,[{key:"source",get:function(){return s.get(this).source},set:function(e){h(this,e),u(this)}},{key:"orientation",get:function(){return s.get(this).orientation},set:function(e){if(-1===["block","inline","horizontal","vertical"].indexOf(e))throw TypeError("Invalid orientation");s.get(this).orientation=e,u(this)}},{key:"duration",get:function(){return CSS.percent(100)}},{key:"phase",get:function(){var e=this.source;if(!e)return"inactive";var t=getComputedStyle(e);return"none"==t.display?"inactive":e==document.scrollingElement||"visible"!=t.overflow&&"clip"!=t.overflow?"active":"inactive"}},{key:"currentTime",get:function(){var e=this.source;if(!e)return null;if("inactive"==this.phase)return null;var t=this.orientation,n=m(e,t),i=function(e,t){var n="horizontal-tb"==getComputedStyle(e).writingMode;return"block"===t?t=n?"vertical":"horizontal":"inline"===t&&(t=n?"horizontal":"vertical"),"vertical"===t?e.scrollHeight-e.clientHeight:"horizontal"===t?e.scrollWidth-e.clientWidth:void 0}(e,t);return i>0?CSS.percent(100*n/i):CSS.percent(100)}},{key:"__polyfill",get:function(){return!0}}]),e}();function g(e,t){for(var n=e.parentElement;null!=n;){if(t(n))return n;n=n.parentElement}}function y(e,t){return"root"==e?document.scrollingElement:E(t)}function T(e){switch(getComputedStyle(e).display){case"block":case"inline-block":case"list-item":case"table":case"table-caption":case"flow-root":case"flex":case"grid":return!0}return!1}function S(e){var t=getComputedStyle(e);return"none"!=t.transform||"none"!=t.perspective||"transform"==t.willChange||"perspective"==t.willChange||"none"!=t.filter||"filter"==t.willChange||"none"!=t.backdropFilter}function b(e){return"static"!=getComputedStyle(e).position||S(e)}function k(e){switch(getComputedStyle(e).position){case"static":case"relative":case"sticky":return g(e,T);case"absolute":return g(e,b);case"fixed":return g(e,S)}}function E(e){if(e){for(;e=k(e);)switch(getComputedStyle(e)["overflow-x"]){case"auto":case"scroll":case"hidden":return e==document.body&&"visible"==getComputedStyle(document.scrollingElement).overflow?document.scrollingElement:e}return document.scrollingElement}}function w(e,t){var n=s.get(e);return"inactive"===e.phase?null:e instanceof N?x(t,e.source,e.subject,n.orientation,n.inset):null}function x(e,t,n,i,r){for(var a=0,o=0,l=n,s=t.offsetParent;l&&l!=s;)o+=l.offsetLeft,a+=l.offsetTop,l=l.offsetParent;o-=t.offsetLeft+t.clientLeft,a-=t.offsetTop+t.clientTop;var c=getComputedStyle(t),u="horizontal-tb"==c.writingMode,m=void 0,f=void 0,h=void 0;"horizontal"==i||"inline"==i&&u||"block"==i&&!u?(m=n.clientWidth,f=o,("rtl"==c.direction||"vertical-rl"==c.writingMode)&&(f+=t.scrollWidth-t.clientWidth),h=t.clientWidth):(m=n.clientHeight,f=a,h=t.clientHeight);var d=function(e,t){var n={start:0,end:0};if(!e)return n;var i=e.split(" "),r=[];if(i.forEach(function(e){e.endsWith("%")?r.push(t/100*parseFloat(e)):e.endsWith("px")?r.push(parseFloat(e)):"auto"===e&&r.push(0)}),r.length>2)throw TypeError("Invalid inset");return 1==r.length?(n.start=r[0],n.end=r[0]):2==r.length&&(n.start=r[0],n.end=r[1]),n}(r,h),p=f-h+d.end,v=f+m-d.start,g=p+m,y=v-m,T=Math.min(g,y),S=Math.max(g,y),b=void 0,k=void 0;switch(e){case"cover":b=p,k=v;break;case"contain":b=T,k=S;break;case"enter":b=p,k=T;break;case"exit":b=S,k=v}return{start:b,end:k}}function I(e,t,n){return M(w(e,t),n,w(e,"cover"))}function M(e,t,n){return e&&n?(t.value/100*(e.end-e.start)+e.start-n.start)/(n.end-n.start):0}var N=function(e){function n(t){var n;return t.axis&&(t.orientation=t.axis),n=e.call(this,t)||this,s.get(a(n)).subject=t&&t.subject?t.subject:void 0,f(a(n)),u(a(n)),n}return i(n,e),t(n,[{key:"source",get:function(){return f(this),s.get(this).source},set:function(e){throw new Error("Cannot set the source of a view timeline")}},{key:"subject",get:function(){return s.get(this).subject}},{key:"axis",get:function(){return s.get(this).orientation}},{key:"currentTime",get:function(){var e=null,t=m(this.source,this.orientation);if(t==e)return e;var n=w(this,"cover");return n?CSS.percent((t-n.start)/(n.end-n.start)*100):e}}]),n}(v),R=window.Element.prototype.animate,A=window.Animation,C=["enter","exit","cover","contain"],P=function(){function e(){var e=this;this.state="pending",this.nativeResolve=this.nativeReject=null,this.promise=new Promise(function(t,n){e.nativeResolve=t,e.nativeReject=n})}var t=e.prototype;return t.resolve=function(e){this.state="resolved",this.nativeResolve(e)},t.reject=function(e){this.state="rejected",this.promise.catch(function(){}),this.nativeReject(e)},e}();function O(e){e.readyPromise=new P,requestAnimationFrame(function(){null!==e.timeline.currentTime&&Q(e)})}function L(){return new DOMException("The user aborted a request","AbortError")}function _(e,t){if(null===t)return t;if("number"!=typeof t)throw new DOMException("Unexpected value: "+t+". Cannot convert to CssNumberish","InvalidStateError");var n=F(e);return CSS.percent(n?100*t/n:0)}function W(e,t){if(e.timeline){if(null===t)return t;if("percent"===t.unit){var n=F(e);return t.value*n/100}throw new DOMException("CSSNumericValue must be a percentage for progress based animations.","NotSupportedError")}if(null==t||"number"==typeof t)return t;var i=t.to("ms");if(convertTime)return i.value;throw new DOMException("CSSNumericValue must be either a number or a time value for time based animations.","InvalidStateError")}function j(e){if(e.finishedPromise&&"pending"==e.finishedPromise.state&&"finished"==e.proxy.playState){e.finishedPromise.resolve(e.proxy),e.animation.pause();var t=new CustomEvent("finish",{detail:{currentTime:e.proxy.currentTime,timelineTime:e.proxy.timeline.currentTime}});Object.defineProperty(t,"currentTime",{get:function(){return this.detail.currentTime}}),Object.defineProperty(t,"timelineTime",{get:function(){return this.detail.timelineTime}}),requestAnimationFrame(function(){queueMicrotask(function(){e.animation.dispatchEvent(t)})})}}function V(e){return null!==e.pendingPlaybackRate?e.pendingPlaybackRate:e.animation.playbackRate}function D(e){null!==e.pendingPlaybackRate&&(e.animation.playbackRate=e.pendingPlaybackRate,e.pendingPlaybackRate=null)}function z(e){if(!e.timeline)return null;var t=W(e,e.timeline.currentTime);if(null===t)return null;if(null===e.startTime)return null;var n=(t-e.startTime)*e.animation.playbackRate;return-0==n&&(n=0),n}function U(e,t){if(!e.timeline)return null;var n=W(e,e.timeline.currentTime);return null==n?null:n-t/e.animation.playbackRate}function H(e,t,n){if(e.timeline){var i=t?W(e,e.proxy.currentTime):z(e);if(i&&null!=e.startTime&&!e.proxy.pending){var r=V(e),a=F(e),o=e.previousCurrentTime;r>0&&i>=a?((null===o||o<a)&&(o=a),e.holdTime=t?i:o):r<0&&i<=0?((null==o||o>0)&&(o=0),e.holdTime=t?i:o):0!=r&&(t&&null!==e.holdTime&&(e.startTime=U(e,e.holdTime)),e.holdTime=null)}K(e),e.previousCurrentTime=W(e,e.proxy.currentTime),"finished"==e.proxy.playState?(e.finishedPromise||(e.finishedPromise=new P),"pending"==e.finishedPromise.state&&(n?j(e):Promise.resolve().then(function(){j(e)}))):(e.finishedPromise&&"resolved"==e.finishedPromise.state&&(e.finishedPromise=new P),"paused"!=e.animation.playState&&e.animation.pause())}}function F(e){var t=function(e){var t=e.proxy.effect.getTiming();return e.normalizedTiming||t}(e);return Math.max(0,t.delay+t.endDelay+t.iterations*t.duration)}function K(e){if(e.timeline)if(null!==e.startTime){var t=e.timeline.currentTime;if(null==t)return;q(e,(W(e,t)-e.startTime)*e.animation.playbackRate)}else null!==e.holdTime&&q(e,e.holdTime)}function q(e,t){var n=e.timeline,i=e.animation.playbackRate;e.animation.currentTime=t+(n.currentTime&&n.currentTime.value==(i<0?0:100)?i<0?.001:-.001:0)}function B(e,t){if(e.timeline){var n="paused"==e.proxy.playState&&e.proxy.pending,i=!1,r=null,a=W(e,e.proxy.currentTime);e.resetCurrentTimeOnResume&&(a=null,e.resetCurrentTimeOnResume=!1);var o=V(e),l=F(e);if(o>0&&t&&(null==a||a<0||a>=l))r=0;else if(o<0&&t&&(null==a||a<=0||a>l)){if(Infinity==l)return void e.animation.play();r=l}else 0==o&&null==a&&(r=0);null!=r&&(e.startTime=r,e.holdTime=null,D(e)),p(e.timeline,e.animation,Y.bind(e.proxy)),e.holdTime&&(e.startTime=null),e.pendingTask&&(e.pendingTask=null,i=!0),(null!==e.holdTime||null!==r||n||null!==e.pendingPlaybackRate)&&(e.readyPromise&&!i&&(e.readyPromise=null),K(e),e.readyPromise||O(e),e.pendingTask="play",H(e,!1,!1))}}function Y(e){var t=G.get(this);if(null!=e){t.pendingTask&&Q(t);var n=this.playState;"running"!=n&&"finished"!=n||(q(t,(W(t,e)-W(t,this.startTime))*this.playbackRate),"finished"==n&&0!=V(t)&&(t.holdTime=null),H(t,!1,!1))}else"idle"!=t.animation.playState&&t.animation.cancel()}function Q(e){"pause"==e.pendingTask?function(e){var t=W(e,e.timeline.currentTime);null!=e.startTime&&null==e.holdTime&&(e.holdTime=(t-e.startTime)*e.animation.playbackRate),D(e),e.startTime=null,e.readyPromise.resolve(e.proxy),H(e,!1,!1),K(e),e.pendingTask=null}(e):"play"==e.pendingTask&&function(e){var t=W(e,e.timeline.currentTime);if(null!=e.holdTime)D(e),0==e.animation.playbackRate?e.startTime=t:(e.startTime=t-e.holdTime/e.animation.playbackRate,e.holdTime=null);else if(null!==e.startTime&&null!==e.pendingPlaybackRate){var n=(t-e.startTime)*e.animation.playbackRate;D(e);var i=e.animation.playbackRate;0==i?(e.holdTime=null,e.startTime=t):e.startTime=t-n/i}e.readyPromise&&"pending"==e.readyPromise.state&&e.readyPromise.resolve(e.proxy),H(e,!1,!1),K(e),e.pendingTask=null}(e)}var G=new WeakMap,X=function(){function e(e,t,n){void 0===n&&(n={});var i=e instanceof A?e:new A(e,a),r=t instanceof v,a=r?void 0:t;G.set(this,{animation:i,timeline:r?t:void 0,playState:r?"idle":null,readyPromise:null,finishedPromise:null,startTime:null,holdTime:null,previousCurrentTime:null,resetCurrentTimeOnResume:!1,pendingPlaybackRate:null,pendingTask:null,specifiedTiming:null,normalizedTiming:null,effect:null,timeRange:t instanceof ViewTimeline?ee(n):null,proxy:this})}var n=e.prototype;return n.finish=function(){var e=G.get(this);if(e.timeline){var t=V(e),n=F(e);if(0==t)throw new DOMException("Cannot finish Animation with a playbackRate of 0.","InvalidStateError");if(t>0&&Infinity==n)throw new DOMException("Cannot finish Animation with an infinite target effect end.","InvalidStateError");D(e);var i=t<0?0:n;this.currentTime=_(e,i);var r=W(e,e.timeline.currentTime);null===e.startTime&&null!==r&&(e.startTime=r-i/e.animation.playbackRate),"pause"==e.pendingTask&&null!==e.startTime&&(e.holdTime=null,e.pendingTask=null,e.readyPromise.resolve(this)),"play"==e.pendingTask&&null!==e.startTime&&(e.pendingTask=null,e.readyPromise.resolve(this)),H(e,!0,!0)}else e.animation.finish()},n.play=function(){var e=G.get(this);e.timeline?B(e,!0):e.animation.play()},n.pause=function(){var e=G.get(this);if(e.timeline){if("paused"!=this.playState){var t=null,n=e.animation.playbackRate,i=F(e);if(null===e.animation.currentTime)if(n>=0)t=0;else{if(Infinity==i)return void e.animation.pause();t=i}null!==t&&(e.startTime=t),"play"==e.pendingTask?e.pendingTask=null:e.readyPromise=null,e.readyPromise||O(e),e.pendingTask="pause"}}else e.animation.pause()},n.reverse=function(){var e=G.get(this),t=V(e),n=e.resetCurrentTimeOnResume?null:W(e,this.currentTime),i=Infinity==F(e),r=0!=t&&(t<0||n>0||!i);if(!e.timeline||!r)return r&&(e.pendingPlaybackRate=-V(e)),void e.animation.reverse();if("inactive"==e.timeline.phase)throw new DOMException("Cannot reverse an animation with no active timeline","InvalidStateError");this.updatePlaybackRate(-t),B(e,!0)},n.updatePlaybackRate=function(e){var t=G.get(this);if(t.pendingPlaybackRate=e,t.timeline){if(!t.readyPromise||"pending"!=t.readyPromise.state)switch(this.playState){case"idle":case"paused":D(t);break;case"finished":var n=W(t,t.timeline.currentTime),i=null!==n?(n-t.startTime)*t.animation.playbackRate:null;t.startTime=0==e?n:null!=n&&null!=i?(n-i)/e:null,D(t),H(t,!1,!1),K(t);break;default:B(t,!1)}}else t.animation.updatePlaybackRate(e)},n.persist=function(){G.get(this).animation.persist()},n.cancel=function(){var e=G.get(this);e.timeline?("idle"!=this.playState&&(function(e){e.pendingTask&&(e.pendingTask=null,D(e),e.readyPromise.reject(L()),O(e),e.readyPromise.resolve(e.proxy))}(e),e.finishedPromise&&"pending"==e.finishedPromise.state&&e.finishedPromise.reject(L()),e.finishedPromise=new P,e.animation.cancel()),e.startTime=null,e.holdTime=null,d(e.timeline,e.animation)):e.animation.cancel()},n.addEventListener=function(e,t,n){G.get(this).animation.addEventListener(e,t,n)},n.removeEventListener=function(e,t,n){G.get(this).animation.removeEventListener(e,t,n)},n.dispatchEvent=function(e){G.get(this).animation.dispatchEvent(e)},t(e,[{key:"effect",get:function(){var e=G.get(this);return e.timeline?(e.effect||(e.effect=function(e){var t=e.animation.effect,n=t.updateTiming,i={apply:function(n){t.getTiming();var i=n.apply(t);if(e.timeline){i.localTime=_(e,i.localTime),i.endTime=_(e,i.endTime),i.activeDuration=_(e,i.activeDuration);var r=F(e);i.duration=r?CSS.percent(100*(i.iterations?(r-i.delay-i.endDelay)/i.iterations:0)/r):CSS.percent(0),void 0===e.timeline.currentTime&&(i.localTime=null)}return i}},r={apply:function(i,r){var a=1e5;if(e.specifiedTiming)return e.specifiedTiming;e.specifiedTiming=i.apply(t);var o,l,s=Object.assign({},e.specifiedTiming),c=!1;return e.timeline instanceof ViewTimeline&&(o=function(e){if(!(e.timeline instanceof ViewTimeline))return 0;var t=e.timeRange.start;return I(e.timeline,t.name,t.offset)}(e),l=function(e){if(!(e.timeline instanceof ViewTimeline))return 0;var t=e.timeRange.end;return 1-I(e.timeline,t.name,t.offset)}(e),c=!0),(null===s.duration||"auto"===s.duration||c)&&e.timeline&&(c?(s.delay=o*a,s.endDelay=l*a):(s.delay=0,s.endDelay=0),s.duration=s.iterations?((s.iterations?a:0)-s.delay-s.endDelay)/s.iterations:0,n.apply(t,[s])),e.normalizedTiming=s,e.specifiedTiming}},a={apply:function(n,i,r){if(e.timeline){var a=r[0];if(Infinity===a.duration)throw TypeError("Effect duration cannot be Infinity when used with Scroll Timelines");if(Infinity===a.iterations)throw TypeError("Effect iterations cannot be Infinity when used with Scroll Timelines")}e.specifiedTiming&&n.apply(t,[e.specifiedTiming]),n.apply(t,r),e.specifiedTiming=null}},o=new Proxy(t,{get:function(e,n){var i=e[n];return"function"==typeof i?i.bind(t):i},set:function(e,t,n){return e[t]=n,!0}});return o.getComputedTiming=new Proxy(t.getComputedTiming,i),o.getTiming=new Proxy(t.getTiming,r),o.updateTiming=new Proxy(t.updateTiming,a),o}(e)),e.effect):e.animation.effect},set:function(e){G.get(this).animation.effect=e,details.effect=null}},{key:"timeline",get:function(){var e=G.get(this);return e.timeline||e.animation.timeline},set:function(e){var t=this.timeline;if(t!=e){var n=this.playState,i=this.currentTime,r=G.get(this),a=F(r),o=a>0?W(r,i)/a:0,l=t instanceof v,s=e instanceof v;r.resetCurrentTimeOnResume=!1;var c=this.pending;if(l&&d(r.timeline,r.animation),s){r.timeline=e,D(r);var u=r.animation.playbackRate>=0?0:F(r);switch(n){case"running":case"finished":r.startTime=u,p(r.timeline,r.animation,Y.bind(this));break;case"paused":r.resetCurrentTimeOnResume=!0,r.startTime=null,r.holdTime=W(r,CSS.percent(100*o));break;default:r.holdTime=null,r.startTime=null}return c&&(r.readyPromise&&"resolved"!=r.readyPromise.state||O(r),r.pendingTask="paused"==n?"pause":"play"),null!==r.startTime&&(r.holdTime=null),void H(r,!1,!1)}if(r.animation.timeline!=e)throw TypeError("Unsupported timeline: "+e);if(d(r.timeline,r.animation),r.timeline=null,l)switch(null!==i&&(r.animation.currentTime=o*F(r)),n){case"paused":r.animation.pause();break;case"running":case"finished":r.animation.play()}}}},{key:"startTime",get:function(){var e=G.get(this);return e.timeline?_(e,e.startTime):e.animation.startTime},set:function(e){var t=G.get(this);if(e=W(t,e),t.timeline){null==W(t,t.timeline.currentTime)&&null!=t.startTime&&(t.holdTime=null,K(t));var n=W(t,this.currentTime);D(t),t.startTime=e,t.resetCurrentTimeOnResume=!1,t.holdTime=null!==t.startTime&&0!=t.animation.playbackRate?null:n,t.pendingTask&&(t.pendingTask=null,t.readyPromise.resolve(this)),H(t,!0,!1),K(t)}else t.animation.startTime=e}},{key:"currentTime",get:function(){var e=G.get(this);return e.timeline?_(e,null!=e.holdTime?e.holdTime:z(e)):e.animation.currentTime},set:function(e){var t=G.get(this);if(e=W(t,e),t.timeline&&null!=e){var n=t.timeline.phase;null!==t.holdTime||null===t.startTime||"inactive"==n||0==t.animation.playbackRate?t.holdTime=e:t.startTime=U(t,e),t.resetCurrentTimeOnResume=!1,"inactive"==n&&(t.startTime=null),t.previousCurrentTime=null,"pause"==t.pendingTask&&(t.holdTime=e,D(t),t.startTime=null,t.pendingTask=null,t.readyPromise.resolve(this)),H(t,!0,!1)}else t.animation.currentTime=e}},{key:"playbackRate",get:function(){return G.get(this).animation.playbackRate},set:function(e){var t=G.get(this);if(t.timeline){t.pendingPlaybackRate=null;var n=this.currentTime;t.animation.playbackRate=e,null!==n&&(this.currentTime=n)}else t.animation.playbackRate=e}},{key:"playState",get:function(){var e=G.get(this);if(!e.timeline)return e.animation.playState;var t=W(e,this.currentTime);if(null===t&&null===e.startTime&&null==e.pendingTask)return"idle";if("pause"==e.pendingTask||null===e.startTime&&"play"!=e.pendingTask)return"paused";if(null!=t){if(e.animation.playbackRate>0&&t>=F(e))return"finished";if(e.animation.playbackRate<0&&t<=0)return"finished"}return"running"}},{key:"replaceState",get:function(){return G.get(this).animation.pending}},{key:"pending",get:function(){var e=G.get(this);return e.timeline?!!e.readyPromise&&"pending"==e.readyPromise.state:e.animation.pending}},{key:"id",get:function(){return G.get(this).animation.id}},{key:"onfinish",get:function(){return G.get(this).animation.onfinish},set:function(e){G.get(this).animation.onfinish=e}},{key:"oncancel",get:function(){return G.get(this).animation.oncancel},set:function(e){G.get(this).animation.oncancel=e}},{key:"onremove",get:function(){return G.get(this).animation.onremove},set:function(e){G.get(this).animation.onremove=e}},{key:"finished",get:function(){var e=G.get(this);return e.timeline?(e.finishedPromise||(e.finishedPromise=new P),e.finishedPromise.promise):e.animation.finished}},{key:"ready",get:function(){var e=G.get(this);return e.timeline?(e.readyPromise||(e.readyPromise=new P,e.readyPromise.resolve(this)),e.readyPromise.promise):e.animation.ready}}]),e}();function $(e,t){if(!e)return null;var n=e.split(" ");if(!C.includes(n[0])||2==n.length&&!n[1].endsWith("%"))throw TypeError("Invalid animation delay");var i=t;if(2==n.length){var r=parseFloat(n[1]);if(Number.isNaN(r))throw TypeError('"'+n[1]+'" is not a valid percentage for animation delay');i=CSS.percent(r)}return{name:n[0],offset:i}}function J(){return{name:"cover",offset:CSS.percent(0)}}function Z(){return{name:"cover",offset:CSS.percent(100)}}function ee(e){var t=te(e["animation-time-range"]);return e["animation-delay"]&&(t.start=$(e["animation-delay"],J().offset)),e["animation-end-delay"]&&(t.end=$(e["animation-end-delay"],Z().offset)),t}function te(e){var t={start:J(),end:Z()};if(!e)return t;var n=e.split(" "),i=[],r=[];if(n.forEach(function(e){e.endsWith("%")?r.push(parseFloat(e)):i.push(e)}),i.length>2||r.length>2||1==r.length)throw TypeError("Invalid time range");return i.length&&(t.start.name=i[0],t.end.name=i.length>1?i[1]:i[0]),r.length>1&&(t.start.offset=CSS.percent(r[0]),t.end.offset=CSS.percent(r[1])),t}var ne={IDENTIFIER:/[\w\\\@_-]+/g,WHITE_SPACE:/\s*/g,NUMBER:/^[0-9]+/,TIME:/^[0-9]+(s|ms)/,SCROLL_TIMELINE:/scroll-timeline\s*:([^;}]+)/,SCROLL_TIMELINE_NAME:/scroll-timeline-name\s*:([^;}]+)/,SCROLL_TIMELINE_AXIS:/scroll-timeline-axis\s*:([^;}]+)/,VIEW_TIMELINE:/view-timeline\s*:([^;}]+)/,VIEW_TIMELINE_NAME:/view-timeline-name\s*:([^;}]+)/,VIEW_TIMELINE_AXIS:/view-timeline-axis\s*:([^;}]+)/,VIEW_TIMELINE_INSET:/view-timeline-inset\s*:([^;}]+)/,ANIMATION_TIMELINE:/animation-timeline\s*:([^;}]+)/,ANIMATION_DELAY:/animation-delay\s*:([^;}]+)/,ANIMATION_END_DELAY:/animation-end-delay\s*:([^;}]+)/,ANIMATION_TIME_RANGE:/animation-time-range\s*:([^;}]+)/,ANIMATION_NAME:/animation-name\s*:([^;}]+)/,ANIMATION:/animation\s*:([^;}]+)/,ANONYMOUS_SCROLL:/scroll\(([^)]*)\)/},ie=["block","inline","vertical","horizontal"],re=["nearest","root"],ae=new(function(){function e(){this.cssRulesWithTimelineName=[],this.nextAnonymousTimelineNameIndex=0,this.anonymousScrollTimelineOptions=new Map,this.sourceSelectorToScrollTimeline=[],this.subjectSelectorToViewTimeline=[],this.keyframeNamesSelectors=new Map}var t=e.prototype;return t.transpileStyleSheet=function(e,t,n){for(var i={sheetSrc:e,index:0,name:n};i.index<i.sheetSrc.length&&(this.eatWhitespace(i),!(i.index>=i.sheetSrc.length));)if(this.lookAhead("/*",i))for(;this.lookAhead("/*",i);)this.eatComment(i),this.eatWhitespace(i);else{var r=this.parseQualifiedRule(i);r&&(t?this.parseKeyframesAndSaveNameMapping(r,i):this.handleScrollTimelineProps(r,i))}return i.sheetSrc},t.getAnimationTimelineOptions=function(e,t){for(var n=this.cssRulesWithTimelineName.length-1;n>=0;n--){var i=this.cssRulesWithTimelineName[n];if(t.matches(i.selector)&&(!i["animation-name"]||i["animation-name"]==e))return{"animation-timeline":i["animation-timeline"],"animation-delay":i["animation-delay"],"animation-end-delay":i["animation-end-delay"],"animation-time-range":i["animation-time-range"]}}return null},t.getAnonymousScrollTimelineOptions=function(e,t){var n=this.anonymousScrollTimelineOptions.get(e);return n?{anonymousSource:n.source,anonymousTarget:t,source:y(n.source,t),orientation:n.orientation?n.orientation:"block"}:null},t.getScrollTimelineOptions=function(e,t){var i=this.getAnonymousScrollTimelineOptions(e,t);if(i)return i;for(var r=this.sourceSelectorToScrollTimeline.length-1;r>=0;r--){var a=this.sourceSelectorToScrollTimeline[r];if(a.name==e){var o=this.findPreviousSiblingOrAncestorMatchingSelector(t,a.selector);if(o)return n({source:o},a.axis?{orientation:a.axis}:{})}}return null},t.findPreviousSiblingOrAncestorMatchingSelector=function(e,t){for(var n=e;n;){if(n.matches(t))return n;n=n.previousElementSibling||n.parentElement}return null},t.getViewTimelineOptions=function(e,t){for(var n=this.subjectSelectorToViewTimeline.length-1;n>=0;n--){var i=this.subjectSelectorToViewTimeline[n];if(i.name==e){var r=this.findPreviousSiblingOrAncestorMatchingSelector(t,i.selector);if(r)return{subject:r,axis:i.axis,inset:i.inset}}}return null},t.parseScrollTimeline=function(e){var t=e.index;this.assertString(e,"@scroll-timeline"),this.eatWhitespace(e);var n=this.parseIdentifier(e);this.eatWhitespace(e),this.assertString(e,"{"),this.eatWhitespace(e);for(var i={name:n,source:"auto",orientation:void 0};"}"!==this.peek(e);){var r=this.parseIdentifier(e);this.eatWhitespace(e),this.assertString(e,":"),this.eatWhitespace(e),i[r]=this.removeEnclosingDoubleQuotes(this.eatUntil(";",e)),this.assertString(e,";"),this.eatWhitespace(e)}this.assertString(e,"}");var a=e.index;return this.eatWhitespace(e),{scrollTimeline:i,startIndex:t,endIndex:a}},t.handleScrollTimelineProps=function(e,t){var n=this;if(!e.selector.includes("@keyframes")){var i=e.block.contents.includes("animation-name:"),r=e.block.contents.includes("animation-timeline:"),a=e.block.contents.includes("animation:");this.saveSourceSelectorToScrollTimeline(e),this.saveSubjectSelectorToViewTimeline(e);var o=[],l=[],s=!1;r&&(o=this.extractScrollTimelineNames(e.block.contents)),i&&(l=this.extractMatches(e.block.contents,ne.ANIMATION_NAME)),r&&i||(a&&this.extractMatches(e.block.contents,ne.ANIMATION).forEach(function(t){var i=n.extractTimelineName(t);i.timelineName&&o.push(i.timelineName);var a=n.extractAnimationName(t);a&&(i.timelineName||r)&&l.push(a),(i.timelineName||r)&&(n.hasDuration(t)||(e.block.contents=e.block.contents.replace(t," 1s "+t),s=!0)),i.toBeReplaced&&(e.block.contents=e.block.contents.replace(i.toBeReplaced," ".repeat(i.toBeReplaced.length)),s=!0)}),s&&this.replacePart(e.block.startIndex,e.block.endIndex,e.block.contents,t)),this.saveRelationInList(e,o,l)}},t.saveSourceSelectorToScrollTimeline=function(e){var t,n=e.block.contents.includes("scroll-timeline:"),i=e.block.contents.includes("scroll-timeline-name:"),r=e.block.contents.includes("scroll-timeline-axis:");if(n||i){var a=[];if(n)for(var o,s=l(this.extractMatches(e.block.contents,ne.SCROLL_TIMELINE));!(o=s()).done;){parts=this.split(o.value);var c={selector:e.selector,name:""};1==parts.length?c.name=parts[0]:2==parts.length&&(ie.includes(parts[0])?(c.axis=parts[0],c.name=parts[1]):(c.axis=parts[1],c.name=parts[0])),a.push(c)}if(i)for(var u=this.extractMatches(e.block.contents,ne.SCROLL_TIMELINE_NAME),m=0;m<u.length;m++)m<a.length?a[m].name=u[m]:a.push({selector:e.selector,name:u[m]});var f=[];r&&(f=(f=this.extractMatches(e.block.contents,ne.SCROLL_TIMELINE_AXIS)).filter(function(e){return ie.includes(e)}));for(var h=0;h<a.length;h++)f.length&&(a[h].axis=f[h%a.length]);(t=this.sourceSelectorToScrollTimeline).push.apply(t,a)}},t.saveSubjectSelectorToViewTimeline=function(e){var t,n=e.block.contents.includes("view-timeline:"),i=e.block.contents.includes("view-timeline-name:"),r=e.block.contents.includes("view-timeline-axis:"),a=e.block.contents.includes("view-timeline-inset:");if(n||i){var o=[];if(n)for(var s,c=l(this.extractMatches(e.block.contents,ne.VIEW_TIMELINE));!(s=c()).done;){parts=this.split(s.value);var u={selector:e.selector,name:"",inset:null};1==parts.length?u.name=parts[0]:2==parts.length&&(ie.includes(parts[0])?(u.axis=parts[0],u.name=parts[1]):(u.axis=parts[1],u.name=parts[0])),o.push(u)}if(i)for(var m=this.extractMatches(e.block.contents,ne.VIEW_TIMELINE_NAME),f=0;f<m.length;f++)f<o.length?o[f].name=m[f]:o.push({selector:e.selector,name:m[f],inset:null});var h=[],d=[];a&&(h=this.extractMatches(e.block.contents,ne.VIEW_TIMELINE_INSET)),r&&(d=(d=this.extractMatches(e.block.contents,ne.VIEW_TIMELINE_AXIS)).filter(function(e){return ie.includes(e)}));for(var p=0;p<o.length;p++)h.length&&(o[p].inset=h[p%o.length]),d.length&&(o[p].axis=d[p%o.length]);(t=this.subjectSelectorToViewTimeline).push.apply(t,o)}},t.hasDuration=function(e){return e.split(" ").filter(function(e){return ne.TIME.exec(e)}).length>=1},t.saveRelationInList=function(e,t,i){var r=e.block.contents.includes("animation-delay:"),a=e.block.contents.includes("animation-end-delay:"),o=e.block.contents.includes("animation-time-range:"),l=[],s=[],c=[];r&&(l=this.extractMatches(e.block.contents,ne.ANIMATION_DELAY)),a&&(s=this.extractMatches(e.block.contents,ne.ANIMATION_END_DELAY)),o&&(c=this.extractMatches(e.block.contents,ne.ANIMATION_TIME_RANGE));for(var u=Math.max(t.length,i.length,l.length,s.length,c.length),m=0;m<u;m++)this.cssRulesWithTimelineName.push(n({selector:e.selector,"animation-timeline":t[m%t.length]},i.length?{"animation-name":i[m%i.length]}:{},l.length?{"animation-delay":l[m%l.length]}:{},s.length?{"animation-end-delay":s[m%s.length]}:{},c.length?{"animation-time-range":c[m%c.length]}:{}))},t.extractScrollTimelineNames=function(e){var t=this,n=ne.ANIMATION_TIMELINE.exec(e)[1].trim(),i=[];return n.split(",").map(function(e){return e.trim()}).forEach(function(e){if(function(e){return e.startsWith("scroll")&&e.includes("(")}(e)){var n=t.saveAnonymousTimelineName(e);i.push(n)}else i.push(e)}),i},t.saveAnonymousTimelineName=function(e){var t=":t"+this.nextAnonymousTimelineNameIndex++;return this.anonymousScrollTimelineOptions.set(t,this.parseAnonymousTimeline(e)),t},t.parseAnonymousTimeline=function(e){var t=ne.ANONYMOUS_SCROLL.exec(e);if(!t)return null;var n={};return t[1].split(" ").forEach(function(e){ie.includes(e)?n.orientation=e:re.includes(e)&&(n.source=e)}),n},t.extractAnimationName=function(e){return this.findMatchingEntryInContainer(e,this.keyframeNamesSelectors)},t.extractTimelineName=function(e){var t=null,n=null,i=ne.ANONYMOUS_SCROLL.exec(e);if(i){var r=i[0];t=this.saveAnonymousTimelineName(r),n=r}else n=t=this.findMatchingEntryInContainer(e,new Set(this.sourceSelectorToScrollTimeline.map(function(e){return e.name})))||this.findMatchingEntryInContainer(e,new Set(this.subjectSelectorToViewTimeline.map(function(e){return e.name})));return{timelineName:t,toBeReplaced:n}},t.findMatchingEntryInContainer=function(e,t){var n=e.split(" ").filter(function(e){return t.has(e)});return n?n[0]:null},t.parseIdentifier=function(e){ne.IDENTIFIER.lastIndex=e.index;var t=ne.IDENTIFIER.exec(e.sheetSrc);if(!t)throw this.parseError(e,"Expected an identifier");return e.index+=t[0].length,t[0]},t.parseKeyframesAndSaveNameMapping=function(e,t){var n=this;if(e.selector.startsWith("@keyframes")){var i=this.replaceKeyframesAndGetMapping(e,t);e.selector.split(" ").forEach(function(e,t){t>0&&n.keyframeNamesSelectors.set(e,i)})}},t.replaceKeyframesAndGetMapping=function(e,t){var n=e.block.contents,i=function(e){for(var t=0,n=-1,i=[],r=0;r<e.length;r++)"{"==e[r]?t++:"}"==e[r]&&t--,1==t&&"{"!=e[r]&&"}"!=e[r]&&-1==n&&(n=r),2==t&&"{"==e[r]&&(i.push({start:n,end:r}),n=-1);return i}(n);if(0==i.length)return new Map;var r=new Map,a=!1,o=[];o.push(n.substring(0,i[0].start));for(var l=function(e){var t=n.substring(i[e].start,i[e].end),l=[];t.split(",").forEach(function(e){var t,n=e.split(" ").map(function(e){return e.trim()}).filter(function(e){return""!=e}).join(" "),i=r.size;r.set(i,n),l.push(i+"%"),t=n,C.some(function(e){return t.startsWith(e)})&&(a=!0)}),o.push(l.join(",")),o.push(e==i.length-1?n.substring(i[e].end):n.substring(i[e].end,i[e+1].start))},s=0;s<i.length;s++)l(s);return a?(e.block.contents=o.join(""),this.replacePart(e.block.startIndex,e.block.endIndex,e.block.contents,t),r):new Map},t.parseQualifiedRule=function(e){var t=e.index,n=this.parseSelector(e).trim();if(n)return{selector:n,block:this.eatBlock(e),startIndex:t,endIndex:e.index}},t.removeEnclosingDoubleQuotes=function(e){return e.substring('"'==e[0]?1:0,'"'==e[e.length-1]?e.length-1:e.length)},t.assertString=function(e,t){if(e.sheetSrc.substr(e.index,t.length)!=t)throw this.parseError(e,"Did not find expected sequence "+t);e.index+=t.length},t.replacePart=function(e,t,n,i){i.sheetSrc=i.sheetSrc.slice(0,e)+n+i.sheetSrc.slice(t),i.index>=t&&(i.index=e+n.length+(i.index-t))},t.eatComment=function(e){this.assertString(e,"/*"),this.eatUntil("*/",e,!0),this.assertString(e,"*/")},t.eatBlock=function(e){var t=e.index;this.assertString(e,"{");for(var n=1;0!=n;)this.lookAhead("/*",e)?this.eatComment(e):("{"===e.sheetSrc[e.index]?n++:"}"===e.sheetSrc[e.index]&&n--,this.advance(e));var i=e.index;return{startIndex:t,endIndex:i,contents:e.sheetSrc.slice(t,i)}},t.advance=function(e){if(e.index++,e.index>e.sheetSrc.length)throw this.parseError(e,"Advanced beyond the end")},t.eatUntil=function(e,t,n){void 0===n&&(n=!1);for(var i=t.index;!this.lookAhead(e,t);)this.advance(t);return n&&(t.sheetSrc=t.sheetSrc.slice(0,i)+" ".repeat(t.index-i)+t.sheetSrc.slice(t.index)),t.sheetSrc.slice(i,t.index)},t.parseSelector=function(e){var t=e.index;if(this.eatUntil("{",e),t===e.index)throw Error("Empty selector");return e.sheetSrc.slice(t,e.index)},t.eatWhitespace=function(e){ne.WHITE_SPACE.lastIndex=e.index;var t=ne.WHITE_SPACE.exec(e.sheetSrc);t&&(e.index+=t[0].length)},t.lookAhead=function(e,t){return t.sheetSrc.substr(t.index,e.length)==e},t.peek=function(e){return e.sheetSrc[e.index]},t.extractMatches=function(e,t,n){return void 0===n&&(n=","),t.exec(e)[1].trim().split(n).map(function(e){return e.trim()})},t.split=function(e){return e.split(" ").map(function(e){return e.trim()}).filter(function(e){return""!=e})},e}());function oe(e,t,n,i,r,a){return M(x(e,t,n,i,r),a,x("cover",t,n,i,r))}if(function(){if(!CSS.supports("animation-timeline: works")){!function(){function e(e){if(0!==e.innerHTML.trim().length){var t=ae.transpileStyleSheet(e.innerHTML,!0);t=ae.transpileStyleSheet(t,!1),e.innerHTML=t}}new MutationObserver(function(t){for(var n,i=l(t);!(n=i()).done;)for(var r,a=l(n.value.addedNodes);!(r=a()).done;){var o=r.value;o instanceof HTMLStyleElement&&e(o)}}).observe(document.documentElement,{childList:!0,subtree:!0}),document.querySelectorAll("style").forEach(function(t){return e(t)}),document.querySelectorAll("link").forEach(function(e){})}();var e=new WeakMap;window.addEventListener("animationstart",function(t){t.target.getAnimations().filter(function(e){return e.animationName===t.animationName}).forEach(function(n){e.has(t.target)||e.set(t.target,new Map);var i=e.get(t.target);if(!i.has(n.animationName)){var r=function(e,t,n){var i=ae.getAnimationTimelineOptions(t,n);if(!i)return null;var r=i["animation-timeline"];if(!r)return null;var a=ae.getScrollTimelineOptions(r,n)||ae.getViewTimelineOptions(r,n);return a?(a.subject&&function(e,t){var n=E(t.subject),i=t.axis||t.orientation,r=ae.keyframeNamesSelectors.get(e.animationName);if(r&&r.size){var a=[];e.effect.getKeyframes().forEach(function(e){var o=function(e,r){for(var a,o=null,s=l(e);!(a=s()).done;){var c=a.value,u=c[1];if(c[0]==100*r.offset){if("from"==u)o=0;else if("to"==u)o=100;else{var m=u.split(" ");o=1==m.length?parseFloat(m[0]):100*oe(m[0],n,t.subject,i,t.inset,CSS.percent(parseFloat(m[1])))}break}}return o}(r,e);null!==o&&o>=0&&o<=100&&(e.offset=o/100,a.push(e))});var o=a.sort(function(e,t){return e.offset<t.offset?-1:e.affset>t.offset?1:0});e.effect.setKeyframes(o)}}(e,a),{timeline:a.source?new v(a):new N(a),animOptions:i}):null}(n,n.animationName,t.target);i.set(n.animationName,r&&r.timeline&&n.timeline!=r.timeline?new X(n,r.timeline,r.animOptions):null)}var a=i.get(n.animationName);null!==a&&(n.pause(),a.play())})})}}(),[].concat(document.styleSheets).filter(function(e){return null!==e.href}).length&&console.warn("Non-Inline StyleSheets detected: ScrollTimeline polyfill currently only supports inline styles within style tags"),!Reflect.defineProperty(window,"ScrollTimeline",{value:v}))throw Error("Error installing ScrollTimeline polyfill: could not attach ScrollTimeline to window");if(!Reflect.defineProperty(window,"ViewTimeline",{value:N}))throw Error("Error installing ViewTimeline polyfill: could not attach ViewTimeline to window");if(!Reflect.defineProperty(Element.prototype,"animate",{value:function(e,t){var n=t.timeline;n instanceof v&&delete t.timeline;var i=function(e,t){if(t in e){var n=e[t];return"number"!=typeof n?(delete e[t],n):null}},r=function(e,t){t&&(t.phase&&(e.name=t.phase),t.percent&&(e.offset=t.percent))},a=i(t,"delay"),o=i(t,"endDelay"),l=R.apply(this,[e,t]),s=new X(l,n);if(n instanceof v){if(l.pause(),n instanceof ViewTimeline){var c=G.get(s);c.timeRange=te(t.timeRange),r(c.timeRange.start,a),r(c.timeRange.end,o)}s.play()}return s}}))throw Error("Error installing ScrollTimeline polyfill: could not attach WAAPI's animate to DOM Element");if(!Reflect.defineProperty(window,"Animation",{value:X}))throw Error("Error installing Animation constructor.")}(); //# sourceMappingURL=scroll-timeline.js.map document .querySelector('.progress-bar__thumb') .animate([{ top: '0%' }, { top: '100%' }], { duration: 1, fill: 'both', timeline: new ScrollTimeline({ scrollOffsets: [ new CSSUnitValue(0, 'percent'), new CSSUnitValue(100, 'percent'), ], }), }); </script><script type="text/javascript"> const pageAnimation = () => { const easingSnappy = 'cubicBezier(0.350, 0.495, 0.445, 1.005)'; /** * Micro-animation triggers via IntersectObserver and using the animejs * library. * * @ref https://animejs.com/documentation/ */ if ( !!window.IntersectionObserver && !document.body.classList.contains('sfPageEditor') ) { /** * Preload hide the elements that will animate. Need to tighten this up * as otherwise it may run rogue. Use staggered animations as much as * possible to simplify (and optimize) the animation processs. * * @ref https://animejs.com/documentation/ */ const animElements = document.querySelectorAll('.l-region'); const options = { root: null, rootMargin: '0px 0px -200px 0px', }; const callback = (entries, observer) => { const entryVisible = entries.filter((entry) => entry.isIntersecting); entryVisible.forEach((entry, i) => { /** * Use '.is-animate' with care to avoid animation collisions. * In other words, do not assign this to a child element of * the list below. */ const elsToAnimate = entry.target.querySelectorAll( ".is-animate, [data-animate='fade'], [data-animate='fadeSlideUp'], [data-animate='fadeSlideUpStagger'] > *, .is-animate-stagger > *" ); anime({ targets: elsToAnimate, duration: 750, delay: anime.stagger(250, { start: 450 }), easing: easingSnappy, opacity: [0, 1], translateY: (t) => { const data = t.dataset.animate; if ( data === 'fadeSlideUp' || t.parentNode.dataset.animate === 'fadeSlideUpStagger' || t.classList.contains('is-animate') ) { return ['1.25rem', 0]; } else { return 0; } }, scaleX: 1, translateZ: 0, complete: function (anim) { // Allows for child positioning (i.e. modal window fixed positioning) anim.animatables.forEach((el) => { el.target.style.transform = ''; el.target.classList.add('is-animate-done'); }); }, }); observer.unobserve(entry.target); }); }; const observer = new IntersectionObserver(callback, options); [...animElements].forEach((el) => { observer.observe(el); }); } }; (() => { const mainNode = document.querySelector('html'); function callback(mutationsList, observer) { mutationsList.forEach((mutation) => { if ( mutation.attributeName === 'class' && mutation.target.classList.contains('is-animate-loaded') ) { pageAnimation(); } }); } const mutationObserver = new MutationObserver(callback); mutationObserver.observe(mainNode, { attributes: true }); })(); </script> </body> </html>

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