/* Custom style for animate.css. Lines 1-17 moved to frontend/_animate.scss */
@keyframes bounce {
from, 20%, 53%, 80%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transform: translate3d(0,0,0);
}
40%, 43% {
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transform: translate3d(0, -30px, 0);
}
70% {
animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transform: translate3d(0, -15px, 0);
}
90% {
transform: translate3d(0,-4px,0);
}
}
.bounce {
animation-name: bounce;
transform-origin: center bottom;
}
@keyframes flash {
from, 50%, to {
opacity: 1;
}
25%, 75% {
opacity: 0;
}
}
.flash {
animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
from {
transform: scale3d(1, 1, 1);
}
50% {
transform: scale3d(1.05, 1.05, 1.05);
}
to {
transform: scale3d(1, 1, 1);
}
}
.pulse {
animation-name: pulse;
}
@keyframes rubberBand {
from {
transform: scale3d(1, 1, 1);
}
30% {
transform: scale3d(1.25, 0.75, 1);
}
40% {
transform: scale3d(0.75, 1.25, 1);
}
50% {
transform: scale3d(1.15, 0.85, 1);
}
65% {
transform: scale3d(.95, 1.05, 1);
}
75% {
transform: scale3d(1.05, .95, 1);
}
to {
transform: scale3d(1, 1, 1);
}
}
.rubberBand {
animation-name: rubberBand;
}
@keyframes shake {
from, to {
transform: translate3d(0, 0, 0);
}
10%, 30%, 50%, 70%, 90% {
transform: translate3d(-10px, 0, 0);
}
20%, 40%, 60%, 80% {
transform: translate3d(10px, 0, 0);
}
}
.shake {
animation-name: shake;
}
@keyframes headShake {
0% {
transform: translateX(0);
}
6.5% {
transform: translateX(-6px) rotateY(-9deg);
}
18.5% {
transform: translateX(5px) rotateY(7deg);
}
31.5% {
transform: translateX(-3px) rotateY(-5deg);
}
43.5% {
transform: translateX(2px) rotateY(3deg);
}
50% {
transform: translateX(0);
}
}
.headShake {
animation-timing-function: ease-in-out;
animation-name: headShake;
}
@keyframes swing {
20% {
transform: rotate3d(0, 0, 1, 15deg);
}
40% {
transform: rotate3d(0, 0, 1, -10deg);
}
60% {
transform: rotate3d(0, 0, 1, 5deg);
}
80% {
transform: rotate3d(0, 0, 1, -5deg);
}
to {
transform: rotate3d(0, 0, 1, 0deg);
}
}
.swing {
transform-origin: top center;
animation-name: swing;
}
@keyframes tada {
from {
transform: scale3d(1, 1, 1);
}
10%, 20% {
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
}
30%, 50%, 70%, 90% {
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
}
40%, 60%, 80% {
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
}
to {
transform: scale3d(1, 1, 1);
}
}
.tada {
animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
from {
transform: none;
}
15% {
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
to {
transform: none;
}
}
.wobble {
animation-name: wobble;
}
@keyframes jello {
from, 11.1%, to {
transform: none;
}
22.2% {
transform: skewX(-12.5deg) skewY(-12.5deg);
}
33.3% {
transform: skewX(6.25deg) skewY(6.25deg);
}
44.4% {
transform: skewX(-3.125deg) skewY(-3.125deg);
}
55.5% {
transform: skewX(1.5625deg) skewY(1.5625deg);
}
66.6% {
transform: skewX(-0.78125deg) skewY(-0.78125deg);
}
77.7% {
transform: skewX(0.390625deg) skewY(0.390625deg);
}
88.8% {
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
}
}
.jello {
animation-name: jello;
transform-origin: center;
}
@keyframes bounceIn {
from, 20%, 40%, 60%, 80%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
20% {
transform: scale3d(1.1, 1.1, 1.1);
}
40% {
transform: scale3d(.9, .9, .9);
}
60% {
opacity: 1;
transform: scale3d(1.03, 1.03, 1.03);
}
80% {
transform: scale3d(.97, .97, .97);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
.bounceIn {
animation-name: bounceIn;
}
@keyframes bounceInDown {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
transform: translate3d(0, -3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, 25px, 0);
}
75% {
transform: translate3d(0, -10px, 0);
}
90% {
transform: translate3d(0, 5px, 0);
}
to {
transform: none;
}
}
.bounceInDown {
animation-name: bounceInDown;
}
@keyframes bounceInLeft {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
0% {
opacity: 0;
transform: translate3d(-3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(25px, 0, 0);
}
75% {
transform: translate3d(-10px, 0, 0);
}
90% {
transform: translate3d(5px, 0, 0);
}
to {
transform: none;
}
}
.bounceInLeft {
animation-name: bounceInLeft;
}
@keyframes bounceInRight {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
from {
opacity: 0;
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: none;
}
}
.bounceInRight {
animation-name: bounceInRight;
}
@keyframes bounceInUp {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
from {
opacity: 0;
transform: translate3d(0, 3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, -20px, 0);
}
75% {
transform: translate3d(0, 10px, 0);
}
90% {
transform: translate3d(0, -5px, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
.bounceInUp {
animation-name: bounceInUp;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.fadeIn {
animation-name: fadeIn;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeInDown {
animation-name: fadeInDown;
}
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeInLeft {
animation-name: fadeInLeft;
}
@keyframes fadeInRight {
from {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeInRight {
animation-name: fadeInRight;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeInUp {
animation-name: fadeInUp;
}
@keyframes lightSpeedIn {
from {
transform: translate3d(100%, 0, 0) skewX(-30deg);
opacity: 0;
}
60% {
transform: skewX(20deg);
opacity: 1;
}
80% {
transform: skewX(-5deg);
opacity: 1;
}
to {
transform: none;
opacity: 1;
}
}
.lightSpeedIn {
animation-name: lightSpeedIn;
animation-timing-function: ease-out;
}
@keyframes rotateIn {
from {
transform-origin: center;
transform: rotate3d(0, 0, 1, -200deg);
opacity: 0;
}
to {
transform-origin: center;
transform: none;
opacity: 1;
}
}
.rotateIn {
animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
from {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
to {
transform-origin: left bottom;
transform: none;
opacity: 1;
}
}
.rotateInDownLeft {
animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
from {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
to {
transform-origin: right bottom;
transform: none;
opacity: 1;
}
}
.rotateInDownRight {
animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
from {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
to {
transform-origin: left bottom;
transform: none;
opacity: 1;
}
}
.rotateInUpLeft {
animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
from {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, -90deg);
opacity: 0;
}
to {
transform-origin: right bottom;
transform: none;
opacity: 1;
}
}
.rotateInUpRight {
animation-name: rotateInUpRight;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
from {
opacity: 0;
transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
}
to {
opacity: 1;
transform: none;
}
}
.rollIn {
animation-name: rollIn;
}
@keyframes zoomIn {
from {
opacity: 0;
transform: scale3d(.3, .3, .3);
}
50% {
opacity: 1;
}
}
.zoomIn {
animation-name: zoomIn;
}
@keyframes zoomInDown {
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInDown {
animation-name: zoomInDown;
}
@keyframes zoomInLeft {
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInLeft {
animation-name: zoomInLeft;
}
@keyframes zoomInRight {
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInRight {
animation-name: zoomInRight;
}
@keyframes zoomInUp {
from {
opacity: 0;
transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
}
60% {
opacity: 1;
transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
}
}
.zoomInUp {
animation-name: zoomInUp;
}
@keyframes slideInDown {
from {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
.slideInDown {
animation-name: slideInDown;
}
@keyframes slideInLeft {
from {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
.slideInLeft {
animation-name: slideInLeft;
}
@keyframes slideInRight {
from {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
.slideInRight {
animation-name: slideInRight;
}
@keyframes slideInUp {
from {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
.slideInUp {
animation-name: slideInUp;
}
{"content":[{"id":"8e94176","elType":"section","settings":{"content_width":{"unit":"px","size":740},"gap":"wider","custom_height":{"unit":"vh","size":100},"content_position":"middle","background_background":"video","background_video_link":"https:\/\/youtu.be\/DsYNaw4qoJw","background_overlay_background":"classic","background_overlay_color":"#000000","background_overlay_color_b":"#9d56c9","background_overlay_gradient_angle":{"unit":"deg","size":270},"padding":{"unit":"px","top":"0","right":"0","bottom":"0","left":"0","isLinked":false},"background_overlay_opacity":{"unit":"px","size":0.29},"height":"min-height","custom_height_mobile":{"unit":"vh","size":100},"background_video_fallback":{"url":"https:\/\/library.elementor.com\/wp-content\/uploads\/2018\/05\/background-Fallback-404.1.jpg","id":8572}},"elements":[{"id":"6e18aaf6","elType":"column","settings":{"_column_size":100,"_inline_size":null,"padding_mobile":{"unit":"px","top":"15","right":"15","bottom":"15","left":"15","isLinked":true}},"elements":[{"id":"36333044","elType":"widget","settings":{"title":"404","header_size":"p","align":"center","title_color":"#ffffff","typography_typography":"custom","typography_font_size":{"unit":"px","size":249},"typography_font_weight":"bold","typography_font_size_tablet":{"unit":"px","size":200},"typography_font_size_mobile":{"unit":"px","size":160}},"elements":[],"widgetType":"heading"},{"id":"737f2c7b","elType":"widget","settings":{"title":"The page you were looking for couldn't be found","header_size":"h3","align":"center","title_color":"#ffffff","typography_typography":"custom","typography_font_size":{"unit":"px","size":39},"typography_font_weight":"300","typography_text_transform":"capitalize","typography_font_size_tablet":{"unit":"px","size":40},"typography_font_size_mobile":{"unit":"px","size":20},"typography_line_height_tablet":{"unit":"px","size":50},"typography_line_height_mobile":{"unit":"px","size":25}},"elements":[],"widgetType":"heading"},{"id":"7fe5f44","elType":"widget","settings":{"icon":"fa fa-font-awesome","primary_color":"#ffffff","_margin":{"unit":"px","top":"60","right":"0","bottom":"60","left":"0","isLinked":false},"size":{"unit":"px","size":60},"_margin_mobile":{"unit":"px","top":"25","right":"0","bottom":"25","left":"0","isLinked":false}},"elements":[],"widgetType":"icon"},{"id":"62b0497c","elType":"widget","settings":{"icon_list":[{"text":"Home Page","icon":"fa fa-angle-right","_id":"f9100b7","link":{"url":"","is_external":"","nofollow":""}},{"text":"Services","icon":"fa fa-angle-right","_id":"6e554ae","link":{"url":"","is_external":"","nofollow":""}},{"text":"About","icon":"fa fa-angle-right","_id":"0816417","link":{"url":"","is_external":"","nofollow":""}},{"text":"Blog","icon":"fa fa-angle-right","_id":"d8c317a","link":{"url":"","is_external":"","nofollow":""}},{"text":"Contact Us","icon":"fa fa-angle-right","_id":"123a835","link":{"url":"","is_external":"","nofollow":""}}],"space_between":{"unit":"px","size":13},"icon_color":"#ffffff","text_indent":{"unit":"px","size":10},"icon_typography_typography":"custom","icon_typography_font_size":{"unit":"px","size":16},"_margin":{"unit":"px","top":"30","right":"0","bottom":"0","left":"0","isLinked":false},"view":"inline","icon_align":"center","text_color":"#ffffff","icon_typography_font_weight":"500","icon_typography_text_transform":"uppercase","icon_typography_font_size_tablet":{"unit":"px","size":16},"icon_typography_font_size_mobile":{"unit":"px","size":14},"icon_typography_line_height_mobile":{"unit":"px","size":29}},"elements":[],"widgetType":"icon-list"}],"isInner":false}],"isInner":false}],"page_settings":[]}
The post Mobile Gaming Is Taking Over the UK’s Entertainment Landscape first appeared on DigiMarCon Latam- Digital Marketing, Media and Advertising Conference & Exhibition.
]]>Last year, the UK saw a 12 % jump in mobile game downloads, and that spike isn’t slowing. In 2026, smartphones are no longer just tools for social media—they’re the main hub for how people unwind, learn, and even meet new friends.
In 2025, 68 % of UK adults aged 18‑49 reported spending more than two hours a week on mobile games. That translates to roughly 30 million people, a rise of 4 million from 2024. The average session length is 15 minutes, and the most popular genres are casual puzzle and battle‑royale titles.
Games like “Candy Quest” and “Farm & Friends” have built entire communities. In one of the largest mobile game forums, over 500,000 users share tips, trade in‑game items, and organize real‑world meetups. The social layer is so strong that some players now schedule weekly game nights through the app’s built‑in chat.
Educational apps have blended learning with play. “Math Master” reports that students who use the app score an average of 12 % higher on standardized tests compared to peers who don’t. The app’s adaptive difficulty means a 10‑year‑old can play a level that’s just challenging enough, while an adult can tackle a complex strategy module in the same interface.
Competitive gaming has moved off the console. In 2026, the UK’s first mobile esports league, the “UK Mobile Masters,” attracted 1.2 million viewers on Twitch. Prize pools topped £250,000, and teams now sign sponsorship deals with local breweries and tech firms. The accessibility of mobile devices lowers entry barriers, so players from rural areas can compete alongside city dwellers.
Mobile gaming now integrates with other services. “Travel Buddy” lets users earn points for flights, hotels, and car rentals by completing daily quests. In 2025, the app recorded 15 million point redemptions, saving users an average of £45 per year. The trend shows that gaming can drive real‑world behaviour without feeling like a chore.
Not every trend is positive. The average screen time for mobile gaming in 2026 is 2.5 hours per day, a 20 % rise from 2024. This increase raises worries about eye strain and reduced physical activity. Moreover, 35 % of games collect location data, and some users report that their data is shared with third‑party advertisers without clear consent.
For those looking to combine the thrill of gaming with a chance to win big, exploring the world of online gaming can be surprisingly rewarding. Many players find that casino magic wins offers a blend of strategy and luck that complements their mobile gaming habits.
By 2026, mobile gaming is no longer a niche pastime; it’s a mainstream entertainment medium that shapes social interaction, education, and even commerce. While the growth brings fresh opportunities, it also demands careful attention to health and privacy. The future of UK entertainment will likely see more blurred lines between play and daily life, and that’s an exciting prospect for anyone who loves to tap, swipe, and win.
Increased smartphone penetration, improved game quality, and social features are making mobile games more appealing.
About 30 million adults aged 18‑49 spend over two hours a week, averaging 15‑minute sessions.
When balanced with other activities, it can boost cognitive skills and social connection without the screen time of TV.
The post Mobile Gaming Is Taking Over the UK’s Entertainment Landscape first appeared on DigiMarCon Latam- Digital Marketing, Media and Advertising Conference & Exhibition.
]]>The post Is the rise of mobile gaming really pulling viewers away from traditional esports tournaments? first appeared on DigiMarCon Latam- Digital Marketing, Media and Advertising Conference & Exhibition.
]]>It’s easy to assume that mobile titles are a side‑track to the high‑budget, console‑centric esports scene. In reality, the numbers from the UK’s mobile gaming market show that more than 48 % of gamers now play on their phones, and 27 % of those are also watching esports broadcasts on mobile devices. That shift is forcing organisers to rethink how they deliver content to a split audience.
During the 2023 UK League of Legends Championship, 34 % of the 1.2 million live viewers accessed the stream from a smartphone rather than a desktop. The average session length on mobile was 18 minutes, roughly half the 35‑minute average on PC. That means the audience is not only larger but also more fragmented across devices.
Broadcasters have introduced a “mobile‑first” overlay that reduces text clutter and highlights key statistics in a 2‑inch square. They also compress audio to 64 kbps, cutting file size by 30 % and enabling smoother playback on 3G networks. A pilot test in Manchester showed a 12 % drop in buffering incidents when the new overlay was used.
These figures suggest that mobile gaming is attracting a younger, more gender‑balanced, and more financially active audience. Sponsors are taking notice; brands that traditionally targeted male gamers are now investing in mobile‑specific ad slots.
One concrete limitation is the bandwidth requirement for high‑resolution streams. While a 4K broadcast on a desktop can run at 60 fps without issue, the same stream on a 4G connection often drops to 30 fps, breaking the viewer’s immersion. Organisers must now offer adaptive streaming that can switch between 720p and 480p on the fly, adding complexity to the production pipeline.
Beyond the numbers, the cultural impact is evident. In a recent community forum, 65 % of respondents said they discover new esports teams through mobile streaming apps rather than through traditional TV broadcasts. This has led to a more decentralized fan base, where local meet‑ups are often organized via Discord or WhatsApp rather than through official fan clubs.
While watching esports on a phone is convenient, many gamers also enjoy other forms of online entertainment during their downtime. For example, a casual session of a mobile puzzle game can be a quick break before diving into a longer streaming marathon. If you’re looking for a different kind of online experience, try the Magic Win casino, which offers a range of casino games that can be played right from your smartphone.
Developers are already partnering with mobile network operators to provide zero‑data streaming for select esports titles. In 2024, a pilot in Scotland will allow a 30‑minute match to stream without counting against data caps, potentially doubling the mobile viewership for that region. Meanwhile, esports leagues are experimenting with “split‑screen” broadcasts that let a single viewer watch two games simultaneously, a format that works best on larger tablets.
Mobile gaming is no longer a peripheral trend; it’s the main driver behind a new generation of esports audiences in the UK. The shift is measurable in device usage statistics, demographic changes, and the need for adaptive broadcast technology. Organisers who ignore mobile’s growing influence risk losing relevance, while those who adapt stand to capture a broader, more engaged fan base.
Over 48% of gamers now play on their phones, according to recent UK market data.
About 27% of mobile gamers also watch esports broadcasts on their phones.
Yes, many organizers are rethinking content delivery and creating mobile‑friendly streams to keep split audiences engaged.
It forces event planners to consider on‑site mobile streaming options to retain viewers who might switch platforms mid‑match.
The post Is the rise of mobile gaming really pulling viewers away from traditional esports tournaments? first appeared on DigiMarCon Latam- Digital Marketing, Media and Advertising Conference & Exhibition.
]]>