.image-flex-grid { padding-right: 0; padding-bottom: 0; } .media-box__header span.favorites, .media-box__header span.comments_count { padding-left: 4px; } .media-box__header span.score { padding: 0 4px; } .media-box__header--small span.favorites, .media-box__header--small span.comments_count { padding-left: 2px; } .media-box__header--small span.score { padding: 0 2px; } @define-mixin interaction-color $name, $col { a.interaction--$(name) { color: var(--$(col)-color); } a.interaction--$(name).active, a.interaction--$(name):hover { background: var(--$(col)-color); color: var(--link-light-color); } } @mixin interaction-color fave, fave; @mixin interaction-color upvote, vote-up; @mixin interaction-color downvote, vote-down; @mixin interaction-color hide, hide; a.interaction--comments { color: var(--comment-color); } a.interaction--comments:hover { background: var(--comment-color); color: var(--background-color); } /* Disable spoilered image downvoting (see the interactions script) */ .interaction--downvote.disabled, .interaction--downvote.disabled:hover { cursor: default; color: var(--downvote-disabled-color); background: var(--media-box-color); } .tag-info__image { border: var(--border); text-align: center; font-size: 12px; } /* Images rendered using the 'images/image_container' partial (image lists, comment list previews, gallery thumbs) */ div.image-container { position: relative; display: inline-block; overflow: hidden; /* prevent .media-box__overlay from overflowing the container */ text-align: center; } /* spoilered images inside communications */ span.spoiler div.image-container { display: block; } /* .image-container sizes, set by the partial. */ .thumb { max-width: 250px; max-height: 250px; } .thumb_small { max-width: 150px; max-height: 150px; } .thumb_tiny { width: 50px; height: 50px; } /* Used for elements that wrap .image-container */ .thumb-tiny-container { width: 50px; height: 50px; } /* embedded images. kinda like image-container, but this one also shows a text, link to filter page, etc */ .image-show-container { color: var(--foreground-color); display: inline-block; max-width: 100%; padding-bottom: 6px; } .image-show-container span.spoileredtag, .image-show-container span.hiddentag { font-weight: bold; } .image-show-container a { color: var(--image-show-link-color); } .dnp-warning a { color: var(--vote-down-color); font-weight: bold; } /* Make the link cover the whole container if the image is oblong */ div.image-container a, div.image-container picture, div.image-container video { width: 100%; height: 100%; display: inline-flex; align-items: center; justify-content: center; } .dnp-warning a:hover { color: var(--dnp-warning-hover-color); } .image-show-container:hover a:hover { color: var(--image-show-link-hover-color); } /* This and the one above needed for older browsers for some reason, appears to be a bug */ .image-target { max-width: 100%; } /* Resizes large images to fit in a smaller container; width and height are defined inline */ .image-constrained { display: flex; justify-content: center; align-items: center; } .image-constrained img { max-width: 100%; max-height: 100%; } .image-scaled { max-width: 100%; max-height: 100%; } /* Due to the address bar hiding/reappearing in mobile browsers, viewport * units are only reliable in desktop browsers. */ @media (min-width: $min-desktop-width) { .image-scaled { max-height: 80vh; } } .image-partscaled { max-width: 100%; } .image-description { overflow: auto; } .image-description img { max-width: 100%; } .image-size { white-space: nowrap; } .js-source-link { word-wrap: break-word; } div.image-container img, div.image-container video { vertical-align: middle; max-width: 100%; max-height: 100%; } #image-source > p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .interaction-user-list-item { display: inline-block; padding: 2px; padding-right: 7px; } .image_menu { padding-left: 0; margin: 1em 0 0; } .horizontal-list { margin: 0; padding-left: 0; list-style: none; } .horizontal-list li { display: inline-block; } .horizontal-list li + li { margin-left: 1em; } .dnp-warning { padding: 0.5em; border: 3px solid var(--vote-down-color); background: var(--admin-links-color); } .dnp-warning h4 { margin-top: 0.3em; margin-bottom: 0.2em; } .derpy__2fa { width: 25%; min-width: 200px; } .derpy__login { margin-left: 8px; align-self: flex-end; } #js-image-upload-previews { display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: center; } #js-image-upload-previews:empty { display: none; } #js-image-upload-previews img, #js-image-upload-previews video { max-height: 200px; max-width: 200px; } #js-image-upload-previews .scraper-preview--label { cursor: pointer; margin: 0 8px 8px 0; } #js-image-upload-previews .scraper-preview--label .scraper-preview--image-wrapper { display: inline-block; padding: 9px; border: 1px solid transparent; opacity: 0.6; } #js-image-upload-previews .scraper-preview--label .scraper-preview--image { background: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxyZWN0IGZpbGw9IiNGRkZGRkYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPjxyZWN0IGZpbGw9IiNFRkVGRUYiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiLz48cmVjdCBmaWxsPSIjRUZFRkVGIiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4PSI4IiB5PSI4Ii8+PC9zdmc+Cg==") repeat top left; background-size: 16px; } #js-image-upload-previews .scraper-preview--label .scraper-preview--input { display: none; } #js-image-upload-previews .scraper-preview--label.checked > .scraper-preview--image-wrapper, #js-image-upload-previews .scraper-preview--label .scraper-preview--input:checked + .scraper-preview--image-wrapper { opacity: 1; border-color: var(--input-border-active); background-color: var(--input-color-active); } .detail-link { margin-right: 8px; } .full-height { height: 100%; } .image_sources { display: grid; grid-template-columns: 2em auto; } .image_source__icon, .image_source__link { padding: 0.5em; overflow: hidden; } .image_source__icon { justify-self: center; }