From 26d9b756edec97ffb2521775bb0b444c525363f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Viguier?= Date: Thu, 12 Jan 2023 10:33:53 +0100 Subject: [PATCH 1/3] allow forcing https scheme (#1707) --- .env.example | 1 + config/app.php | 2 ++ routes/api.php | 5 +---- routes/web-admin.php | 5 +---- routes/web-install.php | 5 +---- routes/web-livewire.php | 4 ++++ routes/web.php | 5 +---- 7 files changed, 11 insertions(+), 16 deletions(-) diff --git a/.env.example b/.env.example index fc666ba1dc..76ea1ead80 100644 --- a/.env.example +++ b/.env.example @@ -3,6 +3,7 @@ APP_ENV=production APP_KEY= APP_DEBUG=false APP_URL=http://localhost +APP_FORCE_HTTPS=false # enable or disable debug bar. By default it is disabled. DEBUGBAR_ENABLED=false diff --git a/config/app.php b/config/app.php index 9b24489911..7d892be2e8 100644 --- a/config/app.php +++ b/config/app.php @@ -69,6 +69,8 @@ 'asset_url' => null, + 'force_https' => (bool) env('APP_FORCE_HTTPS', false), + /* |-------------------------------------------------------------------------- | Application Timezone diff --git a/routes/api.php b/routes/api.php index ab399c463d..fbfabfcbc3 100644 --- a/routes/api.php +++ b/routes/api.php @@ -16,10 +16,7 @@ | */ -// We need that to force https everywhere -// if (env('APP_ENV') === 'production') { - -if (config('app.env') === 'dev') { +if (config('app.force_https')) { URL::forceScheme('https'); } diff --git a/routes/web-admin.php b/routes/web-admin.php index 3ec084b9b4..76a67a5286 100644 --- a/routes/web-admin.php +++ b/routes/web-admin.php @@ -17,10 +17,7 @@ | */ -// We need that to force https everywhere -// if (env('APP_ENV') === 'production') { - -if (env('APP_ENV') === 'dev') { +if (config('app.force_https')) { URL::forceScheme('https'); } diff --git a/routes/web-install.php b/routes/web-install.php index 7e65137fd4..4d7c52ed31 100644 --- a/routes/web-install.php +++ b/routes/web-install.php @@ -16,10 +16,7 @@ | */ -// We need that to force https everywhere -// if (env('APP_ENV') === 'production') { - -if (env('APP_ENV') === 'dev') { +if (config('app.force_https')) { URL::forceScheme('https'); } diff --git a/routes/web-livewire.php b/routes/web-livewire.php index a0efe18413..b2c59d011f 100644 --- a/routes/web-livewire.php +++ b/routes/web-livewire.php @@ -3,6 +3,7 @@ namespace App\Http\Livewire; use Illuminate\Support\Facades\Route; +use Illuminate\Support\Facades\URL; /* |-------------------------------------------------------------------------- @@ -14,6 +15,9 @@ | contains the "web" middleware group. Now create something great! | */ +if (config('app.force_https')) { + URL::forceScheme('https'); +} if (config('app.livewire')) { Route::group(['layout' => ''], function () { diff --git a/routes/web.php b/routes/web.php index e3c013e705..1ffac7437f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -16,10 +16,7 @@ | */ -// We need that to force https everywhere -// if (env('APP_ENV') === 'production') { - -if (config('app.env') === 'dev') { +if (config('app.force_https')) { URL::forceScheme('https'); } From 282e24c50e9e666d98e8ab0fd5f26be90f448089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Viguier?= Date: Mon, 16 Jan 2023 18:01:22 +0100 Subject: [PATCH 2/3] update config doc + sync front + dusting (#1713) * fix config doc + sync front * remove unused files --- app/Providers/AppServiceProvider.php | 2 +- config/app.php | 24 ++++++------- config/database.php | 14 ++++++++ public/Lychee-front | 2 +- public/dist/frontend.css | 2 +- public/dist/frontend.js | 20 +++++++---- resources/views/vendor/feed2/atom.blade.php | 36 ------------------- resources/views/vendor/feed2/feed.blade.php | 1 - resources/views/vendor/feed2/json.blade.php | 37 -------------------- resources/views/vendor/feed2/links.blade.php | 3 -- resources/views/vendor/feed2/rss.blade.php | 29 --------------- 11 files changed, 40 insertions(+), 130 deletions(-) delete mode 100644 resources/views/vendor/feed2/atom.blade.php delete mode 100644 resources/views/vendor/feed2/feed.blade.php delete mode 100644 resources/views/vendor/feed2/json.blade.php delete mode 100644 resources/views/vendor/feed2/links.blade.php delete mode 100644 resources/views/vendor/feed2/rss.blade.php diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 529983e071..ff9daebf0d 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -65,7 +65,7 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - if (config('app.db_log_sql', false) === true) { + if (config('database.db_log_sql', false) === true) { DB::listen(function ($query) { $msg = $query->sql . ' [' . implode(', ', $query->bindings) . ']'; Log::info($msg); diff --git a/config/app.php b/config/app.php index 7d892be2e8..f675ee229a 100644 --- a/config/app.php +++ b/config/app.php @@ -69,6 +69,16 @@ 'asset_url' => null, + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | When running behind a proxy, it may be necessary for the urls to be + | set as https for the reverse translation. You should set this if you + | want to force the https scheme. + */ + 'force_https' => (bool) env('APP_FORCE_HTTPS', false), /* @@ -123,20 +133,6 @@ 'faker_locale' => 'en_US', - /* - |-------------------------------------------------------------------------- - | Log DB SQL statements - |-------------------------------------------------------------------------- - | - | If set to true, all SQL statements will be logged to a text file below - | storage. - | Only use it for debugging and development purposes as it slows down - | the performance of the application - | - */ - - 'db_log_sql' => (bool) env('DB_LOG_SQL', false), - /* |-------------------------------------------------------------------------- | Skip diagnostics checks diff --git a/config/database.php b/config/database.php index 07eea75f5a..4ab1ed272f 100644 --- a/config/database.php +++ b/config/database.php @@ -16,6 +16,20 @@ 'default' => env('DB_CONNECTION', 'mysql'), + /* + |-------------------------------------------------------------------------- + | Log DB SQL statements + |-------------------------------------------------------------------------- + | + | If set to true, all SQL statements will be logged to a text file below + | storage. + | Only use it for debugging and development purposes as it slows down + | the performance of the application + | + */ + + 'db_log_sql' => (bool) env('DB_LOG_SQL', false), + /* |-------------------------------------------------------------------------- | Database Connections diff --git a/public/Lychee-front b/public/Lychee-front index 9780bfea1c..5ade25d897 160000 --- a/public/Lychee-front +++ b/public/Lychee-front @@ -1 +1 @@ -Subproject commit 9780bfea1c4f01fb8f9696ff561bafa9bfc6d43b +Subproject commit 5ade25d897bc04df9cab15bda0dc0fb6c5e0b16a diff --git a/public/dist/frontend.css b/public/dist/frontend.css index 10e9b160fa..7c24a882da 100644 --- a/public/dist/frontend.css +++ b/public/dist/frontend.css @@ -1 +1 @@ -@charset "UTF-8";@-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;background-color:rgba(0,0,0,.4);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;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{padding:7%;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:hover{background-color:rgba(0,0,0,.02)}.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__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}.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__data{min-width:140px;text-align:left;white-space:nowrap}.basicContext__icon{display:inline-block}.basicContext--scrollable{height:100%;-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}.basicContext--scrollable .basicContext__data{min-width:160px}@-webkit-keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}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:inherit;font-size:100%;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}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}em,i{font-style:italic}b,strong{font-weight:700}*{-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{width:100%;height:100%;position:relative;overflow:clip}body.mode-frame div#container,body.mode-none div#container{display:none}input,textarea{-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}}body.mode-frame #lychee_application_container,body.mode-none #lychee_application_container{display:none}.hflex-container,.hflex-item-rigid,.hflex-item-stretch,.vflex-container,.vflex-item-rigid,.vflex-item-stretch{position:relative;overflow:clip}.hflex-container,.vflex-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-line-pack:stretch;align-content:stretch;gap:0 0}.vflex-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.hflex-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.hflex-item-stretch,.vflex-item-stretch{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.hflex-item-stretch{width:0;height:100%}.vflex-item-stretch{width:100%;height:0}.hflex-item-rigid,.vflex-item-rigid{-webkit-box-flex:0;-ms-flex:none;flex:none}.hflex-item-rigid{width:auto;height:100%}.vflex-item-rigid{width:100%;height:auto}.overlay-container{position:absolute;display:none;top:0;left:0;width:100%;height:100%;background-color:#000;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.overlay-container.full{cursor:none}.overlay-container.active{display:unset}#lychee_view_content{height:auto;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start;padding-bottom:16px;-webkit-overflow-scrolling:touch}#lychee_view_content.contentZoomIn .album,#lychee_view_content.contentZoomIn .photo{-webkit-animation-name:zoomIn;animation-name:zoomIn}#lychee_view_content.contentZoomIn .divider{-webkit-animation-name:fadeIn;animation-name:fadeIn}#lychee_view_content.contentZoomOut .album,#lychee_view_content.contentZoomOut .photo{-webkit-animation-name:zoomOut;animation-name:zoomOut}#lychee_view_content.contentZoomOut .divider{-webkit-animation-name:fadeOut;animation-name:fadeOut}.album,.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)}.album .thumbimg,.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}.album .thumbimg>img,.photo .thumbimg>img{width:100%;height:100%}.album.active .thumbimg,.album:focus .thumbimg,.photo.active .thumbimg,.photo:focus .thumbimg{border-color:#2293ec}.album:active .thumbimg,.photo:active .thumbimg{-webkit-transition:none;-o-transition:none;transition:none;border-color:#0f6ab2}.album.selected img,.photo.selected img{outline:#2293ec solid 1px}.album .video::before,.photo .video::before{content:"";position:absolute;display:block;height:100%;width:100%;background:url(../img/play-icon.png) 46% 50% no-repeat;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;will-change:opacity,height}.album .video:focus::before,.photo .video:focus::before{opacity:.75}.album .livephoto::before,.photo .livephoto::before{content:"";position:absolute;display:block;height:100%;width:100%;background:url(../img/live-photo-icon.png) 2% 2% no-repeat;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;will-change:opacity,height}.album .livephoto:focus::before,.photo .livephoto:focus::before{opacity:.75}.album .thumbimg:first-child,.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}.album:focus .thumbimg:nth-child(1),.album:focus .thumbimg:nth-child(2){opacity:1;will-change:transform}.album:focus .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)}.album:focus .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)}.blurred span{overflow:hidden}.blurred img{-webkit-filter:blur(5px);filter:blur(5px)}.album .album_counters{position:absolute;right:8px;top:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:4px 4px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right;font:bold 10px sans-serif;-webkit-filter:drop-shadow(0 0 4px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 4px rgba(0, 0, 0, .75))}.album .album_counters .layers{position:relative;padding:6px 4px}.album .album_counters .layers .iconic{fill:#fff;width:12px;height:12px}.album .album_counters .folders,.album .album_counters .photos{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around;text-align:end}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{fill:#fff;width:15px;height:15px}.album .album_counters .folders span,.album .album_counters .photos span{position:absolute;bottom:0;color:#222;padding-right:1px;padding-left:1px}.album .album_counters .folders span{right:0;line-height:.9}.album .album_counters .photos span{right:4px;min-width:10px;background-color:#fff;padding-top:1px;line-height:1}.album .overlay,.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:-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}.album .thumbimg[data-overlay=false]+.overlay{background:0 0}.photo .overlay{opacity:0}.photo.active .overlay,.photo:focus .overlay{opacity:1}.album .overlay h1,.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}.album .overlay a,.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)}.album .overlay a .iconic,.photo .overlay a .iconic{fill:#ccc;margin:0 5px 0 0;width:8px;height:8px}.album .thumbimg[data-overlay=false]+.overlay a,.album .thumbimg[data-overlay=false]+.overlay h1{text-shadow:none}.album .badges,.photo .badges{position:absolute;margin:-1px 0 0 6px}.album .subalbum_badge{position:absolute;right:0;top:0}.album .badge,.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}.album .badge--visible,.photo .badge--visible{display:inline-block}.album .badge--not--hidden,.photo .badge--not--hidden{background:#0a0}.album .badge--hidden,.photo .badge--hidden{background:#f90}.album .badge--cover,.photo .badge--cover{display:inline-block;background:#f90}.album .badge--star,.photo .badge--star{display:inline-block;background:#fc0}.album .badge--nsfw,.photo .badge--nsfw{display:inline-block;background:#ff82ee}.album .badge--list,.photo .badge--list{background:#2293ec}.album .badge--tag,.photo .badge--tag{display:inline-block;background:#0a0}.album .badge .iconic,.photo .badge .iconic{fill:#fff;width:16px;height:16px}.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)}.divider:first-child{margin-top:10px;border-top:0;-webkit-box-shadow:none;box-shadow:none}.divider h1{margin:0 0 0 30px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700}@media only screen and (min-width:320px) and (max-width:567px){.album,.photo{--size:calc((100vw - 3px) / 3);width:calc(var(--size) - 3px);height:calc(var(--size) - 3px);margin:3px 0 0 3px}.album .thumbimg,.photo .thumbimg{width:calc(var(--size) - 5px);height:calc(var(--size) - 5px)}.album .overlay,.photo .overlay{width:calc(var(--size) - 5px)}.album .overlay h1,.photo .overlay h1{min-height:14px;width:calc(var(--size) - 19px);margin:8px 0 2px 6px;font-size:12px}.album .overlay a,.photo .overlay a{display:none}.album .badge,.photo .badge{padding:4px 3px 3px;width:12px}.album .badge .iconic,.photo .badge .iconic{width:12px;height:12px}.album .album_counters{-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));font:bold 7px sans-serif;gap:2px 2px;right:3px;top:3px}.album .album_counters .layers{position:relative;padding:3px 2px}.album .album_counters .layers .iconic{fill:#fff;width:8px;height:8px}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{width:11px;height:11px}.album .album_counters .photos span{right:3px;min-width:5px;line-height:.9;padding-top:2px}.divider{margin:20px 0 0}.divider:first-child{margin-top:0}.divider h1{margin:0 0 6px 8px;font-size:12px}}@media only screen and (min-width:568px) and (max-width:639px){.album,.photo{--size:calc((100vw - 3px) / 4);width:calc(var(--size) - 3px);height:calc(var(--size) - 3px);margin:3px 0 0 3px}.album .thumbimg,.photo .thumbimg{width:calc(var(--size) - 5px);height:calc(var(--size) - 5px)}.album .overlay,.photo .overlay{width:calc(var(--size) - 5px)}.album .overlay h1,.photo .overlay h1{min-height:14px;width:calc(var(--size) - 19px);margin:8px 0 2px 6px;font-size:12px}.album .overlay a,.photo .overlay a{display:none}.album .badge,.photo .badge{padding:4px 3px 3px;width:14px}.album .badge .iconic,.photo .badge .iconic{width:14px;height:14px}.album .album_counters{-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));font:bold 8px sans-serif;gap:3px 3px;right:4px;top:4px}.album .album_counters .layers{position:relative;padding:3px 2px}.album .album_counters .layers .iconic{fill:#fff;width:9px;height:9px}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{width:13px;height:13px}.album .album_counters .photos span{right:3px;min-width:8px;padding-top:2px}.divider{margin:24px 0 0}.divider:first-child{margin-top:0}.divider h1{margin:0 0 6px 10px}}@media only screen and (min-width:640px) and (max-width:768px){.album,.photo{--size:calc((100vw - 5px) / 5);width:calc(var(--size) - 5px);height:calc(var(--size) - 5px);margin:5px 0 0 5px}.album .thumbimg,.photo .thumbimg{width:calc(var(--size) - 7px);height:calc(var(--size) - 7px)}.album .overlay,.photo .overlay{width:calc(var(--size) - 7px)}.album .overlay h1,.photo .overlay h1{min-height:14px;width:calc(var(--size) - 21px);margin:10px 0 3px 8px;font-size:12px}.album .overlay a,.photo .overlay a{display:none}.album .badge,.photo .badge{padding:6px 4px 4px;width:16px}.album .badge .iconic,.photo .badge .iconic{width:16px;height:16px}.album .album_counters{-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));font:bold 9px sans-serif;gap:4px 4px;right:6px;top:6px}.album .album_counters .layers{position:relative;padding:3px 2px}.album .album_counters .layers .iconic{fill:#fff;width:11px;height:11px}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{width:15px;height:15px}.album .album_counters .folders span{line-height:1}.album .album_counters .photos span{right:3px;min-width:10px;padding-top:2px}.divider{margin:28px 0 0}.divider:first-child{margin-top:0}.divider h1{margin:0 0 6px 10px}}.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}body.mode-gallery #lychee_frame_container,body.mode-none #lychee_frame_container,body.mode-view #lychee_frame_container{display:none}#lychee_frame_bg_canvas{width:100%;height:100%;position:absolute}#lychee_frame_bg_image{position:absolute;display:none}#lychee_frame_noise_layer{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(../img/noise.png);background-repeat:repeat;background-position:44px 44px}#lychee_frame_image_container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center}#lychee_frame_image_container img{height:95%;width:95%;-o-object-fit:contain;object-fit:contain;-webkit-filter:drop-shadow(0 0 1px rgba(0, 0, 0, .3)) drop-shadow(0 0 10px rgba(0, 0, 0, .3));filter:drop-shadow(0 0 1px rgba(0, 0, 0, .3)) drop-shadow(0 0 10px rgba(0, 0, 0, .3))}#lychee_frame_shutter{position:absolute;width:100%;height:100%;top:0;left:0;padding:0;margin:0;background-color:#1d1d1d;opacity:1;-webkit-transition:opacity 1s ease-in-out;-o-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out}#lychee_frame_shutter.opened{opacity:0}#lychee_left_menu_container{width:0;background-color:#111;padding-top:16px;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s;height:100%;z-index:998}#lychee_left_menu,#lychee_left_menu_container.visible{width:250px}#lychee_left_menu a{padding:8px 8px 8px 32px;text-decoration:none;font-size:18px;color:#818181;display:block;cursor:pointer}#lychee_left_menu a.linkMenu{white-space:nowrap}#lychee_left_menu .iconic{display:inline-block;margin:0 10px 0 1px;width:15px;height:14px;fill:#818181}#lychee_left_menu .iconic.ionicons{margin:0 8px -2px 0;width:18px;height:18px}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){#lychee_left_menu,#lychee_left_menu_container{position:absolute;left:0}#lychee_left_menu_container.visible{width:100%}}@media (hover:hover){.album:hover .thumbimg,.photo:hover .thumbimg{border-color:#2293ec}.album .livephoto:hover::before,.album .video:hover::before,.photo .livephoto:hover::before,.photo .video:hover::before{opacity:.75}.album:hover .thumbimg:nth-child(1),.album:hover .thumbimg:nth-child(2),.album__dragover .thumbimg:nth-child(1),.album__dragover .thumbimg:nth-child(2){opacity:1;will-change:transform}.album:hover .thumbimg:nth-child(1),.album__dragover .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)}.album:hover .thumbimg:nth-child(2),.album__dragover .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)}.photo:hover .overlay{opacity:1}#lychee_left_menu a:hover{color:#f1f1f1}}.basicContext{padding:5px 0 6px;background:-webkit-gradient(linear,left top,left bottom,from(#333),to(#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;color:#ccc}.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--disabled{cursor:default;opacity:.5}.basicContext__item:last-child{margin-bottom:0}.basicContext__data{min-width:auto;padding:6px 25px 7px 12px;-webkit-transition:none;-o-transition:none;transition:none;cursor:default}@media (hover:none) and (pointer:coarse){.basicContext__data{padding:12px 25px 12px 12px}}.basicContext__item:not(.basicContext__item--disabled):active .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#1178ca),to(#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}@media (hover:hover){.basicContext__item:not(.basicContext__item--disabled):hover .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#2293ec),to(#1386e1));background:-o-linear-gradient(top,#2293ec,#1386e1);background:linear-gradient(to bottom,#2293ec,#1386e1)}.basicContext__item:hover{color:#fff;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}.basicContext__item:hover .iconic{fill:#fff}.basicContext__item--noHover:hover .basicContext__data{background:0 0!important}}.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.active{fill:#f90}.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}div.basicModalContainer{background-color:rgba(0,0,0,.85);z-index:999}div.basicModalContainer--error{-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px)}div.basicModal{background:-webkit-gradient(linear,left top,left bottom,from(#444),to(#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);font-size:14px;line-height:17px}div.basicModal--error{-webkit-transform:translateY(-40px);-ms-transform:translateY(-40px);transform:translateY(-40px)}div.basicModal__buttons{-webkit-box-shadow:none;box-shadow:none}.basicModal__button{padding:13px 0 15px;background:0 0;color:#999;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--busy,.basicModal__button:active{-webkit-transition:none;-o-transition:none;transition:none;background:rgba(0,0,0,.1);cursor:wait}.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,.basicModal__button#basicModal__cancel.red{color:#d92c34}.basicModal__button.hidden{display:none}div.basicModal__content{padding:36px;color:#ececec;text-align:left}div.basicModal__content>*{display:block;width:100%;margin:24px 0;padding:0}div.basicModal__content>.force-first-child,div.basicModal__content>:first-child{margin-top:0}div.basicModal__content>.force-last-child,div.basicModal__content>:last-child{margin-bottom:0}div.basicModal__content .disabled{color:#999}div.basicModal__content b{font-weight:700;color:#fff}div.basicModal__content a{color:inherit;text-decoration:none;border-bottom:1px dashed #ececec}div.basicModal__content a.button{display:inline-block;margin:0 6px;padding:3px 12px;color:#2293ec;text-align:center;border-radius:5px;border:none;-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)}div.basicModal__content a.button .iconic{fill:#2293ec}div.basicModal__content>hr{border:none;border-top:1px solid rgba(0,0,0,.3)}#lychee_toolbar_container{-webkit-transition:height .3s ease-out;-o-transition:height .3s ease-out;transition:height .3s ease-out}#lychee_toolbar_container.hidden{height:0}#lychee_toolbar_container,.toolbar{height:49px}.toolbar{background:-webkit-gradient(linear,left top,left bottom,from(#222),to(#1a1a1a));background:-o-linear-gradient(top,#222,#1a1a1a);background:linear-gradient(to bottom,#222,#1a1a1a);border-bottom:1px solid #0f0f0f;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%}.toolbar.visible{display:-webkit-box;display:-ms-flexbox;display:flex}#lychee_toolbar_config .toolbar .button .iconic{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#lychee_toolbar_config .toolbar .header__title{padding-right:80px}.toolbar .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}.toolbar .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}.toolbar .header__title:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.toolbar .header__title--editable .iconic{display:inline-block}.toolbar .button{-ms-flex-negative:0;flex-shrink:0;padding:16px 8px;height:15px}.toolbar .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}.toolbar .button:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.toolbar .button--star.active .iconic{fill:#f0ef77}.toolbar .button--eye.active .iconic{fill:#d92c34}.toolbar .button--eye.active--not-hidden .iconic{fill:#0a0}.toolbar .button--eye.active--hidden .iconic{fill:#f90}.toolbar .button--share .iconic.ionicons{margin:-2px 0;width:18px;height:18px}.toolbar .button--nsfw.active .iconic{fill:#ff82ee}.toolbar .button--info.active .iconic{fill:#2293ec}.toolbar #button_back,.toolbar #button_back_home,.toolbar #button_close_config,.toolbar #button_settings,.toolbar #button_signin{padding:16px 12px 16px 18px}.toolbar .button_add{padding:16px 18px 16px 12px}.toolbar .header__divider{-ms-flex-negative:0;flex-shrink:0;width:14px}.toolbar .header__search__field{position:relative}.toolbar input[type=text].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}.toolbar input[type=text].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}.toolbar input[type=text].header__search:focus~.header__clear{opacity:1}.toolbar input[type=text].header__search::-ms-clear{display:none}.toolbar .header__clear{position:absolute;top:50%;-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);right:8px;padding:0;color:rgba(255,255,255,.5);font-size:24px;opacity:0;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out;transition:color .2s ease-out;cursor:default}.toolbar .header__clear_nomap{right:60px}.toolbar .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}@media only screen and (max-width:640px){#button_move,#button_move_album,#button_nsfw_album,#button_trash,#button_trash_album,#button_visibility,#button_visibility_album{display:none!important}}@media only screen and (max-width:640px) and (max-width:567px){#button_rotate_ccwise,#button_rotate_cwise{display:none!important}.header__divider{width:0}}#imageview #image,#imageview #livephoto{position:absolute;top:30px;right:30px;bottom:30px;left:30px;margin:auto;max-width:calc(100% - 60px);max-height:calc(100% - 60px);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);background-size:contain;background-position:center;background-repeat:no-repeat}#imageview.full #image,#imageview.full #livephoto{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;z-index:3}#imageview #image_overlay h1{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 #image_overlay a .iconic{fill:#fff;margin:0 5px 0 0;width:14px;height:14px}#imageview .arrow_wrapper{position:absolute;width:15%;height:calc(100% - 60px);top:60px}#imageview .arrow_wrapper--previous{left:0}#imageview .arrow_wrapper--next{right:0}#imageview .arrow_wrapper a{position:absolute;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 .iconic{fill:rgba(255,255,255,.8)}#imageview video{z-index:1}@media (hover:hover){.basicModal__button:hover{background:rgba(255,255,255,.02)}div.basicModal__content a.button:hover{color:#fff;background:#2293ec}.toolbar .button:hover .iconic,.toolbar .header__title:hover .iconic,div.basicModal__content a.button:hover .iconic{fill:#fff}.toolbar .header__clear:hover{color:#fff}.toolbar .header__hostedwith:hover{background-color:rgba(0,0,0,.3)}#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}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){#imageview #image,#imageview #livephoto{top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%}#imageview #image_overlay h1{font-size:14px}#imageview #image_overlay p{margin-top:2px;font-size:11px;line-height:13px}#imageview #image_overlay a .iconic{width:9px;height:9px}}@media only screen and (min-width:568px) and (max-width:768px),only screen and (min-width:568px) and (max-width:640px) and (orientation:landscape){#imageview #image,#imageview #livephoto{top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%}#imageview #image_overlay h1{font-size:18px}#imageview #image_overlay p{margin-top:4px;font-size:14px;line-height:16px}#imageview #image_overlay a .iconic{width:12px;height:12px}}.leaflet-marker-photo img{width:100%;height:100%}.image-leaflet-popup{width:100%}.leaflet-popup-content div{pointer-events:none;position:absolute;bottom:19px;left:22px;right:22px;padding-bottom:10px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(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))}.leaflet-popup-content h1{top:0;position:relative;margin:12px 0 5px 15px;font-size:16px;font-weight:700;text-shadow:0 1px 3px rgba(255,255,255,.4);color:#fff;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.leaflet-popup-content span{margin-left:12px}.leaflet-popup-content svg{fill:#fff;vertical-align:middle}.leaflet-popup-content p{display:inline;font-size:11px;color:#fff}.leaflet-popup-content .iconic{width:20px;height:15px}#lychee_sidebar_container{width:0;-webkit-transition:width .3s cubic-bezier(.51,.92,.24,1);-o-transition:width .3s cubic-bezier(.51,.92,.24,1);transition:width .3s cubic-bezier(.51,.92,.24,1)}#lychee_sidebar,#lychee_sidebar_container.active{width:350px}#lychee_sidebar{height:100%;background-color:rgba(25,25,25,.98);border-left:1px solid rgba(0,0,0,.2)}#lychee_sidebar_header{height:49px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.02)),to(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}#lychee_sidebar_header h1{margin:15px 0;color:#fff;font-size:16px;font-weight:700;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content{overflow:clip auto;-webkit-overflow-scrolling:touch}#lychee_sidebar_content .sidebar__divider{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)}#lychee_sidebar_content .sidebar__divider:first-child{border-top:0;-webkit-box-shadow:none;box-shadow:none}#lychee_sidebar_content .sidebar__divider h1{margin:0 0 0 20px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content .edit{display:inline-block;margin-left:3px;width:10px}#lychee_sidebar_content .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}#lychee_sidebar_content .edit:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}#lychee_sidebar_content table{margin:10px 0 15px 20px;width:calc(100% - 20px)}#lychee_sidebar_content table tr td{padding:5px 0;color:#fff;font-size:14px;line-height:19px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content table tr td:first-child{width:110px}#lychee_sidebar_content table tr td:last-child{padding-right:10px}#lychee_sidebar_content table tr td span{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content #tags{width:calc(100% - 40px);margin:16px 20px 12px;color:#fff;display:inline-block}#lychee_sidebar_content #tags>div{display:inline-block}#lychee_sidebar_content #tags .empty{font-size:14px;margin:0 2px 8px 0;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content #tags .edit{margin-top:6px}#lychee_sidebar_content #tags .empty .edit{margin-top:0}#lychee_sidebar_content #tags .tag{cursor:default;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;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content #tags .tag span{display:inline-block;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}#lychee_sidebar_content #tags .tag span .iconic{fill:#d92c34;width:8px;height:8px}#lychee_sidebar_content #tags .tag span:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:#b22027}#lychee_sidebar_content #leaflet_map_single_photo{margin:10px 0 0 20px;height:180px;width:calc(100% - 40px)}#lychee_sidebar_content .attr_location.search{cursor:pointer}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){#lychee_sidebar_container{position:absolute;right:0}#lychee_sidebar{background-color:rgba(0,0,0,.6)}#lychee_sidebar,#lychee_sidebar_container.active{width:240px}#lychee_sidebar_header{height:22px}#lychee_sidebar_header h1{margin:6px 0;font-size:13px}#lychee_sidebar_content{padding-bottom:10px}#lychee_sidebar_content .sidebar__divider{padding:6px 0 2px}#lychee_sidebar_content .sidebar__divider h1{margin:0 0 0 10px;font-size:12px}#lychee_sidebar_content #tags,#lychee_sidebar_content table{margin:4px 0 6px 10px;width:calc(100% - 16px)}#lychee_sidebar_content table tr td{padding:2px 0;font-size:11px;line-height:12px}#lychee_sidebar_content table tr td:first-child{width:80px}#lychee_sidebar_content #tags .empty{margin:0;font-size:11px}}@media only screen and (min-width:568px) and (max-width:768px),only screen and (min-width:568px) and (max-width:640px) and (orientation:landscape){#lychee_sidebar,#lychee_sidebar_container.active{width:280px}#lychee_sidebar_header{height:28px}#lychee_sidebar_header h1{margin:8px 0;font-size:15px}#lychee_sidebar_content{padding-bottom:10px}#lychee_sidebar_content .sidebar__divider{padding:8px 0 4px}#lychee_sidebar_content .sidebar__divider h1{margin:0 0 0 10px;font-size:13px}#lychee_sidebar_content #tags,#lychee_sidebar_content table{margin:4px 0 6px 10px;width:calc(100% - 16px)}#lychee_sidebar_content table tr td{padding:2px 0;font-size:12px;line-height:13px}#lychee_sidebar_content table tr td:first-child{width:90px}#lychee_sidebar_content #tags .empty{margin:0;font-size:12px}}#lychee_loading{height:0;-webkit-transition:height .3s;-o-transition:height .3s;transition:height .3s;background-size:100px 3px;background-repeat:repeat-x;-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}#lychee_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:-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%)}#lychee_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:-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%)}#lychee_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:-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%)}#lychee_loading h1{margin:13px 13px 0;color:#ddd;font-size:14px;font-weight:700;text-shadow:0 1px 0 #000;text-transform:capitalize}#lychee_loading h1 span{margin-left:10px;font-weight:400;text-transform:none}div.select,input,output,select,textarea{display:inline-block;position:relative}div.select>select{display:block;width:100%}div.select,input,output,select,select option,textarea{color:#fff;background-color:#2c2c2c;margin:0;font-size:inherit;line-height:inherit;padding:0;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}input[type=password],input[type=text],select{padding-top:3px;padding-bottom:3px}input[type=password],input[type=text]{padding-left:2px;padding-right:2px;background-color:transparent;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)}input[type=password]:focus,input[type=text]:focus{border-bottom-color:#2293ec}input[type=password].error,input[type=text].error{border-bottom-color:#d92c34}input[type=checkbox]{top:2px;height:16px;width:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#2293ec;border:none;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)}input[type=checkbox]::before{content:"✔";position:absolute;text-align:center;font-size:16px;line-height:16px;top:0;bottom:0;left:0;right:0;width:auto;height:auto;visibility:hidden}input[type=checkbox]:checked::before{visibility:visible}input[type=checkbox].slider{top:5px;height:22px;width:42px;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);border-radius:11px;background:#2c2c2c}input[type=checkbox].slider::before{content:"";background-color:#2293ec;height:14px;width:14px;left:3px;top:3px;border:none;border-radius:7px;visibility:visible}input[type=checkbox].slider:checked{background-color:#2293ec}input[type=checkbox].slider:checked::before{left:auto;right:3px;background-color:#fff}div.select{font-size:12px;background:#2c2c2c;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)}div.select::after{position:absolute;content:"≡";right:8px;top:3px;color:#2293ec;font-size:16px;font-weight:700;pointer-events:none}select{padding-left:8px;padding-right:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0}select option{padding:2px 0;-webkit-transition:none;-o-transition:none;transition:none}form div.input-group{position:relative;margin:18px 0}form div.input-group:first-child{margin-top:0}form div.input-group:last-child{margin-bottom:0}form div.input-group.hidden{display:none}form div.input-group label{font-weight:700}form div.input-group p{display:block;margin:6px 0;font-size:13px;line-height:16px}form div.input-group p:last-child{margin-bottom:0}form div.input-group.stacked>label{display:block;margin-bottom:6px}form div.input-group.stacked>label>input[type=password],form div.input-group.stacked>label>input[type=text]{margin-top:12px}form div.input-group.stacked>div.select,form div.input-group.stacked>input,form div.input-group.stacked>output,form div.input-group.stacked>textarea{width:100%;display:block}form div.input-group.compact{padding-left:120px}form div.input-group.compact>label{display:block;position:absolute;margin:0;left:0;width:108px;height:auto;top:3px;bottom:0;overflow-y:hidden}form div.input-group.compact>div.select,form div.input-group.compact>input,form div.input-group.compact>output,form div.input-group.compact>textarea{display:block;width:100%}form div.input-group.compact-inverse{padding-left:36px}form div.input-group.compact-inverse label{display:block}form div.input-group.compact-inverse>div.select,form div.input-group.compact-inverse>input,form div.input-group.compact-inverse>output,form div.input-group.compact-inverse>textarea{display:block;position:absolute;width:16px;height:16px;top:2px;left:0}form div.input-group.compact-no-indent>label{display:inline}form div.input-group.compact-no-indent>div.select,form div.input-group.compact-no-indent>input,form div.input-group.compact-no-indent>output,form div.input-group.compact-no-indent>textarea{display:inline-block;margin-left:.3em;margin-right:.3em}div.basicModal.about-dialog div.basicModal__content h1{font-size:120%;font-weight:700;text-align:center;color:#fff}div.basicModal.about-dialog div.basicModal__content h2{font-weight:700;color:#fff}div.basicModal.about-dialog div.basicModal__content p.update-status.up-to-date-git,div.basicModal.about-dialog div.basicModal__content p.update-status.up-to-date-release{display:none}div.basicModal.about-dialog div.basicModal__content p.about-desc{line-height:1.4em}div.basicModal.downloads div.basicModal__content a.button{display:block;margin:12px 0;padding:12px;font-weight:700;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}div.basicModal.downloads div.basicModal__content a.button .iconic{width:12px;height:12px;margin-right:12px}div.basicModal.qr-code{width:300px}div.basicModal.qr-code div.basicModal__content{padding:12px}.basicModal.import div.basicModal__content{padding:12px 8px}.basicModal.import div.basicModal__content h1{margin-bottom:12px;color:#fff;font-size:16px;line-height:19px;font-weight:700;text-align:center}.basicModal.import div.basicModal__content ol{margin-top:12px;height:300px;background-color:#2c2c2c;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.import div.basicModal__content ol li{float:left;padding:8px 0;width:100%;background-color:rgba(255,255,255,.02)}.basicModal.import div.basicModal__content ol li:nth-child(2n){background-color:rgba(255,255,255,0)}.basicModal.import div.basicModal__content ol li h2{float:left;padding:5px 10px;width:70%;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden}.basicModal.import div.basicModal__content ol li p.status{float:left;padding:5px 10px;width:30%;color:#999;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.import div.basicModal__content ol li p.status.error,.basicModal.import div.basicModal__content ol li p.status.success,.basicModal.import div.basicModal__content ol li p.status.warning{-webkit-animation:none;animation:none}.basicModal.import div.basicModal__content ol li p.status.error{color:#d92c34}.basicModal.import div.basicModal__content ol li p.status.warning{color:#fc0}.basicModal.import div.basicModal__content ol li p.status.success{color:#0a0}.basicModal.import div.basicModal__content ol li p.notice{float:left;padding:2px 10px 5px;width:100%;color:#999;font-size:12px;overflow:hidden;line-height:16px}.basicModal.import div.basicModal__content ol li p.notice:empty{display:none}div.basicModal.login div.basicModal__content a.button#signInKeyLess{position:absolute;display:block;color:#999;top:8px;left:8px;width:30px;height:30px;margin:0;padding:5px;cursor:pointer;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}div.basicModal.login div.basicModal__content a.button#signInKeyLess .iconic{width:100%;height:100%;fill:#999}div.basicModal.login div.basicModal__content p.version{font-size:12px;text-align:right}div.basicModal.login div.basicModal__content p.version span.update-status.up-to-date-git,div.basicModal.login div.basicModal__content p.version span.update-status.up-to-date-release{display:none}@media (hover:hover){#lychee_sidebar .edit:hover .iconic{fill:#fff}#lychee_sidebar #tags .tag:hover{background-color:rgba(0,0,0,.3)}#lychee_sidebar #tags .tag:hover.search{cursor:pointer}#lychee_sidebar #tags .tag:hover span{width:9px;margin:0 0 -2px 5px;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#lychee_sidebar #tags .tag span:hover .iconic{fill:#e1575e}div.basicModal.login div.basicModal__content a.button#signInKeyLess:hover{color:#fff;background:inherit}div.basicModal.login div.basicModal__content a.button#signInKeyLess:hover .iconic{fill:#fff}}form.photo-links div.input-group{padding-right:30px}form.photo-links div.input-group a.button{display:block;position:absolute;margin:0;padding:4px;right:0;bottom:0;width:26px;height:26px;cursor:pointer;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}form.photo-links div.input-group a.button .iconic{width:100%;height:100%}form.token div.input-group{padding-right:82px}form.token div.input-group input.disabled,form.token div.input-group input[disabled]{color:#999}form.token div.input-group div.button-group{display:block;position:absolute;margin:0;padding:0;right:0;bottom:0;width:78px}form.token div.input-group div.button-group a.button{display:block;float:right;margin:0;padding:4px;bottom:4px;width:26px;height:26px;cursor:pointer;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}form.token div.input-group div.button-group a.button .iconic{width:100%;height:100%}#sensitive_warning{background:rgba(100,0,0,.95);text-align:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}#sensitive_warning.active{display:-webkit-box;display:-ms-flexbox;display:flex}#sensitive_warning h1{font-size:36px;font-weight:700;border-bottom:2px solid #fff;margin-bottom:15px}#sensitive_warning p{font-size:20px;max-width:40%;margin-top:15px}.settings_view{width:90%;max-width:700px;margin-left:auto;margin-right:auto}.settings_view 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}.settings_view input.text:focus{border-bottom-color:#2293ec}.settings_view input.text .error{border-bottom-color:#d92c34}.settings_view .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);border-radius:5px}.settings_view .basicModal__button_MORE,.settings_view .basicModal__button_SAVE{color:#b22027;border-radius:5px}.settings_view>div{font-size:14px;width:100%;padding:12px 0}.settings_view>div p{margin:0 0 5%;width:100%;color:#ccc;line-height:16px}.settings_view>div p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.settings_view>div p:last-of-type{margin:0}.settings_view>div input.text{width:100%}.settings_view>div 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}.settings_view>div textarea:focus{border-color:#2293ec}.settings_view>div .choice{padding:0 30px 15px;width:100%;color:#fff}.settings_view>div .choice:last-child{padding-bottom:40px}.settings_view>div .choice label{float:left;color:#fff;font-size:14px;font-weight:700}.settings_view>div .choice label input{position:absolute;margin:0;opacity:0}.settings_view>div .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)}.settings_view>div .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)}.settings_view>div .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}.settings_view>div .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}.settings_view>div .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.settings_view>div .select select:disabled{color:#000;cursor:not-allowed}.settings_view>div .select::after{position:absolute;content:"≡";right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.settings_view>div .switch{position:relative;display:inline-block;width:42px;height:22px;bottom:-2px;line-height:24px}.settings_view>div .switch input{opacity:0;width:0;height:0}.settings_view>div .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}.settings_view>div .slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#2293ec}.settings_view>div input:checked+.slider{background-color:#2293ec}.settings_view>div input:checked+.slider:before{-ms-transform:translateX(20px);-webkit-transform:translateX(20px);transform:translateX(20px);background-color:#fff}.settings_view>div .slider.round{border-radius:20px}.settings_view>div .slider.round:before{border-radius:50%}.settings_view .setting_category{font-size:20px;width:100%;padding-top:10px;padding-left:4px;border-bottom:1px dotted #222;margin-top:20px;color:#fff;font-weight:700;text-transform:capitalize}.settings_view .setting_line{font-size:14px;width:100%}.settings_view .setting_line:first-child,.settings_view .setting_line:last-child{padding-top:50px}.settings_view .setting_line p{min-width:550px;margin:0;color:#ccc;display:inline-block;width:100%;overflow-wrap:break-word}.settings_view .setting_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.settings_view .setting_line p:last-of-type{margin:0}.settings_view .setting_line p .warning{margin-bottom:30px;color:#d92c34;font-weight:700;font-size:18px;text-align:justify;line-height:22px}.settings_view .setting_line span.text{display:inline-block;padding:9px 4px;width:calc(50% - 12px);background-color:transparent;color:#fff;border:none}.settings_view .setting_line span.text_icon{width:5%}.settings_view .setting_line span.text_icon .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}.settings_view .setting_line input.text{width:calc(50% - 4px)}@media (hover:hover){.settings_view .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.settings_view .basicModal__button_MORE:hover,.settings_view .basicModal__button_SAVE:hover{background:#b22027;color:#fff}.settings_view input:hover{border-bottom:1px solid #2293ec}}@media (hover:none){#lychee_left_menu a{padding:14px 8px 14px 32px}.settings_view input.text{border-bottom:1px solid #2293ec;margin:6px 0}.settings_view>div{padding:16px 0}.settings_view .basicModal__button{background:#2293ec;color:#fff;max-width:320px;margin-top:20px}.settings_view .basicModal__button_MORE,.settings_view .basicModal__button_SAVE{background:#b22027}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.settings_view{max-width:100%}.settings_view .setting_category{font-size:14px;padding-left:0;margin-bottom:4px}.settings_view .setting_line{font-size:12px}.settings_view .setting_line:first-child{padding-top:20px}.settings_view .setting_line p{min-width:unset;line-height:20px}.settings_view .setting_line p.warning{font-size:14px;line-height:16px;margin-bottom:0}.settings_view .setting_line p input,.settings_view .setting_line p span{padding:0}.settings_view .basicModal__button_SAVE{margin-top:20px}}.users_view{width:90%;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 6px 9px 0;width:40%;background-color:transparent;color:#fff;border:none}.users_view_line span.text_icon{width:5%;min-width:32px}.users_view_line span.text_icon .iconic{width:15px;height:14px;margin:0 8px;fill:#fff}.users_view_line input.text{padding:9px 6px 9px 0;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;margin:0 0 10px}.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%;min-width:32px;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:10px 8px 0;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:72px;border-radius:0}.users_view_line .basicModal__button_OK{color:#2293ec;border-radius:5px 0 0 5px;margin-right:-4px}.users_view_line .basicModal__button_OK_no_DEL{border-radius:5px;min-width:144px;width:20%}.users_view_line .basicModal__button_DEL{color:#b22027;border-radius:0 5px 5px 0}.users_view_line .basicModal__button_CREATE{width:20%;color:#090;border-radius:5px;min-width:144px}.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}@media (hover:hover){.users_view_line .basicModal__button:hover{cursor:pointer;color:#fff}.users_view_line .basicModal__button_OK:hover{background:#2293ec}.users_view_line .basicModal__button_DEL:hover{background:#b22027}.users_view_line .basicModal__button_CREATE:hover{background:#090}.users_view_line input:hover{border-bottom:1px solid #2293ec}}@media (hover:none){.users_view_line .basicModal__button{color:#fff}.users_view_line .basicModal__button_OK{background:#2293ec}.users_view_line .basicModal__button_DEL{background:#b22027}.users_view_line .basicModal__button_CREATE{background:#090}.users_view_line input{border-bottom:1px solid #2293ec}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.users_view{width:100%;max-width:100%;padding:20px}.users_view_line p{width:100%}.users_view_line p .text,.users_view_line p input.text{width:36%;font-size:smaller}.users_view_line .choice{margin-left:-8px;margin-right:3px}}.u2f_view{width:90%;max-width:700px;margin-left:auto;margin-right:auto}.u2f_view_line{font-size:14px;width:100%}.u2f_view_line:first-child,.u2f_view_line:last-child{padding-top:50px}.u2f_view_line p{width:550px;margin:0 0 5%;color:#ccc;display:inline-block}.u2f_view_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.u2f_view_line p.line,.u2f_view_line p:last-of-type{margin:0}.u2f_view_line p.single{text-align:center}.u2f_view_line span.text{display:inline-block;padding:9px 4px;width:80%;background-color:transparent;color:#fff;border:none}.u2f_view_line span.text_icon{width:5%}.u2f_view_line span.text_icon .iconic{width:15px;height:14px;margin:0 15px 0 1px;fill:#fff}.u2f_view_line .choice label input:checked~.checkbox .iconic{opacity:1;-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.u2f_view_line .choice{display:inline-block;width:5%;color:#fff}.u2f_view_line .choice input{position:absolute;margin:0;opacity:0}.u2f_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)}.u2f_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)}.u2f_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:20%;min-width:50px;border-radius:0}.u2f_view_line .basicModal__button_OK{color:#2293ec;border-radius:5px 0 0 5px}.u2f_view_line .basicModal__button_DEL{color:#b22027;border-radius:0 5px 5px 0}.u2f_view_line .basicModal__button_CREATE{width:100%;color:#090;border-radius:5px}.u2f_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}.u2f_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}.u2f_view_line .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.u2f_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}@media (hover:hover){.u2f_view_line .basicModal__button:hover{cursor:pointer}.u2f_view_line .basicModal__button_OK:hover{background:#2293ec;color:#fff}.u2f_view_line .basicModal__button_DEL:hover{background:#b22027;color:#fff}.u2f_view_line .basicModal__button_CREATE:hover{background:#090;color:#fff}.u2f_view_line input:hover{border-bottom:1px solid #2293ec}}@media (hover:none){.u2f_view_line .basicModal__button{color:#fff}.u2f_view_line .basicModal__button_OK{background:#2293ec}.u2f_view_line .basicModal__button_DEL{background:#b22027}.u2f_view_line .basicModal__button_CREATE{background:#090}.u2f_view_line input{border-bottom:1px solid #2293ec}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.u2f_view{width:100%;max-width:100%;padding:20px}.u2f_view_line p{width:100%}.u2f_view_line .basicModal__button_CREATE{width:80%;margin:0 10%}}.logs_diagnostics_view{width:90%;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;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding-right:30px}.clear_logs_update{padding-left:30px;margin:20px auto}.clear_logs_update .basicModal__button,.logs_diagnostics_view .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);border-radius:5px}.clear_logs_update .iconic,.logs_diagnostics_view .iconic{display:inline-block;margin:0 10px 0 1px;width:13px;height:12px;fill:#2293ec}.clear_logs_update .button_left,.logs_diagnostics_view .button_left{margin-left:24px;width:400px}@media (hover:none){.clear_logs_update .basicModal__button,.logs_diagnostics_view .basicModal__button{background:#2293ec;color:#fff;max-width:320px;margin-top:20px}.clear_logs_update .iconic,.logs_diagnostics_view .iconic{fill:#fff}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.clear_logs_update,.logs_diagnostics_view{width:100%;max-width:100%;font-size:11px;line-height:12px}.clear_logs_update .basicModal__button,.clear_logs_update .button_left,.logs_diagnostics_view .basicModal__button,.logs_diagnostics_view .button_left{width:80%;margin:0 10%}.logs_diagnostics_view{padding:10px 10px 0 0}.clear_logs_update{padding:10px 10px 0;margin:0}}.sharing_view{width:90%;max-width:700px;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:5px}.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}@media (hover:none){.sharing_view .basicModal__button{background:#2293ec;color:#fff}.sharing_view input{border-bottom:1px solid #2293ec}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.sharing_view{width:100%;max-width:100%;padding:10px}.sharing_view .select{font-size:12px}.sharing_view .iconic{margin-left:-4px}.sharing_view_line p{width:100%}.sharing_view_line .basicModal__button{width:80%;margin:0 10%}}#multiselect{position:absolute;background-color:rgba(0,94,204,.3);border:1px solid #005ecc;border-radius:3px;z-index:5}.justified-layout,.unjustified-layout{margin:30px;width:100%;position:relative}.justified-layout.laying-out,.unjustified-layout.laying-out{display:none}.justified-layout>.photo{position:absolute;--lychee-default-height:320px;margin:0}.unjustified-layout>.photo{float:left;max-height:240px;margin:5px}.justified-layout>.photo>.thumbimg,.justified-layout>.photo>.thumbimg>img,.unjustified-layout>.photo>.thumbimg,.unjustified-layout>.photo>.thumbimg>img{width:100%;height:100%;border:none;-o-object-fit:cover;object-fit:cover}.justified-layout>.photo>.overlay,.unjustified-layout>.photo>.overlay{width:100%;bottom:0;margin:0}.justified-layout>.photo>.overlay>h1,.unjustified-layout>.photo>.overlay>h1{width:auto;margin-right:15px}@media only screen and (min-width:320px) and (max-width:567px){.justified-layout{margin:8px}.justified-layout .photo{--lychee-default-height:160px}}@media only screen and (min-width:568px) and (max-width:639px){.justified-layout{margin:9px}.justified-layout .photo{--lychee-default-height:200px}}@media only screen and (min-width:640px) and (max-width:768px){.justified-layout{margin:10px}.justified-layout .photo{--lychee-default-height:240px}}#lychee_footer{text-align:center;padding:5px 0;background:#1d1d1d;-webkit-transition:color .3s,opacity .3s ease-out,margin-left .5s,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s,margin-left .5s,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;-o-transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s,margin-left .5s}#lychee_footer p{color:#ccc;font-size:.75em;font-weight:400;line-height:26px}#lychee_footer p a,#lychee_footer p a:visited{color:#ccc}#lychee_footer p.home_copyright,#lychee_footer p.hosted_by{text-transform:uppercase}#lychee_footer #home_socials a[href=""],#lychee_footer p:empty,.hide_footer,body.mode-frame div#footer,body.mode-none div#footer{display:none}@font-face{font-family:socials;src:url(fonts/socials.eot?egvu10);src:url(fonts/socials.eot?egvu10#iefix) format("embedded-opentype"),url(fonts/socials.ttf?egvu10) format("truetype"),url(fonts/socials.woff?egvu10) format("woff"),url(fonts/socials.svg?egvu10#socials) format("svg");font-weight:400;font-style:normal}#socials_footer{padding:0;text-align:center;left:0;right:0}.socialicons{display:inline-block;font-size:18px;font-family:socials!important;speak:none;color:#ccc;text-decoration:none;margin:15px 15px 5px;transition:.3s;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}#twitter:before{content:"\ea96"}#instagram:before{content:"\ea92"}#youtube:before{content:"\ea9d"}#flickr:before{content:"\eaa4"}#facebook:before{content:"\ea91"}@media (hover:hover){.sharing_view .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.sharing_view input:hover{border-bottom:1px solid #2293ec}.socialicons:hover{color:#b5b5b5;-ms-transform:scale(1.3);transform:scale(1.3);-webkit-transform:scale(1.3)}}@media tv{.basicModal__button:focus{background:#2293ec;color:#fff;cursor:pointer;outline-style:none}.basicModal__button#basicModal__action:focus{color:#fff}.photo:focus{outline:#fff solid 10px}.album:focus{outline-width:0}.toolbar .button:focus{outline-width:0;background-color:#fff}.header__title:focus{outline-width:0;background-color:#fff;color:#000}.toolbar .button:focus .iconic{fill:#000}#imageview{background-color:#000}#imageview #image,#imageview #livephoto{outline-width:0}}#lychee_view_container{position:absolute;top:0;left:0;height:100%;width:100%;overflow:clip auto}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline-offset:1px;font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:0 0}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1);-o-transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-o-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{-webkit-box-shadow:0 1px 5px rgba(0,0,0,.65);box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px "Lucida Console",Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{-webkit-box-shadow:0 1px 5px rgba(0,0,0,.4);box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{-webkit-box-shadow:none;box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;-webkit-box-shadow:0 3px 14px rgba(0,0,0,.4);box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:opacity .3s ease-in,-webkit-transform .3s ease-out;-o-transition:transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in,-webkit-transform .3s ease-out}.leaflet-cluster-spider-leg{-webkit-transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in;-o-transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.leaflet-marker-photo{border:2px solid #fff;-webkit-box-shadow:3px 3px 10px #888;box-shadow:3px 3px 10px #888}.leaflet-marker-photo div{width:100%;height:100%;background-size:cover;background-position:center center;background-repeat:no-repeat}.leaflet-marker-photo b{position:absolute;top:-7px;right:-11px;color:#555;background-color:#fff;border-radius:8px;height:12px;min-width:12px;line-height:12px;text-align:center;padding:3px;-webkit-box-shadow:0 3px 14px rgba(0,0,0,.4);box-shadow:0 3px 14px rgba(0,0,0,.4)} \ No newline at end of file +@charset "UTF-8";@-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;background-color:rgba(0,0,0,.4);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;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{padding:7%;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:hover{background-color:rgba(0,0,0,.02)}.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__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}.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__data{min-width:140px;text-align:left}.basicContext__icon{display:inline-block}.basicContext--scrollable{height:100%;-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}.basicContext--scrollable .basicContext__data{min-width:160px}@-webkit-keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes basicContext__popIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}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:inherit;font-size:100%;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}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}em,i{font-style:italic}b,strong{font-weight:700}*{-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{width:100%;height:100%;position:relative;overflow:clip}body.mode-frame div#container,body.mode-none div#container{display:none}input,textarea{-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}}body.mode-frame #lychee_application_container,body.mode-none #lychee_application_container{display:none}.hflex-container,.hflex-item-rigid,.hflex-item-stretch,.vflex-container,.vflex-item-rigid,.vflex-item-stretch{position:relative;overflow:clip}.hflex-container,.vflex-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-line-pack:stretch;align-content:stretch;gap:0 0}.vflex-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.hflex-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.hflex-item-stretch,.vflex-item-stretch{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.hflex-item-stretch{width:0;height:100%}.vflex-item-stretch{width:100%;height:0}.hflex-item-rigid,.vflex-item-rigid{-webkit-box-flex:0;-ms-flex:none;flex:none}.hflex-item-rigid{width:auto;height:100%}.vflex-item-rigid{width:100%;height:auto}.overlay-container{position:absolute;display:none;top:0;left:0;width:100%;height:100%;background-color:#000;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.overlay-container.full{cursor:none}.overlay-container.active{display:unset}#lychee_view_content{height:auto;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:start;align-content:flex-start;padding-bottom:16px;-webkit-overflow-scrolling:touch}#lychee_view_content.contentZoomIn .album,#lychee_view_content.contentZoomIn .photo{-webkit-animation-name:zoomIn;animation-name:zoomIn}#lychee_view_content.contentZoomIn .divider{-webkit-animation-name:fadeIn;animation-name:fadeIn}#lychee_view_content.contentZoomOut .album,#lychee_view_content.contentZoomOut .photo{-webkit-animation-name:zoomOut;animation-name:zoomOut}#lychee_view_content.contentZoomOut .divider{-webkit-animation-name:fadeOut;animation-name:fadeOut}.album,.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)}.album .thumbimg,.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}.album .thumbimg>img,.photo .thumbimg>img{width:100%;height:100%}.album.active .thumbimg,.album:focus .thumbimg,.photo.active .thumbimg,.photo:focus .thumbimg{border-color:#2293ec}.album:active .thumbimg,.photo:active .thumbimg{-webkit-transition:none;-o-transition:none;transition:none;border-color:#0f6ab2}.album.selected img,.photo.selected img{outline:#2293ec solid 1px}.album .video::before,.photo .video::before{content:"";position:absolute;display:block;height:100%;width:100%;background:url(../img/play-icon.png) 46% 50% no-repeat;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;will-change:opacity,height}.album .video:focus::before,.photo .video:focus::before{opacity:.75}.album .livephoto::before,.photo .livephoto::before{content:"";position:absolute;display:block;height:100%;width:100%;background:url(../img/live-photo-icon.png) 2% 2% no-repeat;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;will-change:opacity,height}.album .livephoto:focus::before,.photo .livephoto:focus::before{opacity:.75}.album .thumbimg:first-child,.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}.album:focus .thumbimg:nth-child(1),.album:focus .thumbimg:nth-child(2){opacity:1;will-change:transform}.album:focus .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)}.album:focus .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)}.blurred span{overflow:hidden}.blurred img{-webkit-filter:blur(5px);filter:blur(5px)}.album .album_counters{position:absolute;right:8px;top:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:4px 4px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right;font:bold 10px sans-serif;-webkit-filter:drop-shadow(0 0 4px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 4px rgba(0, 0, 0, .75))}.album .album_counters .layers{position:relative;padding:6px 4px}.album .album_counters .layers .iconic{fill:#fff;width:12px;height:12px}.album .album_counters .folders,.album .album_counters .photos{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around;text-align:end}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{fill:#fff;width:15px;height:15px}.album .album_counters .folders span,.album .album_counters .photos span{position:absolute;bottom:0;color:#222;padding-right:1px;padding-left:1px}.album .album_counters .folders span{right:0;line-height:.9}.album .album_counters .photos span{right:4px;min-width:10px;background-color:#fff;padding-top:1px;line-height:1}.album .overlay,.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:-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}.album .thumbimg[data-overlay=false]+.overlay{background:0 0}.photo .overlay{opacity:0}.photo.active .overlay,.photo:focus .overlay{opacity:1}.album .overlay h1,.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}.album .overlay a,.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)}.album .overlay a .iconic,.photo .overlay a .iconic{fill:#ccc;margin:0 5px 0 0;width:8px;height:8px}.album .thumbimg[data-overlay=false]+.overlay a,.album .thumbimg[data-overlay=false]+.overlay h1{text-shadow:none}.album .badges,.photo .badges{position:absolute;margin:-1px 0 0 6px}.album .subalbum_badge{position:absolute;right:0;top:0}.album .badge,.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}.album .badge--visible,.photo .badge--visible{display:inline-block}.album .badge--not--hidden,.photo .badge--not--hidden{background:#0a0}.album .badge--hidden,.photo .badge--hidden{background:#f90}.album .badge--cover,.photo .badge--cover{display:inline-block;background:#f90}.album .badge--star,.photo .badge--star{display:inline-block;background:#fc0}.album .badge--nsfw,.photo .badge--nsfw{display:inline-block;background:#ff82ee}.album .badge--list,.photo .badge--list{background:#2293ec}.album .badge--tag,.photo .badge--tag{display:inline-block;background:#0a0}.album .badge .iconic,.photo .badge .iconic{fill:#fff;width:16px;height:16px}.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)}.divider:first-child{margin-top:10px;border-top:0;-webkit-box-shadow:none;box-shadow:none}.divider h1{margin:0 0 0 30px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700}@media only screen and (min-width:320px) and (max-width:567px){.album,.photo{--size:calc((100vw - 3px) / 3);width:calc(var(--size) - 3px);height:calc(var(--size) - 3px);margin:3px 0 0 3px}.album .thumbimg,.photo .thumbimg{width:calc(var(--size) - 5px);height:calc(var(--size) - 5px)}.album .overlay,.photo .overlay{width:calc(var(--size) - 5px)}.album .overlay h1,.photo .overlay h1{min-height:14px;width:calc(var(--size) - 19px);margin:8px 0 2px 6px;font-size:12px}.album .overlay a,.photo .overlay a{display:none}.album .badge,.photo .badge{padding:4px 3px 3px;width:12px}.album .badge .iconic,.photo .badge .iconic{width:12px;height:12px}.album .album_counters{-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));font:bold 7px sans-serif;gap:2px 2px;right:3px;top:3px}.album .album_counters .layers{position:relative;padding:3px 2px}.album .album_counters .layers .iconic{fill:#fff;width:8px;height:8px}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{width:11px;height:11px}.album .album_counters .photos span{right:3px;min-width:5px;line-height:.9;padding-top:2px}.divider{margin:20px 0 0}.divider:first-child{margin-top:0}.divider h1{margin:0 0 6px 8px;font-size:12px}}@media only screen and (min-width:568px) and (max-width:639px){.album,.photo{--size:calc((100vw - 3px) / 4);width:calc(var(--size) - 3px);height:calc(var(--size) - 3px);margin:3px 0 0 3px}.album .thumbimg,.photo .thumbimg{width:calc(var(--size) - 5px);height:calc(var(--size) - 5px)}.album .overlay,.photo .overlay{width:calc(var(--size) - 5px)}.album .overlay h1,.photo .overlay h1{min-height:14px;width:calc(var(--size) - 19px);margin:8px 0 2px 6px;font-size:12px}.album .overlay a,.photo .overlay a{display:none}.album .badge,.photo .badge{padding:4px 3px 3px;width:14px}.album .badge .iconic,.photo .badge .iconic{width:14px;height:14px}.album .album_counters{-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));font:bold 8px sans-serif;gap:3px 3px;right:4px;top:4px}.album .album_counters .layers{position:relative;padding:3px 2px}.album .album_counters .layers .iconic{fill:#fff;width:9px;height:9px}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{width:13px;height:13px}.album .album_counters .photos span{right:3px;min-width:8px;padding-top:2px}.divider{margin:24px 0 0}.divider:first-child{margin-top:0}.divider h1{margin:0 0 6px 10px}}@media only screen and (min-width:640px) and (max-width:768px){.album,.photo{--size:calc((100vw - 5px) / 5);width:calc(var(--size) - 5px);height:calc(var(--size) - 5px);margin:5px 0 0 5px}.album .thumbimg,.photo .thumbimg{width:calc(var(--size) - 7px);height:calc(var(--size) - 7px)}.album .overlay,.photo .overlay{width:calc(var(--size) - 7px)}.album .overlay h1,.photo .overlay h1{min-height:14px;width:calc(var(--size) - 21px);margin:10px 0 3px 8px;font-size:12px}.album .overlay a,.photo .overlay a{display:none}.album .badge,.photo .badge{padding:6px 4px 4px;width:16px}.album .badge .iconic,.photo .badge .iconic{width:16px;height:16px}.album .album_counters{-webkit-filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));filter:drop-shadow(0 0 2px rgba(0, 0, 0, .75));font:bold 9px sans-serif;gap:4px 4px;right:6px;top:6px}.album .album_counters .layers{position:relative;padding:3px 2px}.album .album_counters .layers .iconic{fill:#fff;width:11px;height:11px}.album .album_counters .folders .iconic,.album .album_counters .photos .iconic{width:15px;height:15px}.album .album_counters .folders span{line-height:1}.album .album_counters .photos span{right:3px;min-width:10px;padding-top:2px}.divider{margin:28px 0 0}.divider:first-child{margin-top:0}.divider h1{margin:0 0 6px 10px}}.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}body.mode-gallery #lychee_frame_container,body.mode-none #lychee_frame_container,body.mode-view #lychee_frame_container{display:none}#lychee_frame_bg_canvas{width:100%;height:100%;position:absolute}#lychee_frame_bg_image{position:absolute;display:none}#lychee_frame_noise_layer{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(../img/noise.png);background-repeat:repeat;background-position:44px 44px}#lychee_frame_image_container{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center}#lychee_frame_image_container img{height:95%;width:95%;-o-object-fit:contain;object-fit:contain;-webkit-filter:drop-shadow(0 0 1px rgba(0, 0, 0, .3)) drop-shadow(0 0 10px rgba(0, 0, 0, .3));filter:drop-shadow(0 0 1px rgba(0, 0, 0, .3)) drop-shadow(0 0 10px rgba(0, 0, 0, .3))}#lychee_frame_shutter{position:absolute;width:100%;height:100%;top:0;left:0;padding:0;margin:0;background-color:#1d1d1d;opacity:1;-webkit-transition:opacity 1s ease-in-out;-o-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out}#lychee_frame_shutter.opened{opacity:0}#lychee_left_menu_container{width:0;background-color:#111;padding-top:16px;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s;height:100%;z-index:998}#lychee_left_menu,#lychee_left_menu_container.visible{width:250px}#lychee_left_menu a{padding:8px 8px 8px 32px;text-decoration:none;font-size:18px;color:#818181;display:block;cursor:pointer}#lychee_left_menu a.linkMenu{white-space:nowrap}#lychee_left_menu .iconic{display:inline-block;margin:0 10px 0 1px;width:15px;height:14px;fill:#818181}#lychee_left_menu .iconic.ionicons{margin:0 8px -2px 0;width:18px;height:18px}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){#lychee_left_menu,#lychee_left_menu_container{position:absolute;left:0}#lychee_left_menu_container.visible{width:100%}}@media (hover:hover){.album:hover .thumbimg,.photo:hover .thumbimg{border-color:#2293ec}.album .livephoto:hover::before,.album .video:hover::before,.photo .livephoto:hover::before,.photo .video:hover::before{opacity:.75}.album:hover .thumbimg:nth-child(1),.album:hover .thumbimg:nth-child(2),.album__dragover .thumbimg:nth-child(1),.album__dragover .thumbimg:nth-child(2){opacity:1;will-change:transform}.album:hover .thumbimg:nth-child(1),.album__dragover .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)}.album:hover .thumbimg:nth-child(2),.album__dragover .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)}.photo:hover .overlay{opacity:1}#lychee_left_menu a:hover{color:#f1f1f1}}.basicContext{padding:5px 0 6px;background:-webkit-gradient(linear,left top,left bottom,from(#333),to(#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;max-width:240px}.basicContext__item{margin-bottom:2px;font-size:14px;color:#ccc}.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--disabled{cursor:default;opacity:.5}.basicContext__item:last-child{margin-bottom:0}.basicContext__data{min-width:auto;padding:6px 25px 7px 12px;white-space:normal;overflow-wrap:normal;-webkit-transition:none;-o-transition:none;transition:none;cursor:default}@media (hover:none) and (pointer:coarse){.basicContext__data{padding:12px 25px 12px 12px}}.basicContext__item:not(.basicContext__item--disabled):active .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#1178ca),to(#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}@media (hover:hover){.basicContext__item:not(.basicContext__item--disabled):hover .basicContext__data{background:-webkit-gradient(linear,left top,left bottom,from(#2293ec),to(#1386e1));background:-o-linear-gradient(top,#2293ec,#1386e1);background:linear-gradient(to bottom,#2293ec,#1386e1)}.basicContext__item:hover{color:#fff;-webkit-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}.basicContext__item:hover .iconic{fill:#fff}.basicContext__item--noHover:hover .basicContext__data{background:0 0!important}}#addMenu{top:48px!important;left:unset!important;right:4px}.basicContext__data{padding-left:40px}.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 -22px;width:11px;height:10px;fill:#fff}.basicContext__data .iconic.active{fill:#f90}.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}div.basicModalContainer{background-color:rgba(0,0,0,.85);z-index:999}div.basicModalContainer--error{-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px)}div.basicModal{background:-webkit-gradient(linear,left top,left bottom,from(#444),to(#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);font-size:14px;line-height:17px}div.basicModal--error{-webkit-transform:translateY(-40px);-ms-transform:translateY(-40px);transform:translateY(-40px)}div.basicModal__buttons{-webkit-box-shadow:none;box-shadow:none}.basicModal__button{padding:13px 0 15px;background:0 0;color:#999;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--busy,.basicModal__button:active{-webkit-transition:none;-o-transition:none;transition:none;background:rgba(0,0,0,.1);cursor:wait}.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,.basicModal__button#basicModal__cancel.red{color:#d92c34}.basicModal__button.hidden{display:none}div.basicModal__content{padding:36px;color:#ececec;text-align:left}div.basicModal__content>*{display:block;width:100%;margin:24px 0;padding:0}div.basicModal__content>.force-first-child,div.basicModal__content>:first-child{margin-top:0}div.basicModal__content>.force-last-child,div.basicModal__content>:last-child{margin-bottom:0}div.basicModal__content .disabled{color:#999}div.basicModal__content b{font-weight:700;color:#fff}div.basicModal__content a{color:inherit;text-decoration:none;border-bottom:1px dashed #ececec}div.basicModal__content a.button{display:inline-block;margin:0 6px;padding:3px 12px;color:#2293ec;text-align:center;border-radius:5px;border:none;-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)}div.basicModal__content a.button .iconic{fill:#2293ec}div.basicModal__content>hr{border:none;border-top:1px solid rgba(0,0,0,.3)}#lychee_toolbar_container{-webkit-transition:height .3s ease-out;-o-transition:height .3s ease-out;transition:height .3s ease-out}#lychee_toolbar_container.hidden{height:0}#lychee_toolbar_container,.toolbar{height:49px}.toolbar{background:-webkit-gradient(linear,left top,left bottom,from(#222),to(#1a1a1a));background:-o-linear-gradient(top,#222,#1a1a1a);background:linear-gradient(to bottom,#222,#1a1a1a);border-bottom:1px solid #0f0f0f;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%}.toolbar.visible{display:-webkit-box;display:-ms-flexbox;display:flex}#lychee_toolbar_config .toolbar .button .iconic{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#lychee_toolbar_config .toolbar .header__title{padding-right:80px}.toolbar .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}.toolbar .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}.toolbar .header__title:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.toolbar .header__title--editable .iconic{display:inline-block}.toolbar .button{-ms-flex-negative:0;flex-shrink:0;padding:16px 8px;height:15px}.toolbar .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}.toolbar .button:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}.toolbar .button--star.active .iconic{fill:#f0ef77}.toolbar .button--eye.active .iconic{fill:#d92c34}.toolbar .button--eye.active--not-hidden .iconic{fill:#0a0}.toolbar .button--eye.active--hidden .iconic{fill:#f90}.toolbar .button--share .iconic.ionicons{margin:-2px 0;width:18px;height:18px}.toolbar .button--nsfw.active .iconic{fill:#ff82ee}.toolbar .button--info.active .iconic{fill:#2293ec}.toolbar #button_back,.toolbar #button_back_home,.toolbar #button_close_config,.toolbar #button_settings,.toolbar #button_signin{padding:16px 12px 16px 18px}.toolbar .button_add{padding:16px 18px 16px 12px}.toolbar .header__divider{-ms-flex-negative:0;flex-shrink:0;width:14px}.toolbar .header__search__field{position:relative}.toolbar input[type=text].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}.toolbar input[type=text].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}.toolbar input[type=text].header__search:focus~.header__clear{opacity:1}.toolbar input[type=text].header__search::-ms-clear{display:none}.toolbar .header__clear{position:absolute;top:50%;-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);right:8px;padding:0;color:rgba(255,255,255,.5);font-size:24px;opacity:0;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out;transition:color .2s ease-out;cursor:default}.toolbar .header__clear_nomap{right:60px}.toolbar .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}@media only screen and (max-width:640px){#button_move,#button_move_album,#button_nsfw_album,#button_trash,#button_trash_album,#button_visibility,#button_visibility_album{display:none!important}}@media only screen and (max-width:640px) and (max-width:567px){#button_rotate_ccwise,#button_rotate_cwise{display:none!important}.header__divider{width:0}}#imageview #image,#imageview #livephoto{position:absolute;top:30px;right:30px;bottom:30px;left:30px;margin:auto;max-width:calc(100% - 60px);max-height:calc(100% - 60px);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);background-size:contain;background-position:center;background-repeat:no-repeat}#imageview.full #image,#imageview.full #livephoto{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;z-index:3}#imageview #image_overlay h1{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 #image_overlay a .iconic{fill:#fff;margin:0 5px 0 0;width:14px;height:14px}#imageview .arrow_wrapper{position:absolute;width:15%;height:calc(100% - 60px);top:60px}#imageview .arrow_wrapper--previous{left:0}#imageview .arrow_wrapper--next{right:0}#imageview .arrow_wrapper a{position:absolute;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 .iconic{fill:rgba(255,255,255,.8)}#imageview video{z-index:1}@media (hover:hover){.basicModal__button:hover{background:rgba(255,255,255,.02)}div.basicModal__content a.button:hover{color:#fff;background:#2293ec}.toolbar .button:hover .iconic,.toolbar .header__title:hover .iconic,div.basicModal__content a.button:hover .iconic{fill:#fff}.toolbar .header__clear:hover{color:#fff}.toolbar .header__hostedwith:hover{background-color:rgba(0,0,0,.3)}#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}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){#imageview #image,#imageview #livephoto{top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%}#imageview #image_overlay h1{font-size:14px}#imageview #image_overlay p{margin-top:2px;font-size:11px;line-height:13px}#imageview #image_overlay a .iconic{width:9px;height:9px}}@media only screen and (min-width:568px) and (max-width:768px),only screen and (min-width:568px) and (max-width:640px) and (orientation:landscape){#imageview #image,#imageview #livephoto{top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%}#imageview #image_overlay h1{font-size:18px}#imageview #image_overlay p{margin-top:4px;font-size:14px;line-height:16px}#imageview #image_overlay a .iconic{width:12px;height:12px}}.leaflet-marker-photo img{width:100%;height:100%}.image-leaflet-popup{width:100%}.leaflet-popup-content div{pointer-events:none;position:absolute;bottom:19px;left:22px;right:22px;padding-bottom:10px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(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))}.leaflet-popup-content h1{top:0;position:relative;margin:12px 0 5px 15px;font-size:16px;font-weight:700;text-shadow:0 1px 3px rgba(255,255,255,.4);color:#fff;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.leaflet-popup-content span{margin-left:12px}.leaflet-popup-content svg{fill:#fff;vertical-align:middle}.leaflet-popup-content p{display:inline;font-size:11px;color:#fff}.leaflet-popup-content .iconic{width:20px;height:15px}#lychee_sidebar_container{width:0;-webkit-transition:width .3s cubic-bezier(.51,.92,.24,1);-o-transition:width .3s cubic-bezier(.51,.92,.24,1);transition:width .3s cubic-bezier(.51,.92,.24,1)}#lychee_sidebar,#lychee_sidebar_container.active{width:350px}#lychee_sidebar{height:100%;background-color:rgba(25,25,25,.98);border-left:1px solid rgba(0,0,0,.2)}#lychee_sidebar_header{height:49px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.02)),to(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}#lychee_sidebar_header h1{margin:15px 0;color:#fff;font-size:16px;font-weight:700;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content{overflow:clip auto;-webkit-overflow-scrolling:touch}#lychee_sidebar_content .sidebar__divider{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)}#lychee_sidebar_content .sidebar__divider:first-child{border-top:0;-webkit-box-shadow:none;box-shadow:none}#lychee_sidebar_content .sidebar__divider h1{margin:0 0 0 20px;color:rgba(255,255,255,.6);font-size:14px;font-weight:700;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content .edit{display:inline-block;margin-left:3px;width:10px}#lychee_sidebar_content .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}#lychee_sidebar_content .edit:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:rgba(255,255,255,.8)}#lychee_sidebar_content table{margin:10px 0 15px 20px;width:calc(100% - 20px)}#lychee_sidebar_content table tr td{padding:5px 0;color:#fff;font-size:14px;line-height:19px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content table tr td:first-child{width:110px}#lychee_sidebar_content table tr td:last-child{padding-right:10px}#lychee_sidebar_content table tr td span{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content #tags{width:calc(100% - 40px);margin:16px 20px 12px;color:#fff;display:inline-block}#lychee_sidebar_content #tags>div{display:inline-block}#lychee_sidebar_content #tags .empty{font-size:14px;margin:0 2px 8px 0;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content #tags .edit{margin-top:6px}#lychee_sidebar_content #tags .empty .edit{margin-top:0}#lychee_sidebar_content #tags .tag{cursor:default;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;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#lychee_sidebar_content #tags .tag span{display:inline-block;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}#lychee_sidebar_content #tags .tag span .iconic{fill:#d92c34;width:8px;height:8px}#lychee_sidebar_content #tags .tag span:active .iconic{-webkit-transition:none;-o-transition:none;transition:none;fill:#b22027}#lychee_sidebar_content #leaflet_map_single_photo{margin:10px 0 0 20px;height:180px;width:calc(100% - 40px)}#lychee_sidebar_content .attr_location.search{cursor:pointer}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){#lychee_sidebar_container{position:absolute;right:0}#lychee_sidebar{background-color:rgba(0,0,0,.6)}#lychee_sidebar,#lychee_sidebar_container.active{width:240px}#lychee_sidebar_header{height:22px}#lychee_sidebar_header h1{margin:6px 0;font-size:13px}#lychee_sidebar_content{padding-bottom:10px}#lychee_sidebar_content .sidebar__divider{padding:6px 0 2px}#lychee_sidebar_content .sidebar__divider h1{margin:0 0 0 10px;font-size:12px}#lychee_sidebar_content #tags,#lychee_sidebar_content table{margin:4px 0 6px 10px;width:calc(100% - 16px)}#lychee_sidebar_content table tr td{padding:2px 0;font-size:11px;line-height:12px}#lychee_sidebar_content table tr td:first-child{width:80px}#lychee_sidebar_content #tags .empty{margin:0;font-size:11px}}@media only screen and (min-width:568px) and (max-width:768px),only screen and (min-width:568px) and (max-width:640px) and (orientation:landscape){#lychee_sidebar,#lychee_sidebar_container.active{width:280px}#lychee_sidebar_header{height:28px}#lychee_sidebar_header h1{margin:8px 0;font-size:15px}#lychee_sidebar_content{padding-bottom:10px}#lychee_sidebar_content .sidebar__divider{padding:8px 0 4px}#lychee_sidebar_content .sidebar__divider h1{margin:0 0 0 10px;font-size:13px}#lychee_sidebar_content #tags,#lychee_sidebar_content table{margin:4px 0 6px 10px;width:calc(100% - 16px)}#lychee_sidebar_content table tr td{padding:2px 0;font-size:12px;line-height:13px}#lychee_sidebar_content table tr td:first-child{width:90px}#lychee_sidebar_content #tags .empty{margin:0;font-size:12px}}#lychee_loading{height:0;-webkit-transition:height .3s;-o-transition:height .3s;transition:height .3s;background-size:100px 3px;background-repeat:repeat-x;-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}#lychee_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:-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%)}#lychee_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:-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%)}#lychee_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:-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%)}#lychee_loading h1{margin:13px 13px 0;color:#ddd;font-size:14px;font-weight:700;text-shadow:0 1px 0 #000;text-transform:capitalize}#lychee_loading h1 span{margin-left:10px;font-weight:400;text-transform:none}div.select,input,output,select,textarea{display:inline-block;position:relative}div.select>select{display:block;width:100%}div.select,input,output,select,select option,textarea{color:#fff;background-color:#2c2c2c;margin:0;font-size:inherit;line-height:inherit;padding:0;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}input[type=password],input[type=text],select{padding-top:3px;padding-bottom:3px}input[type=password],input[type=text]{padding-left:2px;padding-right:2px;background-color:transparent;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)}input[type=password]:focus,input[type=text]:focus{border-bottom-color:#2293ec}input[type=password].error,input[type=text].error{border-bottom-color:#d92c34}input[type=checkbox]{top:2px;height:16px;width:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#2293ec;border:none;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)}input[type=checkbox]::before{content:"✔";position:absolute;text-align:center;font-size:16px;line-height:16px;top:0;bottom:0;left:0;right:0;width:auto;height:auto;visibility:hidden}input[type=checkbox]:checked::before{visibility:visible}input[type=checkbox].slider{top:5px;height:22px;width:42px;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);border-radius:11px;background:#2c2c2c}input[type=checkbox].slider::before{content:"";background-color:#2293ec;height:14px;width:14px;left:3px;top:3px;border:none;border-radius:7px;visibility:visible}input[type=checkbox].slider:checked{background-color:#2293ec}input[type=checkbox].slider:checked::before{left:auto;right:3px;background-color:#fff}div.select{font-size:12px;background:#2c2c2c;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)}div.select::after{position:absolute;content:"≡";right:8px;top:3px;color:#2293ec;font-size:16px;font-weight:700;pointer-events:none}select{padding-left:8px;padding-right:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0}select option{padding:2px 0;-webkit-transition:none;-o-transition:none;transition:none}form div.input-group{position:relative;margin:18px 0}form div.input-group:first-child{margin-top:0}form div.input-group:last-child{margin-bottom:0}form div.input-group.hidden{display:none}form div.input-group label{font-weight:700}form div.input-group p{display:block;margin:6px 0;font-size:13px;line-height:16px}form div.input-group p:last-child{margin-bottom:0}form div.input-group.stacked>label{display:block;margin-bottom:6px}form div.input-group.stacked>label>input[type=password],form div.input-group.stacked>label>input[type=text]{margin-top:12px}form div.input-group.stacked>div.select,form div.input-group.stacked>input,form div.input-group.stacked>output,form div.input-group.stacked>textarea{width:100%;display:block}form div.input-group.compact{padding-left:120px}form div.input-group.compact>label{display:block;position:absolute;margin:0;left:0;width:108px;height:auto;top:3px;bottom:0;overflow-y:hidden}form div.input-group.compact>div.select,form div.input-group.compact>input,form div.input-group.compact>output,form div.input-group.compact>textarea{display:block;width:100%}form div.input-group.compact-inverse{padding-left:36px}form div.input-group.compact-inverse label{display:block}form div.input-group.compact-inverse>div.select,form div.input-group.compact-inverse>input,form div.input-group.compact-inverse>output,form div.input-group.compact-inverse>textarea{display:block;position:absolute;width:16px;height:16px;top:2px;left:0}form div.input-group.compact-no-indent>label{display:inline}form div.input-group.compact-no-indent>div.select,form div.input-group.compact-no-indent>input,form div.input-group.compact-no-indent>output,form div.input-group.compact-no-indent>textarea{display:inline-block;margin-left:.3em;margin-right:.3em}div.basicModal.about-dialog div.basicModal__content h1{font-size:120%;font-weight:700;text-align:center;color:#fff}div.basicModal.about-dialog div.basicModal__content h2{font-weight:700;color:#fff}div.basicModal.about-dialog div.basicModal__content p.update-status.up-to-date-git,div.basicModal.about-dialog div.basicModal__content p.update-status.up-to-date-release{display:none}div.basicModal.about-dialog div.basicModal__content p.about-desc{line-height:1.4em}div.basicModal.downloads div.basicModal__content a.button{display:block;margin:12px 0;padding:12px;font-weight:700;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.02);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}div.basicModal.downloads div.basicModal__content a.button .iconic{width:12px;height:12px;margin-right:12px}div.basicModal.qr-code{width:300px}div.basicModal.qr-code div.basicModal__content{padding:12px}.basicModal.import div.basicModal__content{padding:12px 8px}.basicModal.import div.basicModal__content h1{margin-bottom:12px;color:#fff;font-size:16px;line-height:19px;font-weight:700;text-align:center}.basicModal.import div.basicModal__content ol{margin-top:12px;height:300px;background-color:#2c2c2c;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.import div.basicModal__content ol li{float:left;padding:8px 0;width:100%;background-color:rgba(255,255,255,.02)}.basicModal.import div.basicModal__content ol li:nth-child(2n){background-color:rgba(255,255,255,0)}.basicModal.import div.basicModal__content ol li h2{float:left;padding:5px 10px;width:70%;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden}.basicModal.import div.basicModal__content ol li p.status{float:left;padding:5px 10px;width:30%;color:#999;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.import div.basicModal__content ol li p.status.error,.basicModal.import div.basicModal__content ol li p.status.success,.basicModal.import div.basicModal__content ol li p.status.warning{-webkit-animation:none;animation:none}.basicModal.import div.basicModal__content ol li p.status.error{color:#d92c34}.basicModal.import div.basicModal__content ol li p.status.warning{color:#fc0}.basicModal.import div.basicModal__content ol li p.status.success{color:#0a0}.basicModal.import div.basicModal__content ol li p.notice{float:left;padding:2px 10px 5px;width:100%;color:#999;font-size:12px;overflow:hidden;line-height:16px}.basicModal.import div.basicModal__content ol li p.notice:empty{display:none}div.basicModal.login div.basicModal__content a.button#signInKeyLess{position:absolute;display:block;color:#999;top:8px;left:8px;width:30px;height:30px;margin:0;padding:5px;cursor:pointer;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}div.basicModal.login div.basicModal__content a.button#signInKeyLess .iconic{width:100%;height:100%;fill:#999}div.basicModal.login div.basicModal__content p.version{font-size:12px;text-align:right}div.basicModal.login div.basicModal__content p.version span.update-status.up-to-date-git,div.basicModal.login div.basicModal__content p.version span.update-status.up-to-date-release{display:none}@media (hover:hover){#lychee_sidebar .edit:hover .iconic{fill:#fff}#lychee_sidebar #tags .tag:hover{background-color:rgba(0,0,0,.3)}#lychee_sidebar #tags .tag:hover.search{cursor:pointer}#lychee_sidebar #tags .tag:hover span{width:9px;margin:0 0 -2px 5px;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#lychee_sidebar #tags .tag span:hover .iconic{fill:#e1575e}div.basicModal.login div.basicModal__content a.button#signInKeyLess:hover{color:#fff;background:inherit}div.basicModal.login div.basicModal__content a.button#signInKeyLess:hover .iconic{fill:#fff}}form.photo-links div.input-group{padding-right:30px}form.photo-links div.input-group a.button{display:block;position:absolute;margin:0;padding:4px;right:0;bottom:0;width:26px;height:26px;cursor:pointer;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}form.photo-links div.input-group a.button .iconic{width:100%;height:100%}form.token div.input-group{padding-right:82px}form.token div.input-group input.disabled,form.token div.input-group input[disabled]{color:#999}form.token div.input-group div.button-group{display:block;position:absolute;margin:0;padding:0;right:0;bottom:0;width:78px}form.token div.input-group div.button-group a.button{display:block;float:right;margin:0;padding:4px;bottom:4px;width:26px;height:26px;cursor:pointer;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);box-shadow:inset 1px 1px 0 rgba(255,255,255,.02);border:1px solid rgba(0,0,0,.2)}form.token div.input-group div.button-group a.button .iconic{width:100%;height:100%}#sensitive_warning{background:rgba(100,0,0,.95);text-align:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}#sensitive_warning.active{display:-webkit-box;display:-ms-flexbox;display:flex}#sensitive_warning h1{font-size:36px;font-weight:700;border-bottom:2px solid #fff;margin-bottom:15px}#sensitive_warning p{font-size:20px;max-width:40%;margin-top:15px}.settings_view{width:90%;max-width:700px;margin-left:auto;margin-right:auto}.settings_view 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}.settings_view input.text:focus{border-bottom-color:#2293ec}.settings_view input.text .error{border-bottom-color:#d92c34}.settings_view .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);border-radius:5px}.settings_view .basicModal__button_MORE,.settings_view .basicModal__button_SAVE{color:#b22027;border-radius:5px}.settings_view>div{font-size:14px;width:100%;padding:12px 0}.settings_view>div p{margin:0 0 5%;width:100%;color:#ccc;line-height:16px}.settings_view>div p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.settings_view>div p:last-of-type{margin:0}.settings_view>div input.text{width:100%}.settings_view>div 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}.settings_view>div textarea:focus{border-color:#2293ec}.settings_view>div .choice{padding:0 30px 15px;width:100%;color:#fff}.settings_view>div .choice:last-child{padding-bottom:40px}.settings_view>div .choice label{float:left;color:#fff;font-size:14px;font-weight:700}.settings_view>div .choice label input{position:absolute;margin:0;opacity:0}.settings_view>div .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)}.settings_view>div .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)}.settings_view>div .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}.settings_view>div .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}.settings_view>div .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.settings_view>div .select select:disabled{color:#000;cursor:not-allowed}.settings_view>div .select::after{position:absolute;content:"≡";right:8px;top:4px;color:#2293ec;font-size:16px;line-height:16px;font-weight:700;pointer-events:none}.settings_view>div .switch{position:relative;display:inline-block;width:42px;height:22px;bottom:-2px;line-height:24px}.settings_view>div .switch input{opacity:0;width:0;height:0}.settings_view>div .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}.settings_view>div .slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#2293ec}.settings_view>div input:checked+.slider{background-color:#2293ec}.settings_view>div input:checked+.slider:before{-ms-transform:translateX(20px);-webkit-transform:translateX(20px);transform:translateX(20px);background-color:#fff}.settings_view>div .slider.round{border-radius:20px}.settings_view>div .slider.round:before{border-radius:50%}.settings_view .setting_category{font-size:20px;width:100%;padding-top:10px;padding-left:4px;border-bottom:1px dotted #222;margin-top:20px;color:#fff;font-weight:700;text-transform:capitalize}.settings_view .setting_line{font-size:14px;width:100%}.settings_view .setting_line:first-child,.settings_view .setting_line:last-child{padding-top:50px}.settings_view .setting_line p{min-width:550px;margin:0;color:#ccc;display:inline-block;width:100%;overflow-wrap:break-word}.settings_view .setting_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.settings_view .setting_line p:last-of-type{margin:0}.settings_view .setting_line p .warning{margin-bottom:30px;color:#d92c34;font-weight:700;font-size:18px;text-align:justify;line-height:22px}.settings_view .setting_line span.text{display:inline-block;padding:9px 4px;width:calc(50% - 12px);background-color:transparent;color:#fff;border:none}.settings_view .setting_line span.text_icon{width:5%}.settings_view .setting_line span.text_icon .iconic{width:15px;height:14px;margin:0 10px 0 1px;fill:#fff}.settings_view .setting_line input.text{width:calc(50% - 4px)}@media (hover:hover){.settings_view .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.settings_view .basicModal__button_MORE:hover,.settings_view .basicModal__button_SAVE:hover{background:#b22027;color:#fff}.settings_view input:hover{border-bottom:1px solid #2293ec}}@media (hover:none){#lychee_left_menu a{padding:14px 8px 14px 32px}.settings_view input.text{border-bottom:1px solid #2293ec;margin:6px 0}.settings_view>div{padding:16px 0}.settings_view .basicModal__button{background:#2293ec;color:#fff;max-width:320px;margin-top:20px}.settings_view .basicModal__button_MORE,.settings_view .basicModal__button_SAVE{background:#b22027}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.settings_view{max-width:100%}.settings_view .setting_category{font-size:14px;padding-left:0;margin-bottom:4px}.settings_view .setting_line{font-size:12px}.settings_view .setting_line:first-child{padding-top:20px}.settings_view .setting_line p{min-width:unset;line-height:20px}.settings_view .setting_line p.warning{font-size:14px;line-height:16px;margin-bottom:0}.settings_view .setting_line p input,.settings_view .setting_line p span{padding:0}.settings_view .basicModal__button_SAVE{margin-top:20px}}.users_view{width:90%;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 6px 9px 0;width:40%;background-color:transparent;color:#fff;border:none}.users_view_line span.text_icon{width:5%;min-width:32px}.users_view_line span.text_icon .iconic{width:15px;height:14px;margin:0 8px;fill:#fff}.users_view_line input.text{padding:9px 6px 9px 0;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;margin:0 0 10px}.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%;min-width:32px;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:10px 8px 0;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:72px;border-radius:0}.users_view_line .basicModal__button_OK{color:#2293ec;border-radius:5px 0 0 5px;margin-right:-4px}.users_view_line .basicModal__button_OK_no_DEL{border-radius:5px;min-width:144px;width:20%}.users_view_line .basicModal__button_DEL{color:#b22027;border-radius:0 5px 5px 0}.users_view_line .basicModal__button_CREATE{width:20%;color:#090;border-radius:5px;min-width:144px}.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}@media (hover:hover){.users_view_line .basicModal__button:hover{cursor:pointer;color:#fff}.users_view_line .basicModal__button_OK:hover{background:#2293ec}.users_view_line .basicModal__button_DEL:hover{background:#b22027}.users_view_line .basicModal__button_CREATE:hover{background:#090}.users_view_line input:hover{border-bottom:1px solid #2293ec}}@media (hover:none){.users_view_line .basicModal__button{color:#fff}.users_view_line .basicModal__button_OK{background:#2293ec}.users_view_line .basicModal__button_DEL{background:#b22027}.users_view_line .basicModal__button_CREATE{background:#090}.users_view_line input{border-bottom:1px solid #2293ec}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.users_view{width:100%;max-width:100%;padding:20px}.users_view_line p{width:100%}.users_view_line p .text,.users_view_line p input.text{width:36%;font-size:smaller}.users_view_line .choice{margin-left:-8px;margin-right:3px}}.u2f_view{width:90%;max-width:700px;margin-left:auto;margin-right:auto}.u2f_view_line{font-size:14px;width:100%}.u2f_view_line:first-child,.u2f_view_line:last-child{padding-top:50px}.u2f_view_line p{width:550px;margin:0 0 5%;color:#ccc;display:inline-block}.u2f_view_line p a{color:rgba(255,255,255,.9);text-decoration:none;border-bottom:1px dashed #888}.u2f_view_line p.line,.u2f_view_line p:last-of-type{margin:0}.u2f_view_line p.single{text-align:center}.u2f_view_line span.text{display:inline-block;padding:9px 4px;width:80%;background-color:transparent;color:#fff;border:none}.u2f_view_line span.text_icon{width:5%}.u2f_view_line span.text_icon .iconic{width:15px;height:14px;margin:0 15px 0 1px;fill:#fff}.u2f_view_line .choice label input:checked~.checkbox .iconic{opacity:1;-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1)}.u2f_view_line .choice{display:inline-block;width:5%;color:#fff}.u2f_view_line .choice input{position:absolute;margin:0;opacity:0}.u2f_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)}.u2f_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)}.u2f_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:20%;min-width:50px;border-radius:0}.u2f_view_line .basicModal__button_OK{color:#2293ec;border-radius:5px 0 0 5px}.u2f_view_line .basicModal__button_DEL{color:#b22027;border-radius:0 5px 5px 0}.u2f_view_line .basicModal__button_CREATE{width:100%;color:#090;border-radius:5px}.u2f_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}.u2f_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}.u2f_view_line .select select option{margin:0;padding:0;background:#fff;color:#333;-webkit-transition:none;-o-transition:none;transition:none}.u2f_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}@media (hover:hover){.u2f_view_line .basicModal__button:hover{cursor:pointer}.u2f_view_line .basicModal__button_OK:hover{background:#2293ec;color:#fff}.u2f_view_line .basicModal__button_DEL:hover{background:#b22027;color:#fff}.u2f_view_line .basicModal__button_CREATE:hover{background:#090;color:#fff}.u2f_view_line input:hover{border-bottom:1px solid #2293ec}}@media (hover:none){.u2f_view_line .basicModal__button{color:#fff}.u2f_view_line .basicModal__button_OK{background:#2293ec}.u2f_view_line .basicModal__button_DEL{background:#b22027}.u2f_view_line .basicModal__button_CREATE{background:#090}.u2f_view_line input{border-bottom:1px solid #2293ec}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.u2f_view{width:100%;max-width:100%;padding:20px}.u2f_view_line p{width:100%}.u2f_view_line .basicModal__button_CREATE{width:80%;margin:0 10%}}.logs_diagnostics_view{width:90%;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;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding-right:30px}.clear_logs_update{padding-left:30px;margin:20px auto}.clear_logs_update .basicModal__button,.logs_diagnostics_view .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);border-radius:5px}.clear_logs_update .iconic,.logs_diagnostics_view .iconic{display:inline-block;margin:0 10px 0 1px;width:13px;height:12px;fill:#2293ec}.clear_logs_update .button_left,.logs_diagnostics_view .button_left{margin-left:24px;width:400px}@media (hover:none){.clear_logs_update .basicModal__button,.logs_diagnostics_view .basicModal__button{background:#2293ec;color:#fff;max-width:320px;margin-top:20px}.clear_logs_update .iconic,.logs_diagnostics_view .iconic{fill:#fff}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.clear_logs_update,.logs_diagnostics_view{width:100%;max-width:100%;font-size:11px;line-height:12px}.clear_logs_update .basicModal__button,.clear_logs_update .button_left,.logs_diagnostics_view .basicModal__button,.logs_diagnostics_view .button_left{width:80%;margin:0 10%}.logs_diagnostics_view{padding:10px 10px 0 0}.clear_logs_update{padding:10px 10px 0;margin:0}}.sharing_view{width:90%;max-width:700px;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:5px}.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}@media (hover:none){.sharing_view .basicModal__button{background:#2293ec;color:#fff}.sharing_view input{border-bottom:1px solid #2293ec}}@media only screen and (max-width:567px),only screen and (max-width:640px) and (orientation:portrait){.sharing_view{width:100%;max-width:100%;padding:10px}.sharing_view .select{font-size:12px}.sharing_view .iconic{margin-left:-4px}.sharing_view_line p{width:100%}.sharing_view_line .basicModal__button{width:80%;margin:0 10%}}#multiselect{position:absolute;background-color:rgba(0,94,204,.3);border:1px solid #005ecc;border-radius:3px;z-index:5}.justified-layout,.unjustified-layout{margin:30px;width:100%;position:relative}.justified-layout.laying-out,.unjustified-layout.laying-out{display:none}.justified-layout>.photo{position:absolute;--lychee-default-height:320px;margin:0}.unjustified-layout>.photo{float:left;max-height:240px;margin:5px}.justified-layout>.photo>.thumbimg,.justified-layout>.photo>.thumbimg>img,.unjustified-layout>.photo>.thumbimg,.unjustified-layout>.photo>.thumbimg>img{width:100%;height:100%;border:none;-o-object-fit:cover;object-fit:cover}.justified-layout>.photo>.overlay,.unjustified-layout>.photo>.overlay{width:100%;bottom:0;margin:0}.justified-layout>.photo>.overlay>h1,.unjustified-layout>.photo>.overlay>h1{width:auto;margin-right:15px}@media only screen and (min-width:320px) and (max-width:567px){.justified-layout{margin:8px}.justified-layout .photo{--lychee-default-height:160px}}@media only screen and (min-width:568px) and (max-width:639px){.justified-layout{margin:9px}.justified-layout .photo{--lychee-default-height:200px}}@media only screen and (min-width:640px) and (max-width:768px){.justified-layout{margin:10px}.justified-layout .photo{--lychee-default-height:240px}}#lychee_footer{text-align:center;padding:5px 0;background:#1d1d1d;-webkit-transition:color .3s,opacity .3s ease-out,margin-left .5s,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s,margin-left .5s,-webkit-transform .3s ease-out,-webkit-box-shadow .3s;-o-transition:color .3s,opacity .3s ease-out,transform .3s ease-out,box-shadow .3s,margin-left .5s}#lychee_footer p{color:#ccc;font-size:.75em;font-weight:400;line-height:26px}#lychee_footer p a,#lychee_footer p a:visited{color:#ccc}#lychee_footer p.home_copyright,#lychee_footer p.hosted_by{text-transform:uppercase}#lychee_footer #home_socials a[href=""],#lychee_footer p:empty,.hide_footer,body.mode-frame div#footer,body.mode-none div#footer{display:none}@font-face{font-family:socials;src:url(fonts/socials.eot?egvu10);src:url(fonts/socials.eot?egvu10#iefix) format("embedded-opentype"),url(fonts/socials.ttf?egvu10) format("truetype"),url(fonts/socials.woff?egvu10) format("woff"),url(fonts/socials.svg?egvu10#socials) format("svg");font-weight:400;font-style:normal}#socials_footer{padding:0;text-align:center;left:0;right:0}.socialicons{display:inline-block;font-size:18px;font-family:socials!important;speak:none;color:#ccc;text-decoration:none;margin:15px 15px 5px;transition:.3s;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s}#twitter:before{content:"\ea96"}#instagram:before{content:"\ea92"}#youtube:before{content:"\ea9d"}#flickr:before{content:"\eaa4"}#facebook:before{content:"\ea91"}@media (hover:hover){.sharing_view .basicModal__button:hover{background:#2293ec;color:#fff;cursor:pointer}.sharing_view input:hover{border-bottom:1px solid #2293ec}.socialicons:hover{color:#b5b5b5;-ms-transform:scale(1.3);transform:scale(1.3);-webkit-transform:scale(1.3)}}@media tv{.basicModal__button:focus{background:#2293ec;color:#fff;cursor:pointer;outline-style:none}.basicModal__button#basicModal__action:focus{color:#fff}.photo:focus{outline:#fff solid 10px}.album:focus{outline-width:0}.toolbar .button:focus{outline-width:0;background-color:#fff}.header__title:focus{outline-width:0;background-color:#fff;color:#000}.toolbar .button:focus .iconic{fill:#000}#imageview{background-color:#000}#imageview #image,#imageview #livephoto{outline-width:0}}#lychee_view_container{position:absolute;top:0;left:0;height:100%;width:100%;overflow:clip auto}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline-offset:1px;font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:0 0}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4);color:#0078a8}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1);-o-transition:transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1),-webkit-transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-o-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{-webkit-box-shadow:0 1px 5px rgba(0,0,0,.65);box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px "Lucida Console",Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{-webkit-box-shadow:0 1px 5px rgba(0,0,0,.4);box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{-webkit-box-shadow:none;box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;-webkit-box-shadow:0 3px 14px rgba(0,0,0,.4);box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:opacity .3s ease-in,-webkit-transform .3s ease-out;-o-transition:transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in,-webkit-transform .3s ease-out}.leaflet-cluster-spider-leg{-webkit-transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in;-o-transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.leaflet-marker-photo{border:2px solid #fff;-webkit-box-shadow:3px 3px 10px #888;box-shadow:3px 3px 10px #888}.leaflet-marker-photo div{width:100%;height:100%;background-size:cover;background-position:center center;background-repeat:no-repeat}.leaflet-marker-photo b{position:absolute;top:-7px;right:-11px;color:#555;background-color:#fff;border-radius:8px;height:12px;min-width:12px;line-height:12px;text-align:center;padding:3px;-webkit-box-shadow:0 3px 14px rgba(0,0,0,.4);box-shadow:0 3px 14px rgba(0,0,0,.4)} \ No newline at end of file diff --git a/public/dist/frontend.js b/public/dist/frontend.js index ef88ea0c51..ae5c52f458 100644 --- a/public/dist/frontend.js +++ b/public/dist/frontend.js @@ -3392,6 +3392,10 @@ build.u2f = function (credential) { var contextMenu = {}; /** + * Note, the 'Add' menu in the upper right corner is effectively + * a 'More...' menu (at least on small screens). More importantly, + * it is not a context menu (even though it uses the same code). + * * @param {jQuery.Event} e */ contextMenu.add = function (e) { @@ -3510,7 +3514,13 @@ contextMenu.add = function (e) { } } } - basicContext.show(items, e.originalEvent); + basicContext.show(items, e.originalEvent, null, function () { + // use callback of basicContext to add an id and use CSS + // formatting to override hardcoded positioning of the + // menu based on mouse/tap location and more. + var menu = document.querySelector(".basicContext"); + menu.setAttribute("id", "addMenu"); + }); upload.notify(); }; @@ -4749,11 +4759,7 @@ header.setMode = function (mode) { _e10.show(); tabindex.makeFocusable(_e10); } - if (!lychee.is_share_button_visible && ( - // The owner of an album (or the admin) shall always see - // the share button and be unaffected by the settings of - // the album - lychee.user === null || lychee.user.username !== album.json.owner_name) && !lychee.rights.is_admin) { + if (!lychee.share_button_visible) { var _e11 = $("#button_share_album"); _e11.hide(); tabindex.makeUnfocusable(_e11); @@ -4828,7 +4834,7 @@ header.setMode = function (mode) { var _e15 = $("#button_visibility_album", "#button_sharing_album_users", "#lychee_toolbar_album"); _e15.remove(); } - if (!lychee.enable_button_share) { + if (!lychee.enable_button_share || !lychee.share_button_visible) { var _e16 = $("#button_share_album", "#lychee_toolbar_album"); _e16.remove(); } diff --git a/resources/views/vendor/feed2/atom.blade.php b/resources/views/vendor/feed2/atom.blade.php deleted file mode 100644 index 4d9a380ecc..0000000000 --- a/resources/views/vendor/feed2/atom.blade.php +++ /dev/null @@ -1,36 +0,0 @@ -` won't get parsed as short tags */ - '' . PHP_EOL; -?> - - @foreach($meta as $key => $metaItem) - @if($key === 'link') - <{{ $key }} href="{{ url($metaItem) }}"> - @elseif($key === 'title') - <{{ $key }}> - @else - <{{ $key }}>{{ $metaItem }} - @endif - @endforeach - @foreach($items as $item) - - <![CDATA[{{ $item->title }}]]> - - {{ url($item->id) }} - - author }}]]> - - - summary !!}]]> - - @if($item->__isset('enclosure')) - - @endif - @foreach($item->category as $category) - - - - @endforeach - {{ $item->updated->toRfc3339String() }} - - @endforeach - \ No newline at end of file diff --git a/resources/views/vendor/feed2/feed.blade.php b/resources/views/vendor/feed2/feed.blade.php deleted file mode 100644 index 7a5e3a1f39..0000000000 --- a/resources/views/vendor/feed2/feed.blade.php +++ /dev/null @@ -1 +0,0 @@ -@include('feed::atom') diff --git a/resources/views/vendor/feed2/json.blade.php b/resources/views/vendor/feed2/json.blade.php deleted file mode 100644 index 82b98f6b12..0000000000 --- a/resources/views/vendor/feed2/json.blade.php +++ /dev/null @@ -1,37 +0,0 @@ -{ - "version": "https://jsonfeed.org/version/1.1", - "title": "{{ $meta['title'] }}", - "home_page_url": "{{ config('app.url') }}", - "feed_url": "{{ url($meta['link']) }}", - "language": "{{ $meta['language'] }}", -@if(!empty($meta['image'])) - "icon": "{{ $meta['image'] }}", -@endif - "items": [@foreach($items as $item){ - "id": "{{ url($item->id) }}", - "title": "{{ $item->title }}", - "url": "{{ url($item->link) }}", - "content_html": "{!! str_replace('"', '\\"', $item->summary) !!}", - "summary": "{!! str_replace('"', '\\"', $item->summary) !!}", - "date_published": "{{ $item->timestamp() }}", - "date_modified": "{{ $item->timestamp() }}", - "authors": [{ "name": "{{ $item->authorName }}" }], -@if($item->__isset('image')) - "image": "{{ url($item->image) }}", -@endif -@if($item->__isset('enclosure')) - "attachments": [ - { - "url": "{{ url($item->enclosure) }}", - "mime_type": "{{ $item->enclosureType }}", - "size_in_bytes": {{ $item->enclosureLength }} - } - ], -@endif - "tags": [ {!! implode(',', array_map(fn($c) => '"'.$c.'"', $item->category)) !!} ] - }@if($item !== $items->last()), -@endif - @endforeach - - ] -} diff --git a/resources/views/vendor/feed2/links.blade.php b/resources/views/vendor/feed2/links.blade.php deleted file mode 100644 index 5e7189b7db..0000000000 --- a/resources/views/vendor/feed2/links.blade.php +++ /dev/null @@ -1,3 +0,0 @@ -@foreach($feeds as $name => $feed) - -@endforeach diff --git a/resources/views/vendor/feed2/rss.blade.php b/resources/views/vendor/feed2/rss.blade.php deleted file mode 100644 index f029005b23..0000000000 --- a/resources/views/vendor/feed2/rss.blade.php +++ /dev/null @@ -1,29 +0,0 @@ -` won't get parsed as short tags */ -'' . PHP_EOL; -?> - - - <![CDATA[{{ $meta['title'] }}]]> - - - {{ $meta['language'] }} - {{ $meta['updated'] }} - - @foreach($items as $item) - - <![CDATA[{{ $item->title }}]]> - {{ url($item->link) }} - summary !!}]]> - author }}]]> - {{ url($item->id) }} - {{ $item->updated->toRfc3339String() }} - @if($item->__isset('enclosure')) - - @endif - @foreach($item->category as $category) - {{ $category }} - @endforeach - - @endforeach - - From 1dd61c1cf65c6529dfb6d584e21710ee73232db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Viguier?= Date: Mon, 16 Jan 2023 18:02:07 +0100 Subject: [PATCH 3/3] rm -fr livewire (#1712) * rm -fr livewire * dusting --- app/Http/Livewire/Album.php | 65 -------- app/Http/Livewire/Albums.php | 37 ----- app/Http/Livewire/Fullpage.php | 83 ---------- app/Http/Livewire/Header.php | 30 ---- app/Http/Livewire/LeftMenu.php | 17 -- app/Http/Livewire/Photo.php | 34 ---- app/Http/Livewire/PhotoOverlay.php | 119 -------------- app/Http/Livewire/Sidebar.php | 114 ------------- app/Providers/RouteServiceProvider.php | 3 - app/View/Components/Album/Thumbimg.php | 50 ------ app/View/Components/Icon.php | 35 ---- app/View/Components/Iconic.php | 35 ---- app/View/Components/Photo.php | 132 --------------- composer.json | 1 - composer.lock | 75 +-------- config/app.php | 11 -- .../album/thumb-placeholder.blade.php | 8 - .../components/album/thumb-play.blade.php | 6 - .../views/components/album/thumbimg.blade.php | 11 -- resources/views/components/icon.blade.php | 1 - resources/views/components/iconic.blade.php | 1 - resources/views/components/photo.blade.php | 51 ------ .../components/photo/thumb-live.blade.php | 8 - .../photo/thumb-placeholder.blade.php | 6 - .../components/photo/thumb-play.blade.php | 8 - resources/views/livewire/album.blade.php | 22 --- resources/views/livewire/albums.blade.php | 32 ---- resources/views/livewire/fullpage.blade.php | 26 --- resources/views/livewire/header.blade.php | 155 ------------------ resources/views/livewire/left-menu.blade.php | 29 ---- .../views/livewire/parts/album.blade.php | 59 ------- .../views/livewire/photo-overlay.blade.php | 26 --- resources/views/livewire/photo.blade.php | 79 --------- resources/views/livewire/sidebar.blade.php | 23 --- routes/web-livewire.php | 28 ---- 35 files changed, 1 insertion(+), 1419 deletions(-) delete mode 100644 app/Http/Livewire/Album.php delete mode 100644 app/Http/Livewire/Albums.php delete mode 100644 app/Http/Livewire/Fullpage.php delete mode 100644 app/Http/Livewire/Header.php delete mode 100644 app/Http/Livewire/LeftMenu.php delete mode 100644 app/Http/Livewire/Photo.php delete mode 100644 app/Http/Livewire/PhotoOverlay.php delete mode 100644 app/Http/Livewire/Sidebar.php delete mode 100644 app/View/Components/Album/Thumbimg.php delete mode 100644 app/View/Components/Icon.php delete mode 100644 app/View/Components/Iconic.php delete mode 100644 app/View/Components/Photo.php delete mode 100644 resources/views/components/album/thumb-placeholder.blade.php delete mode 100644 resources/views/components/album/thumb-play.blade.php delete mode 100644 resources/views/components/album/thumbimg.blade.php delete mode 100644 resources/views/components/icon.blade.php delete mode 100644 resources/views/components/iconic.blade.php delete mode 100644 resources/views/components/photo.blade.php delete mode 100644 resources/views/components/photo/thumb-live.blade.php delete mode 100644 resources/views/components/photo/thumb-placeholder.blade.php delete mode 100644 resources/views/components/photo/thumb-play.blade.php delete mode 100644 resources/views/livewire/album.blade.php delete mode 100644 resources/views/livewire/albums.blade.php delete mode 100644 resources/views/livewire/fullpage.blade.php delete mode 100644 resources/views/livewire/header.blade.php delete mode 100644 resources/views/livewire/left-menu.blade.php delete mode 100644 resources/views/livewire/parts/album.blade.php delete mode 100644 resources/views/livewire/photo-overlay.blade.php delete mode 100644 resources/views/livewire/photo.blade.php delete mode 100644 resources/views/livewire/sidebar.blade.php delete mode 100644 routes/web-livewire.php diff --git a/app/Http/Livewire/Album.php b/app/Http/Livewire/Album.php deleted file mode 100644 index 236eedc299..0000000000 --- a/app/Http/Livewire/Album.php +++ /dev/null @@ -1,65 +0,0 @@ -album = $album; - $this->info = []; - $this->info['albums'] = []; - - $this->albumFactory = $albumFactory; - } - - /** - * @throws BindingResolutionException - * @throws ConfigurationKeyMissingException - */ - public function render() - { - switch (Configs::getValueAsString('layout')) { - case '0': - $this->layout = Album::SQUARE; - break; - case '1': - $this->layout = Album::FLKR; - break; - case '2': - $this->layout = Album::MASONRY; - break; - default: - $this->layout = Album::FLKR; - } - - $this->info = $this->album->toArray(); - - return view('livewire.album'); - } -} diff --git a/app/Http/Livewire/Albums.php b/app/Http/Livewire/Albums.php deleted file mode 100644 index a32133544d..0000000000 --- a/app/Http/Livewire/Albums.php +++ /dev/null @@ -1,37 +0,0 @@ -topAlbums = $top->get(); - } - - /** - * Render component. - * - * @throws BindingResolutionException - */ - public function render() - { - return view('livewire.albums'); - } -} diff --git a/app/Http/Livewire/Fullpage.php b/app/Http/Livewire/Fullpage.php deleted file mode 100644 index 7f7178ce46..0000000000 --- a/app/Http/Livewire/Fullpage.php +++ /dev/null @@ -1,83 +0,0 @@ -mode = 'albums'; - } else { - $this->mode = 'album'; - $this->album = $albumFactory->findAbstractAlbumOrFail($albumId); - - if ($photoId !== null) { - $this->mode = 'photo'; - $this->photo = Photo::with('album')->findOrFail($photoId); - } - } - } - - public function openAlbum($albumId) - { - return redirect('/livewire/' . $albumId); - } - - public function openPhoto($photoId) - { - return redirect('/livewire/' . $this->album->id . '/' . $photoId); - } - - // Ideal we would like to avoid the redirect as they are slow. - public function back() - { - if ($this->photo !== null) { - // $this->photo = null; - return redirect('/livewire/' . $this->album->id); - } - if ($this->album !== null) { - if ($this->album instanceof BaseSmartAlbum) { - // $this->album = null; - return redirect('/livewire/'); - } - if ($this->album instanceof Album && $this->album->parent_id !== null) { - return redirect('/livewire/' . $this->album->parent_id); - } - - return redirect('/livewire/'); - } - } - - /** - * @throws BindingResolutionException - */ - public function render() - { - return view('livewire.fullpage'); - } -} diff --git a/app/Http/Livewire/Header.php b/app/Http/Livewire/Header.php deleted file mode 100644 index c6288a9fa6..0000000000 --- a/app/Http/Livewire/Header.php +++ /dev/null @@ -1,30 +0,0 @@ -title = Configs::getValueAsString('site_title'); - if ($album !== null) { - $this->title = $album->title; - } - $this->mode = $mode ?? 'albums'; - } - - /** - * @throws BindingResolutionException - */ - public function render() - { - return view('livewire.header'); - } -} diff --git a/app/Http/Livewire/LeftMenu.php b/app/Http/Livewire/LeftMenu.php deleted file mode 100644 index 6753ac221e..0000000000 --- a/app/Http/Livewire/LeftMenu.php +++ /dev/null @@ -1,17 +0,0 @@ -album = $photo->album; - $this->photo = $photo; - } - - /** - * @throws BindingResolutionException - * @throws IllegalOrderOfOperationException - */ - public function render() - { - $this->data = $this->photo->toArray(); - - return view('livewire.photo'); - } -} diff --git a/app/Http/Livewire/PhotoOverlay.php b/app/Http/Livewire/PhotoOverlay.php deleted file mode 100644 index 7804f2580b..0000000000 --- a/app/Http/Livewire/PhotoOverlay.php +++ /dev/null @@ -1,119 +0,0 @@ -photo_data = $data; - $overlay_type = Configs::getValueAsString('image_overlay_type'); - - $this->idx = array_search($overlay_type, $this->types, true); - } - - private function checkOverlayType(): string - { - if ($this->idx < 0) { - return 'none'; - } - - $n = count($this->types); - for ($i = 0; $i < $n; $i++) { - $type = $this->types[($this->idx + $i) % $n]; - if ($type === 'date' || $type === 'none') { - return $type; - } - if ($type === 'desc' && $this->photo_data['description'] !== '') { - return $type; - } - if ($type === 'exif' && $this->genExifHash() !== '') { - return $type; - } - } - } - - private function genExifHash() - { - $exifHash = $this->photo_data['make']; - $exifHash .= $this->photo_data['model']; - $exifHash .= $this->photo_data['shutter']; - if (Str::contains($this->photo_data['type'], 'video')) { - $exifHash .= $this->photo_data['aperture']; - $exifHash .= $this->photo_data['focal']; - } - $exifHash .= $this->photo_data['iso']; - - return $exifHash; - } - - /** - * @throws BindingResolutionException - */ - public function render() - { - $this->title = $this->photo_data['title']; - - $this->type = $this->checkOverlayType(); - $this->description = $this->photo_data['description']; - if ($this->photo_data['taken_at'] !== '') { - $this->camera_date = true; - $this->date = $this->photo_data['taken_at']; - } else { - $this->camera_date = false; - $this->date = $this->data['sysdate']; - } - - $exif1 = ''; - $exif2 = ''; - if ($this->genExifHash() !== '') { - if ($this->photo_data['shutter'] !== '') { - $exif1 = str_replace('s', 'sec', $this->photo_data['shutter']); - } - if ($this->photo_data['aperture'] !== '') { - $this->c($exif1, ' at ', str_replace('f/', 'ƒ / ', $this->photo_data['aperture'])); - } - if ($this->photo_data['iso'] !== '') { - $this->c($exif1, ', ', Lang::get('PHOTO_ISO') . ' ' . $this->photo_data['iso']); - } - if ($this->photo_data['focal'] !== '') { - $exif2 = $this->photo_data['focal'] . ($this->photo_data['lens'] !== '' ? ' (' . $this->photo_data['lens'] . ')' : ''); - } - } - $this->exif1 = trim($exif1); - $this->exif2 = trim($exif2); - - return view('livewire.photo-overlay'); - } - - private function c(string &$in, string $glue, string $content): void - { - if ($in !== '') { - $in .= $glue; - } - $in .= $content; - } -} diff --git a/app/Http/Livewire/Sidebar.php b/app/Http/Livewire/Sidebar.php deleted file mode 100644 index 7d4d12c6b4..0000000000 --- a/app/Http/Livewire/Sidebar.php +++ /dev/null @@ -1,114 +0,0 @@ -album = $album; - $this->photo = $photo; - } - - public function generateAlbumStructure() - { - $this->title = Lang::get('ALBUM_ABOUT'); - $this->data = []; - $basic = new \stdClass(); - $basic->title = Lang::get('ALBUM_BASICS'); - $basic->content = []; - - $basic->content[] = ['head' => Lang::get('ALBUM_TITLE'), 'value' => $this->album->title]; - if ($this->album->description !== '') { - ['head' => Lang::get('ALBUM_DESCRIPTION'), 'value' => $this->album->description]; - } - - if ($this->album instanceof TagAlbum) { - $basic->content[] = ['head' => Lang::get('ALBUM_SHOW_TAGS'), 'value' => $this->album->showtags]; - } - - $album = new \stdClass(); - $album->title = Lang::get('ALBUM_ALBUM'); - $album->content = [ - ['head' => Lang::get('ALBUM_CREATED'), 'value' => $this->album->created_at->format('F Y')], - ]; - if ($this->album->children->count() > 0) { - $album->content[] = ['head' => Lang::get('ALBUM_SUBALBUMS'), 'value' => $this->album->children->count()]; - } - - $counted = $this->album->photos->countBy(function (Photo $photo) { - return $photo->isVideo() ? 'videos' : 'photos'; - })->all(); - if (isset($counted['photos'])) { - $album->content[] = ['head' => Lang::get('ALBUM_IMAGES'), 'value' => $counted['photos']]; - } - if (isset($counted['videos'])) { - $album->content[] = ['head' => Lang::get('ALBUM_VIDEOS'), 'value' => $counted['videos']]; - } - if (isset($counted['photos'])) { - if ($this->album->sorting_col === '') { - $sorting = Lang::get('DEFAULT'); - } else { - $sorting = $this->album->sorting_col . ' ' . $this->album->sorting_order; - } - - $album->content[] = ['head' => Lang::get('ALBUM_ORDERING'), 'value' => $sorting]; - } - - $share = new \stdClass(); - $share->title = Lang::get('ALBUM_SHARING'); - $_public = $this->album->is_public ? Lang::get('ALBUM_SHR_YES') : Lang::get('ALBUM_SHR_NO'); - $_hidden = $this->album->is_link_required ? Lang::get('ALBUM_SHR_YES') : Lang::get('ALBUM_SHR_NO'); - $_downloadable = $this->album->grants_download ? Lang::get('ALBUM_SHR_YES') : Lang::get('ALBUM_SHR_NO'); - $_password = $this->album->is_password_required ? Lang::get('ALBUM_SHR_YES') : Lang::get('ALBUM_SHR_NO'); - $share->content = [ - ['head' => Lang::get('ALBUM_PUBLIC'), 'value' => $_public], - ['head' => Lang::get('ALBUM_HIDDEN'), 'value' => $_hidden], - ['head' => Lang::get('ALBUM_DOWNLOADABLE'), 'value' => $_downloadable], - ['head' => Lang::get('ALBUM_PASSWORD'), 'value' => $_password], - ]; - if ($this->album->owner_id !== null) { - $share->content[] = ['head' => Lang::get('ALBUM_OWNER'), 'value' => $this->album->owner->name]; - } - - $license = new \stdClass(); - $license->title = Lang::get('ALBUM_REUSE'); - $license->content = [ - ['head' => Lang::get('ALBUM_LICENSE'), 'value' => $this->album->license], - ]; - - $this->data = [$basic, $album, $license]; - - if (Auth::check()) { - $this->data[] = $share; - } - } - - /** - * @throws BindingResolutionException - */ - public function render() - { - if ($this->album !== null) { - $this->generateAlbumStructure(); - } else { - $this->data = []; - $this->title = ''; - } - - return view('livewire.sidebar'); - } -} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index e3cf3835c3..afdd19274c 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -51,9 +51,6 @@ public function boot() Route::middleware('web-admin') ->group(base_path('routes/web-admin.php')); - Route::middleware('web') - ->group(base_path('routes/web-livewire.php')); - Route::middleware('web') ->group(base_path('routes/web.php')); }); diff --git a/app/View/Components/Album/Thumbimg.php b/app/View/Components/Album/Thumbimg.php deleted file mode 100644 index 9287be9753..0000000000 --- a/app/View/Components/Album/Thumbimg.php +++ /dev/null @@ -1,50 +0,0 @@ -isVideo = Str::contains($type, 'video'); - $this->thumb = $thumb; - $this->thumb2x = $thumb2x; - $this->type = $type; - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|\Closure|string - * - * @throws BindingResolutionException - */ - public function render() - { - // TODO: Don't hardcode paths - if ($this->thumb === 'uploads/thumb/' && $this->isVideo) { - return view('components.album.thumb-play'); - } - // TODO: Don't query the MIME type directly; use the methods of Photo or MediaFile - if ($this->thumb === 'uploads/thumb/' && Str::contains($this->type, 'raw')) { - return view('components.album.thumb-placeholder'); - } - - return view('components.album.thumbimg'); - } -} diff --git a/app/View/Components/Icon.php b/app/View/Components/Icon.php deleted file mode 100644 index 63a3f29139..0000000000 --- a/app/View/Components/Icon.php +++ /dev/null @@ -1,35 +0,0 @@ -class = $class; - $this->icon = $icon; - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|\Closure|string - * - * @throws BindingResolutionException - */ - public function render() - { - return view('components.icon'); - } -} diff --git a/app/View/Components/Iconic.php b/app/View/Components/Iconic.php deleted file mode 100644 index abbcfa8f52..0000000000 --- a/app/View/Components/Iconic.php +++ /dev/null @@ -1,35 +0,0 @@ -class = $class; - $this->icon = $icon; - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|\Closure|string - * - * @throws BindingResolutionException - */ - public function render() - { - return view('components.iconic'); - } -} diff --git a/app/View/Components/Photo.php b/app/View/Components/Photo.php deleted file mode 100644 index 7cd3a973d7..0000000000 --- a/app/View/Components/Photo.php +++ /dev/null @@ -1,132 +0,0 @@ -album_id = $data['album']; - $this->photo_id = $data['id']; - $this->title = $data['title']; - $this->takedate = $data['taken_at']; - $this->created_at = $data['created_at']; - $this->is_starred = $data['is_starred']; - $this->is_public = $data['is_public']; - - // TODO: Don't query the MIME type directly; use the methods of Photo or MediaFile - $isVideo = Str::contains($data['type'], 'video'); - // TODO: Won't work any longer, as `type` always contains the true MIME type, not some faked "raw" - $isRaw = Str::contains($data['type'], 'raw'); - $isLivePhoto = filled($data['live_Photo_filename']); - - $this->class = ''; - $this->class .= $isVideo ? ' video' : ''; - $this->class .= $isLivePhoto ? ' livephoto' : ''; - - $this->layout = Configs::getValueAsInt('layout') === 0; - - // TODO: Don't hardcode paths - if ($data['sizeVariants']['thumb']['url'] === 'uploads/thumb/') { - $this->show_live = $isLivePhoto; - $this->show_play = $isVideo; - $this->show_placeholder = $isRaw; - } - - $dim = ''; - $dim2x = ''; - $thumb2x = ''; - - // TODO: The class Photo for the database model does not anymore contain the attributes `small`, `small_dim`, etc. - // Probably this code needs some fix/refactoring, too. However, where is this method invoked and - // what is the structure of the passed `data` array? (Could find any invocation.) - if ($this->layout) { - $thumb = $data['sizeVariants']['thumb']['url']; - $thumb2x = $data['sizeVariants']['thumb2x']['url']; - } elseif ($data['sizeVariants']['small'] !== null) { - $thumb = $data['sizeVariants']['small']['url']; - $thumb2x = $data['sizeVariants']['small2x']['url'] ?? ''; - $this->_w = $data['sizeVariants']['small']['width']; - $this->_h = $data['sizeVariants']['small']['height']; - $dim = $data['sizeVariants']['small']['width']; - $dim2x = $data['sizeVariants']['small2x']['width'] ?? 0; - } elseif ($data['sizeVariants']['medium'] !== null) { - $thumb = $data['sizeVariants']['medium']['url']; - $thumb2x = $data['sizeVariants']['medium2x']['url'] ?? ''; - $this->_w = $data['sizeVariants']['medium']['width']; - $this->_h = $data['sizeVariants']['medium']['height']; - $dim = $data['sizeVariants']['medium']['width']; - $dim2x = $data['sizeVariants']['medium2x']['width'] ?? 0; - } elseif (!$isVideo) { - // Fallback for images with no small or medium. - $thumb = $data['url']; - $this->_w = $data['width']; - $this->_h = $data['height']; - } else { - // Fallback for videos with no small (the case of no thumb is handled else where). - $this->class = 'video'; - $thumb = $data['sizeVariants']['thumb']['url']; - $thumb2x = $data['sizeVariants']['thumb2x']['url']; - $dim = (string) PhotoModel::THUMBNAIL_DIM; - $dim2x = (string) PhotoModel::THUMBNAIL2X_DIM; - } - - $this->src = "src='" . URL::asset('img/placeholder.png') . "'"; - $this->srcset = "data-src='" . URL::asset($thumb) . "'"; - $thumb2x_src = ''; - - if ($this->layout) { - $thumb2x_src = URL::asset($thumb2x) . ' 2x'; - } else { - $thumb2x_src = URL::asset($thumb) . ' ' . $dim . 'w, '; - $thumb2x_src .= URL::asset($thumb2x) . ' ' . $dim2x . 'w'; - } - - $this->srcset2x = $thumb2x !== '' ? "data-srcset='" . $thumb2x_src . "'" : ''; - } - - /** - * Get the view / contents that represent the component. - * - * @return \Illuminate\Contracts\View\View|\Closure|string - * - * @throws BindingResolutionException - */ - public function render() - { - return view('components.photo'); - } -} diff --git a/composer.json b/composer.json index 56c2cd8cab..e5144eea71 100644 --- a/composer.json +++ b/composer.json @@ -47,7 +47,6 @@ "geocoder-php/nominatim-provider": "^5.5", "laragear/webauthn": "1.x-dev", "laravel/framework": "^9.2", - "livewire/livewire": "^2.7", "lychee-org/nestedset": "^6", "lychee-org/php-exif": "^0.8", "maennchen/zipstream-php": "^2.1", diff --git a/composer.lock b/composer.lock index 09cbf43e6d..2aadb7f716 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6f86fb251cf5ffb86dccabe141160f8b", + "content-hash": "fa16e9d314d9baa911872b686fc43094", "packages": [ { "name": "bepsvpt/secure-headers", @@ -2336,79 +2336,6 @@ ], "time": "2022-04-17T13:12:02+00:00" }, - { - "name": "livewire/livewire", - "version": "v2.10.8", - "source": { - "type": "git", - "url": "https://github.com/livewire/livewire.git", - "reference": "4cc5dedaab1e9512efb4d528fde67df98e9b465a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/4cc5dedaab1e9512efb4d528fde67df98e9b465a", - "reference": "4cc5dedaab1e9512efb4d528fde67df98e9b465a", - "shasum": "" - }, - "require": { - "illuminate/database": "^7.0|^8.0|^9.0", - "illuminate/support": "^7.0|^8.0|^9.0", - "illuminate/validation": "^7.0|^8.0|^9.0", - "league/mime-type-detection": "^1.9", - "php": "^7.2.5|^8.0", - "symfony/http-kernel": "^5.0|^6.0" - }, - "require-dev": { - "calebporzio/sushi": "^2.1", - "laravel/framework": "^7.0|^8.0|^9.0", - "mockery/mockery": "^1.3.1", - "orchestra/testbench": "^5.0|^6.0|^7.0", - "orchestra/testbench-dusk": "^5.2|^6.0|^7.0", - "phpunit/phpunit": "^8.4|^9.0", - "psy/psysh": "@stable" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Livewire\\LivewireServiceProvider" - ], - "aliases": { - "Livewire": "Livewire\\Livewire" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Livewire\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Caleb Porzio", - "email": "calebporzio@gmail.com" - } - ], - "description": "A front-end framework for Laravel.", - "support": { - "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.10.8" - }, - "funding": [ - { - "url": "https://github.com/livewire", - "type": "github" - } - ], - "time": "2022-12-21T22:28:25+00:00" - }, { "name": "lychee-org/nestedset", "version": "v6.0.2", diff --git a/config/app.php b/config/app.php index f675ee229a..14c6a201ff 100644 --- a/config/app.php +++ b/config/app.php @@ -29,17 +29,6 @@ 'env' => env('APP_ENV', 'production'), - /* - |-------------------------------------------------------------------------- - | Application Environment - |-------------------------------------------------------------------------- - | - | This value determines whether livewire front-end is enabled as it is - | currently under development. - | - */ - - 'livewire' => (bool) env('LIVEWIRE_ENABLED', false), /* |-------------------------------------------------------------------------- diff --git a/resources/views/components/album/thumb-placeholder.blade.php b/resources/views/components/album/thumb-placeholder.blade.php deleted file mode 100644 index e0b494d157..0000000000 --- a/resources/views/components/album/thumb-placeholder.blade.php +++ /dev/null @@ -1,8 +0,0 @@ - - Photo thumbnail - \ No newline at end of file diff --git a/resources/views/components/album/thumb-play.blade.php b/resources/views/components/album/thumb-play.blade.php deleted file mode 100644 index e4ce985cc1..0000000000 --- a/resources/views/components/album/thumb-play.blade.php +++ /dev/null @@ -1,6 +0,0 @@ - - Photo thumbnail - \ No newline at end of file diff --git a/resources/views/components/album/thumbimg.blade.php b/resources/views/components/album/thumbimg.blade.php deleted file mode 100644 index 585acc9732..0000000000 --- a/resources/views/components/album/thumbimg.blade.php +++ /dev/null @@ -1,11 +0,0 @@ - - Photo thumbnail - diff --git a/resources/views/components/icon.blade.php b/resources/views/components/icon.blade.php deleted file mode 100644 index c24c5668ad..0000000000 --- a/resources/views/components/icon.blade.php +++ /dev/null @@ -1 +0,0 @@ - diff --git a/resources/views/components/iconic.blade.php b/resources/views/components/iconic.blade.php deleted file mode 100644 index 2fd188229c..0000000000 --- a/resources/views/components/iconic.blade.php +++ /dev/null @@ -1 +0,0 @@ - diff --git a/resources/views/components/photo.blade.php b/resources/views/components/photo.blade.php deleted file mode 100644 index b023ccf4b0..0000000000 --- a/resources/views/components/photo.blade.php +++ /dev/null @@ -1,51 +0,0 @@ -
- - @if ($show_live) - @include('components.photo.thumb-live') - - @elseif ($show_play) - @include('components.photo.thumb-play') - - @elseif ($show_placeholder) - @include('components.photo.thumb-placeholder') - - @else - - Photo thumbnail - - @endif - -
-

{{ $title }}

- - @if ($takedate !== "") - {{ $takedate }} - @else - {{ $sysdate }} - @endif -
- - @if (Auth::check()) -
- @if($star) - - @endif - @if($public // && album.json.public !== "1" - ) - - @endif -
- @endif -
\ No newline at end of file diff --git a/resources/views/components/photo/thumb-live.blade.php b/resources/views/components/photo/thumb-live.blade.php deleted file mode 100644 index a6184a939d..0000000000 --- a/resources/views/components/photo/thumb-live.blade.php +++ /dev/null @@ -1,8 +0,0 @@ - - Photo thumbnail - diff --git a/resources/views/components/photo/thumb-placeholder.blade.php b/resources/views/components/photo/thumb-placeholder.blade.php deleted file mode 100644 index 18b5259c44..0000000000 --- a/resources/views/components/photo/thumb-placeholder.blade.php +++ /dev/null @@ -1,6 +0,0 @@ - - Photo thumbnail - \ No newline at end of file diff --git a/resources/views/components/photo/thumb-play.blade.php b/resources/views/components/photo/thumb-play.blade.php deleted file mode 100644 index b0e3d57276..0000000000 --- a/resources/views/components/photo/thumb-play.blade.php +++ /dev/null @@ -1,8 +0,0 @@ - - Photo thumbnail - \ No newline at end of file diff --git a/resources/views/livewire/album.blade.php b/resources/views/livewire/album.blade.php deleted file mode 100644 index 9fe6d4d245..0000000000 --- a/resources/views/livewire/album.blade.php +++ /dev/null @@ -1,22 +0,0 @@ -
- @php - Helpers::data_index_set(100); - @endphp - @if($info['albums']->count() > 0) - @if(count($photos) > 0) -

{{ Lang::get('ALBUMS') }}

- @endif - @foreach ($info['albums'] as $data) - @include('livewire.parts.album') - @endforeach - - @if(count($photos) > 0) -

{{ Lang::get('PHOTOS') }}

- @endif - @endif -
- @foreach ($photos as $data) - - @endforeach -
-
\ No newline at end of file diff --git a/resources/views/livewire/albums.blade.php b/resources/views/livewire/albums.blade.php deleted file mode 100644 index 1bd4b5064e..0000000000 --- a/resources/views/livewire/albums.blade.php +++ /dev/null @@ -1,32 +0,0 @@ -@if (!$smartalbums && !$albums && !$shared_albums) -
- -

{{ Lang::get('VIEW_NO_PUBLIC_ALBUMS') }}

-
-@else -
- - @isset($smartalbums) -

{{ Lang::get('SMART_ALBUMS') }}

- @foreach ($smartalbums as $data) - @include('livewire.parts.album') - @endforeach - @if(count($albums) > 0) -

{{ Lang::get('ALBUMS') }}

- @endif - @endisset - - @if(count($albums) > 0) - @foreach ($albums as $data) - @include('livewire.parts.album') - @endforeach - @endif - - @if(count($shared_albums) > 0) -

{{ Lang::get('SHARED_ALBUMS') }}

- @foreach ($shared_albums as $data) - @include('livewire.parts.album') - @endforeach - @endif -
-@endif \ No newline at end of file diff --git a/resources/views/livewire/fullpage.blade.php b/resources/views/livewire/fullpage.blade.php deleted file mode 100644 index 7c69a6bc92..0000000000 --- a/resources/views/livewire/fullpage.blade.php +++ /dev/null @@ -1,26 +0,0 @@ -
- -
- - - - @if($mode == 'albums') - - - @elseif($mode == 'album') - - {{-- --}} - - @elseif($mode == 'photo') - - - @elseif($mode == 'map') - Later... - - @endif - {{-- @livewire('left-menu') --}} - {{-- @livewire('albums') --}} - - {{-- @include('includes.footer') --}} -
- \ No newline at end of file diff --git a/resources/views/livewire/header.blade.php b/resources/views/livewire/header.blade.php deleted file mode 100644 index 44aba726fb..0000000000 --- a/resources/views/livewire/header.blade.php +++ /dev/null @@ -1,155 +0,0 @@ -
- @if($mode == 'albums') -
- @if(!Auth::check()) - - - - @else - - - - @endif - - {{ $title }} -
- - × -
- - - - - @if(Auth::check()) - - - - @endif -
- - @elseif( $mode == 'album') -
- - - - - - {{ $title }} - - @if(Auth::check()) - - - - - - - - - - @endif - - - - - - - - - - - @if(Auth::check()) - - - - - - - @endif - - - - - - - - @if(Auth::check()) - - - - @endif -
- - @elseif ($mode == 'photo') -
- - - - - - {{ $title }} - - @if(Auth::check()) - - - - - - - - - - - - - @endif - - - - - - - - @if(Auth::check()) - - - - - - - @endif - - - - - - - - - - -
- - @elseif ($mode == 'map') -
- - - - - - {{ $title }} - -
- - @else - - @endif -
diff --git a/resources/views/livewire/left-menu.blade.php b/resources/views/livewire/left-menu.blade.php deleted file mode 100644 index 4aba00d1d6..0000000000 --- a/resources/views/livewire/left-menu.blade.php +++ /dev/null @@ -1,29 +0,0 @@ - - diff --git a/resources/views/livewire/parts/album.blade.php b/resources/views/livewire/parts/album.blade.php deleted file mode 100644 index 60a7725a2c..0000000000 --- a/resources/views/livewire/parts/album.blade.php +++ /dev/null @@ -1,59 +0,0 @@ -
- @for ($i = 0; $i < 3; $i++) - @if($data['thumb']) - - @else - @include('components.album.thumb-placeholder') - @endif - @endfor - -
-

{{ $data['title'] }}

- {{-- {{ $data['date_stamp'] }} --}} -
- -@if (Auth::check()) -
- @if (isset($data['nsfw']) && $data['nsfw'] == "1") - - @endif - @if (isset($data['star']) && $data['star'] == "1") - - @endif - @if (isset($data['public']) && $data['public'] == "1") - - @endif - @if (isset($data['unsorted']) && $data['unsorted'] == "1") - - @endif - @if (isset($data['recent']) && $data['recent'] == "1") - - @endif - @if (isset($data['password']) && $data['password'] == "1") - - @endif - @if (isset($data['tag_album']) && $data['tag_album'] == "1") - - @endif - @if (isset($data['cover_id']) && isset($data['thumb']['id']) && $data['cover_id'] == $data['thumb']['id']) - - @endif -
-@endif - -
- @if (isset($data['show_num_photos']) && isset($data['num_photos'] && $data['num_photos'] > 0) -
{{ $data['num_photos'] }}
; - @endif - @if ((isset($data['show_num_albums']) && isset($data['num_albums'] && $data['num_albums'] > 0)) -
- @if ($data['num_albums'] > 1) - {{ $data['num_albums'] }} -
; - @endif -
-
diff --git a/resources/views/livewire/photo-overlay.blade.php b/resources/views/livewire/photo-overlay.blade.php deleted file mode 100644 index 6e5d788813..0000000000 --- a/resources/views/livewire/photo-overlay.blade.php +++ /dev/null @@ -1,26 +0,0 @@ -
-

{{ $title }}

-

- @switch($type) - @case('desc') - {{ $description }} - @break - @case('date') - @if($camera_date) - - - {{ $date }} - - @else - {{ $date }} - @endif - @break - @case('exif') - {{ html_entity_decode($exif1) }} -
- {{ $exif2 }} - @break - @default - @endswitch -

-
\ No newline at end of file diff --git a/resources/views/livewire/photo.blade.php b/resources/views/livewire/photo.blade.php deleted file mode 100644 index d59eb544d7..0000000000 --- a/resources/views/livewire/photo.blade.php +++ /dev/null @@ -1,79 +0,0 @@ -
-@if (Str::contains($data['type'], 'video')) - -@elseif(Str::contains($data['type'], 'raw')) - big -@else - @if ($data['livePhotoUrl'] === "" || $data['livePhotoUrl'] === null) - @if ($data['sizeVariants']['medium'] !== null) - - @else - big - @endif - @else - @if ($data['medium'] !== "") - @php - $medium_dims = explode('x',$data['medium_dim']); - $medium_width = $medium_dims[0]; - $medium_height = $medium_dims[1]; - @endphp -
-
- @else -
-
- @endif - @endif -@endif - -{{-- --}} -{{-- --}} -
diff --git a/resources/views/livewire/sidebar.blade.php b/resources/views/livewire/sidebar.blade.php deleted file mode 100644 index a1a8b8e1ff..0000000000 --- a/resources/views/livewire/sidebar.blade.php +++ /dev/null @@ -1,23 +0,0 @@ - - \ No newline at end of file diff --git a/routes/web-livewire.php b/routes/web-livewire.php deleted file mode 100644 index b2c59d011f..0000000000 --- a/routes/web-livewire.php +++ /dev/null @@ -1,28 +0,0 @@ - ''], function () { - Route::get('/livewire', Fullpage::class)->middleware(['installation:complete', 'migration:complete']); - Route::get('/livewire/{albumId}', Fullpage::class)->middleware(['installation:complete', 'migration:complete']); - Route::get('/livewire/{albumId}/{photoId}', Fullpage::class)->middleware(['installation:complete', 'migration:complete']); - }); -}