SalaMuseoGames/_sass/_post.scss

714 lines
12 KiB
SCSS

.post {
position: relative;
top: rem(30px);
@include media(">=sm") {
top: rem(50px);
}
}
.post.two-columns {
display: flex;
flex-direction: column;
padding-bottom: rem(40px);
@include media(">=sm") {
max-width: rem(1100px);
flex-direction: row;
margin: 0 auto;
padding: rem(40px) 0;
}
.post-content {
padding-bottom: rem(10px);
@include media(">=sm") {
flex-basis: 70%;
padding: 0 rem(30px) 0 rem(10px);
}
}
}
.post-content {
overflow-x: auto;
padding: rem(40px) 0;
&.fullwidth {
padding: rem(60px) rem(10px) 0;
}
img {
max-width: 100%;
margin: rem(0px) auto;
display: block;
padding: 10px 0;
}
figure {
margin: rem(20px) auto 0;
}
figcaption,
img + em {
display: block;
color: darken($lightGray, 30%);
text-align: center;
@include mainFont(300);
}
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
iframe {
@include center(rem(800px));
@include mainFont(400);
font-size: rem(17px);
line-height: rem(30px);
letter-spacing: 0.025rem;
padding: 0 rem(20px);
margin: rem(20px) auto 0;
@include media(">=sm") {
font-size: rem(20px);
line-height: rem(40px);
margin: rem(29px) auto 0;
}
}
h1.post-title {
line-height: 1.2;
margin: rem(5px) auto rem(10px);
padding-top: 0;
}
p.post-subtitle {
color: darken($lightGray, 30%);
font-size: rem(17px);
margin: rem(10px) auto;
line-height: 1.6;
@include media(">=sm") {
font-size: rem(20px);
}
}
img.post-cover {
padding: 0;
margin-top: rem(20px);
margin-bottom: rem(20px);
@include media(">=sm") {
margin-top: rem(29px);
margin-bottom: rem(29px);
}
}
p.post-info {
@include mainFont(300);
font-size: rem(13px);
letter-spacing: 0;
color: darken($lightGray, 30%);
margin: 0 auto;
@include media(">=sm") {
font-size: rem(15px);
}
span,
time {
vertical-align: middle;
}
time {
margin-right: rem(10px);
@include media(">=sm") {
margin-right: rem(30px);
}
}
}
p,
li {
color: $texts;
code {
font-size: rem(15px);
background: #282a36;
color: #fff;
word-wrap: break-word;
padding: rem(3px) rem(5px);
border-radius: 3px;
@include media(">=sm") {
font-size: rem(17px);
}
}
}
li {
padding: rem(10px) 0;
ul {
margin-bottom: 0;
}
p {
margin-bottom: 0;
margin-top: 0;
}
}
a {
color: $themeColor;
text-decoration: none;
&:hover {
color: #a9a9a9;
}
}
iframe {
margin-top: rem(30px);
width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
@include mainFont(700);
margin-top: 0;
padding-top: rem(50px);
@include media(">=sm") {
margin-top: 0;
padding-top: rem(60px);
}
}
h1 {
font-size: rem(36px);
line-height: 1.4;
@include media(">=sm") {
font-size: rem(50px);
}
}
h2 {
font-size: rem(28px);
line-height: 1.4;
@include media(">=sm") {
font-size: rem(37px);
}
}
h3 {
font-size: rem(22px);
line-height: 1.4;
@include media(">=sm") {
font-size: rem(27px);
}
}
ul,
ol {
padding-left: rem(60px);
}
ul.post-list {
padding: 0 rem(20px);
@include media(">=sm") {
padding: 0;
}
}
blockquote {
@include center(rem(730px));
border-left: rem(5px) solid $texts;
padding: 0 rem(10px);
margin: rem(30px) auto;
width: 90%;
@include media(">=sm") {
width: 100%;
margin: rem(50px) auto;
padding: 0 rem(30px);
}
p {
font-size: rem(17px);
color: rgba(0, 0, 0, 0.6);
margin: 0;
@include media(">=sm") {
font-size: rem(20px);
}
}
}
hr {
@include center(rem(760px));
border: 1px solid $lightGray;
margin: 50px auto;
}
pre {
overflow-x: auto;
}
table {
@include mainFont(400);
font-size: rem(17px);
line-height: rem(35px);
letter-spacing: 0.025rem;
margin: rem(50px) auto;
border-collapse: collapse;
@include media(">=sm") {
font-size: rem(20px);
}
th,
td {
border: rem(1px) solid #ccc;
padding: rem(5px) rem(10px);
@include media(">=sm") {
border: rem(2px) solid #ccc;
padding: rem(10px) rem(20px);
}
}
}
td > pre {
padding: 0;
margin: 0;
}
td.gutter.gl {
padding-right: rem(25px);
line-height: rem(24px);
}
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
.anchor {
display: none;
height: rem(16px);
left: 0;
margin-top: rem(30px);
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: rem(16px);
@include media(">=sm") {
display: block;
opacity: 0;
}
img {
padding: 0;
}
}
&:hover .anchor,
.anchor:hover {
opacity: 1;
}
}
}
/* See also */
.see-also {
padding: 0 rem(20px);
@include media(">=sm") {
flex-basis: 30%;
padding: 0 rem(10px);
}
h2 {
font-size: rem(24px);
font-weight: bold;
border-bottom: 1px solid $lightGray;
padding: rem(10px) 0;
@include media(">=sm") {
padding: rem(48px) 0 rem(20px);
}
}
ul {
margin: 0;
padding: 0;
list-style: none;
li {
img {
display: block;
max-width: 100%;
height: auto;
transition: all 0.2s ease-in-out;
}
a {
font-weight: normal;
color: $primaryDark;
text-decoration: none;
transition: all 0.3s;
&:hover {
color: rgba(0, 0, 0, 0.5);
img {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
}
}
}
}
}
/* Progress bar */
.progress-bar {
display: flex;
align-items: center;
width: 100%;
height: 38px;
padding: rem(30px) 0;
border-bottom: 1px solid $themeColor;
background-color: #fff;
transition: bottom 0.5s;
.bar {
position: relative;
flex: 1;
height: rem(10px);
background-color: $themeColor;
opacity: 0.2;
}
.completed {
opacity: 1;
&:last-child {
border-right: 1px solid #fff;
}
}
.star {
position: relative;
width: rem(40px);
height: rem(40px);
animation: 1s pulse cubic-bezier(0.36, 0.07, 0.19, 0.97) alternate infinite;
}
&.finished {
.star {
animation: none;
transform: scale(1.3);
}
}
}
/* Time bar */
.time-bar {
position: fixed;
left: 0;
right: 0;
bottom: -100%;
display: block;
width: 100%;
padding: rem(10px) rem(20px) rem(5px);
transition: bottom 0.5s;
background-color: rgba(0, 0, 0, 0.85);
@include media(">=sm") {
padding: rem(16px) rem(20px) rem(9px);
}
.bar {
display: block;
width: 100%;
padding: rem(8px) rem(60px);
&:after {
clear: both;
display: block;
content: "";
}
}
.completed {
float: left;
display: block;
height: rem(5px);
background-color: $themeColor;
}
.remaining {
float: left;
display: block;
height: rem(5px);
background-color: #ccc;
}
.time-completed,
.time-remaining {
@include mainFont(400);
font-size: rem(18px);
color: #fff;
}
.time-completed {
float: left;
}
.time-remaining {
float: right;
}
}
/* Recommendation */
.recommendation {
@include mainFont(400);
position: fixed;
left: 0;
right: 0;
bottom: -100%;
display: block;
width: 100%;
padding: rem(10px);
transition: bottom 0.5s;
background-color: rgba(0, 0, 0, 0.85);
display: flex;
justify-content: space-between;
@include media(">=sm") {
padding: rem(15px);
}
.message {
display: flex;
flex-direction: column;
justify-content: space-between;
font-size: rem(16px);
color: #fff;
padding-right: rem(20px);
@include media(">=sm") {
font-size: rem(20px);
}
strong {
display: block;
margin: rem(10px) 0;
}
button {
background-color: transparent;
border: 0;
color: #fff;
cursor: pointer;
display: inline-block;
font-size: rem(13px);
text-decoration: none;
outline: 0;
@include media(">=sm") {
font-size: rem(15px);
}
}
svg {
fill: #fff;
width: rem(22px);
height: rem(22px);
transform: rotate(-90deg);
border: 1px solid #fff;
border-radius: 50%;
padding: 5px;
margin-right: 10px;
vertical-align: middle;
@include media(">=sm") {
width: rem(28px);
height: rem(28px);
}
}
span {
vertical-align: middle;
}
}
.post-preview {
display: flex;
align-items: center;
flex-direction: column;
background-color: #000;
padding: rem(5px);
max-width: 35%;
text-decoration: none;
@include media(">=sm") {
flex-direction: row;
padding: rem(5px) rem(50px) rem(5px) rem(5px);
max-width: 50%;
}
&:hover {
.title {
color: rgba(255, 255, 255, 0.5);
}
.image > img {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
}
.image,
.image > img {
display: block;
width: 100%;
max-width: rem(200px);
transition: all 0.3s;
}
.title {
font-size: rem(16px);
color: #fff;
margin: rem(5px) 0;
transition: all 0.3s;
@include media(">=sm") {
font-size: rem(23px);
margin: 0 0 0 rem(20px);
}
}
}
}
.icon-clock,
.icon-calendar {
width: rem(14px);
height: rem(14px);
fill: darken($lightGray, 30%);
vertical-align: middle;
margin-right: rem(3px);
}
/* Tags */
.post-content {
.tags {
@include center(rem(800px));
@include mainFont(400);
font-size: rem(18px);
margin: 0 auto rem(29px);
margin-top: rem(30px);
letter-spacing: 0.025rem;
line-height: rem(40px);
padding: 0 rem(10px);
@include media(">=sm") {
font-size: rem(20px);
padding: 0;
}
a {
font-size: rem(14px);
color: $primaryDark;
display: inline-block;
border: 1px solid $primaryDark;
border-radius: rem(20px);
padding: 0 rem(10px);
margin-right: rem(2px);
margin-bottom: rem(8px);
text-decoration: none;
@include media(">=sm") {
border-width: 2px;
}
&:hover {
color: $accentDark;
background-color: $primaryDark;
}
}
}
.tag-title {
@include mainFont(300);
@include center(rem(800px));
font-size: rem(30px);
margin-top: rem(20px);
padding: 0 rem(10px);
span {
padding: rem(3px) rem(10px);
background-color: $themeColor;
border-radius: rem(5px);
color: #fff;
}
@include media(">=sm") {
font-size: rem(22px);
margin-top: rem(80px);
padding: 0;
}
}
a.post-anchor {
display: block;
height: rem(40px);
@include media(">=sm") {
height: rem(10px);
}
}
ul.post-list {
list-style: none;
margin: rem(25px) auto 0;
padding: 0 rem(10px);
@include media(">=sm") {
padding: 0;
}
a {
display: flex;
justify-content: space-between;
border-bottom: 1px solid darken($lightGray, 10%);
padding: rem(10px) 0;
text-decoration: none;
font-size: rem(18px);
}
.entry-date {
float: right;
@include media("<sm") {
display: none;
}
}
}
}