// wait for document to be ready document.addEventListener("DOMContentLoaded", function(event) { let bodhisvgsReplacements = 0; function bodhisvgsReplace(img) { // must be an image if( img.nodeName !== 'IMG' ){ return; } var imgID = img.id; var imgClass = img.classList; var imgURL = img.src; // must be svg if( !imgURL.endsWith('svg') ){ return; } var xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200){ data = xmlHttp.responseText; let parser = new DOMParser(); const doc = parser.parseFromString(data, 'text/html'); // get svg now var svg = doc.getElementsByTagName('svg')[0]; var svgID = svg.id; // Add replaced image's ID to the new SVG if necessary if( typeof imgID === 'undefined' ){ if( typeof svgID === 'undefined' ) { imgID = 'svg-replaced-'+bodhisvgsReplacements; svg.setAttribute('id', imgID); } else { imgID = svgID; } } else { svg.setAttribute('id', imgID); } // Add replaced image's classes to the new SVG if(typeof imgClass !== 'undefined') { svg.setAttribute('class', imgClass+' replaced-svg svg-replaced-'+bodhisvgsReplacements); } // Remove any invalid XML tags as per http://validator.w3.org svg.removeAttribute('xmlns:a'); if(frontSanitizationEnabled == 'on' && svg["outerHTML"] != "") { // Is sanitization enabled? var svg = DOMPurify.sanitize(svg.outerHTML); // Sanitize SVG code via DOMPurify library img.outerHTML = svg; // Replacing img tag with new SVG sanitized content } else { // Replace image with new SVG img.replaceWith(svg); } bodhisvgsReplacements++; } } xmlHttp.open("GET", imgURL, false); xmlHttp.send(null); } function bodhisvgsIterator(node) { if( node.childNodes.length > 0 ){ for (var i = 0; i < node.childNodes.length; i++) { if( node.childNodes[i].nodeName == 'IMG' ){ // its an image... replace it too var img = node.childNodes[i]; bodhisvgsReplace(img); }else{ // go to another level bodhisvgsIterator(node.childNodes[i]); } } } } // Wrap in IIFE so that it can be called again later as bodhisvgsInlineSupport(); (bodhisvgsInlineSupport = function() { // If force inline SVG option is active then add class if ( ForceInlineSVGActive === 'true' ) { var allImages = document.getElementsByTagName('img'); // find all images on page // loop on images for(var i = 0; i < allImages.length ; i++) { if( typeof allImages[i].src !== 'undefined' ){ // check if it has svg if( allImages[i].src.match(/\.(svg)/) ){ // add our class - if not already added if( !allImages[i].classList.contains(cssTarget.ForceInlineSVG) ){ // add class now allImages[i].classList.add(cssTarget.ForceInlineSVG); } } } } } // Polyfill to support all ye old browsers // delete when not needed in the future if (!String.prototype.endsWith) { String.prototype.endsWith = function(searchString, position) { var subjectString = this.toString(); if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { position = subjectString.length; } position -= searchString.length; var lastIndex = subjectString.lastIndexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; } // end polyfill // Another snippet to support IE11 String.prototype.endsWith = function(pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; }; // End snippet to support IE11 // Check to see if user set alternate class if ( ForceInlineSVGActive === 'true' ) { var target = ( cssTarget.Bodhi !== 'img.' ? cssTarget.ForceInlineSVG : 'style-svg' ); } else { var target = ( cssTarget !== 'img.' ? cssTarget : 'style-svg' ); } // remove .img from class target = target.replace("img.",""); var allImages = document.getElementsByClassName(target); // find all images with force svg class for(var i = 0; i < allImages.length ; i++) { if( typeof allImages[i].src == 'undefined' ){ // not an image bodhisvgsIterator(allImages[i]); }else{ var img = allImages[i]; bodhisvgsReplace(img); } } })(); // Execute immediately }); L’AGENCE – M TRAVEL

L’AGENCE

L’agence

Crée en 2014, M TRAVEL AND MICE est spécialisée en communication événementielle et en organisation d’évènements. Basée à Casablanca et à Marrakech, nous organisons pour vous et partout des évènements sur mesure à la hauteur de vos aspirations.

Parce que l’événementiel est un vecteur de communication essentiel à une entreprise, nous mettrons notre savoir-faire à votre service.

Du conseil à la création d’un évènement, mais surtout de la coordination à la réalisation, nous serons là pour vous.

Nous sommes également titulaires d’une License de voyage N° ODV-2252 octroyée par le ministère du Tourisme.

Notre équipe

Notre équipe est impliquée, attentive et consciente des enjeux de vos attentes.
Nos Chefs de projets ont une expérience suffisante qui saura capter vos idées et les mettre en scène

Créative et passionnée, l’équipe vous accompagne dans toutes les étapes de création de votre événement en plaçant l’écoute au cœur de ses préoccupations. L’envie et le besoin de partir à la rencontre d’un public pour offrir une expérience unique et inoubliable constituent notre ADN, ainsi vous bénéficiez de recommandations créatives et personnalisées, en phase avec les valeurs de votre marque.

Notre accompagnement

Prise de brief

Chaque projet est unique et demande une véritable implication de notre part. Pour cela, notre chef de projet saura :

– Vous conseiller dans un premier temps

– Elaborer un dossier en réponse à vos objectifs et vos contraintes pour proposer une prestation qui vous correspond.

Création

Grâce à notre bureau d’étude, nous vous proposerons toujours la meilleure option, Nous créerons des événements sur-mesure et uniques, et penserons chaque détail, Notre expérience permet d’anticiper les différents comportements de tous vos convives.

Réalisation

Notre vision d’une bonne agence événementielle ne s’arrête pas à vendre un événement, et c’est pourquoi nous serons toujours présents pour vous, surtout le jour J.

De la livraison jusqu’au démontage, notre équipe sera toujours là pour parer aux imprévus.

Suivi client

Nous resterons à vos côtés y compris quand votre projet est terminé.

Nous prenons en compte vos retours dans l'optique de nous améliorer

2

AGENCES

+40

% DE PROGRESSION ANNUELLE

+650

EVENEMENTS A AUJOURD’HUI

fr_FRFrançais