<!doctype html>
<html class="no-js" lang="en" dir="ltr">
<head>
    <script>
    window.atp_settings = {};
    window.atp_settings.pre_roll_ad_unit = "video-ad-atp";
</script>



    <!-- GTM Head Tag -->
    

<!-- Google Tag Manager -->
<script nonce="5c659378-8a46-42c1-8b5e-2024432a7455">
        (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.nonce='5c659378-8a46-42c1-8b5e-2024432a7455'; j.src =
                    'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-KP6F8L8');
</script>
<!-- End Google Tag Manager -->

    

    

    
<!-- disable auto format for telephone numbers -->
<meta name="format-detection" content="telephone=no">

<meta name="viewport" content="initial-scale=1.0, width=device-width, user-scalable=yes, minimum-scale=1.0, maximum-scale=1.25">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE">


<meta property="fb:app_id" content="" />
<meta property="fb:pages" content="">

<meta name="google" content="notranslate" />
<meta name="medium" content="website" />

    <title>News | ATP Tour | Tennis</title>
    <meta name="description" content="The official source for the latest news from the ATP Tour and the world of men&#39;s professional tennis." />
    <meta name="title" content="News | ATP Tour | Tennis" />
    <meta name="keywords" content="" />
    <meta name="thumbnail" content="" />
    <meta property="pageTransitionTitle" content="News" />
    <!-- facebook -->
    <meta property='og:locale' content="en" />
    <meta property='og:type' content="" />
    <meta property='og:title' content="News | ATP Tour | Tennis" />
    <meta property='og:description' content="The official source for the latest news from the ATP Tour and the world of men&#39;s professional tennis." />
    <meta property='og:image' content="" />
    <meta property='og:url' content="http://www.atptour.com/en/news" />
    <meta property='og:site_name' content="ATP Tour" />
    <!-- twitter -->
    <meta name="twitter:card" content="summary" />
    <meta name="twitter:title" content="News | ATP Tour | Tennis" />
    <meta name="twitter:creator" content="@atptour" />
    <meta name="twitter:description" content="The official source for the latest news from the ATP Tour and the world of men&#39;s professional tennis." />
    <meta name="twitter:image" content="" />


<link rel='alternate' hreflang='en' href="https://www.atptour.com/en/news" />
<link rel='alternate' hreflang='es' href="https://www.atptour.com/es/news" />
<link rel='alternate' hreflang='ja' href="https://www.atptour.com/ja/news" />
<link rel='alternate' hreflang='it' href="https://www.atptour.com/it/news" />


    <meta name="apple-itunes-app" content="app-id=1480255719">





    <link rel="preload" href="/assets/atptour/fonts/creatodisplay-regular-webfont.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/assets/atptour/fonts/creatodisplay-medium-webfont.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/assets/atptour/fonts/creatodisplay-extrabold-webfont.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/assets/atptour/fonts/creatodisplay-bold-webfont.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/assets/atptour/fonts/creatodisplay-black-webfont.woff2" as="font" type="font/woff2" crossorigin>

    <link nonce="5c659378-8a46-42c1-8b5e-2024432a7455" rel="stylesheet" href="/assets/atptour/css/atptour.css?bust=639100480800000000">
    <!-- Google Ad Manager Header -->
    <script type="text/plain" nonce="5c659378-8a46-42c1-8b5e-2024432a7455" async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" class="optanon-category-C0004"></script>
<script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" defer>
    window.googletag = window.googletag || { cmd: [] };

    googletag["slots"] = [];

    googletag.cmd.push(function () {
    googletag.pubads().setForceSafeFrame(true);
    



    
        googletag.slots['div-gpt-ad-Header'] = googletag.defineSlot('/21840952109/Header', [728,90], 'div-gpt-ad-Header')
        .defineSizeMapping(googletag.sizeMapping().addSize([728, 0],  [728,90]).addSize([0, 0], [320,50] ).build())
        .setCollapseEmptyDiv(true)
        .setTargeting('Position', ['ATP Header'])
        .addService(googletag.pubads());
    
    
        googletag.slots['div-gpt-ad-Footer'] = googletag.defineSlot('/21840952109/Footer', [728,90], 'div-gpt-ad-Footer')
        .defineSizeMapping(googletag.sizeMapping().addSize([728, 0],  [728,90]).addSize([0, 0], [320,50] ).build())
        .setCollapseEmptyDiv(true)
        .setTargeting('Position', ['ATP Footer'])
        .addService(googletag.pubads());
    
    
        googletag.slots['div-gpt-ad-Body-Slot-1'] = googletag.defineSlot('/21840952109/Body-Slot-1', [300,250], 'div-gpt-ad-Body-Slot-1')
        .defineSizeMapping(googletag.sizeMapping().addSize([728, 0],  [300,250]).addSize([0, 0], []).build())
        .setCollapseEmptyDiv(true)
        .setTargeting('Position', ['ATP Body Slot 1'])
        .addService(googletag.pubads());
    



    googletag.pubads().enableSingleRequest();
    googletag.pubads().collapseEmptyDivs();

        googletag.pubads().
            setTargeting('Language',['English']).
            setTargeting('Site',['ATP Tour']).
            setTargeting('Device',['Desktop']);

    googletag.enableServices();
    });
</script>


    <!-- Bloomreach JS -->
    

<style>
    .xnpe_async_hide {
        opacity: 0 !important
    }
</style>
<script type="text/javascript">
    console.log("Bloomreach JS Init")
    !function (e, n, t, i, r, o) { function s(e) { if ("number" != typeof e) return e; var n = new Date; return new Date(n.getTime() + 1e3 * e) } var a = 4e3, c = "xnpe_async_hide"; function p(e) { return e.reduce((function (e, n) { return e[n] = function () { e._.push([n.toString(), arguments]) }, e }), { _: [] }) } function m(e, n, t) { var i = t.createElement(n); i.src = e; var r = t.getElementsByTagName(n)[0]; return r.parentNode.insertBefore(i, r), i } function u(e) { return "[object Date]" === Object.prototype.toString.call(e) } o.target = o.target || "https://api.exponea.com", o.file_path = o.file_path || o.target + "/js/exponea.min.js", r[n] = p(["anonymize", "initialize", "identify", "getSegments", "update", "track", "trackLink", "trackEnhancedEcommerce", "getHtml", "showHtml", "showBanner", "showWebLayer", "ping", "getAbTest", "loadDependency", "getRecommendation", "reloadWebLayers", "_preInitialize", "_initializeConfig"]), r[n].notifications = p(["isAvailable", "isSubscribed", "subscribe", "unsubscribe"]), r[n].segments = p(["subscribe"]), r[n]["snippetVersion"] = "v2.7.0", function (e, n, t) { e[n]["_" + t] = {}, e[n]["_" + t].nowFn = Date.now, e[n]["_" + t].snippetStartTime = e[n]["_" + t].nowFn() }(r, n, "performance"), function (e, n, t, i, r, o) { e[r] = { sdk: e[i], sdkObjectName: i, skipExperiments: !!t.new_experiments, sign: t.token + "/" + (o.exec(n.cookie) || ["", "new"])[1], path: t.target } }(r, e, o, n, i, RegExp("__exponea_etc__" + "=([\\w-]+)")), function (e, n, t) { m(e.file_path, n, t) }(o, t, e), function (e, n, t, i, r, o, p) { if (e.new_experiments) { !0 === e.new_experiments && (e.new_experiments = {}); var l, f = e.new_experiments.hide_class || c, _ = e.new_experiments.timeout || a, g = encodeURIComponent(o.location.href.split("#")[0]); e.cookies && e.cookies.expires && ("number" == typeof e.cookies.expires || u(e.cookies.expires) ? l = s(e.cookies.expires) : e.cookies.expires.tracking && ("number" == typeof e.cookies.expires.tracking || u(e.cookies.expires.tracking)) && (l = s(e.cookies.expires.tracking))), l && l < new Date && (l = void 0); var d = e.target + "/webxp/" + n + "/" + o[t].sign + "/modifications.min.js?http-referer=" + g + "&timeout=" + _ + "ms" + (l ? "&cookie-expires=" + Math.floor(l.getTime() / 1e3) : ""); "sync" === e.new_experiments.mode && o.localStorage.getItem("__exponea__sync_modifications__") ? function (e, n, t, i, r) { t[r][n] = "<" + n + ' src="' + e + '"></' + n + ">", i.writeln(t[r][n]), i.writeln("<" + n + ">!" + r + ".init && document.writeln(" + r + "." + n + '.replace("/' + n + '/", "/' + n + '-async/").replace("><", " async><"))</' + n + ">") }(d, n, o, p, t) : function (e, n, t, i, r, o, s, a) { o.documentElement.classList.add(e); var c = m(t, i, o); function p() { r[a].init || m(t.replace("/" + i + "/", "/" + i + "-async/"), i, o) } function u() { o.documentElement.classList.remove(e) } c.onload = p, c.onerror = p, r.setTimeout(u, n), r[s]._revealPage = u }(f, _, d, n, o, p, r, t) } }(o, t, i, 0, n, r, e), function (e, n, t) { var i; e[n]._initializeConfig(t), (null === (i = t.experimental) || void 0 === i ? void 0 : i.non_personalized_weblayers) && e[n]._preInitialize(t), e[n].start = function (i) { i && Object.keys(i).forEach((function (e) { return t[e] = i[e] })), e[n].initialize(t) } }(r, n, o) }(document, "exponea", "script", "webxpClient", window, {
        target: "https://api.uk.exponea.com",
        token: "bfbfcfc0-ba2c-11ee-a3f9-c6fa5202914d",
        experimental: {
            non_personalized_weblayers: true
        },
        // replace with current customer ID or leave commented out for an anonymous customer
        // customer: window.currentUserId,
        track: {
            visits: true,
            google_analytics: false,
        },
    });

    function OptanonWrapper() {
        if (exponea && OnetrustActiveGroups.includes("C0004")) {
            console.log("Starting Bloomreach");
            exponea.start();
        }
    }

</script>

    
    <link rel="icon" href="/assets/atpwt/images/global/favicon.ico">
</head>
<body class="" style="">
    
    <!-- GTM Body Tag -->
    
<!-- Google Tag Manager (noscript) -->
<noscript>
    <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KP6F8L8"
            height="0" width="0" class="gtm-hide"></iframe>
</noscript>
<style nonce="5c659378-8a46-42c1-8b5e-2024432a7455">
    .gtm-hide {
        display: none;
        visibility: hidden;
    }
