Revize a48642fb
Přidáno uživatelem Jakub Vašta před téměř 5 roky(ů)
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{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} |
|
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 .pause,.player .play,.player .prev{display:inline-block;width:42px;height:42px;margin-right:20px;position:relative;border-radius:50%;opacity:.7;border:2px solid #fff;-webkit-box-shadow:0 0 0 4px #0b155a;box-shadow:0 0 0 4px #0b155a;background:#0b155a;cursor:pointer}.player .next:hover,.player .pause,.player .play:hover,.player .prev:hover{opacity:1}.player .next:after,.player .pause:after,.player .play:after,.player .prev:after{content:"";display:inline-block;width:7px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 4px)}.player .pause,.player .play{width:57px;height:57px;opacity:1},.player .play:hover .player .pause:hover{opacity:.7}.player .pause:after,.player .play:after{width:10px;height:16px;top:calc(50% - 8px);left:calc(50% - 2px);background:url(../img/btn-play.svg) no-repeat top right}.player .pause:after{left:calc(50% - 5px);background:url(../img/btn-pause.png) no-repeat top right}.player .next:after{background:url(../img/btn-next.svg) no-repeat top right}.player .prev:after{background:url(../img/btn-prev.svg) no-repeat top right}.player .timeline{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;position:relative;padding:0 10px;border-radius:100px;background-color:rgba(11,21,90,.7)}@media (max-width:991.98px){.player .timeline{padding:0}}@media (max-width:991.98px){.player .timeline .hour{display:none}}.player .timeline .hour:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}.player .timeline .hour:after{content:"";display:inline-block;position:relative;top:-2px;width:20px;height:2px;background:#fff}.player .timeline .end-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff}@media (max-width:991.98px){.player .timeline .end-dot:before{display:none}}.player .time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:64px;font-size:15px;padding:3px 0 4px 0;z-index:1000;border-radius:15px;background:#0b155a}@media (min-width:992px){.player .time{position:absolute}.player .time.hour-0{left:0}.player .time.hour-1{left:25px}.player .time.hour-2{left:50px}.player .time.hour-3{left:75px}.player .time.hour-4{left:100px}.player .time.hour-5{left:125px}.player .time.hour-6{left:150px}.player .time.hour-7{left:175px}.player .time.hour-8{left:200px}.player .time.hour-9{left:225px}.player .time.hour-10{left:250px}.player .time.hour-11{left:275px}.player .time.hour-12{left:300px}.player .time.hour-13{left:325px}.player .time.hour-14{left:350px}.player .time.hour-15{left:375px}.player .time.hour-16{left:400px}.player .time.hour-17{left:425px}.player .time.hour-18{left:450px}.player .time.hour-19{left:475px}.player .time.hour-20{left:500px}.player .time.hour-21{left:525px}.player .time.hour-22{left:550px}.player .time.hour-23{left:585px}}.slide-background{width:650px;height:290px;z-index:1;position:absolute;bottom:0;left:0;background:url(../img/footer-bg.svg) no-repeat}@media (max-width:575.98px){.slide-background{width:320px;height:143px;background-size:100%}}.logos-partners{margin-top:40px}.logos-partners a{text-decoration:none}.logos-partners a img{margin-left:50px;height:80px}@media only screen and (max-width:430px){.logos-partners a img{height:70px;margin-left:0}}@media only screen and (max-width:340px){.logos-partners a img{height:60px}}.logos-partners a:first-of-type img{margin-left:0} |
website/public/css/style.scss | ||
---|---|---|
718 | 718 |
bottom: -30px; |
719 | 719 |
} |
720 | 720 |
|
721 |
.next, .prev, .play { |
|
721 |
.next, .prev, .play, .pause {
|
|
722 | 722 |
display: inline-block; |
723 | 723 |
width: 42px; |
724 | 724 |
height: 42px; |
... | ... | |
746 | 746 |
} |
747 | 747 |
} |
748 | 748 |
|
749 |
.play { |
|
749 |
.play, .pause {
|
|
750 | 750 |
width: 57px; |
751 | 751 |
height: 57px; |
752 | 752 |
opacity: 1; |
... | ... | |
764 | 764 |
} |
765 | 765 |
} |
766 | 766 |
|
767 |
.pause { |
|
768 |
&:after { |
|
769 |
left: calc(50% - 5px); |
|
770 |
background: url($images-dir + 'btn-pause.png') no-repeat top right; |
|
771 |
} |
|
772 |
} |
|
773 |
|
|
767 | 774 |
.next:after { |
768 | 775 |
background: url($images-dir + 'btn-next.svg') no-repeat top right; |
769 | 776 |
} |
website/public/js/zcu-heatmap.js | ||
---|---|---|
5 | 5 |
var startY = 13.3521; |
6 | 6 |
var startZoom = 17; |
7 | 7 |
|
8 |
var currentTime = 0; |
|
8 |
var dataSourceRoute; |
|
9 |
var currentTime; |
|
10 |
var name; |
|
11 |
var date; |
|
12 |
|
|
13 |
var timer; |
|
14 |
var isAnimationRunning = false; |
|
15 |
var data = []; |
|
16 |
|
|
9 | 17 |
|
10 | 18 |
|
11 | 19 |
function initMap() { |
... | ... | |
22 | 30 |
mymap.setView([latitude, longitude], zoom); |
23 | 31 |
} |
24 | 32 |
|
25 |
|
|
26 |
function changeTime(direction, max = 0) { |
|
27 |
let time = document.getElementById('time'); |
|
28 |
|
|
29 |
if (direction === 'next') { |
|
30 |
currentTime += 1; |
|
31 |
|
|
32 |
if (currentTime > 23) { |
|
33 |
currentTime = 0; |
|
34 |
} |
|
33 |
function changeAnimationState() { |
|
34 |
|
|
35 |
isAnimationRunning = !isAnimationRunning |
|
36 |
if (isAnimationRunning) { |
|
37 |
$('#play-pause').attr('class', 'pause'); |
|
38 |
timer = setInterval( |
|
39 |
function() { |
|
40 |
next(); |
|
41 |
}, |
|
42 |
800 |
|
43 |
); |
|
35 | 44 |
} |
36 |
else if (direction === 'prev') { |
|
37 |
currentTime -= 1; |
|
38 |
|
|
39 |
if (currentTime < 0) { |
|
40 |
currentTime = 23; |
|
41 |
} |
|
45 |
else { |
|
46 |
clearTimeout(timer); |
|
47 |
$('#play-pause').attr('class', 'play'); |
|
42 | 48 |
} |
43 | 49 |
|
44 |
time.textContent = currentTime + ":00"; |
|
45 |
time.className = 'time hour-' + currentTime; |
|
50 |
|
|
46 | 51 |
} |
47 | 52 |
|
53 |
function previous() { |
|
54 |
currentTime = (currentTime + 23) % 24; |
|
55 |
drawHeatmap(data[currentTime]); |
|
56 |
setTimeline(); |
|
57 |
} |
|
58 |
|
|
59 |
function next() { |
|
60 |
currentTime = (currentTime + 1) % 24; |
|
61 |
drawHeatmap(data[currentTime]); |
|
62 |
setTimeline(); |
|
63 |
} |
|
48 | 64 |
|
49 |
function animateTimeline() { |
|
50 |
setTimeout( |
|
51 |
function () { |
|
52 |
if (currentTime < 23) { |
|
53 |
animateTimeline(); |
|
54 |
changeTime('next'); |
|
55 |
} |
|
56 |
else { |
|
57 |
changeTime('next'); |
|
58 |
} |
|
59 |
}, 400); |
|
65 |
function setTimeline() { |
|
66 |
$('#timeline').text(currentTime + ":00"); |
|
67 |
$('#timeline').attr('class', 'time hour-' + currentTime); |
|
60 | 68 |
} |
61 | 69 |
|
62 |
function showHeatmap(route) {
|
|
70 |
function loadCurrentTimeHeatmap(route) {
|
|
63 | 71 |
|
64 |
var name = $('#type').children("option:selected").text(); |
|
72 |
dataSourceRoute = route; |
|
73 |
data = [] |
|
74 |
|
|
75 |
name = $('#type').children("option:selected").text(); |
|
65 | 76 |
var parts = $('#date').val().split('-'); |
66 |
var date = parts[2] + parts[1] + parts[0]; |
|
67 |
var time = $('#time').children("option:selected").val(); |
|
77 |
date = parts[2] + parts[1] + parts[0]; |
|
78 |
currentTime = parseInt($('#time').children("option:selected").val()); |
|
79 |
setTimeline(); |
|
68 | 80 |
|
69 | 81 |
$.ajax({ |
70 | 82 |
type: "POST", |
71 |
url: route + '/' + name + '/' + date + '/' + time,
|
|
83 |
url: dataSourceRoute + '/' + name + '/' + date + '/' + currentTime,
|
|
72 | 84 |
success: function(result) { |
73 |
drawHeatmap(result); |
|
85 |
data[currentTime] = result; |
|
86 |
drawHeatmap(data[currentTime]); |
|
74 | 87 |
} |
75 | 88 |
}); |
89 |
|
|
90 |
preload(currentTime, 1); |
|
91 |
preload(currentTime, -1); |
|
92 |
|
|
93 |
} |
|
94 |
|
|
95 |
function preload(time, change) { |
|
96 |
|
|
97 |
var ntime = time + change; |
|
98 |
if (0 <= ntime && ntime <= 23) { |
|
99 |
$.ajax({ |
|
100 |
type: "POST", |
|
101 |
url: dataSourceRoute + '/' + name + '/' + date + '/' + ntime, |
|
102 |
success: function(result) { |
|
103 |
data[ntime] = result; |
|
104 |
preload(ntime, change); |
|
105 |
} |
|
106 |
}); |
|
107 |
} |
|
108 |
|
|
76 | 109 |
} |
77 | 110 |
|
78 | 111 |
|
79 | 112 |
function drawHeatmap(points) { |
80 | 113 |
|
81 | 114 |
// Todo still switched |
82 |
points = points.map(function (p) { return [p['y'], p['x'], p['number']]; }); |
|
83 |
if (heatmapLayer != null) { |
|
84 |
mymap.removeLayer(heatmapLayer); |
|
115 |
if (points != null) { |
|
116 |
points = points.map(function (p) { return [p['x'], p['y'], p['number']]; }); |
|
117 |
if (heatmapLayer != null) { |
|
118 |
mymap.removeLayer(heatmapLayer); |
|
119 |
} |
|
120 |
heatmapLayer = L.heatLayer(points).addTo(mymap); |
|
85 | 121 |
} |
86 |
heatmapLayer = L.heatLayer(points, {opacity: 0.5}).addTo(mymap); |
|
87 |
heatmapLayer.options = {opacity: 1}; |
|
122 |
else { |
|
123 |
if (heatmapLayer != null) { |
|
124 |
mymap.removeLayer(heatmapLayer); |
|
125 |
} |
|
126 |
} |
|
127 |
|
|
88 | 128 |
// var heat_01 = ... |
89 | 129 |
// on background map.addLayer(heat_01) -> map.removeLayer(heat_01); |
90 | 130 |
// $(.leaflet-heatmap-layer).css('opacity', 'value'); |
website/src/Controller/HeatmapController.php | ||
---|---|---|
30 | 30 |
'heatmap.html.twig', |
31 | 31 |
[ |
32 | 32 |
'form' => $form->createView(), |
33 |
'submitted' => $form->isSubmitted(), |
|
33 | 34 |
'data_to_display' => $dataSet, |
34 | 35 |
] |
35 | 36 |
); |
website/templates/heatmap.html.twig | ||
---|---|---|
117 | 117 |
</div> |
118 | 118 |
|
119 | 119 |
<div class="player"> |
120 |
<div class="prev" onclick="changeTime('prev')"></div>
|
|
121 |
<div class="play" onclick="animateTimeline()"></div>
|
|
122 |
<div class="next" onclick="changeTime('next')"></div>
|
|
120 |
<div class="prev" onclick="previous()"></div>
|
|
121 |
<div class="play" id="play-pause" onclick="changeAnimationState()"></div>
|
|
122 |
<div class="next" onclick="next()"></div>
|
|
123 | 123 |
|
124 | 124 |
<div class="timeline"> |
125 |
<div class="time hour-0" id="time">0:00</div> |
|
125 |
<div class="time hour-0" id="timeline">0:00</div>
|
|
126 | 126 |
|
127 | 127 |
<div class="hour"></div> |
128 | 128 |
<div class="hour"></div> |
... | ... | |
164 | 164 |
<script src="{{ asset('js/leaflet-heat.js') }}"></script> |
165 | 165 |
<script src="{{ asset('js/zcu-heatmap.js') }}"></script> |
166 | 166 |
<script> |
167 |
initMap(); |
|
168 |
{% if data_to_display is defined %}
|
|
169 |
showHeatmap("{{ path('opendata') }}");
|
|
167 |
initMap();
|
|
168 |
{% if submitted %}
|
|
169 |
loadCurrentTimeHeatmap("{{ path('opendata') }}");
|
|
170 | 170 |
{% endif %} |
171 | 171 |
</script> |
172 | 172 |
|
Také k dispozici: Unified diff
Re #7940
+ heatmap animace - js kód
+ pause tlačítko - přidání stylu, změna