/*
 * Webasyst Default 4.0 theme family
 *
 * Photos app CSS
 * (requires linking base default.css file from the Site app)
 *
 * @link http://www.webasyst.com/
 * @author Webasyst LLC
 * @copyright 2015 Webasyst LLC
 * @package Webasyst
 *
 * ... extends base Site app's default.css
 */

#gallery-nav { text-align: center; margin-top: -20px; margin-bottom: 30px; }
#gallery-nav ul.menu-h li { float: none; display: inline-block; display: block \9; float: left \9; }
#gallery-nav .popup { max-width: 400px; max-height: 70%; overflow-y: scroll; }
#gallery-nav .popup ul.menu-v { padding-left: 6px; }
#gallery-nav .popup ul.menu-v li { display: block; float: none; list-style: none; line-height: 1.3em; text-align: left; }
#gallery-nav .popup ul.menu-v li a { color: #03c; }
#gallery-nav .popup ul.menu-v li a:hover { color: red; }
#gallery-nav .popup ul.menu-v li ul { padding-left: 15px; padding-top: 2px; font-size: 0.9em; margin-bottom: 10px; }
#gallery-nav .popup ul.menu-v li ul li { float: none; }
#gallery-nav .popup ul.menu-v li ul li a { font-weight: normal; }

.p-page-title { font-size: 24px; color: #333333; margin-bottom: 32px; }
.album-note { display: block; margin-top: -10px; color: #aaa; font-style: italic; }
.album-description { margin-top: 15px; }


/* Albums
--------- */

ul.albums {list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-wrap: wrap; gap: 20px; }
ul.albums li { position: relative; width: 275px; background: #ffffff;box-shadow: 0 5px 30px rgba(0, 0, 0, 0.06); border-radius: 15px; }
ul.albums li.layers::before, ul.albums li.layers::after { content: ''; position: absolute; width: 100%; height: 20px; background: #ffffff; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.06); border-radius: 0 0 15px 15px;}
ul.albums li.layers::before { bottom: 6px; left: 0}
ul.albums li.layers::after { bottom: 11px; left: 0}
ul.albums li:hover img { transform: scale(1.05) }
ul.albums li a { position: absolute; top: 0; bottom: 0; right: 0; left: 0; }
ul.albums li .cover { width: 275px; height: 200px; overflow: hidden; border-radius: 15px 15px 0 0 }
ul.albums li .cover img { width: 100%; transition: transform 300ms }
ul.albums li .details { padding: 24px 30px; }
ul.albums li .details p { margin: 0; font-size: 16px; line-height: 19px; color: #000000; }
ul.albums li .details p:not(:first-child) { margin-top: 10px; }
ul.albums li .details .count { font-size: 14px; color: #bdbdbd; }
ul.albums li .details .gray { color: #bdbdbd; }
ul.albums li.layers .details { padding: 24px 30px 35px; }


ul.albums li .count { display: block; color: #aaa; font-size: 0.9em; margin-top: 5px; }

ul.albums.subalbums { margin-left: -20px; }
ul.albums.subalbums li { width: 150px; }
ul.albums.subalbums li .cover,
ul.albums.subalbums li .cover .sublayer,
ul.albums.subalbums li .cover img { width: 104px; height: 104px; }
ul.albums.subalbums li .cover img { border-width: 5px; }
ul.albums.subalbums li:hover .cover img { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); }


/* Single photo (slide by slide view)
------------------------------------- */

.slideshow { text-align: center;  margin: 0; box-shadow: 0 5px 30px rgb(0 0 0 / 6%);    border-radius: 15px;    padding: 30px;    position: relative;}
.slideshow-navigator { padding: 0; position: absolute;    margin: 0 auto;    width: calc(100% - 60px);  bottom: -66px; }

.photo { margin-bottom: 0; width: 100%; }
.photo img { max-width: 100%; height: auto !important; }

.stack .stack-nav { font-size: 120%; padding: 4px 8px 4px; display: inline-block; position: relative; background: #000; display: block \9; background: transparent \9; }
.stack .stack-nav img { width: 22px; height: 20px; }
.stack .stack-nav .rewind { position: absolute; left: -30px; top: 3px; }
.stack .stack-nav .ff { position: absolute; right: -30px; left: auto; top: 3px; }

.image { position: relative; display: block; max-width: 100%; display: block \9; }
.image img { max-width: 100%; height: auto !important; }
.image .corner { position: absolute; z-index: 10; color: #fff; font-weight: bold; }
.image .corner.top { top: 20px; }
.image .corner.left { left: 18px; }
.image .corner.right { right: 16px; }
.image .corner.bottom { bottom: 5px; }
.image .corner .indicator { color: #fff; background: rgba(0, 0, 0, 0.5); border-radius: 10px; padding: 3px 6px; }
.image .stripe { position: absolute; z-index: 9; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.3); color: #fff; line-height: 1em; }
.image .stripe p { margin: 0 0; padding: 5px; }
.image .stripe p a { color: #fff; }
.image .stack { position: absolute; top: 5px; left: 0; right: 0; color: #fff; padding: 10px; text-align: center; }

.image i.image-nav { display: block; position: absolute; top: 50%; margin-top: -48px; width: 96px; height: 96px; z-index: 100; cursor: pointer; background: url('img/nav-photo.png'); background-size: 192px 96px; opacity: 0; transition: opacity 0.2s 0 ease; }
.image i.image-nav.rewind { left: 20px; background-position: 0 0; }
.image i.image-nav.ff { right: 20px; background-position: -96px 0; }
.image:hover i.image-nav { transition: opacity 0.2s 1s ease; opacity: 0.5; }
.image:hover i.image-nav:hover { opacity: 1; -webkit-transition-delay: 0; transition: opacity 0.2s 0s ease; }

#photo-name { margin-top: 30px; }

.p-photo-details { margin-top: 88px; }
/* Photostream navigator
------------------------ */

.photostream-container { width: 308px; margin: 0 auto; }
ul.photostream { padding: 0; margin: 0; list-style: none; position: relative;}
ul.photostream li { float: left; padding-right: 10px; }
ul.photostream li img { width: 48px; height: 48px; padding: 1px; border: 1px solid #fff; }
ul.photostream li.selected img { border-color: #777; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
ul.photostream li.selected > a { background: #fff; }
ul.photostream li.stream-nav { position: absolute; top: 21px; }
ul.photostream li.stream-nav i { display: block; width: 12px; height: 14px; background: url('img/nav-photostream.png') no-repeat; background-size: 24px 14px; }
ul.photostream li.stream-nav.rewind { left: -16px; padding: 0; }
ul.photostream li.stream-nav.rewind i { background-position: 0 0; }
ul.photostream li.stream-nav.ff { right: -16px; padding: 0; }
ul.photostream li.stream-nav.ff i { background-position: -12px 0; }

.photostream-divider { margin-top: 90px; border-top: 1px solid #ccc; margin-bottom: 20px; }


/* Photo lists
-------------- */

.view-plain { margin-top: 20px; }
.view-plain h5 { margin-bottom: 3px; }
.view-plain .image { margin: 5px 0 0; max-width: 970px; text-align: left \9; }
.view-plain img.shadowed { -moz-box-shadow: 0 1px 3px #aaa; -webkit-box-shadow: 0 1px 3px #aaa; box-shadow: 0 1px 3px #aaa; }

ul.view-thumbs { padding: 0; margin: 0; list-style: none; transition: all .5s ease-in-out; column-gap: 20px; column-fill: initial; }
ul.view-thumbs li { margin-bottom: 20px; display: inline-block; vertical-align: top; }
ul.view-thumbs li a { text-decoration: none; color: #000; }
ul.view-thumbs li h5 { margin-bottom: 0.3em; }
ul.view-thumbs li img { }
/* ul.view-thumbs li img.shadowed { -moz-box-shadow: 0 1px 3px #aaa; -webkit-box-shadow: 0 1px 3px #aaa; box-shadow: 0 1px 3px #aaa; margin-bottom: 5px; } */
ul.view-thumbs.album-float-left-view { margin-top: 10px; }
ul.view-thumbs.album-float-left-view li { margin-right: 22px; }

ul.view-thumbs li:hover img { border-color: #ffd; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); transition: all 0.2s ease-in-out; }

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    ul.view-thumbs { column-count: 2; }
}
@media only screen and (min-width: 1024px) {
    ul.view-thumbs { column-count: 3; }
}
.photo-thumbs-lazyloading { text-align: center; margin-top: 10px; }

/* Comments
----------- */

.credentials { overflow: hidden; line-height: 1.3em; }
.credentials a,
.credentials span { display: inline-block !important; vertical-align: middle; padding: 0 !important; }
.credentials .userpic { min-width: 20px; display: block; float: left; margin-right: 2px; border-radius: 50%; }
.credentials .username { margin: 0; }
.credentials .username, .credentials .username a { color: #777; padding: 0; display: inline; }
.credentials a.username:hover { color: red; }
.credentials .date,
.credentials .icon16 { margin: 0 3px; }
.post .credentials { margin-bottom: 20px;}

.comments { margin: 30px 50px 10px 0; }
.comments h3 { margin: 0 0 20px; }
.comments h4 { margin: 0 0 10px; }
.comments .credentials .date { margin: 0 5px; padding-top: 1px; }
.comments .credentials .userpic { margin-right: 5px; }
.comments .credentials .userpic.icon16 { min-width: 0; width: 16px; height: 16px; margin: 7px 4px 0; }
.comments textarea { height: 100px; min-height: 100px; width: 75%; margin-top: 0; }
.comments ul,
.comments ul li { padding: 0; margin: 0 0 20px 0; list-style: none; border: 0 !important; }
.comments ul li ul { margin: 20px 0 0 0; }
.comments ul li span.hint a { color: #aaa; text-decoration: underline; }
.comments .text { margin: 5px 0 5px 28px; }
.comments .actions { margin: 0 0 5px 28px; font-size: 0.9em; }
.comments .actions a { padding: 0 !important; }
.comments ul li a.comment-delete { margin: 0 0 0 5px; padding: 0; color: #d99; text-decoration: underline; }
.comments ul li a.comment-delete:hover { background: red; color: white; }
.comments ul li ul { padding-left: 25px; }
.comments ul li .comment-form { padding: 10px 30px; margin-top: 0; }
.comments ul li .comment-form textarea { min-height: 100px; }
.comment.in-reply-to { background: #eee; margin: -8px -8px -13px; padding: 8px 35px 8px 8px; position: relative; }
.comment.new { background: #ffc; margin: -8px -8px -13px; padding: 8px 35px 8px 8px; }

ul.auth-type { padding: 0 0 10px !important; list-style: none; }
ul.auth-type li { padding-right: 10px; display: inline-block; float: left \9; display: inline \9; }
ul.auth-type li a { padding: 5px 6px; }
ul.auth-type li a img { margin-right: 5px; top: 4px; position: relative; }

.comment-form { padding: 0; margin-top: 30px; }
.comment-form h4 { margin: 0 0 20px; font-weight: normal; }
.comment-form-fields p { margin: 0 0 10px; }
.comment-form-fields p a { display: inline !important; }
.comment-form-fields label { width: 160px; display: block; clear: left; float: left; margin: 0 10px 0 0; color: #aaa; padding-top: 3px; }
.comment-form-fields input { width: 20em; }
.comment-form textarea { min-width: 70%; min-height: 160px; }
.comment-form .comment-submit { padding: 0 0 0 170px;}
.comment-form .userpic { width: 20px; height: 20px; float: left; margin-right: 5px; border-radius: 50%; }
.comment-form ul.menu-h.auth-type li a img { float: left; margin-right: 3px; position: relative; top: 2px; }
.comment-form ul.menu-h.auth-type { padding-bottom: 20px; }

/* Public gallery plugin styles
------------------------------- */

#photo-rate-votes-count,
#clear-photo-rate,
#photo-rate-error { position: relative; top: 3px; margin-left: 5px; margin-right: 5px; }
#photo-rate-error { color: red; }

.p-declined { color: red; }
.p-declined img { border: 2px solid red; margin-top: -2px; }
.p-awaiting-moderation { color: gray; font-style: italic; opacity: 0.5; }

.image .p-declined { color: white; background: red; padding: 15px; font-size: 1.2em; }
.image .p-awaiting-moderation { color: white; background: gray; padding: 15px; font-size: 1.2em; }


/* TABLET
========= */

@media screen and (min-width: 760px) and (max-width: 980px) {
    /* 980 instead of 1024 for correct iPad horizontal mode support */
    .container { max-width: 720px; }

}

/* MOBILE
========= */

@media screen and (max-width: 760px) {

    .container.paper { overflow-x: hidden; }

    #gallery-nav { margin-top: 0; }

    .image img { height: auto !important; }

    .image i.image-nav { display: none !important; }

    ul.view-thumbs li { width: auto; }

    ul.view-thumbs li .image { margin: 0 10px 30px; }

    ul.view-thumbs li img.shadowed { box-shadow: none; }

    ul.view-thumbs li h5 { display: none; }

    ul.view-mixed { margin-left: -15px; }

    .sidebar { margin-bottom: 20px; }

    .sidebar.left { width: 100%; float: none; }

    .sidebar.right, .sidebar.right.double { width: 100%; float: none; }

    .content.left { margin-left: 0; }

    .content.right, .content.right.double { margin-right: 0; }

    .sidebar p { clear: both; }

    .stream-nav { display: none; }

    .comment-form-fields label { width: auto; float: none; }

    .comment-form-fields input { width: 80%; }

    .comment-form textarea { width: 90%; }

    .comment-form .comment-submit { padding-left: 0; }

    .comment-form .wa-captcha img { margin-bottom: 10px; }

    ul.albums { text-align: center; justify-content: center; }

}


/* WIDE
========= */

@media screen and (min-width: 1300px) {

    ul.albums li { width: 275px; }

}