</style>
<!-- End Google Tag Manager (noscript) -->

    <!--start header section -->
    <div class="atp_header" id="atpTourHeaderApp">
    <h1>ATP Tour</h1>
    <div class="atp_header-secondary">
        <div class="wrapper">
            <div class="section">
                <div class="partner">
                    <a href="https://www.infosys.com/" target="_blank" class="logo-link">
                        <img src="/-/media/sites/atp-tour/header/infosys_logo.png" class="logo-image" alt=""/>
                            <span class="logo-content">DIGITAL INNOVATION PARTNER</span>
                    </a>
                </div>
            </div>
            <div v-if="!isBelowTinyLandscape" class="section tourn" v-cloak>
                <ul class="tournaments">
                    <template v-for="(item, index) in globalNavJSON" :key="index">
                        <li :class="[item.IsActive ? 'active' : '', item.IsSeparator ? 'separator' : '', item.CssClass]">
                            <a :href="item.Link.Url" :target="item.Link.Target" @mouseenter="updateHoverState($event.currentTarget)" @mouseleave="updateGlobalLogoState()">
                                <img class="neutral" :src="item.Image.Url" :alt="item.Image.AltText" :title="item.Image.AltText" />
                                <img class="light" :src="item.ImageLight.Url" :alt="item.ImageLight.AltText" :title="item.ImageLight.AltText" />
                            </a>
                        </li>
                    </template>
                </ul>
            </div>
            <div class="section">
                <div class="navigation" v-if="!isMobile" v-cloak>
                    <navigation
                        :navigation="navigation.secondary"
                        :page="currentPage"
                        :head="currentHead"></navigation>
                </div>
                <template v-if="!isMobile">
                    

    <div class="language">
        <div class="current">
            <a href="#" @click.prevent="handleLanguages" :class="languagesExpanded ? 'active' : ''">EN</a>
        </div>
        <div class="dropdown" :class="dropdownExpanded">
            <ul>
                    <li>
                            <a href="/en" class="active">EN</a>
                    </li>
                    <li>
                            <a href="/es">ES</a>
                    </li>
            </ul>
        </div>
    </div>

                </template>
            </div>
        </div>
        <div v-if="isBelowTinyLandscape" class="global-nav" v-cloak>
            <div class="section tourn">
                <ul class="tournaments">
                    <template v-for="(item, index) in globalNavJSON" :key="index">
                        <li :class="[item.IsActive ? 'active' : '', item.IsSeparator ? 'separator' : '', item.CssClass]">
                            <a :href="item.Link.Url" :target="item.Link.Target" @mouseenter="updateHoverState($event.currentTarget)" @mouseleave="updateGlobalLogoState()">
                                <img class="neutral" :src="item.Image.Url" :alt="item.Image.AltText" :title="item.Image.AltText" />
                                <img class="light" :src="item.ImageLight.Url" :alt="item.ImageLight.AltText" :title="item.ImageLight.AltText" />
                            </a>
                        </li>
                    </template>
                </ul>
            </div>
        </div>
    </div>
    <div class="atp_header-primary">
        <div class="wrapper">
            <div class="section">
                <div v-if="isMobile" class="menu" @click="handleNavigation">
                    <span></span>
                    <span></span>
                    <span></span>
                </div>
                <div id="site-logo" class="logo">
                    <a href="/en"><img src="/-/media/sites/atp-tour/header/atp-add-all-logo_1.png" class="logo-image" alt="ATPTour"></a>
                </div>
                <div v-if="!isMobile" class="navigation" v-cloak>
                    <ul>
                        <template v-for="(item, index) in navigation.primary" :key="index">
                            <li class="navigation-item nav-link__element" :data-navigation-name="item.NavigationTrackName" :class="[item.Id === currentHead ? 'active' : '', item.SubNavigationItems ? 'expandables' : '']">
                                <a v-if="item.SubNavigationItems" :href="lowercase(item.Url)">
                                    {{ item.Label }}
                                </a>
                                <a v-else :href="lowercase(item.Url)" :target="item.External ? '_blank' : ''">
                                    {{ item.Label }}
                                </a>
                                <div v-if="item.SubNavigationItems" class="navigation-level">
                                    <ul>
                                        <template v-for="(subitem, subindex) in item.SubNavigationItems" :key="`link_${subindex + 1}`">
                                            <li class="navigation-item nav-link__element" :data-navigation-name="subitem.NavigationTrackName"><a :class="subitem.Id === currentPage ? 'active' : ''" :href="lowercase(subitem.Url)" :target="subitem.External ? '_blank' : ''">{{ subitem.Label }} <span v-if="subitem.External" class="icon-external-link"></span></a></li>
                                        </template>
                                    </ul>
                                </div>
                            </li>
                        </template>
                        <li v-if="navigation.more.Links" :class="['corporate-links', isMoreActive ? 'active' : '', navigation.more.Links ? 'expandables' : '']">
                            <a href="#" @click.prevent="">
                                {{ navigation.more.Label }}
                                <span class="hide-text">navigation links</span>
                            </a>
                            <div v-if="navigation.more.Links" class="navigation-level">
                                <template v-for="(level, levelindex) in navigation.more.Links" :key="`level_${levelindex + 1}`">
                                    <div class="column" v-if="level.Items">
                                        <div class="column-header">{{ level.Header }}</div>
                                        <div class="column-links">
                                            <ul>
                                                <li v-for="(sublevel, sublevelindex) in level.Items" class="nav-link__element" :key="`sublevel${sublevelindex + 1}`" :data-navigation-name="sublevel.NavigationTrackName">
                                                    <a :class="sublevel.Id === currentPage ? 'active' : ''" :href="lowercase(sublevel.Url)" :target="sublevel.External ? '_blank' : ''">{{ sublevel.Label }} <span v-if="sublevel.External" class="icon-external-link"></span></a>
                                                </li>
                                            </ul>
                                        </div>
                                    </div>
                                </template>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
            <div class="section">
                <div class="toolbar">

                        <a href="https://atptourstore.com/?utm_source=MainWebsite&amp;utm_medium=NavBar&amp;utm_campaign=ShopButton" target="_blank">
                            <div class="shop-wrapper">
                                Shop
                                <img class="shop-icon" src="/assets/atptour/assets/atp-store-white.svg" alt="Shop" />
                            </div>
                        </a>

                    
                    <div class="search">
                        <span class="icon-search"></span>
                    </div>
                </div>
                <div class="sponsor">
                    <a href="http://www.emirates.com/" target="_blank" class="sponsor-link">
                        <!-- <img v-if="isMobile" class="sponsor-logo" src="/-/media/sites/atp-tour/header/logo-emirates-mobile_1.svg" alt="Emirates" /> -->
                        <img class="sponsor-logo" src="/-/media/sites/atp-tour/header/logo-emirates-mobile_1.svg" alt="" />
                    </a>
                </div>
            </div>
        </div>
    </div>
    <div v-if="isMobile" class="atp_header-overlay-navigation" :class="overlayClasses" v-cloak>
        <div class="header">
            <div class="close" @click="hideNavigation">
                <span></span>
                <span></span>
            </div>
            <div class="logo">
                <a href="/"><img src="/-/media/sites/atp-tour/header/atp-add-all-logo_1.png" class="logo-image" alt="ATPTour"></a>
            </div>
            <template v-if="isMobile">
                

    <div class="language">
        <div class="current">
            <a href="#" @click.prevent="handleLanguages" :class="languagesExpanded ? 'active' : ''">EN</a>
        </div>
        <div class="dropdown" :class="dropdownExpanded">
            <ul>
                    <li>
                            <a href="/en" class="active">EN</a>
                    </li>
                    <li>
                            <a href="/es">ES</a>
                    </li>
            </ul>
        </div>
    </div>

            </template>
        </div>
        <navigation :navigation="navigation.primary"
                    :head="currentHead"
                    :page="currentPage"
                    :expanded="expandedItem"
                    @menutoggled="setExpandedItem"></navigation>
        <navigation :navigation="navigation.more.Links"
                    :head="currentHead"
                    :page="currentPage"
                    :expanded="expandedItem"
                    :corporate="true"
                    @menutoggled="setExpandedItem"></navigation>
        <navigation :navigation="navigation.secondary"
                    :head="currentHead"
                    :page="currentPage"
                    :expanded="expandedItem"
                    @menutoggled="setExpandedItem"></navigation>
    </div>
    <input type="hidden" class="atp_globalnav-endpoint" value="/-/tour/globalnav" />
    <input type="hidden" class="atp_globalnav-current-url" value="/en/news" />
    <input type="hidden" class="atp_globalnavlanguage-endpoint" value="en" />
    <input type="hidden" class="atp_header-endpoint" value="/en/-/tour/navigationtop" />
    <input type="hidden" class="atp_header-currentPage" value="{DAA216DA-68CE-41F8-86CC-4FFCA8B134F8}" />
    <input type="hidden" class="atp_header-currentHead" value="{40CA0751-7A96-4555-B131-1DBEBA9C4262}" />
    <input type="hidden" class="atp_header-isMoreActive" value="false" />
</div>
<!-- <script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" id="atpTourHeaderSponsor" type="text/x-template">
    <div class="sponsor">
        <a href="http://www.emirates.com/" target="_blank" class="sponsor-link">
            <img v-if="isMobile" class="sponsor-logo" src="/-/media/sites/atp-tour/header/logo-emirates-mobile_1.svg" alt="Emirates" />
            <img v-else class="sponsor-logo" src="/-/media/sites/atp-tour/header/logo-emirates-mobile_1.svg" alt="" />
        </a>
    </div>
</script> -->
<script id="atpTourNavigation" type="text/x-template">
    <ul v-if="corporate">
    <template v-for="(item, index) in navigation" :key="index" v-cloak>
        <li :class="item.Id === head ? 'active' : ''" :data-navigation-name="item.NavigationTrackName">
            <a v-if="item.Items" :href="lowercase(item.Url)" @click.prevent="handleMenuToggle(item.Id)">
                {{ item.Header }}
                <span v-if="item.Id === expanded" class="icon-chevron-up"></span>
                <span v-else class="icon-chevron-down"></span>
            </a>
            <a v-else :href="lowercase(item.Url)" :target="item.Target">
                {{ item.Header }}
            </a>
            <div v-if="item.Items" :class="['navigation-level', item.Id === expanded ? `${setNavLevelClasses()}` : `${removeNavLevelClasses()}`]">
                <ul>
                    <template v-for="(subitem, subindex) in item.Items" :key="`link_${subindex + 1}`">
                        <li class="nav-link__element" :data-navigation-name="subitem.NavigationTrackName">
                            <a :class="subitem.Id === page ? 'active' : ''" :href="lowercase(subitem.Url)" :target="subitem.Target">{{ subitem.Label }} <span v-if="subitem.External" class="icon-external-link"></span></a>
                        </li>
                    </template>
                </ul>
            </div>
        </li>
    </template>
</ul>
<ul v-else v-cloak>
    <template v-for="(item, index) in navigation" :key="index">
        <li :class="item.Id === head ? 'active' : ''">
            <a v-if="item.SubNavigationItems" :href="lowercase(item.Url)" @click.prevent="handleMenuToggle(item.Id)">
                {{ item.Label }}
                <span v-if="item.Id === expanded" class="icon-chevron-up"></span>
                <span v-else class="icon-chevron-down"></span>
            </a>
            <a v-else :href="lowercase(item.Url)" :target="item.Target">
                {{ item.Label }}
            </a>
            <div v-if="item.SubNavigationItems" :class="['navigation-level', item.Id === expanded ? `${setNavLevelClasses()}` : `${removeNavLevelClasses()}`]">
                <ul>
                    <template v-for="(subitem, subindex) in item.SubNavigationItems" :key="`link_${subindex + 1}`">
                        <li class="nav-link__element" :data-navigation-name="subitem.NavigationTrackName">
                            <a :class="subitem.Id === page ? 'active' : ''" :href="lowercase(subitem.Url)" :target="subitem.Target">{{ subitem.Label }} <span v-if="subitem.External" class="icon-external-link"></span></a>
                        </li>
                    </template>
                </ul>
            </div>
        </li>
    </template>
</ul>

</script>
<div class="atp_search" v-cloak>
    <div v-if="showSearch" class="atp_search-container">
        <div @click="closeSearch" class="atp_search-close">
            <span class="hide-text">Close</span>
        </div>

        <div class="atp_search-input">
            <label for="siteSearch" class="hide-text">Search</label>
            <input type="text" id="siteSearch" name="siteSearch" aria-labelledby="siteSearch" @input="debouncedInputHandler" v-model="searchQuery" ref="siteSearch" placeholder="Search Players and Tournaments" class="search-input" />
            <button v-if="searchQuery.length > 0" @click="clearSearch" class="clear-search-btn">
                <span class="hide-text">Search</span>
            </button>
            <button v-else @click="debouncedInputHandler" class="perform-search-btn">
                <span class="icon-search"></span>
                <span class="hide-text">Search</span>
            </button>
        </div>

        <div v-if="isLoading" class="loader">
            <div class="loading">
                <div></div>
                <div></div>
                <div></div>
                <div></div>
            </div>
        </div>
        <div v-else>
            <div class="atp_search-result" v-if="players.length > 0 || tournaments.length > 0">
                <div class="atp_search-result-list">
                    <div class="tournaments" v-if="tournaments.length > 0">
                        <h2 class="hide-text">Header 2</h2>
                        <h3 class="hide-text">Header 3</h3>
                        <h4>TOURNAMENT RESULTS</h4>
                        <div class="list">
                            <div class="list-item" v-for="(tournament, index) in tournaments">
                                <div class="name">
                                    <div class="badge">
                                        <img :src="tournament.TourTypeImageUrl" :alt="'tournament-'+index">
                                    </div>
                                    <div class="info">
                                        <div class="country">
                                            <h3 class="title">
                                                <a :href="lowercase(tournament.TournamentOverviewUrl)">{{tournament.SponsorTitle}}</a>
                                            </h3>
                                            <span class="flag" v-if="tournament.CountryFlagUrl">
                                                <flag :country="getCountryCode(tournament.CountryFlagUrl)"></flag>
                                            </span>
                                        </div>
                                        <div class="date-location">
                                            <span>{{tournament.City}}</span><span> | {{tournament.FormattedDate}}</span>
                                        </div>
                                    </div>
                                </div>
                                <div class="cta">
                                    <a :href="lowercase(tournament.TournamentOverviewUrl)" class="atp_button atp_button--secondary atp_button--secondary-transparent">Profile</a>
                                    <a :href="lowercase(tournament.TournamentLatestNewsUrl)" class="atp_button atp_button--secondary atp_button--secondary-transparent">Latest</a>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="players" v-if="players.length > 0">
                        <h4>PLAYER RESULTS</h4>
                        <div class="list">
                            <div class="list-item" v-for="(playerProfile, index) in players">
                                <div class="name">
                                    <span v-if="playerProfile.NatlId" class="flag"><flag :country="playerProfile.NatlId.toLowerCase()"></flag></span>
                                    <span>{{playerProfile.FirstName}} {{playerProfile.LastName}}</span>
                                </div>
                                <div class="cta">
                                    <a :href="lowercase(`/en/players/${getProfileUrl(playerProfile.FirstName,playerProfile.LastName,playerProfile.PlayerId)}`)" class="atp_button atp_button--secondary atp_button--secondary-transparent">Profile</a>
                                    <a :href="lowercase(`/en/news/news-filter-results/${getLatestUrl(playerProfile.FirstName,playerProfile.LastName,playerProfile.PlayerId)}`)" class="atp_button atp_button--secondary atp_button--secondary-transparent">Latest</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <input type="hidden" class="atp_search-endpoint" value="-/www/site-search" />
</div>


    <!--end header section -->
    <div class="container">

        

        <div class="wrapper ">
            

            


