diff --git a/.gitignore b/.gitignore index a67c69e0..fddeff00 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ uploads/small/* uploads/thumb/* dist/user.css +dist/frame.js !uploads/big/index.html !uploads/import/index.html diff --git a/Lychee-front b/Lychee-front index c25a80bb..f4b5b16d 160000 --- a/Lychee-front +++ b/Lychee-front @@ -1 +1 @@ -Subproject commit c25a80bb4ff5c21f06b64dea38974976bc998745 +Subproject commit f4b5b16d3d181a818687768f9024cd210d7571e2 diff --git a/dist/main.css b/dist/main.css index 5fa5ed2d..fe997205 100755 --- a/dist/main.css +++ b/dist/main.css @@ -1 +1 @@ -@charset "UTF-8";.basicContextContainer{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1000;-webkit-tap-highlight-color:transparent}.basicContext{position:absolute;opacity:0;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.2) basicContext__popIn;animation:.3s cubic-bezier(.51,.92,.24,1.2) basicContext__popIn}.basicContext *{-webkit-box-sizing:border-box;box-sizing:border-box}.basicContext__item{cursor:pointer}.basicContext__item--separator{float:left;width:100%;cursor:default}.basicContext__item--disabled{cursor:default;opacity:.5}.basicContext__data{min-width:140px;text-align:left;white-space:nowrap}.basicContext__icon{display:inline-block}.basicContext--scrollable{height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto}.basicContext--scrollable .basicContext__data{min-width:160px}@-webkit-keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes basicModal__fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes basicModal__fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes basicModal__fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes basicModal__fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes basicModal__moveUpFade{0%{-webkit-transform:translateY(80px);transform:translateY(80px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes basicModal__moveUpFade{0%{-webkit-transform:translateY(80px);transform:translateY(80px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes basicModal__shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}20%,60%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes basicModal__shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}20%,60%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}.basicModalContainer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;width:100%;height:100%;top:0;left:0;z-index:1000;-webkit-box-sizing:border-box;box-sizing:border-box}.basicModalContainer *,.basicModalContainer :after,.basicModalContainer :before{-webkit-box-sizing:border-box;box-sizing:border-box}.basicModalContainer--fadeIn{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeIn;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeIn}.basicModalContainer--fadeOut{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeOut;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeOut}.basicModalContainer--fadeIn .basicModal--fadeIn{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__moveUpFade;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__moveUpFade}.basicModalContainer--fadeIn .basicModal--shake{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__shake;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__shake}.basicModal{position:relative;width:500px;background-color:#fff;font-size:14px;border-radius:5px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.basicModal__content{max-height:70vh;overflow:auto;-webkit-overflow-scrolling:touch}.basicModal__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.1);box-shadow:0 -1px 0 rgba(0,0,0,.1)}.basicModal__button{display:inline-block;width:100%;font-weight:700;text-align:center;-webkit-transition:background-color .2s;-o-transition:background-color .2s;transition:background-color .2s;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.basicModal__button#basicModal__cancel{-ms-flex-negative:2;flex-shrink:2}.basicModal__button#basicModal__action{-ms-flex-negative:1;flex-shrink:1;-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1);box-shadow:inset 1px 0 0 rgba(0,0,0,.1)}.basicModal__button#basicModal__action:first-child{-webkit-box-shadow:none;box-shadow:none}.basicModal__button:first-child{border-radius:0 0 0 5px}.basicModal__button:last-child{border-radius:0 0 5px}.basicModal__text{width:100%;margin:0;padding:14px 10px;background-color:rgba(0,0,0,0);color:#333;border:none;-webkit-box-shadow:0 1px 0 #c8c8c8;box-shadow:0 1px 0 #c8c8c8;border-radius:0;outline:0;-webkit-transition:background-color .2s,-webkit-box-shadow .2s;transition:background-color .2s,box-shadow .2s,-webkit-box-shadow .2s;-o-transition:background-color .2s,box-shadow .2s}.basicModal__text:hover{background-color:rgba(0,0,0,.02);-webkit-box-shadow:0 1px 0 #b4b4b4;box-shadow:0 1px 0 #b4b4b4}.basicModal__text:focus{background-color:rgba(40,117,237,.05);-webkit-box-shadow:0 1px 0 #2875ed;box-shadow:0 1px 0 #2875ed}.basicModal__text.error{background-color:rgba(255,36,16,.05);-webkit-box-shadow:0 1px 0 #ff2410;box-shadow:0 1px 0 #ff2410}.basicModal p{margin:0 0 5%;width:100%}.basicModal p:last-child{margin:0}.basicModal__small{max-width:340px;text-align:center}.basicModal__small .basicModal__content{padding:10% 5%}.basicModal__xclose#basicModal__cancel{position:absolute;top:-8px;right:-8px;margin:0;padding:0;width:40px;height:40px;background-color:#fff;border-radius:100%;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.basicModal__xclose#basicModal__cancel:after{content:'';position:absolute;left:-3px;top:8px;width:35px;height:34px;background:#fff}.basicModal__xclose#basicModal__cancel svg{position:relative;width:20px;height:39px;fill:#888;z-index:1;-webkit-transition:fill .2s;-o-transition:fill .2s;transition:fill .2s}.basicModal__xclose#basicModal__cancel:after:hover svg,.basicModal__xclose#basicModal__cancel:hover svg{fill:#2875ed}.basicModal__xclose#basicModal__cancel:active svg,.basicModal__xclose#basicModal__cancel:after:active svg{fill:#1364e3}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;background-color:#1d1d1d;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:12px;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:color .3s,opacity .3s ease-out,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;-o-transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s}body,html{min-height:100%}body.view{background-color:#0f0f0f}input{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}.svgsprite{display:none}.iconic{width:100%;height:100%}#upload{display:none}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes moveBackground{0%{background-position-x:0}100%{background-position-x:-100px}}@keyframes moveBackground{0%{background-position-x:0}100%{background-position-x:-100px}}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}}@keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}}@-webkit-keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}.content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:50px 0 33px;width:100%;min-height:calc(100% - 83px);-webkit-transition:margin-left .5s;-o-transition:margin-left .5s;transition:margin-left .5s;-webkit-overflow-scrolling:touch}.content::before{content:'';position:absolute;left:0;width:100%;height:1px;background:rgba(255,255,255,.02)}.content--sidebar{width:calc(100% - 300px)}.content.contentZoomIn .album,.content.contentZoomIn .photo{-webkit-animation-name:zoomIn;animation-name:zoomIn}.content.contentZoomIn .divider{-webkit-animation-name:fadeIn;animation-name:fadeIn}.content.contentZoomOut .album,.content.contentZoomOut .photo{-webkit-animation-name:zoomOut;animation-name:zoomOut}.content.contentZoomOut .divider{-webkit-animation-name:fadeOut;animation-name:fadeOut}.content .album,.content .photo{position:relative;width:202px;height:202px;margin:30px 0 0 30px;cursor:default;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}.content .album .thumbimg,.content .photo .thumbimg{position:absolute;width:200px;height:200px;background:#222;color:#222;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.5);-webkit-transition:opacity .3s ease-out,border-color .3s ease-out,-webkit-transform .3s ease-out;transition:opacity .3s ease-out,transform .3s ease-out,border-color .3s ease-out,-webkit-transform .3s ease-out;-o-transition:opacity .3s ease-out,transform .3s ease-out,border-color .3s ease-out}.content .album .thumbimg>img,.content .photo .thumbimg>img{width:100%;height:100%}.content .album.active .thumbimg,.content .album:hover .thumbimg,.content .photo.active .thumbimg,.content .photo:hover .thumbimg{border-color:#2293ec}.content .album:active .thumbimg,.content .photo:active .thumbimg{-webkit-transition:none;-o-transition:none;transition:none;border-color:#0f6ab2}.content .album.selected img,.content .photo.selected img{outline:#2293ec solid 1px}.content .album .video::before,.content .photo .video::before{content:'';position:absolute;display:block;height:100%;width:100%;background:url(play-icon.png) 46% 50%;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;will-change:opacity,height}.content .album .video:hover::before,.content .photo .video:hover::before{opacity:.75}.content .album .thumbimg:first-child,.content .album .thumbimg:nth-child(2){-webkit-transform:rotate(0) translateY(0) translateX(0);-ms-transform:rotate(0) translateY(0) translateX(0);transform:rotate(0) translateY(0) translateX(0);opacity:0}.content .album:hover .thumbimg:nth-child(1),.content .album:hover .thumbimg:nth-child(2){opacity:1;will-change:transform}.content .album:hover .thumbimg:nth-child(1){-webkit-transform:rotate(-2deg) translateY(10px) translateX(-12px);-ms-transform:rotate(-2deg) translateY(10px) translateX(-12px);transform:rotate(-2deg) translateY(10px) translateX(-12px)}.content .album:hover .thumbimg:nth-child(2){-webkit-transform:rotate(5deg) translateY(-8px) translateX(12px);-ms-transform:rotate(5deg) translateY(-8px) translateX(12px);transform:rotate(5deg) translateY(-8px) translateX(12px)}.content .album .overlay,.content .photo .overlay{position:absolute;margin:0 1px;width:200px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.6)));background:-webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.6));background:-o-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.6));background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.6));bottom:1px}.content .album .thumbimg[data-overlay=false]+.overlay{background:0 0}.content .photo .overlay{opacity:0}.content .photo.active .overlay,.content .photo:hover .overlay{opacity:1}.content .album .overlay h1,.content .photo .overlay h1{min-height:19px;width:180px;margin:12px 0 5px 15px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);font-size:16px;font-weight:700;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.content .album .overlay a,.content .photo .overlay a{display:block;margin:0 0 12px 15px;font-size:11px;color:#ccc;text-shadow:0 1px 3px rgba(0,0,0,.4)}.content .photo .overlay a .iconic{fill:#ccc;margin:0 5px 0 0;width:8px;height:8px}.content .album .thumbimg[data-overlay=false]+.overlay a,.content .album .thumbimg[data-overlay=false]+.overlay h1{text-shadow:none}.content .album .badges,.content .photo .badges{position:relative;margin:-1px 0 0 6px}.content .album .subalbum_badge{position:absolute;right:0;top:0}.content .album .badge,.content .photo .badge{display:none;margin:0 0 0 6px;padding:12px 8px 6px;width:18px;background:#d92c34;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);border-radius:0 0 5px 5px;border:1px solid #fff;border-top:none;color:#fff;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.4);opacity:.9}.content .album .badge--visible,.content .photo .badge--visible{display:inline-block}.content .album .badge--not--hidden,.content .photo .badge--not--hidden{background:#0a0}.content .album .badge--hidden,.content .photo .badge--hidden{background:#f90}.content .album .badge--star,.content .photo .badge--star{display:inline-block;background:#fc0}.content .album .badge--list,.content .photo .badge--list{background:#2293ec}.content .album .badge .iconic,.content .photo .badge .iconic{fill:#fff;width:16px;height:16px}.content .album .badge--folder,.content .photo .badge--folder{display:inline-block;background:0 0;border:none}.content .album .badge--folder .iconic,.content .photo .badge--folder .iconic{width:12px;height:12px}.content .divider{margin:50px 0 0;padding:10px 0 0;width:100%;opacity:0;border-top:1px solid rgba(255,255,255,.02);-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.2);box-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}.content .divider:first-child{margin-top:10px;border-top:0;-webkit-box-shadow:none;box-shadow:none}.content .divider h1{margin:0 0 0 30px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700}.no_content{position:absolute;top:50%;left:50%;padding-top:20px;color:rgba(255,255,255,.35);text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.no_content .iconic{fill:rgba(255,255,255,.3);margin:0 0 10px;width:50px;height:50px}.no_content p{font-size:16px;font-weight:700}.leftMenu__open{margin-left:250px;width:calc(100% - 250px)}.leftMenu{height:100%;width:0;position:fixed;z-index:1;top:0;left:0;background-color:#111;overflow-x:hidden;padding-top:60px;-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.leftMenu a{padding:8px 8px 8px 32px;text-decoration:none;font-size:18px;color:#818181;display:block;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.leftMenu a:hover{color:#f1f1f1}.leftMenu .closebtn{position:absolute;top:0;right:25px;font-size:36px;margin-left:50px}.leftMenu .iconic{display:inline-block;margin:0 10px 0 1px;width:15px;height:14px;fill:#818181}.leftMenu .iconic.ionicons{margin:0 8px -2px 0;width:18px;height:18px}.leftMenu__visible{width:250px}@media screen and (max-height:450px){.leftMenu{padding-top:15px}.leftMenu a{font-size:18px}}.basicContext{padding:5px 0 6px;background:-webkit-gradient(linear,left top,left bottom,from(#333),to(#252525));background:-webkit-linear-gradient(top,#333,#252525);background:-o-linear-gradient(top,#333,#252525);background:linear-gradient(to bottom,#333,#252525);-webkit-box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);border-radius:5px;border:1px solid rgba(0,0,0,.7);border-bottom:1px solid rgba(0,0,0,.8);-webkit-transition:none;-o-transition:none;transition:none}.basicContext__item{margin-bottom:2px;font-size:14px}.basicContext__item--separator{margin:4px 0;height:2px;background:rgba(0,0,0,.2);border-bottom:1px solid rgba(255,255,255,.06)}.basicContext__item:last-child{margin-bottom:0}.basicContext__data{min-width:auto;padding:6px 25px 7px 12px;color:#fff;-webkit-transition:none;-o-transition:none;transition:none;cursor:default}.basicContext__item:not(.basicContext__item--disabled):hover .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#2293ec),to(#1386e1));background:-webkit-linear-gradient(top,#2293ec,#1386e1);background:-o-linear-gradient(top,#2293ec,#1386e1);background:linear-gradient(to bottom,#2293ec,#1386e1)}.basicContext__item:not(.basicContext__item--disabled):active .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#1178ca),to(#0f6ab2));background:-webkit-linear-gradient(top,#1178ca,#0f6ab2);background:-o-linear-gradient(top,#1178ca,#0f6ab2);background:linear-gradient(to bottom,#1178ca,#0f6ab2)}.basicContext__icon{margin-right:10px;width:12px;text-align:center}.basicContext__data .cover{position:absolute;background-color:#222;border-radius:2px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.5);box-shadow:0 0 0 1px rgba(0,0,0,.5)}.basicContext__data .title{display:inline-block;margin:0 0 3px 26px}.basicContext__data .iconic{display:inline-block;margin:0 10px 0 1px;width:11px;height:10px;fill:#fff}.basicContext__data .iconic.ionicons{margin:0 8px -2px 0;width:14px;height:14px}.basicContext__data input#link{margin:-2px 0;padding:5px 7px 6px;width:100%;background:#333;color:#fff;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);border:1px solid rgba(0,0,0,.4);border-radius:3px;outline:0}.basicContext__item--noHover .basicContext__data{padding-right:12px}.basicContext__item--noHover:hover .basicContext__data{background:0 0!important}.header{position:fixed;height:49px;width:100%;background:-webkit-gradient(linear,left top,left bottom,from(#222),to(#1a1a1a));background:-webkit-linear-gradient(top,#222,#1a1a1a);background:-o-linear-gradient(top,#222,#1a1a1a);background:linear-gradient(to bottom,#222,#1a1a1a);border-bottom:1px solid #0f0f0f;z-index:1;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.header--hidden{-webkit-transform:translateY(-60px);-ms-transform:translateY(-60px);transform:translateY(-60px)}.header--loading{-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px)}.header--error{-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px)}.header--view{background:0 0;border-bottom:none}.header--view.header--error{background-color:rgba(10,10,10,.99)}.header__toolbar{display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;padding:0 10px}.header__toolbar--visible{display:-webkit-box;display:-ms-flexbox;display:flex}.header__title{width:100%;padding:16px 0;color:#fff;font-size:16px;font-weight:700;text-align:center;cursor:default;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;-webkit-transition:margin-left .5s;-o-transition:margin-left .5s;transition:margin-left .5s}.header__title .iconic{display:none;margin:0 0 0 5px;width:10px;height:10px;fill:rgba(255,255,255,.5);-webkit-transition:fill .2s ease-out;-o-transition:fill .2s ease-out;transition:fill .2s ease-out}.header__title:hover .iconic{fill:#fff}.header__title:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.header__title--editable .iconic{display:inline-block}.header .button{-ms-flex-negative:0;flex-shrink:0;padding:16px 8px;height:15px}.header .button .iconic{width:15px;height:15px;fill:rgba(255,255,255,.5);-webkit-transition:fill .2s ease-out;-o-transition:fill .2s ease-out;transition:fill .2s ease-out}.header .button:hover .iconic{fill:#fff}.header .button:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.header .button--star.active .iconic{fill:#f0ef77}.header .button--eye.active .iconic{fill:#ff9737}.header .button--share .iconic{height:18px}.header .button--info.active .iconic{fill:#2293ec}.header__divider{-ms-flex-negative:0;flex-shrink:0;width:14px}.header__search{-ms-flex-negative:0;flex-shrink:0;width:80px;margin:0;padding:5px 12px 6px;background-color:#1d1d1d;color:#fff;border:1px solid rgba(0,0,0,.9);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.04);box-shadow:0 1px 0 rgba(255,255,255,.04);outline:0;border-radius:50px;opacity:.6;-webkit-transition:opacity .3s ease-out,width .2s ease-out,-webkit-box-shadow .3s ease-out;transition:opacity .3s ease-out,box-shadow .3s ease-out,width .2s ease-out,-webkit-box-shadow .3s ease-out;-o-transition:opacity .3s ease-out,box-shadow .3s ease-out,width .2s ease-out}.header__search:focus{width:140px;border-color:#2293ec;-webkit-box-shadow:0 1px 0 rgba(255,255,255,0);box-shadow:0 1px 0 rgba(255,255,255,0);opacity:1}.header__search:focus~#clearSearch{opacity:1}.header__search::-ms-clear{display:none}.header__clear{position:absolute;top:13px;right:60px;padding:0;color:rgba(255,255,255,.5);font-size:20px;opacity:0;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out;transition:color .2s ease-out;cursor:default}.header__clear:hover{color:#fff}.header__hostedwith{-ms-flex-negative:0;flex-shrink:0;padding:5px 10px;margin:11px 0;color:#888;font-size:13px;border-radius:100px;cursor:default}.header__hostedwith:hover{background-color:rgba(0,0,0,.3)}.header .leftMenu__open{margin-left:250px}#imageview{position:fixed;display:none;top:0;left:0;width:100%;height:100%;background-color:rgba(10,10,10,.98);-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}#imageview.view{background-color:inherit}#imageview.full{background-color:#000;cursor:none}#imageview #image{position:absolute;top:60px;right:30px;bottom:30px;left:30px;margin:auto;max-width:calc(100% - 60px);max-height:calc(100% - 90px);width:auto;height:auto;-webkit-transition:top .3s,right .3s,bottom .3s,left .3s,max-width .3s,max-height .3s;-o-transition:top .3s,right .3s,bottom .3s,left .3s,max-width .3s,max-height .3s;transition:top .3s,right .3s,bottom .3s,left .3s,max-width .3s,max-height .3s;-webkit-animation-name:zoomIn;animation-name:zoomIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1.15);animation-timing-function:cubic-bezier(.51,.92,.24,1.15)}#imageview.full #image{top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%}#imageview #image_overlay{position:absolute;bottom:30px;left:30px;color:#fff;text-shadow:1px 1px 2px #000}#imageview #image_overlay h1{visibility:hidden;opacity:0;font-size:28px;font-weight:500;-webkit-transition:visibility .3s linear,opacity .3s linear;-o-transition:visibility .3s linear,opacity .3s linear;transition:visibility .3s linear,opacity .3s linear}#imageview #image_overlay p{margin-top:5px;font-size:20px;line-height:24px}#imageview.full #image_overlay h1{visibility:visible;opacity:1}#imageview .arrow_wrapper{position:fixed;width:15%;height:calc(100% - 60px);top:60px}#imageview .arrow_wrapper--previous{left:0}#imageview .arrow_wrapper--next{right:0}@media (max-width:640px){#imageview #image{top:60px;right:20px;bottom:20px;left:20px;max-width:calc(100% - 40px);max-height:calc(100% - 80px)}#imageview .arrow_wrapper{display:none}}#imageview .arrow_wrapper a{position:fixed;top:50%;margin:-19px 0 0;padding:8px 12px;width:16px;height:22px;background-size:100% 100%;border:1px solid rgba(255,255,255,.8);opacity:.6;z-index:2;-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out,-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out,opacity .2s ease-out;will-change:transform}#imageview .arrow_wrapper a#previous{left:-1px;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}#imageview .arrow_wrapper a#next{right:-1px;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}#imageview .arrow_wrapper:hover a#next,#imageview .arrow_wrapper:hover a#previous{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}#imageview .arrow_wrapper a:hover{opacity:1}#imageview .arrow_wrapper .iconic{fill:rgba(255,255,255,.8)}.sidebar{position:fixed;top:50px;right:-360px;width:350px;height:calc(100% - 50px);background-color:rgba(25,25,25,.98);border-left:1px solid rgba(0,0,0,.2);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .3s cubic-bezier(.51,.92,.24,1);transition:transform .3s cubic-bezier(.51,.92,.24,1);-o-transition:transform .3s cubic-bezier(.51,.92,.24,1);transition:transform .3s cubic-bezier(.51,.92,.24,1),-webkit-transform .3s cubic-bezier(.51,.92,.24,1)}.sidebar.active{-webkit-transform:translateX(-360px);-ms-transform:translateX(-360px);transform:translateX(-360px)}.sidebar.notSelectable table tr td:last-child{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.sidebar__header{float:left;height:49px;width:100%;background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.02)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(top,rgba(255,255,255,.02),rgba(0,0,0,0));background:-o-linear-gradient(top,rgba(255,255,255,.02),rgba(0,0,0,0));background:linear-gradient(to bottom,rgba(255,255,255,.02),rgba(0,0,0,0));border-top:1px solid #2293ec}.sidebar__header h1{position:absolute;margin:15px 0;width:100%;color:#fff;font-size:16px;font-weight:700;text-align:center}.sidebar__wrapper{float:left;height:calc(100% - 49px);width:350px;overflow:auto;-webkit-overflow-scrolling:touch}.sidebar__divider{float:left;padding:12px 0 8px;width:100%;border-top:1px solid rgba(255,255,255,.02);-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.2);box-shadow:0 -1px 0 rgba(0,0,0,.2)}.sidebar__divider:first-child{border-top:0;box-shaodw:none}.sidebar__divider h1{margin:0 0 0 20px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700}.sidebar .edit{display:inline-block;margin-left:3px;width:10px}.sidebar .edit .iconic{width:10px;height:10px;fill:rgba(255,255,255,.5);-webkit-transition:fill .2s ease-out;-o-transition:fill .2s ease-out;transition:fill .2s ease-out}.sidebar .edit:hover .iconic{fill:#fff}.sidebar .edit:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.sidebar table{float:left;margin:10px 0 15px 20px;width:calc(100% - 20px)}.sidebar table tr td{padding:5px 0;color:#fff;font-size:14px;line-height:19px}.sidebar table tr td:first-child{width:110px}.sidebar table tr td:last-child{padding-right:10px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sidebar #tags{width:calc(100% - 40px);margin:16px 20px 12px;color:#fff;display:inline-block}.sidebar #tags>div{display:inline-block}.sidebar #tags .empty{font-size:14px;margin:0 2px 8px 0}.sidebar #tags .edit{margin-top:6px}.sidebar #tags .empty .edit{margin-top:0}.sidebar #tags .tag{display:inline-block;padding:6px 10px;margin:0 6px 8px 0;background-color:rgba(0,0,0,.5);border-radius:100px;font-size:12px;-webkit-transition:background-color .2s;-o-transition:background-color .2s;transition:background-color .2s}.sidebar #tags .tag:hover{background-color:rgba(0,0,0,.3)}.sidebar #tags .tag span{float:right;padding:0;margin:0 0 -2px;width:0;overflow:hidden;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:width .2s,margin .2s,fill .2s ease-out,-webkit-transform .2s;transition:width .2s,margin .2s,transform .2s,fill .2s ease-out,-webkit-transform .2s;-o-transition:width .2s,margin .2s,transform .2s,fill .2s ease-out}.sidebar #tags .tag span .iconic{fill:#d92c34;width:8px;height:8px}.sidebar #tags .tag span:hover .iconic{fill:#e1575e}.sidebar #tags .tag span:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:#b22027}.sidebar #tags .tag:hover span{width:9px;margin:0 0 -2px 5px;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#loading{display:none;position:fixed;width:100%;height:3px;background-size:100px 3px;background-repeat:repeat-x;border-bottom:1px solid rgba(0,0,0,.3);-webkit-animation-name:moveBackground;animation-name:moveBackground;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}#loading.loading{height:3px;background-image:-webkit-gradient(linear,left top,right top,from(#153674),color-stop(47%,#153674),color-stop(53%,#2651ae),to(#2651ae));background-image:-webkit-linear-gradient(left,#153674 0,#153674 47%,#2651ae 53%,#2651ae 100%);background-image:-o-linear-gradient(left,#153674 0,#153674 47%,#2651ae 53%,#2651ae 100%);background-image:linear-gradient(to right,#153674 0,#153674 47%,#2651ae 53%,#2651ae 100%);z-index:2}#loading.error{height:40px;background-color:#2f0d0e;background-image:-webkit-gradient(linear,left top,right top,from(#451317),color-stop(47%,#451317),color-stop(53%,#aa3039),to(#aa3039));background-image:-webkit-linear-gradient(left,#451317 0,#451317 47%,#aa3039 53%,#aa3039 100%);background-image:-o-linear-gradient(left,#451317 0,#451317 47%,#aa3039 53%,#aa3039 100%);background-image:linear-gradient(to right,#451317 0,#451317 47%,#aa3039 53%,#aa3039 100%);z-index:1}#loading.success{height:40px;background-color:#070;background-image:-webkit-gradient(linear,left top,right top,from(#070),color-stop(47%,#090),color-stop(53%,#0a0),to(#0c0));background-image:-webkit-linear-gradient(left,#070 0,#090 47%,#0a0 53%,#0c0 100%);background-image:-o-linear-gradient(left,#070 0,#090 47%,#0a0 53%,#0c0 100%);background-image:linear-gradient(to right,#070 0,#090 47%,#0a0 53%,#0c0 100%);z-index:1}#loading .leftMenu__open{padding-left:250px}#loading h1{margin:13px 13px 0;color:#ddd;font-size:14px;font-weight:700;text-shadow:0 1px 0 #000;text-transform:capitalize}#loading h1 span{margin-left:10px;font-weight:400;text-transform:none}.basicModalContainer{background-color:rgba(0,0,0,.85)}.basicModal{background:-webkit-gradient(linear,left top,left bottom,from(#444),to(#333));background:-webkit-linear-gradient(top,#444,#333);background:-o-linear-gradient(top,#444,#333);background:linear-gradient(to bottom,#444,#333);-webkit-box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}.basicModal__content{padding:0}.basicModal__content p{margin:0}.basicModal__buttons{-webkit-box-shadow:none;box-shadow:none}.basicModal p{padding:10px 30px;color:rgba(255,255,255,.9);font-size:14px;text-align:left;line-height:20px}.basicModal p b{font-weight:700;color:#fff}.basicModal p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.basicModal p:first-of-type{padding-top:42px}.basicModal p:last-of-type{padding-bottom:40px}.basicModal p.signIn:first-of-type{padding-top:30px}.basicModal p.less,.basicModal p.signIn:last-of-type{padding-bottom:30px}.basicModal__button{padding:13px 0 15px;background:rgba(0,0,0,.02);color:rgba(255,255,255,.5);border-top:1px solid rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);cursor:default}.basicModal__button:hover{background:rgba(255,255,255,.02)}.basicModal__button--active,.basicModal__button:active{-webkit-transition:none;-o-transition:none;transition:none;background:rgba(0,0,0,.1)}.basicModal__button#basicModal__action{color:#2293ec;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2)}.basicModal__button#basicModal__action.red{color:#d92c34}.basicModal__button.hidden{display:none}.basicModal input.text{padding:9px 2px;width:100%;background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}.basicModal input.text:focus{border-bottom-color:#2293ec}.basicModal input.text.error{border-bottom-color:#d92c34}.basicModal input.text:first-child{margin-top:10px}.basicModal input.text:last-child{margin-bottom:10px}.basicModal .choice{padding:0 30px 15px;width:100%;color:#fff}.basicModal .choice:last-child{padding-bottom:40px}.basicModal .choice label{float:left;color:#fff;font-size:14px;font-weight:700}.basicModal .choice label input{position:absolute;margin:0;opacity:0}.basicModal .choice label .checkbox{float:left;display:block;width:16px;height:16px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.basicModal .choice label .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.basicModal .choice label input:checked~.checkbox{background:rgba(0,0,0,.5)}.basicModal .choice label input:checked~.checkbox .iconic{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.basicModal .choice label input:active~.checkbox{background:rgba(0,0,0,.3)}.basicModal .choice label input:active~.checkbox .iconic{opacity:.8}.basicModal .choice label .label{margin:0 0 0 18px}.basicModal .choice p{clear:both;padding:2px 0 0 35px;margin:0;width:100%;color:rgba(255,255,255,.6);font-size:13px}.basicModal .choice input.text{display:none;margin-top:5px;margin-left:35px;width:calc(100% - 35px)}.basicModal .select{display:inline-block;position:relative;margin:5px 7px;padding:0;width:210px;background:rgba(0,0,0,.3);color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:11px;line-height:16px;overflow:hidden;outline:0;vertical-align:middle}.basicModal .select::after{position:absolute;content:'≡';right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.basicModal .select select{margin:0;padding:4px 8px;width:120%;color:#fff;font-size:11px;line-height:16px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background-color:transparent;background-image:none;-moz-appearance:none;-webkit-appearance:none;appearance:none}.basicModal .select select:focus{outline:0}.basicModal .select select option{background:#333!important;color:#fff!important;margin:0;padding:0;-webkit-transition:none;-o-transition:none;transition:none}.basicModal .version{margin:-5px 0 0;padding:0 30px 30px!important;color:rgba(255,255,255,.3);font-size:12px;text-align:right}.basicModal .version span{display:none}.basicModal .version span a{color:rgba(255,255,255,.3)}.basicModal div.version{position:absolute;top:20px;right:0}.basicModal h1{float:left;width:100%;padding:12px 0;color:#fff;font-size:16px;font-weight:700;text-align:center}.basicModal .rows{margin:0 8px 8px;width:calc(100% - 16px);height:300px;background-color:rgba(0,0,0,.4);overflow:hidden;overflow-y:auto;border-radius:3px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.4);box-shadow:inset 0 0 3px rgba(0,0,0,.4)}.basicModal .rows .row{float:left;padding:8px 0;width:100%;background-color:rgba(255,255,255,.02)}.basicModal .rows .row:nth-child(2n){background-color:rgba(255,255,255,0)}.basicModal .rows .row a.name{float:left;padding:5px 10px;width:70%;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden}.basicModal .rows .row a.status{float:left;padding:5px 10px;width:30%;color:rgba(255,255,255,.5);font-size:14px;text-align:right;-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.basicModal .rows .row a.status.error,.basicModal .rows .row a.status.success,.basicModal .rows .row a.status.warning{-webkit-animation:none;animation:none}.basicModal .rows .row a.status.error{color:#e92a00}.basicModal .rows .row a.status.warning{color:#e4e900}.basicModal .rows .row a.status.success{color:#7ee900}.basicModal .rows .row p.notice{display:none;float:left;padding:2px 10px 5px;width:100%;color:rgba(255,255,255,.5);font-size:12px;overflow:hidden;line-height:16px}.settings_view{width:80%;max-width:600px;margin-left:auto;margin-right:auto}.setCSS,.setDefaultLicense,.setDropBox,.setLang,.setLayoutOverlay,.setLogin,.setSorting{font-size:14px;width:100%;padding:5%}.setCSS p,.setDefaultLicense p,.setDropBox p,.setLang p,.setLayoutOverlay p,.setLogin p,.setSorting p{margin:0 0 5%;width:100%;color:#ccc}.setCSS p a,.setDefaultLicense p a,.setDropBox p a,.setLang p a,.setLayoutOverlay p a,.setLogin p a,.setSorting p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.setCSS p:last-of-type,.setDefaultLicense p:last-of-type,.setDropBox p:last-of-type,.setLang p:last-of-type,.setLayoutOverlay p:last-of-type,.setLogin p:last-of-type,.setSorting p:last-of-type{margin:0}.setCSS input.text,.setDefaultLicense input.text,.setDropBox input.text,.setLang input.text,.setLayoutOverlay input.text,.setLogin input.text,.setSorting input.text{padding:9px 2px;width:100%;background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}.setCSS input.text:focus,.setDefaultLicense input.text:focus,.setDropBox input.text:focus,.setLang input.text:focus,.setLayoutOverlay input.text:focus,.setLogin input.text:focus,.setSorting input.text:focus{border-bottom-color:#2293ec}.setCSS input.text.error,.setDefaultLicense input.text.error,.setDropBox input.text.error,.setLang input.text.error,.setLayoutOverlay input.text.error,.setLogin input.text.error,.setSorting input.text.error{border-bottom-color:#d92c34}.setCSS input.text:first-child,.setDefaultLicense input.text:first-child,.setDropBox input.text:first-child,.setLang input.text:first-child,.setLayoutOverlay input.text:first-child,.setLogin input.text:first-child,.setSorting input.text:first-child{margin-top:10px}.setCSS input.text:last-child,.setDefaultLicense input.text:last-child,.setDropBox input.text:last-child,.setLang input.text:last-child,.setLayoutOverlay input.text:last-child,.setLogin input.text:last-child,.setSorting input.text:last-child{margin-bottom:10px}.setCSS textarea,.setDefaultLicense textarea,.setDropBox textarea,.setLang textarea,.setLayoutOverlay textarea,.setLogin textarea,.setSorting textarea{padding:9px;width:calc(100% - 18px);height:100px;background-color:transparent;color:#fff;border:1px solid #666;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0;resize:vertical}.setCSS textarea:focus,.setDefaultLicense textarea:focus,.setDropBox textarea:focus,.setLang textarea:focus,.setLayoutOverlay textarea:focus,.setLogin textarea:focus,.setSorting textarea:focus{border-color:#2293ec}.setCSS .choice,.setDefaultLicense .choice,.setDropBox .choice,.setLang .choice,.setLayoutOverlay .choice,.setLogin .choice,.setSorting .choice{padding:0 30px 15px;width:100%;color:#fff}.setCSS .choice:last-child,.setDefaultLicense .choice:last-child,.setDropBox .choice:last-child,.setLang .choice:last-child,.setLayoutOverlay .choice:last-child,.setLogin .choice:last-child,.setSorting .choice:last-child{padding-bottom:40px}.setCSS .choice label,.setDefaultLicense .choice label,.setDropBox .choice label,.setLang .choice label,.setLayoutOverlay .choice label,.setLogin .choice label,.setSorting .choice label{float:left;color:#fff;font-size:14px;font-weight:700}.setCSS .choice label input,.setDefaultLicense .choice label input,.setDropBox .choice label input,.setLang .choice label input,.setLayoutOverlay .choice label input,.setLogin .choice label input,.setSorting .choice label input{position:absolute;margin:0;opacity:0}.setCSS .choice label .checkbox,.setDefaultLicense .choice label .checkbox,.setDropBox .choice label .checkbox,.setLang .choice label .checkbox,.setLayoutOverlay .choice label .checkbox,.setLogin .choice label .checkbox,.setSorting .choice label .checkbox{float:left;display:block;width:16px;height:16px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.setCSS .choice label .checkbox .iconic,.setDefaultLicense .choice label .checkbox .iconic,.setDropBox .choice label .checkbox .iconic,.setLang .choice label .checkbox .iconic,.setLayoutOverlay .choice label .checkbox .iconic,.setLogin .choice label .checkbox .iconic,.setSorting .choice label .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.setCSS .basicModal__button,.setDefaultLicense .basicModal__button,.setDropBox .basicModal__button,.setLang .basicModal__button,.setLayoutOverlay .basicModal__button,.setLogin .basicModal__button,.setSorting .basicModal__button{color:#2293ec;display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2)}.setCSS .basicModal__button:hover,.setDefaultLicense .basicModal__button:hover,.setDropBox .basicModal__button:hover,.setLang .basicModal__button:hover,.setLayoutOverlay .basicModal__button:hover,.setLogin .basicModal__button:hover,.setSorting .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.setCSS .basicModal__button:last-child,.setDefaultLicense .basicModal__button:last-child,.setDropBox .basicModal__button:last-child,.setLang .basicModal__button:last-child,.setLayoutOverlay .basicModal__button:last-child,.setLogin .basicModal__button:last-child,.setSorting .basicModal__button:last-child{border-radius:0 0 5px 5px}.setCSS .basicModal__button_MORE,.setDefaultLicense .basicModal__button_MORE,.setDropBox .basicModal__button_MORE,.setLang .basicModal__button_MORE,.setLayoutOverlay .basicModal__button_MORE,.setLogin .basicModal__button_MORE,.setSorting .basicModal__button_MORE{color:#b22027;border-radius:5px}.setCSS .basicModal__button_MORE:hover,.setDefaultLicense .basicModal__button_MORE:hover,.setDropBox .basicModal__button_MORE:hover,.setLang .basicModal__button_MORE:hover,.setLayoutOverlay .basicModal__button_MORE:hover,.setLogin .basicModal__button_MORE:hover,.setSorting .basicModal__button_MORE:hover{background:#b22027;color:#fff}.setCSS input:hover,.setDefaultLicense input:hover,.setDropBox input:hover,.setLang input:hover,.setLayoutOverlay input:hover,.setLogin input:hover,.setSorting input:hover{border-bottom:1px solid #2293ec}.setCSS .select,.setDefaultLicense .select,.setDropBox .select,.setLang .select,.setLayoutOverlay .select,.setLogin .select,.setSorting .select{position:relative;margin:1px 5px;padding:0;width:110px;color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:11px;line-height:16px;overflow:hidden;outline:0;vertical-align:middle;background:rgba(0,0,0,.3);display:inline-block}.setCSS .select select,.setDefaultLicense .select select,.setDropBox .select select,.setLang .select select,.setLayoutOverlay .select select,.setLogin .select select,.setSorting .select select{margin:0;padding:4px 8px;width:120%;color:#fff;font-size:11px;line-height:16px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background-color:transparent;background-image:none;-moz-appearance:none;-webkit-appearance:none;appearance:none}.setCSS .select select option,.setDefaultLicense .select select option,.setDropBox .select select option,.setLang .select select option,.setLayoutOverlay .select select option,.setLogin .select select option,.setSorting .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.setCSS .select::after,.setDefaultLicense .select::after,.setDropBox .select::after,.setLang .select::after,.setLayoutOverlay .select::after,.setLogin .select::after,.setSorting .select::after{position:absolute;content:'≡';right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.setCSS .switch,.setDefaultLicense .switch,.setDropBox .switch,.setLang .switch,.setLayoutOverlay .switch,.setLogin .switch,.setSorting .switch{position:relative;display:inline-block;width:42px;height:22px;bottom:4px}.setCSS .switch input,.setDefaultLicense .switch input,.setDropBox .switch input,.setLang .switch input,.setLayoutOverlay .switch input,.setLogin .switch input,.setSorting .switch input{opacity:0;width:0;height:0}.setCSS .slider,.setDefaultLicense .slider,.setDropBox .slider,.setLang .slider,.setLayoutOverlay .slider,.setLogin .slider,.setSorting .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);background:rgba(0,0,0,.3);-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.setCSS .slider:before,.setDefaultLicense .slider:before,.setDropBox .slider:before,.setLang .slider:before,.setLayoutOverlay .slider:before,.setLogin .slider:before,.setSorting .slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#2293ec;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.setCSS input:checked+.slider,.setDefaultLicense input:checked+.slider,.setDropBox input:checked+.slider,.setLang input:checked+.slider,.setLayoutOverlay input:checked+.slider,.setLogin input:checked+.slider,.setSorting input:checked+.slider{background-color:#2293ec}.setCSS input:checked+.slider:before,.setDefaultLicense input:checked+.slider:before,.setDropBox input:checked+.slider:before,.setLang input:checked+.slider:before,.setLayoutOverlay input:checked+.slider:before,.setLogin input:checked+.slider:before,.setSorting input:checked+.slider:before{-ms-transform:translateX(20px);-webkit-transform:translateX(20px);transform:translateX(20px);background-color:#fff}.setCSS .slider.round,.setDefaultLicense .slider.round,.setDropBox .slider.round,.setLang .slider.round,.setLayoutOverlay .slider.round,.setLogin .slider.round,.setSorting .slider.round{border-radius:20px}.setCSS .slider.round:before,.setDefaultLicense .slider.round:before,.setDropBox .slider.round:before,.setLang .slider.round:before,.setLayoutOverlay .slider.round:before,.setLogin .slider.round:before,.setSorting .slider.round:before{border-radius:50%}#fullSettings{width:100%;max-width:700px;margin-left:auto;margin-right:auto}#fullSettings .setting_line{font-size:14px;width:100%}#fullSettings .setting_line:first-child,#fullSettings .setting_line:last-child{padding-top:50px}#fullSettings .setting_line p{min-width:550px;margin:0;color:#ccc;display:inline-block;width:100%}#fullSettings .setting_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}#fullSettings .setting_line p:last-of-type{margin:0}#fullSettings .setting_line p.warning{margin-bottom:30px;color:#d92c34;font-weight:700;font-size:18px;text-align:justify;line-height:22px}#fullSettings .setting_line span.text{display:inline-block;padding:9px 4px;width:calc(50% - 12px);background-color:transparent;color:#fff;border:none}#fullSettings .setting_line span.text_icon{width:5%}#fullSettings .setting_line span.text_icon .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}#fullSettings .setting_line input.text{padding:9px 2px;width:calc(50% - 4px);background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}#fullSettings .setting_line input.text:focus{border-bottom-color:#2293ec}#fullSettings .setting_line input:hover{border-bottom:1px solid #2293ec}#fullSettings .basicModal__button{display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);width:100%;min-width:50px;border-radius:0 0 5px 5px}#fullSettings .basicModal__button:hover{cursor:pointer}#fullSettings .basicModal__button_SAVE{color:#b22027}#fullSettings .basicModal__button_SAVE:hover{background:#b22027;color:#fff}.users_view{width:80%;max-width:700px;margin-left:auto;margin-right:auto}.users_view_line{font-size:14px;width:100%}.users_view_line:first-child,.users_view_line:last-child{padding-top:50px}.users_view_line p{width:550px;margin:0 0 5%;color:#ccc;display:inline-block}.users_view_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.users_view_line p.line,.users_view_line p:last-of-type{margin:0}.users_view_line span.text{display:inline-block;padding:9px 4px;width:40%;background-color:transparent;color:#fff;border:none}.users_view_line span.text_icon{width:5%}.users_view_line span.text_icon .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}.users_view_line input.text{padding:9px 2px;width:40%;background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}.users_view_line input.text:focus{border-bottom-color:#2293ec}.users_view_line input.text.error{border-bottom-color:#d92c34}.users_view_line .choice label input:checked~.checkbox .iconic{opacity:1;-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.users_view_line .choice{display:inline-block;width:5%;color:#fff}.users_view_line .choice input{position:absolute;margin:0;opacity:0}.users_view_line .choice .checkbox{display:inline-block;width:16px;height:16px;margin-top:10px;margin-left:2px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.users_view_line .choice .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.users_view_line .basicModal__button{display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);width:10%;min-width:50px;border-radius:0}.users_view_line .basicModal__button:last-child{border-radius:0 5px 5px 0}.users_view_line .basicModal__button:hover{cursor:pointer}.users_view_line .basicModal__button_OK{color:#2293ec}.users_view_line .basicModal__button_OK:hover{background:#2293ec;color:#fff}.users_view_line .basicModal__button_DEL{color:#b22027}.users_view_line .basicModal__button_DEL:hover{background:#b22027;color:#fff}.users_view_line .basicModal__button_CREATE{width:20%;color:#090}.users_view_line .basicModal__button_CREATE:hover{background:#090;color:#fff}.users_view_line input:hover{border-bottom:1px solid #2293ec}.users_view_line .select{position:relative;margin:1px 5px;padding:0;width:110px;color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:11px;line-height:16px;overflow:hidden;outline:0;vertical-align:middle;background:rgba(0,0,0,.3);display:inline-block}.users_view_line .select select{margin:0;padding:4px 8px;width:120%;color:#fff;font-size:11px;line-height:16px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:0 0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.users_view_line .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.users_view_line .select::after{position:absolute;content:'≡';right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.logs_diagnostics_view{width:1200px;margin-left:auto;margin-right:auto;color:#ccc;font-size:12px;line-height:14px}.logs_diagnostics_view pre{font-family:monospace;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.clear_logs{width:1200px;margin-left:auto;margin-right:auto;margin-bottom:20px}.clear_logs .basicModal__button{margin-top:10px;color:#2293ec;display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);border-radius:0 0 5px 5px}.clear_logs #Clean_Noise{width:200px;margin-left:auto;display:block;margin-right:auto}.sharing_view{width:600px;margin-left:auto;margin-right:auto;margin-top:20px}.sharing_view .sharing_view_line{width:100%;display:block;clear:left}.sharing_view .col-xs-1,.sharing_view .col-xs-10,.sharing_view .col-xs-11,.sharing_view .col-xs-12,.sharing_view .col-xs-2,.sharing_view .col-xs-3,.sharing_view .col-xs-4,.sharing_view .col-xs-5,.sharing_view .col-xs-6,.sharing_view .col-xs-7,.sharing_view .col-xs-8,.sharing_view .col-xs-9{float:left;position:relative;min-height:1px}.sharing_view .col-xs-2{width:10%;padding-right:3%;padding-left:3%}.sharing_view .col-xs-5{width:42%}.sharing_view .btn-block+.btn-block{margin-top:5px}.sharing_view .btn-block{display:block;width:100%}.sharing_view .btn-default{color:#2293ec;border-color:#2293ec;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.sharing_view .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.sharing_view select[multiple],.sharing_view select[size]{height:150px}.sharing_view .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.sharing_view .iconic{display:inline-block;width:15px;height:14px;fill:#2293ec}.sharing_view .iconic .iconic.ionicons{margin:0 8px -2px 0;width:18px;height:18px}.sharing_view .blue .iconic{fill:#2293ec}.sharing_view .grey .iconic{fill:#b4b4b4}.sharing_view p{width:100%;color:#ccc;text-align:center;font-size:14px;display:block}.sharing_view p.with{padding:15px 0}.sharing_view span.text{display:inline-block;padding:0 2px;width:40%;background-color:transparent;color:#fff;border:none}.sharing_view span.text:last-of-type{width:5%}.sharing_view span.text .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}.sharing_view .basicModal__button{margin-top:10px;color:#2293ec;display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);border-radius:0 0 5px 5px}.sharing_view .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.sharing_view input:hover{border-bottom:1px solid #2293ec}.sharing_view .choice label input:checked~.checkbox .iconic{opacity:1;-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.sharing_view .choice{display:inline-block;width:5%;margin:0 10px;color:#fff}.sharing_view .choice input{position:absolute;margin:0;opacity:0}.sharing_view .choice .checkbox{display:inline-block;width:16px;height:16px;margin-top:10px;margin-left:2px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.sharing_view .choice .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.sharing_view .select{position:relative;padding:0;color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:14px;line-height:16px;outline:0;vertical-align:middle;background:rgba(0,0,0,.3);display:inline-block}.sharing_view .borderBlue{border:1px solid #2293ec}#multiselect{position:absolute;background-color:rgba(0,94,204,.3);border:1px solid #005ecc;border-radius:3px;z-index:3}.justified-layout{margin:30px 30px 0;width:100%;position:relative}.justified-layout>.photo{position:absolute;margin:0}.justified-layout>.photo>.thumbimg,.justified-layout>.photo>.thumbimg>img{width:100%;height:100%;border:none;-o-object-fit:cover;object-fit:cover}.justified-layout>.photo>.overlay{width:100%;bottom:0;margin:0} \ No newline at end of file +@charset "UTF-8";.basicContextContainer{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1000;-webkit-tap-highlight-color:transparent}.basicContext{position:absolute;opacity:0;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.2) basicContext__popIn;animation:.3s cubic-bezier(.51,.92,.24,1.2) basicContext__popIn}.basicContext *{-webkit-box-sizing:border-box;box-sizing:border-box}.basicContext__item{cursor:pointer}.basicContext__item--separator{float:left;width:100%;cursor:default}.basicContext__item--disabled{cursor:default;opacity:.5}.basicContext__data{min-width:140px;text-align:left;white-space:nowrap}.basicContext__icon{display:inline-block}.basicContext--scrollable{height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto}.basicContext--scrollable .basicContext__data{min-width:160px}@-webkit-keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes basicModal__fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes basicModal__fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes basicModal__fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes basicModal__fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes basicModal__moveUpFade{0%{-webkit-transform:translateY(80px);transform:translateY(80px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes basicModal__moveUpFade{0%{-webkit-transform:translateY(80px);transform:translateY(80px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes basicModal__shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}20%,60%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes basicModal__shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}20%,60%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}.basicModalContainer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;width:100%;height:100%;top:0;left:0;z-index:1000;-webkit-box-sizing:border-box;box-sizing:border-box}.basicModalContainer *,.basicModalContainer :after,.basicModalContainer :before{-webkit-box-sizing:border-box;box-sizing:border-box}.basicModalContainer--fadeIn{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeIn;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeIn}.basicModalContainer--fadeOut{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeOut;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__fadeOut}.basicModalContainer--fadeIn .basicModal--fadeIn{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__moveUpFade;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__moveUpFade}.basicModalContainer--fadeIn .basicModal--shake{-webkit-animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__shake;animation:.3s cubic-bezier(.51,.92,.24,1.15) basicModal__shake}.basicModal{position:relative;width:500px;background-color:#fff;font-size:14px;border-radius:5px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.basicModal__content{max-height:70vh;overflow:auto;-webkit-overflow-scrolling:touch}.basicModal__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.1);box-shadow:0 -1px 0 rgba(0,0,0,.1)}.basicModal__button{display:inline-block;width:100%;font-weight:700;text-align:center;-webkit-transition:background-color .2s;-o-transition:background-color .2s;transition:background-color .2s;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.basicModal__button#basicModal__cancel{-ms-flex-negative:2;flex-shrink:2}.basicModal__button#basicModal__action{-ms-flex-negative:1;flex-shrink:1;-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1);box-shadow:inset 1px 0 0 rgba(0,0,0,.1)}.basicModal__button#basicModal__action:first-child{-webkit-box-shadow:none;box-shadow:none}.basicModal__button:first-child{border-radius:0 0 0 5px}.basicModal__button:last-child{border-radius:0 0 5px}.basicModal__text{width:100%;margin:0;padding:14px 10px;background-color:rgba(0,0,0,0);color:#333;border:none;-webkit-box-shadow:0 1px 0 #c8c8c8;box-shadow:0 1px 0 #c8c8c8;border-radius:0;outline:0;-webkit-transition:background-color .2s,-webkit-box-shadow .2s;transition:background-color .2s,box-shadow .2s,-webkit-box-shadow .2s;-o-transition:background-color .2s,box-shadow .2s}.basicModal__text:hover{background-color:rgba(0,0,0,.02);-webkit-box-shadow:0 1px 0 #b4b4b4;box-shadow:0 1px 0 #b4b4b4}.basicModal__text:focus{background-color:rgba(40,117,237,.05);-webkit-box-shadow:0 1px 0 #2875ed;box-shadow:0 1px 0 #2875ed}.basicModal__text.error{background-color:rgba(255,36,16,.05);-webkit-box-shadow:0 1px 0 #ff2410;box-shadow:0 1px 0 #ff2410}.basicModal p{margin:0 0 5%;width:100%}.basicModal p:last-child{margin:0}.basicModal__small{max-width:340px;text-align:center}.basicModal__small .basicModal__content{padding:10% 5%}.basicModal__xclose#basicModal__cancel{position:absolute;top:-8px;right:-8px;margin:0;padding:0;width:40px;height:40px;background-color:#fff;border-radius:100%;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.basicModal__xclose#basicModal__cancel:after{content:'';position:absolute;left:-3px;top:8px;width:35px;height:34px;background:#fff}.basicModal__xclose#basicModal__cancel svg{position:relative;width:20px;height:39px;fill:#888;z-index:1;-webkit-transition:fill .2s;-o-transition:fill .2s;transition:fill .2s}.basicModal__xclose#basicModal__cancel:after:hover svg,.basicModal__xclose#basicModal__cancel:hover svg{fill:#2875ed}.basicModal__xclose#basicModal__cancel:active svg,.basicModal__xclose#basicModal__cancel:after:active svg{fill:#1364e3}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;background-color:#1d1d1d;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:12px;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:color .3s,opacity .3s ease-out,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;-o-transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s}body,html{min-height:100%}body.view{background-color:#0f0f0f}input{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}.svgsprite{display:none}.iconic{width:100%;height:100%}#upload{display:none}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes moveBackground{0%{background-position-x:0}100%{background-position-x:-100px}}@keyframes moveBackground{0%{background-position-x:0}100%{background-position-x:-100px}}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}}@keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}}@-webkit-keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}.content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:50px 0 33px;width:100%;min-height:calc(100% - 83px);-webkit-transition:margin-left .5s;-o-transition:margin-left .5s;transition:margin-left .5s;-webkit-overflow-scrolling:touch}.content::before{content:'';position:absolute;left:0;width:100%;height:1px;background:rgba(255,255,255,.02)}.content--sidebar{width:calc(100% - 300px)}.content.contentZoomIn .album,.content.contentZoomIn .photo{-webkit-animation-name:zoomIn;animation-name:zoomIn}.content.contentZoomIn .divider{-webkit-animation-name:fadeIn;animation-name:fadeIn}.content.contentZoomOut .album,.content.contentZoomOut .photo{-webkit-animation-name:zoomOut;animation-name:zoomOut}.content.contentZoomOut .divider{-webkit-animation-name:fadeOut;animation-name:fadeOut}.content .album,.content .photo{position:relative;width:202px;height:202px;margin:30px 0 0 30px;cursor:default;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}.content .album .thumbimg,.content .photo .thumbimg{position:absolute;width:200px;height:200px;background:#222;color:#222;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.5);-webkit-transition:opacity .3s ease-out,border-color .3s ease-out,-webkit-transform .3s ease-out;transition:opacity .3s ease-out,transform .3s ease-out,border-color .3s ease-out,-webkit-transform .3s ease-out;-o-transition:opacity .3s ease-out,transform .3s ease-out,border-color .3s ease-out}.content .album .thumbimg>img,.content .photo .thumbimg>img{width:100%;height:100%}.content .album.active .thumbimg,.content .album:hover .thumbimg,.content .photo.active .thumbimg,.content .photo:hover .thumbimg{border-color:#2293ec}.content .album:active .thumbimg,.content .photo:active .thumbimg{-webkit-transition:none;-o-transition:none;transition:none;border-color:#0f6ab2}.content .album.selected img,.content .photo.selected img{outline:#2293ec solid 1px}.content .album .video::before,.content .photo .video::before{content:'';position:absolute;display:block;height:100%;width:100%;background:url(play-icon.png) 46% 50%;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;will-change:opacity,height}.content .album .video:hover::before,.content .photo .video:hover::before{opacity:.75}.content .album .thumbimg:first-child,.content .album .thumbimg:nth-child(2){-webkit-transform:rotate(0) translateY(0) translateX(0);-ms-transform:rotate(0) translateY(0) translateX(0);transform:rotate(0) translateY(0) translateX(0);opacity:0}.content .album:hover .thumbimg:nth-child(1),.content .album:hover .thumbimg:nth-child(2){opacity:1;will-change:transform}.content .album:hover .thumbimg:nth-child(1){-webkit-transform:rotate(-2deg) translateY(10px) translateX(-12px);-ms-transform:rotate(-2deg) translateY(10px) translateX(-12px);transform:rotate(-2deg) translateY(10px) translateX(-12px)}.content .album:hover .thumbimg:nth-child(2){-webkit-transform:rotate(5deg) translateY(-8px) translateX(12px);-ms-transform:rotate(5deg) translateY(-8px) translateX(12px);transform:rotate(5deg) translateY(-8px) translateX(12px)}.content .album .overlay,.content .photo .overlay{position:absolute;margin:0 1px;width:200px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.6)));background:-webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.6));background:-o-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.6));background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.6));bottom:1px}.content .album .thumbimg[data-overlay=false]+.overlay{background:0 0}.content .photo .overlay{opacity:0}.content .photo.active .overlay,.content .photo:hover .overlay{opacity:1}.content .album .overlay h1,.content .photo .overlay h1{min-height:19px;width:180px;margin:12px 0 5px 15px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);font-size:16px;font-weight:700;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.content .album .overlay a,.content .photo .overlay a{display:block;margin:0 0 12px 15px;font-size:11px;color:#ccc;text-shadow:0 1px 3px rgba(0,0,0,.4)}.content .photo .overlay a .iconic{fill:#ccc;margin:0 5px 0 0;width:8px;height:8px}.content .album .thumbimg[data-overlay=false]+.overlay a,.content .album .thumbimg[data-overlay=false]+.overlay h1{text-shadow:none}.content .album .badges,.content .photo .badges{position:relative;margin:-1px 0 0 6px}.content .album .subalbum_badge{position:absolute;right:0;top:0}.content .album .badge,.content .photo .badge{display:none;margin:0 0 0 6px;padding:12px 8px 6px;width:18px;background:#d92c34;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);border-radius:0 0 5px 5px;border:1px solid #fff;border-top:none;color:#fff;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.4);opacity:.9}.content .album .badge--visible,.content .photo .badge--visible{display:inline-block}.content .album .badge--not--hidden,.content .photo .badge--not--hidden{background:#0a0}.content .album .badge--hidden,.content .photo .badge--hidden{background:#f90}.content .album .badge--star,.content .photo .badge--star{display:inline-block;background:#fc0}.content .album .badge--list,.content .photo .badge--list{background:#2293ec}.content .album .badge .iconic,.content .photo .badge .iconic{fill:#fff;width:16px;height:16px}.content .album .badge--folder,.content .photo .badge--folder{display:inline-block;-webkit-box-shadow:none;box-shadow:none;background:0 0;border:none}.content .album .badge--folder .iconic,.content .photo .badge--folder .iconic{width:12px;height:12px}.content .divider{margin:50px 0 0;padding:10px 0 0;width:100%;opacity:0;border-top:1px solid rgba(255,255,255,.02);-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.2);box-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1);animation-timing-function:cubic-bezier(.51,.92,.24,1)}.content .divider:first-child{margin-top:10px;border-top:0;-webkit-box-shadow:none;box-shadow:none}.content .divider h1{margin:0 0 0 30px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700}.no_content{position:absolute;top:50%;left:50%;padding-top:20px;color:rgba(255,255,255,.35);text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.no_content .iconic{fill:rgba(255,255,255,.3);margin:0 0 10px;width:50px;height:50px}.no_content p{font-size:16px;font-weight:700}.leftMenu__open{margin-left:250px;width:calc(100% - 250px)}.leftMenu{height:100%;width:0;position:fixed;z-index:1;top:0;left:0;background-color:#111;overflow-x:hidden;padding-top:60px;-webkit-transition:.5s;-o-transition:.5s;transition:.5s}.leftMenu a{padding:8px 8px 8px 32px;text-decoration:none;font-size:18px;color:#818181;display:block;-webkit-transition:.3s;-o-transition:.3s;transition:.3s}.leftMenu a:hover{color:#f1f1f1}.leftMenu .closebtn{position:absolute;top:0;right:25px;font-size:36px;margin-left:50px}.leftMenu .iconic{display:inline-block;margin:0 10px 0 1px;width:15px;height:14px;fill:#818181}.leftMenu .iconic.ionicons{margin:0 8px -2px 0;width:18px;height:18px}.leftMenu__visible{width:250px}@media screen and (max-height:450px){.leftMenu{padding-top:15px}.leftMenu a{font-size:18px}}.basicContext{padding:5px 0 6px;background:-webkit-gradient(linear,left top,left bottom,from(#333),to(#252525));background:-webkit-linear-gradient(top,#333,#252525);background:-o-linear-gradient(top,#333,#252525);background:linear-gradient(to bottom,#333,#252525);-webkit-box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);border-radius:5px;border:1px solid rgba(0,0,0,.7);border-bottom:1px solid rgba(0,0,0,.8);-webkit-transition:none;-o-transition:none;transition:none}.basicContext__item{margin-bottom:2px;font-size:14px}.basicContext__item--separator{margin:4px 0;height:2px;background:rgba(0,0,0,.2);border-bottom:1px solid rgba(255,255,255,.06)}.basicContext__item:last-child{margin-bottom:0}.basicContext__data{min-width:auto;padding:6px 25px 7px 12px;color:#fff;-webkit-transition:none;-o-transition:none;transition:none;cursor:default}.basicContext__item:not(.basicContext__item--disabled):hover .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#2293ec),to(#1386e1));background:-webkit-linear-gradient(top,#2293ec,#1386e1);background:-o-linear-gradient(top,#2293ec,#1386e1);background:linear-gradient(to bottom,#2293ec,#1386e1)}.basicContext__item:not(.basicContext__item--disabled):active .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#1178ca),to(#0f6ab2));background:-webkit-linear-gradient(top,#1178ca,#0f6ab2);background:-o-linear-gradient(top,#1178ca,#0f6ab2);background:linear-gradient(to bottom,#1178ca,#0f6ab2)}.basicContext__icon{margin-right:10px;width:12px;text-align:center}.basicContext__data .cover{position:absolute;background-color:#222;border-radius:2px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.5);box-shadow:0 0 0 1px rgba(0,0,0,.5)}.basicContext__data .title{display:inline-block;margin:0 0 3px 26px}.basicContext__data .iconic{display:inline-block;margin:0 10px 0 1px;width:11px;height:10px;fill:#fff}.basicContext__data .iconic.ionicons{margin:0 8px -2px 0;width:14px;height:14px}.basicContext__data input#link{margin:-2px 0;padding:5px 7px 6px;width:100%;background:#333;color:#fff;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);border:1px solid rgba(0,0,0,.4);border-radius:3px;outline:0}.basicContext__item--noHover .basicContext__data{padding-right:12px}.basicContext__item--noHover:hover .basicContext__data{background:0 0!important}.header{position:fixed;height:49px;width:100%;background:-webkit-gradient(linear,left top,left bottom,from(#222),to(#1a1a1a));background:-webkit-linear-gradient(top,#222,#1a1a1a);background:-o-linear-gradient(top,#222,#1a1a1a);background:linear-gradient(to bottom,#222,#1a1a1a);border-bottom:1px solid #0f0f0f;z-index:1;-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.header--hidden{-webkit-transform:translateY(-60px);-ms-transform:translateY(-60px);transform:translateY(-60px)}.header--loading{-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px)}.header--error{-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px)}.header--view{background:0 0;border-bottom:none}.header--view.header--error{background-color:rgba(10,10,10,.99)}.header__toolbar{display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;padding:0 10px}.header__toolbar--visible{display:-webkit-box;display:-ms-flexbox;display:flex}.header__title{width:100%;padding:16px 0;color:#fff;font-size:16px;font-weight:700;text-align:center;cursor:default;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;-webkit-transition:margin-left .5s;-o-transition:margin-left .5s;transition:margin-left .5s}.header__title .iconic{display:none;margin:0 0 0 5px;width:10px;height:10px;fill:rgba(255,255,255,.5);-webkit-transition:fill .2s ease-out;-o-transition:fill .2s ease-out;transition:fill .2s ease-out}.header__title:hover .iconic{fill:#fff}.header__title:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.header__title--editable .iconic{display:inline-block}.header .button{-ms-flex-negative:0;flex-shrink:0;padding:16px 8px;height:15px}.header .button .iconic{width:15px;height:15px;fill:rgba(255,255,255,.5);-webkit-transition:fill .2s ease-out;-o-transition:fill .2s ease-out;transition:fill .2s ease-out}.header .button:hover .iconic{fill:#fff}.header .button:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.header .button--star.active .iconic{fill:#f0ef77}.header .button--eye.active .iconic{fill:#ff9737}.header .button--share .iconic{height:18px}.header .button--info.active .iconic{fill:#2293ec}.header__divider{-ms-flex-negative:0;flex-shrink:0;width:14px}.header__search{-ms-flex-negative:0;flex-shrink:0;width:80px;margin:0;padding:5px 12px 6px;background-color:#1d1d1d;color:#fff;border:1px solid rgba(0,0,0,.9);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.04);box-shadow:0 1px 0 rgba(255,255,255,.04);outline:0;border-radius:50px;opacity:.6;-webkit-transition:opacity .3s ease-out,width .2s ease-out,-webkit-box-shadow .3s ease-out;transition:opacity .3s ease-out,box-shadow .3s ease-out,width .2s ease-out,-webkit-box-shadow .3s ease-out;-o-transition:opacity .3s ease-out,box-shadow .3s ease-out,width .2s ease-out}.header__search:focus{width:140px;border-color:#2293ec;-webkit-box-shadow:0 1px 0 rgba(255,255,255,0);box-shadow:0 1px 0 rgba(255,255,255,0);opacity:1}.header__search:focus~#clearSearch{opacity:1}.header__search::-ms-clear{display:none}.header__clear{position:absolute;top:13px;right:60px;padding:0;color:rgba(255,255,255,.5);font-size:20px;opacity:0;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out;transition:color .2s ease-out;cursor:default}.header__clear:hover{color:#fff}.header__hostedwith{-ms-flex-negative:0;flex-shrink:0;padding:5px 10px;margin:11px 0;color:#888;font-size:13px;border-radius:100px;cursor:default}.header__hostedwith:hover{background-color:rgba(0,0,0,.3)}.header .leftMenu__open{margin-left:250px}#imageview{position:fixed;display:none;top:0;left:0;width:100%;height:100%;background-color:rgba(10,10,10,.98);-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}#imageview.view{background-color:inherit}#imageview.full{background-color:#000;cursor:none}#imageview #image{position:absolute;top:60px;right:30px;bottom:30px;left:30px;margin:auto;max-width:calc(100% - 60px);max-height:calc(100% - 90px);width:auto;height:auto;-webkit-transition:top .3s,right .3s,bottom .3s,left .3s,max-width .3s,max-height .3s;-o-transition:top .3s,right .3s,bottom .3s,left .3s,max-width .3s,max-height .3s;transition:top .3s,right .3s,bottom .3s,left .3s,max-width .3s,max-height .3s;-webkit-animation-name:zoomIn;animation-name:zoomIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(.51,.92,.24,1.15);animation-timing-function:cubic-bezier(.51,.92,.24,1.15)}#imageview.full #image{top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%}#imageview #image_overlay{position:absolute;bottom:30px;left:30px;color:#fff;text-shadow:1px 1px 2px #000}#imageview #image_overlay h1{visibility:hidden;opacity:0;font-size:28px;font-weight:500;-webkit-transition:visibility .3s linear,opacity .3s linear;-o-transition:visibility .3s linear,opacity .3s linear;transition:visibility .3s linear,opacity .3s linear}#imageview #image_overlay p{margin-top:5px;font-size:20px;line-height:24px}#imageview.full #image_overlay h1{visibility:visible;opacity:1}#imageview .arrow_wrapper{position:fixed;width:15%;height:calc(100% - 60px);top:60px}#imageview .arrow_wrapper--previous{left:0}#imageview .arrow_wrapper--next{right:0}@media (max-width:640px){#imageview #image{top:60px;right:20px;bottom:20px;left:20px;max-width:calc(100% - 40px);max-height:calc(100% - 80px)}#imageview .arrow_wrapper{display:none}}#imageview .arrow_wrapper a{position:fixed;top:50%;margin:-19px 0 0;padding:8px 12px;width:16px;height:22px;background-size:100% 100%;border:1px solid rgba(255,255,255,.8);opacity:.6;z-index:2;-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out,-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out,opacity .2s ease-out;will-change:transform}#imageview .arrow_wrapper a#previous{left:-1px;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}#imageview .arrow_wrapper a#next{right:-1px;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}#imageview .arrow_wrapper:hover a#next,#imageview .arrow_wrapper:hover a#previous{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}#imageview .arrow_wrapper a:hover{opacity:1}#imageview .arrow_wrapper .iconic{fill:rgba(255,255,255,.8)}.sidebar{position:fixed;top:50px;right:-360px;width:350px;height:calc(100% - 50px);background-color:rgba(25,25,25,.98);border-left:1px solid rgba(0,0,0,.2);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .3s cubic-bezier(.51,.92,.24,1);transition:transform .3s cubic-bezier(.51,.92,.24,1);-o-transition:transform .3s cubic-bezier(.51,.92,.24,1);transition:transform .3s cubic-bezier(.51,.92,.24,1),-webkit-transform .3s cubic-bezier(.51,.92,.24,1)}.sidebar.active{-webkit-transform:translateX(-360px);-ms-transform:translateX(-360px);transform:translateX(-360px)}.sidebar.notSelectable table tr td:last-child{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.sidebar__header{float:left;height:49px;width:100%;background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.02)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(top,rgba(255,255,255,.02),rgba(0,0,0,0));background:-o-linear-gradient(top,rgba(255,255,255,.02),rgba(0,0,0,0));background:linear-gradient(to bottom,rgba(255,255,255,.02),rgba(0,0,0,0));border-top:1px solid #2293ec}.sidebar__header h1{position:absolute;margin:15px 0;width:100%;color:#fff;font-size:16px;font-weight:700;text-align:center}.sidebar__wrapper{float:left;height:calc(100% - 49px);width:350px;overflow:auto;-webkit-overflow-scrolling:touch}.sidebar__divider{float:left;padding:12px 0 8px;width:100%;border-top:1px solid rgba(255,255,255,.02);-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.2);box-shadow:0 -1px 0 rgba(0,0,0,.2)}.sidebar__divider:first-child{border-top:0;box-shaodw:none}.sidebar__divider h1{margin:0 0 0 20px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700}.sidebar .edit{display:inline-block;margin-left:3px;width:10px}.sidebar .edit .iconic{width:10px;height:10px;fill:rgba(255,255,255,.5);-webkit-transition:fill .2s ease-out;-o-transition:fill .2s ease-out;transition:fill .2s ease-out}.sidebar .edit:hover .iconic{fill:#fff}.sidebar .edit:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.sidebar table{float:left;margin:10px 0 15px 20px;width:calc(100% - 20px)}.sidebar table tr td{padding:5px 0;color:#fff;font-size:14px;line-height:19px}.sidebar table tr td:first-child{width:110px}.sidebar table tr td:last-child{padding-right:10px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sidebar #tags{width:calc(100% - 40px);margin:16px 20px 12px;color:#fff;display:inline-block}.sidebar #tags>div{display:inline-block}.sidebar #tags .empty{font-size:14px;margin:0 2px 8px 0}.sidebar #tags .edit{margin-top:6px}.sidebar #tags .empty .edit{margin-top:0}.sidebar #tags .tag{display:inline-block;padding:6px 10px;margin:0 6px 8px 0;background-color:rgba(0,0,0,.5);border-radius:100px;font-size:12px;-webkit-transition:background-color .2s;-o-transition:background-color .2s;transition:background-color .2s}.sidebar #tags .tag:hover{background-color:rgba(0,0,0,.3)}.sidebar #tags .tag span{float:right;padding:0;margin:0 0 -2px;width:0;overflow:hidden;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:width .2s,margin .2s,fill .2s ease-out,-webkit-transform .2s;transition:width .2s,margin .2s,transform .2s,fill .2s ease-out,-webkit-transform .2s;-o-transition:width .2s,margin .2s,transform .2s,fill .2s ease-out}.sidebar #tags .tag span .iconic{fill:#d92c34;width:8px;height:8px}.sidebar #tags .tag span:hover .iconic{fill:#e1575e}.sidebar #tags .tag span:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:#b22027}.sidebar #tags .tag:hover span{width:9px;margin:0 0 -2px 5px;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#loading{display:none;position:fixed;width:100%;height:3px;background-size:100px 3px;background-repeat:repeat-x;border-bottom:1px solid rgba(0,0,0,.3);-webkit-animation-name:moveBackground;animation-name:moveBackground;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}#loading.loading{height:3px;background-image:-webkit-gradient(linear,left top,right top,from(#153674),color-stop(47%,#153674),color-stop(53%,#2651ae),to(#2651ae));background-image:-webkit-linear-gradient(left,#153674 0,#153674 47%,#2651ae 53%,#2651ae 100%);background-image:-o-linear-gradient(left,#153674 0,#153674 47%,#2651ae 53%,#2651ae 100%);background-image:linear-gradient(to right,#153674 0,#153674 47%,#2651ae 53%,#2651ae 100%);z-index:2}#loading.error{height:40px;background-color:#2f0d0e;background-image:-webkit-gradient(linear,left top,right top,from(#451317),color-stop(47%,#451317),color-stop(53%,#aa3039),to(#aa3039));background-image:-webkit-linear-gradient(left,#451317 0,#451317 47%,#aa3039 53%,#aa3039 100%);background-image:-o-linear-gradient(left,#451317 0,#451317 47%,#aa3039 53%,#aa3039 100%);background-image:linear-gradient(to right,#451317 0,#451317 47%,#aa3039 53%,#aa3039 100%);z-index:1}#loading.success{height:40px;background-color:#070;background-image:-webkit-gradient(linear,left top,right top,from(#070),color-stop(47%,#090),color-stop(53%,#0a0),to(#0c0));background-image:-webkit-linear-gradient(left,#070 0,#090 47%,#0a0 53%,#0c0 100%);background-image:-o-linear-gradient(left,#070 0,#090 47%,#0a0 53%,#0c0 100%);background-image:linear-gradient(to right,#070 0,#090 47%,#0a0 53%,#0c0 100%);z-index:1}#loading .leftMenu__open{padding-left:250px}#loading h1{margin:13px 13px 0;color:#ddd;font-size:14px;font-weight:700;text-shadow:0 1px 0 #000;text-transform:capitalize}#loading h1 span{margin-left:10px;font-weight:400;text-transform:none}.basicModalContainer{background-color:rgba(0,0,0,.85)}.basicModal{background:-webkit-gradient(linear,left top,left bottom,from(#444),to(#333));background:-webkit-linear-gradient(top,#444,#333);background:-o-linear-gradient(top,#444,#333);background:linear-gradient(to bottom,#444,#333);-webkit-box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05)}.basicModal__content{padding:0}.basicModal__content p{margin:0}.basicModal__buttons{-webkit-box-shadow:none;box-shadow:none}.basicModal p{padding:10px 30px;color:rgba(255,255,255,.9);font-size:14px;text-align:left;line-height:20px}.basicModal p b{font-weight:700;color:#fff}.basicModal p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.basicModal p:first-of-type{padding-top:42px}.basicModal p:last-of-type{padding-bottom:40px}.basicModal p.signIn:first-of-type{padding-top:30px}.basicModal p.less,.basicModal p.signIn:last-of-type{padding-bottom:30px}.basicModal__button{padding:13px 0 15px;background:rgba(0,0,0,.02);color:rgba(255,255,255,.5);border-top:1px solid rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);cursor:default}.basicModal__button:hover{background:rgba(255,255,255,.02)}.basicModal__button--active,.basicModal__button:active{-webkit-transition:none;-o-transition:none;transition:none;background:rgba(0,0,0,.1)}.basicModal__button#basicModal__action{color:#2293ec;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2)}.basicModal__button#basicModal__action.red{color:#d92c34}.basicModal__button.hidden{display:none}.basicModal input.text{padding:9px 2px;width:100%;background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}.basicModal input.text:focus{border-bottom-color:#2293ec}.basicModal input.text.error{border-bottom-color:#d92c34}.basicModal input.text:first-child{margin-top:10px}.basicModal input.text:last-child{margin-bottom:10px}.basicModal .choice{padding:0 30px 15px;width:100%;color:#fff}.basicModal .choice:last-child{padding-bottom:40px}.basicModal .choice label{float:left;color:#fff;font-size:14px;font-weight:700}.basicModal .choice label input{position:absolute;margin:0;opacity:0}.basicModal .choice label .checkbox{float:left;display:block;width:16px;height:16px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.basicModal .choice label .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.basicModal .choice label input:checked~.checkbox{background:rgba(0,0,0,.5)}.basicModal .choice label input:checked~.checkbox .iconic{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.basicModal .choice label input:active~.checkbox{background:rgba(0,0,0,.3)}.basicModal .choice label input:active~.checkbox .iconic{opacity:.8}.basicModal .choice label .label{margin:0 0 0 18px}.basicModal .choice p{clear:both;padding:2px 0 0 35px;margin:0;width:100%;color:rgba(255,255,255,.6);font-size:13px}.basicModal .choice input.text{display:none;margin-top:5px;margin-left:35px;width:calc(100% - 35px)}.basicModal .select{display:inline-block;position:relative;margin:5px 7px;padding:0;width:210px;background:rgba(0,0,0,.3);color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:11px;line-height:16px;overflow:hidden;outline:0;vertical-align:middle}.basicModal .select::after{position:absolute;content:'≡';right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.basicModal .select select{margin:0;padding:4px 8px;width:120%;color:#fff;font-size:11px;line-height:16px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background-color:transparent;background-image:none;-moz-appearance:none;-webkit-appearance:none;appearance:none}.basicModal .select select:focus{outline:0}.basicModal .select select option{background:#333!important;color:#fff!important;margin:0;padding:0;-webkit-transition:none;-o-transition:none;transition:none}.basicModal .version{margin:-5px 0 0;padding:0 30px 30px!important;color:rgba(255,255,255,.3);font-size:12px;text-align:right}.basicModal .version span{display:none}.basicModal .version span a{color:rgba(255,255,255,.3)}.basicModal div.version{position:absolute;top:20px;right:0}.basicModal h1{float:left;width:100%;padding:12px 0;color:#fff;font-size:16px;font-weight:700;text-align:center}.basicModal .rows{margin:0 8px 8px;width:calc(100% - 16px);height:300px;background-color:rgba(0,0,0,.4);overflow:hidden;overflow-y:auto;border-radius:3px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.4);box-shadow:inset 0 0 3px rgba(0,0,0,.4)}.basicModal .rows .row{float:left;padding:8px 0;width:100%;background-color:rgba(255,255,255,.02)}.basicModal .rows .row:nth-child(2n){background-color:rgba(255,255,255,0)}.basicModal .rows .row a.name{float:left;padding:5px 10px;width:70%;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden}.basicModal .rows .row a.status{float:left;padding:5px 10px;width:30%;color:rgba(255,255,255,.5);font-size:14px;text-align:right;-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.basicModal .rows .row a.status.error,.basicModal .rows .row a.status.success,.basicModal .rows .row a.status.warning{-webkit-animation:none;animation:none}.basicModal .rows .row a.status.error{color:#e92a00}.basicModal .rows .row a.status.warning{color:#e4e900}.basicModal .rows .row a.status.success{color:#7ee900}.basicModal .rows .row p.notice{display:none;float:left;padding:2px 10px 5px;width:100%;color:rgba(255,255,255,.5);font-size:12px;overflow:hidden;line-height:16px}.settings_view{width:80%;max-width:600px;margin-left:auto;margin-right:auto}.setCSS,.setDefaultLicense,.setDropBox,.setLang,.setLayoutOverlay,.setLogin,.setOverlayType,.setSorting{font-size:14px;width:100%;padding:5%}.setCSS p,.setDefaultLicense p,.setDropBox p,.setLang p,.setLayoutOverlay p,.setLogin p,.setOverlayType p,.setSorting p{margin:0 0 5%;width:100%;color:#ccc}.setCSS p a,.setDefaultLicense p a,.setDropBox p a,.setLang p a,.setLayoutOverlay p a,.setLogin p a,.setOverlayType p a,.setSorting p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.setCSS p:last-of-type,.setDefaultLicense p:last-of-type,.setDropBox p:last-of-type,.setLang p:last-of-type,.setLayoutOverlay p:last-of-type,.setLogin p:last-of-type,.setOverlayType p:last-of-type,.setSorting p:last-of-type{margin:0}.setCSS input.text,.setDefaultLicense input.text,.setDropBox input.text,.setLang input.text,.setLayoutOverlay input.text,.setLogin input.text,.setOverlayType input.text,.setSorting input.text{padding:9px 2px;width:100%;background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}.setCSS input.text:focus,.setDefaultLicense input.text:focus,.setDropBox input.text:focus,.setLang input.text:focus,.setLayoutOverlay input.text:focus,.setLogin input.text:focus,.setOverlayType input.text:focus,.setSorting input.text:focus{border-bottom-color:#2293ec}.setCSS input.text.error,.setDefaultLicense input.text.error,.setDropBox input.text.error,.setLang input.text.error,.setLayoutOverlay input.text.error,.setLogin input.text.error,.setOverlayType input.text.error,.setSorting input.text.error{border-bottom-color:#d92c34}.setCSS input.text:first-child,.setDefaultLicense input.text:first-child,.setDropBox input.text:first-child,.setLang input.text:first-child,.setLayoutOverlay input.text:first-child,.setLogin input.text:first-child,.setOverlayType input.text:first-child,.setSorting input.text:first-child{margin-top:10px}.setCSS input.text:last-child,.setDefaultLicense input.text:last-child,.setDropBox input.text:last-child,.setLang input.text:last-child,.setLayoutOverlay input.text:last-child,.setLogin input.text:last-child,.setOverlayType input.text:last-child,.setSorting input.text:last-child{margin-bottom:10px}.setCSS textarea,.setDefaultLicense textarea,.setDropBox textarea,.setLang textarea,.setLayoutOverlay textarea,.setLogin textarea,.setOverlayType textarea,.setSorting textarea{padding:9px;width:calc(100% - 18px);height:100px;background-color:transparent;color:#fff;border:1px solid #666;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0;resize:vertical}.setCSS textarea:focus,.setDefaultLicense textarea:focus,.setDropBox textarea:focus,.setLang textarea:focus,.setLayoutOverlay textarea:focus,.setLogin textarea:focus,.setOverlayType textarea:focus,.setSorting textarea:focus{border-color:#2293ec}.setCSS .choice,.setDefaultLicense .choice,.setDropBox .choice,.setLang .choice,.setLayoutOverlay .choice,.setLogin .choice,.setOverlayType .choice,.setSorting .choice{padding:0 30px 15px;width:100%;color:#fff}.setCSS .choice:last-child,.setDefaultLicense .choice:last-child,.setDropBox .choice:last-child,.setLang .choice:last-child,.setLayoutOverlay .choice:last-child,.setLogin .choice:last-child,.setOverlayType .choice:last-child,.setSorting .choice:last-child{padding-bottom:40px}.setCSS .choice label,.setDefaultLicense .choice label,.setDropBox .choice label,.setLang .choice label,.setLayoutOverlay .choice label,.setLogin .choice label,.setOverlayType .choice label,.setSorting .choice label{float:left;color:#fff;font-size:14px;font-weight:700}.setCSS .choice label input,.setDefaultLicense .choice label input,.setDropBox .choice label input,.setLang .choice label input,.setLayoutOverlay .choice label input,.setLogin .choice label input,.setOverlayType .choice label input,.setSorting .choice label input{position:absolute;margin:0;opacity:0}.setCSS .choice label .checkbox,.setDefaultLicense .choice label .checkbox,.setDropBox .choice label .checkbox,.setLang .choice label .checkbox,.setLayoutOverlay .choice label .checkbox,.setLogin .choice label .checkbox,.setOverlayType .choice label .checkbox,.setSorting .choice label .checkbox{float:left;display:block;width:16px;height:16px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.setCSS .choice label .checkbox .iconic,.setDefaultLicense .choice label .checkbox .iconic,.setDropBox .choice label .checkbox .iconic,.setLang .choice label .checkbox .iconic,.setLayoutOverlay .choice label .checkbox .iconic,.setLogin .choice label .checkbox .iconic,.setOverlayType .choice label .checkbox .iconic,.setSorting .choice label .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.setCSS .basicModal__button,.setDefaultLicense .basicModal__button,.setDropBox .basicModal__button,.setLang .basicModal__button,.setLayoutOverlay .basicModal__button,.setLogin .basicModal__button,.setOverlayType .basicModal__button,.setSorting .basicModal__button{color:#2293ec;display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2)}.setCSS .basicModal__button:hover,.setDefaultLicense .basicModal__button:hover,.setDropBox .basicModal__button:hover,.setLang .basicModal__button:hover,.setLayoutOverlay .basicModal__button:hover,.setLogin .basicModal__button:hover,.setOverlayType .basicModal__button:hover,.setSorting .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.setCSS .basicModal__button:last-child,.setDefaultLicense .basicModal__button:last-child,.setDropBox .basicModal__button:last-child,.setLang .basicModal__button:last-child,.setLayoutOverlay .basicModal__button:last-child,.setLogin .basicModal__button:last-child,.setOverlayType .basicModal__button:last-child,.setSorting .basicModal__button:last-child{border-radius:0 0 5px 5px}.setCSS .basicModal__button_MORE,.setDefaultLicense .basicModal__button_MORE,.setDropBox .basicModal__button_MORE,.setLang .basicModal__button_MORE,.setLayoutOverlay .basicModal__button_MORE,.setLogin .basicModal__button_MORE,.setOverlayType .basicModal__button_MORE,.setSorting .basicModal__button_MORE{color:#b22027;border-radius:5px}.setCSS .basicModal__button_MORE:hover,.setDefaultLicense .basicModal__button_MORE:hover,.setDropBox .basicModal__button_MORE:hover,.setLang .basicModal__button_MORE:hover,.setLayoutOverlay .basicModal__button_MORE:hover,.setLogin .basicModal__button_MORE:hover,.setOverlayType .basicModal__button_MORE:hover,.setSorting .basicModal__button_MORE:hover{background:#b22027;color:#fff}.setCSS input:hover,.setDefaultLicense input:hover,.setDropBox input:hover,.setLang input:hover,.setLayoutOverlay input:hover,.setLogin input:hover,.setOverlayType input:hover,.setSorting input:hover{border-bottom:1px solid #2293ec}.setCSS .select,.setDefaultLicense .select,.setDropBox .select,.setLang .select,.setLayoutOverlay .select,.setLogin .select,.setOverlayType .select,.setSorting .select{position:relative;margin:1px 5px;padding:0;width:110px;color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:11px;line-height:16px;overflow:hidden;outline:0;vertical-align:middle;background:rgba(0,0,0,.3);display:inline-block}.setCSS .select select,.setDefaultLicense .select select,.setDropBox .select select,.setLang .select select,.setLayoutOverlay .select select,.setLogin .select select,.setOverlayType .select select,.setSorting .select select{margin:0;padding:4px 8px;width:120%;color:#fff;font-size:11px;line-height:16px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background-color:transparent;background-image:none;-moz-appearance:none;-webkit-appearance:none;appearance:none}.setCSS .select select option,.setDefaultLicense .select select option,.setDropBox .select select option,.setLang .select select option,.setLayoutOverlay .select select option,.setLogin .select select option,.setOverlayType .select select option,.setSorting .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.setCSS .select select:disabled,.setDefaultLicense .select select:disabled,.setDropBox .select select:disabled,.setLang .select select:disabled,.setLayoutOverlay .select select:disabled,.setLogin .select select:disabled,.setOverlayType .select select:disabled,.setSorting .select select:disabled{color:#000;cursor:not-allowed}.setCSS .select::after,.setDefaultLicense .select::after,.setDropBox .select::after,.setLang .select::after,.setLayoutOverlay .select::after,.setLogin .select::after,.setOverlayType .select::after,.setSorting .select::after{position:absolute;content:'≡';right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.setCSS .switch,.setDefaultLicense .switch,.setDropBox .switch,.setLang .switch,.setLayoutOverlay .switch,.setLogin .switch,.setOverlayType .switch,.setSorting .switch{position:relative;display:inline-block;width:42px;height:22px;bottom:4px}.setCSS .switch input,.setDefaultLicense .switch input,.setDropBox .switch input,.setLang .switch input,.setLayoutOverlay .switch input,.setLogin .switch input,.setOverlayType .switch input,.setSorting .switch input{opacity:0;width:0;height:0}.setCSS .slider,.setDefaultLicense .slider,.setDropBox .slider,.setLang .slider,.setLayoutOverlay .slider,.setLogin .slider,.setOverlayType .slider,.setSorting .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);background:rgba(0,0,0,.3);-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.setCSS .slider:before,.setDefaultLicense .slider:before,.setDropBox .slider:before,.setLang .slider:before,.setLayoutOverlay .slider:before,.setLogin .slider:before,.setOverlayType .slider:before,.setSorting .slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#2293ec;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.setCSS input:checked+.slider,.setDefaultLicense input:checked+.slider,.setDropBox input:checked+.slider,.setLang input:checked+.slider,.setLayoutOverlay input:checked+.slider,.setLogin input:checked+.slider,.setOverlayType input:checked+.slider,.setSorting input:checked+.slider{background-color:#2293ec}.setCSS input:checked+.slider:before,.setDefaultLicense input:checked+.slider:before,.setDropBox input:checked+.slider:before,.setLang input:checked+.slider:before,.setLayoutOverlay input:checked+.slider:before,.setLogin input:checked+.slider:before,.setOverlayType input:checked+.slider:before,.setSorting input:checked+.slider:before{-ms-transform:translateX(20px);-webkit-transform:translateX(20px);transform:translateX(20px);background-color:#fff}.setCSS .slider.round,.setDefaultLicense .slider.round,.setDropBox .slider.round,.setLang .slider.round,.setLayoutOverlay .slider.round,.setLogin .slider.round,.setOverlayType .slider.round,.setSorting .slider.round{border-radius:20px}.setCSS .slider.round:before,.setDefaultLicense .slider.round:before,.setDropBox .slider.round:before,.setLang .slider.round:before,.setLayoutOverlay .slider.round:before,.setLogin .slider.round:before,.setOverlayType .slider.round:before,.setSorting .slider.round:before{border-radius:50%}#fullSettings{width:100%;max-width:700px;margin-left:auto;margin-right:auto}#fullSettings .setting_line{font-size:14px;width:100%}#fullSettings .setting_line:first-child,#fullSettings .setting_line:last-child{padding-top:50px}#fullSettings .setting_line p{min-width:550px;margin:0;color:#ccc;display:inline-block;width:100%}#fullSettings .setting_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}#fullSettings .setting_line p:last-of-type{margin:0}#fullSettings .setting_line p.warning{margin-bottom:30px;color:#d92c34;font-weight:700;font-size:18px;text-align:justify;line-height:22px}#fullSettings .setting_line span.text{display:inline-block;padding:9px 4px;width:calc(50% - 12px);background-color:transparent;color:#fff;border:none}#fullSettings .setting_line span.text_icon{width:5%}#fullSettings .setting_line span.text_icon .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}#fullSettings .setting_line input.text{padding:9px 2px;width:calc(50% - 4px);background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}#fullSettings .setting_line input.text:focus{border-bottom-color:#2293ec}#fullSettings .setting_line input:hover{border-bottom:1px solid #2293ec}#fullSettings .basicModal__button{display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);width:100%;min-width:50px;border-radius:0 0 5px 5px}#fullSettings .basicModal__button:hover{cursor:pointer}#fullSettings .basicModal__button_SAVE{color:#b22027}#fullSettings .basicModal__button_SAVE:hover{background:#b22027;color:#fff}.users_view{width:80%;max-width:700px;margin-left:auto;margin-right:auto}.users_view_line{font-size:14px;width:100%}.users_view_line:first-child,.users_view_line:last-child{padding-top:50px}.users_view_line p{width:550px;margin:0 0 5%;color:#ccc;display:inline-block}.users_view_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.users_view_line p.line,.users_view_line p:last-of-type{margin:0}.users_view_line span.text{display:inline-block;padding:9px 4px;width:40%;background-color:transparent;color:#fff;border:none}.users_view_line span.text_icon{width:5%}.users_view_line span.text_icon .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}.users_view_line input.text{padding:9px 2px;width:40%;background-color:transparent;color:#fff;border:none;border-bottom:1px solid #222;border-radius:0;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05);outline:0}.users_view_line input.text:focus{border-bottom-color:#2293ec}.users_view_line input.text.error{border-bottom-color:#d92c34}.users_view_line .choice label input:checked~.checkbox .iconic{opacity:1;-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.users_view_line .choice{display:inline-block;width:5%;color:#fff}.users_view_line .choice input{position:absolute;margin:0;opacity:0}.users_view_line .choice .checkbox{display:inline-block;width:16px;height:16px;margin-top:10px;margin-left:2px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.users_view_line .choice .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.users_view_line .basicModal__button{display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);width:10%;min-width:50px;border-radius:0}.users_view_line .basicModal__button:last-child{border-radius:0 5px 5px 0}.users_view_line .basicModal__button:hover{cursor:pointer}.users_view_line .basicModal__button_OK{color:#2293ec}.users_view_line .basicModal__button_OK:hover{background:#2293ec;color:#fff}.users_view_line .basicModal__button_DEL{color:#b22027}.users_view_line .basicModal__button_DEL:hover{background:#b22027;color:#fff}.users_view_line .basicModal__button_CREATE{width:20%;color:#090}.users_view_line .basicModal__button_CREATE:hover{background:#090;color:#fff}.users_view_line input:hover{border-bottom:1px solid #2293ec}.users_view_line .select{position:relative;margin:1px 5px;padding:0;width:110px;color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:11px;line-height:16px;overflow:hidden;outline:0;vertical-align:middle;background:rgba(0,0,0,.3);display:inline-block}.users_view_line .select select{margin:0;padding:4px 8px;width:120%;color:#fff;font-size:11px;line-height:16px;border:0;outline:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:0 0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.users_view_line .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.users_view_line .select::after{position:absolute;content:'≡';right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.logs_diagnostics_view{width:1200px;margin-left:auto;margin-right:auto;color:#ccc;font-size:12px;line-height:14px}.logs_diagnostics_view pre{font-family:monospace;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.clear_logs{width:1200px;margin-left:auto;margin-right:auto;margin-bottom:20px}.clear_logs .basicModal__button{margin-top:10px;color:#2293ec;display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);border-radius:0 0 5px 5px}.clear_logs #Clean_Noise{width:200px;margin-left:auto;display:block;margin-right:auto}.sharing_view{width:600px;margin-left:auto;margin-right:auto;margin-top:20px}.sharing_view .sharing_view_line{width:100%;display:block;clear:left}.sharing_view .col-xs-1,.sharing_view .col-xs-10,.sharing_view .col-xs-11,.sharing_view .col-xs-12,.sharing_view .col-xs-2,.sharing_view .col-xs-3,.sharing_view .col-xs-4,.sharing_view .col-xs-5,.sharing_view .col-xs-6,.sharing_view .col-xs-7,.sharing_view .col-xs-8,.sharing_view .col-xs-9{float:left;position:relative;min-height:1px}.sharing_view .col-xs-2{width:10%;padding-right:3%;padding-left:3%}.sharing_view .col-xs-5{width:42%}.sharing_view .btn-block+.btn-block{margin-top:5px}.sharing_view .btn-block{display:block;width:100%}.sharing_view .btn-default{color:#2293ec;border-color:#2293ec;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.sharing_view .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.sharing_view select[multiple],.sharing_view select[size]{height:150px}.sharing_view .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.sharing_view .iconic{display:inline-block;width:15px;height:14px;fill:#2293ec}.sharing_view .iconic .iconic.ionicons{margin:0 8px -2px 0;width:18px;height:18px}.sharing_view .blue .iconic{fill:#2293ec}.sharing_view .grey .iconic{fill:#b4b4b4}.sharing_view p{width:100%;color:#ccc;text-align:center;font-size:14px;display:block}.sharing_view p.with{padding:15px 0}.sharing_view span.text{display:inline-block;padding:0 2px;width:40%;background-color:transparent;color:#fff;border:none}.sharing_view span.text:last-of-type{width:5%}.sharing_view span.text .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}.sharing_view .basicModal__button{margin-top:10px;color:#2293ec;display:inline-block;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.02),inset 1px 0 0 rgba(0,0,0,.2);border-radius:0 0 5px 5px}.sharing_view .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.sharing_view input:hover{border-bottom:1px solid #2293ec}.sharing_view .choice label input:checked~.checkbox .iconic{opacity:1;-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.sharing_view .choice{display:inline-block;width:5%;margin:0 10px;color:#fff}.sharing_view .choice input{position:absolute;margin:0;opacity:0}.sharing_view .choice .checkbox{display:inline-block;width:16px;height:16px;margin-top:10px;margin-left:2px;background:rgba(0,0,0,.5);border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.7);box-shadow:0 0 0 1px rgba(0,0,0,.7)}.sharing_view .choice .checkbox .iconic{-webkit-box-sizing:border-box;box-sizing:border-box;fill:#2293ec;padding:2px;opacity:0;-ms-transform:scale(0);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1),-webkit-transform .2s cubic-bezier(.51,.92,.24,1);-o-transition:opacity .2s cubic-bezier(.51,.92,.24,1),transform .2s cubic-bezier(.51,.92,.24,1)}.sharing_view .select{position:relative;padding:0;color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.02);box-shadow:0 1px 0 rgba(255,255,255,.02);font-size:14px;line-height:16px;outline:0;vertical-align:middle;background:rgba(0,0,0,.3);display:inline-block}.sharing_view .borderBlue{border:1px solid #2293ec}#multiselect{position:absolute;background-color:rgba(0,94,204,.3);border:1px solid #005ecc;border-radius:3px;z-index:3}.justified-layout{margin:30px 30px 0;width:100%;position:relative}.justified-layout>.photo{position:absolute;margin:0}.justified-layout>.photo>.thumbimg,.justified-layout>.photo>.thumbimg>img{width:100%;height:100%;border:none;-o-object-fit:cover;object-fit:cover}.justified-layout>.photo>.overlay{width:100%;bottom:0;margin:0} \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index f6f29fdf..90350da2 100644 --- a/dist/main.js +++ b/dist/main.js @@ -58,44 +58,46 @@ var _templateObject = _taggedTemplateLiteral([""], ["
"]), _templateObject15 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t\t\t$", "\n\t\t\t\t
\n\t\t\t"], ["\n\t\t\t
\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t\t\t$", "\n\t\t\t\t
\n\t\t\t"]), _templateObject16 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject17 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\t\n\t\t\t\t
"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\t\n\t\t\t\t
"]), + _templateObject17 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t
"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t
"]), _templateObject18 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t"], ["\n\t\t\t
\n\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t"]), _templateObject19 = _taggedTemplateLiteral(["", "", ""], ["", "", ""]), _templateObject20 = _taggedTemplateLiteral(["", ""], ["", ""]), _templateObject21 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject22 = _taggedTemplateLiteral(["\n\t\t

$", "

\n\t\t

", " at ", ", ", " ", "
\n\t\t", " ", "

\n\t\t
\n\t"], ["\n\t\t

$", "

\n\t\t

", " at ", ", ", " ", "
\n\t\t", " ", "

\n\t\t
\n\t"]), - _templateObject23 = _taggedTemplateLiteral([""], [""]), - _templateObject24 = _taggedTemplateLiteral([""], [""]), - _templateObject25 = _taggedTemplateLiteral(["
", ""], ["
", ""]), - _templateObject26 = _taggedTemplateLiteral(["

", "

"], ["

", "

"]), - _templateObject27 = _taggedTemplateLiteral(["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"], ["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"]), - _templateObject28 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject29 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), - _templateObject30 = _taggedTemplateLiteral(["
", "
"], ["
", "
"]), - _templateObject31 = _taggedTemplateLiteral(["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"], ["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"]), - _templateObject32 = _taggedTemplateLiteral(["\n\t\t\t ", "\n\t\t\t \n\t\t\t
$", "
\n\t\t\t "], ["\n\t\t\t ", "\n\t\t\t \n\t\t\t
$", "
\n\t\t\t "]), - _templateObject33 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), - _templateObject34 = _taggedTemplateLiteral(["\n\t\t×\n\t\t", ""], ["\n\t\t×\n\t\t", ""]), - _templateObject35 = _taggedTemplateLiteral(["\n\t\t", " ", " \n\t\t", " ", ""], ["\n\t\t", " ", " \n\t\t", " ", ""]), - _templateObject36 = _taggedTemplateLiteral(["\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", ""], ["\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", ""]), - _templateObject37 = _taggedTemplateLiteral(["\n\t\t\t\t

Lychee ", "

\n\t\t\t\t\n\t\t\t\t

", "

\n\t\t\t\t

Lychee ", "

\n\t\t\t "], ["\n\t\t\t\t

Lychee ", "

\n\t\t\t\t\n\t\t\t\t

", "

\n\t\t\t\t

Lychee ", "

\n\t\t\t "]), - _templateObject38 = _taggedTemplateLiteral(["\n\t\t\t\t\n\t\t\t\t

Lychee ", "", "

\n\t\t\t"], ["\n\t\t\t\t\n\t\t\t\t

Lychee ", "", "

\n\t\t\t"]), - _templateObject39 = _taggedTemplateLiteral(["

", " '", "' ", "

"], ["

", " '", "' ", "

"]), - _templateObject40 = _taggedTemplateLiteral(["

", " ", " ", "

"], ["

", " ", " ", "

"]), - _templateObject41 = _taggedTemplateLiteral([""], [""]), - _templateObject42 = _taggedTemplateLiteral(["

", " ", " ", " ", "

"], ["

", " ", " ", " ", "

"]), - _templateObject43 = _taggedTemplateLiteral(["

", "

"], ["

", "

"]), - _templateObject44 = _taggedTemplateLiteral([""], [""]), - _templateObject45 = _taggedTemplateLiteral(["$", ""], ["$", ""]), - _templateObject46 = _taggedTemplateLiteral(["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "], ["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "]), - _templateObject47 = _taggedTemplateLiteral(["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "], ["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "]), - _templateObject48 = _taggedTemplateLiteral(["

"], ["

"]), - _templateObject49 = _taggedTemplateLiteral(["linear-gradient(to bottom, rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)), url(\"", "\")"], ["linear-gradient(to bottom, rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)), url(\"", "\")"]), - _templateObject50 = _taggedTemplateLiteral(["\n\t\t\t

\n\t\t\t\t", "\n\t\t\t
\n\t\t\t"], ["\n\t\t\t
\n\t\t\t\t", "\n\t\t\t
\n\t\t\t"]), - _templateObject51 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t", "\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t", "\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject52 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t$", "\n\t\t\t\t\n\t\t\t\t

\n\t\t\t
\n\t\t"], ["\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t$", "\n\t\t\t\t\n\t\t\t\t

\n\t\t\t
\n\t\t"]), - _templateObject53 = _taggedTemplateLiteral(["\n\t\t\t", "\n\t\t
\n\t\t\t"], ["\n\t\t\t", "\n\t\t
\n\t\t\t"]), - _templateObject54 = _taggedTemplateLiteral([""], [""]); + _templateObject22 = _taggedTemplateLiteral(["\n\t\t\t\t\t
\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t\t
\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t
\n\t\t\t\t"]), + _templateObject23 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t

$", "

\n\t\t\t\t

", "

\n\t\t\t
\n\t\t"], ["\n\t\t\t
\n\t\t\t\t

$", "

\n\t\t\t\t

", "

\n\t\t\t
\n\t\t"]), + _templateObject24 = _taggedTemplateLiteral(["\n\t\t\t

$", "

\n\t\t\t

", " at ", ", ", " ", "
\n\t\t\t", " ", "

\n\t\t\t
\n\t\t"], ["\n\t\t\t

$", "

\n\t\t\t

", " at ", ", ", " ", "
\n\t\t\t", " ", "

\n\t\t\t
\n\t\t"]), + _templateObject25 = _taggedTemplateLiteral([""], [""]), + _templateObject26 = _taggedTemplateLiteral([""], [""]), + _templateObject27 = _taggedTemplateLiteral(["
", ""], ["
", ""]), + _templateObject28 = _taggedTemplateLiteral(["

", "

"], ["

", "

"]), + _templateObject29 = _taggedTemplateLiteral(["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"], ["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"]), + _templateObject30 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"]), + _templateObject31 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), + _templateObject32 = _taggedTemplateLiteral(["
", "
"], ["
", "
"]), + _templateObject33 = _taggedTemplateLiteral(["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"], ["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"]), + _templateObject34 = _taggedTemplateLiteral(["\n\t\t\t ", "\n\t\t\t \n\t\t\t
$", "
\n\t\t\t "], ["\n\t\t\t ", "\n\t\t\t \n\t\t\t
$", "
\n\t\t\t "]), + _templateObject35 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), + _templateObject36 = _taggedTemplateLiteral(["\n\t\t×\n\t\t", ""], ["\n\t\t×\n\t\t", ""]), + _templateObject37 = _taggedTemplateLiteral(["\n\t\t", " ", " \n\t\t", " ", ""], ["\n\t\t", " ", " \n\t\t", " ", ""]), + _templateObject38 = _taggedTemplateLiteral(["\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", ""], ["\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", "\n\t\t", " ", ""]), + _templateObject39 = _taggedTemplateLiteral(["\n\t\t\t\t

Lychee ", "

\n\t\t\t\t\n\t\t\t\t

", "

\n\t\t\t\t

Lychee ", "

\n\t\t\t "], ["\n\t\t\t\t

Lychee ", "

\n\t\t\t\t\n\t\t\t\t

", "

\n\t\t\t\t

Lychee ", "

\n\t\t\t "]), + _templateObject40 = _taggedTemplateLiteral(["\n\t\t\t\t\n\t\t\t\t

Lychee ", "", "

\n\t\t\t"], ["\n\t\t\t\t\n\t\t\t\t

Lychee ", "", "

\n\t\t\t"]), + _templateObject41 = _taggedTemplateLiteral(["

", " '", "' ", "

"], ["

", " '", "' ", "

"]), + _templateObject42 = _taggedTemplateLiteral(["

", " ", " ", "

"], ["

", " ", " ", "

"]), + _templateObject43 = _taggedTemplateLiteral([""], [""]), + _templateObject44 = _taggedTemplateLiteral(["

", " ", " ", " ", "

"], ["

", " ", " ", " ", "

"]), + _templateObject45 = _taggedTemplateLiteral(["

", "

"], ["

", "

"]), + _templateObject46 = _taggedTemplateLiteral([""], [""]), + _templateObject47 = _taggedTemplateLiteral(["$", ""], ["$", ""]), + _templateObject48 = _taggedTemplateLiteral(["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "], ["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "]), + _templateObject49 = _taggedTemplateLiteral(["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "], ["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "]), + _templateObject50 = _taggedTemplateLiteral(["

"], ["

"]), + _templateObject51 = _taggedTemplateLiteral(["linear-gradient(to bottom, rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)), url(\"", "\")"], ["linear-gradient(to bottom, rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)), url(\"", "\")"]), + _templateObject52 = _taggedTemplateLiteral(["\n\t\t\t

\n\t\t\t\t", "\n\t\t\t
\n\t\t\t"], ["\n\t\t\t
\n\t\t\t\t", "\n\t\t\t
\n\t\t\t"]), + _templateObject53 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t", "\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t", "\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"]), + _templateObject54 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t$", "\n\t\t\t\t\n\t\t\t\t

\n\t\t\t
\n\t\t"], ["\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t$", "\n\t\t\t\t\n\t\t\t\t

\n\t\t\t
\n\t\t"]), + _templateObject55 = _taggedTemplateLiteral(["\n\t\t\t", "\n\t\t
\n\t\t\t"], ["\n\t\t\t", "\n\t\t
\n\t\t\t"]), + _templateObject56 = _taggedTemplateLiteral([""], [""]); function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } @@ -1400,14 +1402,22 @@ build.photo = function (data) { }; build.overlay_image = function (data) { - var exifHash = data.make + data.model + data.shutter + data.aperture + data.focal + data.iso; + // Get the stored setting for the overlay_image + var type = lychee.image_overlay_type; var html = ""; - if (exifHash !== '') { - html += lychee.html(_templateObject22, data.title, data.shutter.replace('s', 'sec'), data.aperture.replace('f/', 'ƒ / '), lychee.locale['PHOTO_ISO'], data.iso, data.focal, data.lens && data.lens !== '' ? '(' + data.lens + ')' : ''); + if (type && type === 'desc' && data.description !== '') { + html = lychee.html(_templateObject22, data.title, data.description); + } else if (type && type === 'takedate' && data.takedate !== '') { + html = lychee.html(_templateObject23, data.title, data.takedate); } + // fall back to exif data if there is no description + else if (exifHash !== '') { + + html += lychee.html(_templateObject24, data.title, data.shutter.replace('s', 'sec'), data.aperture.replace('f/', 'ƒ / '), lychee.locale['PHOTO_ISO'], data.iso, data.focal, data.lens && data.lens !== '' ? '(' + data.lens + ')' : ''); + } return html; }; @@ -1417,9 +1427,9 @@ build.imageview = function (data, visibleControls) { var html = ''; if (data.type.indexOf('video') > -1) { - html += lychee.html(_templateObject23, visibleControls === true ? '' : 'full', data.url); + html += lychee.html(_templateObject25, visibleControls === true ? '' : 'full', data.url); } else { - html += lychee.html(_templateObject24, visibleControls === true ? '' : 'full', data.medium !== '' ? data.medium : data.url); + html += lychee.html(_templateObject26, visibleControls === true ? '' : 'full', data.medium !== '' ? data.medium : data.url); if (lychee.image_overlay) html += build.overlay_image(data); } @@ -1432,20 +1442,20 @@ build.no_content = function (typ) { var html = ''; - html += lychee.html(_templateObject25, build.iconic(typ)); + html += lychee.html(_templateObject27, build.iconic(typ)); switch (typ) { case 'magnifying-glass': - html += lychee.html(_templateObject26, lychee.locale['VIEW_NO_RESULT']); + html += lychee.html(_templateObject28, lychee.locale['VIEW_NO_RESULT']); break; case 'eye': - html += lychee.html(_templateObject26, lychee.locale['VIEW_NO_PUBLIC_ALBUMS']); + html += lychee.html(_templateObject28, lychee.locale['VIEW_NO_PUBLIC_ALBUMS']); break; case 'cog': - html += lychee.html(_templateObject26, lychee.locale['VIEW_NO_CONFIGURATION']); + html += lychee.html(_templateObject28, lychee.locale['VIEW_NO_CONFIGURATION']); break; case 'question-mark': - html += lychee.html(_templateObject26, lychee.locale['VIEW_PHOTO_NOT_FOUND']); + html += lychee.html(_templateObject28, lychee.locale['VIEW_PHOTO_NOT_FOUND']); break; } @@ -1458,7 +1468,7 @@ build.uploadModal = function (title, files) { var html = ''; - html += lychee.html(_templateObject27, title); + html += lychee.html(_templateObject29, title); var i = 0; @@ -1468,7 +1478,7 @@ build.uploadModal = function (title, files) { if (file.name.length > 40) file.name = file.name.substr(0, 17) + '...' + file.name.substr(file.name.length - 20, 20); - html += lychee.html(_templateObject28, file.name); + html += lychee.html(_templateObject30, file.name); i++; } @@ -1487,18 +1497,18 @@ build.tags = function (tags) { tags = tags.split(','); tags.forEach(function (tag, index, array) { - html += lychee.html(_templateObject29, tag, index, build.iconic('x')); + html += lychee.html(_templateObject31, tag, index, build.iconic('x')); }); } else { - html = lychee.html(_templateObject30, lychee.locale['NO_TAGS']); + html = lychee.html(_templateObject32, lychee.locale['NO_TAGS']); } return html; }; build.user = function (user) { - var html = lychee.html(_templateObject31, user.id, user.id, user.username, user.id, user.id); + var html = lychee.html(_templateObject33, user.id, user.id, user.username, user.id, user.id); return html; }; @@ -1609,7 +1619,7 @@ contextMenu.buildList = function (lists, exclude, action) { var prefix = layer > 0 ? '  '.repeat(layer - 1) + '└ ' : ''; - var html = lychee.html(_templateObject32, prefix, thumb, item.title); + var html = lychee.html(_templateObject34, prefix, thumb, item.title); items.push({ title: html, @@ -2047,7 +2057,7 @@ header.setTitle = function () { var $title = header.dom('.header__title'); - var html = lychee.html(_templateObject33, title, build.iconic('caret-bottom')); + var html = lychee.html(_templateObject35, title, build.iconic('caret-bottom')); $title.html(html); @@ -2205,6 +2215,10 @@ $(document).ready(function () { } else if (visible.albums() && basicModal.visible() === false) { multiselect.selectAll();return false; } + }).bind(['o'], function () { + if (visible.photo()) { + photo.update_overlay_type(); + } }); Mousetrap.bindGlobal('enter', function () { @@ -2301,11 +2315,11 @@ leftMenu.dom = function (selector) { }; leftMenu.build = function () { - var html = lychee.html(_templateObject34, lychee.locale['SETTINGS']); + var html = lychee.html(_templateObject36, lychee.locale['SETTINGS']); if (lychee.api_V2) { - html += lychee.html(_templateObject35, build.iconic('person'), lychee.locale['USERS'], build.iconic('cloud'), lychee.locale['SHARING']); + html += lychee.html(_templateObject37, build.iconic('person'), lychee.locale['USERS'], build.iconic('cloud'), lychee.locale['SHARING']); } - html += lychee.html(_templateObject36, build.iconic('align-left'), lychee.locale['LOGS'], build.iconic('wrench'), lychee.locale['DIAGNOSTICS'], build.iconic('info'), lychee.locale['ABOUT_LYCHEE'], build.iconic('account-logout'), lychee.locale['SIGN_OUT']); + html += lychee.html(_templateObject38, build.iconic('align-left'), lychee.locale['LOGS'], build.iconic('wrench'), lychee.locale['DIAGNOSTICS'], build.iconic('info'), lychee.locale['ABOUT_LYCHEE'], build.iconic('account-logout'), lychee.locale['SIGN_OUT']); leftMenu._dom.html(html); }; @@ -2483,8 +2497,8 @@ loadingBar.hide = function (force) { lychee = { title: document.title, - version: '3.2.10', - versionCode: '030210', // not really needed anymore + version: '3.2.11', + versionCode: '030211', // not really needed anymore updatePath: 'https://LycheeOrg.github.io/update.json', updateURL: 'https://github.com/LycheeOrg/Lychee/releases', @@ -2501,6 +2515,8 @@ lychee = { justified: true, // use Flickr Justified Layout Like image_overlay: false, // display Overlay like in Lightroom image_overlay_default: false, // display Overlay like in Lightroom by default + image_overlay_type: 'exif', // current Overlay display type + image_overlay_type_default: 'exif', // image overlay type default type checkForUpdates: '1', update_json: 0, @@ -2539,7 +2555,7 @@ lychee.logs = function () { lychee.aboutDialog = function () { - var msg = lychee.html(_templateObject37, lychee.version, lychee.updateURL, lychee.locale['UPDATE_AVAILABLE'], lychee.locale['ABOUT_SUBTITLE'], lychee.website, lychee.locale['ABOUT_DESCRIPTION']); + var msg = lychee.html(_templateObject39, lychee.version, lychee.updateURL, lychee.locale['UPDATE_AVAILABLE'], lychee.locale['ABOUT_SUBTITLE'], lychee.website, lychee.locale['ABOUT_DESCRIPTION']); basicModal.show({ body: msg, @@ -2606,6 +2622,8 @@ lychee.init = function () { lychee.justified = data.config.justified_layout && data.config.justified_layout === '1' || false; lychee.image_overlay_default = data.config.image_overlay && data.config.image_overlay === '1' || false; lychee.image_overlay = lychee.image_overlay_default; + lychee.image_overlay_type = !data.config.image_overlay_type ? 'exif' : data.config.image_overlay_type; + lychee.image_overlay_type_default = lychee.image_overlay_type; lychee.default_license = data.config.default_license || 'none'; lychee.css = data.config.css || ''; @@ -2633,6 +2651,8 @@ lychee.init = function () { lychee.checkForUpdates = data.config.checkForUpdates || '1'; lychee.justified = data.config.justified_layout && data.config.justified_layout === '1' || false; lychee.image_overlay = data.config.image_overlay && data.config.image_overlay === '1' || false; + lychee.image_overlay_type = !data.config.image_overlay_type ? 'exif' : data.config.image_overlay_type; + lychee.image_overlay_type_default = lychee.image_overlay_type; console.log(lychee.full_photo); lychee.setMode('public'); @@ -2670,7 +2690,7 @@ lychee.login = function (data) { lychee.loginDialog = function () { - var msg = lychee.html(_templateObject38, lychee.locale['USERNAME'], lychee.locale['PASSWORD'], lychee.version, lychee.updateURL, lychee.locale['UPDATE_AVAILABLE']); + var msg = lychee.html(_templateObject40, lychee.locale['USERNAME'], lychee.locale['PASSWORD'], lychee.version, lychee.updateURL, lychee.locale['UPDATE_AVAILABLE']); basicModal.show({ body: msg, @@ -2988,6 +3008,7 @@ lychee.locale = { 'UPDATE_AVAILABLE': 'Update available!', 'DEFAULT_LICENSE': 'Default License for new uploads:', 'SET_LICENSE': 'Set License', + 'SET_OVERLAY_TYPE': 'Set Overlay', 'SAVE_RISK': 'Save my modifications, I accept the Risk!', 'MORE': 'More', @@ -3243,7 +3264,12 @@ lychee.locale = { 'CSS_TITLE': 'Change CSS', 'LAYOUT_TEXT': 'Use justified layout:', - 'IMAGE_OVERLAY_TEXT': 'Display EXIF data overlay by default:', + 'IMAGE_OVERLAY_TEXT': 'Display image overlay by default:', + + 'LAYOUT_TYPE': 'Data to use in image overlay:', + 'OVERLAY_EXIF': 'Photo EXIF data', + 'OVERLAY_DESCRIPTION': 'Photo description', + 'OVERLAY_DATE': 'Photo date taken', 'VIEW_NO_RESULT': 'No results', 'VIEW_NO_PUBLIC_ALBUMS': 'No public albums', @@ -3815,6 +3841,45 @@ photo.load = function (photoID, albumID) { }); }; +photo.hasExif = function () { + var exifHash = photo.json.make + photo.json.model + photo.json.shutter + photo.json.aperture + photo.json.focal + photo.json.iso; + + return exifHash !== ''; +}; + +photo.hasTakedate = function () { + return photo.json.takedate && photo.json.takedate !== ''; +}; + +photo.hasDesc = function () { + return photo.json.description && photo.json.description !== ''; +}; + +photo.update_overlay_type = function () { + // Only run if the overlay is showing + if (!lychee.image_overlay) { + return false; + } else { + // console.log('Current ' + lychee.image_overlay_type); + var types = ['exif', 'desc', 'takedate']; + + var i = types.indexOf(lychee.image_overlay_type); + var j = (i + 1) % types.length; + var cont = true; + while (i !== j && cont) { + if (types[j] === 'desc' && photo.hasDesc()) cont = false;else if (types[j] === 'takedate' && photo.hasTakedate()) cont = false;else if (types[j] === 'exif' && photo.hasExif()) cont = false;else j = (j + 1) % types.length; + } + + if (i !== j) { + lychee.image_overlay_type = types[j]; + $('#image_overlay').remove(); + lychee.imageview.append(build.overlay_image(photo.json)); + } else { + console.log('no other data found, displaying ' + types[j]); + } + } +}; + photo.update_display_overlay = function () { lychee.image_overlay = !lychee.image_overlay; if (!lychee.image_overlay) { @@ -3982,13 +4047,13 @@ photo.delete = function (photoIDs) { action.title = lychee.locale['PHOTO_DELETE']; cancel.title = lychee.locale['PHOTO_KEEP']; - msg = lychee.html(_templateObject39, lychee.locale['PHOTO_DELETE_1'], photoTitle, lychee.locale['PHOTO_DELETE_2']); + msg = lychee.html(_templateObject41, lychee.locale['PHOTO_DELETE_1'], photoTitle, lychee.locale['PHOTO_DELETE_2']); } else { action.title = lychee.locale['PHOTO_DELETE']; cancel.title = lychee.locale['PHOTO_KEEP']; - msg = lychee.html(_templateObject40, lychee.locale['PHOTO_DELETE_ALL_1'], photoIDs.length, lychee.locale['PHOTO_DELETE_ALL_2']); + msg = lychee.html(_templateObject42, lychee.locale['PHOTO_DELETE_ALL_1'], photoIDs.length, lychee.locale['PHOTO_DELETE_ALL_2']); } basicModal.show({ @@ -4048,9 +4113,9 @@ photo.setTitle = function (photoIDs) { }); }; - var input = lychee.html(_templateObject41, oldTitle); + var input = lychee.html(_templateObject43, oldTitle); - if (photoIDs.length === 1) msg = lychee.html(_templateObject2, lychee.locale['PHOTO_NEW_TITLE'], input);else msg = lychee.html(_templateObject42, lychee.locale['PHOTOS_NEW_TITLE_1'], photoIDs.length, lychee.locale['PHOTOS_NEW_TITLE_2'], input); + if (photoIDs.length === 1) msg = lychee.html(_templateObject2, lychee.locale['PHOTO_NEW_TITLE'], input);else msg = lychee.html(_templateObject44, lychee.locale['PHOTOS_NEW_TITLE_1'], photoIDs.length, lychee.locale['PHOTOS_NEW_TITLE_2'], input); basicModal.show({ body: msg, @@ -4217,7 +4282,7 @@ photo.setDescription = function (photoID) { }; basicModal.show({ - body: lychee.html(_templateObject43, lychee.locale['PHOTO_NEW_DESCRIPTION'], lychee.locale['PHOTO_DESCRIPTION'], oldDescription), + body: lychee.html(_templateObject45, lychee.locale['PHOTO_NEW_DESCRIPTION'], lychee.locale['PHOTO_DESCRIPTION'], oldDescription), buttons: { action: { title: lychee.locale['PHOTO_SET_DESCRIPTION'], @@ -4257,9 +4322,9 @@ photo.editTags = function (photoIDs) { photo.setTags(photoIDs, data.tags); }; - var input = lychee.html(_templateObject44, oldTags); + var input = lychee.html(_templateObject46, oldTags); - if (photoIDs.length === 1) msg = lychee.html(_templateObject2, lychee.locale['PHOTO_NEW_TAGS'], input);else msg = lychee.html(_templateObject42, lychee.locale['PHOTO_NEW_TAGS_1'], photoIDs.length, lychee.locale['PHOTO_NEW_TAGS_2'], input); + if (photoIDs.length === 1) msg = lychee.html(_templateObject2, lychee.locale['PHOTO_NEW_TAGS'], input);else msg = lychee.html(_templateObject44, lychee.locale['PHOTO_NEW_TAGS_1'], photoIDs.length, lychee.locale['PHOTO_NEW_TAGS_2'], input); basicModal.show({ body: msg, @@ -4833,8 +4898,14 @@ settings.changeImageOverlay = function () { var params = {}; if ($('#ImageOverlay:checked').length === 1) { params.image_overlay = '1'; + + // enable image_overlay_type + $('select#ImgOverlayType').attr('disabled', false); } else { params.image_overlay = '0'; + + // disable image_overlay_type + $('select#ImgOverlayType').attr('disabled', true); } api.post('Settings::setImageOverlay', params, function (data) { if (data === true) { @@ -4845,6 +4916,29 @@ settings.changeImageOverlay = function () { }); }; +settings.setOverlayType = function () { + // validate the input + var params = {}; + if ($('#ImageOverlay:checked') && $('#ImgOverlayType').val() === "exif") { + params.image_overlay_type = 'exif'; + } else if ($('#ImageOverlay:checked') && $('#ImgOverlayType').val() === "desc") { + params.image_overlay_type = 'desc'; + } else if ($('#ImageOverlay:checked') && $('#ImgOverlayType').val() === "takedate") { + params.image_overlay_type = 'takedate'; + } else { + params.image_overlay_type = 'exif'; + console.log('Error - default used'); + } + + api.post('Settings::setOverlayType', params, function (data) { + if (data === true) { + loadingBar.show('success', lychee.locale['SETTINGS_SUCCESS_IMAGE_OVERLAY']); + lychee.image_overlay_type = params.image_overlay_type; + lychee.image_overlay_type_default = params.image_overlay_type; + } else lychee.error(null, params, data); + }); +}; + settings.changeCSS = function () { var params = {}; @@ -4870,6 +4964,7 @@ settings.save = function (params) { } else lychee.error(null, params, data); }); }; + sharing = { json: null }; @@ -5274,12 +5369,12 @@ sidebar.render = function (structure) { if (value === '' || value == null) value = '-'; // Wrap span-element around value for easier selecting on change - value = lychee.html(_templateObject45, row.kind, value); + value = lychee.html(_templateObject47, row.kind, value); // Add edit-icon to the value when editable if (row.editable === true) value += ' ' + build.editIcon('edit_' + row.kind); - _html += lychee.html(_templateObject46, row.title, value); + _html += lychee.html(_templateObject48, row.title, value); }); _html += "\n\t\t\t\t \n\t\t\t\t "; @@ -5295,7 +5390,7 @@ sidebar.render = function (structure) { // Add edit-icon to the value when editable if (section.editable === true) editable = build.editIcon('edit_tags'); - _html += lychee.html(_templateObject47, section.title, section.title.toLowerCase(), section.value, editable); + _html += lychee.html(_templateObject49, section.title, section.title.toLowerCase(), section.value, editable); return _html; }; @@ -5642,7 +5737,7 @@ upload.start = { }; basicModal.show({ - body: lychee.html(_templateObject48) + lychee.locale['UPLOAD_IMPORT_INSTR'] + ("

"), + body: lychee.html(_templateObject50) + lychee.locale['UPLOAD_IMPORT_INSTR'] + ("

"), buttons: { action: { title: lychee.locale['UPLOAD_IMPORT'], @@ -5729,7 +5824,7 @@ upload.start = { }; basicModal.show({ - body: lychee.html(_templateObject48) + lychee.locale['UPLOAD_IMPORT_SERVER_INSTR'] + "

"), + body: lychee.html(_templateObject50) + lychee.locale['UPLOAD_IMPORT_SERVER_INSTR'] + "

"), buttons: { action: { title: lychee.locale['UPLOAD_IMPORT'], @@ -6410,7 +6505,7 @@ view.photo = { var nextPhotoID = album.getByID(photoID).nextPhoto; var nextPhoto = album.getByID(nextPhotoID); - $nextArrow.css('background-image', lychee.html(_templateObject49, nextPhoto.thumbUrl)); + $nextArrow.css('background-image', lychee.html(_templateObject51, nextPhoto.thumbUrl)); } if (hasPrevious === false || lychee.viewMode === true) { @@ -6421,7 +6516,7 @@ view.photo = { var previousPhotoID = album.getByID(photoID).previousPhoto; var previousPhoto = album.getByID(previousPhotoID); - $previousArrow.css('background-image', lychee.html(_templateObject49, previousPhoto.thumbUrl)); + $previousArrow.css('background-image', lychee.html(_templateObject51, previousPhoto.thumbUrl)); } }), @@ -6477,6 +6572,7 @@ view.settings = { view.settings.content.setLang(); view.settings.content.setDefaultLicense(); view.settings.content.setLayoutOverlay(); + view.settings.content.setOverlayType(); view.settings.content.setCSS(); view.settings.content.moreButton(); } @@ -6551,7 +6647,7 @@ view.settings = { }, setLayoutOverlay: function setLayoutOverlay() { - var msg = "\n\t\t\t
\n\t\t\t

" + lychee.locale['LAYOUT_TEXT'] + "\n\t\t\t\n\t\t\t

\n\t\t\t

" + lychee.locale['IMAGE_OVERLAY_TEXT'] + "\n\t\t\t\n\t\t\t

\n\t\t\t
"; + var msg = "\n\t\t\t
\n\t\t\t

" + lychee.locale['LAYOUT_TEXT'] + "\n\t\t\t\n\t\t\t

\n\t\t\t

" + lychee.locale['IMAGE_OVERLAY_TEXT'] + "\n\t\t\t\n\t\t\t

\n\t\t\t
\n\t\t\t"; $(".settings_view").append(msg); if (lychee.justified) $('#JustifiedLayout').click(); @@ -6561,6 +6657,18 @@ view.settings = { settings.bind('#ImageOverlay', '.setLayoutOverlay', settings.changeImageOverlay); }, + setOverlayType: function setOverlayType() { + var msg = "\n\t\t\t
\n\t\t\t

" + lychee.locale['LAYOUT_TYPE'] + "\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\t
\n\t\t\t"; + + $(".settings_view").append(msg); + + // Enable based on image_overlay setting + if (!lychee.image_overlay) $('select#ImgOverlayType').attr('disabled', true); + + $('select#ImgOverlayType').val(!lychee.image_overlay_type_default ? 'exif' : lychee.image_overlay_type_default); + settings.bind('#basicModal__action_set_overlay_type', '.setOverlayType', settings.setOverlayType); + }, + setCSS: function setCSS() { var msg = "\n\t\t\t
\n\t\t\t

" + lychee.locale['CSS_TEXT'] + "

\n\t\t\t\n\t\t\t\n\t\t\t
"; @@ -6574,7 +6682,7 @@ view.settings = { }, moreButton: function moreButton() { - var msg = lychee.html(_templateObject50, lychee.locale['MORE']); + var msg = lychee.html(_templateObject52, lychee.locale['MORE']); $(".settings_view").append(msg); @@ -6612,14 +6720,14 @@ view.full_settings = { api.post('Settings::getAll', {}, function (data) { - var msg = lychee.html(_templateObject51, lychee.locale['SETTINGS_WARNING']); + var msg = lychee.html(_templateObject53, lychee.locale['SETTINGS_WARNING']); $.each(data, function () { - msg += lychee.html(_templateObject52, this.key, this.key, this.value); + msg += lychee.html(_templateObject54, this.key, this.key, this.value); }); - msg += lychee.html(_templateObject53, lychee.locale['SAVE_RISK']); + msg += lychee.html(_templateObject55, lychee.locale['SAVE_RISK']); $(".settings_view").append(msg); settings.bind('#FullSettingsSave_button', '#fullSettings', settings.save); @@ -6782,7 +6890,7 @@ view.logs_diagnostics = { var html = ''; if (lychee.api_V2 && get === 'Logs') { - html += lychee.html(_templateObject54, lychee.locale['CLEAN_LOGS']); + html += lychee.html(_templateObject56, lychee.locale['CLEAN_LOGS']); } html += '
';
 		lychee.content.html(html);
diff --git a/dist/view.js b/dist/view.js
index a39dc82a..e6f054a2 100644
--- a/dist/view.js
+++ b/dist/view.js
@@ -10,25 +10,27 @@ var _templateObject = _taggedTemplateLiteral(["
"], ["
"]), _templateObject5 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t\t\t$", "\n\t\t\t\t
\n\t\t\t"], ["\n\t\t\t
\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t\t\t$", "\n\t\t\t\t
\n\t\t\t"]), _templateObject6 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject7 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\t\n\t\t\t\t
"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\t\n\t\t\t\t
"]), + _templateObject7 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t
"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t
"]), _templateObject8 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t"], ["\n\t\t\t
\n\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t\t

$", "

\n\t\t\t"]), _templateObject9 = _taggedTemplateLiteral(["", "", ""], ["", "", ""]), _templateObject10 = _taggedTemplateLiteral(["", ""], ["", ""]), _templateObject11 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t", "\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject12 = _taggedTemplateLiteral(["\n\t\t

$", "

\n\t\t

", " at ", ", ", " ", "
\n\t\t", " ", "

\n\t\t
\n\t"], ["\n\t\t

$", "

\n\t\t

", " at ", ", ", " ", "
\n\t\t", " ", "

\n\t\t
\n\t"]), - _templateObject13 = _taggedTemplateLiteral([""], [""]), - _templateObject14 = _taggedTemplateLiteral([""], [""]), - _templateObject15 = _taggedTemplateLiteral(["
", ""], ["
", ""]), - _templateObject16 = _taggedTemplateLiteral(["

", "

"], ["

", "

"]), - _templateObject17 = _taggedTemplateLiteral(["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"], ["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"]), - _templateObject18 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"]), - _templateObject19 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), - _templateObject20 = _taggedTemplateLiteral(["
", "
"], ["
", "
"]), - _templateObject21 = _taggedTemplateLiteral(["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"], ["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"]), - _templateObject22 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), - _templateObject23 = _taggedTemplateLiteral(["$", ""], ["$", ""]), - _templateObject24 = _taggedTemplateLiteral(["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "], ["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "]), - _templateObject25 = _taggedTemplateLiteral(["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "], ["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "]); + _templateObject12 = _taggedTemplateLiteral(["\n\t\t\t\t\t
\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t\t
\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t\t

$", "

\n\t\t\t\t\t
\n\t\t\t\t"]), + _templateObject13 = _taggedTemplateLiteral(["\n\t\t\t
\n\t\t\t\t

$", "

\n\t\t\t\t

", "

\n\t\t\t
\n\t\t"], ["\n\t\t\t
\n\t\t\t\t

$", "

\n\t\t\t\t

", "

\n\t\t\t
\n\t\t"]), + _templateObject14 = _taggedTemplateLiteral(["\n\t\t\t

$", "

\n\t\t\t

", " at ", ", ", " ", "
\n\t\t\t", " ", "

\n\t\t\t
\n\t\t"], ["\n\t\t\t

$", "

\n\t\t\t

", " at ", ", ", " ", "
\n\t\t\t", " ", "

\n\t\t\t
\n\t\t"]), + _templateObject15 = _taggedTemplateLiteral([""], [""]), + _templateObject16 = _taggedTemplateLiteral([""], [""]), + _templateObject17 = _taggedTemplateLiteral(["
", ""], ["
", ""]), + _templateObject18 = _taggedTemplateLiteral(["

", "

"], ["

", "

"]), + _templateObject19 = _taggedTemplateLiteral(["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"], ["\n\t\t\t

$", "

\n\t\t\t
\n\t\t\t"]), + _templateObject20 = _taggedTemplateLiteral(["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"], ["\n\t\t\t\t
\n\t\t\t\t\t", "\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t"]), + _templateObject21 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), + _templateObject22 = _taggedTemplateLiteral(["
", "
"], ["
", "
"]), + _templateObject23 = _taggedTemplateLiteral(["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"], ["
\n\t\t\t

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\tSave\n\t\t\tDelete\n\t\t
\n\t\t"]), + _templateObject24 = _taggedTemplateLiteral(["$", "", ""], ["$", "", ""]), + _templateObject25 = _taggedTemplateLiteral(["$", ""], ["$", ""]), + _templateObject26 = _taggedTemplateLiteral(["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "], ["\n\t\t\t\t\t \n\t\t\t\t\t\t ", "\n\t\t\t\t\t\t ", "\n\t\t\t\t\t \n\t\t\t\t\t "]), + _templateObject27 = _taggedTemplateLiteral(["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "], ["\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
", "
\n\t\t\t\t\t ", "\n\t\t\t\t
\n\t\t\t\t "]); function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } @@ -170,14 +172,22 @@ build.photo = function (data) { }; build.overlay_image = function (data) { - var exifHash = data.make + data.model + data.shutter + data.aperture + data.focal + data.iso; + // Get the stored setting for the overlay_image + var type = lychee.image_overlay_type; var html = ""; - if (exifHash !== '') { - html += lychee.html(_templateObject12, data.title, data.shutter.replace('s', 'sec'), data.aperture.replace('f/', 'ƒ / '), lychee.locale['PHOTO_ISO'], data.iso, data.focal, data.lens && data.lens !== '' ? '(' + data.lens + ')' : ''); + if (type && type === 'desc' && data.description !== '') { + html = lychee.html(_templateObject12, data.title, data.description); + } else if (type && type === 'takedate' && data.takedate !== '') { + html = lychee.html(_templateObject13, data.title, data.takedate); } + // fall back to exif data if there is no description + else if (exifHash !== '') { + + html += lychee.html(_templateObject14, data.title, data.shutter.replace('s', 'sec'), data.aperture.replace('f/', 'ƒ / '), lychee.locale['PHOTO_ISO'], data.iso, data.focal, data.lens && data.lens !== '' ? '(' + data.lens + ')' : ''); + } return html; }; @@ -187,9 +197,9 @@ build.imageview = function (data, visibleControls) { var html = ''; if (data.type.indexOf('video') > -1) { - html += lychee.html(_templateObject13, visibleControls === true ? '' : 'full', data.url); + html += lychee.html(_templateObject15, visibleControls === true ? '' : 'full', data.url); } else { - html += lychee.html(_templateObject14, visibleControls === true ? '' : 'full', data.medium !== '' ? data.medium : data.url); + html += lychee.html(_templateObject16, visibleControls === true ? '' : 'full', data.medium !== '' ? data.medium : data.url); if (lychee.image_overlay) html += build.overlay_image(data); } @@ -202,20 +212,20 @@ build.no_content = function (typ) { var html = ''; - html += lychee.html(_templateObject15, build.iconic(typ)); + html += lychee.html(_templateObject17, build.iconic(typ)); switch (typ) { case 'magnifying-glass': - html += lychee.html(_templateObject16, lychee.locale['VIEW_NO_RESULT']); + html += lychee.html(_templateObject18, lychee.locale['VIEW_NO_RESULT']); break; case 'eye': - html += lychee.html(_templateObject16, lychee.locale['VIEW_NO_PUBLIC_ALBUMS']); + html += lychee.html(_templateObject18, lychee.locale['VIEW_NO_PUBLIC_ALBUMS']); break; case 'cog': - html += lychee.html(_templateObject16, lychee.locale['VIEW_NO_CONFIGURATION']); + html += lychee.html(_templateObject18, lychee.locale['VIEW_NO_CONFIGURATION']); break; case 'question-mark': - html += lychee.html(_templateObject16, lychee.locale['VIEW_PHOTO_NOT_FOUND']); + html += lychee.html(_templateObject18, lychee.locale['VIEW_PHOTO_NOT_FOUND']); break; } @@ -228,7 +238,7 @@ build.uploadModal = function (title, files) { var html = ''; - html += lychee.html(_templateObject17, title); + html += lychee.html(_templateObject19, title); var i = 0; @@ -238,7 +248,7 @@ build.uploadModal = function (title, files) { if (file.name.length > 40) file.name = file.name.substr(0, 17) + '...' + file.name.substr(file.name.length - 20, 20); - html += lychee.html(_templateObject18, file.name); + html += lychee.html(_templateObject20, file.name); i++; } @@ -257,18 +267,18 @@ build.tags = function (tags) { tags = tags.split(','); tags.forEach(function (tag, index, array) { - html += lychee.html(_templateObject19, tag, index, build.iconic('x')); + html += lychee.html(_templateObject21, tag, index, build.iconic('x')); }); } else { - html = lychee.html(_templateObject20, lychee.locale['NO_TAGS']); + html = lychee.html(_templateObject22, lychee.locale['NO_TAGS']); } return html; }; build.user = function (user) { - var html = lychee.html(_templateObject21, user.id, user.id, user.username, user.id, user.id); + var html = lychee.html(_templateObject23, user.id, user.id, user.username, user.id, user.id); return html; }; @@ -510,7 +520,7 @@ header.setTitle = function () { var $title = header.dom('.header__title'); - var html = lychee.html(_templateObject22, title, build.iconic('caret-bottom')); + var html = lychee.html(_templateObject24, title, build.iconic('caret-bottom')); $title.html(html); @@ -989,12 +999,12 @@ sidebar.render = function (structure) { if (value === '' || value == null) value = '-'; // Wrap span-element around value for easier selecting on change - value = lychee.html(_templateObject23, row.kind, value); + value = lychee.html(_templateObject25, row.kind, value); // Add edit-icon to the value when editable if (row.editable === true) value += ' ' + build.editIcon('edit_' + row.kind); - _html += lychee.html(_templateObject24, row.title, value); + _html += lychee.html(_templateObject26, row.title, value); }); _html += "\n\t\t\t\t \n\t\t\t\t "; @@ -1010,7 +1020,7 @@ sidebar.render = function (structure) { // Add edit-icon to the value when editable if (section.editable === true) editable = build.editIcon('edit_tags'); - _html += lychee.html(_templateObject25, section.title, section.title.toLowerCase(), section.value, editable); + _html += lychee.html(_templateObject27, section.title, section.title.toLowerCase(), section.value, editable); return _html; }; @@ -1306,6 +1316,7 @@ lychee.locale = { 'UPDATE_AVAILABLE': 'Update available!', 'DEFAULT_LICENSE': 'Default License for new uploads:', 'SET_LICENSE': 'Set License', + 'SET_OVERLAY_TYPE': 'Set Overlay', 'SAVE_RISK': 'Save my modifications, I accept the Risk!', 'MORE': 'More', @@ -1561,7 +1572,12 @@ lychee.locale = { 'CSS_TITLE': 'Change CSS', 'LAYOUT_TEXT': 'Use justified layout:', - 'IMAGE_OVERLAY_TEXT': 'Display EXIF data overlay by default:', + 'IMAGE_OVERLAY_TEXT': 'Display image overlay by default:', + + 'LAYOUT_TYPE': 'Data to use in image overlay:', + 'OVERLAY_EXIF': 'Photo EXIF data', + 'OVERLAY_DESCRIPTION': 'Photo description', + 'OVERLAY_DATE': 'Photo date taken', 'VIEW_NO_RESULT': 'No results', 'VIEW_NO_PUBLIC_ALBUMS': 'No public albums', diff --git a/php/Access/Admin.php b/php/Access/Admin.php index 88ea41fd..e48f3df9 100644 --- a/php/Access/Admin.php +++ b/php/Access/Admin.php @@ -58,6 +58,7 @@ public static function init($fn) { // Settings functions case 'Settings::setImageOverlay': self::setImageOverlay(); break; + case 'Settings::setOverlayType': self::setOverlayType(); break; case 'Settings::setLayout': self::setLayoutAction(); break; case 'Settings::setLang': self::setLangAction(); break; case 'Settings::setDefaultLicense': self::setDefaultLicenseAction(); break; @@ -355,6 +356,13 @@ private static function setImageOverlay() { Response::json(Settings::setImageOverlay($_POST['image_overlay'])); } + private static function setOverlayType() { + + Validator::required(isset($_POST['image_overlay_type']), __METHOD__); + + Response::json(Settings::setOverlayType($_POST['image_overlay_type'])); + } + private static function setSortingAction() { Validator::required(isset($_POST['typeAlbums'], $_POST['orderAlbums'], $_POST['typePhotos'], $_POST['orderPhotos']), __METHOD__); diff --git a/php/Locale/English.php b/php/Locale/English.php index c5234162..2fabad9a 100644 --- a/php/Locale/English.php +++ b/php/Locale/English.php @@ -32,6 +32,7 @@ static public function get_locale() 'UPDATE_AVAILABLE' => 'Update available!', 'DEFAULT_LICENSE' => 'Default license for new uploads:', 'SET_LICENSE' => 'Set License', + 'SET_OVERLAY_TYPE' => 'Set Overlay', 'SMART_ALBUMS' => 'Smart albums', 'SHARED_ALBUMS' => 'Shared albums', @@ -277,7 +278,12 @@ static public function get_locale() 'LANG_TITLE' => 'Change Language', 'LAYOUT_TEXT' => 'Use justified layout:', - 'IMAGE_OVERLAY_TEXT' => 'Display EXIF data overlay by default:', + 'IMAGE_OVERLAY_TEXT' => 'Display data overlay by default:', + + 'LAYOUT_TYPE' => 'Data to use in image overlay:', + 'OVERLAY_EXIF' => 'Photo EXIF data', + 'OVERLAY_DESCRIPTION' => 'Photo description', + 'OVERLAY_DATE' => 'Photo date taken', 'VIEW_NO_RESULT' => 'No results', 'VIEW_NO_PUBLIC_ALBUMS' => 'No public albums', diff --git a/php/Modules/Import.php b/php/Modules/Import.php index 8e5ea324..de0efb9b 100644 --- a/php/Modules/Import.php +++ b/php/Modules/Import.php @@ -98,6 +98,13 @@ public function url($urls, $albumID = 0) { */ public function server($path, $albumID = 0) { + // Fixes #177 + $php_script_limit = Settings::get()['php_script_limit']; + if ($php_script_limit == 1) { + set_time_limit(0); + Log::notice(Database::get(), __METHOD__, __LINE__, 'Importing using unlimited execution time'); + } + // Parse path if (!isset($path)) $path = LYCHEE_UPLOADS_IMPORT; if (substr($path, -1)==='/') $path = substr($path, 0, -1); diff --git a/php/Modules/Photo.php b/php/Modules/Photo.php index c66f9769..8a3c9de8 100755 --- a/php/Modules/Photo.php +++ b/php/Modules/Photo.php @@ -886,7 +886,7 @@ public static function prepareData(array $data) { // Use takestamp $photo['cameraDate'] = '1'; $photo['sysdate'] = strftime('%d %B %Y', substr($data['id'], 0, -4)); - $photo['takedate'] = strftime('%d %B %Y', $data['takestamp']); + $photo['takedate'] = strftime('%d %B %Y - %k:%M', $data['takestamp']); } else { diff --git a/php/Modules/Session.php b/php/Modules/Session.php index e4a08966..432b61de 100755 --- a/php/Modules/Session.php +++ b/php/Modules/Session.php @@ -53,6 +53,7 @@ public function init($public = true) { unset($return['config']['location']); unset($return['config']['imagick']); unset($return['config']['plugins']); + unset($return['config']['php_script_limit']); } diff --git a/php/Modules/Settings.php b/php/Modules/Settings.php index 31ee74df..11b3eed2 100755 --- a/php/Modules/Settings.php +++ b/php/Modules/Settings.php @@ -207,6 +207,26 @@ public static function setImageOverlay($imageOverlay) { return true; } + public static function setOverlayType($imageOverlayType) { + $overlays = [ 'exif', 'desc', 'takedate' ]; + + $found = false; + $i = 0; + + while(!$found && $i < count($overlays)) { + if ($overlays[$i] === $imageOverlayType) $found = true; + $i++; + } + + if(!$found) { + Log::error(Database::get(), __METHOD__, __LINE__, 'Cound not find the submitted overlay type'); + Response::error(Database::get(), __METHOD__, __LINE__, 'Cound not find the submitted overlay type'); + } + else { + if (self::set('image_overlay_type', $imageOverlayType, true)===false) return false; + return true; + } + } /** * Sets a new sorting for the photos. diff --git a/php/database/update_030211.php b/php/database/update_030211.php new file mode 100644 index 00000000..0b0cb0c0 --- /dev/null +++ b/php/database/update_030211.php @@ -0,0 +1,41 @@ +num_rows===0) { + + $query = Database::prepare($connection, "INSERT INTO `?` (`key`, `value`) VALUES ('image_overlay_type', 'exif')", array(LYCHEE_TABLE_SETTINGS)); + $result = Database::execute($connection, $query, 'update_030211', __LINE__); + + if ($result===false) Response::error('Could not add image_overlay_type to database!'); + +} + +// Add php_script_limit to settings +$query = Database::prepare($connection, "SELECT `key` FROM `?` WHERE `key` = 'php_script_limit' LIMIT 1", array(LYCHEE_TABLE_SETTINGS)); +$result = Database::execute($connection, $query, 'update_030211', __LINE__); + +if ($result===false) Response::error('Could not get current php_script_limit from database!'); + +if ($result->num_rows===0) { + + $query = Database::prepare($connection, "INSERT INTO `?` (`key`, `value`) VALUES ('php_script_limit', '0')", array(LYCHEE_TABLE_SETTINGS)); + $result = Database::execute($connection, $query, 'update_030211', __LINE__); + + if ($result===false) Response::error('Could not add php_script_limit to database!'); +} + + +// Set version +if (Database::setVersion($connection, 'update_030211')===false) Response::error('Could not update version of database!'); diff --git a/version.md b/version.md index f15386a5..17ce9180 100644 --- a/version.md +++ b/version.md @@ -1 +1 @@ -3.2.10 +3.2.11