Hiking

Rickard Rakell to replace William Karlsson on Team Sweden at 4 Nations Face-Off

Sweden named Pittsburgh Penguins right wing Rickard Rakell as an injury replacement for Vegas Golden Knights centre William Karlsson for the 4 Nations Face-Off on Tuesday.

If the Toronto Maple Leafs want to add another win to this Western Canadian swing, they’ll have to do so without Mitch Marner.

The team announced shortly before warmups on Tuesday that the forward will not be available against the Calgary Flames with a lower-body injury, for which he is listed day-to-day.

#betmgm-odds {
@media (max-width: 767px) {
margin: 0 20px 20px 20px;
}
}
#betmgm-odds {
@media (min-width: 768px) and (max-width: 1023px) {
width: 83%;
margin: 0px auto 20px auto;
}
}
.betmgmArticle {
font-family: “protipo-narrow”, sans-serif !important;
width: 100%;
padding: 0;
margin-bottom: 24px;
border-radius: 8px;
display: inline-block;
font-family: Arial, sans-serif;
}

.betmgmArticle .header {
font-weight: bold;
margin-bottom: 10px;
display: block;
color: var(–core-sn-blue-800-blue, #06192F);
text-decoration: none;
}

.betmgmArticle .content {
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 20px 10px;
border-radius: 8px;
border: 1px solid var(–Grey-Scale-400-Grey, #CED4DA);
background: var(–Grey-Scale-0-White, #FFF);
}

@media (max-width: 767px) {
.betmgmArticle .content {
padding: 20px;
}
}
@media (min-width: 768px) and (max-width: 1023px) {
.betmgmArticle .content {
padding: 20px 10px;
}
}
@media (min-width: 1024px) and (max-width: 1249px) {
.betmgmArticle .content {
padding: 20px;
}
}
@media (min-width: 1250px) {
.betmgmArticle .content {
padding: 20px 10px;
}
}

.betmgmArticle .section {
width: 82px;
flex: 1;
text-align: center;
}

.betmgmArticle .section .row {
font-size: 14px;
line-height: 22px;
}

.betmgmArticle .section-info {
flex: 2;
}

.betmgmArticle .section-info .gameDate {
color: var(–core-sn-blue-800-blue, #06192F);
text-align: center;
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: normal;
margin-bottom: 14px;
}

.betmgmArticle .section-info .team-logo {
width: 48px;
height: 48px;
display: inline-block;
}

.betmgmArticle .section-info .versus {
display: inline-block;
margin: 0 16px;
font-size: 14px;
color: #495057;
font-weight: 500;
}

.betmgmArticle .divider {
width: 1px;
background-color: #ddd;
background: var(–Grey-Scale-400-Grey, #CED4DA);
height: 82px;
margin: 0 16px;
}

.betmgmArticle .title {
text-align: center;
font-weight: bold;
margin-bottom: 8px;
font-size: 16px;
}
@media (max-width: 767px) {
.betmgmArticle .title {
text-align: left;
}
}
@media (min-width: 768px) and (max-width: 1023px) {
.betmgmArticle .title {
text-align: center;
}
}

@media (min-width: 1024px) and (max-width: 1249px) {
.betmgmArticle .title {
text-align: left;
}
}

@media (min-width: 1250px) {
.betmgmArticle .title {
text-align: center;
}
}

.betmgmArticle .row {
margin-bottom: 5px;
display: flex;
justify-content: space-between;
margin: 0;
}
.betmgmArticle .row::before {
display: none;
}

.betmgmArticle .value {
font-weight: bold;
}

.betmgmArticle .red {
color: red;
}

.betmgmArticle .green {
color: green;
}

.betmgmArticle .betmgm-button {
cursor: pointer;
}
.betmgmArticle .betmgm-button a {
text-decoration: none;
}

.betmgmArticle .button button {
background-color: #005EB8;
color: white;
padding: 6px 16px 14px 16px;
border: none;
border-radius: 5px;
cursor: pointer;
font-weight: bold;
}

.betmgmArticle .buttonText {
position: relative;
color: #ADB5BD;
font-size: 12px;
font-style: normal;
font-weight: 500;
line-height: normal;
text-align: left;
top: -6px;
margin-bottom: 10px;
}

.betmgmArticle .betMGMLogo {
text-align: left;
width: 150px;
height: 42px;

@media (max-width: 767px) {
background: url(‘../../../wp-content/themes/sportsnet-nhl/images/BetMGM-Black.svg’) no-repeat;
background-size: cover;

@media (prefers-color-scheme: dark) {
background: url(‘../../../wp-content/themes/sportsnet-nhl/images/BetMGM-White.svg’) no-repeat;
}
}
}

.betmgmArticle .betMGMLogo img {
text-align: left;
width: 150px;
height: 42px;
}

.betmgmArticle .content-mobile {
display: flex;
justify-content: space-around;
width: 100%;
margin-top: 20px;
}

@media (max-width: 767px) {
.betmgmArticle .content-mobile {
display: flex;
margin: 20px 0;
}
}
@media (min-width: 768px) and (max-width: 1023px) {
.betmgmArticle .content-mobile {
display: none;
}
}

@media (min-width: 1024px) and (max-width: 1249px) {
.betmgmArticle .content-mobile {
display: flex;
margin: 20px 0;
}
}

@media (min-width: 1250px) {
.betmgmArticle .content-mobile {
display: none;
}
}

.betmgmArticle .content-mobile .team-logos {
display: flex;
justify-content: flex-start;
width: 100%;
}

.betmgmArticle .content-mobile .team-logos .versus {
display: flex;
align-items: center;
}

.betmgmArticle .content-mobile .gameDate {
text-align: left;
margin-bottom: 8px;
}

.betmgmArticle .content-mobile .buttonText {
text-align: left;
top: 0;
margin-bottom: 12px;
text-decoration: none;
color: #ADB5BD;
}

@media (max-width: 767px) {
.betmgmArticle .desktop-only {
display: none;
}
}
@media (min-width: 768px) and (max-width: 1023px) {
.betmgmArticle .desktop-only {
display: block;
}
}
@media (min-width: 1024px) and (max-width: 1249px) {
.betmgmArticle .desktop-only {
display: none;
}
}
@media (min-width: 1250px) {
.betmgmArticle .desktop-only {
display: block;
}
}

async function fetchOddsData(league, gameId) {
const res = await fetch(`{league}&id=${gameId}`, {
cache: ‘no-store’,
});

if (!res.ok) {
throw new Error(‘Failed to fetch odds data’);
}

const data = await res.json();
const oddsData = data?.data?.game?.details?.current_line;
const visitingTeam = data?.data?.game?.visiting_team;
const visitingTeamLogo = data?.data?.game?.visiting_team?.image_url_90;
const homeTeam = data?.data?.game?.home_team;
const homeTeamLogo = data?.data?.game?.home_team?.image_url_90;
const gameTimestamp = data?.data?.game?.details?.timestamp;

return { oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp };
}

async function renderBetMGM(componentId, league, gameId) {
let oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp, error;

const container = document.getElementById(componentId + ‘-odds’);
if (!container) return;

try {
({ oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp } = await fetchOddsData(league, gameId));
} catch (err) {
error = err.message;
}

if (error) {
container.innerHTML = `

Error: ${error}

`;
return;
}

if (!oddsData) {
container.innerHTML = `

Odds data not available

`;
return;
}

let gameDate = new Date(gameTimestamp * 1000);
const gameDateFormatted = gameDate.toLocaleDateString(‘en-US’, { year: ‘numeric’, month: ‘long’, day: ‘numeric’ });

container.innerHTML = `

BetMGM Odds

Moneyline
${visitingTeam.short_name}
${oddsData.away_money > 0 ? `+${oddsData.away_money}` : oddsData.away_money}

${homeTeam.short_name}
${oddsData.home_money > 0 ? `+${oddsData.home_money}` : oddsData.home_money}

Spread
${oddsData.fav_id === visitingTeam.id
? oddsData.fav_points
: oddsData.fav_points > 0 ? `-${oddsData.fav_points}` : `+${Math.abs(oddsData.fav_points)}`}
${oddsData.fav_id === visitingTeam.id
? oddsData.fav_money > 0 ? `+${oddsData.fav_money}` : oddsData.fav_money
: oddsData.underdog_money > 0 ? `+${oddsData.underdog_money}` : oddsData.underdog_money}

${oddsData.fav_id === homeTeam.id
? oddsData.fav_points
: oddsData.fav_points > 0 ? `-${oddsData.fav_points}` : `+${Math.abs(oddsData.fav_points)}`}
${oddsData.fav_id === homeTeam.id
? oddsData.fav_money > 0 ? `+${oddsData.fav_money}` : oddsData.fav_money
: oddsData.underdog_money > 0 ? `+${oddsData.underdog_money}` : oddsData.underdog_money}

Over/Under
O ${oddsData.total}
${oddsData.over_money > 0 ? `+${oddsData.over_money}` : oddsData.over_money}

U ${oddsData.total}
${oddsData.under_money > 0 ? `+${oddsData.under_money}` : oddsData.under_money}

`;
}

// Example usage
renderBetMGM(‘block_4bf7ea5c7a25cffb0a8238727015646c’, ‘NHL’, ‘cb3dbbd2-f9ed-4a24-8094-d85a1bc2ffd3’);

It’s not clear when Marner suffered the injury, but he was absent at Monday’s practice due to “maintenance,” according to the team, and also missed Tuesday’s morning skate, after which he was labelled a game-time decision by head coach Craig Berube.

This is the first game Marner has missed all season.

Marner, who is eligible to sign an extension at any point, has played all 52 games for the Leafs this year, scoring 16 goals and adding 54 assists — good for fourth league-wide in scoring. He’s on pace for his seventh-consecutive point-per-game season.

The Maple Leafs are looking to build off their win in Edmonton on Saturday as they face the Flames in Calgary.

Recommended Story For You :

FINALLY DUNK LIKE A TOTAL BADASS...

7 quick and easy things to INSTANTLY IMPROVE YOUR BALL STRIKING.

AVOID A SCAM BY ORDERING A HIN LOOKUP

Get Vehicle History You Can Trust

The ONLY Swing Designed Specifically For Senior Golfers

An URGENT Message For Golfers Who Want More Distance

Premium Quality Laser Rangefinder

You'll NEVER get to the top of your game on your own

Why The OTI Method Is So Effective

This Is Amazing News For All Golfers