Siamo

Web design, sviluppo e agenzia di marketing online

MA-NO WEB DESIGN AND DEVELOPMENT è un'agenzia specializzata in web design e sviluppo web a Palma di Maiorca, design grafico, sviluppo di applicazioni e ottimizzazione SEO. Abbiamo un potente team creativo multinazionale e multidisciplinare, che vi offre un servizio di qualità, veloce e all'altezza del vostro progetto.  

89,526,124

Utenti che hanno visitato i nostri siti web

18,244,545

Totale guadagnato dai nostri clienti

L'AGENZIA

MA-NO è un'agenzia specializzata in prodotti digitali che suscitano emozioni, hanno personalità e portano risultati. Web agency nelle Isole Baleari con 10 anni di progettazione di siti web per grandi e piccole imprese a Maiorca e in tutta la Spagna, numerose storie di successo ci sostengono. Portiamo questa esperienza ad ogni progetto per offrire un alto livello di servizio ed eccellenza.

Conoscerci
 
 

SERVIZI

Offriamo servizi di sviluppo di progetti completi, a livello locale, regionale, nazionale e internazionale, con risultati misurabili. Siamo l'azienda di Web Design a Mallorca che offre il miglior design e strategia digitale nella progettazione di siti web aziendali e negozi online.

I nostri servizi

PORTFOLIO

Sviluppiamo progetti digitali per grandi marche e questo non ci ha dato alla testa (anche se siamo molto bravi e lo sappiamo).

Ma-No ascolta, si adatta e lavora con te per portare la tua presenza online da Meh a WOW. Hai bisogno di un servizio completo? Possiamo aiutare con strategia, campagne, pubblicità, branding, video, fotografia e altro.

I nostri lavoro
 
 

CONTATTO

Se sei un'azienda senza scopo di lucro, un marchio start-up, un'impresa familiare o una società, sei qui perché riconosci l'impatto che un prodotto digitale come un sito web può avere.

Aziende che abbiamo aiutato con il nostro lavoro


Creazione del sito web Fanautic
Creazione del sito web per il Nit de l'Art 2020 a Palma
Creazione del sito web Wellies
Creazione del sito web Barceló, Hotel Group
Creazione del sito web Cuixot de Porc Negre Mallorquín
Creazione del sito web Hotel d'es Puig, Deià - Mallorca
Creazione del sito web Desarrollo Negocio Dental.
Creazione del sito web AbruzzoWeb
Creazione del sito web Meliá, hotels & resorts
Creazione del sito web Sol by Meliá
Creazione del sito web Pizzería Mamma Teresa Trattoria
Creazione del sito web Tahini, sushi bar & restaurantde
Creazione del sito web Fanautic
Creazione del sito web Bodegas Suau
Creazione del sito web Dismatecsa
Creazione del sito web Malift Ascensores
Creazione del sito web Somoza Brands
Creación página web Romance by Meliáde
Creazione del sito web Pelita, italian burguer e bar
Creazione del sito web Hotel Sofia Alcudia Beach
Creazione del sito web Fanautic Club
Creazione del sito web 21boats
Creazione del sito web lds
Creazione del sito web Melicotó
Creazione del sito web Bunkers Palma
Creazione del sito web Grupo Cappuccino
Creazione del sito web Tramuntana, A Taste of Spain
Creazione del sito web Nautipaints
Creazione del sito web Humiclima
Creazione del sito web Mallorca Low Cost
Creazione del sito web Aura
Creazione del sito web Sur Yachts Europa
Creazione del sito web Hotel Ca'n Abril con enlace al portfolio
Creazione del sito web Cumber Construction
Creazione del sito web Martinius Excellent Yacht Service
Creazione del sito web Instituto DentalFacial Cosaga
Creazione del sito web Jopyería Weyler
Creazione del sito web A White Hot Wedding
Creazione del sito web Alberto García excelencia dental
Creazione del sito web Arianna Mazzetta
Creazione del sito web Finca Gomera
Creazione del sito web Brokernautic
Creazione del sito web Cappuccino Grand Café
Creazione del sito web Paradisus by Meliá
Creazione del sito web Yacht Service
Creazione del sito web Hotelopia
Creazione del sito web IBRC Dentisti
Creazione del sito web del Ristoranti Casa Flor
Creación página web de Lobster Club
Creación página web de Tiempo y Silencio Casa Sevilla
Creación página web del Defensor del paciente
Creación página web de Remex
Creación página web de Bapiporent

 

