commit a48642fb6cf247bf12d40949c57d1256b094d0e4
Author: vastja <vastja@students.zcu.cz>
Date:   Mon May 4 16:59:25 2020 +0000

    Re #7940
    + heatmap animace - js kód
    + pause tlačítko - přidání stylu, změna

diff --git a/website/public/css/style.css b/website/public/css/style.css
index 8389270..7d2c265 100644
--- a/website/public/css/style.css
+++ b/website/public/css/style.css
@@ -1 +1 @@
-@import url(https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap);body,html{font-family:"Be Vietnam",sans-serif;color:#fff;position:relative;height:96.2%;background:#242c6b}@media (max-width:767.98px){body.intro,html.intro{height:auto}}header{height:70px;background:#0048a9}header .logo{width:450px;height:181px;position:absolute;top:70px;left:0;z-index:2;background:url(../img/header-bg.png)}@media (max-width:1400px){header .logo{display:none}}header .logo img{height:100px;position:relative;top:-50px;left:50px}header nav.navbar{height:70px;position:relative}header .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(255,255,255)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}@media (min-width:1401px){header .navbar-brand.shifted{position:absolute;top:0;left:450px}}@media (max-width:1199.98px){header .navbar-brand.shifted{left:20px}}@media (max-width:991.98px){header #navigation{width:100%;padding:20px;position:absolute;top:70px;left:0;z-index:1001;opacity:.9;background:#004fb3}}header .nav-item{margin-right:40px}@media (max-width:1480px){header .nav-item{margin-right:30px}}@media (max-width:1440px){header .nav-item{margin-right:15px}}@media (max-width:1199.98px){header .nav-item{margin-right:30px}}@media (max-width:991.98px){header .nav-item{margin-right:0}}header .nav-item .active{font-weight:800}header .nav-item.button .nav-link{padding-left:22px;padding-right:22px;border:1px solid #fff;border-radius:20px}header .nav-item.button .nav-link:hover{background:#004fb3}header .navbar-button{padding:.5rem 22px;margin-right:40px;border:1px solid #fff;border-radius:20px;text-decoration:none}@media (max-width:991.98px){header .navbar-button{display:none}}header .navbar-button:hover{background:#004fb3}header .btn-secondary{height:100%;font-size:16px;text-transform:uppercase;font-weight:800;letter-spacing:.4px;border-radius:0;border:#0048a9;background:#004fb3}header .btn-secondary:hover{background:#0048a9!important}@media (max-width:991.98px){header.map .navbar-nav{width:100%}}header.map form{display:-webkit-box;display:-ms-flexbox;display:flex}header.map label{margin:0 0 0 15px;font-size:16px;font-weight:800;letter-spacing:.4px}header.map .custom-select,header.map input{letter-spacing:.4px;color:#fff;border-color:#0048a9;background:#0048a9}header.map .custom-select:hover,header.map input:hover{background:#004fb3}header.map .nav-item{margin:0;border-right:1px solid #1c6cc0}@media (max-width:991.98px){header.map .nav-item{margin-bottom:20px;border:0}}header.map .nav-item:nth-of-type(1){margin-left:100px}@media (max-width:1199.98px){header.map .nav-item:nth-of-type(1){margin-left:0}}header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){width:300px}@media (max-width:1500px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){width:280px}}@media (max-width:1400px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){width:230px}}@media (max-width:1400px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){max-width:230px;width:auto}}@media (max-width:991.98px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){max-width:none}}header.map .nav-item:last-of-type{display:none;border:0}@media (max-width:991.98px){header.map .nav-item:last-of-type{display:block;width:100%;margin:30px 10px 0 0}header.map .nav-item:last-of-type h2{width:100%}}@media (max-width:991.98px){header.map .nav-item .btn{width:100%}}h1{text-transform:uppercase;font-size:21px;font-weight:700;letter-spacing:.53px}@media (min-width:992px){h1{line-height:55px}}h2{font-size:16px;font-weight:400;letter-spacing:.4px}@media (min-width:992px){h2{margin:0}}h3{font-size:38px;font-weight:800;letter-spacing:.95px}@media (max-width:575.98px){h3{font-size:28px}}a{color:#fff;outline:0}a:hover{color:#fff}hr{width:300px;text-align:left;margin:30px 0;border-top:2px solid #fff}@media (max-width:1199.98px){hr{width:90%}}@media (max-width:575.98px){hr{margin:15px 0}}.swiper-container{height:100%;position:relative}.swiper-slide{z-index:-1000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swiper-slide.slide-bg-1{background:url(../img/bg-1.jpg) no-repeat bottom center;background-size:cover}.swiper-slide.slide-bg-2{background:url(../img/bg-2.jpg) no-repeat bottom center;background-size:cover}.swiper-slide.slide-bg-3{background:url(../img/bg-3.jpg) no-repeat bottom center;background-size:cover}.swiper-slide.slide-bg-3 .slide-text{width:750px}@media (max-width:1199.98px){.swiper-slide.slide-bg-3 .slide-text{width:100%}}.slide-text{width:600px;padding-bottom:160px;position:relative}@media (max-width:1199.98px){.slide-text{width:100%}}@media (max-width:1199.98px){.slide-text{padding-bottom:80px}}.slide-text .slide-index{display:inline-block;padding-bottom:20px;font-size:72px;font-weight:800}@media (max-width:575.98px){.slide-text .slide-index{padding-bottom:10px;font-size:48px}}.slide-text .btn-primary:after{content:"";display:inline-block;width:10px;height:16px;position:absolute;top:16px;right:20px;background:url(../img/btn-play.svg) no-repeat top right}.slide-text p{font-size:18px;font-weight:600}@media (max-width:575.98px){.slide-text p{font-size:16px}}.swiper-pagination-buttons{width:200px;height:56px;padding:6px;position:absolute;right:150px;bottom:20px;z-index:1;border-radius:100px;background:#0b155a}@media (max-width:1199.98px){.swiper-pagination-buttons{right:20px}}@media (max-width:767.98px){.swiper-pagination-buttons{width:120px}}.swiper-pagination-buttons .btn-next,.swiper-pagination-buttons .btn-prev{display:inline-block;width:45px;height:45px;position:relative;border-radius:50%;border:2px solid #fff}.swiper-pagination-buttons .btn-next:after,.swiper-pagination-buttons .btn-prev:after{content:"";display:inline-block;width:7px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.swiper-pagination-buttons .btn-prev:after{background:url(../img/btn-prev.svg) no-repeat top right}.swiper-pagination-buttons .btn-next{float:right}.swiper-pagination-buttons .btn-next:after{background:url(../img/btn-next.svg) no-repeat top right}.swiper-pagination-bullets{display:inline-block;width:auto!important;height:30px;position:absolute;left:20px!important;bottom:30px!important;border-radius:100px;opacity:.8;background:#0b155a}@media (min-width:992px){.swiper-pagination-bullets{left:50%!important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}}@media (max-width:575.98px){.swiper-pagination-bullets{display:none}}.swiper-pagination-bullets:before{content:"";width:100px;position:absolute;top:13px;left:15px;z-index:1;border-top:2px solid #fff}.swiper-pagination-bullets .swiper-pagination-bullet{width:20px;height:20px;position:relative;margin:4px 15px!important;opacity:1;border:2px solid #0b155a;background:#0b155a}.swiper-pagination-bullets .swiper-pagination-bullet:before{content:"";display:inline-block;width:6px;height:6px;position:absolute;top:5px;left:5px;border-radius:50%;background:#fff}.swiper-pagination-bullets .swiper-pagination-bullet:first-of-type{margin-left:5px!important}.swiper-pagination-bullets .swiper-pagination-bullet:last-of-type{margin-right:5px!important}.swiper-pagination-bullets .swiper-pagination-bullet-active{border:2px solid #fff}.btn-primary{width:300px;height:50px;line-height:32px;position:relative;padding-left:30px;margin-top:40px;text-align:left;font-size:16px;text-transform:uppercase;letter-spacing:.4px;border-radius:30px;border:1px solid #0b155a;background:#0b155a}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{border:1px solid #0048a9;background:#0048a9!important}@media (max-width:575.98px){.btn-primary{width:100%;max-width:270px;height:auto;margin-top:20px}}.btn-secondary{background:#0b155a}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background:#7378a0!important}.map-point{width:50px;height:50px;z-index:1;position:absolute;border-radius:50%;cursor:pointer;border:2px solid #fff}@media (max-width:767.98px){.map-point{display:none}}.map-point:before{content:"";display:inline-block;width:16px;height:16px;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);background:url(../img/map-point-plus.svg) no-repeat}.map-point:hover:before{z-index:1;top:calc(50% - 1px);background:url(../img/map-point-minus.svg) no-repeat}.map-point:hover .desc{display:block;width:210px;padding:10px 20px;z-index:0;opacity:.75;border-radius:25px 0 25px 0;background:#0b155a}.map-point .desc{display:none}.map-point p{font-size:14px;font-weight:400}.map-point p:last-of-type{margin-bottom:10px}.map-point strong{display:inline-block;width:100%;padding:0 0 20px 40px;font-size:16px}.map-point .circle{width:50px;height:50px;position:absolute;top:-2px;left:-2px;border-radius:50%;border:2px solid #fff}.map-point.point-1{bottom:12%;right:-75%}.map-point.point-2{top:21%;right:-92%}.map-point.point-3{top:22%;right:-92%}#heatmap{height:100%}.map-locations{position:absolute;top:105px;right:50px;z-index:1000;border-radius:22px;background-color:rgba(11,21,90,.7)}@media (max-width:991.98px){.map-locations{top:90px;right:20px}}.map-locations .menu{display:inline-block;position:relative;padding:10px 60px 13px 16px;text-decoration:none;border-radius:50px;opacity:1;background:#0b155a}@media (max-width:575.98px){.map-locations .menu{min-width:280px;width:100%;padding-bottom:16px;font-size:14px}}.map-locations .menu .circle{display:inline-block;width:40px;height:40px;position:absolute;top:3px;right:3px;border-radius:50%;border:2px solid #fff}.map-locations .menu .circle:after{content:"";display:inline-block;width:16px;height:16px;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);background:url(../img/map-point-plus.svg) no-repeat}.map-locations .locations{z-index:1000}.map-locations .locations ul{margin-top:10px;padding-left:36px;padding-right:20px;font-size:15px;list-style-image:url(../img/li-bullet.svg)}@media (max-width:575.98px){.map-locations .locations ul{font-size:13.5px}}.map-locations .locations li{margin-bottom:10px;cursor:pointer}.player{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);bottom:-40px;z-index:1000}@media (max-width:575.98px){.player{bottom:-30px}}.player .next,.player .play,.player .prev{display:inline-block;width:42px;height:42px;margin-right:20px;position:relative;border-radius:50%;opacity:.7;border:2px solid #fff;-webkit-box-shadow:0 0 0 4px #0b155a;box-shadow:0 0 0 4px #0b155a;background:#0b155a;cursor:pointer}.player .next:hover,.player .play:hover,.player .prev:hover{opacity:1}.player .next:after,.player .play:after,.player .prev:after{content:"";display:inline-block;width:7px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.player .play{width:57px;height:57px;opacity:1}.player .play:hover{opacity:.7}.player .play:after{width:10px;height:16px;top:calc(50% - 8px);left:calc(50% - 2px);background:url(../img/btn-play.svg) no-repeat top right}.player .next:after{background:url(../img/btn-next.svg) no-repeat top right}.player .prev:after{background:url(../img/btn-prev.svg) no-repeat top right}.player .timeline{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;position:relative;padding:0 10px;border-radius:100px;background-color:rgba(11,21,90,.7)}@media (max-width:991.98px){.player .timeline{padding:0}}@media (max-width:991.98px){.player .timeline .hour{display:none}}.player .timeline .hour:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}.player .timeline .hour:after{content:"";display:inline-block;position:relative;top:-2px;width:20px;height:2px;background:#fff}.player .timeline .end-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}@media (max-width:991.98px){.player .timeline .end-dot:before{display:none}}.player .time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:64px;font-size:15px;padding:3px 0 4px 0;z-index:1000;border-radius:15px;background:#0b155a}@media (min-width:992px){.player .time{position:absolute}.player .time.hour-0{left:0}.player .time.hour-1{left:25px}.player .time.hour-2{left:50px}.player .time.hour-3{left:75px}.player .time.hour-4{left:100px}.player .time.hour-5{left:125px}.player .time.hour-6{left:150px}.player .time.hour-7{left:175px}.player .time.hour-8{left:200px}.player .time.hour-9{left:225px}.player .time.hour-10{left:250px}.player .time.hour-11{left:275px}.player .time.hour-12{left:300px}.player .time.hour-13{left:325px}.player .time.hour-14{left:350px}.player .time.hour-15{left:375px}.player .time.hour-16{left:400px}.player .time.hour-17{left:425px}.player .time.hour-18{left:450px}.player .time.hour-19{left:475px}.player .time.hour-20{left:500px}.player .time.hour-21{left:525px}.player .time.hour-22{left:550px}.player .time.hour-23{left:585px}}.slide-background{width:650px;height:290px;z-index:1;position:absolute;bottom:0;left:0;background:url(../img/footer-bg.svg) no-repeat}@media (max-width:575.98px){.slide-background{width:320px;height:143px;background-size:100%}}.logos-partners{margin-top:40px}.logos-partners a{text-decoration:none}.logos-partners a img{margin-left:50px;height:80px}@media only screen and (max-width:430px){.logos-partners a img{height:70px;margin-left:0}}@media only screen and (max-width:340px){.logos-partners a img{height:60px}}.logos-partners a:first-of-type img{margin-left:0}
\ No newline at end of file
+@import url(https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap);body,html{font-family:"Be Vietnam",sans-serif;color:#fff;position:relative;height:96.2%;background:#242c6b}@media (max-width:767.98px){body.intro,html.intro{height:auto}}header{height:70px;background:#0048a9}header .logo{width:450px;height:181px;position:absolute;top:70px;left:0;z-index:2;background:url(../img/header-bg.png)}@media (max-width:1400px){header .logo{display:none}}header .logo img{height:100px;position:relative;top:-50px;left:50px}header nav.navbar{height:70px;position:relative}header .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(255,255,255)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}@media (min-width:1401px){header .navbar-brand.shifted{position:absolute;top:0;left:450px}}@media (max-width:1199.98px){header .navbar-brand.shifted{left:20px}}@media (max-width:991.98px){header #navigation{width:100%;padding:20px;position:absolute;top:70px;left:0;z-index:1001;opacity:.9;background:#004fb3}}header .nav-item{margin-right:40px}@media (max-width:1480px){header .nav-item{margin-right:30px}}@media (max-width:1440px){header .nav-item{margin-right:15px}}@media (max-width:1199.98px){header .nav-item{margin-right:30px}}@media (max-width:991.98px){header .nav-item{margin-right:0}}header .nav-item .active{font-weight:800}header .nav-item.button .nav-link{padding-left:22px;padding-right:22px;border:1px solid #fff;border-radius:20px}header .nav-item.button .nav-link:hover{background:#004fb3}header .navbar-button{padding:.5rem 22px;margin-right:40px;border:1px solid #fff;border-radius:20px;text-decoration:none}@media (max-width:991.98px){header .navbar-button{display:none}}header .navbar-button:hover{background:#004fb3}header .btn-secondary{height:100%;font-size:16px;text-transform:uppercase;font-weight:800;letter-spacing:.4px;border-radius:0;border:#0048a9;background:#004fb3}header .btn-secondary:hover{background:#0048a9!important}@media (max-width:991.98px){header.map .navbar-nav{width:100%}}header.map form{display:-webkit-box;display:-ms-flexbox;display:flex}header.map label{margin:0 0 0 15px;font-size:16px;font-weight:800;letter-spacing:.4px}header.map .custom-select,header.map input{letter-spacing:.4px;color:#fff;border-color:#0048a9;background:#0048a9}header.map .custom-select:hover,header.map input:hover{background:#004fb3}header.map .nav-item{margin:0;border-right:1px solid #1c6cc0}@media (max-width:991.98px){header.map .nav-item{margin-bottom:20px;border:0}}header.map .nav-item:nth-of-type(1){margin-left:100px}@media (max-width:1199.98px){header.map .nav-item:nth-of-type(1){margin-left:0}}header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){width:300px}@media (max-width:1500px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){width:280px}}@media (max-width:1400px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){width:230px}}@media (max-width:1400px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){max-width:230px;width:auto}}@media (max-width:991.98px){header.map .nav-item:nth-of-type(1),header.map .nav-item:nth-of-type(2),header.map .nav-item:nth-of-type(3){max-width:none}}header.map .nav-item:last-of-type{display:none;border:0}@media (max-width:991.98px){header.map .nav-item:last-of-type{display:block;width:100%;margin:30px 10px 0 0}header.map .nav-item:last-of-type h2{width:100%}}@media (max-width:991.98px){header.map .nav-item .btn{width:100%}}h1{text-transform:uppercase;font-size:21px;font-weight:700;letter-spacing:.53px}@media (min-width:992px){h1{line-height:55px}}h2{font-size:16px;font-weight:400;letter-spacing:.4px}@media (min-width:992px){h2{margin:0}}h3{font-size:38px;font-weight:800;letter-spacing:.95px}@media (max-width:575.98px){h3{font-size:28px}}a{color:#fff;outline:0}a:hover{color:#fff}hr{width:300px;text-align:left;margin:30px 0;border-top:2px solid #fff}@media (max-width:1199.98px){hr{width:90%}}@media (max-width:575.98px){hr{margin:15px 0}}.swiper-container{height:100%;position:relative}.swiper-slide{z-index:-1000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swiper-slide.slide-bg-1{background:url(../img/bg-1.jpg) no-repeat bottom center;background-size:cover}.swiper-slide.slide-bg-2{background:url(../img/bg-2.jpg) no-repeat bottom center;background-size:cover}.swiper-slide.slide-bg-3{background:url(../img/bg-3.jpg) no-repeat bottom center;background-size:cover}.swiper-slide.slide-bg-3 .slide-text{width:750px}@media (max-width:1199.98px){.swiper-slide.slide-bg-3 .slide-text{width:100%}}.slide-text{width:600px;padding-bottom:160px;position:relative}@media (max-width:1199.98px){.slide-text{width:100%}}@media (max-width:1199.98px){.slide-text{padding-bottom:80px}}.slide-text .slide-index{display:inline-block;padding-bottom:20px;font-size:72px;font-weight:800}@media (max-width:575.98px){.slide-text .slide-index{padding-bottom:10px;font-size:48px}}.slide-text .btn-primary:after{content:"";display:inline-block;width:10px;height:16px;position:absolute;top:16px;right:20px;background:url(../img/btn-play.svg) no-repeat top right}.slide-text p{font-size:18px;font-weight:600}@media (max-width:575.98px){.slide-text p{font-size:16px}}.swiper-pagination-buttons{width:200px;height:56px;padding:6px;position:absolute;right:150px;bottom:20px;z-index:1;border-radius:100px;background:#0b155a}@media (max-width:1199.98px){.swiper-pagination-buttons{right:20px}}@media (max-width:767.98px){.swiper-pagination-buttons{width:120px}}.swiper-pagination-buttons .btn-next,.swiper-pagination-buttons .btn-prev{display:inline-block;width:45px;height:45px;position:relative;border-radius:50%;border:2px solid #fff}.swiper-pagination-buttons .btn-next:after,.swiper-pagination-buttons .btn-prev:after{content:"";display:inline-block;width:7px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.swiper-pagination-buttons .btn-prev:after{background:url(../img/btn-prev.svg) no-repeat top right}.swiper-pagination-buttons .btn-next{float:right}.swiper-pagination-buttons .btn-next:after{background:url(../img/btn-next.svg) no-repeat top right}.swiper-pagination-bullets{display:inline-block;width:auto!important;height:30px;position:absolute;left:20px!important;bottom:30px!important;border-radius:100px;opacity:.8;background:#0b155a}@media (min-width:992px){.swiper-pagination-bullets{left:50%!important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}}@media (max-width:575.98px){.swiper-pagination-bullets{display:none}}.swiper-pagination-bullets:before{content:"";width:100px;position:absolute;top:13px;left:15px;z-index:1;border-top:2px solid #fff}.swiper-pagination-bullets .swiper-pagination-bullet{width:20px;height:20px;position:relative;margin:4px 15px!important;opacity:1;border:2px solid #0b155a;background:#0b155a}.swiper-pagination-bullets .swiper-pagination-bullet:before{content:"";display:inline-block;width:6px;height:6px;position:absolute;top:5px;left:5px;border-radius:50%;background:#fff}.swiper-pagination-bullets .swiper-pagination-bullet:first-of-type{margin-left:5px!important}.swiper-pagination-bullets .swiper-pagination-bullet:last-of-type{margin-right:5px!important}.swiper-pagination-bullets .swiper-pagination-bullet-active{border:2px solid #fff}.btn-primary{width:300px;height:50px;line-height:32px;position:relative;padding-left:30px;margin-top:40px;text-align:left;font-size:16px;text-transform:uppercase;letter-spacing:.4px;border-radius:30px;border:1px solid #0b155a;background:#0b155a}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{border:1px solid #0048a9;background:#0048a9!important}@media (max-width:575.98px){.btn-primary{width:100%;max-width:270px;height:auto;margin-top:20px}}.btn-secondary{background:#0b155a}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background:#7378a0!important}.map-point{width:50px;height:50px;z-index:1;position:absolute;border-radius:50%;cursor:pointer;border:2px solid #fff}@media (max-width:767.98px){.map-point{display:none}}.map-point:before{content:"";display:inline-block;width:16px;height:16px;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);background:url(../img/map-point-plus.svg) no-repeat}.map-point:hover:before{z-index:1;top:calc(50% - 1px);background:url(../img/map-point-minus.svg) no-repeat}.map-point:hover .desc{display:block;width:210px;padding:10px 20px;z-index:0;opacity:.75;border-radius:25px 0 25px 0;background:#0b155a}.map-point .desc{display:none}.map-point p{font-size:14px;font-weight:400}.map-point p:last-of-type{margin-bottom:10px}.map-point strong{display:inline-block;width:100%;padding:0 0 20px 40px;font-size:16px}.map-point .circle{width:50px;height:50px;position:absolute;top:-2px;left:-2px;border-radius:50%;border:2px solid #fff}.map-point.point-1{bottom:12%;right:-75%}.map-point.point-2{top:21%;right:-92%}.map-point.point-3{top:22%;right:-92%}#heatmap{height:100%}.map-locations{position:absolute;top:105px;right:50px;z-index:1000;border-radius:22px;background-color:rgba(11,21,90,.7)}@media (max-width:991.98px){.map-locations{top:90px;right:20px}}.map-locations .menu{display:inline-block;position:relative;padding:10px 60px 13px 16px;text-decoration:none;border-radius:50px;opacity:1;background:#0b155a}@media (max-width:575.98px){.map-locations .menu{min-width:280px;width:100%;padding-bottom:16px;font-size:14px}}.map-locations .menu .circle{display:inline-block;width:40px;height:40px;position:absolute;top:3px;right:3px;border-radius:50%;border:2px solid #fff}.map-locations .menu .circle:after{content:"";display:inline-block;width:16px;height:16px;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);background:url(../img/map-point-plus.svg) no-repeat}.map-locations .locations{z-index:1000}.map-locations .locations ul{margin-top:10px;padding-left:36px;padding-right:20px;font-size:15px;list-style-image:url(../img/li-bullet.svg)}@media (max-width:575.98px){.map-locations .locations ul{font-size:13.5px}}.map-locations .locations li{margin-bottom:10px;cursor:pointer}.player{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);bottom:-40px;z-index:1000}@media (max-width:575.98px){.player{bottom:-30px}}.player .next,.player .pause,.player .play,.player .prev{display:inline-block;width:42px;height:42px;margin-right:20px;position:relative;border-radius:50%;opacity:.7;border:2px solid #fff;-webkit-box-shadow:0 0 0 4px #0b155a;box-shadow:0 0 0 4px #0b155a;background:#0b155a;cursor:pointer}.player .next:hover,.player .pause,.player .play:hover,.player .prev:hover{opacity:1}.player .next:after,.player .pause:after,.player .play:after,.player .prev:after{content:"";display:inline-block;width:7px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.player .pause,.player .play{width:57px;height:57px;opacity:1},.player .play:hover .player .pause:hover{opacity:.7}.player .pause:after,.player .play:after{width:10px;height:16px;top:calc(50% - 8px);left:calc(50% - 2px);background:url(../img/btn-play.svg) no-repeat top right}.player .pause:after{left:calc(50% - 5px);background:url(../img/btn-pause.png) no-repeat top right}.player .next:after{background:url(../img/btn-next.svg) no-repeat top right}.player .prev:after{background:url(../img/btn-prev.svg) no-repeat top right}.player .timeline{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;position:relative;padding:0 10px;border-radius:100px;background-color:rgba(11,21,90,.7)}@media (max-width:991.98px){.player .timeline{padding:0}}@media (max-width:991.98px){.player .timeline .hour{display:none}}.player .timeline .hour:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}.player .timeline .hour:after{content:"";display:inline-block;position:relative;top:-2px;width:20px;height:2px;background:#fff}.player .timeline .end-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}@media (max-width:991.98px){.player .timeline .end-dot:before{display:none}}.player .time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:64px;font-size:15px;padding:3px 0 4px 0;z-index:1000;border-radius:15px;background:#0b155a}@media (min-width:992px){.player .time{position:absolute}.player .time.hour-0{left:0}.player .time.hour-1{left:25px}.player .time.hour-2{left:50px}.player .time.hour-3{left:75px}.player .time.hour-4{left:100px}.player .time.hour-5{left:125px}.player .time.hour-6{left:150px}.player .time.hour-7{left:175px}.player .time.hour-8{left:200px}.player .time.hour-9{left:225px}.player .time.hour-10{left:250px}.player .time.hour-11{left:275px}.player .time.hour-12{left:300px}.player .time.hour-13{left:325px}.player .time.hour-14{left:350px}.player .time.hour-15{left:375px}.player .time.hour-16{left:400px}.player .time.hour-17{left:425px}.player .time.hour-18{left:450px}.player .time.hour-19{left:475px}.player .time.hour-20{left:500px}.player .time.hour-21{left:525px}.player .time.hour-22{left:550px}.player .time.hour-23{left:585px}}.slide-background{width:650px;height:290px;z-index:1;position:absolute;bottom:0;left:0;background:url(../img/footer-bg.svg) no-repeat}@media (max-width:575.98px){.slide-background{width:320px;height:143px;background-size:100%}}.logos-partners{margin-top:40px}.logos-partners a{text-decoration:none}.logos-partners a img{margin-left:50px;height:80px}@media only screen and (max-width:430px){.logos-partners a img{height:70px;margin-left:0}}@media only screen and (max-width:340px){.logos-partners a img{height:60px}}.logos-partners a:first-of-type img{margin-left:0}
\ No newline at end of file
diff --git a/website/public/css/style.scss b/website/public/css/style.scss
index 593a140..a15ae1c 100755
--- a/website/public/css/style.scss
+++ b/website/public/css/style.scss
@@ -718,7 +718,7 @@ hr {
     bottom: -30px;
   }
 
-  .next, .prev, .play {
+  .next, .prev, .play, .pause {
     display: inline-block;
     width: 42px;
     height: 42px;
@@ -746,7 +746,7 @@ hr {
     }
   }
 
-  .play {
+  .play, .pause {
     width: 57px;
     height: 57px;
     opacity: 1;
@@ -764,6 +764,13 @@ hr {
     }
   }
 
+  .pause {
+    &:after {
+      left: calc(50% - 5px);
+      background: url($images-dir + 'btn-pause.png') no-repeat top right;
+    }
+  }
+
   .next:after {
     background: url($images-dir + 'btn-next.svg') no-repeat top right;
   }
diff --git a/website/public/img/btn-pause.png b/website/public/img/btn-pause.png
new file mode 100644
index 0000000..7027ca5
Binary files /dev/null and b/website/public/img/btn-pause.png differ
diff --git a/website/public/js/zcu-heatmap.js b/website/public/js/zcu-heatmap.js
index ba7abcc..991f8f3 100644
--- a/website/public/js/zcu-heatmap.js
+++ b/website/public/js/zcu-heatmap.js
@@ -5,7 +5,15 @@ var startX = 49.7248;
 var startY = 13.3521;
 var startZoom = 17;
 
-var currentTime = 0;
+var dataSourceRoute;
+var currentTime;
+var name;
+var date;
+
+var timer;
+var isAnimationRunning = false;
+var data = [];
+
 
 
 function initMap() {
@@ -22,69 +30,101 @@ function setMapView(latitude = startX, longitude = startY, zoom = startZoom) {
   mymap.setView([latitude, longitude], zoom);
 }
 
-
-function changeTime(direction, max = 0) {
-  let time = document.getElementById('time');
-
-  if (direction === 'next') {
-    currentTime += 1;
-
-    if (currentTime > 23) {
-      currentTime = 0;
-    }
+function changeAnimationState() {
+
+  isAnimationRunning = !isAnimationRunning
+  if (isAnimationRunning) {
+    $('#play-pause').attr('class', 'pause');
+    timer = setInterval(
+      function() {
+        next();
+      },
+      800
+    );
   }
-  else if (direction === 'prev') {
-    currentTime -= 1;
-
-    if (currentTime < 0) {
-      currentTime = 23;
-    }
+  else {
+    clearTimeout(timer);
+    $('#play-pause').attr('class', 'play');
   }
 
-  time.textContent = currentTime + ":00";
-  time.className = 'time hour-' + currentTime;
+
 }
 
+function previous() {
+  currentTime = (currentTime + 23) % 24;
+  drawHeatmap(data[currentTime]);
+  setTimeline();
+}
+
+function next() {
+  currentTime = (currentTime + 1) % 24;
+  drawHeatmap(data[currentTime]);
+  setTimeline();
+}
 
-function animateTimeline() {
-  setTimeout(
-    function () {
-      if (currentTime < 23) {
-        animateTimeline();
-        changeTime('next');
-      }
-      else {
-        changeTime('next');
-      }
-    }, 400);
+function setTimeline() {
+  $('#timeline').text(currentTime + ":00");
+  $('#timeline').attr('class', 'time hour-' + currentTime);
 }
 
-function showHeatmap(route) {
+function loadCurrentTimeHeatmap(route) {
 
-  var name = $('#type').children("option:selected").text();
+  dataSourceRoute = route;
+  data = []
+
+  name = $('#type').children("option:selected").text();
   var parts = $('#date').val().split('-');
-  var date = parts[2] + parts[1] + parts[0];
-  var time = $('#time').children("option:selected").val();
+  date = parts[2] + parts[1] + parts[0];
+  currentTime = parseInt($('#time').children("option:selected").val());
+  setTimeline();
 
   $.ajax({
     type: "POST",
-    url: route + '/' +  name + '/' + date + '/' + time,
+    url: dataSourceRoute + '/' +  name + '/' + date + '/' + currentTime,
     success: function(result) {
-      drawHeatmap(result);
+      data[currentTime] = result;
+      drawHeatmap(data[currentTime]);
     }
   });
+
+  preload(currentTime, 1);
+  preload(currentTime, -1);
+
+}
+
+function preload(time, change) {
+
+  var ntime = time + change; 
+  if (0 <=  ntime && ntime <= 23) {
+      $.ajax({
+        type: "POST",
+        url: dataSourceRoute + '/' +  name + '/' + date + '/' + ntime,
+        success: function(result) {
+          data[ntime] = result;
+          preload(ntime, change);
+        }
+      });
+  }
+
 }
 
 
 function drawHeatmap(points) {
 
   // Todo still switched
-  points = points.map(function (p) { return [p['y'], p['x'], p['number']]; });
-  if (heatmapLayer != null) {
-    mymap.removeLayer(heatmapLayer);
+  if (points != null) {
+    points = points.map(function (p) { return [p['x'], p['y'], p['number']]; });
+    if (heatmapLayer != null) {
+      mymap.removeLayer(heatmapLayer);
+    }
+    heatmapLayer = L.heatLayer(points).addTo(mymap);
   }
-  heatmapLayer = L.heatLayer(points, {opacity: 0.5}).addTo(mymap);
-  heatmapLayer.options = {opacity: 1};
+  else {
+    if (heatmapLayer != null) {
+      mymap.removeLayer(heatmapLayer);
+    }
+  }
+
   // var heat_01 = ...
   // on background map.addLayer(heat_01) -> map.removeLayer(heat_01);
   // $(.leaflet-heatmap-layer).css('opacity', 'value');
diff --git a/website/src/Controller/HeatmapController.php b/website/src/Controller/HeatmapController.php
index ab86103..05b353c 100644
--- a/website/src/Controller/HeatmapController.php
+++ b/website/src/Controller/HeatmapController.php
@@ -30,6 +30,7 @@ class HeatmapController extends AbstractController {
             'heatmap.html.twig',
             [
                 'form' => $form->createView(),
+                'submitted' => $form->isSubmitted(),
                 'data_to_display' => $dataSet,
             ]
         );
diff --git a/website/templates/heatmap.html.twig b/website/templates/heatmap.html.twig
index 2065e68..bba30de 100644
--- a/website/templates/heatmap.html.twig
+++ b/website/templates/heatmap.html.twig
@@ -117,12 +117,12 @@
   </div>
 
   <div class="player">
-    <div class="prev" onclick="changeTime('prev')"></div>
-    <div class="play" onclick="animateTimeline()"></div>
-    <div class="next" onclick="changeTime('next')"></div>
+    <div class="prev" onclick="previous()"></div>
+    <div class="play" id="play-pause" onclick="changeAnimationState()"></div>
+    <div class="next" onclick="next()"></div>
 
     <div class="timeline">
-      <div class="time hour-0" id="time">0:00</div>
+      <div class="time hour-0" id="timeline">0:00</div>
 
       <div class="hour"></div>
       <div class="hour"></div>
@@ -164,9 +164,9 @@
     <script src="{{ asset('js/leaflet-heat.js') }}"></script>
     <script src="{{ asset('js/zcu-heatmap.js') }}"></script>
     <script>
-       initMap();
-        {% if data_to_display is defined %}
-          showHeatmap("{{ path('opendata') }}");
+        initMap();
+        {% if submitted %}
+          loadCurrentTimeHeatmap("{{ path('opendata') }}");
         {% endif %}
     </script>
 
