app/styles/layout/_feeds.scss
.feed-aside {
max-width: 250px;
padding-left: 15px;
.sidebar-item:first-child {
.panel-heading {
margin-top: 0;
}
}
.panel-heading {
font-weight: normal;
text-transform: uppercase;
border-bottom: none;
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
li {
@extend .clearfix;
a {
text-decoration: none;
}
}
svg {
width: 20px;
height: 20px;
float: left;
margin-right: 10px;
@if $theme == "kitsu-light" {
fill: $body-secondary-text-color;
}
@if $theme == "kitsu-dark" {
fill: $foreground-background-color;
}
}
.timeline-link {
display: block;
border-radius: 3px;
margin-bottom: 5px;
padding: 10px;
line-height: 20px;
padding: 10px;
font-size: 14px;
color: $body-text-color;
.emoji {
font-size: 20px;
position: relative;
top: 3px;
margin-right: 5px;
}
@if $theme == "kitsu-dark" {
background: lighten(saturate($background-color, 2), 2);
}
&.active {
@if $theme == "kitsu-light" {
background: $white;
color: $body-text-color;
border: 1px solid $divider-color;
&:hover {
background: $white;
color: $body-text-color;
border: 1px solid $divider-color;
}
}
@if $theme == "kitsu-dark" {
background: $foreground-background-color;
color: lighten($body-text-color, 5);
&:hover {
background: $foreground-background-color;
}
}
}
&:hover {
@if $theme == "kitsu-light" {
background: rgba(0, 0, 0, 0.1);
border: rgba(0, 0, 0, 0.1);
}
@if $theme == "kitsu-dark" {
background: darken($background-color, 2);
color: lighten($body-text-color, 4);
}
}
}
@media (max-width: 768px) {
padding-left: 0px;
padding-bottom: 3px;
margin-top: -10px;
padding-right: 0px;
width: 100%;
max-width: 100%;
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
ul > li {
display: inline-block;
}
.sidebar-item {
display: none;
&.onboarding-mobile {
display: unset;
min-width: 100%;
ul > li {
display: unset;
}
}
}
.timeline-link {
.emoji {
top: 1px;
}
}
}
@media (max-width: 554px) and (min-width: 432px) {
padding-top: 38px;
}
}
.feed-container {
width: 100%;
position: relative;
@media (max-width: 768px) {
margin: 0;
}
&.quick-update-enabled {
margin-top: 250px;
}
&.guest-banner-enabled {
margin-top: 400px;
@media (max-width: 600px) {
margin-top: 300px;
}
}
}
.feed-stream {
padding: 0;
max-width: 600px;
width: 100%;
&.feed-narrow {
width: 540px;
max-width: 540px;
}
@media (min-width: 650px) and (max-width: 991px) {
padding-right: 0;
margin-right: -10px;
}
.author-name {
display: inline-block;
font-size: 16px;
font-family: $heading-font-family;
font-weight: 700;
}
}
.feed-filter {
.dropdown-menu {
left: initial;
right: 0;
}
}
.feed-actions {
margin-bottom: 15px;
margin-top: 30px;
&.is-hidden {
margin-top: 0px;
}
a {
font-size: 14px;
color: #aeaeae;
margin-right: 10px;
text-decoration: none;
&:hover {
color: $body-link-color;
}
&:focus {
text-decoration: none;
}
&.active {
padding: 5px 15px;
color: $body-text-color;
background: transparent;
border: 1px solid #e8e8e8;
border-radius: 3px;
}
}
.pull-sm-right {
float: right;
}
button {
color: $body-text-color;
padding: 0;
background: transparent;
font-size: 14px;
&:hover,
&:focus {
color: $body-link-color !important;
background: transparent;
}
}
}
.stream-item {
@extend .clearfix;
@extend .card;
border-radius: 3px;
margin-right: auto;
margin-left: auto;
margin-bottom: 10px;
display: flex;
&.pinned-post {
box-shadow: none;
border: 1px dashed #c8c8c8;
}
}
.pinned-indicator {
font-size: 12px;
display: inline-block;
padding: 5px 20px;
border-radius: 3px;
background: #f2faff;
color: #2980b9;
svg {
width: 16px;
float: left;
margin-right: 5px;
fill: #2980b9;
}
}
.stream-item-wrapper {
@extend .clearfix;
padding: 0;
padding-bottom: 0;
}
.stream-item--meta-block {
padding: 10px;
font-size: 12px;
color: $body-secondary-text-color;
text-align: center;
border-bottom: 1px solid $divider-color;
}
.stream-item--title-block {
@extend .clearfix;
margin-bottom: 0;
padding: 20px;
padding-bottom: 10px;
background: $foreground-background-color;
position: relative;
z-index: $zIndex--stream-item-block;
border-radius: 3px 3px 0 0;
.author-avatar {
float: left;
margin-right: 15px;
margin-left: -1px; // offset 1px border
position: relative;
transition: all 0.2s ease-in-out;
z-index: $zIndex--author-avatar;
&:hover {
opacity: 0.6;
}
.lazy-image,
img {
border-radius: 999em;
width: 40px;
height: 40px;
}
}
.author-group-avatar {
@extend .author-avatar;
img {
border-radius: 5px;
}
}
.recipient-avatar {
margin-left: -30px;
z-index: $zIndex--recipient-avatar;
}
.avatar-block {
&:hover {
.recipient-avatar {
margin-left: -15px;
}
}
}
.author-info {
display: inline-block;
line-height: 20px;
position: relative;
}
.secondary {
display: block;
}
.secondary-text {
font-size: 12px;
margin-top: 2px;
display: block;
color: $body-secondary-text-color;
.media-tag-description {
@media (max-width: 768px) {
display: none;
}
}
}
}
.stream-item-activity {
@extend .clearfix;
margin-bottom: 5px;
margin-left: 20px;
float: left;
position: relative;
top: -3px;
.like-stream-item {
display: inline-block;
float: left;
padding: 2px 0 4px 0;
margin-right: 5px;
top: 4px;
position: relative;
.heart-wrapper {
width: 15px;
height: 15px;
background: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjN0U3RTdFIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjY0IDU5NnEwLTgxLTIxLjUtMTQzdC01NS05OC41VDE1MDYgMjk1dC05NC0zMS05OC04LTExMiAyNS41LTExMC41IDY0LTg2LjUgNzItNjAgNjEuNXEtMTggMjItNDkgMjJ0LTQ5LTIycS0yNC0yOC02MC02MS41dC04Ni41LTcyLTExMC41LTY0VDQ3OCAyNTZ0LTk4IDgtOTQgMzEtODEuNSA1OS41LTU1IDk4LjVUMTI4IDU5NnEwIDE2OCAxODcgMzU1bDU4MSA1NjAgNTgwLTU1OXExODgtMTg4IDE4OC0zNTZ6bTEyOCAwcTAgMjIxLTIyOSA0NTBsLTYyMyA2MDBxLTE4IDE4LTQ0IDE4dC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2VDE0NSA5NTIuNSA3NyA4NTUgMjMuNSA3MzQgMCA1OTZxMC0yMjAgMTI3LTM0NHQzNTEtMTI0cTYyIDAgMTI2LjUgMjEuNXQxMjAgNThUODIwIDI3NnQ3NiA2OHEzNi0zNiA3Ni02OHQ5NS41LTY4LjUgMTIwLTU4VDEzMTQgMTI4cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHoiLz48L3N2Zz4=");
background-size: cover;
display: inline-block;
}
svg {
width: 23px;
height: auto;
fill: $secondary-cta-color;
float: left;
}
.like-label {
font-size: 12px;
font-weight: 700;
position: absolute;
top: 4px;
right: -30px;
color: $secondary-cta-color;
}
&:hover {
text-decoration: none;
.heart-wrapper {
background: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRjg3MjcwIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjY0IDU5NnEwLTgxLTIxLjUtMTQzdC01NS05OC41VDE1MDYgMjk1dC05NC0zMS05OC04LTExMiAyNS41LTExMC41IDY0LTg2LjUgNzItNjAgNjEuNXEtMTggMjItNDkgMjJ0LTQ5LTIycS0yNC0yOC02MC02MS41dC04Ni41LTcyLTExMC41LTY0VDQ3OCAyNTZ0LTk4IDgtOTQgMzEtODEuNSA1OS41LTU1IDk4LjVUMTI4IDU5NnEwIDE2OCAxODcgMzU1bDU4MSA1NjAgNTgwLTU1OXExODgtMTg4IDE4OC0zNTZ6bTEyOCAwcTAgMjIxLTIyOSA0NTBsLTYyMyA2MDBxLTE4IDE4LTQ0IDE4dC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2VDE0NSA5NTIuNSA3NyA4NTUgMjMuNSA3MzQgMCA1OTZxMC0yMjAgMTI3LTM0NHQzNTEtMTI0cTYyIDAgMTI2LjUgMjEuNXQxMjAgNThUODIwIDI3NnQ3NiA2OHEzNi0zNiA3Ni02OHQ5NS41LTY4LjUgMTIwLTU4VDEzMTQgMTI4cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHoiPjwvcGF0aD48L3N2Zz4=");
background-size: cover;
display: inline-block;
}
}
&.is-liked {
.heart-wrapper {
@extend .animated;
@extend .rubberBand;
background: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRjg3MjcwIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2VDE0NSA5NTIuNSA3NyA4NTUgMjMuNSA3MzQgMCA1OTZxMC0yMjAgMTI3LTM0NHQzNTEtMTI0cTYyIDAgMTI2LjUgMjEuNXQxMjAgNThUODIwIDI3NnQ3NiA2OHEzNi0zNiA3Ni02OHQ5NS41LTY4LjUgMTIwLTU4VDEzMTQgMTI4cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiPjwvcGF0aD48L3N2Zz4=");
background-size: cover;
display: inline-block;
span {
fill: #f87270;
}
}
}
}
.stream-item-participants {
list-style-type: none;
margin: 0;
padding: 0;
padding-left: 5px;
display: inline-block;
position: relative;
top: 3px;
}
.stream-like {
float: left;
margin-right: -5px;
.like-avatar {
display: inline-block;
width: 20px;
height: 20px;
}
.lazy-image {
position: relative;
top: 3px;
width: 20px;
height: 20px;
border-radius: 999em;
border: 1px solid $foreground-background-color;
box-sizing: content-box;
}
img {
width: 20px;
height: 20px;
border-radius: 999em;
}
&.new-like {
@extend .animated;
@extend .fadeIn;
}
&.removed-like {
@extend .animated;
@extend .zoomOut;
}
}
.stream-like-count {
position: relative;
display: inline-block;
a {
width: 25px;
height: 25px;
background: $divider-color;
display: inline-block;
font-size: 12px;
border-radius: 999em;
line-height: 25px;
text-align: center;
color: $body-text-color;
}
}
}
.stream-item-comments-count {
position: relative;
top: 2px;
color: $secondary-cta-color;
svg {
position: relative;
top: 2px;
width: 23px;
height: auto;
margin-right: 4px;
fill: $secondary-cta-color;
}
}
.media-body {
position: relative;
top: -3px;
.stream-item-activity {
margin: 0;
position: relative;
top: -2px;
.heart-wrapper {
width: 12px;
height: 12px;
}
}
.more-wrapper {
line-height: 19px;
}
.sm-comment-count {
color: #7e7e7e;
position: relative;
font-size: 12px;
display: inline-block;
}
.comment-time {
color: $body-secondary-text-color;
font-family: $base-font-family;
margin-left: 5px;
margin-right: 5px;
}
.like-stream-item {
&:hover {
.sm-comment-count {
color: #f87270;
}
}
}
.comment-actions {
@extend .clearfix;
@if $theme == "kitsu-light" {
background: darken($foreground-background-color, 4);
}
@if $theme == "kitsu-dark" {
background: darken($foreground-background-color, 7);
}
margin-bottom: -30px;
display: block;
padding: 5px 15px 5px;
margin-top: 30px;
border-bottom: 1px solid $divider-color;
}
}
.stream-item-options {
float: right;
position: relative;
top: 0;
margin-right: 20px;
svg {
float: left;
path {
fill: $body-secondary-text-color;
&:hover {
fill: $body-link-color;
}
}
}
}
.stream-item-options,
.stream-comment-options {
a {
color: $body-secondary-text-color;
font-size: 12px;
display: inline-block;
font-size: 12px;
line-height: 22px;
margin-right: 10px;
&:hover {
color: $body-link-color;
}
}
}
.option-info {
font-size: 10px;
color: $body-secondary-text-color;
}
.more-wrapper {
position: relative;
a {
margin-right: 0;
margin-left: 5px;
}
svg {
path {
fill: $body-secondary-text-color;
&:hover {
fill: $body-link-color;
}
}
}
}
.seperator {
position: relative;
top: 1px;
padding: 0 2px;
}
.stream-item-comments {
border-radius: 0 0 3px 3px;
@if $theme == "kitsu-light" {
background: darken($foreground-background-color, 2);
}
@if $theme == "kitsu-dark" {
background: darken($foreground-background-color, 4);
}
border-top: 1px solid darken($foreground-background-color, 7);
width: 100%;
ul {
margin-bottom: 0;
}
li {
border-bottom: 1px solid darken($foreground-background-color, 7);
padding: 10px 20px 0px 20px;
z-index: $zIndex--stream-comments;
}
.media-object,
.media-object > img {
width: 35px;
height: 35px;
border-radius: 999em;
}
.media-heading {
font-size: 14px;
margin-bottom: 5px;
display: block;
position: relative;
top: 3px;
}
.media-body {
font-size: 14px;
max-width: calc(100% - 45px);
.comment-body {
@include word-break();
margin-bottom: 0;
@if $theme == "kitsu-dark" {
color: $white;
}
p {
@include word-break();
}
p:last-child {
margin-bottom: 0;
}
p:first-child + .onebox {
margin-top: 1.5rem;
}
textarea {
display: inline-block;
margin-top: 1rem;
overflow: auto;
}
}
.comment-upload {
img {
margin: 0;
max-height: 300px;
object-fit: contain;
object-position: top left;
}
}
}
.stream-item-activity {
width: 100%;
.like-stream-item {
top: 0;
}
}
}
.comments-header {
padding: 10px 20px 0 20px;
display: flex;
}
.comment-sort-dropdown {
button {
position: relative;
top: -4px;
padding: 0;
padding-right: 10px;
font-size: 12px;
color: $secondary-cta-color;
background: none;
&:hover {
color: $body-link-color !important;
background: none;
}
}
}
.comment-box {
display: inline-block;
width: 100%;
.comment-box-row {
display: flex;
align-items: center;
.file-upload {
margin-bottom: 0;
cursor: pointer;
}
svg {
position: relative;
top: 3px;
margin-left: 15px;
@if $theme == "kitsu-dark" {
stroke: $body-tertiary-text-color;
fill: $body-tertiary-text-color;
stroke-width: 1px;
}
}
}
.comment-box-upload {
position: relative;
top: -3px;
padding: 10px;
background: lighten($foreground-background-color, 3);
border: 1px solid $divider-color;
border-radius: 0 0 3px 3px;
img {
max-width: 200px;
max-height: 200px;
object-fit: contain;
}
svg {
position: absolute;
top: 5px;
right: 5px;
width: 20px;
fill: $divider-color;
}
}
}
.add-comment-wrapper {
padding: 10px 20px;
.add-comment {
border-color: $divider-color;
}
textarea {
height: 40px;
color: $input-text-color;
background: lighten($foreground-background-color, 3);
}
}
.reply-list {
@if $theme == "kitsu-light" {
background: darken($foreground-background-color, 4);
}
@if $theme == "kitsu-dark" {
background: darken($foreground-background-color, 7);
}
border-radius: 3px;
margin-top: 30px;
margin-bottom: 10px !important;
li {
&:last-child {
border-bottom: none;
}
}
}
.add-reply-wrapper {
.reply-comment {
padding: 10px;
font-size: 0.9rem;
margin-bottom: 5px;
height: 40px;
@if $theme == "kitsu-light" {
border: 1px solid #eee;
}
@if $theme == "kitsu-dark" {
border: none;
}
}
.comment-box-row {
svg {
top: 0;
}
}
}
.stream-error-wrapper {
background: $background-color;
border: 1px dashed $divider-color;
border-radius: 3px;
font-size: 12px;
text-align: center;
padding: 10px;
color: #8e8e8e;
box-shadow: 0px 1px 0px 5px $background-color;
}
.stream-item--media {
padding: 15px;
padding-right: 0;
img {
border-radius: 3px;
}
}
.stream-item--media-timeline {
padding: 15px 20px 0 15px;
padding-top: 0;
margin-top: 15px;
}
.stream-onboarding {
border: 2px dashed rgba(0, 0, 0, 0.1);
border-radius: 3px;
padding: 15px;
font-size: 12px;
margin-bottom: 25px;
span {
color: $body-link-color;
}
}
// aggregate feed items
.aggregate-wrapper {
overflow: hidden;
height: 168px;
position: relative;
&.view-all {
height: auto;
}
.hr {
position: absolute;
content: "";
width: 1px;
background: darken($foreground-background-color, 8);
top: 0;
bottom: 0;
left: 30px;
}
.button {
background: $foreground-background-color;
position: relative;
border: 1px solid darken($foreground-background-color, 8);
font-size: 12px;
padding: 5px 10px;
z-index: 1;
color: $body-text-color;
margin-top: -10px;
&:hover {
background: darken($foreground-background-color, 3);
}
}
}
.aggregate-date-block {
position: relative;
padding-bottom: 15px;
@media (max-width: 768px) {
min-height: 144px;
}
}
.aggregate-date {
width: 60px;
background: $foreground-background-color;
position: relative;
padding: 5px 0;
span {
font-size: 12px;
display: block;
text-align: center;
}
.date-heading {
font-family: $heading-font-family;
font-weight: 700;
}
}
.aggregate-items {
list-style-type: none;
padding-left: 45px;
margin-top: 10px;
margin-bottom: 0;
}
.agg-item {
@extend .clearfix;
font-size: 12px;
margin-bottom: 10px;
a {
font-family: $heading-font-family;
}
&:last-child {
margin-bottom: 0;
}
}
.agg-avatar {
width: 20px;
height: 20px;
display: inline-block;
float: left;
margin-right: 10px;
.lazy-image,
img {
border-radius: 999em;
width: 20px;
height: 20px;
}
}
.agg-action {
a {
color: $body-link-color;
font-weight: 700;
&:hover {
color: darken($body-link-color, 10);
}
}
.rating-container {
display: inline-block;
position: relative;
svg {
vertical-align: bottom;
fill: $secondary-cta-color;
}
}
}
.stream-add-content {
@extend .card;
&.is-expanded {
}
}
.embed-preview-action {
display: flex;
justify-content: space-between;
padding: 5px;
font-size: 12px;
color: $body-secondary-text-color;
svg {
fill: $body-secondary-text-color;
}
}
.add-content-header,
.add-content-footer {
padding: 20px;
}
.add-content-footer {
.button {
padding: 10px 30px;
margin-right: 15px;
}
}
.post-uploads {
display: flex;
flex-direction: column;
.uploads-list {
white-space: nowrap;
overflow-x: auto;
}
.uploads-item {
display: inline-block;
position: relative;
margin-left: 10px;
cursor: move;
&.is-dragging {
z-index: 2000;
}
svg {
position: absolute;
top: 5px;
right: 5px;
width: 20px;
fill: $divider-color;
}
img {
width: 100px;
height: 100px;
object-fit: cover;
}
.uploads-number {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
font-size: 14px;
text-align: center;
color: $white;
background: $primary-cta-color;
border-bottom-right-radius: 3px;
}
}
.add-uploads,
.file-upload {
display: flex;
align-items: center;
margin-left: 20px;
margin-bottom: 15px;
height: 25px;
cursor: pointer;
svg {
margin-right: 10px;
}
}
.file-upload {
&.disabled {
opacity: 0.4;
cursor: not-allowed;
}
}
}
.tag-media {
border-top: 1px solid $divider-color;
border-bottom: 1px solid $divider-color;
input {
border-radius: 0;
border: none;
padding: 10px 20px;
background: $foreground-background-color;
}
}
.tag-unit {
position: relative;
top: 5px;
float: right;
input {
max-width: 80px;
border: 1px solid $divider-color;
border-radius: 3px;
padding-left: 5px;
}
}
.modal-content {
.add-content-expanded {
textarea {
border: 0;
}
}
.tag-unit {
top: 0;
input {
width: inherit;
}
}
}
.stream-content-editor {
min-height: 100px;
margin-top: 0;
padding: 0 20px;
overflow: hidden;
width: 100%;
border: none;
background: $foreground-background-color;
color: $input-text-color;
}
.stream-content {
@include word-break();
overflow: hidden;
@if $theme == "kitsu-dark" {
color: $white;
}
.stream-content-post {
display: block;
overflow: hidden;
max-height: none;
p:last-child {
margin-bottom: 5px;
}
}
.view-more {
margin-top: 10px;
margin-bottom: 10px;
text-align: center;
a {
display: block;
width: 100%;
padding: 10px;
}
}
p {
overflow: hidden;
padding: 0 20px;
}
.onebox + .onebox {
margin-top: 1rem;
}
.stream-content-post-uploads-container {
position: relative;
width: 100%;
padding-bottom: 100%;
margin: 1px 0 1px;
&.photo-grid-1 {
padding-bottom: 0;
}
&.photo-grid-2.square {
padding-bottom: 50%;
}
&.photo-grid-5 {
padding-bottom: 83%;
}
}
.stream-content-post-uploads {
position: absolute;
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
a {
position: relative;
img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.pswp__share-tooltip {
a {
margin-right: 0 !important;
margin-bottom: 0 !important;
width: 100% !important;
}
}
&.landscape {
a:first-of-type {
margin-bottom: 4px;
.lazy-image {
height: 100%;
}
img {
object-fit: cover;
}
}
}
&.portrait {
flex-direction: column;
height: 100%;
a:first-of-type {
margin-right: 4px;
}
}
&.square {
a:first-of-type {
margin-right: 4px;
margin-bottom: 4px;
}
a {
width: calc((100% - 4px) * (1 / 2));
height: 100%;
}
&.photo-grid-4 {
a {
height: calc((100% - 4px) * (1 / 2));
}
}
}
&.photo-grid-1 {
position: static;
a {
width: 100%;
max-height: 538px;
img {
object-fit: contain;
}
}
}
&.photo-grid-2 {
&.landscape {
a {
width: 100%;
height: calc((100% - 4px) * (1 / 2));
}
}
&.portrait {
a {
width: calc((100% - 4px) * (1 / 2));
height: 100%;
}
}
}
&.photo-grid-3,
&.photo-grid-4 {
&.landscape {
a:first-of-type {
width: 100%;
height: calc((100% - 4px) * (2 / 3));
}
}
&.portrait {
a:first-of-type {
width: calc((100% - 4px) * (2 / 3));
height: 100%;
}
}
}
&.photo-grid-3 {
&.landscape {
a + a {
width: calc((100% - 4px) * (1 / 2));
height: calc((100% - 4px) * (1 / 3));
}
}
&.portrait {
a + a {
width: calc((100% - 4px) * (1 / 3));
height: calc((100% - 4px) * (1 / 2));
}
}
}
&.photo-grid-4:not(.square) {
&.landscape {
a + a {
width: calc((100% - 8px) * (1 / 3));
height: calc((100% - 4px) * (1 / 3));
}
}
&.portrait {
a + a {
width: calc((100% - 4px) * (1 / 3));
height: calc((100% - 8px) * (1 / 3));
}
}
}
&.photo-grid-5 {
a:nth-of-type(-n + 2) {
width: calc((100% - 4px) * (1 / 2));
height: calc((100% - 4px) * (3 / 5));
}
a + a + a {
width: calc((100% - 8px) * (1 / 3));
height: calc((100% - 4px) * (2 / 5));
}
a + a + a + a + a {
position: relative;
}
a + a + a + a + a + a {
display: none;
}
}
}
}
.uploads-overlay {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
color: $white;
background: rgba(0, 0, 0, 0.4);
&.uploads-more {
top: 0;
left: 0;
bottom: 0;
right: 0;
font-size: 60px;
}
&.uploads-gif {
width: 70px;
height: 70px;
top: calc(50% - 35px);
left: calc(50% - 35px);
font-size: 20px;
border: 2px solid $white;
border-radius: 999em;
}
}
.uploads-photo-swipe {
position: relative;
.uploads-item {
display: flex;
}
}
.stream-content-embed {
position: relative;
.embed-video {
position: absolute;
width: 100%;
height: 100%;
border: none;
.embed-video-overlay {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-image: linear-gradient(
rgba(0, 0, 0, 0.7),
rgba(0, 0, 0, 0.1) 20%,
rgba(0, 0, 0, 0) 100%
);
}
.embed-video-info {
position: absolute;
top: 15px;
left: 15px;
font-size: 20px;
color: white;
}
svg {
position: absolute;
top: calc(50% - 25px);
left: calc(50% - 34px);
width: 68px;
height: 50px;
fill-opacity: 0.9;
}
.lazy-image {
display: block;
position: relative;
width: 100%;
height: 100%;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.embed-article {
&.landscape {
img {
width: 100%;
max-height: 600px;
object-fit: cover;
}
}
&.portrait {
display: flex;
.lazy-image,
img {
max-width: 150px;
max-height: 150px;
background-color: darken($foreground-background-color, 5);
}
}
.embed-info {
padding: 15px;
width: 100%;
background-color: darken($foreground-background-color, 5);
.embed-sitename {
color: $body-secondary-text-color;
}
.embed-title {
font-weight: 700;
color: $body-text-color;
}
.embed-desc {
color: $body-text-color;
font-size: 12px;
}
}
}
}
.comment-actions {
width: 100%;
font-size: 12px;
color: #b4b4b4;
}
.nsfw-gate,
.spoiler-gate,
.combo-gate {
padding: 0 20px;
a {
background: $tertiary-background-color;
border: 1px solid $divider-color;
border-radius: 3px;
margin-bottom: 15px;
text-align: center;
padding: 20px;
display: block;
@if $theme == "kitsu-dark" {
color: lighten($secondary-cta-color, 2);
}
@if $theme == "kitsu-light" {
color: darken($secondary-cta-color, 10);
}
transition: 0.3s background ease-in-out;
position: relative;
font-weight: 700;
overflow: hidden;
small {
display: block;
}
&::after {
content: "(ಠ_ಠ)";
position: absolute;
right: 15px;
font-size: 42px;
top: -4px;
opacity: 0.3;
font-family: "Arial";
}
.gate--hover {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
transform: translate3d(0, -100%, 0);
transition: 0.3s all cubic-bezier(0.5, 2, 0.5, 0.75);
}
@media (max-width: 768px) {
text-align: left;
.gate--hover {
align-items: initial;
padding-left: 20px;
}
&::after {
right: -45px;
}
}
&:hover {
@if $theme == "kitsu-light" {
background: #ffdcd8;
color: #e74c3c;
border: 1px dotted #e74c3c;
}
@if $theme == "kitsu-dark" {
background: #52231f;
color: #ff6d5d;
border: 1px dotted #ff6d5d;
}
&::after {
content: "(¬‿¬ )";
}
.gate--label {
transform: translateY(60px);
opacity: 0;
}
.gate--hover {
transform: translate3d(0, 0, 0);
}
}
}
}
.spoiler-gate {
a {
&::after {
content: "(⊙_⊙)";
}
&:hover {
&::after {
content: "(◕‿◕)";
}
}
}
}
.combo-gate {
a {
&::before {
content: "(⊙_⊙)";
position: absolute;
left: 15px;
font-size: 42px;
top: -4px;
opacity: 0.3;
font-family: "Arial";
}
&:hover {
&::before {
content: "(◕‿◕)";
}
}
}
}
.tag-media {
li {
@extend .clearfix;
border-top: 1px dotted $divider-color;
padding: 15px;
background: #fafafa;
line-height: 35px;
&:hover {
background: darken(#fafafa, 1);
}
}
.tag {
float: right;
background: none;
color: #787878;
border: 1px solid $divider-color;
padding: 5px 10px;
}
.tag-poster {
width: 35px;
height: 35px;
overflow: hidden;
display: inline-block;
float: left;
margin-right: 10px;
border-radius: 3px;
}
}
.tagged-media--wrapper {
@extend .clearfix;
padding: 20px;
padding-top: 5px;
padding-bottom: 5px;
.author-info {
margin-left: 10px;
}
.stream-item--media {
padding: 0;
}
.tagged-media--remove {
display: block;
position: absolute;
width: 16px;
height: 16px;
top: 5px;
right: 5px;
}
}
.tag-media {
.tagged-media--wrapper {
padding: 20px;
}
}
.tagged-media {
position: relative;
background: $tertiary-background-color;
border: 1px solid $divider-color;
border-radius: 3px;
margin-left: 0;
margin-right: 0;
padding: 10px;
.stream-item--title-block {
background: none;
padding: 0;
}
}
.full-page-post {
width: 100%;
max-width: 540px;
margin: 0 auto;
}
// Stream review item
.author-header {
@extend .clearfix;
border-bottom: 1px solid #eee;
margin-bottom: 10px;
padding-bottom: 5px;
small {
font-family: $base-font-family;
font-size: 12px;
display: block;
text-transform: uppercase;
margin-top: 2px;
margin-bottom: 2px;
letter-spacing: 1px;
}
a {
font-weight: normal;
}
}
.stream-review {
margin-bottom: 10px;
}
.stream-review-wrapper {
padding: 0 15px;
padding-top: 0;
.media {
display: block;
}
.stream-item--media {
padding-bottom: 5px;
}
}
.review-avatar {
position: relative;
float: left;
margin-right: 10px;
width: 40px;
height: 40px;
.lazy-image,
img {
width: 40px;
height: 40px;
border-radius: 999em;
}
}
.stream-review-content {
padding: 15px 15px 15px 10px;
}
.stream-review-rating {
position: relative;
top: 1px;
margin-left: 5px;
svg {
width: 16px;
height: 16px;
}
}
.review-media-progress {
color: rgba(0, 0, 0, 0.4);
padding: 5px 15px;
border: 1px dashed $divider-color;
display: inline-block;
background: #fafafa;
margin-bottom: 10px;
margin-top: 3px;
font-size: 12px;
}
.feed-occlusion-buffer {
min-height: 300px;
}
.reaction-feed-item {
display: flex;
align-items: center;
.reaction-actions {
display: flex;
}
.reaction-votes {
display: flex;
flex-direction: row;
align-items: center;
position: relative;
padding: 5px 10px;
color: $body-text-color;
font-weight: bold;
font-size: 12px;
border: 1px solid $divider-color;
border-radius: 3px;
svg {
width: 12px;
height: 12px;
margin-right: 5px;
}
&:hover {
color: $body-link-color;
border-color: $body-link-color;
svg {
fill: $body-link-color;
}
}
&.upvoted {
background-color: $body-link-color;
border-color: $body-link-color;
color: $white;
svg {
fill: rgba(255, 255, 255, 1);
}
}
}
.reaction-options {
margin-left: auto;
}
.reaction-content {
border: 1px solid $divider-color;
border-radius: 3px;
padding: 10px;
width: 100%;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
margin-bottom: 10px;
hr {
margin-bottom: 10px;
}
.reaction-message {
font-weight: bold;
display: block;
text-align: center;
padding: 5px 0;
font-size: 13px;
color: inherit;
&:hover {
color: $body-link-color;
text-decoration: none;
}
}
.reaction-meta {
display: flex;
margin-top: 5px;
align-items: center;
justify-content: center;
img {
margin-right: 10px;
width: 20px;
height: 20px;
border-radius: 999em;
}
}
}
}
.reaction-sorting {
display: flex;
.reaction-filter {
margin-right: 10px;
}
}
.reaction-wrapper {
padding: 5px;
}
.reaction-thumb {
max-width: 640px;
height: auto;
overflow: hidden;
height: 325px;
margin-bottom: 0;
padding: 20px;
.reaction-content {
z-index: 2;
position: absolute;
bottom: 20px;
right: 20px;
left: 20px;
color: $white;
}
.reaction-copy {
display: block;
font-size: 15px;
margin-bottom: 0;
color: inherit;
word-break: break-word;
&:hover {
color: $white;
text-decoration: underline;
}
}
.reaction-media-info {
font-size: 12px;
color: $body-secondary-text-color;
a {
color: $white;
}
}
.upvotes {
position: absolute;
z-index: 2;
top: 20px;
}
.poster-image,
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
border-radius: 3px;
background-size: cover;
}
.overlay {
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0.4) 0,
rgba(0, 0, 0, 0.9) 100%
);
z-index: 1;
}
.reaction-votes {
z-index: 2;
position: relative;
padding: 5px 10px;
color: $body-text-color;
font-weight: bold;
font-size: 12px;
border: 1px solid rgba(255, 255, 255, 0.4);
border-radius: 3px;
color: rgba(255, 255, 255, 0.8);
svg {
position: relative;
top: 2px;
width: 12px;
height: 12px;
margin-right: 5px;
fill: rgba(255, 255, 255, 0.8);
}
&:hover {
border: 1px solid rgba(255, 255, 255, 1);
color: 1px solid rgba(255, 255, 255, 1);
svg {
fill: rgba(255, 255, 255, 1);
}
}
&.upvoted {
background-color: $body-link-color;
border: $body-link-color;
color: $white;
svg {
fill: rgba(255, 255, 255, 1);
}
}
}
.reaction-card-actions {
z-index: 2;
position: absolute;
top: 20px;
right: 20px;
.more-wrapper {
.dropdown-menu {
min-width: 110px;
a {
font-size: 12px;
padding: 5px 10px;
border-bottom: 1px solid #ddd;
display: block;
margin: 0;
&:last-child {
border-bottom: none;
}
&:hover {
color: $body-link-color;
}
}
}
}
}
}
.interest-notice {
@extend .clearfix;
padding: 20px;
aside {
float: left;
margin-right: 20px;
}
.button--primary {
font-size: 12px;
padding: 5px 20px;
}
.close {
position: absolute;
top: 5px;
right: 10px;
}
}
.permalink--author-card {
button {
display: inline-block;
width: auto;
justify-content: initial;
}
}
.mini-cover {
width: 100%;
height: 70px;
background-size: cover;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
.author-name {
position: relative;
bottom: -40px;
padding-left: 135px;
color: $white;
}
.author-follow {
padding-left: 135px;
position: relative;
top: 48px;
z-index: 3;
}
.button {
font-size: 12px;
padding: 8px 40px;
}
}
.mini-cover--avatar {
z-index: 2;
position: relative;
margin-top: -50px;
margin-left: 20px;
img {
width: 100px;
border-radius: 50%;
border: 2px solid #fff;
}
}
.more-reactions {
a {
text-align: center;
display: block;
padding: 10px;
margin-top: 15px;
color: $body-text-color;
border-radius: 3px;
border: 1px solid $divider-color;
font-size: 14px;
margin-bottom: 15px;
&:hover {
color: $body-link-color;
border: 1px solid $body-link-color;
}
}
}
.guest-card {
border-radius: 3px;
padding: 15px;
font-size: 14px;
background: #eaeaea;
text-align: center;
.button {
width: 100%;
}
}