<div class="atp_ad atp_ad--bordered-bottom  atp_ad-size-90--desktop atp_ad-size-50--mobile">
    <div class="iab-wrapper">
        <div class="adtech-wrapper">
            <div id='div-gpt-ad-Header'>
                <script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" defer>
                         googletag.cmd.push(function () {
                            googletag.pubads().setForceSafeFrame(true);
                            googletag.display('div-gpt-ad-Header');
                         });
                </script>
            </div>
        </div>
    </div>
</div>

            <div class="atp_layout">
                    <div class="atp_section-nav  ">
            <div class="title">

                    <div class="content">Latest</div>

            </div>
                    <div class="navigation">
                <div class="dropdown">
                    <div class="dropdown-header">
                            <div class="dropdown-current">News</div>
                        <div class="dropdown-cta">
                            <span class="icon-chevron-down"></span>
                            <span class="icon-chevron-up"></span>
                        </div>
                    </div>
                    <div class="dropdown-content">
                        <ul>
                                <li>
                                    <a href="/en/news"  class=&quot;active&quot;>News</a>
                                </li>
                                <li>
                                    <a href="/en/video" >Videos</a>
                                </li>
                        </ul>
                    </div>
                </div>
            </div>
    </div>

                <div class="atp_layout-container">
                    
<div class="atp_layout-content">

    <div class="atp_news-landing">



<div class="atp_card  first large inverse">
    <a href="/en/news/jodar-top-100-feature-march-2026" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/27/13/01/jodar-top-100-march-2026.jpg" alt="Inside Jodar’s rapid rise to the Top 100: &#39;He had a focus I had never seen before&#39;">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Rafael Jodar
            </div>
            <div class="credit">
                Sam Jacot
            </div>
            <h3 class="title">
                Inside Jodar’s rapid rise to the Top 100: &#39;He had a focus I had never seen before&#39;                
            </h3>
            
        </div>
    </a>
</div>
                <div class="atp_ad-rolex medium">
                    <iframe src="/assets/atptour/assets/third-party/rolex/standard/index.html" width="100%" height="96" scrolling="NO" frameborder="NO"></iframe>
                </div>
                <div class="atp_ad atp_ad--bordered-dual medium">
                    <div class="iab-wrapper">
                        <div class="adtech-wrapper">
                            


<div class="atp_ad atp_ad--bordered-bottom  atp_ad-size-250--desktop ">
    <div class="iab-wrapper">
        <div class="adtech-wrapper">
            <div id='div-gpt-ad-Body-Slot-1'>
                <script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" defer>
                         googletag.cmd.push(function () {
                            googletag.pubads().setForceSafeFrame(true);
                            googletag.display('div-gpt-ad-Body-Slot-1');
                         });
                </script>
            </div>
        </div>
    </div>
</div>

                        </div>
                    </div>
                </div>


<div class="atp_card  small">
    <a href="/en/news/lehecka-miami-2026-final-reaction" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/30/02/05/lehecka-miami-2026-final.jpg" alt="Lehecka satisfied, but sees ‘big, big room for improvement’">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Miami
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Lehecka satisfied, but sees ‘big, big room for improvement’                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  small">
    <a href="/en/news/miami-2026-results" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2025/03/27/04/08/miami-2025-stadium.jpg" alt="Who won the Miami title?">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Miami
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Who won the Miami title?                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  small">
    <a href="/en/news/atp-masters-1000-records-tournaments-stats" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/30/00/49/sinner-miami-2026-masters-records-stats.jpg" alt="ATP Masters 1000: Tournaments, Records, Stats">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Masters 1000
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                ATP Masters 1000: Tournaments, Records, Stats                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  extended inline">
    <a href="/en/video/extended-highlights-sinner-wins-miami-2026-crown-to-complete-sunshine-double" class="card-link " data-video-id=6392097302112 data-account=6057277721001 data-player=xO4H0ZXngd_default>
        <div class="image-container">
            <div class="image ">
                <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/07e6e9db-b7b6-4b4c-b6e9-89ac11f7248b/27164488-1f24-47c8-b50d-31902ad1caa1/1280x720/match/image.jpg" alt="Extended Highlights: Sinner wins Miami crown to complete Sunshine Double">
            </div>
                <div class="cta">

                    <div class="cta-video">
                        <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                        </svg>
                    </div>

                </div>
        </div>
        <div class="content content--video">
            <div class="tag">
                Extended Highlights
            </div>
            <div class="credit">
                
            </div>
            <h3 class="title">
                Extended Highlights: Sinner wins Miami crown to complete Sunshine Double                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  extended inline">
    <a href="/en/news/longest-atp-masters-1000-winning-streaks" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/30/01/06/sinner-miami-2026-longest-win-streak.jpg" alt="What are the longest ATP Masters 1000 winning streaks in history?">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Masters 1000
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                What are the longest ATP Masters 1000 winning streaks in history?                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  half">
    <a href="/en/news/alcaraz-sinner-pif-atp-rankings-projection-post-miami-2026" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/30/00/31/sinner-alcaraz-miami-2026-no-1-projection-graphic.jpg" alt="How Sinner has flipped the World No. 1 battle with Alcaraz">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                PIF ATP Live Rankings Projection
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                How Sinner has flipped the World No. 1 battle with Alcaraz                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  half">
    <a href="/en/video/highlights-sinner-downs-lehecka-in-miami-2026-final-completes-sunshine-double" class="card-link " data-video-id=6392094257112 data-account=6057277721001 data-player=xO4H0ZXngd_default>
        <div class="image-container">
            <div class="image ">
                <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/df71a71f-aa04-4e81-bc8f-be3239b02f80/b0e64be0-d288-48c3-a9b4-47e9f9e1e62e/1280x720/match/image.jpg" alt="Highlights: Sinner downs Lehecka in Miami final, completes Sunshine Double">
            </div>
                <div class="cta">

                    <div class="cta-video">
                        <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                        </svg>
                    </div>

                </div>
        </div>
        <div class="content content--video">
            <div class="tag">
                Highlights
            </div>
            <div class="credit">
                
            </div>
            <h3 class="title">
                Highlights: Sinner downs Lehecka in Miami final, completes Sunshine Double                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  half horizontal">
    <a href="/en/news/sinner-miami-2026-big-titles" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/29/17/52/sinner-miami-2026-big-titles-16x9.jpg" alt="Sinner closes on Alcaraz&#39;s Big Titles count with Miami triumph">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Big Titles
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Sinner closes on Alcaraz&#39;s Big Titles count with Miami triumph                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  half horizontal">
    <a href="/en/news/sinner-lehecka-miami-2026-final" class="card-link " >
        <div class="image-container">
            <div class="image image--video">
                <img src="/-/media/images/news/2026/03/29/21/05/sinner-sunshine-double-2026.jpg" alt="Sinner wins Miami, becomes first man since Federer to complete Sunshine Double">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Miami
            </div>
            <div class="credit">
                Grant Thompson
            </div>
            <h3 class="title">
                Sinner wins Miami, becomes first man since Federer to complete Sunshine Double                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  small">
    <a href="/en/video/hot-shot-leheckas-laser-forehand-impresses-miami-2026-crowd" class="card-link " data-video-id=6392093490112 data-account=6057277721001 data-player=xO4H0ZXngd_default>
        <div class="image-container">
            <div class="image ">
                <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/fa61a03b-397d-4208-b41f-983211c067de/484e6fa2-bd35-4e9b-878f-5766a1993405/1280x720/match/image.jpg" alt="Hot Shot: Lehecka&#39;s laser forehand impresses Miami 2026 crowd">
            </div>
                <div class="cta">

                    <div class="cta-video">
                        <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                        </svg>
                    </div>

                </div>
        </div>
        <div class="content content--video">
            <div class="tag">
                Hot Shot
            </div>
            <div class="credit">
                
            </div>
            <h3 class="title">
                Hot Shot: Lehecka&#39;s laser forehand impresses Miami 2026 crowd                
            </h3>
            
        </div>
    </a>
</div>
                <div class="video-gallery">
                    <div class="atp_video-gallery">
    <div class="splide">
        <div class="splide__track">
            <ul class="splide__list">
                        <li class="splide__slide">
                            <div class="atp_card">
                                <a href="/en/video/extended-highlights-sinner-wins-miami-2026-crown-to-complete-sunshine-double" class="card-link card-link--video" data-video-id=6392097302112 data-account=6057277721001 data-player=xO4H0ZXngd_default data-url=/en/video/extended-highlights-sinner-wins-miami-2026-crown-to-complete-sunshine-double data-video-tags=extended-highlights,highlights,2026,jannik-sinner-s0ag,miami-403>
                                    <div class="image-container">
                                        <div class="image">
                                            <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/07e6e9db-b7b6-4b4c-b6e9-89ac11f7248b/27164488-1f24-47c8-b50d-31902ad1caa1/1280x720/match/image.jpg" alt="Extended Highlights: Sinner wins Miami crown to complete Sunshine Double">
                                        </div>
                                        <div class="cta">
                                            <div class="cta-video">
                                                <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                                                </svg>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="image-caption">
                                        Extended Highlights: Sinner wins Miami crown to complete Sunshine Double
                                    </div>
                                </a>
                            </div>
                        </li>
                        <li class="splide__slide">
                            <div class="atp_card">
                                <a href="/en/video/highlights-sinner-downs-lehecka-in-miami-2026-final-completes-sunshine-double" class="card-link card-link--video" data-video-id=6392094257112 data-account=6057277721001 data-player=xO4H0ZXngd_default data-url=/en/video/highlights-sinner-downs-lehecka-in-miami-2026-final-completes-sunshine-double data-video-tags=highlights,2026,miami-403,jannik-sinner-s0ag>
                                    <div class="image-container">
                                        <div class="image">
                                            <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/df71a71f-aa04-4e81-bc8f-be3239b02f80/b0e64be0-d288-48c3-a9b4-47e9f9e1e62e/1280x720/match/image.jpg" alt="Highlights: Sinner downs Lehecka in Miami final, completes Sunshine Double">
                                        </div>
                                        <div class="cta">
                                            <div class="cta-video">
                                                <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                                                </svg>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="image-caption">
                                        Highlights: Sinner downs Lehecka in Miami final, completes Sunshine Double
                                    </div>
                                </a>
                            </div>
                        </li>
                        <li class="splide__slide">
                            <div class="atp_card">
                                <a href="/en/video/hot-shot-leheckas-laser-forehand-impresses-miami-2026-crowd" class="card-link card-link--video" data-video-id=6392093490112 data-account=6057277721001 data-player=xO4H0ZXngd_default data-url=/en/video/hot-shot-leheckas-laser-forehand-impresses-miami-2026-crowd data-video-tags=hot-shot,2026,jiri-lehecka-l0bv,miami-403>
                                    <div class="image-container">
                                        <div class="image">
                                            <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/fa61a03b-397d-4208-b41f-983211c067de/484e6fa2-bd35-4e9b-878f-5766a1993405/1280x720/match/image.jpg" alt="Hot Shot: Lehecka&#39;s laser forehand impresses Miami 2026 crowd">
                                        </div>
                                        <div class="cta">
                                            <div class="cta-video">
                                                <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                                                </svg>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="image-caption">
                                        Hot Shot: Lehecka&#39;s laser forehand impresses Miami 2026 crowd
                                    </div>
                                </a>
                            </div>
                        </li>
                        <li class="splide__slide">
                            <div class="atp_card">
                                <a href="/en/video/hot-shot-sinner-unleashes-backhand-beauty-in-miami-2026-final" class="card-link card-link--video" data-video-id=6392085816112 data-account=6057277721001 data-player=xO4H0ZXngd_default data-url=/en/video/hot-shot-sinner-unleashes-backhand-beauty-in-miami-2026-final data-video-tags=hot-shot,2026,jannik-sinner-s0ag,miami-403>
                                    <div class="image-container">
                                        <div class="image">
                                            <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/833e5fd1-62b5-499b-ac41-f3a741f26af0/e63b4819-2ab3-4ccf-9e44-6c3cefa68dd8/1280x720/match/image.jpg" alt="Hot Shot: Sinner unleashes backhand beauty in Miami 2026 final">
                                        </div>
                                        <div class="cta">
                                            <div class="cta-video">
                                                <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                                                </svg>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="image-caption">
                                        Hot Shot: Sinner unleashes backhand beauty in Miami 2026 final
                                    </div>
                                </a>
                            </div>
                        </li>
                        <li class="splide__slide">
                            <div class="atp_card">
                                <a href="/en/video/hot-shot-sinners-forehand-whipper-puzzles-lehecka-in-miami-206-final" class="card-link card-link--video" data-video-id=6392081737112 data-account=6057277721001 data-player=xO4H0ZXngd_default data-url=/en/video/hot-shot-sinners-forehand-whipper-puzzles-lehecka-in-miami-206-final data-video-tags=hot-shot,2026,jannik-sinner-s0ag,miami-403>
                                    <div class="image-container">
                                        <div class="image">
                                            <img src="https://cf-images.us-east-1.prod.boltdns.net/v1/static/6057277721001/12415a42-79bf-47b9-b5c8-39bd56053dae/127e73a4-d655-4197-8f03-7388779e9717/1280x720/match/image.jpg" alt="Hot Shot: Sinner&#39;s forehand &#39;whipper&#39; puzzles Lehecka in Miami final">
                                        </div>
                                        <div class="cta">
                                            <div class="cta-video">
                                                <svg viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M7.66634 4.99992L0.333008 9.66659V0.333252L7.66634 4.99992ZM5.17967 4.99992L1.66634 2.75992V7.23992L5.17967 4.99992Z" fill="white"></path>
                                                </svg>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="image-caption">
                                        Hot Shot: Sinner&#39;s forehand &#39;whipper&#39; puzzles Lehecka in Miami final
                                    </div>
                                </a>
                            </div>
                        </li>
            </ul>
        </div>
    </div>
