The Palais des Congrès de Montreal celebrates its 23rd this weekend.e Montreal International Boat Show.

Boating enthusiasts will find more than 225 boats, more than 80 exhibitors, and 25 conferences in 155,000 square feet of space.

Among the new products, Quebec manufacturer Princecraft will be displaying its brand new “affordable” Vectra 23 WRL pontoon for the first time in Quebec, while Mercury Marine will be displaying its Avatar electric pontoon .

Another Quebec manufacturer, Vision Marine Technologies, will also be showcasing an electric boat that has reached a world record speed of 185 km/h.

(function () {
var slotName = “ad65c6639c90b2e-adSlotLppos”;
var dimensions = (“fluid”,(634,125),(634,150),(634,180),(634,200),(634,634),(634,400),(640,360),(640,480),(728,200));
var positionName = null;
var pageBlock = “text”;
const IS_MOBILE = window.innerWidth {
if (googleIframe.contentWindow === e.source){
if(e.data.nbArticles) {
let title = document.createElement(“div”)
let nbArticles = document.createElement(“div”)
title.innerHTML = “Série commanditée”
nbArticles.innerHTML = e.data.nbArticles + ” articles”
let header = document.createElement(“div”)
header.classList.add(“adSpotBlock__slotInnerHeader”)
header.appendChild(title)
header.appendChild(nbArticles)
slotInner.prepend(header)
}
}
})
}

function setUpPanorama() {
console.debug(‘Ads: Panorama Ad detected for ‘ + slotName);
let slotInner = document.getElementById(slotName);
slotInner.parentElement.style.width=”100%”;
let iframeWrapper = slotInner.firstElementChild
iframeWrapper.classList.add(‘panorama__wrapper’)
if (IS_MOBILE){
makeFullWidth(slotInner)
iframeWrapper.classList.add(‘panorama__wrapper–mobile’)
}
else{
iframeWrapper.classList.add(‘panorama__wrapper–default’)
if(pageBlock===”body”){
makeFullWidth(slotInner)
}
}
setupPanoramaIframe(iframeWrapper)

function makeFullWidth(slotInner){
let parentContainerElement = slotInner.closest(“.homeHeadlinesRow__adWrapper”)||slotInner.closest(“.homeRow__adWrapper”)||slotInner.closest(“.homeRow”)
if (!parentContainerElement){
parentContainerElement = slotInner.closest(“.adsWrapper”)
parentContainerElement.classList.add(“panorama–article”);
}else{
parentContainerElement.classList.add(“panorama–default”);
}
}

function setupPanoramaIframe(iframeWrapper){
let googleIframe = iframeWrapper.firstElementChild;
googleIframe.style.height = “100%”
window.addEventListener(‘message’, (e)=> {
if (googleIframe.contentWindow === e.source){
if(e.data.sideMarginBackgroundColor) {
iframeWrapper.style.backgroundColor = e.data.sideMarginBackgroundColor;
}
if(e.data.foregroundUrl){
createForeground(iframeWrapper,e.data.foregroundUrl,e.data.foregroundPosition,”img”)
}
if(e.data.foregroundHtmlUrl){
createForeground(iframeWrapper,e.data.foregroundHtmlUrl,e.data.foregroundPosition,”iframe”)
}
if(e.data.backgroundImgUrl){
createBackground(iframeWrapper,e.data.backgroundImgUrl,e.data.backgroundColor,”img”)
}
if(e.data.backgroundHtmlUrl){
createBackground(iframeWrapper,e.data.backgroundHtmlUrl,e.data.backgroundColor,”iframe”)
}
}
});
}

function createBackground(iframeWrapper,backgroundUrl,backgroundColor,backgroundElementType){
let backgroundElement = createBackgroundElement(backgroundUrl,backgroundElementType)
let backgroundWrapper = createBackgroundWrapper(backgroundColor)
let backgroundClipper = createBackgroundClipper()

backgroundWrapper.appendChild(backgroundElement)
backgroundClipper.appendChild(backgroundWrapper)
iframeWrapper.appendChild(backgroundClipper)

alignBackgroundToAdWrapper(backgroundWrapper, iframeWrapper)
let widthCache = window.innerWidth
window.addEventListener(“resize”,()=>{
if (window.innerWidth!==widthCache){
widthCache=window.innerWidth;
alignBackgroundToAdWrapper(backgroundWrapper, iframeWrapper)
}
})
}

function createForeground(iframeWrapper,foregroundUrl,foregroundPosition,type){
let foreground = document.createElement(type)
foreground.classList.add(“panorama__foregroundImg”)
switch (foregroundPosition){
case “top”:
foreground.style.alignSelf=”flex-start”
break;
case “center”:
foreground.style.alignSelf=”center”
break;
case “bottom”:
foreground.style.alignSelf=”flex-end”
break;
}
if (type===”iframe”){
foreground.style.height=”100%”
}
foreground.src = foregroundUrl
iframeWrapper.appendChild(foreground)
}

function createBackgroundElement(backgroundUrl, type) {
let backgroundElement = document.createElement(type);
backgroundElement.setAttribute(“src”,backgroundUrl);
backgroundElement.classList.add(“panorama__backgroundElement”);

if (“img” === type) {
backgroundElement.classList.add(“panorama__backgroundElement–img”);
}

return backgroundElement;
}

function createBackgroundWrapper(backgroundColor){
let backgroundWrapper = document.createElement(“div”)
backgroundWrapper.classList.add(‘panorama__backgroundWrapper’)
backgroundWrapper.style.backgroundColor=backgroundColor;
switch (pageBlock){
case “body”:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–homepage’)
break;
case “text”:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–article’)
break;
default:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–default’)
break;
}
return backgroundWrapper;
}

