commit 660f24a76801851e1e7f9d24a2f5cebbd2b50a4f
Author: Martin Sebela <msebela@zcu.cz>
Date:   Sat Dec 12 18:39:44 2020 +0100

    Re #8192 - configurable GUI (vars in SASS file)

diff --git a/website/public/css/style.css b/website/public/css/style.css
index dda3cca..243a6b3 100644
--- a/website/public/css/style.css
+++ b/website/public/css/style.css
@@ -1,3 +1,1349 @@
-@import url(https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap);
-html,body{position:relative;height:96.2%;font-family:'Be Vietnam', sans-serif;color:#fff;background:#0b155a}@media (max-width: 767.98px){html.intro,body.intro{height:calc(100% - 45px)}}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:.98;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}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:none}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{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.swiper-slide.slide-bg-1{background:url(img/bg-1.jpg) no-repeat top 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:100%}@media (max-width: 767.98px){.swiper-slide .container{max-width:100%;height:100%;overflow-y:scroll}}.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{z-index:1000}.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}}.slide-text p a{text-decoration:underline}.slide-text p a:hover{text-decoration:none}.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}}@media (max-width: 575.98px){.swiper-pagination-buttons{bottom:10px}}.swiper-pagination-buttons .btn-prev,.swiper-pagination-buttons .btn-next{display:inline-block;width:45px;height:45px;position:relative;border-radius:50%;border:2px solid #fff}.swiper-pagination-buttons .btn-prev:after,.swiper-pagination-buttons .btn-next: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:0.8;background:#0b155a}@media (min-width: 992px){.swiper-pagination-bullets{left:50% !important;-webkit-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:0.4px;border-radius:30px;border:1px solid #0b155a;background:#0b155a}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{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:hover,.btn-secondary:focus,.btn-secondary:active{background:#7378A0 !important}.map-point{width:50px;height:50px;z-index:1;position:absolute;border-radius:50%;cursor:pointer;border:2px solid #fff}@media not all and (min-width: 1900px) and (max-width: 2100px){.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:220px;padding:10px 20px;z-index:0;opacity:0.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{top:470px;right:32.2%}.map-point.point-2{top:688px;right:21.2%}.map-point.point-3{bottom:430px;right:20.8%}.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: 991.98px){.slide-background{width:320px;height:143px;background-size:100%}}div.copyright p{font-weight:400}div.copyright span{font-size:17px}p.logos-partners{margin-top:40px;text-align:right}p.logos-partners a{text-decoration:none}p.logos-partners a img{margin-left:50px;height:80px}@media only screen and (max-width: 430px){p.logos-partners a img{height:70px;margin-left:0}}@media only screen and (max-width: 340px){p.logos-partners a img{height:60px}}p.logos-partners a:first-of-type img{margin-left:0}#heatmap{height:100%}@media (max-width: 991.98px){header.map .navbar-nav{width:100%}}header.map form{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:auto}header.map label{margin:0 0 0 15px;font-size:16px;letter-spacing:.4px}header.map input{letter-spacing:.4px;color:#fff;border-color:#0048A9;background:#0048A9}header.map input::-webkit-input-placeholder{color:#fff;opacity:1}header.map input::-moz-placeholder{color:#fff;opacity:1}header.map input:-ms-input-placeholder{color:#fff;opacity:1}header.map input::-ms-input-placeholder{color:#fff;opacity:1}header.map input::placeholder{color:#fff;opacity:1}header.map .nav-item{padding:5px;margin:auto 0;border-right:1px solid #1C6CC0}@media (max-width: 991.98px){header.map .nav-item{margin-bottom:10px;border: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:nth-child(3){padding:0;margin:0;border:0}@media (max-width: 991.98px){header.map .nav-item:nth-child(3){padding:5px}}header.map .nav-item:nth-child(3) .dropdown{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}@media (max-width: 991.98px){header.map .nav-item:nth-child(3) .dropdown{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}header.map .nav-item:nth-child(3) .dropdown .dropdown-menu{top:calc(100% - 5px)}header.map .nav-item:nth-child(3) .dropdown button{padding-left:20px;border-radius:0}@media (max-width: 991.98px){header.map .nav-item:nth-child(3) .dropdown button{padding-left:12px;border-radius:5px}}header.map .nav-item:last-child{margin-top:0;margin-bottom:0;border-left:1px solid #1C6CC0;background:#0057be}@media (max-width: 991.98px){header.map .nav-item:last-child{margin:10px 5px 0 5px;border-radius:5px;border:0}}header.map .nav-item:last-child:hover{background:#004fb3}header.map .nav-item:last-child .btn-secondary{display:inline-block;outline:none;padding:0 30px;background:url(img/btn-refresh.svg) no-repeat center center}header.map .nav-item:last-child .btn-secondary:hover{background:url(img/btn-refresh.svg) no-repeat center center !important}@media (max-width: 991.98px){header.map .nav-item:last-child .btn-secondary{width:100%;padding:20px;border-radius:5px}}header.map .nav-item input:hover{background:rgba(255,255,255,0.2)}header.map .nav-item input:focus{background:#fff;color:#000}header.map .nav-item .dropdown{min-width:200px}header.map .nav-item .dropdown .btn{width:100%;text-align:left;letter-spacing:.4px;color:#fff;background:#0048A9}header.map .nav-item .dropdown .btn:hover{background:#336dba}header.map .nav-item .dropdown .dropdown-menu{width:100%;max-height:300px;overflow-y:auto;z-index:1001}header.map .nav-item .dropdown .dropdown-menu .dropdown-item:active{background:#0048A9}header.map .nav-item .dropdown .dropdown-menu .dropdown-item label{width:100% !important;margin-left:0;cursor:pointer}header.map .nav-item .dropdown #dropdown-time .dropdown-item:nth-of-type(even){background:rgba(0,0,0,0.05)}header.map .nav-item .dropdown #dropdown-time .dropdown-item:nth-of-type(even):active{background:#0048A9}header.map .nav-item .dropdown input[type="radio"]:checked ~ label{font-weight:800}.map-locations{position:absolute;top:95px;right:25px;z-index:1000;border-radius:22px;background-color:rgba(11,21,90,0.7)}.map-locations .mobile{display:none}@media (max-width: 991.98px){.map-locations{top:90px;right:20px}.map-locations .desktop{display:none}.map-locations .mobile{display:inline-block}}@media (max-width: 575.98px){.map-locations{max-width:240px;max-height:70%;top:80px;right:10px}}.map-locations .menu{width:100%;display:inline-block;position:relative;padding:10px 60px 13px 16px;text-decoration:none;border-radius:50px;opacity:1;background:#0b155a}.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{max-height:244px;overflow-y:scroll;font-size:13.5px}}.map-locations .locations li{margin-bottom:10px;cursor:pointer}.map-locations .locations li:hover{text-decoration:underline}.player{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-40px;z-index:1000}@media (max-width: 575.98px){.player{bottom:-30px}}.player .next-btn,.player .prev-btn,.player .animate-btn,.player .lock-btn{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}@media (max-width: 320px){.player .next-btn,.player .prev-btn,.player .animate-btn,.player .lock-btn{margin-right:15px}}.player .next-btn:hover,.player .prev-btn:hover,.player .animate-btn:hover,.player .lock-btn:hover{opacity:1}.player .next-btn:after,.player .prev-btn:after,.player .animate-btn:after,.player .lock-btn:after{content:"";display:inline-block;width:7px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.player .animate-btn{width:57px;height:57px;opacity:1}@media (max-width: 991.98px){.player .animate-btn{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}}.player .animate-btn:hover{opacity:.7}.player .animate-btn:after{width:10px;height:16px;top:calc(50% - 8px)}.player .animate-btn.play:after{left:calc(50% - 3px);background:url(img/btn-play.svg) no-repeat}.player .animate-btn.pause:after{left:calc(50% - 5px);background:url(img/btn-pause.png) no-repeat}@media (max-width: 991.98px){.player .next-btn{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}}@media (max-width: 575.98px){.player .next-btn{margin-right:0}}.player .next-btn:after{background:url(img/btn-next.svg) no-repeat}@media (max-width: 991.98px){.player .prev-btn{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}}.player .prev-btn:after{background:url(img/btn-prev.svg) no-repeat}.player .timeline-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}@media (max-width: 390px){.player .timeline-wrapper{display:block;text-align:center;margin-right:10px}}.player .date{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;font-size:15px;margin-right:10px;text-align:center;border-radius:15px;cursor:pointer;background:rgba(11,21,90,0.7)}@media (max-width: 390px){.player .date{margin-right:0}}.player .date:hover .lock-btn:after{background-position:0 0}.player .date.lock{background:#0b155a}.player .date.lock:hover .lock-btn:after{background-position:-8px 0}.player .date.lock .lock-btn{border:0;-webkit-box-shadow:none;box-shadow:none}.player .date.lock .lock-btn:after{background-position:0 0}.player .date span{padding:3px 6px 4px 12px}.player .date .lock-btn{width:26px;height:26px;margin-right:2px;opacity:1;border:1px solid #fff}.player .date .lock-btn:after{content:'';display:inline-block;width:8px;height:11px;background:url(img/btn-lock.svg) no-repeat -8px 0;background-size:cover}.player .date .lock-btn:hover:after{background-position:0 0}.player .timeline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:30px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;position:relative;border-radius:100px;background-color:rgba(11,21,90,0.7)}@media (max-width: 991.98px){.player .timeline{padding:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;margin-right:20px}}@media (max-width: 390px){.player .timeline{display:inline-block;margin:4px 0 0 0}}.player .timeline .hour{cursor:pointer}@media (max-width: 991.98px){.player .timeline .hour{display:none}}.player .timeline .hour:nth-of-type(2){margin-left:10px}.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;margin-right:10px;border-radius:50%;background:#fff}@media (max-width: 991.98px){.player .timeline .end-dot:before{display:none}}.player .time{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:64px;padding:3px 0 4px 0;z-index:1000;font-size:15px;border-radius:15px;cursor:ew-resize;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}}.player .time .custom-spinner-border{margin:3px 0 4px 0}.leaflet-popup-content-wrapper,.leaflet-popup-tip{font-family:'Be Vietnam', sans-serif;text-align:center;color:#fff}.leaflet-popup-content-wrapper strong,.leaflet-popup-tip strong{display:inline-block;margin-bottom:8px}.leaflet-popup-content-wrapper #place-intesity,.leaflet-popup-tip #place-intesity{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-family:monospace;font-size:24pt;font-weight:700}.leaflet-popup-content-wrapper #place-intesity #sum-number,.leaflet-popup-tip #place-intesity #sum-number{margin-left:5px;font-size:11pt}.leaflet-popup-content-wrapper .popup-pagination,.leaflet-popup-tip .popup-pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:1em 0 1em 0}.leaflet-popup-content-wrapper .popup-pagination button,.leaflet-popup-tip .popup-pagination button{height:32px;width:32px;border:0;border-radius:24px;background:url(img/btn-prev.svg) rgba(255,255,255,0.1) no-repeat center center;-webkit-transition:background 0.3s ease-out;transition:background 0.3s ease-out;outline:none !important}.leaflet-popup-content-wrapper .popup-pagination button:hover,.leaflet-popup-tip .popup-pagination button:hover{background:url(img/btn-prev.svg) rgba(125,125,125,0.1) no-repeat center center}.leaflet-popup-content-wrapper .popup-pagination button.next,.leaflet-popup-tip .popup-pagination button.next{background:url(img/btn-next.svg) rgba(255,255,255,0.1) no-repeat center center}.leaflet-popup-content-wrapper .popup-pagination button.next:hover,.leaflet-popup-tip .popup-pagination button.next:hover{background:url(img/btn-next.svg) rgba(125,125,125,0.1) no-repeat center center}.leaflet-popup-content-wrapper .popup-pagination p,.leaflet-popup-tip .popup-pagination p{margin:auto}
+@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap");
+html, body {
+  position: relative;
+  height: 96.2%;
+  font-family: 'Be Vietnam', sans-serif;
+  color: #ffffff;
+  background: #0b155a;
+}
 
+@media (max-width: 767.98px) {
+  html.intro, body.intro {
+    height: calc(100% - 45px);
+  }
+}
+
+a {
+  color: #ffffff;
+  outline: none;
+}
+
+a:hover {
+  color: #ffffff;
+}
+
+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;
+  }
+}
+
+hr {
+  width: 300px;
+  text-align: left;
+  margin: 30px 0;
+  border-top: 2px solid #ffffff;
+}
+
+@media (max-width: 1199.98px) {
+  hr {
+    width: 90%;
+  }
+}
+
+@media (max-width: 575.98px) {
+  hr {
+    margin: 15px 0;
+  }
+}
+
+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: .98;
+    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 #ffffff;
+  border-radius: 20px;
+}
+
+header .nav-item.button .nav-link:hover {
+  background: #004fb3;
+}
+
+header .navbar-button {
+  padding: .5rem 22px;
+  margin-right: 40px;
+  border: 1px solid #ffffff;
+  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;
+}
+
+.swiper-container {
+  height: 100%;
+  position: relative;
+}
+
+.swiper-container .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: 0.4px;
+  border-radius: 30px;
+  border: 1px solid #0b155a;
+  background: #0b155a;
+}
+
+.swiper-container .btn-primary:hover, .swiper-container .btn-primary:focus, .swiper-container .btn-primary:active {
+  border: 1px solid #0048A9;
+  background: #0048A9 !important;
+}
+
+@media (max-width: 575.98px) {
+  .swiper-container .btn-primary {
+    width: 100%;
+    max-width: 270px;
+    height: auto;
+    margin-top: 20px;
+  }
+}
+
+.swiper-container .btn-secondary {
+  background: #0b155a;
+}
+
+.swiper-container .btn-secondary:hover, .swiper-container .btn-secondary:focus, .swiper-container .btn-secondary:active {
+  background: rgba(255, 255, 255, 0.1) !important;
+}
+
+.swiper-slide {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.swiper-slide.slide-bg-1 {
+  background: url("../img/bg-1.jpg") no-repeat top 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: 100%;
+}
+
+@media (max-width: 767.98px) {
+  .swiper-slide .container {
+    max-width: 100%;
+    height: 100%;
+    overflow-y: scroll;
+  }
+}
+
+.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 {
+  z-index: 1000;
+}
+
+.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;
+  }
+}
+
+.slide-text p a {
+  text-decoration: underline;
+}
+
+.slide-text p a:hover {
+  text-decoration: none;
+}
+
+.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;
+  }
+}
+
+@media (max-width: 575.98px) {
+  .swiper-pagination-buttons {
+    bottom: 10px;
+  }
+}
+
+.swiper-pagination-buttons .btn-prev, .swiper-pagination-buttons .btn-next {
+  display: inline-block;
+  width: 45px;
+  height: 45px;
+  position: relative;
+  border-radius: 50%;
+  border: 2px solid #ffffff;
+}
+
+.swiper-pagination-buttons .btn-prev:after, .swiper-pagination-buttons .btn-next: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: 0.8;
+  background: #0b155a;
+}
+
+@media (min-width: 992px) {
+  .swiper-pagination-bullets {
+    left: 50% !important;
+    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 #ffffff;
+}
+
+.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: #ffffff;
+}
+
+.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 #ffffff;
+}
+
+.map-point {
+  width: 50px;
+  height: 50px;
+  z-index: 1;
+  position: absolute;
+  border-radius: 50%;
+  cursor: pointer;
+  border: 2px solid #ffffff;
+}
+
+@media not all and (min-width: 1900px) and (max-width: 2100px) {
+  .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: 220px;
+  padding: 10px 20px;
+  z-index: 0;
+  opacity: 0.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 #ffffff;
+}
+
+.map-point.point-1 {
+  top: 470px;
+  right: 32.2%;
+}
+
+.map-point.point-2 {
+  top: 688px;
+  right: 21.2%;
+}
+
+.map-point.point-3 {
+  bottom: 430px;
+  right: 20.8%;
+}
+
+.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: 991.98px) {
+  .slide-background {
+    width: 320px;
+    height: 143px;
+    background-size: 100%;
+  }
+}
+
+div.copyright p {
+  font-weight: 400;
+}
+
+div.copyright span {
+  font-size: 17px;
+}
+
+p.logos-partners {
+  margin-top: 40px;
+  text-align: right;
+}
+
+p.logos-partners a {
+  text-decoration: none;
+}
+
+p.logos-partners a img {
+  margin-left: 50px;
+  height: 80px;
+}
+
+@media only screen and (max-width: 430px) {
+  p.logos-partners a img {
+    height: 70px;
+    margin-left: 0;
+  }
+}
+
+@media only screen and (max-width: 340px) {
+  p.logos-partners a img {
+    height: 60px;
+  }
+}
+
+p.logos-partners a:first-of-type img {
+  margin-left: 0;
+}
+
+#heatmap {
+  height: 100%;
+}
+
+@media (max-width: 991.98px) {
+  header.map .navbar-nav {
+    width: 100%;
+  }
+}
+
+header.map form {
+  display: flex;
+  margin: auto;
+}
+
+header.map label {
+  margin: 0 0 0 15px;
+  font-size: 16px;
+  letter-spacing: .4px;
+}
+
+header.map input {
+  letter-spacing: .4px;
+  color: #ffffff;
+  border-color: #0048A9;
+  background: #0048A9;
+}
+
+header.map input::placeholder {
+  color: #ffffff;
+  opacity: 1;
+}
+
+header.map input:hover {
+  background: rgba(255, 255, 255, 0.1);
+}
+
+header.map input:focus {
+  background: #ffffff;
+  color: #000;
+}
+
+header.map .nav-item {
+  padding: 5px;
+  margin: auto 0;
+  border-right: 1px solid #1c6cc0;
+}
+
+@media (max-width: 991.98px) {
+  header.map .nav-item {
+    margin-bottom: 10px;
+    border: 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 .dropdown {
+  min-width: 200px;
+}
+
+header.map .nav-item .dropdown .btn {
+  width: 100%;
+  text-align: left;
+  letter-spacing: .4px;
+  color: #ffffff;
+  background: #0048A9;
+}
+
+header.map .nav-item .dropdown .btn:hover {
+  background: rgba(255, 255, 255, 0.1);
+}
+
+header.map .nav-item .dropdown .dropdown-menu {
+  width: 100%;
+  max-height: 300px;
+  overflow-y: auto;
+  z-index: 1001;
+}
+
+header.map .nav-item .dropdown .dropdown-menu .dropdown-item:active {
+  background: #0048A9;
+}
+
+header.map .nav-item .dropdown .dropdown-menu .dropdown-item label {
+  width: 100% !important;
+  margin-left: 0;
+  cursor: pointer;
+}
+
+header.map .nav-item .dropdown #dropdown-time .dropdown-item:nth-of-type(even) {
+  background: rgba(0, 0, 0, 0.05);
+}
+
+header.map .nav-item .dropdown #dropdown-time .dropdown-item:nth-of-type(even):active {
+  background: #0048A9;
+}
+
+header.map .nav-item .dropdown input[type="radio"]:checked ~ label {
+  font-weight: 800;
+}
+
+header.map .nav-item:nth-child(3) {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+@media (max-width: 991.98px) {
+  header.map .nav-item:nth-child(3) {
+    padding: 5px;
+  }
+}
+
+header.map .nav-item:nth-child(3) .dropdown {
+  display: flex;
+  height: 100%;
+}
+
+@media (max-width: 991.98px) {
+  header.map .nav-item:nth-child(3) .dropdown {
+    flex-direction: column;
+  }
+}
+
+header.map .nav-item:nth-child(3) .dropdown .dropdown-menu {
+  top: calc(100% - 5px);
+}
+
+header.map .nav-item:nth-child(3) .dropdown button {
+  padding-left: 20px;
+  border-radius: 0;
+}
+
+@media (max-width: 991.98px) {
+  header.map .nav-item:nth-child(3) .dropdown button {
+    padding-left: 12px;
+    border-radius: 5px;
+  }
+}
+
+header.map .nav-item:last-child {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-left: 1px solid #1c6cc0;
+  background: #0057be;
+}
+
+@media (max-width: 991.98px) {
+  header.map .nav-item:last-child {
+    margin: 10px 5px 0 5px;
+    border-radius: 5px;
+    border: 0;
+  }
+}
+
+header.map .nav-item:last-child:hover {
+  background: #004fb3;
+}
+
+header.map .nav-item:last-child .btn-secondary {
+  display: inline-block;
+  outline: none;
+  padding: 0 30px;
+  background: url("../img/btn-refresh.svg") no-repeat center center;
+}
+
+header.map .nav-item:last-child .btn-secondary:hover {
+  background: url("../img/btn-refresh.svg") no-repeat center center !important;
+}
+
+@media (max-width: 991.98px) {
+  header.map .nav-item:last-child .btn-secondary {
+    width: 100%;
+    padding: 20px;
+    border-radius: 5px;
+  }
+}
+
+.map-locations {
+  position: absolute;
+  top: 95px;
+  right: 25px;
+  z-index: 1000;
+  border-radius: 22px;
+  background-color: rgba(11, 21, 90, 0.7);
+}
+
+.map-locations .mobile {
+  display: none;
+}
+
+@media (max-width: 991.98px) {
+  .map-locations {
+    top: 90px;
+    right: 20px;
+  }
+  .map-locations .desktop {
+    display: none;
+  }
+  .map-locations .mobile {
+    display: inline-block;
+  }
+}
+
+@media (max-width: 575.98px) {
+  .map-locations {
+    max-width: 240px;
+    max-height: 70%;
+    top: 80px;
+    right: 10px;
+  }
+}
+
+.map-locations .menu {
+  width: 100%;
+  display: inline-block;
+  position: relative;
+  padding: 10px 60px 13px 16px;
+  text-decoration: none;
+  border-radius: 50px;
+  opacity: 1;
+  background: #0b155a;
+}
+
+.map-locations .menu .circle {
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  position: absolute;
+  top: 3px;
+  right: 3px;
+  border-radius: 50%;
+  border: 2px solid #ffffff;
+}
+
+.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 {
+    max-height: 244px;
+    overflow-y: scroll;
+    font-size: 13.5px;
+  }
+}
+
+.map-locations .locations li {
+  margin-bottom: 10px;
+  cursor: pointer;
+}
+
+.map-locations .locations li:hover {
+  text-decoration: underline;
+}
+
+.player {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  position: absolute;
+  left: 50%;
+  transform: translateX(-50%);
+  bottom: -40px;
+  z-index: 1000;
+}
+
+@media (max-width: 575.98px) {
+  .player {
+    bottom: -30px;
+  }
+}
+
+.player .next-btn, .player .prev-btn, .player .animate-btn, .player .lock-btn {
+  display: inline-block;
+  width: 42px;
+  height: 42px;
+  margin-right: 20px;
+  position: relative;
+  border-radius: 50%;
+  opacity: .7;
+  border: 2px solid #ffffff;
+  box-shadow: 0 0 0 4px #0b155a;
+  background: #0b155a;
+  cursor: pointer;
+}
+
+@media (max-width: 320px) {
+  .player .next-btn, .player .prev-btn, .player .animate-btn, .player .lock-btn {
+    margin-right: 15px;
+  }
+}
+
+.player .next-btn:hover, .player .prev-btn:hover, .player .animate-btn:hover, .player .lock-btn:hover {
+  opacity: 1;
+}
+
+.player .next-btn:after, .player .prev-btn:after, .player .animate-btn:after, .player .lock-btn:after {
+  content: "";
+  display: inline-block;
+  width: 7px;
+  height: 12px;
+  position: absolute;
+  top: calc(50% - 6px);
+  left: calc(50% - 4px);
+}
+
+.player .animate-btn {
+  width: 57px;
+  height: 57px;
+  opacity: 1;
+}
+
+@media (max-width: 991.98px) {
+  .player .animate-btn {
+    order: 3;
+  }
+}
+
+.player .animate-btn:hover {
+  opacity: .7;
+}
+
+.player .animate-btn:after {
+  width: 10px;
+  height: 16px;
+  top: calc(50% - 8px);
+}
+
+.player .animate-btn.play:after {
+  left: calc(50% - 3px);
+  background: url("../img/btn-play.svg") no-repeat;
+}
+
+.player .animate-btn.pause:after {
+  left: calc(50% - 5px);
+  background: url("../img/btn-pause.png") no-repeat;
+}
+
+@media (max-width: 991.98px) {
+  .player .next-btn {
+    order: 3;
+  }
+}
+
+@media (max-width: 575.98px) {
+  .player .next-btn {
+    margin-right: 0;
+  }
+}
+
+.player .next-btn:after {
+  background: url("../img/btn-next.svg") no-repeat;
+}
+
+@media (max-width: 991.98px) {
+  .player .prev-btn {
+    order: 2;
+  }
+}
+
+.player .prev-btn:after {
+  background: url("../img/btn-prev.svg") no-repeat;
+}
+
+.player .timeline-wrapper {
+  display: flex;
+}
+
+@media (max-width: 390px) {
+  .player .timeline-wrapper {
+    display: block;
+    text-align: center;
+    margin-right: 10px;
+  }
+}
+
+.player .date {
+  display: flex;
+  align-items: center;
+  align-content: center;
+  font-size: 15px;
+  margin-right: 10px;
+  text-align: center;
+  border-radius: 15px;
+  cursor: pointer;
+  background: rgba(11, 21, 90, 0.7);
+}
+
+@media (max-width: 390px) {
+  .player .date {
+    margin-right: 0;
+  }
+}
+
+.player .date:hover .lock-btn:after {
+  background-position: 0 0;
+}
+
+.player .date.lock {
+  background: #0b155a;
+}
+
+.player .date.lock:hover .lock-btn:after {
+  background-position: -8px 0;
+}
+
+.player .date.lock .lock-btn {
+  border: 0;
+  box-shadow: none;
+}
+
+.player .date.lock .lock-btn:after {
+  background-position: 0 0;
+}
+
+.player .date span {
+  padding: 3px 6px 4px 12px;
+}
+
+.player .date .lock-btn {
+  width: 26px;
+  height: 26px;
+  margin-right: 2px;
+  opacity: 1;
+  border: 1px solid #ffffff;
+}
+
+.player .date .lock-btn:after {
+  content: '';
+  display: inline-block;
+  width: 8px;
+  height: 11px;
+  background: url("../img/btn-lock.svg") no-repeat -8px 0;
+  background-size: cover;
+}
+
+.player .date .lock-btn:hover:after {
+  background-position: 0 0;
+}
+
+.player .timeline {
+  display: flex;
+  height: 30px;
+  flex-direction: row;
+  position: relative;
+  border-radius: 100px;
+  background-color: rgba(11, 21, 90, 0.7);
+}
+
+@media (max-width: 991.98px) {
+  .player .timeline {
+    padding: 0;
+    order: 1;
+    margin-right: 20px;
+  }
+}
+
+@media (max-width: 390px) {
+  .player .timeline {
+    display: inline-block;
+    margin: 4px 0 0 0;
+  }
+}
+
+.player .timeline .hour {
+  cursor: pointer;
+}
+
+@media (max-width: 991.98px) {
+  .player .timeline .hour {
+    display: none;
+  }
+}
+
+.player .timeline .hour:nth-of-type(2) {
+  margin-left: 10px;
+}
+
+.player .timeline .hour:before {
+  content: "";
+  display: inline-block;
+  width: 6px;
+  height: 6px;
+  border-radius: 50%;
+  background: #ffffff;
+}
+
+.player .timeline .hour:after {
+  content: "";
+  display: inline-block;
+  position: relative;
+  top: -2px;
+  width: 20px;
+  height: 2px;
+  background: #ffffff;
+}
+
+.player .timeline .end-dot:before {
+  content: "";
+  display: inline-block;
+  width: 6px;
+  height: 6px;
+  margin-right: 10px;
+  border-radius: 50%;
+  background: #ffffff;
+}
+
+@media (max-width: 991.98px) {
+  .player .timeline .end-dot:before {
+    display: none;
+  }
+}
+
+.player .time {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 64px;
+  padding: 3px 0 4px 0;
+  z-index: 1000;
+  font-size: 15px;
+  border-radius: 15px;
+  cursor: ew-resize;
+  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;
+  }
+}
+
+.player .time .custom-spinner-border {
+  margin: 3px 0 4px 0;
+}
+
+.leaflet-popup-content-wrapper, .leaflet-popup-tip {
+  font-family: 'Be Vietnam', sans-serif;
+  text-align: center;
+  color: #ffffff;
+}
+
+.leaflet-popup-content-wrapper strong, .leaflet-popup-tip strong {
+  display: inline-block;
+  margin-bottom: 8px;
+}
+
+.leaflet-popup-content-wrapper #place-intesity, .leaflet-popup-tip #place-intesity {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  font-family: monospace;
+  font-size: 24pt;
+  font-weight: 700;
+}
+
+.leaflet-popup-content-wrapper #place-intesity #sum-number, .leaflet-popup-tip #place-intesity #sum-number {
+  margin-left: 5px;
+  font-size: 11pt;
+}
+
+.leaflet-popup-content-wrapper .popup-pagination, .leaflet-popup-tip .popup-pagination {
+  display: flex;
+  margin: 1em 0 1em 0;
+}
+
+.leaflet-popup-content-wrapper .popup-pagination button, .leaflet-popup-tip .popup-pagination button {
+  height: 32px;
+  width: 32px;
+  border: 0;
+  border-radius: 24px;
+  background: url("../img/btn-prev.svg") rgba(255, 255, 255, 0.1) no-repeat center center;
+  transition: background 0.3s ease-out;
+  outline: none !important;
+}
+
+.leaflet-popup-content-wrapper .popup-pagination button:hover, .leaflet-popup-tip .popup-pagination button:hover {
+  background: url("../img/btn-prev.svg") rgba(125, 125, 125, 0.1) no-repeat center center;
+}
+
+.leaflet-popup-content-wrapper .popup-pagination button.next, .leaflet-popup-tip .popup-pagination button.next {
+  background: url("../img/btn-next.svg") rgba(255, 255, 255, 0.1) no-repeat center center;
+}
+
+.leaflet-popup-content-wrapper .popup-pagination button.next:hover, .leaflet-popup-tip .popup-pagination button.next:hover {
+  background: url("../img/btn-next.svg") rgba(125, 125, 125, 0.1) no-repeat center center;
+}
+
+.leaflet-popup-content-wrapper .popup-pagination p, .leaflet-popup-tip .popup-pagination p {
+  margin: auto;
+}
diff --git a/website/public/css/style.scss b/website/public/css/style.scss
index 51bc790..868b508 100755
--- a/website/public/css/style.scss
+++ b/website/public/css/style.scss
@@ -4,24 +4,48 @@
 
 @import url('https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap');
 