</div>

                </div>


<div class="atp_card  text small">
    <a href="/en/news/miami-2026-final-rain-delay" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/29/18/59/miami-2026-rain-final.jpg" alt="Miami Open final resumes after rain delay">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Miami
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Miami Open final resumes after rain delay                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  extended horizontal horizontal--large">
    <a href="/en/news/bucharest-houston-marrakech-2026-scouting-report" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/29/00/56/houston-marrakech-bucharest-scouting-report.jpg" alt="Shelton, Darderi, Diallo headline fields in Houston, Marrakech, Bucharest">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Scouting Report
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Shelton, Darderi, Diallo headline fields in Houston, Marrakech, Bucharest                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  small">
    <a href="/en/news/sunshine-double-info-miami-2026" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/29/00/43/sinner-miami-2026-forehand.jpg" alt="Who has completed the ‘Sunshine Double’? Sinner aims to join exclusive list in Miami">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Miami
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Who has completed the ‘Sunshine Double’? Sinner aims to join exclusive list in Miami                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  small">
    <a href="/en/news/miami-2026-schedule" class="card-link " >
        <div class="image-container">
            <div class="image ">
                <img src="/-/media/images/news/2026/03/18/01/58/miami-2026-ball.jpg" alt="What is the Miami tennis schedule?">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Miami
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                What is the Miami tennis schedule?                
            </h3>
            
        </div>
    </a>
</div>


<div class="atp_card  small">
    <a href="/en/news/heliovaara-patten-bolelli-vavassori-miami-2026-doubles-final" class="card-link " >
        <div class="image-container">
            <div class="image image--video">
                <img src="/-/media/images/news/2026/03/28/18/49/bolelli-vavassori-miami-2026-trophy-shot.jpg" alt="Bolelli/Vavassori clinch maiden Masters 1000 crown in Miami">
            </div>
        </div>
        <div class="content ">
            <div class="tag">
                Doubles
            </div>
            <div class="credit">
                ATP Staff
            </div>
            <h3 class="title">
                Bolelli/Vavassori clinch maiden Masters 1000 crown in Miami                
            </h3>
            
        </div>
    </a>
</div>

</div>
<div class="atp_news-landing-cta">
    <a href="/en/news/news-filter-results" class="atp_button atp_button--secondary">View All</a>
</div>


</div>

<div class="atp_layout-sidebar">
    <div class="atp_scores" data-default-tab="tour">
    <div v-if="isLoading" class="atp_scores--loader">
        <div class="loader-header">
            <div class="loader-header-top">
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
            </div>
            <div class="loader-header-bottom">
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
            </div>
        </div>
        <div class="loader-scores">
            <ul class="loader-scores-top">
                <li>
                    <skeleton-loader type="paragraph" :rows="2"></skeleton-loader>
                    <div class="loader-inner-nav">
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                    </div>
                    <div class="loader-section">
                        <div class="loader-section-top">
                            <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                            <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        </div>
                        <div class="loader-section-main">
                            <div class="loader-player">
                                <skeleton-loader type="avatar"></skeleton-loader>
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                <div class="loader-player-points">
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                </div>
                            </div>
                            <div class="loader-player">
                                <skeleton-loader type="avatar"></skeleton-loader>
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                <div class="loader-player-points">
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                </div>
                            </div>
                        </div>
                        <div class="loader-section-bottom">
                            <div class="loader-text-and-cta">
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                <div class="loader-cta">
                                    <skeleton-loader type="avatar"></skeleton-loader>
                                    <skeleton-loader type="avatar"></skeleton-loader>
                                </div>
                            </div>
                            <div class="loader-text">
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                            </div>
                        </div>
                    </div>
                </li>
                <li>
                    <skeleton-loader type="paragraph" :rows="2"></skeleton-loader>
                    <div class="loader-inner-nav">
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                    </div>
                    <div class="loader-section">
                        <div class="loader-section-top">
                            <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                            <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        </div>
                        <div class="loader-section-main">
                            <div class="loader-player">
                                <skeleton-loader type="avatar"></skeleton-loader>
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                <div class="loader-player-points">
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                </div>
                            </div>
                            <div class="loader-player">
                                <skeleton-loader type="avatar"></skeleton-loader>
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                <div class="loader-player-points">
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                    <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                </div>
                            </div>
                        </div>
                        <div class="loader-section-bottom">
                            <div class="loader-text-and-cta">
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                                <div class="loader-cta">
                                    <skeleton-loader type="avatar"></skeleton-loader>
                                    <skeleton-loader type="avatar"></skeleton-loader>
                                </div>
                            </div>
                            <div class="loader-text">
                                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                            </div>
                        </div>
                    </div>
                </li>
                <li>
                    <skeleton-loader type="paragraph" :rows="2"></skeleton-loader>
                    <div class="loader-inner-nav">
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                    </div>
                </li>
                <li>
                    <skeleton-loader type="paragraph" :rows="2"></skeleton-loader>
                    <div class="loader-inner-nav">
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                    </div>
                </li>
            </ul>
        </div>
    </div>
    <template v-if="shouldRender && !isLoading">
        <div class="scores-header">
            <div class="scores-header-top">
                <h2 class="hide-text">Header 2</h2>
                <h3>
                    <img src="/-/media/sites/atp-tour/header/atp-scores-horiz-navy-rgb_1.png?h=157&amp;w=738&amp;hash=C6EFAC775D46DB267B24500A421827AE" alt="SCORES" />

                </h3>
                <a href="/en/scores/current">See all <span class="icon-arrow-right2"></span></a>
            </div>
            <ul class="tabs">
                <li :class="scoresType == 'tour' ? 'selected' : ''" @click.prevent="switchScore('tour')">
                    <a>ATP Tour</a>
                </li>
                <li :class="scoresType == 'challenger' ? 'selected' : ''" @click.prevent="switchScore('challenger')">
                    <a>Challenger</a>
                </li>
            </ul>
        </div>
        <div class="scores-content" v-cloak>
            <ul class="tournament-scores" v-if="tournaments.length > 0">
                <li v-for="(tournament, index) in tournaments">
                    <h3>
                        <span class="tag" v-if="tournamnetStatus[index]">Live</span>
                        <span :class="tournamnetStatus[index] ? 'event-name event-live' : 'event-name'">
                            <a :href="`/en/tournaments/${getTournamentUrlName(tournament)}/${tournament.EventId}/overview`">{{tournament.EventTitle}}</a>
                        </span>
                        <div class="accordion" @click="accordion($event.currentTarget.lastChild.classList, $event.currentTarget.parentNode.parentNode)">
                            <span v-if="index === 0" class="chevron"></span>
                            <span v-else class="chevron up"></span>
                        </div>
                    </h3>
                    <p class="venue"><span>{{tournament.EventCity}}, {{tournament.EventCountry}}.</span> <span>{{tournament.FormattedDate}}</span></p>
                    <ul class="innerTabs" v-if="scoresType=='tour'">
                        <li><a :href="`/en/scores/current/${getTournamentUrlName(tournament)}/${tournament.EventId}/live-scores`" :class="{'disabled': tournament.EventId.length === 0}">All Scores</a></li>
                        <li>
                            <a v-if="shouldShowScheduleLink(tournament)" :href="`/en/scores/current/${getTournamentUrlName(tournament)}/${tournament.EventId}/${tournament.ScheduleLink}`">Schedule</a>
                            <a v-else class="disabled">Schedule</a>
                        </li>
                        <li>
                            <a v-if="shouldShowDrawLink(tournament)" :href="`/en/scores/current/${getTournamentUrlName(tournament)}/${tournament.EventId}/${tournament.DrawsLink}`">Draw</a>
                            <a v-else class="disabled">Draw</a>
                        </li>
                    </ul>
                    <ul class="innerTabs" v-else="">
                        <li><a :href="`/en/scores/current-${scoresType}/${getTournamentUrlName(tournament)}/${tournament.EventId}/live-scores`" :class="{'disabled': tournament.EventId.length === 0}">All Scores</a></li>
                        <li>
                            <a v-if="shouldShowScheduleLink(tournament)" :href="`/en/scores/current-${scoresType}/${getTournamentUrlName(tournament)}/${tournament.EventId}/${tournament.ScheduleLink}`">Schedule</a>
                            <a v-else class="disabled">Schedule</a>
                        </li>
                        <li>
                            <a v-if="shouldShowDrawLink(tournament)" :href="`/en/scores/current-${scoresType}/${getTournamentUrlName(tournament)}/${tournament.EventId}/${tournament.DrawsLink}`">Draw</a>
                            <a v-else class="disabled">Draw</a>
                        </li>
                    </ul>
                    <div :class="index === 0 ? 'accordion-content accordion-content-show' : 'accordion-content'">
                        <!-- country team tie stats version -->
                        <div v-if="tournament.HasTeamTieStats" class="inner-scores-wrapper">
                            <template v-if="tournament.LiveTeamTieDetails.length > 0" v-for="(team, teamindex) in tournament.LiveTeamTieDetails" :key="teamindex">
                                <div class="match-group" :class="{ 'match-group--active' : index === 0 }">
                                    <div class="match-group-header">
                                        <div class="match-group-type">
                                            {{ team.TeamTieResults.RoundRobinCityName ? team.TeamTieResults.RoundRobinCityName : '' }}
                                        </div>
                                        <div class="match-group-players">
                                            <div class="player">
                                                <div class="country"><flag :country="team.TeamTieResults.TeamCountryCode.toLowerCase()"></flag></div>
                                                <div class="name">{{ team.TeamTieResults.TeamCountryName }}</div>
                                            </div>
                                            <div class="status">
                                                {{ team.TeamTieResults.TeamTieMatchWins }} - {{ team.TeamTieResults.OpponentTeamTieMatchWins }}
                                            </div>
                                            <div class="opponent">
                                                <div class="country"><flag :country="team.TeamTieResults.OpponentTeamCountryCode.toLowerCase()"></flag></div>
                                                <div class="name">{{ team.TeamTieResults.OpponentTeamCountryName }}</div>
                                            </div>
                                        </div>
                                        <div class="match-group-cta">
                                            <a href="#" class="match-group-toggler">
                                                <span class="icon-plus-circle"></span>
                                                <span class="icon-minus-circle"></span>
                                                <span class="hide-text">Plus/Minus</span>
                                            </a>
                                        </div>
                                    </div>
                                    <div class="match-group-content">
                                        <template v-for="(teammatch, teammatchindex) in team.Matches" :key="teammatchindex">
                                            <div class="match" v-if="teammatch">
                                                <div class="inner-scores-header">
                                                    <h4>
                                                        <span class="live" v-if="teammatch.MatchStatus !== 'F' && teammatch.MatchStatus !== 'S'">Live</span>
                                                        <span class="roundTitle">{{teammatch.RoundName}} - {{teammatch.CourtName}}</span>
                                                    </h4>
                                                    <span class="time">{{teammatch.MatchTimeTotal}}</span>
                                                </div>
                                                <div class="match-content">
                                                    <div class="match-stats" :class="teammatch.MatchStatus !== 'F' && teammatch.MatchStatus !== 'S' ? 'match-stats--live' : ''">
                                                        <player-team-score :match="teammatch" :language="language"></player-team-score>
                                                        <opponent-team-score :match="teammatch" :language="language"></opponent-team-score>
                                                    </div>
                                                </div>
                                                <div class="match-footer">
                                                    <div class="match-umpire" v-if="teammatch.UmpireFirstName && teammatch.UmpireLastName">Ump: {{teammatch.UmpireFirstName}} {{teammatch.UmpireLastName}}</div>
                                                    <div class="match-umpire" v-else></div>
                                                    <div v-if="!teammatch.IsWTAOrMixMatch" class="match-cta">
                                                        <a v-if="teammatch.Type == 'singles'" :href="`/en/players/atp-head-2-head/${lowercase(teammatch.PlayerTeam.Player.PlayerFirstName)}-${lowercase(teammatch.PlayerTeam.Player.PlayerLastName)}-vs-${lowercase(teammatch.OpponentTeam.Player.PlayerFirstName)}-${lowercase(teammatch.OpponentTeam.Player.PlayerLastName)}/${lowercase(teammatch.PlayerTeam.Player.PlayerId)}/${lowercase(teammatch.OpponentTeam.Player.PlayerId)}`">H2H</a>
                                                        <a v-if="teammatch.Type == 'doubles'" :href="`/en/players/atp-head-2-head/${lowercase(teammatch.PlayerTeam.Player.PlayerLastName)}-${lowercase(teammatch.PlayerTeam.Partner.PlayerLastName)}-vs-${lowercase(teammatch.OpponentTeam.Player.PlayerLastName)}-${lowercase(teammatch.OpponentTeam.Partner.PlayerLastName)}/${lowercase(teammatch.PlayerTeam.Player.PlayerId)}/${lowercase(teammatch.PlayerTeam.Partner.PlayerId)}/${lowercase(teammatch.OpponentTeam.Player.PlayerId)}/${lowercase(teammatch.OpponentTeam.Partner.PlayerId)}`">H2H</a>
                                                        <a v-if="teammatch.HasStats" :href="`/en/scores/${tournament.EventType === 'GS' || tournament.EventType === 'UC' || tournament.EventType === 'DCR' || tournament.EventType === 'LVR' ? 'match-stats' : 'stats-centre'}/live/${tournament.EventYear}/${tournament.EventId}/${teammatch.MatchId}`">Stats</a>
                                                    </div>
                                                </div>
                                                <div class="match-notes">{{ teammatch.ExtendedMessage }}</div>
                                            </div>
                                        </template>
                                        <div v-if="team.Matches.length === 0" class="no-score-message">
                                            Currently there are no live matches available.
                                        </div>
                                    </div>
                                </div>
                            </template>
                        </div>
                        <!-- default version -->
                        <div class="inner-scores-wrapper" v-if="!tournament.HasTeamTieStats && tournament.LiveMatches.length > 0">
                            <ul class="inner-scores-list">
                                <template v-for="(match, index) in tournament.LiveMatches">
                                    <li :class="index + 1 === tournament.LiveMatches.length ? 'last' : ''">
                                        <div class="match" v-if="match">
                                            <div class="inner-scores-header">
                                                <h4>
                                                    <span class="live" v-if="match.MatchStatus !== 'F' && match.MatchStatus !== 'S'">Live</span>
                                                    <span class="roundTitle">{{match.RoundName}} - {{match.CourtName}}</span>
                                                </h4>
                                                <span class="time">{{match.MatchTimeTotal}}</span>
                                            </div>
                                            <div class="match-content">
                                                <div class="match-stats" :class="match.MatchStatus !== 'F' && match.MatchStatus !== 'S' ? 'match-stats--live' : ''">
                                                    <player-team-score :match="match" :language="language"></player-team-score>
                                                    <opponent-team-score :match="match" :language="language"></opponent-team-score>
                                                </div>
                                            </div>
                                            <div class="match-footer">
                                                <div class="match-umpire" v-if="match.UmpireFirstName && match.UmpireLastName">Ump: {{match.UmpireFirstName}} {{match.UmpireLastName}}</div>
                                                <div class="match-umpire" v-else></div>
                                                <div class="match-cta">
                                                    <a v-if="match.Type == 'singles'" :href="`/en/players/atp-head-2-head/${lowercase(match.PlayerTeam.Player.PlayerFirstName)}-${lowercase(match.PlayerTeam.Player.PlayerLastName)}-vs-${lowercase(match.OpponentTeam.Player.PlayerFirstName)}-${lowercase(match.OpponentTeam.Player.PlayerLastName)}/${lowercase(match.PlayerTeam.Player.PlayerId)}/${lowercase(match.OpponentTeam.Player.PlayerId)}`">H2H</a>
                                                    <a v-if="match.Type == 'doubles'" :href="`/en/players/atp-head-2-head/${lowercase(match.PlayerTeam.Player.PlayerLastName)}-${lowercase(match.PlayerTeam.Partner.PlayerLastName)}-vs-${lowercase(match.OpponentTeam.Player.PlayerLastName)}-${lowercase(match.OpponentTeam.Partner.PlayerLastName)}/${lowercase(match.PlayerTeam.Player.PlayerId)}/${lowercase(match.PlayerTeam.Partner.PlayerId)}/${lowercase(match.OpponentTeam.Player.PlayerId)}/${lowercase(match.OpponentTeam.Partner.PlayerId)}`">H2H</a>
                                                    <a v-if="match.HasStats" :href="`/en/scores/${tournament.EventType === 'GS' || tournament.EventType === 'DCR' || tournament.EventType === 'UC' || tournament.EventType === 'LVR' ? 'match-stats' : 'stats-centre'}/live/${tournament.EventYear}/${tournament.EventId}/${match.MatchId}`">Stats</a>
                                                </div>
                                            </div>
                                            <div class="match-notes">{{ match.ExtendedMessage }}</div>
                                        </div>
                                    </li>
                                </template>
                            </ul>
                        </div>
                        <div v-if="!isLoading && ((tournament.LiveMatches && tournament.LiveMatches.length === 0) || (tournament.LiveTeamTieDetails && tournament.LiveTeamTieDetails.length === 0 ))" class="scores-unavailable-message">
                            Currently there are no live matches available.
                        </div>
                    </div>
                </li>
            </ul>
        </div>
    </template>
    <input type="hidden" id="scoresLiveApiUrl" value="https://app.atptour.com/api/v2/gateway/livematches/website?scoringTournamentLevel" />
    <input type="hidden" id="cmsPollInterval" value="15" />
    <input type="hidden" id="HiddenTournamentIdList" value="" />