function createBackgroundClipper(){
let backgroundClipper = document.createElement(“div”)
backgroundClipper.classList.add(‘panorama__backgroundClipper’)
return backgroundClipper
}

function alignBackgroundToAdWrapper(backgroundToResize, sourceWrapper){
backgroundToResize.style.width = sourceWrapper.clientWidth+”px”;
if(pageBlock!==”body”) {
backgroundToResize.style(‘left’) = sourceWrapper.getBoundingClientRect().left+”px”;
}
}
}

LPAds.registerSpotReceived(slotName, function (slotData) {
if (slotData) {
if (LPAds.isProductGalleryAd(slotData.creativeTemplateId)) {
setUpProductGalleryAd();
} else if (LPAds.isNativeAd(slotData.creativeTemplateId)) {
setUpNativeAd();
} else if (LPAds.isNativeAdXtra(slotData.creativeTemplateId)) {
setUpNativeAdXtra();
}
}
});
LPAds.registerSpotRenderEnded(slotName, function(slotData) {
if (slotData) {
if (LPAds.isPanorama(slotData.creativeTemplateId)) {
setUpPanorama();
}else if (LPAds.isNativeAdSerieXtra(slotData.creativeTemplateId)) {
setUpNativeAdSerieXtra();
}
}
});

LPAds.displayAdSpot(slotName);
})()

Finally, you can also observe Audi’s new electric aerofoil E-Tron board, as well as the Red Shark board or watercraft, sold exclusively by Quebec retailer Ecosurf.

So while you wait to find a body of water, there’s something for everyone.

(function () {
var slotName = “ad65c6639c90bb4-adSlotLppos”;
var dimensions = (“fluid”,(634,125),(634,150),(634,180),(634,200),(634,634),(634,400),(640,360),(640,480),(728,200));
var positionName = null;
var pageBlock = “text”;
const IS_MOBILE = window.innerWidth {
if (googleIframe.contentWindow === e.source){
if(e.data.nbArticles) {
let title = document.createElement(“div”)
let nbArticles = document.createElement(“div”)
title.innerHTML = “Série commanditée”
nbArticles.innerHTML = e.data.nbArticles + ” articles”
let header = document.createElement(“div”)
header.classList.add(“adSpotBlock__slotInnerHeader”)
header.appendChild(title)
header.appendChild(nbArticles)
slotInner.prepend(header)
}
}
})
}

