Warning: Undefined array key "gallery-width" in /var/www/agency3.ma-no.org/plugins/galleries/public/views/inc/inc.gallery-home.php on line 10
Warning: Undefined array key "gallery-height" in /var/www/agency3.ma-no.org/plugins/galleries/public/views/inc/inc.gallery-home.php on line 15
Siamo
Warning: Undefined variable $BBparser in /var/www/agency3.ma-no.org/plugins/sections/includes/section.detail.php on line 12
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.
Utenti che hanno visitato i nostri siti web
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.
ConoscerciSERVIZI
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 serviziPORTFOLIO
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.
Aziende che abbiamo aiutato con il nostro lavoro
Warning: Undefined variable $BBparser in /var/www/agency3.ma-no.org/plugins/sections/includes/section.detail.php on line 12
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 ·
Opzioni di accessibilità
Regolazione dei contenuti
Spaziatura tra parole
Spaziatura tra lettere
Controllo saturazione
Lettore vocale
Controllo volume
Warning: Undefined variable $pluto in /var/www/agency3.ma-no.org/app/template/index.php on line 147
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/agency3.ma-no.org/plugins//public/models/index.php [path-files] => /var/www/agency3.ma-no.org/plugins//public/views/index.php [path-item-models] => /var/www/agency3.ma-no.org/plugins//public/models//item.php [path-item-files] => /var/www/agency3.ma-no.org/plugins//public/views//item.php ) [PARAMS] => Array ( [css_style] => .row { margin-right: 0; margin-left: 0; } .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 ) )