</div>

<script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" id="playerScore" type="text/x-template">
    <div class="stats-item">
    <div class="player-info" v-if="match.IsDoubles">
        <div class="profiles">
            <div class="profile"><img class="player-image" :src="`/-/media/alias/player-headshot/${match.PlayerTeam.Player.PlayerId}`" :alt="`Player-Photo-${match.PlayerTeam.Player.PlayerId}`" /></div>
            <div class="profile"><img class="player-image" :src="`/-/media/alias/player-headshot/${match.PlayerTeam.Partner.PlayerId}`" :alt="`Player-Photo-${match.PlayerTeam.Partner.PlayerId}`" /></div>
        </div>
        <div class="countries">
            <div class="country"><flag :country="match.PlayerTeam.Player.PlayerCountry.toLowerCase()"></flag></div>
            <div class="country"><flag :country="match.PlayerTeam.Partner.PlayerCountry.toLowerCase()"></flag></div>
        </div>
        <div class="players">
            <div class="names">

                <template v-if="!match.MatchId.startsWith('MX')">
                    <div class="name"><a :href="lowercase(`/${language}/players/${match.PlayerTeam.Player.PlayerFirstName}-${match.PlayerTeam.Player.PlayerLastName}/${match.PlayerTeam.Player.PlayerId}/overview`)">{{ firstLetter(match.PlayerTeam.Player.PlayerFirstName) }} {{ match.PlayerTeam.Player.PlayerLastName }}</a> <span v-if="match.PlayerTeam.Seed">({{ match.PlayerTeam.Seed }})</span></div>
                    <div class="name"><a :href="lowercase(`/${language}/players/${match.PlayerTeam.Partner.PlayerFirstName}-${match.PlayerTeam.Partner.PlayerLastName}/${match.PlayerTeam.Partner.PlayerId}/overview`)">{{ firstLetter(match.PlayerTeam.Partner.PlayerFirstName) }} {{ match.PlayerTeam.Partner.PlayerLastName }}</a> <span v-if="match.PlayerTeam.Seed">({{ match.PlayerTeam.Seed }})</span></div>
                </template>

                <template v-else>
                    <div class="name"><p>{{ firstLetter(match.PlayerTeam.Player.PlayerFirstName) }} {{ match.PlayerTeam.Player.PlayerLastName }} <span v-if="match.PlayerTeam.Seed">({{ match.PlayerTeam.Seed }})</span></p></div>
                    <div class="name"><a :href="lowercase(match.PlayerTeam.PartnerProfileUrl)">{{ firstLetter(match.PlayerTeam.Partner.PlayerFirstName) }} {{ match.PlayerTeam.Partner.PlayerLastName }}</a> <span v-if="match.PlayerTeam.Seed">({{ match.PlayerTeam.Seed }})</span></div>
                </template>
            </div>
        </div>
        <div class="winner" v-if="match.WinningPlayerId && (match.WinningPlayerId === match.PlayerTeam.Player.PlayerId || match.WinningPlayerId === match.PlayerTeam.Partner.PlayerId)"><span class="icon-checkmark"></span></div>
    </div>
    <div class="player-info" v-else>
        <div class="profile"> <img class="player-image" :src="`/-/media/alias/player-headshot/${match.PlayerTeam.Player.PlayerId}`" :alt="`Player-Photo-${match.PlayerTeam.Player.PlayerId}`" /></div>
        <div class="country"><flag :country="match.PlayerTeam.Player.PlayerCountry.toLowerCase()"></flag></div>
        <div class="name">

            <template v-if="!match.MatchId.startsWith('LS')">
                <a :href="lowercase(`/${language}/players/${match.PlayerTeam.Player.PlayerFirstName}-${match.PlayerTeam.Player.PlayerLastName}/${match.PlayerTeam.Player.PlayerId}/overview`)">{{ firstLetter(match.PlayerTeam.Player.PlayerFirstName) }} {{ match.PlayerTeam.Player.PlayerLastName }}</a> <span v-if="match.PlayerTeam.Seed">({{ match.PlayerTeam.Seed }})</span>
            </template>
            <template v-else>
                <p>
                    {{ firstLetter(match.PlayerTeam.Player.PlayerFirstName) }} {{ match.PlayerTeam.Player.PlayerLastName }} <span v-if="match.PlayerTeam.Seed">({{ match.PlayerTeam.Seed }})</span>
                </p>
            </template>
        </div>


        <div class="winner" v-if="match.WinningPlayerId && (match.WinningPlayerId === match.PlayerTeam.Player.PlayerId)"><span class="icon-checkmark"></span></div>
    </div>
    <div class="scores" :class="(match.ServerTeam === 0 && match.MatchStatus !== 'F') ? 'scores--strike' : ''">
        <div class="score-item" v-if="(match.MatchStatus === 'P' || match.MatchStatus === 'W'  || match.MatchStatus === 'S'  || match.MatchStatus === 'C' || match.MatchStatus === 'D' || match.MatchStatus === 'M' || match.MatchStatus === 'R' || match.MatchStatus === 'E') && match.PlayerTeam.GameScore">
            <span>{{match.PlayerTeam.GameScore}}</span>
        </div>
        <div class="score-item" v-for="(gameSetScore, index) in match.PlayerTeam.SetScores.filter(set => set.SetNumber > 0).slice()">
            <span v-if="gameSetScore.SetScore !== null">{{gameSetScore.SetScore}}</span>
            <span v-if="gameSetScore.TieBreakScore !== null">
                {{gameSetScore.TieBreakScore}}
            </span>
        </div>
    </div>
</div>

</script>
<script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" id="opponentScore" type="text/x-template">
    