+
+
+// ---------------------------------------- COLORS SETTINGS ----------------------------------------
+
+// text color
+$text-color: #ffffff;
+
+// main page colors
 $primary-bg-color: #0048A9;
 $primary-bg-color-darker: #004fb3;
-$input-bg-hover: #336dba;
 $secondary-bg-color: #0b155a;
 
-$primary-text-color: #ffffff;
+// input elements background color on hover
+$input-bg-hover:rgba(255, 255, 255, .1);
 
-$heatmap-nav-border-color: #1C6CC0;
+// heatmap header background colors
+$heatmap-nav-border-color: #1c6cc0;
 $heatmap-nav-button-bg-color: #0057be;
 
+// heatmap controls (map locations, timeline) background colors
+$heatmap-controls-primary-bg: rgba(11, 21, 90, .7);
+$heatmap-controls-secondary-bg: rgba(11, 21, 90, 1);
+
+// heatmap popup buttons background colors
+$heatmap-popup-btn-bg: $input-bg-hover;
+$heatmap-popup-btn-hover-bg: rgba(125, 125, 125, .1);
+
+// heatmap drowdopn even items background color
+$dropdown-even-items-bg: rgba(0, 0, 0, .05);
+
+// images filepath directory
 $images-dir: '../img/';
 
 