Siamo architetti digitali

 

MA-NO è un'agenzia specializzata in prodotti digitali che suscitano emozioni, hanno personalità e portano risultati.

Condivideremo esperienze, professionalità, un po' di umorismo, lavoreremo con voi per risolvere i vostri problemi complessi e raggiungere i vostri obiettivi.

· La nostra giornata non è noiosa e nemmeno la vostra dovrebbe esserlo ·

 

  

Utilizziamo i nostri cookie e quelli di terzi per migliorare i nostri servizi, compilare informazioni statistiche e analizzare le vostre abitudini di navigazione. Questo ci permette di personalizzare i contenuti che offriamo e di mostrarvi le pubblicità relative alle vostre preferenze. Cliccando su "Accetta tutto" acconsentite alla memorizzazione dei cookie sul vostro dispositivo per migliorare la navigazione del sito web, analizzare il traffico e assistere le nostre attività di marketing. Potete anche selezionare "Solo cookies di sistema" per accettare solo i cookies necessari al funzionamento del sito web, oppure potete selezionare i cookies che desiderate attivare cliccando su "Impostazioni".

Accetta tutti Solo cookies del sistema Configurazione
Array
(
    [path] => Array
        (
            [0] => it
        )

    [path-first-chunk] => Array
        (
        )

    [path-last-chunk] => it
    [path-prelast-chunk] => Array
        (
            [0] => it
        )

    [file-name] => it
    [file-mime] => it
    [file-is-file] => 0
    [file-get-values] => Array
        (
        )

    [path-middle-chunks] => 
    [plugins] => Array
        (
            [item-nav-path] => 
            [nav-path] => /index.php
            [path-models] => /var/www/torpedobits.com/plugins//public/models/index.php
            [path-files] => /var/www/torpedobits.com/plugins//public/views/index.php
            [path-item-models] => /var/www/torpedobits.com/plugins//public/models//item.php
            [path-item-files] => /var/www/torpedobits.com/plugins//public/views//item.php
        )

    [PARAMS] => Array
        (
            [css_style] => .typewrite_container {font-size:24px;font-weight:bold;}

.swiper-container .sldtext{
top:10%
}

.particle-network-animation {
  position: relative;
float:left;
  display:block;
  height: 100vh;
  width:100%;
  /*background-color: #fff;
background: rgb(0,154,145);
background: radial-gradient(circle, rgba(0,154,145,1) 0%, rgba(9,121,116,1) 35%, rgba(0,20,18,1) 100%);*/
}
.particle-network-animation::before {
  z-index: -2;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url(/cache/galleries/generica/photo-1450849608880-6f787542c88a.webp);
  background-position: center center;
  background-size: cover;
  opacity: 0.2;
}
.particle-network-animation .sldtext{z-index:1;}
.particle-network-animation canvas {
    display: block;
    float: left;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.glow {
  z-index: -1;
  position: fixed;
  top: 50%;
  left: 50%;
  background-image: radial-gradient(circle closest-side, rgba(255, 255, 255, 0.025), transparent);
}

.glow-1 {
  width: 150vw;
  height: 150vh;
  margin-top: -75vh;
  margin-left: -75vw;
  animation: glow-1-move 25s linear infinite both;
}

@keyframes glow-1-move {
  from {
    transform: translate(-100%, 100%);
  }
  to {
    transform: translate(100%, -100%);
  }
}
.glow-2 {
  width: 100vw;
  height: 100vh;
  margin-top: -50vh;
  margin-left: -50vw;
  animation: glow-2-move 25s linear 8.3333333333s infinite both;
}

@keyframes glow-2-move {
  from {
    transform: translate(-100%, 0%);
  }
  to {
    transform: translate(100%, 100%);
  }
}
.glow-3 {
  width: 120vw;
  height: 120vh;
  margin-top: -60vh;
  margin-left: -60vw;
  animation: glow-3-move 25s linear 16.6666666667s infinite both;
}

@keyframes glow-3-move {
  from {
    transform: translate(100%, 100%);
  }
  to {
    transform: translate(0%, -100%);
  }
}     

             .mySwiper {

                       -webkit-box-shadow: none;
    box-shadow: none;
               height:300px;
      }

      .mySwiper .swiper-slide {
        text-align: center;
        font-size: 18px;
        width: 300px;
        height: 300px;

        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
      }

                                                                                                                                                                                                                                                                                                            
            [javascript] => const swipercat = new Swiper('.swiper-container-parked', {
  // Optional parameters
  // direction: 'vertical',
  loop: false,

  // If we need pagination
  pagination: {
    el: '.swiper-pagination',
  },

  // Navigation arrows
  navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },

  // And if we need scrollbar
  scrollbar: {
    el: '.swiper-scrollbar',
  },
});
/**
 * Particle Network Animation
 * Inspiration: https://github.com/JulianLaval/canvas-particle-network
*/

(function() {

	var ParticleNetworkAnimation, PNA;
	ParticleNetworkAnimation = PNA = function() {};

	PNA.prototype.init = function(element) {
		this.$el = $(element);

		this.container = element;
		this.canvas = document.createElement('canvas');
		this.sizeCanvas();
		this.container.appendChild(this.canvas);
		this.ctx = this.canvas.getContext('2d');
		this.particleNetwork = new ParticleNetwork(this);

		//this.bindUiActions();

		return this;
	};

	PNA.prototype.bindUiActions = function() {
		$(window).on('resize', function() {
			// this.sizeContainer();
			this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
			this.sizeCanvas();
			this.particleNetwork.createParticles();
		}.bind(this));
	};

	PNA.prototype.sizeCanvas = function() {
		this.canvas.width = this.container.offsetWidth;
		this.canvas.height = this.container.offsetHeight;
	};

	var Particle = function(parent, x, y) {
		this.network = parent;
		this.canvas = parent.canvas;
		this.ctx = parent.ctx;
		this.particleColor = returnRandomArrayitem(this.network.options.particleColors);
		this.radius = getLimitedRandom(1.5, 4.5);
		this.opacity = 1;
		this.x = x || Math.random() * this.canvas.width;
		this.y = y || Math.random() * this.canvas.height;
		this.velocity = {
			x: (Math.random() - 0.5) * parent.options.velocity,
			y: (Math.random() - 0.5) * parent.options.velocity
		};
	};

	Particle.prototype.update = function() {
		if (this.opacity < 1) {
			this.opacity += 0.1;
		} else {
			this.opacity = 1;
		}
		// Change dir if outside map
		if (this.x > this.canvas.width + 100 || this.x < -100) {
			this.velocity.x = -this.velocity.x;
		}
		if (this.y > this.canvas.height + 100 || this.y < -100) {
			this.velocity.y = -this.velocity.y;
		}

		// Update position
		this.x += this.velocity.x;
		this.y += this.velocity.y;
	};

	Particle.prototype.draw = function() {
		// Draw particle
		this.ctx.beginPath();
		this.ctx.fillStyle = this.particleColor;
		this.ctx.globalAlpha = this.opacity;
		this.ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
		this.ctx.fill();
	};

	var ParticleNetwork = function(parent) {
		this.options = {
			velocity: 1, // the higher the faster
			density: 12000, // the lower the denser
			netLineDistance: 300,
			netLineColor: '#00a4ad',
			particleColors: ['#aaa'] // ['#6D4E5C', '#aaa', '#FFC458' ]
		};
		this.canvas = parent.canvas;
		this.ctx = parent.ctx;

		this.init();
	};

	ParticleNetwork.prototype.init = function() {
		// Create particle objects
		this.createParticles(true);

		// Update canvas
		this.animationFrame = requestAnimationFrame(this.update.bind(this));

		//this.bindUiActions();
	};

	ParticleNetwork.prototype.createParticles = function(isInitial) {
		// Initialise / reset particles
		var me = this;
		this.particles = [];
		var quantity = this.canvas.width * this.canvas.height / this.options.density;

		if (isInitial) {
			var counter = 0;
			clearInterval(this.createIntervalId);
			this.createIntervalId = setInterval(function() {
				if (counter < quantity - 1) {
					// Create particle object
					this.particles.push(new Particle(this));
				}
				else {
					clearInterval(me.createIntervalId);
				}
				counter++;
			}.bind(this), 140);
		}
		else {
			// Create particle objects
			for (var i = 0; i < quantity; i++) {
				this.particles.push(new Particle(this));
			}
		}
	};

	ParticleNetwork.prototype.createInteractionParticle = function() {
		// Add interaction particle
		this.interactionParticle = new Particle(this);
		this.interactionParticle.velocity = {
			x: 0,
			y: 0
		};
		this.particles.push(this.interactionParticle);
		return this.interactionParticle;
	};

	ParticleNetwork.prototype.removeInteractionParticle = function() {
		// Find it
		var index = this.particles.indexOf(this.interactionParticle);
		if (index > -1) {
			// Remove it
			this.interactionParticle = undefined;
			this.particles.splice(index, 1);
		}
	};

	ParticleNetwork.prototype.update = function() {
		if (this.canvas) {

			this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
			this.ctx.globalAlpha = 1;

			// Draw connections
			for (var i = 0; i < this.particles.length; i++) {
				for (var j = this.particles.length - 1; j > i; j--) {
					var distance, p1 = this.particles[i], p2 = this.particles[j];

					// check very simply if the two points are even a candidate for further measurements
					distance = Math.min(Math.abs(p1.x - p2.x), Math.abs(p1.y - p2.y));
					if (distance > this.options.netLineDistance) {
						continue;
					}

					// the two points seem close enough, now let's measure precisely
					distance = Math.sqrt(
						Math.pow(p1.x - p2.x, 2) +
						Math.pow(p1.y - p2.y, 2)
					);
					if (distance > this.options.netLineDistance) {
						continue;
					}

					this.ctx.beginPath();
					this.ctx.strokeStyle = this.options.netLineColor;
					this.ctx.globalAlpha = (this.options.netLineDistance - distance) / this.options.netLineDistance * p1.opacity * p2.opacity;
					this.ctx.lineWidth = 0.7;
					this.ctx.moveTo(p1.x, p1.y);
					this.ctx.lineTo(p2.x, p2.y);
					this.ctx.stroke();
				}
			}

			// Draw particles
			for (var i = 0; i < this.particles.length; i++) {
				this.particles[i].update();
				this.particles[i].draw();
			}

			if (this.options.velocity !== 0) {
				this.animationFrame = requestAnimationFrame(this.update.bind(this));
			}

		}
		else {
			cancelAnimationFrame(this.animationFrame);
		}
	};

	ParticleNetwork.prototype.bindUiActions = function() {
		// Mouse / touch event handling
		this.spawnQuantity = 3;
		this.mouseIsDown = false;
		this.touchIsMoving = false;

		this.onMouseMove = function(e) {
			if (!this.interactionParticle) {
				this.createInteractionParticle();
			}
			this.interactionParticle.x = e.offsetX;
			this.interactionParticle.y = e.offsetY;
		}.bind(this);

		this.onTouchMove = function(e) {
			e.preventDefault();
			this.touchIsMoving = true;
			if (!this.interactionParticle) {
				this.createInteractionParticle();
			}
			this.interactionParticle.x = e.changedTouches[0].clientX;
			this.interactionParticle.y = e.changedTouches[0].clientY;
		}.bind(this);

		this.onMouseDown = function(e) {
			this.mouseIsDown = true;
			var counter = 0;
			var quantity = this.spawnQuantity;
			var intervalId = setInterval(function() {
				if (this.mouseIsDown) {
					if (counter === 1) {
						quantity = 1;
					}
					for (var i = 0; i < quantity; i++) {
						if (this.interactionParticle) {
							this.particles.push(new Particle(this, this.interactionParticle.x, this.interactionParticle.y));
						}
					}
				}
				else {
					clearInterval(intervalId);
				}
				counter++;
			}.bind(this), 50);
		}.bind(this);

		this.onTouchStart = function(e) {
			e.preventDefault();
			setTimeout(function() {
				if (!this.touchIsMoving) {
					for (var i = 0; i < this.spawnQuantity; i++) {
						this.particles.push(new Particle(this, e.changedTouches[0].clientX, e.changedTouches[0].clientY));
					}
				}
			}.bind(this), 200);
		}.bind(this);

		this.onMouseUp = function(e) {
			this.mouseIsDown = false;
		}.bind(this);

		this.onMouseOut = function(e) {
			this.removeInteractionParticle();
		}.bind(this);

		this.onTouchEnd = function(e) {
			e.preventDefault();
			this.touchIsMoving = false;
			this.removeInteractionParticle();
		}.bind(this);

		this.canvas.addEventListener('mousemove', this.onMouseMove);
		this.canvas.addEventListener('touchmove', this.onTouchMove);
		this.canvas.addEventListener('mousedown', this.onMouseDown);
		this.canvas.addEventListener('touchstart', this.onTouchStart);
		this.canvas.addEventListener('mouseup', this.onMouseUp);
		this.canvas.addEventListener('mouseout', this.onMouseOut);
		this.canvas.addEventListener('touchend', this.onTouchEnd);
	};

	ParticleNetwork.prototype.unbindUiActions = function() {
		if (this.canvas) {
			this.canvas.removeEventListener('mousemove', this.onMouseMove);
			this.canvas.removeEventListener('touchmove', this.onTouchMove);
			this.canvas.removeEventListener('mousedown', this.onMouseDown);
			this.canvas.removeEventListener('touchstart', this.onTouchStart);
			this.canvas.removeEventListener('mouseup', this.onMouseUp);
			this.canvas.removeEventListener('mouseout', this.onMouseOut);
			this.canvas.removeEventListener('touchend', this.onTouchEnd);
		}
	};

	var getLimitedRandom = function(min, max, roundToInteger) {
		var number = Math.random() * (max - min) + min;
		if (roundToInteger) {
			number = Math.round(number);
		}
		return number;
	};

	var returnRandomArrayitem = function(array) {
		return array[Math.floor(Math.random()*array.length)];
	};

pna = new ParticleNetworkAnimation();	pna.init($('.particle-network-animation')[0]);

}());



      var swiper = new Swiper(".mySwiper", {
   /*
        navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
        pagination: {
          el: ".swiper-pagination",
          clickable: true,
        },*/
        
        
              slidesPerView: 4,
        spaceBetween: 40,
        breakpoints: {
            320: {
                slidesPerView: 2,
                spaceBetween: 20
            },
            480: {
                slidesPerView: 3,
                spaceBetween: 30
            },
            640: {
                slidesPerView: 4,
                spaceBetween: 40
            }
        },
        loop: true,
        loopFillGroupWithBlank: true,
        autoplay: {
            delay: 2500,
            disableOnInteraction: false,
        },
    
      });                        
                                                                                                                                                                                                                                                                                                                                                                                    
            [main_title] => Web Design, Sviluppo Web, Ottimizzazione SEO a Maiorca
            [is_indexable] => 
            [is_followable] => 
            [gallery] => categories-2
        )

)