<div class="stats-item">
    <div class="player-info" v-if="match.IsDoubles">
        <div class="profiles">
            <div class="profile"><img class="player-image" :src="`/-/media/alias/player-headshot/${match.OpponentTeam.Player.PlayerId}`" :alt="`Player-Photo-${match.OpponentTeam.Player.PlayerId}`" /></div>
            <div class="profile"><img class="player-image" :src="`/-/media/alias/player-headshot/${match.OpponentTeam.Partner.PlayerId}`" :alt="`Player-Photo-${match.OpponentTeam.Partner.PlayerId}`" /></div>
        </div>
        <div class="countries">
            <div class="country"><flag :country="match.OpponentTeam.Player.PlayerCountry.toLowerCase()"></flag></div>
            <div class="country"><flag :country="match.OpponentTeam.Partner.PlayerCountry.toLowerCase()"></flag></div>
        </div>
        <div class="players">
            <div class="names">

                <template v-if="!match.MatchId.startsWith('MX')">
                    <div class="name"><a :href="lowercase(`/${language}/players/${match.OpponentTeam.Player.PlayerFirstName}-${match.OpponentTeam.Player.PlayerLastName}/${match.OpponentTeam.Player.PlayerId}/overview`)">{{ firstLetter(match.OpponentTeam.Player.PlayerFirstName) }} {{ match.OpponentTeam.Player.PlayerLastName }}</a> <span v-if="match.OpponentTeam.Seed">({{ match.OpponentTeam.Seed }})</span></div>
                    <div class="name"><a :href="lowercase(`/${language}/players/${match.OpponentTeam.Partner.PlayerFirstName}-${match.OpponentTeam.Partner.PlayerLastName}/${match.OpponentTeam.Partner.PlayerId}/overview`)">{{ firstLetter(match.OpponentTeam.Partner.PlayerFirstName) }} {{ match.OpponentTeam.Partner.PlayerLastName }}</a> <span v-if="match.OpponentTeam.Seed">({{ match.OpponentTeam.Seed }})</span></div>
                </template>

                <template v-else>
                    <div class="name"><p>{{ firstLetter(match.OpponentTeam.Player.PlayerFirstName) }} {{ match.OpponentTeam.Player.PlayerLastName }} <span v-if="match.OpponentTeam.Seed">({{ match.OpponentTeam.Seed }})</span></p></div>
                    <div class="name"><a :href="lowercase(match.OpponentTeam.PartnerProfileUrl)">{{ firstLetter(match.OpponentTeam.Partner.PlayerFirstName) }} {{ match.OpponentTeam.Partner.PlayerLastName }}</a> <span v-if="match.OpponentTeam.Seed">({{ match.OpponentTeam.Seed }})</span></div>
                </template>
            </div>
        </div>
        <div class="winner" v-if="match.WinningPlayerId && (match.WinningPlayerId === match.OpponentTeam.Player.PlayerId || match.WinningPlayerId === match.OpponentTeam.Partner.PlayerId)"><span class="icon-checkmark"></span></div>
    </div>
    <div class="player-info" v-else>
        <div class="profile"><img class="player-image" :src="`/-/media/alias/player-headshot/${match.OpponentTeam.Player.PlayerId}`" :alt="`Player-Photo-${match.OpponentTeam.Player.PlayerId}`" /></div>
        <div class="country"><flag :country="match.OpponentTeam.Player.PlayerCountry.toLowerCase()"></flag></div>
        <div class="name">
            <template v-if="!match.MatchId.startsWith('LS')">
                <a :href="lowercase(`/${language}/players/${match.OpponentTeam.Player.PlayerFirstName}-${match.OpponentTeam.Player.PlayerLastName}/${match.OpponentTeam.Player.PlayerId}/overview`)">{{ firstLetter(match.OpponentTeam.Player.PlayerFirstName) }} {{ match.OpponentTeam.Player.PlayerLastName }}</a> <span v-if="match.OpponentTeam.Seed">({{ match.OpponentTeam.Seed }})</span>
            </template>
            <template v-else>
                <p>
                    {{ firstLetter(match.OpponentTeam.Player.PlayerFirstName) }} {{ match.OpponentTeam.Player.PlayerLastName }} <span v-if="match.OpponentTeam.Seed">({{ match.OpponentTeam.Seed }})</span>
                </p>
            </template>
        </div>
        <div class="winner" v-if="match.WinningPlayerId && (match.WinningPlayerId === match.OpponentTeam.Player.PlayerId)"><span class="icon-checkmark"></span></div>
    </div>
    <div class="scores" :class="(match.ServerTeam === 1 && match.MatchStatus !== 'F') ? 'scores--strike' : ''">
        <div class="score-item" v-if="(match.MatchStatus === 'P' || match.MatchStatus === 'W'  || match.MatchStatus === 'S'  || match.MatchStatus === 'C' || match.MatchStatus === 'D' || match.MatchStatus === 'M' || match.MatchStatus === 'R' || match.MatchStatus === 'E') && match.OpponentTeam.GameScore">
            <span>{{match.OpponentTeam.GameScore}}</span>
        </div>
        <div class="score-item" v-for="(gameSetScore, index) in match.OpponentTeam.SetScores.filter(set => set.SetNumber > 0).slice()">
            <span v-if="gameSetScore.SetScore !== null">{{gameSetScore.SetScore}}</span>
            <span v-if="gameSetScore.TieBreakScore !== null">
                {{gameSetScore.TieBreakScore}}
            </span>
        </div>
    </div>
</div>

</script>
<div class="atp_h2h-container">
    <div class="atp_head2head">
        <template v-if="shouldRender">
            <div v-if="isLoading" class="atp_head2head--loader">
                <div class="loader-header">
                    <skeleton-loader type="block" :height="1.5" :border-radius=".25" dark-mode></skeleton-loader>
                    <skeleton-loader v-if="isHorizontal" type="label" size="small" dark-mode></skeleton-loader>
                </div>
                <div class="loader-match-stats">
                    <div class="player">
                        <skeleton-loader type="avatar" dark-mode></skeleton-loader>
                        <skeleton-loader type="paragraph" :rows="2" dark-mode></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125" dark-mode></skeleton-loader>
                    </div>
                    <div class="win-stats">
                        <skeleton-loader type="block" :height="2.25" :border-radius=".125" dark-mode></skeleton-loader>
                        <skeleton-loader type="avatar" dark-mode></skeleton-loader>
                        <skeleton-loader type="block" :height="2.25" :border-radius=".125" dark-mode></skeleton-loader>
                    </div>
                    <div class="opponent">
                        <skeleton-loader type="avatar" dark-mode></skeleton-loader>
                        <skeleton-loader type="paragraph" :rows="2" dark-mode></skeleton-loader>
                        <skeleton-loader type="block" :height="1" :border-radius=".125" dark-mode></skeleton-loader>
                    </div>
                </div>
                <div v-if="!isRightRail && !isHorizontal" class="loader-h2h-data">
                    <div v-for="(item, itemIndex) in 7" :key="itemIndex" class="loader-h2h-data-item">
                        <skeleton-loader type="label" size="small" dark-mode></skeleton-loader>
                        <skeleton-loader type="label" size="small" dark-mode></skeleton-loader>
                        <skeleton-loader type="label" size="small" dark-mode></skeleton-loader>
                    </div>
                </div>
                <div v-if="isHorizontal" class="loader-h2h-data">
                    <skeleton-loader type="cta" dark-mode></skeleton-loader>
                    <skeleton-loader type="cta" dark-mode></skeleton-loader>
                </div>
                <div v-if="!isRightRail && !isHorizontal" class="loader-search">
                    <skeleton-loader type="block" :height="4" :border-radius="2.5" dark-mode></skeleton-loader>
                </div>
                <div v-if="isHorizontal" class="loader-search">
                    <skeleton-loader type="block" :height="4" :border-radius="2.5" dark-mode></skeleton-loader>
                    <div class="loader-search-cta">
                        <skeleton-loader type="cta" dark-mode></skeleton-loader>
                        <skeleton-loader type="cta" dark-mode></skeleton-loader>
                    </div>
                    <skeleton-loader type="block" :height="4" :border-radius="2.5" dark-mode></skeleton-loader>
                </div>
            </div>
            <div v-else class="h2h-content" v-cloak>
                <div class="header">

                    <a href="https://www.lexus.eu/discover-lexus/lexus-atp-tour-partnership" target="_blank" class="partner-link"><img src="/-/media/sites/atp-tour/header/lexus-atp-head2head_1.png" alt="Lexus" class="partner-logo" /></a>
                    <a v-if="isHorizontal" href="/en/players/atp-head-2-head" class="atp_button atp_button--transparent h2h-details__link">
                        Show H2H Detail
                        <span class="icon-arrow-right2"></span>
                    </a>
                </div>

                <template v-if="isRightRail">
                    <a href="/en/players/atp-head-2-head" class="h2h-compact__link">
                        <div class="match-stats">
                            <div class="player">
                                <div class="profile-link">
                                    <div class="headshot">
                                        <img :src="player.imageSrcMobile" :alt="`${player.firstName} ${player.lastName}`" />
                                    </div>
                                    <div class="name">
                                        <span>{{player.firstName}}</span>
                                        <span>{{player.lastName}}</span>
                                    </div>
                                    <div v-if="displayPlayerCountry" class="country">
                                        <flag :country="player.PlayerCountryCode.toLowerCase()"></flag> <span>{{player.PlayerCountryCode}}</span>
                                    </div>
                                    <!-- <div class="country" v-else>
                                        <span>{{player.PlayerCountryCode}}</span>
                                    </div> -->
                                </div>
                            </div>
                            <div class="win-stats">
                                <div class="stats">
                                    <div class="player">{{player.winCount}}</div>
                                    <div class="chart">
                                        <svg class="progress-bar" width="60" height="60" viewPort="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
                                            <circle r="25" cx="30" cy="30" fill="transparent" stroke-dasharray="157.079" stroke-dashoffset="0"></circle>
                                            <circle class="bar" r="25" cx="30" cy="30" fill="transparent" stroke-dasharray="157.079" stroke-dashoffset="0" :style="`stroke-dashoffset: ${dashOffset}`"></circle>
                                        </svg>
                                        <span>Vs</span>
                                    </div>
                                    <div class="opponent">{{opponent.winCount}}</div>
                                </div>
                            </div>
                            <div class="opponent">
                                <div class="profile-link">
                                    <div class="headshot">
                                        <img :src="opponent.imageSrcMobile" :alt="`${opponent.firstName} ${opponent.lastName}`" />
                                    </div>
                                    <div class="name">
                                        <span>{{opponent.firstName}}</span>
                                        <span>{{opponent.lastName}}</span>
                                    </div>
                                    <div v-if="displayOpponentCountry" class="country">
                                        <flag :country="opponent.PlayerCountryCode.toLowerCase()"></flag> <span>{{opponent.PlayerCountryCode}}</span>
                                    </div>
                                    <!-- <div class="country" v-else>
                                        <span>{{opponent.PlayerCountryCode}}</span>
                                    </div> -->
                                </div>
                            </div>
                        </div>
                    </a>
                </template>
                <div v-else class="match-stats">
                    <div class="player">
                        <a :href="lowercase(player.profileLink)" class="profile-link">
                            <div class="headshot">
                                <img :src="player.imageSrcMobile" :alt="`${player.firstName} ${player.lastName}`" />
                            </div>
                            <div class="name">
                                <span>{{player.firstName}}</span>
                                <span>{{player.lastName}}</span>
                            </div>
                            <div v-if="displayPlayerCountry" class="country">
                                <flag :country="player.PlayerCountryCode.toLowerCase()"></flag> <span>{{player.PlayerCountryCode}}</span>
                            </div>
                            <!-- <div class="country" v-else>
                                <span>{{player.PlayerCountryCode}}</span>
                            </div> -->
                        </a>
                    </div>
                    <div class="win-stats">
                        <div class="stats">
                            <div class="player">{{player.winCount}}</div>
                            <div class="chart">
                                <svg v-if="isHorizontal && isAboveMobile" class="progress-bar" width="160" height="160" viewPort="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
                                    <circle r="75" cx="80" cy="80" fill="transparent" stroke-dasharray="471.238" stroke-dashoffset="0"></circle>
                                    <circle class="bar" r="75" cx="80" cy="80" fill="transparent" stroke-dasharray="471.238" stroke-dashoffset="0" :style="`stroke-dashoffset: ${dashOffset}`"></circle>
                                </svg>
                                <svg v-if="(!isRightRail && isHorizontal && !isAboveMobile) || (!isRightRail && !isHorizontal)" class="progress-bar" width="90" height="90" viewPort="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
                                    <circle r="40" cx="45" cy="45" fill="transparent" stroke-dasharray="251.327" stroke-dashoffset="0"></circle>
                                    <circle class="bar" r="40" cx="45" cy="45" fill="transparent" stroke-dasharray="251.327" stroke-dashoffset="0" :style="`stroke-dashoffset: ${dashOffset}`"></circle>
                                </svg>
                                <span>Vs<br />wins</span>
                            </div>
                            <div class="opponent">{{opponent.winCount}}</div>
                        </div>
                        <div class="cta">
                            <a :href="lowercase(showDetailLink)" class="atp_button atp_button--secondary h2h-details__link">
                                Show H2H Detail
                                <span class="icon-arrow-right2"></span>
                            </a>
                        </div>
                    </div>
                    <div class="opponent">
                        <a :href="lowercase(opponent.profileLink)" class="profile-link">
                            <div class="headshot">
                                <img :src="opponent.imageSrcMobile" :alt="`${opponent.firstName} ${opponent.lastName}`" />
                            </div>
                            <div class="name">
                                <span>{{opponent.firstName}}</span>
                                <span>{{opponent.lastName}}</span>
                            </div>
                            <div v-if="displayOpponentCountry" class="country">
                                <flag :country="opponent.PlayerCountryCode.toLowerCase()"></flag> <span>{{opponent.PlayerCountryCode}}</span>
                            </div>
                            <!-- <div class="country" v-else>
                                <span>{{opponent.PlayerCountryCode}}</span>
                            </div> -->
                        </a>
                    </div>
                </div>
                <div v-if="!isRightRail && isHorizontal" class="h2h-actions">
                    <a href="https://www.atptour.com/en/stats/performance-zone" class="atp_button atp_button--transparent">
                        Performance Zone
                    </a>
                    <a href="https://www.atptour.com/en/stats/win-loss-index" class="atp_button atp_button--transparent">
                        Win/Loss Index
                    </a>
                </div>
                <div v-if="!isRightRail && !isHorizontal" class="h2h-data-items">
                    <ul>
                        <li>
                            <span class="player">{{player.ranking}}</span>
                            <span class="label">Rank</span>
                            <span class="opponent">{{opponent.ranking}}</span>
                        </li>
                        <li>
                            <span class="player">{{player.Age ? player.Age : '-'}}</span>
                            <span class="label">Age</span>
                            <span class="opponent">{{opponent.Age ? opponent.Age : '-'}}</span>
                        </li>
                        <li>
                            <span class="player">{{getWeightInLB.player}}</span>
                            <span class="label">Weight</span>
                            <span class="opponent">{{getWeightInLB.opponent}}</span>
                        </li>
                        <li>
                            <span class="player">{{getHeightInFeetInch.player}}</span>
                            <span class="label">Height</span>
                            <span class="opponent">{{getHeightInFeetInch.opponent}}</span>
                        </li>
                        <li>
                            <span class="player">{{getPlayHand.player}}</span>
                            <span class="label">Plays</span>
                            <span class="opponent">{{getPlayHand.opponent}}</span>
                        </li>
                        <li>
                            <span class="player">{{player.ProYear ? player.ProYear : '-'}}</span>
                            <span class="label">Turned Pro</span>
                            <span class="opponent">{{opponent.ProYear ? opponent.ProYear : '-'}}</span>
                        </li>
                    </ul>
                </div>
                <div v-if="!isRightRail" class="search-players">
                    <div class="search-wrapper">
                        <div v-if="showSearch" class="search-form" :class="{ 'search-form--opponent' : searchOpponent }">
                            <input @input="triggerSearch" ref="searchInputField" type="text" class="search-input" v-model="searchQuery" placeholder="Type Player&#39;s Name" />
                            <button class="close" @click="closeSearch"><span></span></button>
                        </div>
                        <div v-else class="search-initial">
                            <button class="player-search" aria-label="" @click="searchPlayers(false)">
                                <span class="icon-search"></span>
                                <span class="search-text">Search</span>
                            </button>
                            <button class="opponent-search" aria-label="" @click="searchPlayers(true)">
                                <span class="search-text">Search</span>
                                <span class="icon-search"></span>
                            </button>
                            <span>Choose Player</span>
                        </div>
                    </div>
                    <div class="player-list" :class="{ 'player-list--opponent' : searchOpponent }" v-if="showPlayerList && list.length > 0">
                        <ul>
                            <li v-for="(item, index) in list" @click="selectPlayer(item.PlayerId)">{{item.FirstName}} {{item.LastName}}</li>
                        </ul>
                    </div>
                </div>
                <div v-if="isHorizontal && isAboveMobile" class="search-players search-players--horizontal">
                    <div class="search-wrapper">
                        <div class="player">
                            <div v-if="showSearchPlayer" class="search-form">
                                <input @input="triggerSearch" ref="searchInputField" type="text" class="search-input" v-model="searchQuery" placeholder="Type Player&#39;s Name" />
                                <button class="close" @click="closeSearch"><span></span></button>
                            </div>
                            <div v-else class="search-initial">
                                <div class="info">
                                    <div class="name">
                                        <span>{{player.firstName}} {{player.lastName}}</span>
                                    </div>
                                    <div v-if="displayPlayerCountry" class="country">
                                        <flag :country="player.PlayerCountryCode.toLowerCase()"></flag> <span>{{player.PlayerCountryCode}}</span>
                                    </div>
                                    <!-- <div class="country" v-else>
                                        <span>{{player.PlayerCountryCode}}</span>
                                    </div> -->
                                </div>
                                <button class="player-search" aria-label="" @click="openSearchPlayer">
                                    <span class="icon-search"></span>
                                </button>
                            </div>
                        </div>
                        <div class="actions" v-if="!isRightRail && isHorizontal">
                            <a href="https://www.atptour.com/en/stats/performance-zone" class="atp_button atp_button--transparent">
                                Performance Zone
                            </a>
                            <a href="https://www.atptour.com/en/stats/win-loss-index" class="atp_button atp_button--transparent">
                                Win/Loss Index
                            </a>
                        </div>
                        <div class="opponent">
                            <div v-if="showSearchOpponent" class="search-form search-form--opponent">
                                <button class="close" @click="closeSearch"><span></span></button>
                                <input @input="triggerSearch" ref="searchInputField" type="text" class="search-input" v-model="searchQuery" placeholder="Type Player&#39;s Name" />
                            </div>
                            <div v-else class="search-initial">
                                <div class="info">
                                    <div class="name">
                                        <span>{{opponent.firstName}} {{opponent.lastName}}</span>
                                    </div>
                                    <div v-if="displayOpponentCountry" class="country">
                                        <flag :country="opponent.PlayerCountryCode.toLowerCase()"></flag> <span>{{opponent.PlayerCountryCode}}</span>
                                    </div>
                                    <!-- <div class="country" v-else>
                                        <span>{{opponent.PlayerCountryCode}}</span>
                                    </div> -->
                                </div>
                                <button class="opponent-search" @click="openSearchOpponent">
                                    <span class="icon-search"></span>
                                </button>
                            </div>
                        </div>
                    </div>
                    <div class="player-list" :class="{ 'player-list--opponent' : searchOpponent }" v-if="showPlayerList && list.length > 0">
                        <ul>
                            <li v-for="(item, index) in list" @click="selectPlayer(item.PlayerId)">{{item.FirstName}} {{item.LastName}}</li>
                        </ul>
                    </div>
                </div>
            </div>
        </template>
        <input type="hidden" class="atp_head2head-listing-endpoint" value="/en/-/www/players/find/byname" />
        <input type="hidden" class="atp_head2head-data-endpoint" value="/en/-/tour/Head2HeadSearch/GetHead2HeadData" />
        <input type="hidden" class="atp_head2head-initial-player" value="MK66" />
        <input type="hidden" class="atp_head2head-initial-opponent" value="B0CD" />
        <input type="hidden" class="atp_head2head-rightrail" value="true" />
        <input type="hidden" class="atp_head2head-layout" value="vertical" /> <!-- if rightrail is true, this is by default should be vertical -->
    </div>