+
+// ---------------------------------------- STYLE ----------------------------------------
+
 html, body {
   position: relative;
   height: 96.2%;
   font-family: 'Be Vietnam', sans-serif;
-  color: $primary-text-color;
+  color: $text-color;
   background: $secondary-bg-color;
 
   &.intro {
@@ -31,10 +55,75 @@ html, body {
   }
 }
 
+
+// LINKS
+a {
+  color: $text-color;
+  outline: none;
+
+  &:hover {
+    color: $text-color;
+  }
+}
+
+
+// HEADINGS
+h1 {
+  text-transform: uppercase;
+  font-size: 21px;
+  font-weight: 700;
+  letter-spacing: .53px;
+
+  @include media-breakpoint-up(lg) {
+    line-height: 55px;
+  }
+}
+
+h2 {
+  font-size: 16px;
+  font-weight: 400;
+  letter-spacing: .4px;
+
+  @include media-breakpoint-up(lg) {
+    margin: 0;
+  }
+}
+
+h3 {
+  font-size: 38px;
+  font-weight: 800;
+  letter-spacing: .95px;
+
+  @include media-breakpoint-down(xs) {
+    font-size: 28px;
+  }
+}
+
+
+// SEPARATOR
+hr {
+  width: 300px;
+  text-align: left;
+  margin: 30px 0;
+  border-top: 2px solid $text-color;
+
+  @include media-breakpoint-down(lg) {
+    width: 90%;
+  }
+
+  @include media-breakpoint-down(xs) {
+    margin: 15px 0;
+  }
+}
+
+
+// HEADER
 header {
   height: 70px;
   background: $primary-bg-color;
 
+
+  // HEADER - LOGO
   .logo {
     width: 450px;
     height: 181px;
@@ -117,7 +206,7 @@ header {
       .nav-link {
         padding-left: 22px;
         padding-right: 22px;
-        border: 1px solid $primary-text-color;
+        border: 1px solid $text-color;
         border-radius: 20px;
 
         &:hover {
@@ -130,7 +219,7 @@ header {
   .navbar-button {
     padding: .5rem 22px;
     margin-right: 40px;
-    border: 1px solid $primary-text-color;
+    border: 1px solid $text-color;
     border-radius: 20px;
     text-decoration: none;
 
@@ -159,67 +248,55 @@ header {
   }
 }
 
-h1 {
-  text-transform: uppercase;
-  font-size: 21px;
-  font-weight: 700;
-  letter-spacing: .53px;
-
-  @include media-breakpoint-up(lg) {
-    line-height: 55px;
-  }
-}
-
-h2 {
-  font-size: 16px;
-  font-weight: 400;
-  letter-spacing: .4px;
 
-  @include media-breakpoint-up(lg) {
-    margin: 0;
-  }
-}
 
-h3 {
-  font-size: 38px;
-  font-weight: 800;
-  letter-spacing: .95px;
+// ---------------------------------------- INTRO PAGE ----------------------------------------
 
-  @include media-breakpoint-down(xs) {
-    font-size: 28px;
-  }
-}
 
-a {
-  color: $primary-text-color;
-  outline: none;
-
-  &:hover {
-    color: $primary-text-color;
-  }
-}
-
-hr {
-  width: 300px;
-  text-align: left;
-  margin: 30px 0;
-  border-top: 2px solid $primary-text-color;
+// INTRO PAGE - SWIPER WRAPPER
+.swiper-container {
+  height: 100%;
+  position: relative;
 
-  @include media-breakpoint-down(lg) {
-    width: 90%;
+  .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: 0.4px;
+    border-radius: 30px;
+    border: 1px solid $secondary-bg-color;
+    background: $secondary-bg-color;
+  
+    &:hover, &:focus, &:active {
+      border: 1px solid $primary-bg-color;
+      background: $primary-bg-color !important;
+    }
+  
+    @include media-breakpoint-down(xs) {
+      width: 100%;
+      max-width: 270px;
+      height: auto;
+      margin-top: 20px;
+    }
   }
-
-  @include media-breakpoint-down(xs) {
-    margin: 15px 0;
+  
+  .btn-secondary {
+    background: $secondary-bg-color;
+  
+    &:hover, &:focus, &:active {
+      background: $input-bg-hover !important;
+    }
   }
 }
 
-.swiper-container {
-  height: 100%;
-  position: relative;
-}
 
-// OBRÁZKY VE SLIDECH NA ÚVODNÍ STRÁNCE
+// INTRO PAGE - SLIDES BACKGROUND IMAGES
 .swiper-slide {
   display: flex;
   justify-content: center;
@@ -253,7 +330,8 @@ hr {
   }
 }
 
-// TEXT VE SLIDU NA ÚVODNÍ STRÁNCE
+
+// INTRO PAGE - SLIDE TEXT
 .slide-text {
   width: 600px;
   padding-bottom: 160px;
@@ -312,7 +390,8 @@ hr {
   }
 }
 
-// STRÁNKOVÁNÍ (TLAČÍTKA) SLIDŮ
+
+// INTRO PAGE - SLIDES PAGINATION BUTTONS
 .swiper-pagination-buttons {
   width: 200px;
   height: 56px;
@@ -342,7 +421,7 @@ hr {
     height: 45px;
     position: relative;
     border-radius: 50%;
-    border: 2px solid $primary-text-color;
+    border: 2px solid $text-color;
 
     &:after {
       content: "";
@@ -368,7 +447,8 @@ hr {
   }
 }
 
-// STRÁNKOVÁNÍ (POZICE) SLIDŮ
+
+// INTRO PAGE - PAGINATION BULLETS
 .swiper-pagination-bullets {
   display: inline-block;
   width: auto !important;
@@ -396,7 +476,7 @@ hr {
     top: 13px;
     left: 15px;
     z-index: 1;
-    border-top: 2px solid $primary-text-color;
+    border-top: 2px solid $text-color;
   }
 
   .swiper-pagination-bullet {
@@ -417,7 +497,7 @@ hr {
       top: 5px;
       left: 5px;
       border-radius: 50%;
-      background: $primary-text-color;
+      background: $text-color;
     }
 
     &:first-of-type {
@@ -430,47 +510,12 @@ hr {
   }
 
   .swiper-pagination-bullet-active {
-    border: 2px solid $primary-text-color;
-  }
-}
-
-.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: 0.4px;
-  border-radius: 30px;
-  border: 1px solid $secondary-bg-color;
-  background: $secondary-bg-color;
-
-  &:hover, &:focus, &:active {
-    border: 1px solid $primary-bg-color;
-    background: $primary-bg-color !important;
-  }
-
-  @include media-breakpoint-down(xs) {
-    width: 100%;
-    max-width: 270px;
-    height: auto;
-    margin-top: 20px;
+    border: 2px solid $text-color;
   }
 }
 
-.btn-secondary {
-  background: $secondary-bg-color;
 
-  &:hover, &:focus, &:active {
-    background: #7378A0 !important;
-  }
-}
-
-// UKÁZKOVÉ BODY NA MAPĚ
+// INTRO PAGE - SAMPLE MAP POINTS
 .map-point {
   width: 50px;
   height: 50px;
@@ -478,7 +523,7 @@ hr {
   position: absolute;
   border-radius: 50%;
   cursor: pointer;
-  border: 2px solid $primary-text-color;
+  border: 2px solid $text-color;
 
   @media not all and (min-width: 1900px) and (max-width: 2100px) {
     display: none;
@@ -540,7 +585,7 @@ hr {
     top: -2px;
     left: -2px;
     border-radius: 50%;
-    border: 2px solid $primary-text-color;
+    border: 2px solid $text-color;
   }
 
   &.point-1 {
@@ -560,7 +605,7 @@ hr {
 }
 
 
-// DODATEČNÉ POZADÍ NA KAŽDÉM ZE SLIDŮ
+// INTRO PAGE - ADDITIONAL SLIDES BACKGROUND
 .slide-background {
   width: 650px;
   height: 290px;
@@ -578,7 +623,7 @@ hr {
 }
 
 
-// COPYRIGHT
+// INTRO PAGE - ABOUT - COPYRIGHT
 div.copyright {
   p {
     font-weight: 400;
@@ -590,7 +635,7 @@ div.copyright {
 }
 
 
-// LOGA V SEKCI "O PROJEKTU"
+// INTRO PAGE - ABOUT - PARTNERS LOGOS
 p.logos-partners {
   margin-top: 40px;
   text-align: right;
@@ -620,16 +665,16 @@ p.logos-partners {
 
 
 
-// ---------------------------------------- HEATMAPA ----------------------------------------
+// ---------------------------------------- HEATMAP PAGE ----------------------------------------
 
 
-// WRAPPER HEATMAPY
+// HEATMAP PAGE - WRAPPER
 #heatmap {
   height: 100%;
 }
 
 
-// HLAVIČKA (FORMULÁŘ) NA STRÁNCE S HEATMAPOU
+// HEATMAP PAGE - FORM IN HEADER
 header.map {
   @include media-breakpoint-down(md) {
     .navbar-nav {
@@ -650,17 +695,27 @@ header.map {
 
   input {
     letter-spacing: .4px;
-    color: $primary-text-color;
+    color: $text-color;
     border-color: $primary-bg-color;
     background: $primary-bg-color;
 
     &::placeholder {
-      color: $primary-text-color;
+      color: $text-color;
       opacity: 1;
     }
+
+    &:hover {
+      background: $input-bg-hover;
+    }
+
+    &:focus {
+      background: $text-color;
+      color: $black;
+    }
   }
 
-  // JEDNOTLIVÉ POLOŽKY FORMULÁŘE
+
+  // HEATMAP PAGE - FORM - ITEMS
   .nav-item {
     padding: 5px;
     margin: auto 0;
@@ -692,7 +747,57 @@ header.map {
       }
     }
 
-    // WRAPPER U VÝBĚRU DATOVÝCH SAD
+
+    // HEATMAP PAGE - FORM - DROPDOWNS (TIME, DATASETS)
+    .dropdown {
+      min-width: 200px;
+
+      .btn {
+        width: 100%;
+        text-align: left;
+        letter-spacing: .4px;
+        color: $text-color;
+        background: $primary-bg-color;
+
+        &:hover {
+          background: $input-bg-hover;
+        }
+      }
+
+      .dropdown-menu {
+        width: 100%;
+        max-height: 300px;
+        overflow-y: auto;
+        z-index: 1001;
+
+        .dropdown-item {
+          &:active {
+            background: $primary-bg-color;
+          }
+          
+          label {
+            width: 100% !important;
+            margin-left: 0;
+            cursor: pointer;
+          }
+        }
+      }
+
+      #dropdown-time .dropdown-item:nth-of-type(even) {
+        background: $dropdown-even-items-bg;
+
+        &:active {
+          background: $primary-bg-color;
+        }
+      }
+
+      input[type="radio"]:checked ~ label {
+        font-weight: 800;
+      }
+    }
+
+
+    // HEATMAP PAGE - FORM - DATASETS DROPDOWN
     &:nth-child(3) {
       padding: 0;
       margin: 0;
@@ -726,7 +831,8 @@ header.map {
       }
     }
 
-    // TLAČÍTKO PRO ODESLÁNÍ FORMULÁŘE PRO ZMĚNU PARAMETRŮ HEATMAPY
+
+    // HEATMAP PAGE - FORM - SUBMIT BUTTON
     &:last-child {
       margin-top: 0;
       margin-bottom: 0;
@@ -760,80 +866,19 @@ header.map {
         }
       }
     }
-
-    // DATEPICKER
-    input {
-      &:hover {
-        background: rgba(255, 255, 255, .2);
-      }
-
-      &:focus {
-        background: $primary-text-color;
-        color: $black;
-      }
-    }
-
-    // MENU PRO VÝBĚR ČASU/DATOVÝCH SAD
-    .dropdown {
-      min-width: 200px;
-
-      .btn {
-        width: 100%;
-        text-align: left;
-        letter-spacing: .4px;
-        color: $primary-text-color;
-        background: $primary-bg-color;
-
-        &:hover {
-          background: $input-bg-hover;
-        }
-      }
-
-      .dropdown-menu {
-        width: 100%;
-        max-height: 300px;
-        overflow-y: auto;
-        z-index: 1001;
-
-        .dropdown-item {
-          &:active {
-            background: $primary-bg-color;
-          }
-          
-          label {
-            width: 100% !important;
-            margin-left: 0;
-            cursor: pointer;
-          }
-        }
-      }
-
-      #dropdown-time .dropdown-item:nth-of-type(even) {
-        background: rgba(0,0,0,.05);
-
-        &:active {
-          background: $primary-bg-color;
-        }
-      }
-
-      input[type="radio"]:checked ~ label {
-        font-weight: 800;
-      }
-    }
   }
 }
 
 
-// MENU SE SEZNAMEM LOKACÍ NA MAPĚ
+// HEATMAP PAGE - CONTROLS - MAP LOCATIONS - WRAPPER
 .map-locations {
   position: absolute;
   top: 95px;
   right: 25px;
   z-index: 1000;
   border-radius: 22px;
-  background-color: rgba(11, 21, 90, .7);
+  background-color: $heatmap-controls-primary-bg;
 
-  // KRATŠÍ NADPIS PRO MENŠÍ ROZLIŠENÍ
   .mobile {
     display: none;
   }
@@ -858,7 +903,8 @@ header.map {
     right: 10px;
   }
 
-  // NADPIS PRO OTEVŘENÍ / SKRYTÍ SEZNAMU LOKACÍ
+
+  // HEATMAP PAGE - CONTROLS - MAP LOCATIONS
   .menu {
     width: 100%;
     display: inline-block;
@@ -869,7 +915,6 @@ header.map {
     opacity: 1;
     background: $secondary-bg-color;
 
-    // IKONKA V NADPISU
     .circle {
       display: inline-block;
       width: 40px;
@@ -878,7 +923,7 @@ header.map {
       top: 3px;
       right: 3px;
       border-radius: 50%;
-      border: 2px solid $primary-text-color;
+      border: 2px solid $text-color;
 
       &:after {
         content: "";
@@ -893,7 +938,8 @@ header.map {
     }
   }
 
-  // SEZNAM LOKACÍ
+
+  // HEATMAP PAGE - CONTROLS - MAP LOCATIONS - LOCATIONS LIST
   .locations {
     z-index: 1000;
 
@@ -923,7 +969,7 @@ header.map {
 }
 
 
-// DOLNÍ OVLÁDACÍ PANEL HEATMAPY
+// HEATMAP PAGE - CONTROLS - PLAYER, TIMELINE
 .player {
   width: 100%;
   display: flex;
@@ -939,7 +985,8 @@ header.map {
     bottom: -30px;
   }
 
-  // TLAČÍTKA PRO OVLÁDÁNÍ ANIMACE HEATMAPY
+
+  // HEATMAP PAGE - CONTROLS - ANIMATION BUTTONS
   .next-btn, .prev-btn, .animate-btn, .lock-btn {
     display: inline-block;
     width: 42px;
@@ -948,7 +995,7 @@ header.map {
     position: relative;
     border-radius: 50%;
     opacity: .7;
-    border: 2px solid $primary-text-color;
+    border: 2px solid $text-color;
     box-shadow: 0 0 0 4px $secondary-bg-color;
     background: $secondary-bg-color;
     cursor: pointer;
@@ -972,7 +1019,8 @@ header.map {
     }
   }
 
-  // TLAČÍTKO START / STOP ANIMACE
+
+  // HEATMAP PAGE - CONTROLS - START/PAUSE ANIMATION
   .animate-btn {
     width: 57px;
     height: 57px;
@@ -1003,7 +1051,8 @@ header.map {
     }
   }
 
-  // TLAČÍTKO DALŠÍ KROK ANIMACE
+
+  // HEATMAP PAGE - CONTROLS - NEXT STEP ANIMATION
   .next-btn {
     @include media-breakpoint-down(md) {
       order: 3;
@@ -1018,7 +1067,8 @@ header.map {
     }
   }
 
-  // TLAČÍTKO PŘEDCHOZÍ KROK ANIMACE
+
+  // HEATMAP PAGE - CONTROLS - PREVIOUS STEP ANIMATION
   .prev-btn {
     @include media-breakpoint-down(md) {
       order: 2;
@@ -1029,7 +1079,8 @@ header.map {
     }
   }
 
-  // WRAPPER ČASOVÉ OSY
+
+  // HEATMAP PAGE - CONTROLS - TIMELINE WRAPPER
   .timeline-wrapper {
     display: flex;
     
@@ -1040,7 +1091,8 @@ header.map {
     }
   }
 
-  // DATUM
+
+  // HEATMAP PAGE - CONTROLS - TIMELINE DATE
   .date {
     display: flex;
     align-items: center;
@@ -1050,7 +1102,7 @@ header.map {
     text-align: center;
     border-radius: 15px;
     cursor: pointer;
-    background: rgba(11, 21, 90, .7);
+    background: $heatmap-controls-primary-bg;
     
     @media (max-width: 390px) {
       margin-right: 0;
@@ -1061,7 +1113,7 @@ header.map {
     }
 
     &.lock {
-      background: rgba(11, 21, 90, 1);
+      background: $heatmap-controls-secondary-bg;
 
       &:hover .lock-btn:after {
         background-position: -8px 0;
@@ -1081,13 +1133,14 @@ header.map {
       padding: 3px 6px 4px 12px;
     }
 
-    // ZÁMEČEK PRO UZAMČENÍ ANIMACE V KONKRÉTNÍM DATU
+
+    // HEATMAP PAGE - CONTROLS - TIMELINE DATE - LOCK DATE BUTTON
     .lock-btn {
       width: 26px;
       height: 26px;
       margin-right: 2px;
       opacity: 1;
-      border: 1px solid $primary-text-color;
+      border: 1px solid $text-color;
 
       &:after {
         content: '';
@@ -1104,14 +1157,15 @@ header.map {
     }
   }
 
-  // ČASOVÁ OSA
+  
+  // HEATMAP PAGE - CONTROLS - TIMELINE
   .timeline {
     display: flex;
     height: 30px;
     flex-direction: row;
     position: relative;
     border-radius: 100px;
-    background-color: rgba(11, 21, 90, .7);
+    background-color: $heatmap-controls-primary-bg;
 
     @include media-breakpoint-down(md) {
       padding: 0;
@@ -1124,7 +1178,8 @@ header.map {
       margin: 4px 0 0 0;
     }
 
-    // JEDEN DÍLEK ČASOVÉ OSY
+    
+    // HEATMAP PAGE - CONTROLS - TIMELINE - ONE HOUR ITEM
     .hour {
       cursor: pointer;
 
@@ -1142,7 +1197,7 @@ header.map {
         width: 6px;
         height: 6px;
         border-radius: 50%;
-        background: $primary-text-color;
+        background: $text-color;
       }
 
       &:after {
@@ -1152,11 +1207,12 @@ header.map {
         top: -2px;
         width: 20px;
         height: 2px;
-        background: $primary-text-color;
+        background: $text-color;
       }
     }
 
-    // POSLEDNÍ DÍLEK ČASOVÉ OSY
+    
+    // HEATMAP PAGE - CONTROLS - TIMELINE - LAST ITEM
     .end-dot:before {
       content: "";
       display: inline-block;
@@ -1164,7 +1220,7 @@ header.map {
       height: 6px;
       margin-right: 10px;
       border-radius: 50%;
-      background: $primary-text-color;
+      background: $text-color;
 
       @include media-breakpoint-down(md) {
         display: none;
@@ -1172,7 +1228,8 @@ header.map {
     }
   }
 
-  // ČAS NA ČASOVÉ OSE
+
+  // HEATMAP PAGE - CONTROLS - TIMELINE - TIME
   .time {
     display: flex;
     justify-content: center;
@@ -1214,7 +1271,8 @@ header.map {
       &.hour-23 {left: 585px;}
     }
 
-    // NAČÍTÁNÍ
+
+    // HEATMAP PAGE - CONTROLS - TIMELINE - LOADER
     .custom-spinner-border {
       margin: 3px 0 4px 0;
     }
@@ -1222,19 +1280,21 @@ header.map {
 }
 
 
-// POPUP O KONKRÉTNÍM BODĚ V HEATMAPĚ
+// HEATMAP PAGE - POPUPS
 .leaflet-popup-content-wrapper, .leaflet-popup-tip {
   font-family: 'Be Vietnam', sans-serif;
   text-align: center;
-  color: $primary-text-color;
+  color: $text-color;
 
-  // INFORMACE O LOKACI / NÁZEV DATASETU
+  
+  // HEATMAP PAGE - POPUPS - LOCATION/DATASET NAME
   strong {
     display: inline-block;
     margin-bottom: 8px;
   }
 
-  // HODNOTA V POPUPU
+  
+  // HEATMAP PAGE - POPUPS - DATASET VALUE
   #place-intesity {
     display: flex;
     align-items: center;
@@ -1249,7 +1309,8 @@ header.map {
     }
   }
 
-  // STRÁNKOVÁNÍ V POPUPU
+  
+  // HEATMAP PAGE - POPUPS - PAGINATION
   .popup-pagination {
     display: flex;
     margin: 1em 0 1em 0;
@@ -1259,24 +1320,25 @@ header.map {
       width: 32px;
       border: 0;
       border-radius: 24px;
-      background: url($images-dir + 'btn-prev.svg') rgba(255, 255, 255, .1) no-repeat center center;
+      background: url($images-dir + 'btn-prev.svg') $heatmap-popup-btn-bg no-repeat center center;
       transition: background 0.3s ease-out;
       outline: none !important;
 
       &:hover {
-        background: url($images-dir + 'btn-prev.svg') rgba(125, 125, 125, .1) no-repeat center center;
+        background: url($images-dir + 'btn-prev.svg') $heatmap-popup-btn-hover-bg no-repeat center center;
       }
       
       &.next {
-        background: url($images-dir + 'btn-next.svg') rgba(255, 255, 255, .1) no-repeat center center;
+        background: url($images-dir + 'btn-next.svg') $heatmap-popup-btn-bg no-repeat center center;
 
         &:hover {
-          background: url($images-dir + 'btn-next.svg') rgba(125, 125, 125, .1) no-repeat center center;
+          background: url($images-dir + 'btn-next.svg') $heatmap-popup-btn-hover-bg no-repeat center center;
         }
       }
     }
 
-    // POČET STRÁNEK
+    
+    // HEATMAP PAGE - POPUPS - PAGINATION - COUNT PAGES
     p {
       margin: auto;
     }
diff --git a/website/templates/base.html.twig b/website/templates/base.html.twig
index be6825e..a747750 100644
--- a/website/templates/base.html.twig
+++ b/website/templates/base.html.twig
@@ -5,7 +5,7 @@
         
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <meta name="description" content="Heatmapa kampusu Západočeské univerzity v Plzni">
-    <meta name="keywords" content="heatmap, opendata, otevřená data, západočeská univerzita, zču, plzeň">
+    <meta name="keywords" content="heatmap, open data, otevřená data, dataset, západočeská univerzita, zču, plzeň">
     <meta name="author" content="Tým BHVS &ndash; Tomáš Ballák, Petr Hlaváč, Jakub Vašta, Martin Šebela">
 
     <meta property="og:url" content="https://heatmap.zcu.cz">
diff --git a/website/templates/heatmap.html.twig b/website/templates/heatmap.html.twig
index 0d1a2c8..af0ca7c 100644
--- a/website/templates/heatmap.html.twig
+++ b/website/templates/heatmap.html.twig
@@ -154,10 +154,12 @@
     <script src="{{ asset('js/vendor/leaflet-heat.js') }}"></script>
     <script>
       const modernBrowser = 'fetch' in window && 'assign' in Object;
+
       if (!modernBrowser) {
         const scriptElement = document.createElement('script');
+
         scriptElement.async = false;
-        scriptElement.src = "{{ asset('js/polyfills.bundle.js') }}";
+        scriptElement.src = '{{ asset("js/polyfills.bundle.js") }}';
         document.head.appendChild(scriptElement);
       }
     </script>
diff --git a/website/webpack.config.js b/website/webpack.config.js
index d46c501..9d65cbe 100644
--- a/website/webpack.config.js
+++ b/website/webpack.config.js
@@ -1,9 +1,10 @@
 const path = require('path');
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 
-module.exports = [{
+module.exports = [
+{
     entry: {
-        index: "./public/js/index.js",
+        index: './public/js/index.js',
         polyfills: './public/js/polyfills.js',
     },
     optimization: {
@@ -14,10 +15,11 @@ module.exports = [{
         path: path.resolve(__dirname, 'public/js'),
         library: 'js'
     },
-}, {
+},
+{
     plugins: [new MiniCssExtractPlugin()],
     entry: {
-        style: ['./public/css/style.scss']
+        style: './public/css/style.scss'
     },
     optimization: {
         minimize: true
