Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 351696d5

Přidáno uživatelem Martin Sebela před asi 4 roky(ů)

Re #7926, finishing controls on map

Zobrazit rozdíly:

website/public/css/style.css
1
@import url(https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap);body,html{position:relative;height:96.2%;background:#242c6b}@media (max-width:767.98px){body,html{height:auto}}body{font-family:"Be Vietnam",sans-serif;color:#fff}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;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;right:50px;top:110px;z-index:1000;border-radius:22px;background-color:rgba(11,21,90,.7)}.map-locations .menu{position:relative;padding:10px 60px 13px 16px;margin-bottom:10px;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 ul{padding-left:36px;padding-right:20px;font-size:15px;list-style-image:url(../img/li-bullet.svg)}.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}.player .next,.player .play,.player .prev{display:inline-block;width:50px;height:50px;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: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:65px;height:65px;opacity:1}.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 .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;border-radius:15px;background:#0b155a}.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}
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}
website/public/css/style.scss
7 7
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@400;600;700;800&display=swap');
8 8

  
9 9
html, body {
10
  font-family: 'Be Vietnam', sans-serif;
11
  color: #fff;
10 12
  position: relative;
11 13
  height: 96.2%;
12 14
  background: #242C6B;
13 15

  
14
  @include media-breakpoint-down(sm) {
15
    height: auto;
16
  &.intro {
17
    @include media-breakpoint-down(sm) {
18
      height: auto;
19
    }
16 20
  }
17 21
}
18 22

  
19
body {
20
  font-family: 'Be Vietnam', sans-serif;
21
  color: #fff;
22
}
23

  
24 23
header {
25 24
  height: 70px;
26 25
  background: #0048A9;
......
119 118

  
120 119
  .navbar-button {
121 120
    padding: .5rem 22px;
121
    margin-right: 40px;
122 122
    border: 1px solid #fff;
123 123
    border-radius: 20px;
124 124
    text-decoration: none;
......
219 219
        display: none;
220 220
        border: 0;
221 221

  
222
        /*@include media-breakpoint-down(lg) {
223

  
224
          margin: 0 10px 0 20px;
225
        }*/
226

  
227 222
        @include media-breakpoint-down(md) {
228 223
          display: block;
229 224
          width: 100%;
......
634 629
// SEZNAM LOKACÍ NA MAPĚ
635 630
.map-locations {
636 631
  position: absolute;
632
  top: 105px;
637 633
  right: 50px;
638
  top: 110px;
639 634
  z-index: 1000;
640 635
  border-radius: 22px;
641 636
  background-color: rgba(11, 21, 90, .7);
642 637

  
638
  @include media-breakpoint-down(md) {
639
    top: 90px;
640
    right: 20px;
641
  }
642

  
643 643
  .menu {
644
    display: inline-block;
644 645
    position: relative;
645 646
    padding: 10px 60px 13px 16px;
646
    margin-bottom: 10px;
647
    text-decoration: none;
647 648
    border-radius: 50px;
648 649
    opacity: 1;
649 650
    background: #0B155A;
650 651

  
652
    @include media-breakpoint-down(xs) {
653
      min-width: 280px;
654
      width: 100%;
655
      padding-bottom: 16px;
656
      font-size: 14px;
657
    }
658

  
651 659
    .circle {
652 660
      display: inline-block;
653 661
      width: 40px;
......
672 680
  }
673 681

  
674 682
  .locations {
683
    z-index: 1000;
684

  
675 685
    ul {
686
      margin-top: 10px;
676 687
      padding-left: 36px;
677 688
      padding-right: 20px;
678 689
      font-size: 15px;
679 690
      list-style-image: url($images-dir + 'li-bullet.svg');
691

  
692
      @include media-breakpoint-down(xs) {
693
        font-size: 13.5px;
694
      }
680 695
    }
681 696

  
682 697
    li {
......
699 714
  bottom: -40px;
700 715
  z-index: 1000;
701 716

  
717
  @include media-breakpoint-down(xs) {
718
    bottom: -30px;
719
  }
720

  
702 721
  .next, .prev, .play {
703 722
    display: inline-block;
704
    width: 50px;
705
    height: 50px;
723
    width: 42px;
724
    height: 42px;
706 725
    margin-right: 20px;
707 726
    position: relative;
708 727
    border-radius: 50%;
......
712 731
    background: #0B155A;
713 732
    cursor: pointer;
714 733

  
734
    &:hover {
735
      opacity: 1;
736
    }
737

  
715 738
    &:after {
716 739
      content: "";
717 740
      display: inline-block;
......
724 747
  }
725 748

  
726 749
  .play {
727
    width: 65px;
728
    height: 65px;
750
    width: 57px;
751
    height: 57px;
729 752
    opacity: 1;
730 753

  
754
    &:hover {
755
      opacity: .7;
756
    }
757

  
731 758
    &:after {
732 759
      width: 10px;
733 760
      height: 16px;
......
745 772
    background: url($images-dir + 'btn-prev.svg') no-repeat top right;
746 773
  }
747 774

  
775
  .timeline {
776
    display: flex;
777
    height: 30px;
778
    flex-direction: row;
779
    position: relative;
780
    padding: 0 10px;
781
    border-radius: 100px;
782
    background-color: rgba(11, 21, 90, .7);
783

  
784
    @include media-breakpoint-down(md) {
785
      padding: 0;
786
    }
787

  
788
    .hour {
789
      @include media-breakpoint-down(md) {
790
        display: none;
791
      }
792

  
793
      &:before {
794
        content: "";
795
        display: inline-block;
796
        width: 6px;
797
        height: 6px;
798
        border-radius: 50%;
799
        background: #fff;
800
      }
801

  
802
      &:after {
803
        content: "";
804
        display: inline-block;
805
        position: relative;
806
        top: -2px;
807
        width: 20px;
808
        height: 2px;
809
        background: #fff;
810
      }
811
    }
812

  
813
    .end-dot:before {
814
      content: "";
815
      display: inline-block;
816
      width: 6px;
817
      height: 6px;
818
      border-radius: 50%;
819
      background: #fff;
820

  
821
      @include media-breakpoint-down(md) {
822
        display: none;
823
      }
824
    }
825
  }
826

  
748 827
  .time {
749 828
    display: flex;
750 829
    justify-content: center;
......
752 831
    width: 64px;
753 832
    font-size: 15px;
754 833
    padding: 3px 0 4px 0;
834
    z-index: 1000;
755 835
    border-radius: 15px;
756 836
    background: #0B155A;
837

  
838
    @include media-breakpoint-up(lg) {
839
      position: absolute;
840

  
841
      &.hour-0 {left: 0;}
842
      &.hour-1 {left: 25px;}
843
      &.hour-2 {left: 50px;}
844
      &.hour-3 {left: 75px;}
845
      &.hour-4 {left: 100px;}
846
      &.hour-5 {left: 125px;}
847
      &.hour-6 {left: 150px;}
848
      &.hour-7 {left: 175px;}
849
      &.hour-8 {left: 200px;}
850
      &.hour-9 {left: 225px;}
851
      &.hour-10 {left: 250px;}
852
      &.hour-11 {left: 275px;}
853
      &.hour-12 {left: 300px;}
854
      &.hour-13 {left: 325px;}
855
      &.hour-14 {left: 350px;}
856
      &.hour-15 {left: 375px;}
857
      &.hour-16 {left: 400px;}
858
      &.hour-17 {left: 425px;}
859
      &.hour-18 {left: 450px;}
860
      &.hour-19 {left: 475px;}
861
      &.hour-20 {left: 500px;}
862
      &.hour-21 {left: 525px;}
863
      &.hour-22 {left: 550px;}
864
      &.hour-23 {left: 585px;}
865
    }
757 866
  }
758 867
}
759 868

  
website/public/js/zcu-heatmap.js
1
var mymap;
1
var map;
2 2
var startX = 49.7248;
3 3
var startY = 13.3521;
4 4
var startZoom = 17;
5 5

  
6
var currentTime = 0;
7

  
8

  
6 9
function initMap() {
7
  mymap = L.map('heatmap').setView([startX, startY], startZoom);
10
  map = L.map('heatmap').setView([startX, startY], startZoom);
8 11

  
9 12
  L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
10 13
    attribution: '',
11 14
    maxZoom: 19
12
  }).addTo(mymap);
15
  }).addTo(map);
13 16
}
14 17

  
18

  
15 19
function setMapView(latitude = startX, longitude = startY, zoom = startZoom) {
16
  mymap.setView([latitude, longitude], zoom);
20
  map.setView([latitude, longitude], zoom);
17 21
}
18 22

  
23

  
24
function changeTime(direction, max = 0) {
25
  let time = document.getElementById('time');
26

  
27
  if (direction === 'next') {
28
    currentTime += 1;
29

  
30
    if (currentTime > 23) {
31
      currentTime = 0;
32
    }
33
  }
34
  else if (direction === 'prev') {
35
    currentTime -= 1;
36

  
37
    if (currentTime < 0) {
38
      currentTime = 23;
39
    }
40
  }
41

  
42
  time.textContent = currentTime + ":00";
43
  time.className = 'time hour-' + currentTime;
44
}
45

  
46

  
47
function animateTimeline() {
48
  setTimeout(
49
    function () {
50
      if (currentTime < 23) {
51
        animateTimeline();
52
        changeTime('next');
53
      }
54
      else {
55
        changeTime('next');
56
      }
57
    }, 400);
58
}
59

  
60

  
19 61
function showHeatmap(route) {
20 62
  $.ajax({
21 63
    type: "POST",
......
26 68
  });
27 69
}
28 70

  
71

  
29 72
function drawHeatmap(points) {
30 73
  points = points.map(function (p) { return [p['y'], p['x'], p['number']]; });
31 74

  
32
  L.heatLayer(points).addTo(mymap), draw = true;
75
  L.heatLayer(points).addTo(map), draw = true;
33 76
}
website/templates/heatmap.html.twig
63 63
              <select name="dataset" id="dataset" class="custom-select">
64 64
                <option value="internet">Wi-Fi a drátové připojení</option>
65 65
                <option value="jis">JIS snímače</option>
66
                <option value="scoobikes">koloběžky</option>
66
                <option value="scoobikes">Koloběžky</option>
67 67
              </select>
68 68
            </li>
69 69

  
......
91 91
  </header>
92 92

  
93 93
  <div class="map-locations">
94
    <div class="menu">
94
    <a class="menu" data-toggle="collapse" href="#mapLocations" role="button" aria-expanded="false" aria-controls="mapLocations">
95 95
      Prohlédněte si jednotlivé oblasti
96 96
      <div class="circle"></div>
97
    </div>
98
    <div class="locations">
97
    </a>
98
    <div class="locations collapse show" id="mapLocations">
99 99
      <ul>
100 100
        <li onclick="setMapView()">Kampus ZČU</li>
101
        <li onclick="setMapView(49.7452769, 13.3700668, 19)">FZS &ndash; Fakulta zdravotnických studií</li>
102 101
        <li onclick="setMapView(49.7489485, 13.3757721, 19)">FF &ndash; Filozofická fakulta</li>
103
        <li onclick="setMapView(49.7368263, 13.3709177, 19)">FPE &ndash; Pedagogická fakulta</li>
104
        <li onclick="setMapView(49.7471633, 13.3738511, 19)">FPR &ndash; Právnická fakulta</li>
102
        <li onclick="setMapView(49.7367263, 13.3709177, 19)">FPE &ndash; Pedagogická fakulta</li>
103
        <li onclick="setMapView(49.7471633, 13.3739511, 19)">FPR &ndash; Právnická fakulta</li>
104
        <li onclick="setMapView(49.7450169, 13.3702668, 19)">FZS &ndash; Fakulta zdravotnických studií</li>
105 105
        <li onclick="setMapView(49.7236785, 13.3353118, 18)">NTC &ndash; výzkumné centrum</li>
106
        <li onclick="setMapView(49.7346564, 13.3585038, 19)">Koleje Borská</li>
106
        <li onclick="setMapView(49.7345564, 13.3585038, 19)">Koleje Borská</li>
107 107
        <li onclick="setMapView(49.7250373, 13.3696772, 19)">Koleje Bory</li>
108 108
        <li onclick="setMapView(49.7600000, 13.3723463, 19)">Koleje Lochotín</li>
109 109
      </ul>
......
111 111
  </div>
112 112

  
113 113
  <div class="player">
114
    <div class="prev" onclick="alert('prev')"></div>
115
    <div class="play" onclick="alert('play')"></div>
116
    <div class="next" onclick="alert('next')"></div>
117

  
118
    <div class="time">12:00</div>
114
    <div class="prev" onclick="changeTime('prev')"></div>
115
    <div class="play" onclick="animateTimeline()"></div>
116
    <div class="next" onclick="changeTime('next')"></div>
117

  
118
    <div class="timeline">
119
      <div class="time hour-0" id="time">0:00</div>
120

  
121
      <div class="hour"></div>
122
      <div class="hour"></div>
123
      <div class="hour"></div>
124
      <div class="hour"></div>
125
      <div class="hour"></div>
126
      <div class="hour"></div>
127
      <div class="hour"></div>
128
      <div class="hour"></div>
129
      <div class="hour"></div>
130
      <div class="hour"></div>
131
      <div class="hour"></div>
132
      <div class="hour"></div>
133
      <div class="hour"></div>
134
      <div class="hour"></div>
135
      <div class="hour"></div>
136
      <div class="hour"></div>
137
      <div class="hour"></div>
138
      <div class="hour"></div>
139
      <div class="hour"></div>
140
      <div class="hour"></div>
141
      <div class="hour"></div>
142
      <div class="hour"></div>
143
      <div class="hour"></div>
144
      <div class="hour"></div>
145
      <div class="end-dot"></div>
146
    </div>
119 147
  </div>
120 148

  
121 149
  <div id="heatmap"></div>
......
124 152

  
125 153
{% block javascripts %}
126 154

  
127
    <script src="{{ asset('js/jquery-3.4.1.min.js') }}"></script>
128
    <script src="{{ asset('js/bootstrap.min.js') }}"></script>
129
    <script src="{{ asset('js/leaflet.js') }}"></script>
130
    <script src="{{ asset('js/leaflet-heat.js') }}"></script>
131
    <script src="{{ asset('js/zcu-heatmap.js') }}"></script>
132
    <script>
133
       initMap();
134
       showHeatmap("{{ path('opendata', {'collectionName':'open-data-db.KOLOBEZKY31102018'}) }}");
135
    </script>
155
  <script src="{{ asset('js/jquery-3.4.1.min.js') }}"></script>
156
  <script src="{{ asset('js/bootstrap.min.js') }}"></script>
157
  <script src="{{ asset('js/leaflet.js') }}"></script>
158
  <script src="{{ asset('js/leaflet-heat.js') }}"></script>
159
  <script src="{{ asset('js/zcu-heatmap.js') }}"></script>
160
  <script>
161
      initMap();
162
      showHeatmap("{{ path('opendata', {'collectionName':'open-data-db.KOLOBEZKY31102018'}) }}");
163
  </script>
136 164

  
137 165
{% endblock %}

Také k dispozici: Unified diff