</div>
<div class="atp_featured-player">
    <div v-if="isLoading" class="atp_featured-player--loader">
      <div class="loader-header">
         <div class="loader-header-top">
            <skeleton-loader type="block" :height="1" :border-radius=".125" dark-mode></skeleton-loader>
            <skeleton-loader type="block" :height="1" :border-radius=".125" dark-mode></skeleton-loader>
         </div>
         <div class="loader-header-bottom">
            <skeleton-loader type="paragraph" :rows="2" dark-mode></skeleton-loader>
            <skeleton-loader type="avatar" dark-mode></skeleton-loader>
         </div>
      </div>
      <dl class="loader-player-stats">
         <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
         <dd><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
         <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
         <dd><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
         <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
         <dd><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
         <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
         <dd><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
         <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
         <dd><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
      </dl>
   </div>
   <div class="player-header" v-if="!isLoading && Object.keys(playerData).length != 0" v-cloak>
        <div class="header-top">
            <h4>
                <span class="profile">PROFILE</span>
            </h4>
            <a :href="playerData.PlayerProfileUrl">View All <span class="icon-arrow-right2"></span></a>
        </div>
        <div class="header-bottom">
            <h3>
                <span class="first-name">{{playerData.PlayerFirstName}}</span>
                <span class="last-name">{{playerData.PlayerLastName}}</span>
            </h3>
            <div class="player-image">
                <span class="profile-bg">
                    <img src="/assets/atptour/assets/profile-bg.svg" :alt="`profilebg-${playerData.PlayerLastName}`" title="profilebg" />
                </span>
                <span class="player-avatar">
                    <img :src="playerData.PlayerImage" :alt="`profilebg-${playerData.PlayerFirstName}`" />
                </span>
            </div>
        </div>
    </div>
    <dl class="player-stats" v-if="Object.keys(playerData).length != 0" v-cloak>
        <dt>Rank</dt>
        <dd>{{playerData.PlayerRank}}</dd>
        <dt>1st Serve points won </dt>
        <dd>{{playerData.PlayerFirstServePointsWon}}</dd>
        <dt>Aces</dt>
        <dd>{{playerData.Aces}}</dd>
        <dt>Career Win/Loss</dt>
        <dd>{{playerData.CareerWinLoss}}</dd>
        <dt>Service Games Won</dt>
        <dd>{{playerData.ServiceGamesWon}}</dd>
    </dl>
</div>

<input type="hidden" id="featuredPlayerApiUrl" value="/en/-/www/players/profile/widget" />
<div class="atp_stats">
    <div v-if="isLoading" class="atp_stats--loader">
        <div class="loader-header">
            <div class="loader-header-top">
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
            </div>
            <div class="loader-header-bottom">
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
                <skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader>
            </div>
        </div>
        <div class="loader-player-stats">
            <dl>
                <span>
                    <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
                    <dd class="name"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dd class="points"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
                    <dd class="name"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dd class="points"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
                    <dd class="name"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dd class="points"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
                    <dd class="name"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dd class="points"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dt><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dt>
                    <dd class="name"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                    <dd class="points"><skeleton-loader type="block" :height="1" :border-radius=".125"></skeleton-loader></dd>
                </span>
            </dl>
        </div>
    </div>
    <template v-if="shouldRender && !isLoading">
        <div class="stats-header">
            <h2 class="hide-text">Header 2</h2>
            <h3 class="primary-heading">
                <span class="infosys-logo">
                    <img src="/-/media/sites/atp-tour/stats/infosys-atp-stats-72px_1.png" alt="" title="" />
                    <span class="hide-text">Stats widget</span>
                </span>
            </h3>
            <a href="/en/stats/stats-home">See all <span class="icon-arrow-right2"></span></a>
            <ul class="tabs">
                <li :class="statsType == 'serve' ? 'selected' : ''" @click.prevent="switchStats('serve')">
                    <a>Serve</a>
                </li>
                <li :class="statsType == 'return' ? 'selected' : ''" @click.prevent="switchStats('return')">
                    <a>Return</a>
                </li>
                <li :class="statsType == 'pressure' ? 'selected' : ''" @click.prevent="switchStats('pressure')">
                    <a>Pressure</a>
                </li>
            </ul>
        </div>
        <div class="stats-content" v-cloak>
            <div class="player-stats" v-if="statsArray.length > 0">
                <dl class="stats-list">
                    <template v-for="(serve, index) in statsArray">
                        <span>
                        <dt>{{index + 1}}</dt>
                        <dd class="name">
                            <span class="flag"><flag :country="serve.PlayerCountryCode.toLowerCase()" size="tiny" /></span>
                            <a class="player-name" :href="lowercase(serve.ScRelativeUrlPlayerProfile)">{{serve.PlayerName}}</a>
                        </dd>
                        <dd class="points">{{serve.Stat.StatRating}}</dd>
                        </span>
                    </template>
                </dl>
            </div>
        </div>
    </template>
    <input type="hidden" class="atp_stats-endpoint" value="/en/-/www/StatsLeaderboard/TopFive/52week/all?v=1" />
</div>



<section class="atp-form" style="--atp-form-bg:#050053;--atp-form-text:#fff;--atp-form-text-muted:#fff;--atp-form-input-text:#fff;--atp-form-required-color:#fff;--atp-form-focus-color:#56AAC9;--atp-form-link-color:#56AAC9;--atp-form-button-bg:#56AAC9;--atp-form-button-text:#FFF;--atp-form-min-height:425px;--atp-form-input-border:2px solid #9E9E9E;--atp-form-input-border-color-hover:#56AAC9;--atp-form-input-placeholder-text-color:#9E9E9E;">
    <div class="atp-form__grid">

        <div class="atp-form__panel">
            <div class="atp-form__inner">


                    <div class="atp-form__title">
                        NEWSLETTERS
                    </div>

                    <div class="atp-form__header-content">
                        <span>Get official marketing communications from the ATP and WTA, delivered straight to your inbox! We'll send you newsletters keeping you informed about news, tournaments, competitions, ticketing, partner offers and more.</span>
                    </div>
            <form class="atp-form__marketing"
                  method="post"
                  action="/-/www/bloomreach/marketing/submit"
                  data-submitted-message="Thanks. We’ve received your submission."
                  data-atp-error-message="There was an error in the submition."
                  data-atp-submitting-text="SUBMITTING"
                  >

                <input type="hidden" name="formId" value="right-rail-form" />
                <input type="hidden" name="campaignId" value="" />
                <input type="hidden" name="eventType" value="signup" />
                <input type="hidden" name="sourceEntity" value="ATP Tour" />
                <input type="hidden" name="sourceType" value="entry_atp" />
                <input type="hidden" name="entryPoint" value="ent_atpweb" />
                <input type="hidden" name="formPlacement" value="right-rail" />
                <input type="hidden" name="formName" value="Right Rail Newsletter Form" />
                <input type="hidden" name="location" value="http://www.atptour.com/en/news" />
                <input type="hidden" name="optinType" value="double-opt-in" />
                <input type="hidden" name="language" value="en" />





                    <input type="hidden" name="disclaimerMessage" value="Your data will be used in accordance with the ATP Privacy Policy and WTA Privacy Policy." />

                <div class="atp-form__field">
                    <label for="email_08f648fe" maxlength="50" class="atp-form__label">
                        Email address
                    </label>
                    <div class="atp-form__field--wrapper">
                        <input id="email_08f648fe"
                               name="email"
                               type="email"
                               placeholder="name@domain.com"
                               class="atp-form__input"
                               data-atp-required="true"
                               data-error-message="Enter a valid email address." />
                        <span class="atp-form__field-icon">
                            <span class="icon-checkmark atp-form__field-icon--success"></span>
                            <span class="icon-cross atp-form__field-icon--error"></span>
                        </span>
                    </div>
                </div>

    <div class="atp-form__field atp-form__field--hidden">
        <input id="IsDiclaimerPolicy_08f648fe"
               type="hidden"
               name="IsDisclaimerPolicy"
               class="atp-form__checkbox"
               value="true"
               data-atp-required="true" />

    </div>


                <div class="atp-form__actions">
                    <button type="submit"
                            class="atp-form__button"
                            disabled
                            data-atp-loading-text="SUBMITTING">
                        SUBSCRIBE

                            <span class="icon-email"></span>
                    </button>
                </div>

                    <div class="atp-form__disclaimer">
                        <p> Your data will be used in accordance with the