function setUpPanorama() {
console.debug(‘Ads: Panorama Ad detected for ‘ + slotName);
let slotInner = document.getElementById(slotName);
slotInner.parentElement.style.width=”100%”;
let iframeWrapper = slotInner.firstElementChild
iframeWrapper.classList.add(‘panorama__wrapper’)
if (IS_MOBILE){
makeFullWidth(slotInner)
iframeWrapper.classList.add(‘panorama__wrapper–mobile’)
}
else{
iframeWrapper.classList.add(‘panorama__wrapper–default’)
if(pageBlock===”body”){
makeFullWidth(slotInner)
}
}
setupPanoramaIframe(iframeWrapper)

function makeFullWidth(slotInner){
let parentContainerElement = slotInner.closest(“.homeHeadlinesRow__adWrapper”)||slotInner.closest(“.homeRow__adWrapper”)||slotInner.closest(“.homeRow”)
if (!parentContainerElement){
parentContainerElement = slotInner.closest(“.adsWrapper”)
parentContainerElement.classList.add(“panorama–article”);
}else{
parentContainerElement.classList.add(“panorama–default”);
}
}

function setupPanoramaIframe(iframeWrapper){
let googleIframe = iframeWrapper.firstElementChild;
googleIframe.style.height = “100%”
window.addEventListener(‘message’, (e)=> {
if (googleIframe.contentWindow === e.source){
if(e.data.sideMarginBackgroundColor) {
iframeWrapper.style.backgroundColor = e.data.sideMarginBackgroundColor;
}
if(e.data.foregroundUrl){
createForeground(iframeWrapper,e.data.foregroundUrl,e.data.foregroundPosition,”img”)
}
if(e.data.foregroundHtmlUrl){
createForeground(iframeWrapper,e.data.foregroundHtmlUrl,e.data.foregroundPosition,”iframe”)
}
if(e.data.backgroundImgUrl){
createBackground(iframeWrapper,e.data.backgroundImgUrl,e.data.backgroundColor,”img”)
}
if(e.data.backgroundHtmlUrl){
createBackground(iframeWrapper,e.data.backgroundHtmlUrl,e.data.backgroundColor,”iframe”)
}
}
});
}

function createBackground(iframeWrapper,backgroundUrl,backgroundColor,backgroundElementType){
let backgroundElement = createBackgroundElement(backgroundUrl,backgroundElementType)
let backgroundWrapper = createBackgroundWrapper(backgroundColor)
let backgroundClipper = createBackgroundClipper()

backgroundWrapper.appendChild(backgroundElement)
backgroundClipper.appendChild(backgroundWrapper)
iframeWrapper.appendChild(backgroundClipper)

alignBackgroundToAdWrapper(backgroundWrapper, iframeWrapper)
let widthCache = window.innerWidth
window.addEventListener(“resize”,()=>{
if (window.innerWidth!==widthCache){
widthCache=window.innerWidth;
alignBackgroundToAdWrapper(backgroundWrapper, iframeWrapper)
}
})
}

function createForeground(iframeWrapper,foregroundUrl,foregroundPosition,type){
let foreground = document.createElement(type)
foreground.classList.add(“panorama__foregroundImg”)
switch (foregroundPosition){
case “top”:
foreground.style.alignSelf=”flex-start”
break;
case “center”:
foreground.style.alignSelf=”center”
break;
case “bottom”:
foreground.style.alignSelf=”flex-end”
break;
}
if (type===”iframe”){
foreground.style.height=”100%”
}
foreground.src = foregroundUrl
iframeWrapper.appendChild(foreground)
}

function createBackgroundElement(backgroundUrl, type) {
let backgroundElement = document.createElement(type);
backgroundElement.setAttribute(“src”,backgroundUrl);
backgroundElement.classList.add(“panorama__backgroundElement”);

if (“img” === type) {
backgroundElement.classList.add(“panorama__backgroundElement–img”);
}

return backgroundElement;
}

function createBackgroundWrapper(backgroundColor){
let backgroundWrapper = document.createElement(“div”)
backgroundWrapper.classList.add(‘panorama__backgroundWrapper’)
backgroundWrapper.style.backgroundColor=backgroundColor;
switch (pageBlock){
case “body”:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–homepage’)
break;
case “text”:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–article’)
break;
default:
backgroundWrapper.classList.add(‘panorama__backgroundWrapper–default’)
break;
}
return backgroundWrapper;
}

function createBackgroundClipper(){
let backgroundClipper = document.createElement(“div”)
backgroundClipper.classList.add(‘panorama__backgroundClipper’)
return backgroundClipper
}

function alignBackgroundToAdWrapper(backgroundToResize, sourceWrapper){
backgroundToResize.style.width = sourceWrapper.clientWidth+”px”;
if(pageBlock!==”body”) {
backgroundToResize.style(‘left’) = sourceWrapper.getBoundingClientRect().left+”px”;
}
}
}

LPAds.registerSpotReceived(slotName, function (slotData) {
if (slotData) {
if (LPAds.isProductGalleryAd(slotData.creativeTemplateId)) {
setUpProductGalleryAd();
} else if (LPAds.isNativeAd(slotData.creativeTemplateId)) {
setUpNativeAd();
} else if (LPAds.isNativeAdXtra(slotData.creativeTemplateId)) {
setUpNativeAdXtra();
}
}
});
LPAds.registerSpotRenderEnded(slotName, function(slotData) {
if (slotData) {
if (LPAds.isPanorama(slotData.creativeTemplateId)) {
setUpPanorama();
}else if (LPAds.isNativeAdSerieXtra(slotData.creativeTemplateId)) {
setUpNativeAdSerieXtra();
}
}
});

LPAds.displayAdSpot(slotName);
})()