CINXE.COM

European court ruling finds just cause to award soccer players greater freedom of movement

<!DOCTYPE html> <html lang="en-GLOBAL" class="no-js"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="theme-color" content="#d8352a"> <meta name="msapplication-navbutton-color" content="#d8352a"> <meta charset="utf-8"> <meta property="fb:app_id" content="127105130696839"> <meta name="current-region" content="global"> <meta http-equiv="Content-Language" content="en-GLOBAL"> <meta name="description" content="The decision will shake up a transfer market that is weighted in favor of clubs over players – it could also benefit leagues such as MLS." /> <meta name="pubdate" content="20241008" /> <meta name="commissioning-region" content="us" /> <meta name="searchtype" content="analysis" /> <meta name="original-source" content="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" /> <meta name="news_keywords" content="Athletes, ECJ, Employment, Employment law, European Court of Justice, FIFA , Major League Soccer (MLS), Soccer, Sport, Sports, Sports management, US Soccer" /> <meta name="author" content="Stefan Szymanski" /> <meta name="institution" content="University of Michigan" /> <meta property="og:site_name" content="The Conversation" /> <meta property="og:title" content="European court ruling finds just cause to award soccer players greater freedom of movement" /> <meta property="og:description" content="The decision will shake up a transfer market that is weighted in favor of clubs over players – it could also benefit leagues such as MLS." /> <meta property="og:type" content="article" /> <meta property="og:image" content="https://images.theconversation.com/files/623945/original/file-20241007-15-qih0sz.jpg?ixlib=rb-4.1.0&amp;rect=7%2C73%2C4837%2C2415&amp;q=45&amp;auto=format&amp;w=1356&amp;h=668&amp;fit=crop" /> <meta property="og:updated_time" content="2024-10-08T12:24:29Z" /> <meta property="og:url" content="http://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" /> <meta property="article:publisher" content="https://facebook.com/theConversationUS" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@ConversationUS" /> <meta name="twitter:creator" content="@sszy" /> <link rel="canonical" href="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" /> <meta property="fb:pages" content="1453112561595308"> <script type="application/javascript"> window.PAGE_CONFIG = { content_id: 240403, content_slug: 'european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403', comments_closed_at: '2024-10-08T12:24:29Z', subscriptionOptions: {}, promos_context: { topic_ids: [479, 480, 481, 700, 4768, 11020, 11330, 16519, 19740, 21335, 55843, 97306], section_ids: [3233, 3232], collaborator_ids: [906375, 1226104], content_language: 'en', } } </script> <script> window.GTM = window.GTM || {} window.GTM.pageType = "article" window.GTM.ArticleData = {"article_id":"240403","article_tags":"Athletes|ECJ|Employment|Employment law|European Court of Justice|FIFA |Major League Soccer (MLS)|Soccer|Sport|Sports|Sports management|US Soccer","article_type":"free","author_id":"1226104","author_name":"Stefan Szymanski","content_category":"Arts + Culture|Home","feature_type":"analysis","headline":"european court ruling finds just cause to award soccer players greater freedom of movement","publish_date":"2024-10-08","publish_time":"12:24"} </script> <script> //<![CDATA[ window.public_path = "https://cdn.theconversation.com/static/tc/"; window.TC = {}; window.TC.Config = {"cookie_domain":".theconversation.com","image_cdn_domain":"images.theconversation.com","analytics_url":"https://analytics.theconversation.com","sharejs_init_delay_ms":0,"recaptcha":{"enabled":true,"siteKey":"6Lf3Oc0UAAAAAIbME3Lv7iS7EVeuQzpru1Jbij5N"}}; //]]> </script> <!-- refspec 699ce657c2d9ff1e25616ecd6b3ebbbc8c7642c5 --> <title>European court ruling finds just cause to award soccer players greater freedom of movement</title> <style media="screen"> @font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:100;src:local("Montserrat Thin "),local("Montserrat-Thin"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100-a5bfe500a212b55e1d97ab22ec963cc2.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100-f3fd3a8cda2788c9187834cf76d76d57.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:100;src:local("Montserrat Thin italic"),local("Montserrat-Thinitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100italic-c4fd7303dedad09a44867a2c79296456.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100italic-8545c5c9716e859e79c61d608b561504.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:200;src:local("Montserrat Extra Light "),local("Montserrat-Extra Light"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200-11e53b4b006a3bacb5b027c6a9bb64ce.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200-b6f663e2de4a8379688cdba1b954edbc.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:200;src:local("Montserrat Extra Light italic"),local("Montserrat-Extra Lightitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200italic-32131f2a84c4a3abee7d2fd2b49850ad.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200italic-cd7b7fa2da727185e9a74724658bcc65.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:300;src:local("Montserrat Light "),local("Montserrat-Light"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300-c587fd5d56f85fb730092fc82551b5a1.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300-46b5c290e8fd38b7639e3f9383c2ac56.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:300;src:local("Montserrat Light italic"),local("Montserrat-Lightitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300italic-ca09533c023a3a9df2fb0167c26e0fdb.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300italic-f56d740b2c209398b341cc025a9c77d6.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:local("Montserrat Regular "),local("Montserrat-Regular"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400-504499c7e16ee847a32a7a8bf6923a79.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400-7710fcbaccd9837e1c5e7e819bf1d230.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:400;src:local("Montserrat Regular italic"),local("Montserrat-Regularitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400italic-920286bb1fd8ffb693ef17a42546ee3a.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400italic-035e0faa25a71eeab032f07cf5490eef.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:local("Montserrat Medium "),local("Montserrat-Medium"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500-6fd836a65acf6d59bd2f5e0be5717207.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500-561e37f444fecedbe680a382e941392a.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:500;src:local("Montserrat Medium italic"),local("Montserrat-Mediumitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500italic-44f475da8da3427ecc77a4450f00452c.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500italic-4d2fdf6bcf6c74b893e69fec9c8907e5.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:local("Montserrat SemiBold "),local("Montserrat-SemiBold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600-c18b4ac34e93857f7437c28f94923dc0.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600-010ceaeb92611d327450a647f8ce6017.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:600;src:local("Montserrat SemiBold italic"),local("Montserrat-SemiBolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600italic-2dbbde16b836db7a390a71d3aa2a232e.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600italic-045adf4940dd14d523350697cd984663.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:local("Montserrat Bold "),local("Montserrat-Bold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700-66fd2310725b78026454e50d0dd9effc.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700-a7a97263d97c409f1a624f88d4f8f00e.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:700;src:local("Montserrat Bold italic"),local("Montserrat-Bolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700italic-a9005293d3425d6e611c7c5f451d6f68.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700italic-2413952457cc83b0bc6fe20b12ffa15b.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:local("Montserrat ExtraBold "),local("Montserrat-ExtraBold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800-abbac7439df45ab1a1e316d480a5c281.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800-5e564db333b8b21c83b84ed531d94eb2.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:800;src:local("Montserrat ExtraBold italic"),local("Montserrat-ExtraBolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800italic-4dac3f51b5a7a0609d210cc4fd4d5980.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800italic-61120b3c6f076e91b0a7e86ac6966634.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:900;src:local("Montserrat Black "),local("Montserrat-Black"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900-041d8fc07df6765187171717d5b810fb.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900-c440708c3b73b3d9cea7e345718de728.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:900;src:local("Montserrat Black italic"),local("Montserrat-Blackitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900italic-3028f5dd9ff9ce34cb18fac0f6ffbbda.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900italic-1d7048d5048513c46705b15fb67a4379.woff) format("woff")}@keyframes (progress){to{background-position:-60px 0}}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{background:transparent;border:0;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}body,html{height:100%;-webkit-overflow-scrolling:touch}table{border-collapse:separate;border-spacing:0}caption,td,th{font-weight:400;text-align:left}table,td,th{vertical-align:middle}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote,q{quotes:"" ""}img{-ms-interpolation-mode:bicubic}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ol,nav ul{list-style:none}del{text-decoration:line-through}sup{vertical-align:super}sub,sup{font-size:smaller}sub{vertical-align:sub}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}input,select{vertical-align:middle}[class*=" icon-"],[class^=icon-],h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:TCFont-Regular;font-style:normal;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f612b8e50274f80fce402eb6dd5356ea.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f612b8e50274f80fce402eb6dd5356ea.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-b820d37bb7b5e511344449a3bb688f10.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f5cd784c207a3587678e5864b0e6a5ce.ttf) format("truetype")}[class*=" icon-"],[class^=icon-]{display:inline-block;font-family:TCFont-Regular;font-size:1.231em;font-style:normal!important;font-weight:400!important;position:relative;top:-.1em;vertical-align:middle;width:1.231em}[class*=" icon-"].icon-comments:before,[class^=icon-].icon-comments:before{content:""}[class*=" icon-"].icon-twitter:before,[class^=icon-].icon-twitter:before{color:#000;content:""}[class*=" icon-"].icon-email:before,[class^=icon-].icon-email:before{content:""}[class*=" icon-"].icon-facebook:before,[class^=icon-].icon-facebook:before{color:#3a5a93;content:""}[class*=" icon-"].icon-maximise:before,[class^=icon-].icon-maximise:before{content:""}[class*=" icon-"].icon-republish:before,[class^=icon-].icon-republish:before{content:""}[class*=" icon-"].icon-globe:before,[class^=icon-].icon-globe:before{content:""}[class*=" icon-"].icon-delete:before,[class^=icon-].icon-delete:before{content:""}[class*=" icon-"].icon-add:before,[class^=icon-].icon-add:before{content:""}[class*=" icon-"].icon-layout:before,[class^=icon-].icon-layout:before{content:""}[class*=" icon-"].icon-article-published:before,[class*=" icon-"].icon-article:before,[class^=icon-].icon-article-published:before,[class^=icon-].icon-article:before{content:""}[class*=" icon-"].icon-article-check:before,[class^=icon-].icon-article-check:before{content:""}[class*=" icon-"].icon-chart:before,[class^=icon-].icon-chart:before{content:""}[class*=" icon-"].icon-reader:before,[class^=icon-].icon-reader:before{content:""}[class*=" icon-"].icon-readers:before,[class^=icon-].icon-readers:before{content:""}[class*=" icon-"].icon-subtract:before,[class^=icon-].icon-subtract:before{content:""}[class*=" icon-"].icon-comment:before,[class^=icon-].icon-comment:before{content:""}[class*=" icon-"].icon-search:before,[class^=icon-].icon-search:before{content:""}[class*=" icon-"].icon-help:before,[class^=icon-].icon-help:before{content:""}[class*=" icon-"].icon-rss:before,[class^=icon-].icon-rss:before{color:#eb7f3e;content:""}[class*=" icon-"].icon-rss-non-coloured:before,[class^=icon-].icon-rss-non-coloured:before{content:""}[class*=" icon-"].icon-favourite:before,[class^=icon-].icon-favourite:before{content:""}[class*=" icon-"].icon-location:before,[class^=icon-].icon-location:before{content:""}[class*=" icon-"].icon-time:before,[class^=icon-].icon-time:before{content:""}[class*=" icon-"].icon-friend-of-tc:before,[class^=icon-].icon-friend-of-tc:before{content:""}[class*=" icon-"].icon-friend-of-tc-outer:before,[class^=icon-].icon-friend-of-tc-outer:before{content:""}[class*=" icon-"].icon-friend-of-tc-heart:before,[class^=icon-].icon-friend-of-tc-heart:before{content:""}[class*=" icon-"].icon-check:before,[class^=icon-].icon-check:before{content:""}[class*=" icon-"].icon-favourite-add:before,[class^=icon-].icon-favourite-add:before{content:""}[class*=" icon-"].icon-followed:before,[class^=icon-].icon-followed:before{content:""}[class*=" icon-"].icon-skype:before,[class^=icon-].icon-skype:before{content:""}[class*=" icon-"].icon-media-enquiries:before,[class*=" icon-"].icon-phone:before,[class*=" icon-"].icon-work-phone:before,[class^=icon-].icon-media-enquiries:before,[class^=icon-].icon-phone:before,[class^=icon-].icon-work-phone:before{content:""}[class*=" icon-"].icon-mobile:before,[class^=icon-].icon-mobile:before{content:""}[class*=" icon-"].icon-private:before,[class^=icon-].icon-private:before{content:""}[class*=" icon-"].icon-public:before,[class^=icon-].icon-public:before{content:""}[class*=" icon-"].icon-topics:before,[class^=icon-].icon-topics:before{content:""}[class*=" icon-"].icon-menu:before,[class^=icon-].icon-menu:before{content:""}[class*=" icon-"].icon-external-link:before,[class^=icon-].icon-external-link:before{content:""}[class*=" icon-"].icon-trash:before,[class^=icon-].icon-trash:before{content:""}[class*=" icon-"].icon-image:before,[class*=" icon-"].icon-picture:before,[class^=icon-].icon-image:before,[class^=icon-].icon-picture:before{content:""}[class*=" icon-"].icon-edit:before,[class^=icon-].icon-edit:before{content:""}[class*=" icon-"].icon-heading:before,[class^=icon-].icon-heading:before{content:""}[class*=" icon-"].icon-bold:before,[class^=icon-].icon-bold:before{content:""}[class*=" icon-"].icon-italic:before,[class^=icon-].icon-italic:before{content:""}[class*=" icon-"].icon-link:before,[class^=icon-].icon-link:before{content:""}[class*=" icon-"].icon-video:before,[class^=icon-].icon-video:before{content:""}[class*=" icon-"].icon-fullscreen:before,[class^=icon-].icon-fullscreen:before{content:""}[class*=" icon-"].icon-close-fullscreen:before,[class^=icon-].icon-close-fullscreen:before{content:""}[class*=" icon-"].icon-favourite-minus:before,[class^=icon-].icon-favourite-minus:before{content:""}[class*=" icon-"].icon-envelope:before,[class^=icon-].icon-envelope:before{content:""}[class*=" icon-"].icon-simple-check:before,[class^=icon-].icon-simple-check:before{content:""}[class*=" icon-"].icon-calendar:before,[class^=icon-].icon-calendar:before{content:""}[class*=" icon-"].icon-the-conversation:before,[class^=icon-].icon-the-conversation:before{content:""}[class*=" icon-"].icon-lock:before,[class^=icon-].icon-lock:before{content:""}[class*=" icon-"].icon-unlock:before,[class^=icon-].icon-unlock:before{content:""}[class*=" icon-"].icon-audio:before,[class^=icon-].icon-audio:before{content:""}[class*=" icon-"].icon-chevron-right:before,[class^=icon-].icon-chevron-right:before{content:""}[class*=" icon-"].icon-caret-down:before,[class^=icon-].icon-caret-down:before{content:""}[class*=" icon-"].icon-caret-left:before,[class^=icon-].icon-caret-left:before{content:""}[class*=" icon-"].icon-caret-right:before,[class^=icon-].icon-caret-right:before{content:""}[class*=" icon-"].icon-caret-up:before,[class^=icon-].icon-caret-up:before{content:""}[class*=" icon-"].icon-pastespecial:before,[class^=icon-].icon-pastespecial:before{content:""}[class*=" icon-"].icon-linkedin:before,[class^=icon-].icon-linkedin:before{color:#0181b2;content:""}[class*=" icon-"].icon-pause:before,[class^=icon-].icon-pause:before{content:""}[class*=" icon-"].icon-cog:before,[class^=icon-].icon-cog:before{content:""}[class*=" icon-"].icon-orcid:before,[class^=icon-].icon-orcid:before{color:#a6ce39;content:""}[class*=" icon-"].icon-music:before,[class^=icon-].icon-music:before{content:""}[class*=" icon-"].icon-print:before,[class^=icon-].icon-print:before{content:""}[class*=" icon-"].icon-google-plus:before,[class^=icon-].icon-google-plus:before{color:#de4931;content:""}[class*=" icon-"].icon-home:before,[class^=icon-].icon-home:before{content:""}[class*=" icon-"].icon-facebook-simple:before,[class^=icon-].icon-facebook-simple:before{color:#3a5a93;content:""}[class*=" icon-"].icon-tag:before,[class^=icon-].icon-tag:before{content:""}[class*=" icon-"].icon-left-guillemet:before,[class^=icon-].icon-left-guillemet:before{content:""}[class*=" icon-"].icon-input:before,[class^=icon-].icon-input:before{content:""}[class*=" icon-"].icon-whatsapp:before,[class^=icon-].icon-whatsapp:before{color:#455a64;content:""}[class*=" icon-"].icon-fb-messenger:before,[class^=icon-].icon-fb-messenger:before{color:#0084ff;content:""}[class*=" icon-"].icon-youtube:before,[class^=icon-].icon-youtube:before{color:red;content:""}[class*=" icon-"].icon-auth-facebook:before,[class^=icon-].icon-auth-facebook:before{color:#3a5a93;content:""}[class*=" icon-"].icon-auth-twitter:before,[class^=icon-].icon-auth-twitter:before{color:#000;content:""}[class*=" icon-"].icon-auth-linkedin:before,[class^=icon-].icon-auth-linkedin:before{color:#0181b2;content:""}[class*=" icon-"].icon-auth-google:before,[class^=icon-].icon-auth-google:before{color:#de4931;content:""}.icon-combine .icon-friend-of-tc-heart{margin-top:.045em;position:absolute}span.icon-combine-heart{display:inline-block;font-size:inherit;height:inherit;padding-left:10px;position:relative}span.icon-combine-heart i{left:0;position:absolute;text-align:center;top:0}i.icon-conversation-red{color:#d8372c}.vivus-icon-examples li{float:left;height:25px;list-style:none;padding:10px 0;width:25%}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-979b88dad081c654981a0c29d46e27bc.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-979b88dad081c654981a0c29d46e27bc.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-6fbec92a1e6cb891ff0da1af2e97a523.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-116bba3f2aa32286b63c594118c67f74.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-9f88f945d8445fa58978dfbc4bce5ae9.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-9f88f945d8445fa58978dfbc4bce5ae9.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-98b8244fa821eed601d3d92165b098c6.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-1c63ea5a813372cc806d3885496b3308.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-760c6e0b5a6ab858f15ea6cc6a864a40.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-760c6e0b5a6ab858f15ea6cc6a864a40.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-022309ef5c47fb36921851f730a90a84.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-e6cc30071bd07d243648b875a10a6c02.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:700;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-4fc9003b7c507a3909502ccc05a9cf2a.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-4fc9003b7c507a3909502ccc05a9cf2a.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-005508da94d530c4715b860b63e014bc.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-d0e7fc2079d2288a9c737a386bd46401.ttf) format("truetype")}@media only screen and (max-width:599px){body{font-size:16px;height:100%;line-height:22px;width:100%}body #page-wrapper.overlay-visible{height:100%;overflow:hidden}body .handheld{display:block}body p{padding:0}body.pages-show .highlight-panel{display:none}body.pages-show .page-layout.section .handheld-analysis,body.pages-show .page-layout.section .series{display:block}body.pages-show .page-layout.section .handheld-ad,body.pages-show .page-layout.section .handheld-briefs{display:none}body.pages-show .page-layout.section.handheld-display-research .handheld-briefs,body.pages-show .page-layout.section.handheld-display-research .handheld-research{display:block}body.pages-show .page-layout.section.handheld-display-research #special_section,body.pages-show .page-layout.section.handheld-display-research .handheld-ad,body.pages-show .page-layout.section.handheld-display-research .series,body.pages-show .page-layout.section.handheld-display-research section#research-news .bordered{display:none}body.pages-show .page-layout.section.handheld-display-columns .handheld-ad,body.pages-show .page-layout.section.handheld-display-columns .handheld-columnists{display:block}body #analysis-and-comment .bordered,body #columnists .bordered,body #eb,body #editors-picks,body #members-footer,body #misc-sidebar,body #partners-footer,body #primary-navigation,body #research-news .bordered,body .masthead-search,body.pages-show .page-layout.section.handheld-display-columns #special_section,body.pages-show .page-layout.section.handheld-display-columns .handheld-briefs,body.pages-show .page-layout.section.handheld-display-columns .series{display:none}body .wrapper{margin:0;padding-left:10px;padding-right:10px;width:auto}body.search-index #search_form #search-header{background:none;padding:0}body.search-index #search_form #search-header .search-form{padding-bottom:0}body.search-index #search_form #search-header .search-form label{box-sizing:border-box;padding:6px 0 0 8px}body.search-index #search_form #search-header .search-form input{-webkit-appearance:none;box-sizing:border-box;font-size:20px;min-width:100%;padding:4px 8px 4px 35px;width:100%}body.search-index #search_form #search-header .search-form input[type=submit]{left:-110%;position:absolute}body.search-index #search_form #search-header .search-form nav,body.search-index #search_form aside#search-sidebar{display:none}body.search-index #search_form section#search-results{margin-top:12px}body.search-index #search_form section#search-results h1{font-size:20px;text-align:left}body footer#footer{padding:5px 0}body footer#footer a{letter-spacing:normal;margin-right:10px}body footer#footer p.copyright{clear:both;float:none;font-size:12px;letter-spacing:normal;margin-bottom:0;padding:5px 0;text-align:center}body footer#footer p.copyright span{display:block}body footer#footer p.copyright span+span{margin-top:3px}body footer#footer p.copyright a{display:inline}body footer#footer p.copyright .comma{display:none}body #outer{padding-top:12px}body #outer>.wrapper{padding-bottom:0}body #outer .sidebar-link-list{display:none}body.pages .page-layout.section nav#tabbed-navigation{display:table}body h1.page-header{font-size:20px!important;line-height:1.3!important;width:100%}body h2{font-size:18px;line-height:1.3}body.partners.partners-index .partner article:after,body.partners.partners-index .partner:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}body.info.info-contact_us #email tr th{border:0!important;display:block;padding-bottom:10px!important}body.info.info-contact_us #email tr td{border-bottom:1px solid #d7d7db;border-top:0!important;display:block;margin:0!important;padding-top:0!important}body article aside.share{clear:both}body article aside.share li{float:left;margin-right:5px}body article aside.share li .button{font-size:10px;margin-bottom:0;padding-right:8px}body .content-list figure{display:none}body.columns-show article{margin-bottom:1em}body.columns-show .pagination{font-size:.9em;margin-bottom:1em}}@media only screen and (min-width:1466px){html body .article-section article h2{font-size:20px}html body .article-section .lead-story h2{font-size:30px}html body .article-section .c-format h2{font-size:12px}html body.profiles-dashboards-show .metrics-wrapper .metrics-column{width:50%}html body .donations-video iframe{height:279px}}.vivus-grid-example{background-color:#212121;color:#fff;display:block;margin-bottom:20px;padding:20px;text-align:center}body{min-width:992px}.wrapper{margin:0 auto;position:relative;width:972px}.wrapper:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.wrapper [class*=" grid-"],.wrapper [class^=grid-]{float:left;margin-right:20px}.wrapper .grid-one{width:42px}.wrapper .grid-two{width:104px}.wrapper .grid-three{width:166px}.wrapper .grid-four{width:228px}.wrapper .grid-five{width:290px}.wrapper .grid-six{width:352px}.wrapper .grid-seven{width:414px}.wrapper .grid-eight{width:476px}.wrapper .grid-nine{width:538px}.wrapper .grid-ten{width:600px}.wrapper .grid-eleven{width:662px}.wrapper .grid-twelve{width:724px}.wrapper .grid-thirteen{width:786px}.wrapper .grid-fourteen{width:848px}.wrapper .grid-fifteen{width:910px}.wrapper .grid-sixteen{width:972px}.wrapper .grid-prepend-one{margin-left:62px}.wrapper .grid-prepend-two{margin-left:124px}.wrapper .grid-prepend-three{margin-left:186px}.wrapper .grid-prepend-four{margin-left:248px}.wrapper .grid-prepend-five{margin-left:310px}.wrapper .grid-prepend-six{margin-left:372px}.wrapper .grid-prepend-seven{margin-left:434px}.wrapper .grid-prepend-eight{margin-left:496px}.wrapper .grid-prepend-nine{margin-left:558px}.wrapper .grid-prepend-ten{margin-left:620px}.wrapper .grid-prepend-eleven{margin-left:682px}.wrapper .grid-prepend-twelve{margin-left:744px}.wrapper .grid-prepend-thirteen{margin-left:806px}.wrapper .grid-prepend-fourteen{margin-left:868px}.wrapper .grid-prepend-fifteen{margin-left:930px}.wrapper .grid-prepend-sixteen{margin-left:992px}.wrapper .grid-append-one{margin-right:62px}.wrapper .grid-append-two{margin-right:124px}.wrapper .grid-append-three{margin-right:186px}.wrapper .grid-append-four{margin-right:248px}.wrapper .grid-append-five{margin-right:310px}.wrapper .grid-append-six{margin-right:372px}.wrapper .grid-append-seven{margin-right:434px}.wrapper .grid-append-eight{margin-right:496px}.wrapper .grid-append-nine{margin-right:558px}.wrapper .grid-append-ten{margin-right:620px}.wrapper .grid-append-eleven{margin-right:682px}.wrapper .grid-append-twelve{margin-right:744px}.wrapper .grid-append-thirteen{margin-right:806px}.wrapper .grid-append-fourteen{margin-right:868px}.wrapper .grid-append-fifteen{margin-right:930px}.wrapper .grid-append-sixteen{margin-right:992px}.wrapper .grid-last{margin-right:0}.wrapper .grid-left{float:left}.wrapper .grid-right{float:right}@media only screen and (max-width:599px){body{min-width:100%}.wrapper,.wrapper .grid-eight,.wrapper .grid-eleven,.wrapper .grid-fifteen,.wrapper .grid-five,.wrapper .grid-four,.wrapper .grid-fourteen,.wrapper .grid-nine,.wrapper .grid-one,.wrapper .grid-seven,.wrapper .grid-six,.wrapper .grid-sixteen,.wrapper .grid-ten,.wrapper .grid-thirteen,.wrapper .grid-three,.wrapper .grid-twelve,.wrapper .grid-two{width:100%}.wrapper .grid-prepend-eight,.wrapper .grid-prepend-eleven,.wrapper .grid-prepend-fifteen,.wrapper .grid-prepend-five,.wrapper .grid-prepend-four,.wrapper .grid-prepend-fourteen,.wrapper .grid-prepend-nine,.wrapper .grid-prepend-one,.wrapper .grid-prepend-seven,.wrapper .grid-prepend-six,.wrapper .grid-prepend-sixteen,.wrapper .grid-prepend-ten,.wrapper .grid-prepend-thirteen,.wrapper .grid-prepend-three,.wrapper .grid-prepend-twelve,.wrapper .grid-prepend-two{margin-left:0}.wrapper .grid-append-eight,.wrapper .grid-append-eleven,.wrapper .grid-append-fifteen,.wrapper .grid-append-five,.wrapper .grid-append-four,.wrapper .grid-append-fourteen,.wrapper .grid-append-nine,.wrapper .grid-append-one,.wrapper .grid-append-seven,.wrapper .grid-append-six,.wrapper .grid-append-sixteen,.wrapper .grid-append-ten,.wrapper .grid-append-thirteen,.wrapper .grid-append-three,.wrapper .grid-append-twelve,.wrapper .grid-append-two{margin-right:0}}@media only screen and (min-width:1466px){body{min-width:1376px}.wrapper{width:1356px}.wrapper .grid-one{width:66px}.wrapper .grid-two{width:152px}.wrapper .grid-three{width:238px}.wrapper .grid-four{width:324px}.wrapper .grid-five{width:410px}.wrapper .grid-six{width:496px}.wrapper .grid-seven{width:582px}.wrapper .grid-eight{width:668px}.wrapper .grid-nine{width:754px}.wrapper .grid-ten{width:840px}.wrapper .grid-eleven{width:926px}.wrapper .grid-twelve{width:1012px}.wrapper .grid-thirteen{width:1098px}.wrapper .grid-fourteen{width:1184px}.wrapper .grid-fifteen{width:1270px}.wrapper .grid-sixteen{width:1356px}.wrapper .grid-prepend-one{margin-left:86px}.wrapper .grid-prepend-two{margin-left:172px}.wrapper .grid-prepend-three{margin-left:258px}.wrapper .grid-prepend-four{margin-left:344px}.wrapper .grid-prepend-five{margin-left:430px}.wrapper .grid-prepend-six{margin-left:516px}.wrapper .grid-prepend-seven{margin-left:602px}.wrapper .grid-prepend-eight{margin-left:688px}.wrapper .grid-prepend-nine{margin-left:774px}.wrapper .grid-prepend-ten{margin-left:860px}.wrapper .grid-prepend-eleven{margin-left:946px}.wrapper .grid-prepend-twelve{margin-left:1032px}.wrapper .grid-prepend-thirteen{margin-left:1118px}.wrapper .grid-prepend-fourteen{margin-left:1204px}.wrapper .grid-prepend-fifteen{margin-left:1290px}.wrapper .grid-prepend-sixteen{margin-left:1376px}.wrapper .grid-append-one{margin-right:86px}.wrapper .grid-append-two{margin-right:172px}.wrapper .grid-append-three{margin-right:258px}.wrapper .grid-append-four{margin-right:344px}.wrapper .grid-append-five{margin-right:430px}.wrapper .grid-append-six{margin-right:516px}.wrapper .grid-append-seven{margin-right:602px}.wrapper .grid-append-eight{margin-right:688px}.wrapper .grid-append-nine{margin-right:774px}.wrapper .grid-append-ten{margin-right:860px}.wrapper .grid-append-eleven{margin-right:946px}.wrapper .grid-append-twelve{margin-right:1032px}.wrapper .grid-append-thirteen{margin-right:1118px}.wrapper .grid-append-fourteen{margin-right:1204px}.wrapper .grid-append-fifteen{margin-right:1290px}.wrapper .grid-append-sixteen{margin-right:1376px}.wrapper .large-grid-one{width:66px}.wrapper .large-grid-two{width:152px}.wrapper .large-grid-three{width:238px}.wrapper .large-grid-four{width:324px}.wrapper .large-grid-five{width:410px}.wrapper .large-grid-six{width:496px}.wrapper .large-grid-seven{width:582px}.wrapper .large-grid-eight{width:668px}.wrapper .large-grid-nine{width:754px}.wrapper .large-grid-ten{width:840px}.wrapper .large-grid-eleven{width:926px}.wrapper .large-grid-twelve{width:1012px}.wrapper .large-grid-thirteen{width:1098px}.wrapper .large-grid-fourteen{width:1184px}.wrapper .large-grid-fifteen{width:1270px}.wrapper .large-grid-sixteen{width:1356px}.wrapper .large-grid-prepend-one{margin-left:86px}.wrapper .large-grid-prepend-two{margin-left:172px}.wrapper .large-grid-prepend-three{margin-left:258px}.wrapper .large-grid-prepend-four{margin-left:344px}.wrapper .large-grid-prepend-five{margin-left:430px}.wrapper .large-grid-prepend-six{margin-left:516px}.wrapper .large-grid-prepend-seven{margin-left:602px}.wrapper .large-grid-prepend-eight{margin-left:688px}.wrapper .large-grid-prepend-nine{margin-left:774px}.wrapper .large-grid-prepend-ten{margin-left:860px}.wrapper .large-grid-prepend-eleven{margin-left:946px}.wrapper .large-grid-prepend-twelve{margin-left:1032px}.wrapper .large-grid-prepend-thirteen{margin-left:1118px}.wrapper .large-grid-prepend-fourteen{margin-left:1204px}.wrapper .large-grid-prepend-fifteen{margin-left:1290px}.wrapper .large-grid-prepend-sixteen{margin-left:1376px}.wrapper .large-grid-append-one{margin-right:86px}.wrapper .large-grid-append-two{margin-right:172px}.wrapper .large-grid-append-three{margin-right:258px}.wrapper .large-grid-append-four{margin-right:344px}.wrapper .large-grid-append-five{margin-right:430px}.wrapper .large-grid-append-six{margin-right:516px}.wrapper .large-grid-append-seven{margin-right:602px}.wrapper .large-grid-append-eight{margin-right:688px}.wrapper .large-grid-append-nine{margin-right:774px}.wrapper .large-grid-append-ten{margin-right:860px}.wrapper .large-grid-append-eleven{margin-right:946px}.wrapper .large-grid-append-twelve{margin-right:1032px}.wrapper .large-grid-append-thirteen{margin-right:1118px}.wrapper .large-grid-append-fourteen{margin-right:1204px}.wrapper .large-grid-append-fifteen{margin-right:1290px}.wrapper .large-grid-append-sixteen{margin-right:1376px}}#header{background:#f2f2f3;border-bottom:5px solid #f2f2f3;border-top:1px solid #d7d7db;padding-top:24px}#header.condensed{border-bottom:1px solid #d7d7db;padding-top:17px}#header.condensed #masthead{margin-bottom:18px}#header.condensed .masthead-home-link{display:block;float:left;top:3px;width:260px}#header.condensed .masthead-home-link img{width:100%}#header.condensed .masthead-tagline{display:none}@media only screen and (max-width:599px){#header,#header.condensed{border:none;padding:0}#header .wrapper,#header.condensed .wrapper{position:static}#header #masthead,#header.condensed #masthead{margin:0}}#masthead{margin:0 0 24px;position:relative}#masthead .masthead-home-link{color:#4b4b4e;display:block;float:left;font-family:Helvetica Neue,sans-serif;font-size:32px;font-weight:700;height:29px;margin-bottom:0;position:relative;text-transform:uppercase;width:350px}#masthead .masthead-home-link img{display:block}html.no-svg #masthead .masthead-home-link{background:url(https://cdn.theconversation.com/static/tc/logos/logo-no-svg-44adbb10155a857a2ee142b13158122f.png) 0 0 no-repeat;height:30px;width:262px}html.no-svg #masthead .masthead-home-link img{display:none}#masthead .masthead-tagline{clear:left;color:#4b4b4e;float:left;font-size:12px;font-weight:400;height:18px;padding-top:4px;width:300px}#masthead .masthead-search{float:right;margin-left:20px;margin-top:-3px}#masthead .masthead-search input{background-color:#fff;border:1px solid #d7d7db;border-radius:2px;display:block;font-size:12px;line-height:16px;min-width:280px;padding:7px 6px 6px 26px;position:relative}#masthead .masthead-search input:focus{border-color:#d7d7db;outline:none}#masthead .masthead-search label{color:#4b4b4e;padding:8px 0 0 12px;position:absolute;z-index:3}#masthead .masthead-search label i:before{color:#4b4b4e;font-size:14px;left:-4px;position:relative;top:0}#masthead .masthead-search .button,#masthead .masthead-search legend{display:none}@media only screen and (max-width:599px){#masthead{display:none}}#topbar{background:#fff;height:46px;line-height:18px;position:relative;z-index:25}.topbar-module{float:left}.topbar-button-list{list-style:none}.topbar-button-list li{float:left;margin-right:8px}.topbar-button-list li:first-child{margin-left:8px}.topbar-button-list a{border-radius:16px;display:block;height:32px;line-height:32px;margin:7px 0;text-align:center;width:32px}.topbar-button-list i{font-size:16px;line-height:16px;margin:0 auto;top:2px;vertical-align:baseline}.topbar-button-list i:before{color:#fff}.topbar-stay-informed{float:right}.topbar-stay-informed .topbar-button-text{color:#fff;display:none;padding:0 6px 0 0}.topbar-stay-informed .topbar-button.with-label a{padding:0 6px;width:auto}.topbar-stay-informed .topbar-button i:before{color:#fff}.topbar-stay-informed .newsletter a{background:#d8372c}.topbar-stay-informed .newsletter a:hover{background:#b12a20}.topbar-stay-informed .facebook a{background:#3a5a93}.topbar-stay-informed .facebook a:hover{background:#4971b7}.topbar-stay-informed .twitter a{background:#00b0e9}.topbar-stay-informed .twitter a:hover{background:#1dc8ff}.topbar-stay-informed .rss a{background:#eb7f3e}.topbar-stay-informed .rss a:hover{background:#f09e6c}.topbar-stay-informed .linkedin a{background:#0181b2}.topbar-stay-informed .linkedin a:hover{background:#01a6e5}.topbar-stay-informed .googleplus a{background:#de4931}.topbar-stay-informed .googleplus a:hover{background:#e5705d}.topbar-item-list{list-style:none}.topbar-item-list li{border-left:1px solid #d7d7db;float:left}.topbar-item-list li:first-child{border-left:0;padding-left:0}.topbar-item-list li a{color:#4b4b4e;display:block;height:18px;padding:15px 10px 13px;transition:background .3s}.topbar-item-list li a:active,.topbar-item-list li a:focus,.topbar-item-list li a:hover{background:#f2f2f3;color:#000}.topbar-item-list .tc-donate{background-color:#d8372c}.topbar-item-list .tc-donate a{color:#fff;font-weight:700;padding:14px 10px}.topbar-item-list .tc-donate a:active,.topbar-item-list .tc-donate a:focus,.topbar-item-list .tc-donate a:hover{background:#990a00;color:#fff}.topbar-dropdown a{color:#4b4b4e;display:block;height:18px;padding:15px 15px 13px;position:relative;transition:background .3s;white-space:nowrap;z-index:200}.topbar-dropdown a:active,.topbar-dropdown a:focus,.topbar-dropdown a:hover{background:#f2f2f3;color:#000}.topbar-dropdown .menu-button-close,.topbar-dropdown .menu-button-open{bottom:0;display:none;left:0;position:absolute;right:0;text-indent:-10000px;top:0}.topbar-dropdown .menu-button-close,.topbar-dropdown .menu-button-close:focus,.topbar-dropdown .menu-button-close:hover,.topbar-dropdown .menu-button-open,.topbar-dropdown .menu-button-open:focus,.topbar-dropdown .menu-button-open:hover{background:url(https://cdn.theconversation.com/static/tc/"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") repeat 0 0}.topbar-dropdown .menu-button-contents{display:block;height:18px;padding:15px 6px 13px 15px;position:relative}.topbar-dropdown .menu-button-text{float:left;max-width:150px;overflow:hidden;padding-right:6px;position:relative;text-overflow:ellipsis;white-space:nowrap}.topbar-dropdown .drop-down-caret{color:transparent;font-size:1em;opacity:.6;top:-2px}.js .topbar-dropdown .drop-down-caret{color:inherit}.topbar-dropdown.open .menu{display:block;z-index:8}.topbar-dropdown.open .menu-button-contents{border-bottom:1px solid #fff;margin-bottom:-1px;position:relative;z-index:10}.topbar-dropdown .menu{background:#fff;border:1px solid #f1f1f2;border-radius:0 0 2px 2px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-sizing:border-box;display:none;left:0;margin-right:-1px;min-width:100%;position:absolute;top:46px}.topbar-mobile-home-link{color:#4b4b4e;display:none;font-family:Helvetica Neue,sans-serif;font-size:18px;font-weight:700;height:46px;margin-left:25%;text-transform:uppercase;width:50%;z-index:100}.topbar-mobile-home-link img{position:relative;top:50%;transform:translateY(-50%);width:100%}.topbar-home-link{text-align:center}.topbar-dashboard-link{float:right}.topbar-dashboard-link a{border-left:1px solid #f2f2f3;border-right:1px solid #f2f2f3}.topbar-label{padding:15px 0 13px 10px}.topbar-edition-selector{border-right:1px solid #f2f2f3;height:46px;position:relative}.topbar-edition-selector .current-region{color:#d8372c}.topbar-account-nav{border-right:1px solid #f2f2f3;float:right;position:relative}.editing-page .topbar-account-nav{border-right:0}.topbar-account-nav img{border-radius:32px;display:inline;height:36px;margin-top:-10px;width:36px}.topbar-account-nav .dashboard{display:none}.topbar-account-nav .activity-count{background:#d8372c;border:1px solid #d8372c;border-radius:10px;color:#fff;font-size:11px;font-weight:700;height:14px;line-height:14px;padding:2px 6px;position:absolute;right:-11px;top:3px;z-index:12}@media only screen and (min-width:1466px){.topbar-stay-informed .topbar-button-text{display:inline}}@media only screen and (max-width:599px){.topbar-admin-shortcuts,.topbar-dashboard-link,.topbar-edition-selector,.topbar-edition-selector-title,.topbar-home-link,.topbar-promotional-links,.topbar-stay-informed{display:none}#topbar{border-bottom:1px solid #f2f2f3;font-size:12px}#topbar .wrapper{padding-left:10px;padding-right:10px}#topbar .topbar-mobile-home-link{display:block}#topbar .author-signup,#topbar .reader-signup{display:none}.topbar-account-nav{border-right:0;display:block;position:absolute;right:0;top:0}.topbar-account-nav .activity-count{right:33px}.topbar-account-nav.open .menu-button-contents{border-left:1px solid #f2f2f3}.topbar-account-nav .menu-button-contents{padding-left:6px}.topbar-account-nav .menu-button-name{display:none}.topbar-account-nav .menu{border-right:0;left:auto;right:1px}.topbar-account-nav .dashboard{display:block}.topbar-account-nav .menu-button{padding-left:0}}#page-wrapper,body,html{height:100%}body{background-color:#fff;line-height:18px}#page-wrapper{display:flex;flex-direction:column}#outer{flex:1;padding-top:48px}#outer>.wrapper{padding-bottom:48px}#footers{flex-shrink:0}.handheld{display:none}h1 a:hover{text-decoration:none}div.crop{overflow:hidden}table.grid td,table.grid tr{border-bottom:1px solid #000}input::-moz-placeholder{color:#62626a}input::placeholder{color:#62626a}input.placeholder{color:#62626a}input:focus::-moz-placeholder{color:#d7d7db}input:focus::placeholder{color:#d7d7db}input:focus.placeholder{color:#d7d7db}.fluid-width-video-wrapper{margin-bottom:18px}audio{display:none;height:0;visibility:hidden;width:0}.placeholder-container{background-color:var(--background-color);position:relative}.placeholder-container:before{content:"";float:left;height:0;margin-left:-1px;padding-top:var(--aspect-ratio-percent);width:1px}.placeholder-container:after{clear:both;content:"";display:table}.placeholder-container iframe,.placeholder-container img{bottom:0;height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:.1;position:absolute!important;right:0;top:0;transition:opacity .5s;width:100%}.placeholder-container iframe.lazyloaded,.placeholder-container img.lazyloaded{filter:blur(0);opacity:1}.placeholder-container img{background-color:#fff}html{-webkit-text-size-adjust:100%}body,input,select,textarea{color:#000;font-family:Helvetica Neue,sans-serif;font-size:13px}.text-center{text-align:center}span.nobr{white-space:nowrap}p{margin-bottom:18px}p.fine-print{font-size:11px!important}strong{font-weight:700}blockquote,em{font-style:italic}blockquote{clear:both;color:#4b4b4e;margin-bottom:18px;padding:9px 18px 12px;text-align:center}blockquote p:last-child,blockquote>blockquote:last-child{margin-bottom:0}blockquote,blockquote.left{border-left:4px solid #d7d7db;text-align:left}blockquote.right{border-right:4px solid #d7d7db;text-align:right}blockquote.feature{border-bottom:4px solid #f2f2f3;border-left:none;border-top:4px solid #f2f2f3;color:#000;font-family:LeagueGothicRegular,League Gothic,Impact,sans-serif;font-size:32px;font-style:normal;font-weight:700;margin:18px 0 36px;padding:30px 0 24px;position:relative;text-align:left;text-transform:uppercase}blockquote.feature p:first-child{text-indent:50px}blockquote.feature:before{color:#d7d7db;content:"“";font-size:125px;left:0;position:absolute;top:62px}blockquote.feature,blockquote.feature p{line-height:36px}blockquote.feature cite{font-size:24px}blockquote.feature cite:before{content:"— "}blockquote cite{color:#4b4b4e;font-style:normal}blockquote,h1,h2,h3,h4,h5,h6{-webkit-text-rendering:optimizeLegibility;-moz-text-rendering:optimizeLegibility;-ms-text-rendering:optimizeLegibility;-o-text-rendering:optimizeLegibility;text-rendering:optimizeLegibility}h1.legacy.slammed,h2.slammed,h3.slammed,h4.legacy.slammed,h5.slammed,h6.slammed{margin-bottom:0}h1.legacy.border,h2.border,h3.border,h4.legacy.border,h5.border,h6.border{border-bottom:1px solid #d7d7db;padding-bottom:.33em}h1.legacy{font-size:28px;font-weight:700;line-height:36px;margin-bottom:18px}h1.legacy.page-header{border-bottom:1px solid #d7d7db;margin-bottom:36px;padding-bottom:9px}h1.legacy.page-header span{color:#d7d7db}h2{font-size:23px}h2,h3{font-weight:700;margin-bottom:12px}h3{color:#000;font-size:15px;line-height:18px}h4.legacy{color:#000;font-size:10px;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}h6{color:#d7d7db}hr{border:none;border-top:1px solid #d7d7db;clear:both;margin-bottom:18px}.link,a{color:#085d91;outline:none;text-decoration:none}.link:hover,a:hover{color:#003461;text-decoration:none}.link:focus,a:focus{outline:none}.link:visited,a:visited{color:#4b4b4e}.link:visited:hover,a:visited:hover{color:#085d91}nav ol li,nav ul li{list-style:none;margin-left:0}ul li{margin-left:0}ul.fine-print li{font-size:11px}ul.semantic li{list-style-type:none;margin-left:0}ol li{margin-left:0}ol.fine-print li{font-size:11px}ol.semantic li{list-style-type:none;margin-left:0}dl dt{clear:left;float:left;font-weight:700}dl dd{float:left;margin-left:1em;text-align:left}.league-gothic{font-family:LeagueGothicRegular,League Gothic,Impact,sans-serif;font-size:30px;font-size-adjust:.455;font-weight:400;line-height:40px;text-rendering:optimizeLegibility}.meslo{font-family:MesloLGMDZ,Monaco,monospace}.figure,figure{display:block;position:relative}.figure:after,figure:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.figure iframe,figure iframe{display:block}.figure .figcaption,.figure figcaption,figure .figcaption,figure figcaption{color:#212121;display:block;font-size:13px;line-height:18px;padding-top:6px}.figure .figcaption a,.figure figcaption a,figure .figcaption a,figure figcaption a{font-weight:400!important}.figure .figcaption .attribution,.figure .figcaption .attribution a,.figure figcaption .attribution,.figure figcaption .attribution a,figure .figcaption .attribution,figure .figcaption .attribution a,figure figcaption .attribution,figure figcaption .attribution a{color:#212121}.figure .figcaption .attribution a:focus,.figure .figcaption .attribution a:hover,.figure figcaption .attribution a:focus,.figure figcaption .attribution a:hover,figure .figcaption .attribution a:focus,figure .figcaption .attribution a:hover,figure figcaption .attribution a:focus,figure figcaption .attribution a:hover{color:#085d91}article header p.byline{color:#4b4b4e;font-size:11px;line-height:18px;margin-bottom:0;padding:2px 0}.callout{background:#f2f2f3;border-top:4px solid #d7d7db;color:#000;display:block;margin:1em 0;padding:.5em 1em}.right{float:right}.left{float:left}.clear{clear:both}.clear-left{clear:left}.clear-right{clear:right}.clearfix:after,.clearfix:before{content:" ";display:block;height:0;visibility:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}@keyframes pulse{40%{transform:scale(1)}47%{transform:scale(1.03)}55%{transform:scale(1)}to{transform:scale(1)}}.information{background:#f2f2f3 url(https://cdn.theconversation.com/static/tc/icons/alert-instructions-76f48e944055d94f9ad902aca4ffe1f1.png) no-repeat 15px 13px;border-radius:2px;color:#4b4b4e;padding:12px 12px 12px 42px}.information a{color:inherit;font-weight:700}.information p{margin-bottom:0}.information p+p{margin-top:1em}.information .button{margin:-3px 6px}.information ul{list-style-position:inside}.information.prominent{background-color:#f2f2f3;border:1px solid #d7d7db}.information.success{background-color:#29a37a;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-success-cefcd0dc236e8d3c0a77863b29040399.png);color:#fff}.information.error{background-color:#d8372c;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-error-f95893328ecf3dd6c51eba085c089084.png);color:#fff}.information.warning{background-color:#ffda75;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-information-30e614f3f403049753170ccd98ce7053.png);color:#000}.formtastic .information{padding:12px 12px 12px 42px}p.flash{animation-duration:5s;animation-iteration-count:infinite;animation-name:pulse;animation-timing-function:ease-in-out;backface-visibility:hidden;background-color:#f2f2f3;border:1px solid #d7d7db;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);color:#000;filter:url(https://cdn.theconversation.com/static/tc/"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'/></filter></svg>#grayscale");font-size:13px;left:50%;margin-left:-240px;padding:10px 20px;position:fixed;text-align:center;top:0;transform-style:preserve-3d;width:440px;z-index:30000}@media only screen and (max-width:599px){p.flash{margin-left:-37%;padding:10px 2%;width:70%}}p.flash.hidden{top:-200px;transition:top .5s}p.flash.show{top:0;transition:top .5s}p.flash.notice{background-color:#29a37a;border-color:#29a37a;color:#fff;font-weight:700}p.flash.warning{background-color:#ffda75;border-color:#ffda75}p.flash.alert{background-color:#d8372c;border-color:#d8372c;color:#fff;font-weight:700}#masthead{padding-top:5px}#masthead a.masthead-home-link{height:40px;margin-top:-8px}#masthead .masthead-search #q{box-sizing:border-box}#primary-navigation{position:relative}#primary-navigation:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}#primary-navigation ol{float:left;list-style:none;margin-bottom:-4px;width:100%;z-index:3}#primary-navigation li{float:left;margin-right:.8em}#primary-navigation li:last-child{margin-right:0}#primary-navigation li.custom-nav-link{float:right;margin-left:20px}#primary-navigation a{border-bottom:5px solid transparent;color:#4b4b4e;display:block;float:left;font-size:13px;font-weight:700;line-height:26px;margin-bottom:-1px;padding-bottom:5px}#primary-navigation a.current,#primary-navigation a:hover{border-color:#d8372c;text-decoration:none}#primary-navigation a:hover{color:#4b4b4e}#primary-navigation a.current{color:#212121}#primary-navigation span span{color:#4b4b4e}@media only screen and (min-width:1466px){#primary-navigation li{margin-right:1.2em}#primary-navigation a{font-size:14px}}.region-select{background:#fff;border:1px solid #d7d7db;border-radius:.25rem;float:left;height:28px;margin:10px 10px 0 0;overflow:hidden;position:relative;width:140px}.region-select:after{bottom:0;color:#d7d7db;content:"";font-family:TCFont-Regular;line-height:2;position:absolute;right:10px;top:0}.region-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;-moz-outline:none;-moz-user-focus:none;background:transparent;border:none;box-shadow:none;color:#383838;display:block;font-size:inherit;height:28px;outline:none;padding:5px 7px;position:absolute;text-indent:.01px;text-overflow:"";width:120%;z-index:1}.region-select select:-moz-focusring{color:transparent}.region-select select::-ms-expand{display:none}.search-form legend{display:none}.search-form .input-wrapper{position:relative}.search-form .input-wrapper input[type=text],.search-form .input-wrapper label{display:block;font-size:12px;line-height:16px}.search-form .input-wrapper label{color:#4b4b4e;padding:8px 0 0 12px;position:absolute;z-index:3}.search-form .input-wrapper label i:before{color:#4b4b4e;font-size:14px;left:-4px;position:relative;top:0}.search-form .input-wrapper input[type=text]{background-color:#fff;border:1px solid #d7d7db;border-radius:2px;min-width:280px;padding:7px 6px 6px 26px;position:relative}.search-form .input-wrapper input[type=text]:focus{border-color:#293299;outline:none}#small-sidebar{background:#fff;background-clip:padding-box;border-top:46px solid transparent;box-sizing:border-box;display:none;font-family:Noto Sans,sans-serif;height:0;overflow-y:auto;position:absolute;top:0;transition:height .55s cubic-bezier(.32,.08,.24,1);width:100%;z-index:11;-webkit-overflow-scrolling:touch}#small-sidebar.visible{height:100%}#small-sidebar.visible .small-sidebar-group{opacity:1;top:0}.new-header #small-sidebar{border-top:96px solid transparent;z-index:9}#small-sidebar-close-button,#small-sidebar-open-button{color:#383838;display:none;font-family:Noto Sans,sans-serif;font-size:14px;font-weight:700;line-height:46px;padding:0 12px;position:absolute;top:auto;transition:opacity .275s}.new-header #small-sidebar-close-button,.new-header #small-sidebar-open-button{color:#000;font-family:Montserrat;line-height:57px;padding:0 16px;top:44px}#small-sidebar-open-button{opacity:1;z-index:101}#small-sidebar-close-button,#small-sidebar-open-button.visible{opacity:0;z-index:100}#small-sidebar-close-button.visible{opacity:1;z-index:101}.small-sidebar-editions .region-select{border:none;box-sizing:border-box;height:33px;margin:0;width:100%}.small-sidebar-editions .region-select:after{color:#727272;line-height:1em;padding:10px;pointer-events:none;right:0;top:0}.small-sidebar-editions select{font-size:15px;height:33px;padding:0 4px}#small-sidebar-search form{position:relative}#small-sidebar-search input{border:none;border-radius:.25rem;box-sizing:border-box;font-size:15px;height:33px;width:100%}#small-sidebar-search input::-moz-placeholder{color:#383838;opacity:1}#small-sidebar-search input::placeholder{color:#383838;opacity:1}#small-sidebar-search input:focus::-moz-placeholder{opacity:.2}#small-sidebar-search input:focus::placeholder{opacity:.2}#small-sidebar-search button{background:none;border:none;border-radius:2px;color:#fff;cursor:pointer;height:29px;padding:7px 0;position:absolute;right:2px;top:2px;transition:background .3s;width:33px}#small-sidebar-search button .icon-search{color:#727272;font-size:22px}#small-sidebar-search input,.small-sidebar-editions .region-select{border:1px solid #d7d7db;border-radius:.25rem;float:none;height:auto;width:100%}#small-region-select-dropdown,#small-sidebar-search input{font-family:Noto Sans,sans-serif;font-size:14px;height:auto;padding:10px 12px;position:static;width:100%}.small-sidebar-group{opacity:0;padding:12px;position:relative;top:-50px;transition:opacity 1.1s cubic-bezier(.32,.08,.24,1) .198s,top .55s cubic-bezier(.32,.08,.24,1)}.small-sidebar-group:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.small-sidebar-group+.small-sidebar-group{margin-top:0}.small-sidebar-group h3{color:#383838;font-size:14px;font-weight:700;line-height:1;margin:0 0 8px;padding:0}.small-sidebar-group h3:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.small-sidebar-group ul{list-style:none}.small-sidebar-group li{margin:5px 0 0}.small-sidebar-group a{color:#383838;display:block;font-size:20px;font-weight:700;line-height:1;margin:0 0 .8em;padding:.2em 0;position:relative}.small-sidebar-group a.active{border-left:6px solid #d7d7db;margin-left:-12px;padding-left:6px}.small-sidebar-group .icon-chevron-right{font-size:14px;line-height:1;position:absolute;right:2px;top:10px}.sections-sidebar-group a{font-family:Montserrat,sans-serif}@media only screen and (max-width:599px){#small-sidebar,#small-sidebar-close-button,#small-sidebar-open-button{display:block}}#topbar .topbar-stay-informed a{border-right:1px solid #f1f1f2}#topbar .topbar-dashboard-link a{border-left:0}#topbar .topbar-account-nav h4{padding:0 15px}#topbar .topbar-admin-shortcuts{border-right:1px solid #f1f1f2;float:right}#topbar .topbar-account-nav .menu{left:auto;min-width:125%;right:0}#topbar .menu-button-contents{cursor:pointer}@media only screen and (max-width:599px){#topbar{border-bottom:none}#topbar #topbar-dynamic-content.language-override-es .reader-signin{font-size:11px}#topbar .topbar-account-nav{font-family:Noto Sans,sans-serif;font-size:14px;font-weight:700}#topbar .topbar-account-nav li{border-left:none}#topbar .topbar-account-nav li a{color:#383838}#topbar .topbar-account-nav .metrics{display:none}}.content-authors{font-size:12px}.content-authors h3{font-size:11px}.content-authors a{font-weight:700}.content-authors .institution_name{color:#4b4b4e;font-weight:400}.content-authors-synopsis{display:none}.content-authors-synopsis i{border:1px solid #d7d7db;border-radius:50%;color:#4b4b4e;height:16px;line-height:16px;margin-right:6px;text-align:center;width:16px}.content-authors-synopsis .icon-caret-up{display:none}.content-authors-group{margin-bottom:36px}.content-authors-group ol{list-style:none;padding-top:6px}.content-authors-group li{clear:left}.content-authors-group li+li{margin-top:24px}.content-authors-group img{border-radius:50%;display:block;float:left;margin:0 12px 18px 0;width:48px}.content-post .team-blog .content-authors-group img{display:block}.content-post .content-authors-group img{display:none}.content-post .content-authors-group .role{margin-left:0}.content-authors-group .role{color:#4b4b4e;font-size:11px;line-height:1.4;margin-left:60px}@media only screen and (max-width:599px){.content-authors h3{margin-left:0}.content-authors-synopsis{display:block;margin-bottom:12px}.content-authors-group{display:none}.content-authors-group img{margin-left:0}.open .icon-caret-down{display:none}.open .icon-caret-up{display:inline-block}.open .content-authors-group{display:block}}@media only screen and (min-width:1466px){.content-authors-group .role{line-height:1.4}}.content-body{font-family:Libre Baskerville,serif;font-size:18px;line-height:1.6;padding-bottom:12px}.content-body .figcaption a,.content-body a,.content-body figcaption a{white-space:pre-wrap;word-wrap:break-word;color:#4b4b4e;text-decoration:underline}.content-body .figcaption a:hover,.content-body a:hover,.content-body figcaption a:hover{color:#293299}.content-body .figcaption a:visited,.content-body a:visited,.content-body figcaption a:visited{color:#4b4b4e}.content-body .figcaption a:visited:hover,.content-body a:visited:hover,.content-body figcaption a:visited:hover{color:#293299}.content-body blockquote{border-left:8px solid #d7d7db}.content-body ol,.content-body ul{margin-bottom:18px;padding-left:2em}.content-body table{border:1px solid #d7d7db;border-collapse:collapse;border-spacing:0;empty-cells:show;font-family:Helvetica Neue,sans-serif;font-size:13px;margin-bottom:18px;width:100%}.content-body table thead th{font-weight:700;vertical-align:top}.content-body table tbody td,.content-body table thead th{border:1px solid #d7d7db;padding:.5em 1em}.content-body figure{margin-bottom:18px}.content-body figure table{margin-bottom:0}.content-body figure.align-right{clear:right;float:right;margin-left:20px;width:237px}.content-body figure.align-left{clear:left;float:left;margin-right:20px;width:237px}.content-body figure.align-center img{width:100%}.content-body figure a,.content-body figure img{display:block;max-width:100%;text-decoration:none}.content-body figure figcaption{color:#4b4b4e;cursor:default;font-family:Helvetica Neue,sans-serif}.content-body figure figcaption a{display:inline}.content-topics{margin-bottom:12px}.content-topics ul{margin-left:25px}@media only screen and (max-width:599px){.content-body{font-size:16px;line-height:1.6}.content-body blockquote{margin-left:-10px}.content-body figure.align-left,.content-body figure.align-right{margin-bottom:12px;width:100%}.content-body figure.align-left img,.content-body figure.align-right img{width:100%}}.content-column-header{margin-top:1px;position:relative}.content-column-header .column-header{background-color:#f2f2f3;border-bottom:1px solid #e5e5e6;color:#383838;display:block;height:118px}.content-column-header .column-header:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.content-column-header .column-header:hover h3{text-decoration:underline}.content-column-header .content-column-feed{cursor:pointer;display:block;padding-top:5px;position:absolute;right:0;text-align:center;top:18px;z-index:7}.content-column-header .content-column-feed-itunes{top:54px}.content-column-header img{border:1px solid #fff;border-radius:50%;float:left;margin-top:15px;width:90px}.content-column-header h3{font-size:27px;padding-top:40px}@media only screen and (max-width:599px){.content-column-header .column-header{height:auto}.content-column-header .content-column-feed{right:10px}.content-column-header .content-column-feed span{display:none}.content-column-header .content-column-image{position:absolute}.content-column-header .content-column-image img{width:60px}.content-column-header .content-column-title{float:none;margin-left:80px;margin-right:45px;width:auto}.content-column-header h3{font-size:22px;line-height:1.2;margin-bottom:6px;padding-top:20px}.content-column-header .byline{font-size:12px;line-height:1.4;margin-bottom:20px}}.content-column-podcast-header{border-bottom:1px solid #d7d7db;color:#4b4b4e;font-size:18px;font-weight:700;padding:20px 0}.content-column-podcast-header a{color:inherit}.content-column-podcast-header a:hover{color:#212121;text-decoration:underline}.content-column-podcast-header .podcast-link-title{display:block;font-size:28px;line-height:28px;margin-top:18px}@media only screen and (max-width:599px){.podcast-info .image{display:none}}.content-disclosure-statement{margin-bottom:36px}.content-disclosure-statement h3{font-size:11px}.content-disclosure-statement p{margin-bottom:0}.content-disclosure-statement p+p{margin-top:18px}@media only screen and (max-width:599px){.content-disclosure-statement{display:none;line-height:1.4;margin-left:0}.open .content-disclosure-statement{display:block}}.content-header{padding-bottom:36px;padding-top:36px}.content-header-container h1{color:#383838;font-family:Montserrat,sans-serif;font-size:38px;line-height:normal;margin:0 0 12px}.content-header-container time{color:#4b4b4e;font-size:13px}.content-header-container .time-separator{color:#4b4b4e;font-size:11px;padding-left:2px;padding-right:4px}@media only screen and (max-width:599px){.content-header{padding-bottom:0;padding-top:12px}.content-header-container h1{font-size:28px;line-height:1.4;margin-bottom:0}.content-header-container .time-separator{display:none}.content-header-container .timestamps{padding:12px 0}.content-header-container time{display:block}}.content-lead-image{padding-bottom:36px}.content-lead-image img{display:block;width:100%}@media only screen and (max-width:599px){.content-lead-image{padding-bottom:0}}.content-partners{margin-bottom:36px}.content-partners h3{font-size:11px}.content-partners .disclosure-logo{display:table;text-align:center;width:100%}.content-partners .logo{display:table-cell;vertical-align:middle;width:120px}.content-partners .funding-statement,.content-partners .partners-jobs-links{border-bottom:1px solid #f2f2f3;margin-bottom:12px;padding-bottom:12px}.content-partners img{margin:0 auto;max-width:120px;width:100%}.conversation-partners{margin-bottom:36px}.conversation-partners h3{font-size:11px}@media only screen and (max-width:599px){.content-partners{display:none;line-height:1.4;margin-left:0}.content-partners .disclosure-logo{display:none}.open .content-partners{display:block}.conversation-partners{display:none}.open .conversation-partners{display:block}}.content-social-distribution{font-size:11px;padding-bottom:36px;padding-top:5px}.content-social-distribution div{padding-bottom:10px;position:relative}.content-social-distribution a{color:#4b4b4e}.content-social-distribution a:hover{color:#000}.content-social-distribution i{font-size:12px}.content-social-distribution .fb-messenger,.content-social-distribution .whatsapp{display:none}.content-social-distribution .data-count{border:1px solid #d7d7db;border-radius:2px;color:#4b4b4e;padding:0 3px;position:absolute;right:0;top:0}.gallery-content .content-social-distribution{display:none}@media only screen and (max-width:599px){.content-social-distribution{border-bottom:1px solid #d7d7db;border-top:1px solid #d7d7db;clear:both;display:flex;margin:0 0 12px;padding:6px 0;width:100%}.content-social-distribution div{flex:1;padding:3px 0;text-align:center}.content-social-distribution div+div{border-left:1px solid #d7d7db}.content-social-distribution .fb-messenger,.content-social-distribution .whatsapp{display:block}.content-social-distribution a{display:block;width:100%}.content-social-distribution i{font-size:20px;top:0}.content-social-distribution i.icon-facebook{top:.1em}.content-social-distribution span,.data-count,.print{display:none}}#article .content-sidebar{float:right;position:relative}.content-sidebar{font-size:11px;margin-bottom:60px}.content-sidebar section.column-authors,.content-sidebar section.column-banner{margin-left:0}.content-sidebar .related-topics a{font-weight:700}.content-sidebar .byline{color:#4b4b4e;font-size:13px;margin-bottom:12px;margin-top:12px}.column-banner{margin-bottom:36px}.column-banner .byline{color:#4b4b4e;font-size:11px;font-style:italic;margin-bottom:12px;margin-top:12px}.column-title{border-bottom:1px solid #f2f2f3;display:block;height:108px;margin-bottom:12px;margin-top:28px;position:relative}.column-title:after{border-bottom:1px solid #f2f2f3;bottom:-3px;content:"";position:absolute;width:100%}.column-title h3{bottom:1px;font-size:15px;margin:0;padding-bottom:12px;padding-right:80px;position:absolute}.column-title img{bottom:0;position:absolute;right:0}@media only screen and (max-width:599px){.content-sidebar{margin-bottom:0;margin-left:0}.content-sidebar section{margin-left:0}}.content-translations{margin-bottom:36px}.content-translations ul{list-style:none}.content-translations-toggle{display:none}@media only screen and (max-width:599px){.content-translations{position:absolute;right:0;top:0}.content-translations h3,.content-translations ul{display:none}.content-translations.open{background:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);min-width:50%;padding:10px;position:absolute;right:0;top:-10px;z-index:100}.content-translations.open h3,.content-translations.open ul{display:block}.content-translations.open .content-translations-toggle{top:0}.content-translations.open .content-translations-toggle .icon-caret-up{display:inline-block}.content-translations.open .content-translations-toggle .icon-caret-down{display:none}.content-translations-toggle{display:block;font-size:20px;height:40px;line-height:40px;position:absolute;right:0;text-align:center;top:-10px;width:60px}.content-translations-toggle img{vertical-align:middle;width:26px}.content-translations-toggle i{border:1px solid #b0b3ba;border-radius:50%;color:#b0b3ba;font-size:15px;height:16px;line-height:16px;text-align:center;width:16px}.content-translations-toggle .icon-caret-down{display:inline-block}.content-translations-toggle .icon-caret-up{display:none}}body.refresh-article #outer{padding:0}body.refresh-article .audio-player{margin-bottom:36px}body.refresh-article .has-desktop-magazine .content-header,body.refresh-article .has-desktop-magazine .content-lead-image{display:none}@media only screen and (max-width:599px){body.refresh-article .has-desktop-magazine .content-header,body.refresh-article .has-desktop-magazine .content-lead-image,body.refresh-article .normal .content-header,body.refresh-article .normal .content-lead-image{display:block}}.magazine{display:none;padding-bottom:24px}.has-desktop-magazine .magazine{display:block}.magazine .image{background-position:50%;background-repeat:no-repeat;background-size:cover;-ms-behavior:url(https://cdn.theconversation.com/static/tc/stylesheets/backgroundsize.min-fd1df32bcabf45d9ca0f1696b9e81652.htc);height:600px}.magazine .image .placeholder-container,.magazine .image img{display:none}.magazine .wrapper{height:100%}.magazine-title{bottom:0;position:absolute;width:100%}.magazine-title header{bottom:70px;position:absolute}.magazine-title .content-header-block{border-left:24px solid #fff;display:inline-block;left:-12px;line-height:normal;padding:4px 0 0;position:relative}.magazine-title h1{background-color:#fff;color:#383838;display:inline;left:-1px;line-height:normal;margin:0;padding:4px 0 6px;position:relative}.magazine-title strong{left:-12px;position:relative;z-index:10}.magazine-title time{background-color:#fff;color:#4b4b4e;display:inline-block;font-size:13px;margin:-1px 0 0 -12px;padding:6px 12px}.magazine-title .time-separator{display:none}@media only screen and (max-width:599px){.magazine{padding-bottom:0}.has-desktop-magazine .magazine{display:none}.has-mobile-magazine .magazine{display:block}.magazine .image{background-image:none!important;height:auto}.magazine .image img{display:block;width:100%}.magazine .image .placeholder-container{display:block}.magazine-header{height:auto}.magazine-title{position:relative}.magazine-title header{bottom:auto;position:relative}.magazine-title .content-header-block{border-left:none;display:block;left:auto}.magazine-title h1{background:transparent;display:block;padding-bottom:0}.magazine-title h1 strong{left:0}.magazine-title .timestamps{padding:12px 0}.magazine-title time{display:block;margin:0;padding:0}}.content-gallery-item{background:#f2f2f3;clear:both;margin:0 0 40px;padding:10px 10px 0}.content-gallery-item img{display:block;max-height:90%;max-width:100%}.content-gallery-item figcaption{color:#4b4b4e;font-size:15px;font-weight:700;line-height:1.4;padding:20px 20px 20px 50px;position:relative}.content-gallery-item figcaption .count{color:#4b4b4e;left:5px;position:absolute;text-align:right;width:35px}.content-gallery-item figcaption .source{color:#62626a;font-weight:700;padding-left:.75em}.content-gallery-item:last-child{cursor:n-resize}.content-gallery-cover.loading{background-color:rgba(0,0,0,.9)}.gallery-cover{background:rgba(0,0,0,.9);height:150%;left:0;transition:opacity .35s ease-out;z-index:1000}.gallery-content,.gallery-cover{bottom:0;opacity:1;position:fixed;top:0;width:100%}.gallery-content{overflow:scroll;padding-top:38px;transition:opacity .75s ease-in .3s;z-index:1001}.gallery-content .close-gallery{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);position:fixed;right:26px;top:10px}.gallery-content.hidden,.gallery-cover.hidden{opacity:0}.gallery-content-inner{color:#fff;margin:0 auto;width:75%}.gallery-content-inner header h1{color:#fff}.gallery-content-inner header time{color:#62626a}.gallery-content-inner .content-gallery-item{background:transparent;cursor:default}.gallery-content-inner .content-gallery-item img{background:#fff;margin:0;padding:5px}.gallery-content-inner .content-gallery-item:last-child{cursor:default}.gallery-content-inner .content-gallery-item:last-child img{cursor:n-resize}.gallery-content-inner .content-gallery-item figcaption{color:#fff}.gallery-content-inner .content-gallery-item figcaption .count,.gallery-content-inner .content-gallery-item figcaption .source{color:hsla(0,0%,100%,.6)}#article .post-navigation{clear:both;margin-bottom:20px}#article .post-navigation ol{display:flex;flex-wrap:wrap}#article .post-navigation li{display:flex;float:left;width:50%}#article .post-navigation li:first-child .post-navigation-option{margin-right:10px}#article .post-navigation li:first-child .post-navigation-option:before{content:"";left:-20px;padding-left:10px;text-align:left}#article .post-navigation li:last-child .post-navigation-option{margin-left:10px}#article .post-navigation li:last-child .post-navigation-option:before{content:"";padding-right:10px;right:-20px;text-align:right}#article .post-navigation .post-navigation-option{background:#fff;border:1px solid #d7d7db;position:relative;transform-style:preserve-3d;width:100%}#article .post-navigation .post-navigation-option:before{background:inherit;border:1px solid #d7d7db;border-radius:50%;font-family:TCFont-Regular;height:40px;line-height:40px;position:absolute;top:50%;transform:translateY(-50%);width:30px;z-index:1}#article .post-navigation .post-navigation-option .article{background:inherit;display:block;min-height:65px;padding:20px;position:relative;z-index:2}#article .post-navigation .empty{opacity:0}#article .post-navigation h4{letter-spacing:normal}#article .post-navigation time{color:#4b4b4e;display:block;font-size:11px}#article .content-sidebar.column-sidebar .content-authors{margin-top:60px}@media only screen and (max-width:599px){#article .content-sidebar.column-sidebar .content-authors{margin-top:12px}} /*# sourceMappingURL=webpacked-critical-d0f67762b617f895.css.map*/ </style> <link rel="preload" href="https://cdn.theconversation.com/static/tc/webpacked-core-58ad5155c495e18d.css" as="style" type="text/css" media="screen" onload="this.onload=null;this.rel=&#39;stylesheet&#39;"> <link rel="stylesheet" href="https://cdn.theconversation.com/static/tc/webpacked-print-53ada9a8162f5384.css" media="print" /> <link rel="icon" sizes="192x192" href="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/web-app-logo-192x192-2d05bdd6de6328146de80245d4685946.png"> <link rel="shortcut icon" href="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/favicon-cdcdc0dd51ffe5238483c3f27fd2eb57.ico"> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-WX8PHK9'); </script> <script> window.GTM = window.GTM || {} window.GTM.CustomDimensions = {"UserType":"Reader","RegionCode":"global","CommissioningRegion":"us","ContentType":"analysis"} </script> <script type="text/javascript" charset="utf-8"> window.didomiOnReady = window.didomiOnReady || []; window.DIDOMI = { ENABLED: false, THE_CONVERSATION_SDK_ID: "c:theconver-dUNGGyiP", THE_CONVERSATION_PROMOS_PURPOSE: "theconver-AA8pWL4T", } </script> <script> window.didomiEventListeners = window.didomiEventListeners || []; window.didomiEventListeners.push({ event: 'consent.changed', listener: function () { window.dispatchEvent(new CustomEvent('didomi:consent.changed')) } }); </script> <meta name="apple-mobile-web-app-title" content="The Conversation"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="default"> <link rel="apple-touch-icon" href="https://images.theconversation.com/files/581997/original/9275d5c0-7dd5-4ddf-b50b-98d537e016f4.png"> <link rel="manifest" href="/manifest.json"> </head> <body class="region_global content content-show refresh-article"> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WX8PHK9" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <div> <a id="small-sidebar-open-button" href="#"> Menu </a> <a id="small-sidebar-close-button" href="#"> Close </a> <div id="small-sidebar"> <nav id="small-sidebar-search" class="small-sidebar-group"> <form action="/search"> <input type="text" name="q" placeholder="Search analysis, academics…"> <button type="submit" aria-label="Search"><span class="icon-search"></span></button> </form> </nav> <nav class="small-sidebar-group sections-sidebar-group"> <ul> <li class="home-page "> <a class="" href="/global">Home</a> </li> </ul> </nav> <nav class="small-sidebar-group small-sidebar-editions"> <h3>Edition</h3> <fieldset class="region-select"> <select id="small-region-select-dropdown"> <option data-code="AFRICA" value="/africa"> Africa </option> <option data-code="AU" value="/au"> Australia </option> <option data-code="BR" value="/br"> Brasil </option> <option data-code="CA" value="/ca"> Canada </option> <option data-code="CA-FR" value="/ca-fr"> Canada (français) </option> <option data-code="ES" value="/es"> España </option> <option data-code="EUROPE" value="/europe"> Europe </option> <option data-code="FR" value="/fr"> France </option> <option data-code="GLOBAL" value="/global" selected="selected"> Global </option> <option data-code="ID" value="/id"> Indonesia </option> <option data-code="NZ" value="/nz"> New Zealand </option> <option data-code="UK" value="/uk"> United Kingdom </option> <option data-code="US" value="/us"> United States </option> </select> </fieldset> </nav> </div> </div> <div id="page-wrapper"> <section id="topbar"> <div class="wrapper clearfix"> <a class="topbar-mobile-home-link" href="/global"> <img alt="The Conversation" src="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/logo-en-b159aca2598f351db37072c75294e4c8.svg" /> </a> <nav class="topbar-module"> <ul class="topbar-item-list"> <li class="topbar-home-link"> <a aria-label="Home" href="/global"> <i class="icon-home"></i> </a> </li> <li class="topbar-edition-selector-title topbar-label">Edition:</li> </ul> </nav> <nav class="topbar-edition-selector topbar-dropdown topbar-module"> <a class="menu-button-open" href="/global">Available editions</a> <div class="menu-button-contents"> <span class="menu-button-text"> <span class="current-region">Global</span> </span> <i class="icon-caret-down drop-down-caret"></i> </div> <ul class="menu"> <li class="region africa"> <a title="Africa edition" href="/africa">Africa</a> </li> <li class="region au"> <a title="Australia edition" href="/au">Australia</a> </li> <li class="region br"> <a title="Brasil edition" href="/br">Brasil</a> </li> <li class="region ca"> <a title="Canada edition" href="/ca">Canada</a> </li> <li class="region ca-fr"> <a title="Canada (français) edition" href="/ca-fr">Canada (français)</a> </li> <li class="region es"> <a title="España edition" href="/es">España</a> </li> <li class="region europe"> <a title="Europe edition" href="/europe">Europe</a> </li> <li class="region fr"> <a title="France edition" href="/fr">France</a> </li> <li class="region id"> <a title="Indonesia edition" href="/id">Indonesia</a> </li> <li class="region nz"> <a title="New Zealand edition" href="/nz">New Zealand</a> </li> <li class="region uk"> <a title="United Kingdom edition" href="/uk">United Kingdom</a> </li> <li class="region us"> <a title="United States edition" href="/us">United States</a> </li> </ul> </nav> <nav class="topbar-promotional-links topbar-module"> <ul class="topbar-item-list"> <li> <a title="Sign up to receive our daily email newsletter" href="/global/newsletters/global-perspectives-6?utm_campaign=System&amp;utm_content=newsletter&amp;utm_medium=TopBar&amp;utm_source=theconversation.com"> Get newsletter </a> </li> </ul> </nav> <div id="topbar-dynamic-content" class="language-override-en"> <nav class="topbar-account-nav topbar-dropdown topbar-module"> <ul class="topbar-item-list auth"> <li class="author-signup"> <a href="/become-an-author">Become an author</a> </li> <li class="reader-signup"> <a href="/sign_up?return_to=%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403">Sign up as a reader</a> </li> <li class="reader-signin"> <a href="/sign_in?return_to=%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403">Sign in</a> </li> </ul> </nav> </div> </div> </section> <div class="slot" data-id="14"></div> <section id="header"> <div class="wrapper nocontent"> <header id="masthead" class="clearfix"> <a class="masthead-home-link" href="/global"> <img alt="The Conversation" src="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/logo-en-b159aca2598f351db37072c75294e4c8.svg" /> </a> <form class="masthead-search" action="/global/search" accept-charset="UTF-8" method="get"> <fieldset> <legend>Search</legend> <div class="row"> <div class="input-wrapper"> <label for="q"><i class="icon-search"></i></label> <input type="text" name="q" id="q" value="" placeholder="Search analysis, research, academics…" /> </div> <button type="submit" class="button" value="Search"></button> </div> </fieldset> </form> <div class="masthead-tagline"> Academic rigour, journalistic flair </div> </header> <nav id="primary-navigation" class=" nocontent"> <ol> </ol> </nav> </div> </section> <div id="outer"> <article id="article" class="clearfix has-desktop-magazine has-mobile-magazine" data-id="240403" itemscope itemtype="http://schema.org/Article"> <figure class="magazine"> <div class="image" style="background-image: url(https://images.theconversation.com/files/623945/original/file-20241007-15-qih0sz.jpg?ixlib=rb-4.1.0&amp;rect=7%2C73%2C4837%2C2415&amp;q=45&amp;auto=format&amp;w=1356&amp;h=668&amp;fit=crop);"> <div class="placeholder-container" style="--aspect-ratio-percent:57.1875%;--background-color:#315350"><img alt="A man in a soccer jersey talks to a referee in a bright blue top." class="lazyloaded" src="https://images.theconversation.com/files/623945/original/file-20241007-15-qih0sz.jpg?ixlib=rb-4.1.0&amp;rect=0%2C0%2C4881%2C2795&amp;q=20&amp;auto=format&amp;w=320&amp;fit=clip&amp;dpr=2&amp;usm=12&amp;cs=strip" data-id="623945" itemprop="image"></div> </div> <div class="wrapper"> <figcaption> A ruling that Harry Kane may be happy about? <span class="attribution"><a class="source" href="https://www.gettyimages.com/detail/news-photo/harry-kane-of-fc-bayern-m%C3%BCnchen-talks-to-referee-espen-news-photo/1850487383?adppopup=true">James Gill/Danehouse via Getty Images</a></span> </figcaption> </div> <div class="magazine-title"> <div class="wrapper"> <header class="content-header-container grid-twelve large-grid-eleven"> <div> <div class="content-header-block"> <h1 class="legacy entry-title instapaper_title" itemprop="headline"> <strong> European court ruling finds just cause to award soccer players greater freedom of&nbsp;movement </strong> </h1> </div> </div> <div class="timestamps"> <time datetime="2024-10-08T12:24:29Z" itemprop="datePublished" content="2024-10-08T12:24:29Z">Published: October 8, 2024 1.24pm BST</time> </div> </header> </div> </div> </figure> <div class="wrapper"> <div class="content-sidebar grid-four large-grid-four grid-last"> <section class="content-authors"> <div class="content-authors-synopsis"> <a href="#" class="content-authors-toggle"> <i class="icon-caret-down"></i> <i class="icon-caret-up"></i> <span class="nobr">Stefan Szymanski</span>, <em class="institution_name">University of Michigan</em> </a> </div> <div class="content-authors-group"> <h3 class="border">Author</h3> <ol> <li class="vcard" id="author-603504" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <a rel="author" itemprop="url" href="/profiles/stefan-szymanski-1226104"> <img alt="" class="lazyload" data-src="https://cdn.theconversation.com/avatars/1226104/width170/Szymanski_2020.jpg" src="https://cdn.theconversation.com/static/tc/author/width170_default-bea415b3a0223821a698f6e3f6d5ab99.jpg" itemprop="image"> <span class="fn author-name" itemprop="name"> Stefan Szymanski </span> </a> <p class="role"> Professor of Sport Management, University of Michigan </p> </li> </ol> </div> </section> <section class="content-disclosure-statement"> <h3 class="border">Disclosure statement</h3> <p><span>In 2015 I wrote a report for FIFPro on the economic consequences of the transfer system</span></p> </section> <section class="content-partners"> <h3 class="border">Partners</h3> <p class="disclosure-logo clearfix"><a class="logo" href="/institutions/university-of-michigan-1290"><picture><source srcset="https://images.theconversation.com/institutions/1290/logos/logo-1430936455.png?ixlib=rb-4.1.0&amp;q=45&amp;auto=format&amp;w=170&amp;h=170" media="(min-width:600px)"></source><img alt="University of Michigan" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" /></picture></a></p> <p class="funding-statement"><a href="https://theconversation.com/institutions/university-of-michigan-1290">University of Michigan</a> provides funding as a founding partner of The Conversation US.</p> <p><a href="/global/partners">View all partners</a></p> </section> <section class="slot" data-id="16"></section> </div> <div class="grid-twelve large-grid-eleven"> <div class="top"> <aside class="grid-two content-social-distribution"> <div class="email"> <a class="email-button" data-id="240403" target="_blank" rel="noopener" href="mailto:?subject=European%20court%20ruling%20finds%20just%20cause%20to%20award%20soccer%20players%20greater%20freedom%20of%20movement%20%E2%80%94%20The%20Conversation&amp;body=Hi.%20I%20found%20an%20article%20that%20you%20might%20like%3A%20%22European%20court%20ruling%20finds%20just%20cause%20to%20award%20soccer%20players%20greater%20freedom%20of%20movement%22%20%E2%80%94%20https%3A%2F%2Ftheconversation.com%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403"><i class="icon-email"></i> <span>Email</span></a> </div> <div class="twitter"> <a class="twitter-button" data-url="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" data-id="240403" target="_blank" rel="noopener" href="http://twitter.com/intent/tweet?text=European+court+ruling+finds+just+cause+to+award+soccer+players+greater+freedom+of+movement&amp;url=https%3A%2F%2Ftheconversation.com%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403%3Futm_source%3Dtwitter%26utm_medium%3Dbylinetwitterbutton&amp;utm_campaign=none&amp;via=ConversationUS"><i class="icon-twitter"></i> <span>X (Twitter)</span></a> </div> <div class="facebook"> <a class="facebook-button" data-url="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" data-id="240403" target="_blank" rel="noopener" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftheconversation.com%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403%3Futm_source%3Dfacebook%26utm_medium%3Dbylinefacebookbutton"><i class="icon-facebook"></i> <span>Facebook</span></a> </div> <div class="linkedin"> <a class="linkedin-button" data-url="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" data-id="240403" target="_blank" rel="noopener" href="http://www.linkedin.com/shareArticle?mini=true&amp;source=The+Conversation&amp;summary=Many+of+us+have+quit+a+job+at+some+point+in+our+lives+%E2%80%93+but+how+many+have+wondered+if+they+had+%22just+cause%22+to+do+so%3F+Were+you+acting+on+a+whim%3F+Did+your+departure+make+life+difficult+for+your+empl...&amp;title=European+court+ruling+finds+just+cause+to+award+soccer+players+greater+freedom+of+movement&amp;url=https%3A%2F%2Ftheconversation.com%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403%3Futm_source%3Dlinkedin%26utm_medium%3Dbylinelinkedinbutton"><i class="icon-linkedin"></i> <span>LinkedIn</span></a> </div> <div class="whatsapp"> <a class="whatsapp-button" data-href="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" data-action="share/whatsapp/share" data-id="240403" target="_blank" rel="noopener" href="whatsapp://send?text=European+court+ruling+finds+just+cause+to+award+soccer+players+greater+freedom+of+movement+https%3A%2F%2Ftheconversation.com%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403%3Futm_source%3Dwhatsapp%26utm_medium%3Dbylinewhatsappbutton"><i class="icon-whatsapp"></i> <span>WhatsApp</span></a> </div> <div class="fb-messenger"> <a class="fb-messenger-button" data-href="https://theconversation.com/european-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403" data-action="share/fb-messenger/share" data-id="240403" target="_blank" rel="noopener" href="fb-messenger://share?link=https%3A%2F%2Ftheconversation.com%2Feuropean-court-ruling-finds-just-cause-to-award-soccer-players-greater-freedom-of-movement-240403%3Futm_source%3Dfb_messenger%26utm_medium%3Dbylinefb_messenger_button"><i class="icon-fb-messenger"></i> <span>Messenger</span></a> </div> </aside> </div> <div class="grid-ten large-grid-nine grid-last content-body content entry-content instapaper_body inline-promos" itemprop="articleBody"> <p>Many of us have quit a job at some point in our lives – but how many have wondered if they had “just cause” to do so? Were you acting on a whim? Did your departure make life difficult for your employer? And did your desire to move on really outweigh the loss this meant for your boss? </p> <p>Just cause can be a real problem for professional soccer players who want to change teams. Under the <a href="https://www.icsspe.org/system/files/FIFA%20-%20Regulations%20on%20the%20Status%20and%20Transfer%20of%20Players_0.pdf">soccer transfer system</a> created and operated by FIFA, the sport’s world governing body, players who quit without showing just cause – that is, who fail to show that their employer treated them in manner that is demonstrably unfair – can be subject to significant financial and disciplinary penalties. </p> <p>But that could soon change. On Oct. 4, 2024, the <a href="https://curia.europa.eu/jcms/upload/docs/application/pdf/2024-10/cp240172en.pdf">European Court of Justice</a> took a major step toward dismantling an employment system that placed undue burden on employees and, thankfully, was dispensed with for the rest of us long ago.</p> <p>As a <a href="https://www.kines.umich.edu/directory/stefan-szymanski">sports economist</a>, I have written about this subject for several years now, and I know of no system outside of sports that restrains the rights of the employee to a comparable extent.</p><div class="slot clear" data-id="17"> <div class="inline-promos-skeleton"> <h5></h5> <button></button> </div> </div> <h2>An object lesson for FIFA</h2> <p>The legal case is complicated, but the essence of it is that Lassana Diarra, a star player for Lokomotiv Moscow back in 2014, got <a href="https://www.theguardian.com/football/2024/oct/04/lassana-diarra-fifa-verdict-landmark-day-alter-balance-of-power-analysis">into a dispute</a> with the Russian club while under contract and quit. He then got a job offer from a Belgian club but was unable to take it because of the FIFA transfer regulations.</p> <figure class="align-center "> <div class="placeholder-container" style="--aspect-ratio-percent:64.9867374005305%;--background-color:#33485a"><img alt="A man in a black suit and glasses looks out a window" class="lazyload" data-src="https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=45&amp;auto=format&amp;w=754&amp;fit=clip" data-srcset="https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=45&amp;auto=format&amp;w=600&amp;h=390&amp;fit=crop&amp;dpr=1 600w, https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=30&amp;auto=format&amp;w=600&amp;h=390&amp;fit=crop&amp;dpr=2 1200w, https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=15&amp;auto=format&amp;w=600&amp;h=390&amp;fit=crop&amp;dpr=3 1800w, https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=45&amp;auto=format&amp;w=754&amp;h=490&amp;fit=crop&amp;dpr=1 754w, https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=30&amp;auto=format&amp;w=754&amp;h=490&amp;fit=crop&amp;dpr=2 1508w, https://images.theconversation.com/files/623978/original/file-20241007-15-j1nf6a.jpg?ixlib=rb-4.1.0&amp;q=15&amp;auto=format&amp;w=754&amp;h=490&amp;fit=crop&amp;dpr=3 2262w" sizes="(min-width: 1466px) 754px, (max-width: 599px) 100vw, (min-width: 600px) 600px, 237px"></div> <figcaption> <span class="caption">Europe’s top court ruled in favor of former French international Lassana Diarra.</span> <span class="attribution"><a class="source" href="https://www.gettyimages.com/detail/news-photo/lassana-diarra-who-officially-signed-yesterday-for-psg-news-photo/909808766?adppopup=true">Photo by Jean Catuffe/Getty Images</a></span> </figcaption> </figure> <p>Under the governing body’s rules, not only was Diarra expected to pay damages to Lokomotiv <a href="https://www.courthousenews.com/eu-court-loosens-fifa-rules-around-soccer-player-transfers/">amounting to US$11.5 million</a> plus interest, but he was unable to take a job with any club until the dispute was settled. A formal suspension was not enforced, because Diarra had already been unable to work for 11 months.</p> <p>But Diarra countersued, claiming the regulations of FIFA unreasonably restricted his employment rights. The case has passed through many stages, until the highest court in Europe finally <a href="https://www.courthousenews.com/eu-court-loosens-fifa-rules-around-soccer-player-transfers/">delivered its decision</a>.</p> <p>The court struck down two specific parts of FIFA’s regulations: the rule that an International Transfer Certificate, required by a player to move from one country to another, cannot be issued until the dispute is settled; and the stipulation that any new employer of the player is <a href="https://www.law.cornell.edu/wex/joint_and_several_liability">jointly and severally liable</a> for any damages against the player due to the old club, regardless of whether that employer played a role in the dispute.</p> <p>The court, which has historically been <a href="https://eulawanalysis.blogspot.com/2024/05/protecting-conditional-autonomy-of.html">deferential toward sports governing bodies and their regulations</a>, was highly critical of FIFA’s transfer system. It declared the rules anti-competitive “by object” and not just “by effect.” In the view of the court, the rules were not merely aimed at ensuring an orderly market for soccer player services, but amounted to a “non-poaching agreement,” arguing that they were intended to restrain competition for players in order to benefit the clubs.</p> <h2>An end to transfer fees?</h2> <p>The decision means that FIFA will have to rewrite its transfer rules in a way that demonstrates that the system has a clear and legal purpose. The regulations will be deemed legitimate, the court said, for the purposes of guaranteeing “contractual stability” and ensuring that clubs have the right to receive compensation when there’s breach of contract.</p> <p>A player who quits while under contract will still need to demonstrate just cause – unfair treatment by the club – or else be liable to pay a fine or penalty. But the new system will look very different, and it is hard to see how the payment of transfer fees can survive.</p> <p>Last summer alone, clubs in <a href="https://www.footballbenchmark.com/library/following_the_money_in_the_2024_25_summer_transfer_window">the top five European leagues spent around $5 billion</a> on player transfers. Frequently, there are moves between clubs in each direction, and so cash transfers are smaller than the big money moves that grab the headlines. </p> <p>The system deprives some star players of substantial potential earnings.</p> <p>Take England national team captain Harry Kane, for example. In 2023, German club <a href="https://www.goal.com/en-us/lists/revealed-fee-bayern-munich-paid-harry-kane-100m-transfer-tottenham-england-striker/blt574fb10ccbd8169d">Bayern Munich paid London-based Tottenham around $100 million</a> to buy Kane out of the last year of his contract. Kane was being paid <a href="https://www.capology.com/club/tottenham/salaries/2022-2023">about $13 million a year</a> at Tottenham, and he got a four-year contract at Bayern, <a href="https://www.capology.com/player/harry-kane-34178/">paying him around $27 million a year</a>.</p> <p>While his salary doubled, Kane received only half of what Bayern was prepared to pay to obtain his services, thanks to the FIFA regulations. The rest went to his former club.</p> <p>Here is what one might expect to happen from now on: Kane would unilaterally announce that he wanted to leave, and then a club like Bayern could make an offer. Tottenham would no longer have any enforceable claim over Bayern and so no transfer fee would be paid, and Bayern would offer to pay Kane something like $52 million a year. </p> <p>Kane would have to pay damages to Tottenham for breach of contract, and the court suggested that these damages might reasonably equal the wages that the club would have paid him for the remainder of the contract – so in the case of Kane, $13 million. </p> <p>Clearly Kane would have been much better off if the judgment had arrived a year or two ago.</p> <h2>Don’t fall for the trickle-down myth</h2> <p>Soccer fans will be worried that this means financial ruin for their club and increases inequality as the big clubs poach the big stars. </p> <p>But I see no reason to think that the sky will fall. As <a href="https://doi.org/10.1016/j.ijindorg.2020.102695">recent research</a> has shown, the transfer system has a negligible effect on the distribution of resources among the clubs. Rather, transfer fee spending is more likely the source of financial instability than its remedy, as some clubs spend extravagantly with unrealistic expectations.</p> <p>It is true that club owners hoping to grow rich by developing young players and trading them in the market will believe that they now have fewer opportunities, but for most clubs, this has always been an illusion. </p> <p>Big clubs tend to tie up the potential stars in their teens, leaving few opportunities for small clubs to find diamonds in the rough.</p> <p>Major League Soccer, the U.S. professional league, for example, has ambitions to one day match the big European leagues and has committed significant resources to developing <a href="https://anytime-soccer.com/we-cracked-the-code-how-mls-player-development-is-meeting-the-worlds-best/">player talent</a>. </p> <p>But <a href="https://www.transfermarkt.co.uk/-euro-120m-and-counting-major-league-soccer-sets-new-primary-window-transfer-record/view/news/434397">recent figures</a> suggest that the league is still a net importer of players – and not just superstars such as Lionel Messi.</p> <p>In fact, MLS might actually benefit from the end of the transfer system. There are plenty of talented players who might fancy a year or two in the U.S. if they are not unduly tied down by transfer regulations. </p> <h2>Blowing the whistle on unfair practices</h2> <p>But perhaps the biggest impact of the ruling will be on the mass of professional players who do not live in the spotlight.</p> <p>FIFA estimates there are around <a href="https://digitalhub.fifa.com/m/2a5dc95026d9cf8a/original/FIFA-Professional-Football-Report-2023.pdf">130,000 professional players worldwide</a>, and most of them earn little in comparison to the super-salaried stars of the world’s biggest clubs.</p> <p>Yet, these journeymen and -women players have been bound by the same restrictive system and are often denied the opportunity to change teams – not because they are being offered great riches, but because they want a change of scene, or to be closer to their families. </p> <p>FIFPro, the players’ union, has documented numerous cases of <a href="https://fifpro.org/media/boeapcuc/fifpro-black-book-eastern-europe-final.pdf">onerous employment conditions</a>, which were possible under the repressive transfer system.</p> <p>Thanks to the European Court of Justice, those days may soon be over.</p> </div> <div class="grid-ten grid-prepend-two large-grid-nine grid-last content-topics topic-list"> <i class="icon-tag"></i> <ul> <li class="topic-list-item"> <a href="/topics/fifa-479">FIFA </a> </li> <li class="topic-list-item"> <a href="/topics/sport-480">Sport</a> </li> <li class="topic-list-item"> <a href="/topics/soccer-481">Soccer</a> </li> <li class="topic-list-item"> <a href="/topics/employment-700">Employment</a> </li> <li class="topic-list-item"> <a href="/topics/sports-4768">Sports</a> </li> <li class="topic-list-item"> <a href="/topics/employment-law-11020">Employment law</a> </li> <li class="topic-list-item"> <a href="/topics/athletes-11330">Athletes</a> </li> <li class="topic-list-item"> <a href="/topics/major-league-soccer-mls-16519">Major League Soccer (MLS)</a> </li> <li class="topic-list-item"> <a href="/topics/european-court-of-justice-19740">European Court of Justice</a> </li> <li class="topic-list-item"> <a href="/topics/ecj-21335">ECJ</a> </li> <li class="topic-list-item"> <a href="/topics/us-soccer-55843">US Soccer</a> </li> <li class="topic-list-item"> <a href="/topics/sports-management-97306">Sports management</a> </li> </ul> </div> </div> <div class="slot grid-ten grid-prepend-two large-grid-nine grid-last mb5" data-id="15"></div> </div> <div class="wrapper"> <div class="react-content-related-container" data-article-id="240403"></div> </div> </article> <div id="comments-container"></div> <div class="page-addendum"> <div class="wrapper"> <div class="grid-eight"> <div id="addendum-events-list" class="addendum-block jobs-events-list events"> <h3 class="border slammed">Events</h3> <ul> </ul> <a class="view-more" href="/global/events"> <span class="action">More events</span> </a></div> </div> <div class="grid-eight grid-last"> <div id="addendum-jobs" class="addendum-block jobs jobs-events-list"> <h3 class="border slammed">Jobs</h3> <ul> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/352029788/logo-1520549009.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/352029788-technical-triage-officer-at-university-of-melbourne?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Technical Triage Officer</a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/351070310/TC_Horizontal-ENG__1_.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/351070310-public-policy-editor-at-the-conversation-au-nz?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Public Policy Editor</a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/351010396/3_monash.jpg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/351010396-ardc-project-management-office-manager-at-monash-university?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">ARDC Project Management Office Manager</a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/350024422/Murdoch_University_extended_logo.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/350024422-lecturer-senior-lecturer-in-indigenous-knowledges-at-murdoch-university?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Lecturer / Senior Lecturer in Indigenous Knowledges </a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/348233907/New_Logo.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/348233907-commissioning-editor-nigeria-at-the-conversation-africa?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Commissioning Editor Nigeria</a></h5> </li> </ul> <a class="view-more clearfix" href="https://jobs.theconversation.com?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article_call_to_action"> <span class="action">More jobs</span> </a></div> </div> </div> </div> <script src="https://theconversation.com/javascripts/lib/content_tracker_hook.js" id="theconversation_tracker_hook" data-counter="https://counter.theconversation.com/content/240403/count" async="async"></script> </div> <div id="footers"> <section class="footer-primary"> <div class="wrapper nocontent"> <section class="community footer-link-list grid-five large-grid-four"> <nav> <ul> <li> <a href="https://drive.google.com/file/d/1DUkhOcnF1Ef1MpuKtGr7rbBAawO4XV48">Editorial Policies</a> </li> <li> <a href="/global/community-standards">Community standards</a> </li> <li> <a href="/global/republishing-guidelines">Republishing guidelines</a> </li> <li> <a href="https://analytics.theconversation.com/global">Analytics</a> </li> <li> <a href="/global/feeds">Our feeds</a> </li> <li> <a title="Sign up to receive our daily email newsletter" href="/global/newsletters/global-perspectives-6?utm_campaign=System&amp;utm_content=newsletter&amp;utm_medium=Footer&amp;utm_source=theconversation.com">Get newsletter</a> </li> </ul> </nav> </section> <section class="company footer-link-list grid-five large-grid-seven"> <nav> <ul> <li> <a href="/global/who-we-are">Who we are</a> </li> <li> <a href="/global/charter">Our charter</a> </li> <li> <a href="/global/team">Our team</a> </li> <li> <a href="/global/partners">Partners and funders</a> </li> <li> <a href="/global/resources-for-media">Resource for media</a> </li> <li> <a href="/global/contact-us">Contact us</a> </li> </ul> </nav> </section> <section class="grid-six large-grid-five grid-last"> <div class="sitewide-social-media"> <ul> <li class="facebook"> <a title="The Conversation on Facebook" rel="me" href="https://facebook.com/TheConversationGlobal">&#8203;</a> </li> <li class="twitter"> <a title="The Conversation on X (formerly Twitter)" rel="me" href="https://twitter.com/_TCGlobal">&#8203;</a> </li> <li class="linkedin"> <a title="The Conversation on LinkedIn" rel="me" href="https://www.linkedin.com/company/the-conversation-media-group">&#8203;</a> </li> </ul> </div> </section> </div> </section> <footer id="footer"> <div class="wrapper flex flex-col mx-auto pt-4 text-2xs md:flex-row 2xl:text-xs"> <nav class="flex flex-col gap-4 text-center md:flex-row"> <a class="mb-2" href="/global/privacy-policy">Privacy policy</a> <a class="mb-2" href="/global/terms-and-conditions">Terms and conditions</a> <a class="mb-2" href="/global/corrections">Corrections</a> </nav> <p class="copyright mx-auto mt-4 md:mt-0 lg:mr-0 lg:ml-auto"> Copyright © 2010–2024, <a href="https://theconversation.com/global/who-we-are">The Conversation</a> </p> </div> </footer> </div> </div> <div class="slot" data-id="13"></div> <script src="https://cdn.theconversation.com/static/tc/content-5064b0c6a1c66395a639.js"></script> <script src="https://cdn.theconversation.com/static/tc/gtm_data_layer-2f5b94c0bf06c1289d2a.js"></script> <script> //<![CDATA[ TC.locale = "en-GLOBAL"; TC.env = "production"; TC.pageType = "content#show"; TC.localePath = "https://cdn.theconversation.com/static/tc/en-GLOBAL-ed4f7f5299604cb20356743faad128d3.json"; TC.bugsnagConfig = {"apiKey":"e6966b978008ed1612ea7793efb88e93","appVersion":"699ce657c2d9ff1e25616ecd6b3ebbbc8c7642c5","collectUserIp":false,"releaseStage":"production","notifyReleaseStages":["development","staging","production"]}; TC.init = function() { TC.EntrypointInitializer() } //]]> </script> <script> //<![CDATA[ "use strict";(self.webpackChunktc=self.webpackChunktc||[]).push([[952],{51250:function(e,t,s){s(52146).A.init(TC.localePath,TC.locale,!1,TC.init)},52146:function(e,t,s){s.d(t,{A:function(){return P}});var i=s(23029),n=s(92901),o=[],r=o.forEach,a=o.slice;function l(e,t,s,i){var n=e.read.bind(e);if(2!==n.length)n(t,s,i);else try{var o=n(t,s);o&&"function"==typeof o.then?o.then((function(e){return i(null,e)})).catch(i):i(null,o)}catch(e){i(e)}}var c=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.A)(this,e),this.backends=[],this.type="backend",this.allOptions=n,this.init(t,s)}return(0,n.A)(e,[{key:"init",value:function(e){var t=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return r.call(a.call(arguments,1),(function(t){if(t)for(var s in t)void 0===e[s]&&(e[s]=t[s])})),e}(s,this.options||{},{handleEmptyResourcesAsFailed:!0,cacheHitMode:"none"}),this.allOptions=i,this.options.backends&&this.options.backends.forEach((function(s,n){var o;t.backends[n]=t.backends[n]||((o=s)?"function"==typeof o?new o:o:null),t.backends[n].init(e,t.options.backendOptions&&t.options.backendOptions[n]||{},i)})),this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"read",value:function(e,t,s){var i=this,n=this.backends.length,o=function s(n,o){if(!(n<0)){var r=i.backends[n];r.save?(r.save(e,t,o),s(n-1,o)):s(n-1,o)}};!function r(a){if(a>=n)return s(new Error("non of the backend loaded data",!0));var c=a===n-1,u=i.options.handleEmptyResourcesAsFailed&&!c?0:-1,h=i.backends[a];h.read?l(h,e,t,(function(n,c,p){if(!n&&c&&Object.keys(c).length>u){if(s(null,c,a),o(a-1,c),h.save&&i.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(i.options.cacheHitMode)>-1){if(p&&i.options.refreshExpirationTime&&p+i.options.refreshExpirationTime>Date.now())return;var d=i.backends[a+1];d&&d.read&&l(d,e,t,(function(s,n){s||n&&(Object.keys(n).length<=u||(o(a,n),"refreshAndUpdateStore"===i.options.cacheHitMode&&i.services&&i.services.resourceStore&&i.services.resourceStore.addResourceBundle(e,t,n)))}))}}else r(a+1)})):r(a+1)}(0)}},{key:"create",value:function(e,t,s,i){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backends.forEach((function(r){if(r.create){var a=r.create.bind(r);if(a.length<6)try{var l;(l=5===a.length?a(e,t,s,i,o):a(e,t,s,i))&&"function"==typeof l.then?l.then((function(e){return n(null,e)})).catch(n):n(null,l)}catch(e){n(e)}else a(e,t,s,i,n,o)}}))}},{key:"reload",value:function(){var e=this,t=this.services,s=t.backendConnector,i=t.languageUtils,n=t.logger,o=s.language;if(!o||"cimode"!==o.toLowerCase()){var r=[],a=function(e){i.toResolveHierarchy(e).forEach((function(e){r.indexOf(e)<0&&r.push(e)}))};a(o),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return a(e)})),r.forEach((function(t){e.allOptions.ns.forEach((function(e){s.read(t,e,"read",null,null,(function(i,o){i&&n.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&o&&n.log("loaded namespace ".concat(e," for language ").concat(t),o),s.loaded("".concat(t,"|").concat(e),i,o)}))}))}))}}}]),e}();c.type="backend";var u=s(72635),h=s(64467);function p(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,i)}return s}function d(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?p(Object(s),!0).forEach((function(t){(0,h.A)(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):p(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}var g=function(){function e(t){(0,i.A)(this,e),this.store=t.store}return(0,n.A)(e,[{key:"setItem",value:function(e,t){if(this.store)try{this.store.setItem(e,t)}catch(e){}}},{key:"getItem",value:function(e,t){if(this.store)try{return this.store.getItem(e,t)}catch(e){}}}]),e}();var f=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.A)(this,e),this.init(t,s),this.type="backend"}return(0,n.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.services=e,this.options=d(d(d({},function(){var e=null;try{e=window.localStorage}catch(e){"undefined"!=typeof window&&console.log("Failed to load local storage.",e)}return{prefix:"i18next_res_",expirationTime:6048e5,defaultVersion:void 0,versions:{},store:e}}()),this.options),t),this.storage=new g(this.options)}},{key:"read",value:function(e,t,s){var i=Date.now();if(!this.storage.store)return s(null,null);var n=this.storage.getItem("".concat(this.options.prefix).concat(e,"-").concat(t));if(n){n=JSON.parse(n);var o=this.getVersion(e);if(n.i18nStamp&&n.i18nStamp+this.options.expirationTime>i&&o===n.i18nVersion){var r=n.i18nStamp;return delete n.i18nVersion,delete n.i18nStamp,s(null,n,r)}}return s(null,null)}},{key:"save",value:function(e,t,s){if(this.storage.store){s.i18nStamp=Date.now();var i=this.getVersion(e);i&&(s.i18nVersion=i),this.storage.setItem("".concat(this.options.prefix).concat(e,"-").concat(t),JSON.stringify(s))}}},{key:"getVersion",value:function(e){return this.options.versions[e]||this.options.defaultVersion}}]),e}();f.type="backend";var v=s(62046),m=s(80030),y=s(82284),b=[],x=b.forEach,k=b.slice;function S(e,t){if(t&&"object"===(0,y.A)(t)){var s="",i=encodeURIComponent;for(var n in t)s+="&"+i(n)+"="+i(t[n]);if(!s)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+s.slice(1)}return e}function O(e,t,s,i,n){i&&"object"===(0,y.A)(i)&&(n||(i._t=new Date),i=S("",i).slice(1)),t.queryStringParams&&(e=S(e,t.queryStringParams));try{var o;(o=XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0")).open(i?"POST":"GET",e,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,i&&o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var r=t.customHeaders;if(r="function"==typeof r?r():r)for(var a in r)o.setRequestHeader(a,r[a]);o.onreadystatechange=function(){o.readyState>3&&s&&s(o.responseText,o)},o.send(i)}catch(e){console&&console.log(e)}}var w=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.A)(this,e),this.init(t,s),this.type="backend"}return(0,n.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.services=e,this.options=function(e){return x.call(k.call(arguments,1),(function(t){if(t)for(var s in t)void 0===e[s]&&(e[s]=t[s])})),e}(t,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,parsePayload:function(e,t,s){return(0,h.A)({},t,s||"")},crossDomain:!1,ajax:O})}},{key:"readMulti",value:function(e,t,s){var i=this.options.loadPath;"function"==typeof this.options.loadPath&&(i=this.options.loadPath(e,t));var n=this.services.interpolator.interpolate(i,{lng:e.join("+"),ns:t.join("+")});this.loadUrl(n,s)}},{key:"read",value:function(e,t,s){var i=this.options.loadPath;"function"==typeof this.options.loadPath&&(i=this.options.loadPath([e],[t]));var n=this.services.interpolator.interpolate(i,{lng:e,ns:t});this.loadUrl(n,s)}},{key:"loadUrl",value:function(e,t){var s=this;this.options.ajax(e,this.options,(function(i,n){if(n.status>=500&&n.status<600)return t("failed loading "+e,!0);if(n.status>=400&&n.status<500)return t("failed loading "+e,!1);var o,r;try{o=s.options.parse(i,e)}catch(t){r="failed parsing "+e+" to json"}if(r)return t(r,!1);t(null,o)}))}},{key:"create",value:function(e,t,s,i){var n=this;"string"==typeof e&&(e=[e]);var o=this.options.parsePayload(t,s,i);e.forEach((function(e){var s=n.services.interpolator.interpolate(n.options.addPath,{lng:e,ns:t});n.options.ajax(s,n.options,(function(e,t){}),o)}))}}]),e}();w.type="backend";var L=w;function R(e,t){for(var s=0;s<t.length;s++){var i=t[s];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var P=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,s,i;return t=e,i=[{key:"init",value:function(e,t,s,i){var n,o,r,a=[];(0,v.A)()&&a.push(f),a.push(L),u.Ay.use(c).init({backend:{backends:a,backendOptions:[{versions:(n={},o=t,r=e,o in n?Object.defineProperty(n,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[o]=r,n)},{crossDomain:s,loadPath:e}]},lng:t},(function(e){e&&e.length&&(0,m.A)("/no_js_locale?message=".concat(e[0]));try{i()}catch(e){throw(0,m.A)("/js_init_failure?message=".concat(e)),e}}))}},{key:"t",value:function(){return u.Ay.t.apply(u.Ay,arguments)||(arguments.length<=0?void 0:arguments[0])}}],(s=null)&&R(t.prototype,s),i&&R(t,i),e}()},62046:function(e,t,s){function i(){var e="local-storage-availability-test";try{return window.localStorage.setItem(e,e),window.localStorage.getItem(e),window.localStorage.removeItem(e),!0}catch(e){return!1}}s.d(t,{A:function(){return i}})},80030:function(e,t){t.A=function(e){var t=!1;window.XMLHttpRequest?t=new XMLHttpRequest:window.ActiveXObject&&(t=new ActiveXObject("Microsoft.XMLHTTP")),!1!==t&&(t.open("GET",e,!0),t.send())}},23029:function(e,t,s){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}s.d(t,{A:function(){return i}})},92901:function(e,t,s){s.d(t,{A:function(){return o}});var i=s(20816);function n(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(0,i.A)(n.key),n)}}function o(e,t,s){return t&&n(e.prototype,t),s&&n(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e}},64467:function(e,t,s){s.d(t,{A:function(){return n}});var i=s(20816);function n(e,t,s){return(t=(0,i.A)(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}},20816:function(e,t,s){s.d(t,{A:function(){return n}});var i=s(82284);function n(e){var t=function(e,t){if("object"!=(0,i.A)(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t||"default");if("object"!=(0,i.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==(0,i.A)(t)?t:t+""}},82284:function(e,t,s){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}s.d(t,{A:function(){return i}})},72635:function(e,t,s){s.d(t,{Ay:function(){return K}});const i=e=>"string"==typeof e,n=()=>{let e,t;const s=new Promise(((s,i)=>{e=s,t=i}));return s.resolve=e,s.reject=t,s},o=e=>null==e?"":""+e,r=/###/g,a=e=>e&&e.indexOf("###")>-1?e.replace(r,"."):e,l=e=>!e||i(e),c=(e,t,s)=>{const n=i(t)?t.split("."):t;let o=0;for(;o<n.length-1;){if(l(e))return{};const t=a(n[o]);!e[t]&&s&&(e[t]=new s),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return l(e)?{}:{obj:e,k:a(n[o])}},u=(e,t,s)=>{const{obj:i,k:n}=c(e,t,Object);if(void 0!==i||1===t.length)return void(i[n]=s);let o=t[t.length-1],r=t.slice(0,t.length-1),a=c(e,r,Object);for(;void 0===a.obj&&r.length;)o=`${r[r.length-1]}.${o}`,r=r.slice(0,r.length-1),a=c(e,r,Object),a?.obj&&void 0!==a.obj[`${a.k}.${o}`]&&(a.obj=void 0);a.obj[`${a.k}.${o}`]=s},h=(e,t)=>{const{obj:s,k:i}=c(e,t);if(s)return s[i]},p=(e,t,s)=>{for(const n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?i(e[n])||e[n]instanceof String||i(t[n])||t[n]instanceof String?s&&(e[n]=t[n]):p(e[n],t[n],s):e[n]=t[n]);return e},d=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var g={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const f=e=>i(e)?e.replace(/[&<>"'\/]/g,(e=>g[e])):e;const v=[" ",",","?","!",";"],m=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),y=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const i=t.split(s);let n=e;for(let e=0;e<i.length;){if(!n||"object"!=typeof n)return;let t,o="";for(let r=e;r<i.length;++r)if(r!==e&&(o+=s),o+=i[r],t=n[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&r<i.length-1)continue;e+=r-e+1;break}n=t}return n},b=e=>e?.replace("_","-"),x={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class k{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||x,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,n){return n&&!this.debug?null:(i(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new k(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new k(this.logger,e)}}var S=new k;class O{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((e=>{let[t,i]=e;for(let e=0;e<i;e++)t(...s)}))}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach((t=>{let[i,n]=t;for(let t=0;t<n;t++)i.apply(i,[e,...s])}))}}}class w extends O{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,r=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],s&&(Array.isArray(s)?a.push(...s):i(s)&&o?a.push(...s.split(o)):a.push(s)));const l=h(this.data,a);return!l&&!t&&!s&&e.indexOf(".")>-1&&(e=a[0],t=a[1],s=a.slice(2).join(".")),!l&&r&&i(s)?y(this.data?.[e]?.[t],s,o):l}addResource(e,t,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[e,t];s&&(r=r.concat(o?s.split(o):s)),e.indexOf(".")>-1&&(r=e.split("."),i=t,t=r[1]),this.addNamespaces(t),u(this.data,r,i),n.silent||this.emit("added",e,t,s,i)}addResources(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const n in s)(i(s[n])||Array.isArray(s[n]))&&this.addResource(e,t,n,s[n],{silent:!0});n.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},r=[e,t];e.indexOf(".")>-1&&(r=e.split("."),i=s,s=t,t=r[1]),this.addNamespaces(t);let a=h(this.data,r)||{};o.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?p(a,s,n):a={...a,...s},u(this.data,r,a),o.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var L={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,n){return e.forEach((e=>{t=this.processors[e]?.process(t,s,i,n)??t})),t}};const R={};class P extends O{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),((e,t,s)=>{e.forEach((e=>{t[e]&&(s[e]=t[e])}))})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=S.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const s=this.resolve(e,t);return void 0!==s?.res}extractFromKey(e,t){let s=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===s&&(s=":");const n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const r=s&&e.indexOf(s)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=v.filter((e=>t.indexOf(e)<0&&s.indexOf(e)<0));if(0===i.length)return!0;const n=m.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!n.test(e);if(!o){const t=e.indexOf(s);t>0&&!n.test(e.substring(0,t))&&(o=!0)}return o})(e,s,n));if(r&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i(o)?[o]:o};const r=e.split(s);(s!==n||s===n&&this.options.ns.indexOf(r[0])>-1)&&(o=r.shift()),e=r.join(n)}return{key:e,namespaces:i(o)?[o]:o}}translate(e,t,s){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const n=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:r,namespaces:a}=this.extractFromKey(e[e.length-1],t),l=a[a.length-1],c=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===c?.toLowerCase()){if(u){const e=t.nsSeparator||this.options.nsSeparator;return n?{res:`${l}${e}${r}`,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${e}${r}`}return n?{res:r,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:r}const h=this.resolve(e,t);let p=h?.res;const d=h?.usedKey||r,g=h?.exactUsedKey||r,f=Object.prototype.toString.apply(p),v=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject,y=!i(p)&&"boolean"!=typeof p&&"number"!=typeof p;if(!(m&&p&&y&&["[object Number]","[object Function]","[object RegExp]"].indexOf(f)<0)||i(v)&&Array.isArray(p))if(m&&i(v)&&Array.isArray(p))p=p.join(v),p&&(p=this.extendTranslation(p,e,t,s));else{let n=!1,a=!1;const u=void 0!==t.count&&!i(t.count),d=P.hasDefaultValue(t),g=u?this.pluralResolver.getSuffix(c,t.count,t):"",f=t.ordinal&&u?this.pluralResolver.getSuffix(c,t.count,{ordinal:!1}):"",v=u&&!t.ordinal&&0===t.count,m=v&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${g}`]||t[`defaultValue${f}`]||t.defaultValue;!this.isValidLookup(p)&&d&&(n=!0,p=m),this.isValidLookup(p)||(a=!0,p=r);const y=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:p,b=d&&m!==p&&this.options.updateMissing;if(a||n||b){if(this.logger.log(b?"updateKey":"missingKey",c,l,r,b?m:p),o){const e=this.resolve(r,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const s=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&s&&s[0])for(let t=0;t<s.length;t++)e.push(s[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const i=(e,s,i)=>{const n=d&&i!==p?i:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,s,n,b,t):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,s,n,b,t),this.emit("missingKey",e,l,s,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?e.forEach((e=>{const s=this.pluralResolver.getSuffixes(e,t);v&&t[`defaultValue${this.options.pluralSeparator}zero`]&&s.indexOf(`${this.options.pluralSeparator}zero`)<0&&s.push(`${this.options.pluralSeparator}zero`),s.forEach((s=>{i([e],r+s,t[`defaultValue${s}`]||m)}))})):i(e,r,m))}p=this.extendTranslation(p,e,t,h,s),a&&p===r&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${r}`),(a||n)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${r}`:r,n?p:void 0))}else{if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(d,p,{...t,ns:a}):`key '${r} (${this.language})' returned an object instead of string.`;return n?(h.res=e,h.usedParams=this.getUsedParamsDetails(t),h):e}if(o){const e=Array.isArray(p),s=e?[]:{},i=e?g:d;for(const e in p)if(Object.prototype.hasOwnProperty.call(p,e)){const n=`${i}${o}${e}`;s[e]=this.translate(n,{...t,joinArrays:!1,ns:a}),s[e]===n&&(s[e]=p[e])}p=s}}return n?(h.res=p,h.usedParams=this.getUsedParamsDetails(t),h):p}extendTranslation(e,t,s,n,o){var r=this;if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const a=i(e)&&(void 0!==s?.interpolation?.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(a){const t=e.match(this.interpolator.nestingRegexp);l=t&&t.length}let c=s.replace&&!i(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),e=this.interpolator.interpolate(e,c,s.lng||this.language||n.usedLng,s),a){const t=e.match(this.interpolator.nestingRegexp);l<(t&&t.length)&&(s.nest=!1)}!s.lng&&n&&n.res&&(s.lng=this.language||n.usedLng),!1!==s.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];return o?.[0]!==i[0]||s.context?r.translate(...i,t):(r.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${t[0]}`),null)}),s)),s.interpolation&&this.interpolator.reset()}const a=s.postProcess||this.options.postProcess,l=i(a)?[a]:a;return null!=e&&l?.length&&!1!==s.applyPostProcessor&&(e=L.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t,s,n,o,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(e)&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const l=this.extractFromKey(e,a),c=l.key;s=c;let u=l.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const h=void 0!==a.count&&!i(a.count),p=h&&!a.ordinal&&0===a.count,d=void 0!==a.context&&(i(a.context)||"number"==typeof a.context)&&""!==a.context,g=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach((e=>{this.isValidLookup(t)||(r=e,R[`${g[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(R[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${s}" for languages "${g.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach((s=>{if(this.isValidLookup(t))return;o=s;const i=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(i,c,s,e,a);else{let e;h&&(e=this.pluralResolver.getSuffix(s,a.count,a));const t=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(i.push(c+e),a.ordinal&&0===e.indexOf(n)&&i.push(c+e.replace(n,this.options.pluralSeparator)),p&&i.push(c+t)),d){const s=`${c}${this.options.contextSeparator}${a.context}`;i.push(s),h&&(i.push(s+e),a.ordinal&&0===e.indexOf(n)&&i.push(s+e.replace(n,this.options.pluralSeparator)),p&&i.push(s+t))}}let r;for(;r=i.pop();)this.isValidLookup(t)||(n=r,t=this.getResource(s,e,r,a))})))}))})),{res:t,usedKey:s,exactUsedKey:n,usedLng:o,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!i(e.replace);let n=s?e.replace:e;if(s&&void 0!==e.count&&(n.count=e.count),this.options.interpolation.defaultVariables&&(n={...this.options.interpolation.defaultVariables,...n}),!s){n={...n};for(const e of t)delete n[e]}return n}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}class j{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=S.create("languageUtils")}getScriptPartFromCode(e){if(!(e=b(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=b(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(i(e)&&e.indexOf("-")>-1){let t=Intl.getCanonicalLocales(e)[0];return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const s=this.getLanguagePartFromCode(e);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find((e=>e===s?e:e.indexOf("-")<0&&s.indexOf("-")<0?void 0:e.indexOf("-")>0&&s.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===s||0===e.indexOf(s)&&s.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),i(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes(t||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return i(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):i(e)&&o(this.formatLanguageCode(e)),s.forEach((e=>{n.indexOf(e)<0&&o(this.formatLanguageCode(e))})),n}}const $={zero:0,one:1,two:2,few:3,many:4,other:5},C={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class N{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=S.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=b("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:s,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];let o;try{o=new Intl.PluralRules(s,{type:i})}catch(s){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),C;if(!e.match(/-|_/))return C;const i=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(i,t)}return this.pluralRulesCache[n]=o,o}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,s).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort(((e,t)=>$[e]-$[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):[]}getSuffix(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const E=function(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=((e,t,s)=>{const i=h(e,s);return void 0!==i?i:h(t,s)})(e,t,s);return!r&&o&&i(s)&&(r=y(e,s,n),void 0===r&&(r=y(t,s,n))),r},A=e=>e.replace(/\$/g,"$$$$");class T{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=S.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:n,prefixEscaped:o,suffix:r,suffixEscaped:a,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:h,nestingPrefixEscaped:p,nestingSuffix:g,nestingSuffixEscaped:v,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:b}=e.interpolation;this.escape=void 0!==t?t:f,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=n?d(n):o||"{{",this.suffix=r?d(r):a||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=h?d(h):p||d("$t("),this.nestingSuffix=g?d(g):v||d(")"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==b&&b,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,s,n){let r,a,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=e=>{if(e.indexOf(this.formatSeparator)<0){const i=E(t,c,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,s,{...n,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),o=i.shift().trim(),r=i.join(this.formatSeparator).trim();return this.format(E(t,c,o,this.options.keySeparator,this.options.ignoreJSONStructure),r,s,{...n,...t,interpolationkey:o})};this.resetRegExp();const h=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,p=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>A(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?A(this.escape(e)):A(e)}].forEach((t=>{for(l=0;r=t.regex.exec(e);){const s=r[1].trim();if(a=u(s),void 0===a)if("function"==typeof h){const t=h(e,r,n);a=i(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,s))a="";else{if(p){a=r[0];continue}this.logger.warn(`missed to pass in variable ${s} for interpolating ${e}`),a=""}else i(a)||this.useRawValueToEscape||(a=o(a));const c=t.safeValue(a);if(e=e.replace(r[0],c),p?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,l++,l>=this.maxReplaces)break}})),e}nest(e,t){let s,n,r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const l=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let n=`{${i[1]}`;e=i[0],n=this.interpolate(n,r);const o=n.match(/'/g),a=n.match(/"/g);((o?.length??0)%2==0&&!a||a.length%2!=0)&&(n=n.replace(/'/g,'"'));try{r=JSON.parse(n),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${n}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;s=this.nestingRegexp.exec(e);){let c=[];r={...a},r=r.replace&&!i(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let u=!1;if(-1!==s[0].indexOf(this.formatSeparator)&&!/{.*}/.test(s[1])){const e=s[1].split(this.formatSeparator).map((e=>e.trim()));s[1]=e.shift(),c=e,u=!0}if(n=t(l.call(this,s[1].trim(),r),r),n&&s[0]===e&&!i(n))return n;i(n)||(n=o(n)),n||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),n=""),u&&(n=c.reduce(((e,t)=>this.format(e,t,a.lng,{...a,interpolationkey:s[1].trim()})),n.trim())),e=e.replace(s[0],n),this.regexp.lastIndex=0}return e}}const D=e=>{const t={};return(s,i,n)=>{let o=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(o={...o,[n.interpolationkey]:void 0});const r=i+JSON.stringify(o);let a=t[r];return a||(a=e(b(i),n),t[r]=a),a(s)}};class I{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=S.create("formatter"),this.options=e,this.formats={number:D(((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)})),currency:D(((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)})),datetime:D(((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)})),relativetime:D(((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")})),list:D(((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)}))},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=D(t)}format(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=t.split(this.formatSeparator);if(n.length>1&&n[0].indexOf("(")>1&&n[0].indexOf(")")<0&&n.find((e=>e.indexOf(")")>-1))){const e=n.findIndex((e=>e.indexOf(")")>-1));n[0]=[n[0],...n.splice(1,e)].join(this.formatSeparator)}return n.reduce(((e,t)=>{const{formatName:n,formatOptions:o}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const n=i[1].substring(0,i[1].length-1);"currency"===t&&n.indexOf(":")<0?s.currency||(s.currency=n.trim()):"relativetime"===t&&n.indexOf(":")<0?s.range||(s.range=n.trim()):n.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();s[o]||(s[o]=n),"false"===n&&(s[o]=!1),"true"===n&&(s[o]=!0),isNaN(n)||(s[o]=parseInt(n,10))}}))}return{formatName:t,formatOptions:s}})(t);if(this.formats[n]){let t=e;try{const r=i?.formatParams?.[i.interpolationkey]||{},a=r.locale||r.lng||i.locale||i.lng||s;t=this.formats[n](e,a,{...o,...i,...r})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${n}`),e}),e)}}class V extends O{constructor(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=S.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const n={},o={},r={},a={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const r=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===o[r]&&(o[r]=!0):(this.state[r]=1,i=!1,void 0===o[r]&&(o[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===a[t]&&(a[t]=!0)))})),i||(r[e]=!0)})),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(a)}}loaded(e,t,s){const i=e.split("|"),n=i[0],o=i[1];t&&this.emit("failedLoading",n,o,t),!t&&s&&this.store.addResourceBundle(n,o,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach((s=>{((e,t,s,i)=>{const{obj:n,k:o}=c(e,t,Object);n[o]=n[o]||[],n[o].push(s)})(s.loaded,[n],o),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:n,callback:o});this.readingCalls++;const r=(r,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}r&&a&&i<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,s,i+1,2*n,o)}),n):o(r,a)},a=this.backend[s].bind(this.backend);if(2!==a.length)return a(e,t,r);try{const s=a(e,t);s&&"function"==typeof s.then?s.then((e=>r(null,e))).catch(r):r(null,s)}catch(e){r(e)}}prepareLoading(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();i(e)&&(e=this.languageUtils.toResolveHierarchy(e)),i(t)&&(t=[t]);const o=this.queueLoad(e,t,s,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const s=e.split("|"),i=s[0],n=s[1];this.read(i,n,"read",void 0,void 0,((s,o)=>{s&&this.logger.warn(`${t}loading namespace ${n} for language ${i} failed`,s),!s&&o&&this.logger.log(`${t}loaded namespace ${n} for language ${i}`,o),this.loaded(e,s,o)}))}saveMissing(e,t,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=s&&""!==s){if(this.backend?.create){const a={...o,isUpdate:n},l=this.backend.create.bind(this.backend);if(l.length<6)try{let n;n=5===l.length?l(e,t,s,i,a):l(e,t,s,i),n&&"function"==typeof n.then?n.then((e=>r(null,e))).catch(r):r(null,n)}catch(e){r(e)}else l(e,t,s,i,r,a)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}else this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const F=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),i(e[1])&&(t.defaultValue=e[1]),i(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const s=e[3]||e[2];Object.keys(s).forEach((e=>{t[e]=s[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),M=e=>(i(e.ns)&&(e.ns=[e.ns]),i(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),i(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),U=()=>{};class H extends O{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var s;if(super(),this.options=M(e),this.services={},this.logger=S,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(s=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&(i(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const o=F();this.options={...o,...this.options,...M(t)},this.options.interpolation={...o.interpolation,...this.options.interpolation},void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const r=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?S.init(r(this.modules.logger),this.options):S.init(null,this.options),t=this.modules.formatter?this.modules.formatter:I;const s=new j(this.options);this.store=new w(this.options.resources,this.options);const i=this.services;i.logger=S,i.resourceStore=this.store,i.languageUtils=s,i.pluralResolver=new N(s,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(i.formatter=r(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new T(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new V(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];e.emit(t,...i)})),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new P(this.services,this.options),this.translator.on("*",(function(t){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];e.emit(t,...i)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,s||(s=U),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const a=n(),l=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),s(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?l():setTimeout(l,0),a}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U;const s=i(e)?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===s?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],i=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(s)i(s);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>i(e)))}this.options.preload?.forEach?.((e=>i(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,s){const i=n();return"function"==typeof e&&(s=e,e=void 0),"function"==typeof t&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=U),this.services.backendConnector.reload(e,t,(e=>{i.resolve(),s(e)})),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&L.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var s=this;this.isLanguageChangingTo=e;const o=n();this.emit("languageChanging",e);const r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,i)=>{i?(r(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,o.resolve((function(){return s.t(...arguments)})),t&&t(e,(function(){return s.t(...arguments)}))},l=t=>{e||t||!this.services.languageDetector||(t=[]);const s=i(t)?t:this.services.languageUtils.getBestMatchFromCodes(t);s&&(this.language||r(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector?.cacheUserLanguage?.(s)),this.loadResources(s,(e=>{a(e,s)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e):l(this.services.languageDetector.detect()),o}getFixedT(e,t,s){var n=this;const o=function(e,t){let i;if("object"!=typeof t){for(var r=arguments.length,a=new Array(r>2?r-2:0),l=2;l<r;l++)a[l-2]=arguments[l];i=n.options.overloadTranslationOptionHandler([e,t].concat(a))}else i={...t};i.lng=i.lng||o.lng,i.lngs=i.lngs||o.lngs,i.ns=i.ns||o.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||s||o.keyPrefix);const c=n.options.keySeparator||".";let u;return u=i.keyPrefix&&Array.isArray(e)?e.map((e=>`${i.keyPrefix}${c}${e}`)):i.keyPrefix?`${i.keyPrefix}${c}${e}`:e,n.t(u,i)};return i(e)?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=s,o}t(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.translator?.translate(...t)}exists(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.translator?.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!o(s,e)||i&&!o(n,e)))}loadNamespaces(e,t){const s=n();return this.options.ns?(i(e)&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=n();i(e)&&(e=[e]);const o=this.options.preload||[],r=e.filter((e=>o.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return r.length?(this.options.preload=o.concat(r),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new j(F());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new H(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},n=new H(i);void 0===e.debug&&void 0===e.prefix||(n.logger=n.logger.clone(e));return["store","services","language"].forEach((e=>{n[e]=this[e]})),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},s&&(n.store=new w(this.store.data,i),n.services.resourceStore=n.store),n.translator=new P(n.services,i),n.translator.on("*",(function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];n.emit(e,...s)})),n.init(i,t),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const K=H.createInstance();K.createInstance=H.createInstance;K.createInstance,K.dir,K.init,K.loadResources,K.reloadResources,K.use,K.changeLanguage,K.getFixedT,K.t,K.exists,K.setDefaultNamespace,K.hasLoadedNamespace,K.loadNamespaces,K.loadLanguages}},function(e){var t;t=51250,e(e.s=t)}]); //# sourceMappingURL=i18n_init-115e8b97572e00d91d6f.js.map //]]> </script> <script src="https://cdn.theconversation.com/static/tc/runtime-8563a1641acaeb567def.js"></script> <script type="text/javascript" data-vendor="c:smartocto-GJ7CA7CP"> var _ain = { access_level: "free", article_type: "analysis", authors: "University of Michigan", id: "2743", maincontent: ".content-body", postid: "240403", pubdate: "2024-10-08T12:24:29Z", reader_type: "anonymous", sections: "us>Arts + Culture", tags: "FIFA , Sport, Soccer, Employment, Sports, Employment law, Athletes, Major League Soccer (MLS), European Court of Justice, ECJ, US Soccer, Sports management", title: "European court ruling finds just cause to award soccer players greater freedom of movement", }; (function (d, s) { var sf = d.createElement(s); sf.type = 'text/javascript'; sf.async = true; sf.src = (('https:' == d.location.protocol) ? 'https://d7d3cf2e81d293050033-3dfc0615b0fd7b49143049256703bfce.ssl.cf1.rackcdn.com' : 'http://t.contentinsights.com') + '/stf.js'; var t = d.getElementsByTagName(s)[0]; t.parentNode.insertBefore(sf, t); })(document, 'script'); </script> <script>window.tentacles = { apiToken: "zu0fth1pwaw4xbz53mh0yl3ik80ndct1" };</script> <script src="https://tentacles.smartocto.com/ten/tentacle.js" type="text/javascript" data-vendor="c:smartocto-GJ7CA7CP"></script> </body> </html>

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