<a href="https://www.atptour.com/en/privacy-policy" target="_blank" rel="noopener noreferrer">ATP Privacy Policy</a>
and
<a href="https://www.wtatennis.com/privacy-policy" target="_blank" rel="noopener noreferrer">WTA Privacy Policy</a>.</p>
                    </div>
            </form>
            </div>
        </div>
    </div>
</section>





</div>

                </div>
            </div>

            


<div class="atp_ad atp_ad--bordered-bottom  atp_ad-size-90--desktop atp_ad-size-50--mobile">
    <div class="iab-wrapper">
        <div class="adtech-wrapper">
            <div id='div-gpt-ad-Footer'>
                <script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" defer>
                         googletag.cmd.push(function () {
                            googletag.pubads().setForceSafeFrame(true);
                            googletag.display('div-gpt-ad-Footer');
                         });
                </script>
            </div>
        </div>
    </div>
</div>

        </div>
    </div>

    

    <div class="atp_apps">
        <div class="wrapper">
            <h3>DOWNLOAD OFFICIAL ATP WTA LIVE APP</h3>
            <div class="apps-store">
                <a href="https://play.google.com/store/apps/details?id=com.atptour.atptour&amp;hl=en_US&amp;gl=US"><img src="/-/media/sites/atp-tour/download-apps/google-play.svg" alt="Get it on Google Play" /></a>
                <a href="https://apps.apple.com/np/app/atp-tour/id1480255719"><img src="/-/media/sites/atp-tour/download-apps/apple-store.svg" alt="Download on the App Store" /></a>
            </div>
        </div>
    </div>



<!-- FRONT END -->

<div class="atp_partners atp_partners-list atp_partners-footer ">
    <h2 class="hide-text">Partners</h2>

    <!-- LOADER -->
    <div v-if="isLoading" class="wrapper atp_partners-footer--loader">
        <div class="loader-partners-list">
            <div class="partner-tier" v-for="i in 5" :key="i">
                <skeleton-loader type="paragraph" :rows="1"></skeleton-loader>
                <div class="partners-loader">
                    <skeleton-loader v-for="j in 4" :key="j" type="media"></skeleton-loader>
                </div>
            </div>
        </div>
    </div>

    <!-- DATA -->
    <template v-if="partnersTiers.length > 0 && !isLoading">
        <div class="wrapper">
            <div v-for="(partnersTier, partnersIndex) in partnersTiers"
                 :key="partnersIndex"
                 :class="['partner-group', partnersTier.SubTier ? 'multi-group' : '']">

                <!-- Main tier -->
                <div class="group-title">
                    <h3>{{ partnersTier.Title }}</h3>
                </div>

                <div class="partners">
                    <template v-for="(partner, partnerIndex) in partnersTier.PartnersList" :key="partnerIndex">
                        <!-- Link only when HideLink == false -->
                        <a v-if="!partner.HideLink"
                           :href="partner.Url"
                           target="_blank">
                            <img :src="partner.Image.Url"
                                 :alt="partner.Image.AltText"
                                 class="partner-logo" />
                        </a>
                        <!-- Image-only fallback -->
                        <img v-else
                             :src="partner.Image.Url"
                             :alt="partner.Image.AltText"
                             class="partner-logo" />
                    </template>
                </div>

                <!-- Sub-tier (optional) -->
                <template v-if="partnersTier.SubTier">
                    <div class="group-title">
                        <h3>{{ partnersTier.SubTier.Title }}</h3>
                    </div>

                    <div class="partners">
                        <template v-for="(subPartner, subIndex) in partnersTier.SubTier.PartnersList" :key="subIndex">
                            <a v-if="!subPartner.HideLink"
                               :href="subPartner.Url"
                               target="_blank">
                                <img :src="subPartner.Image.Url"
                                     :alt="subPartner.Image.AltText"
                                     class="partner-logo" />
                            </a>
                            <img v-else
                                 :src="subPartner.Image.Url"
                                 :alt="subPartner.Image.AltText"
                                 class="partner-logo" />
                        </template>
                    </div>
                </template>
            </div>
        </div>
    </template>
    <label for="partnersApiUrl" class="hide-text">Partner</label>
    <input id="partnersApiUrl" name="partnersApiUrl" aria-labelledby="partnersApiUrl" class="partnersApiUrl" hidden value="/en/-/partners/footer" />
</div>




<!-- START FOOTER SECTION -->
    <div class="atp_footer atp_footer-partner">
        <div class="wrapper">
            <div class="section">
                <div class="brand">
                            <a href=""><img src="/-/media/sites/atp-tour/header/logo-atptour-dark_1.png" class="logo-image" alt="ATPTour"></a>
                </div>

                    <div class="newsletter">
                        

<section class="atp-form" style="--atp-form-bg:transparent;--atp-form-text:#000;--atp-form-text-muted:#000;--atp-form-input-text:#051224;--atp-form-required-color:#000;--atp-form-focus-color:#051224;--atp-form-link-color:#0E6894;--atp-form-button-bg:#0E6894;--atp-form-button-text:#FFF;--atp-form-min-height:350px;--atp-form-input-border:1px solid #9E9E9E;--atp-form-input-bg:#fff;--atp-form-input-bg-hover:#fff;--atp-form-input-border-color-hover:#051224;--atp-form-input-placeholder-text-color:#9E9E9E;">
    <div class="atp-form__grid">

        <div class="atp-form__panel">
            <div class="atp-form__inner">



                    <div class="atp-form__header-content">
                        <strong>Sign up for ATP Tour newsletters</strong>

<p style="font-size: .8rem">Get official marketing communications from the ATP and WTA! We'll send you newsletters keeping you informed about news, tournaments, competitions, ticketing, partner offers and more.</p>
                    </div>
            <form class="atp-form__marketing"
                  method="post"
                  action="/-/www/bloomreach/marketing/submit"
                  data-submitted-message="Thanks. We’ve received your submission."
                  data-atp-error-message="There was an error in the submition."
                  data-atp-submitting-text="Submitting"
                  >

                <input type="hidden" name="formId" value="footer-form" />
                <input type="hidden" name="campaignId" value="" />
                <input type="hidden" name="eventType" value="signup" />
                <input type="hidden" name="sourceEntity" value="ATP Tour" />
                <input type="hidden" name="sourceType" value="entry_atp" />
                <input type="hidden" name="entryPoint" value="ent_atpweb" />
                <input type="hidden" name="formPlacement" value="footer" />
                <input type="hidden" name="formName" value="Footer Newsletter Form" />
                <input type="hidden" name="location" value="http://www.atptour.com/en/news" />
                <input type="hidden" name="optinType" value="double-opt-in" />
                <input type="hidden" name="language" value="en" />

                    <input type="hidden" name="atpPolicyMessage" value="I agree to the collection and processing of my personal data by ATP Tour, in accordance with the Terms &amp; Conditions and Privacy Policy." />

                    <input type="hidden" name="atpWtaPolicyMessage" value="I would like to receive communications about news, tournaments, competitions, ticketing, and partner offers from the ATP and WTA." />



                    <input type="hidden" name="disclaimerMessage" value="Your data will be used in accordance with the ATP Privacy Policy and WTA Privacy Policy." />

                <div class="atp-form__field">
                    <label for="email_70578009" maxlength="50" class="atp-form__label">
                        Email address
                    </label>
                    <div class="atp-form__field--wrapper">
                        <input id="email_70578009"
                               name="email"
                               type="email"
                               placeholder="name@domain.com"
                               class="atp-form__input"
                               data-atp-required="true"
                               data-error-message="Enter a valid email address." />
                        <span class="atp-form__field-icon">
                            <span class="icon-checkmark atp-form__field-icon--success"></span>
                            <span class="icon-cross atp-form__field-icon--error"></span>
                        </span>
                    </div>
                </div>

    <div class="atp-form__field atp-form__field--hidden">
        <input id="IsDiclaimerPolicy_70578009"
               type="hidden"
               name="IsDisclaimerPolicy"
               class="atp-form__checkbox"
               value="true"
               data-atp-required="true" />

    </div>


                <div class="atp-form__actions">
                    <button type="submit"
                            class="atp-form__button"
                            disabled
                            data-atp-loading-text="Submitting">
                        Subscribe

                            <span class="icon-email"></span>
                    </button>
                </div>

                    <div class="atp-form__disclaimer">
                        <p> Your data will be used in accordance with the
<a href="https://www.atptour.com/en/privacy-policy" target="_blank" rel="noopener noreferrer">ATP Privacy Policy</a>
and
<a href="https://www.wtatennis.com/privacy-policy" target="_blank" rel="noopener noreferrer">WTA Privacy Policy</a>.</p>
                    </div>
            </form>
            </div>
        </div>
    </div>
</section>





                    </div>

                <div class="social">
    <ul>
            <li>
                <a href="https://www.facebook.com/ATPTour/" target="_blank">
                    <span class="icon-facebook"></span>
                    <span class="hide-text">icon-facebook</span>
                </a>
            </li>
            <li>
                <a href="https://twitter.com/atptour" target="_blank">
                    <span class="icon-x"></span>
                    <span class="hide-text">icon-x</span>
                </a>
            </li>
            <li>
                <a href="https://www.instagram.com/atptour" target="_blank">
                    <span class="icon-instagram"></span>
                    <span class="hide-text">icon-instagram</span>
                </a>
            </li>
            <li>
                <a href="https://www.youtube.com/channel/UCY_5h5zaSwN7Or4kIJDYNXA" target="_blank">
                    <span class="icon-youtube"></span>
                    <span class="hide-text">icon-youtube</span>
                </a>
            </li>
            <li>
                <a href="https://www.tiktok.com/@atptour" target="_blank">
                    <span class="icon-tiktok"></span>
                    <span class="hide-text">icon-tiktok</span>
                </a>
            </li>
    </ul>
</div>

            </div>
            <div class="section">
                <div v-if="isLoading" class="loader">
                    <div class="loading">
                        <div></div>
                        <div></div>
                        <div></div>
                        <div></div>
                    </div>
                </div>
                <div v-else class="links-wrapper" v-cloak>
                    <links :links="navigation.links" />
                </div>
            </div>
        </div>
        <div class="legal">
            <div class="wrapper">
                <p>&copy; Copyright 1994 - 2026 ATP Tour, Inc. All Rights Reserved. No part of this site may be reproduced, stored in a retrieval system or transmitted in any way or by any means (including photocopying, recording or storing it in any medium by electronic means), without the written permission of ATP Tour, Inc.. <a href="/en/terms-and-conditions">Terms &amp; Conditions</a>&nbsp;| <a href="/en/privacy-policy">Privacy </a>&nbsp;|&nbsp;<a href="/en/corporate/safe-sport-community-guidelines">Community Social Media Policy</a> | <a href="/en/corporate/modern-slavery-statement">Modern Slavery Statement</a>&nbsp;|&nbsp;<a href="/en/feedback">Feedback</a>  | <a href="/en/cookies">Cookies</a>  | <a href="javascript:OneTrust.ToggleInfoDisplay()">Your Privacy Choices <img src="https://www.atptour.com/-/media/sites/shared/privacy/privacyoptions29x14.png" alt="PrivacyChoices" /></a> </p>
<br class="t-last-br" />
<br class="t-last-br" />
            </div>
        </div>
        <input type="hidden" class="atp_footer-endpoint" value="/en/-/tour/footernavigation" />
    </div>
    <script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" id="atpTourFooterLinks" type="text/x-template">
        <template v-for="(group, index) in links" :key="index">
            <div class="links">
                <h4>{{group.header}}</h4>
                <ul>
                    <li v-for="(link, key) in group.items" :key="key">
                        <a :href="lowercase(link.url)" :class="link.active ? 'active' : ''" :target="link.external ? '_blank' : '_self'">
                            {{ link.label }} <span v-if="link.external" class="icon-external-link"></span>
                        </a>
                    </li>
                </ul>
            </div>
        </template>
    </script>
<!-- END FOOTER SECTION -->


    

    <div class="atp_video">
        <div class="atp_video-container"></div>
        <div class="atp_video-close"><span></span><span></span></div>
        <input type="hidden" class="atp_video-nonce" value="5c659378-8a46-42c1-8b5e-2024432a7455" />
    </div>

    <script id="atpVideoPlayer" type="text/x-template">
        <div class="video-player">
            <div class="video">
                <video-js id="atpVideoJSPlayer"
                          data-video-id="${videoId}"
                          data-account="${videoAccountId}"
                          data-player="${videoPlayerId}"
                          data-video-tags="${videoTags}"
                          data-embed="default"
                          data-application-id
                          controls
                          width="100%"
                          height="100%">
                </video-js>
            </div>
        </div>
    </script>

    <script nonce="5c659378-8a46-42c1-8b5e-2024432a7455" src="/assets/atptour/js/atptour.min.js?bust=639100480800000000" defer></script>

    

    
    <input type="hidden" id="gateway-host-name" value="https://app.atptour.com/api/v2/gateway" />
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9e4591adbf3072eb',t:'MTc3NDg1NzUwNA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>
