deblan.io-murph/assets/css/app.scss
Simon Vieille c8d99da2c2
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/deployment/deploy Pipeline was successful
change h1 font
2024-04-18 22:48:19 +02:00

1384 lines
22 KiB
SCSS

@tailwind base;
@tailwind components;
@tailwind utilities;
@import "app/config";
@import 'app/prism';
@import "app/typo";
@import "~tingle.js/src/tingle.css";
@font-face {
font-family: "MainFont";
src:
url('../fonts/ubuntu/ubuntu-light.woff2?20211108') format('woff2'),
url('../fonts/ubuntu/ubuntu-light.woff?20211108') format('woff');
// url('../fonts/atkinson/WOFF2/Atkinson-Hyperlegible-Regular-102a.woff2?20220911') format('woff2'),
// url('../fonts/atkinson/WOFF/Atkinson-Hyperlegible-Regular-102.woff?20211108w20220911') format('woff');
}
@font-face {
font-family: "deblan-icon";
src: url('../fonts/deblan/deblan-icon.eot?20211108');
src:
url('../fonts/deblan/deblan-icon.woff2?20211108') format('woff2'),
url('../fonts/deblan/deblan-icon.woff?20211108') format('woff'),
url('../fonts/deblan/deblan-icon.ttf?20211108') format('truetype');
font-style: normal;
font-weight: normal;
text-rendering: optimizeLegibility;
}
@mixin make-pre {
padding: 10px 1em;
border: 1px solid $color-code-border;
overflow: auto;
background: $color-code-background;
color: $color-code-text;
font-size: 1em;
box-shadow: 1px 1px .5em black inset;
border-radius: 15px;
}
@mixin make-pre-code {
color: $color-code-text;
display: inline-block;
max-width: 100%;
}
html, body {
scroll-behavior: smooth;
}
body {
// font-size: 1.7em;
}
$dicons: coffee server search project share contact list response twitter diaspora github code rss linkedin mastodon pixelfed gpg matrix murph cube link;
.d-none {
display: none;
}
.text-right {
text-align: right;
}
.list--inline {
li {
display: inline-block;
}
}
.deblan-icon {
font-family: 'deblan-icon';
vertical-align: middle;
@each $dicon in $dicons {
&-#{$dicon}::before {
content: "#{$dicon}";
}
}
}
.deblan-icon-svg svg {
vertical-align: middle;
margin-top: -4px;
margin-right: 3px;
}
.button .deblan-icon {
margin-right: 5px;
margin-left: -3px;
}
li, p {
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
-o-hyphens: auto;
hyphens: auto;
}
code mark {
color: inherit;
background: $color-code-mark-background;
}
a:focus .logo-svg * {
fill: $color-grey;
}
pre[class*="language-"] {
border-radius: 15px !important;
&.with-title {
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
}
}
.blog {
min-height: 100vh;
background: $color-white;
font-family: "MainFont";
}
// .form .field {
// input[type=text],
// input[type=email],
// input[type=url],
// textarea {
// border-radius: 10px;
// }
//
.tingle-modal-box--mesh {
.tingle-modal-box__content {
padding: 0;
line-height: 0;
iframe {
margin: 0;
padding: 0;
height: 90vh;
width: 100%;
}
}
}
.captcha_image {
margin-bottom: 5px;
}
.captcha_reload {
width: 50px !important;
padding-left: 50px;
height: 50px;
overflow: hidden;
display: inline-block;
margin-bottom: -19px;i
&:active, &:focus {
background: none;
}
&::after {
content: ' ';
display: block;
width: 50px;
height: 50px;
margin-left: -50px;
margin-top: -23px;
background: url(../images/Refresh_icon.svg);
}
}
//
// &-captcha {
// label {
// display: block;
// }
//
// img {
// vertical-align: middle;
// margin-right: 5px;
// border-radius: 10px;
// width: auto;
// }
//
// input {
// display: inline-block;
// width: 100px !important;
// height: 50px !important;
// margin-bottom: -1px;
// margin-left: 5px;
// }
//
// .form-error-icon {
// display: none;
// }
//
// .form-error-message {
// display: block;
// color: red;
// }
// }
// }
// .button, .btn, input[type="submit"], input[type="button"] {
// border-radius: 10px;
// }
.no-margin {
margin: 0;
}
.avatar {
width: 50%;
}
.navigation {
font-size: 15px;
margin-top: 15px;
.deblan-icon {
margin-right: 13px;
color: $color-very-light-grey;
background: darken($color-navigation-item-background, 3%);
border-radius: 6px;
padding: 5px;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
padding: 0;
}
a {
color: $color-white;
display: block;
padding: 12px 15px;
&:hover, &.active, &:focus {
background: $color-navigation-item-background-active;
.deblan-icon {
background: $color-navigation-item-background-active;
}
}
}
}
.small-menu {
$radius: 8px;
background: $color-small-menu-background;
padding: 0 0 5px 0;
position: fixed;
bottom: 0;
width: 100%;
z-index: 2000;
border-top-right-radius: $radius + 5;
border-top-left-radius: $radius + 5;
.navigation {
padding-top: 0;
margin-bottom: 10px;
margin-top: 0;
max-height: 0;
overflow: hidden;
transition: max-height 0.8s ease-in-out;
li {
&:first-child, &:first-child a {
border-top-right-radius: $radius;
border-top-left-radius: $radius;
}
}
}
&.is-open .navigation {
max-height: 800px;
transition: max-height 0.8s ease-in-out;
}
.logo-svg {
margin-left: 10px;
margin-top: 13px;
}
}
.wide-menu {
width: 230px;
background: linear-gradient(to bottom, $color-wide-menu-background-from 0%, $color-wide-menu-background-to 500px);
padding: 10px 0;
min-height: calc(100vh - 130px);
}
@keyframes gradientBackground {
0% {
background-position: 0 0%;
}
50% {
background-position: 0 75%;
}
100% {
background-position: 0 0%;
}
}
.header {
background: linear-gradient(45deg, $color-header-background-step0 0%, $color-header-background-step1 29%, $color-header-background-step2 66%, $color-header-background-step3 100%);
background-size: 400% 400%;
animation: HeaderGradient 15s ease infinite;
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: space-evenly;
overflow: hidden;
position: relative;
text-shadow: 0px 0px 6px #274298;
}
.header-wrapper {
max-width: $content-max-width;
padding: 30px 40px;
margin: auto;
text-align: center;
z-index: 1000;
p, ul {
background: rgba(255, 255, 255, 0.7);
padding: 7px 15px;
border-radius: 20px;
text-shadow: none;
color: #333;
display: inline-block;
margin: auto;
}
}
.header-shadow {
width: 100%;
height: 10px;
background: rgb(0, 0, 0);
background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(255,255,255,0) 100%);
}
@keyframes HeaderGradient {
0% {
background-position: 0 50%
}
50% {
background-position: 100% 50%
}
100% {
background-position: 0 50%
}
}
@keyframes HeaderMorph {
0% {
border-radius: 40% 60% 60% 40% / 70% 30% 70% 30%;
}
100% {
border-radius: 40% 60%;
}
}
.fixed-menu {
position: fixed;
width: 230px;
}
.content {
background: $color-content-background;
width: calc(100% - 230px);
> .content-wrapper {
min-height: calc(100vh - 105px);
}
img {
display: inline;
height: inherit;
width: inherit;
}
}
.header {
color: $color-header-text;
p, h1, ul {
position: relative !important;
z-index: 1000;
}
#particles {
width: 100%;
top: 0;
overflow: hidden;
position: absolute;
z-index: 50;
}
.h1 {
font-weight: normal;
font-size: 40px;
font-family: MainFont;
text-shadow: none;
color: hsla(0, 0%, 100%, 0.7);
}
.h3 {
font-size: 17px;
font-weight: normal;
}
a {
// color: $color-header-text !important;
color: #222;
font-weight: bold;
&:focus {
// color: $color-blue !important;
// background: $color-white;
text-decoration: underline;
}
}
li {
padding-left: 5px;
padding-right: 5px;
}
}
.body {
padding: 25px 40px;
max-width: $content-max-width;
width: 100%;
&.body--posts {
padding-top: 0;
padding-bottom: 0;
}
margin-left: auto;
margin-right: auto;
iframe {
margin-bottom: 25px;
border: none;
}
img {
width: inherit;
cursor: zoom-in;
}
a > img {
cursor: pointer;
}
a:not(.button), h1, h2, h3, h4, h5, p, ul:not(.btn-group) {
color: $color-body-text;
}
ul.btn-group a {
color: #fff;
}
p a:not(.btn), ul:not(.btn-group) a:not(.btn) {
background: url('../images/link.svg') bottom left repeat-x;
padding-bottom: 5px;
}
.pager a {
border-bottom: 0;
}
blockquote {
border-left: 2px solid $color-blockquote-border;
margin: 10px;
padding: 5px 20px;
p {
margin: 0;
padding: 0;
}
}
code {
color: $code-color;
font-size: 1.1em;
}
pre {
@include make-pre;
code {
@include make-pre-code;
}
&.with-title {
margin-top: 0;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
&[class*="language-"] {
padding-bottom: 10px;
padding-top: 10px;
border: 1px solid $color-code-border;
// overflow: hidden;
//
// &:hover {
// overflow: auto;
// }
}
}
}
.post-author-wrapper {
.post-author-avatar {
vertical-align: top;
width: 100px;
padding: 10px;
display: inline-block;
}
.post-author {
display: inline-block;
width: calc(100% - 100px);
padding: 10px 10px 10px 30px;
}
@media screen and (max-width: 774px) {
.post-author-avatar {
display: block;
margin: auto;
}
.post-author {
display: block;
width: 100%;
padding-right: 20px;
}
}
}
.content hr, .content .hr {
border: 0;
border-bottom: 1px dashed $color-hr-border;
background: $color-hr-background;
max-width: 300px;
margin: 20px auto;
}
.reviews {
padding: 0 40px;
max-width: $content-max-width;
margin-left: auto;
margin-right: auto;
hr:first-child {
margin-bottom: 30px;
}
blockquote {
border-left: 2px solid $color-blockquote-border;
margin: 10px;
padding: 5px 20px;
p {
margin: 0;
padding: 0;
}
}
}
.review-body {
code {
color: $code-color;
}
pre {
@include make-pre;
code {
@include make-pre-code;
}
}
img {
width: auto;
}
*:first-child {
margin-top: 0;
}
}
@for $i from 1 through 6 {
.review.offset-#{$i} {
margin-left: 5% * $i - 1%;
width: 100% - ($i * 5%);
}
}
.review {
width: 100%;
max-width: calc($content-max-width - 60px - 2rem);
overflow: auto;
.review-avatar, .review-avatar img {
width: 60px;
max-width: 60px;
}
&.review--post {
padding-top: 15px;
padding-left: 15px;
padding-right: 15px;
margin-bottom: 15px;
border-radius: 10px;
border: 1px solid $color-hr-border;
.review-content p {
margin-top: 0;
}
> ul {
padding-bottom: 0;
}
}
.review-content {
display: inline-block;
width: calc(100% - 75px);
}
ul {
margin: 0;
padding: 0 0 25px 0;
}
a svg {
display: inline-block;
height: 21px;
width: 15px;
vertical-align: middle;
margin-right: 3px;
}
.review-header {
border-bottom: 1px solid $color-very-light-grey;
padding-bottom: 5px;
margin-bottom: 5px;
color: $color-dark-grey;
.review-anchor-link {
color: $color-dark-grey;
}
}
.review-body {
color: $color-dark-grey;
margin-bottom: 10px;
ul {
margin: 0 !important;
padding: 0 0 10px 10px !important;
}
li {
list-style: disc;
margin: 0 0 0 15px;
padding: 0;
}
}
}
.code-title {
background: $color-code-title-background;
padding: 0 15px;
color: $color-code-title-text;
line-height: 50px;
border-top-left-radius: 1rem;
border-top-right-radius: 1rem;
}
.code-window {
height: 50px;
background: $color-code-title-background url('../images/window.svg') no-repeat center right;
padding-left: 15px;
font-family: Monospace;
color: #ccc;
line-height: 50px;
border-top-left-radius: 1rem;
border-top-right-radius: 1rem;
}
.body-content {
line-height: 30px;
ul {
list-style: initial;
}
}
.quick {
$image-size: 250px;
.ejs-link--anchor--with-image .ejs-link-content {
width: calc(100% - $image-size - 5px);
}
.ejs-link--image {
width: $image-size;
height: $image-size;
}
&-image {
img {
width: 100%;
height: 450px;
background-position: center center;
background: #f2f2f2 url('../images/quick-post-load.png') no-repeat center center;
// border: 2px solid $color-very-light-grey;
border-bottom: 0;
cursor: pointer;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
}
&-video {
.video-ratio {
// border: 2px solid $color-very-light-grey;
// border-bottom: 0;
// border-top-left-radius: 5px;
// border-top-right-radius: 5px;
iframe {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
}
}
&-more {
margin-bottom: 15px;
}
&-body {
word-break: break-all;
}
}
.video-ratio {
position: relative;
width: 100%;
height: 0;
iframe {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
}
.error_list {
color: $color-red !important;
padding: 4px 0 !important;
}
.post-author {
p:not(:last-child) {
margin-bottom: 20px;
}
}
.content-footer {
font-size: 14px;
background: darken($color-dark-grey, 10%);
text-align: center;
border-top: 1px dotted $color-very-dark-grey;
color: $color-white;
padding-top: 20px;
padding-bottom: 20px;
a {
font-weight: bold;
color: $color-white;
}
ul {
margin: 0;
padding: 0 0 10px 0;
}
li {
padding: 0;
margin: 0;
&::after {
content: '-';
margin: 0 5px;
}
&:last-child::after {
display: none;
}
}
p {
margin-bottom: 0;
margin-top: 10px;
padding: 0;
}
}
.links {
margin: 0;
padding: 15px 0 0 0;
text-align: center;
.link:first-child a, .link:first-child {
border-bottom-left-radius: 7px;
border-top-left-radius: 7px;
}
.link:last-child a, .link:last-child {
border-bottom-right-radius: 7px;
border-top-right-radius: 7px;
}
}
.link {
margin: 0 1px;
display: inline-block;
text-decoration: none;
a {
display: block;
font-size: 17px;
padding-top: 1px;
padding-right: 0px;
height: 25px;
width: 25px;
overflow: hidden;
color: $color-white;
text-decoration: none;
span {
display: none;
}
}
}
.links a:focus, .wide-menu a:focus .fixed {
border: 1px solid $color-white;
}
$links: (
twitter: #20b8ff,
rss: #fd9f13,
linkedin: #006699,
diaspora: #90b92e,
github: #8cc345,
code: #51d066,
mastodon: #2984d2,
pixelfed: #e72151,
matrix: #1a588a,
gpg: #42a73b,
murph: #19b4db
);
@each $site, $bg in $links {
.link-#{$site} {
background-color: $bg;
&:hover a, &:focus a, a:focus, a:hover {
color: $color-very-light-grey;
}
}
}
.preview-button {
cursor: pointer;
margin-left: 3px;
}
.content-footer, .body, .review, form {
a:focus {
background: $color-blue;
color: $color-white;
}
}
.button {
&:focus {
background: $color-very-dark-grey;
}
&.alt {
color: #444;
}
}
// .button, .btn, input[type="submit"], input[type="button"] {
// background: $color-blue;
// }
//
// .button:hover, .btn:hover, input:hover[type="submit"], input:hover[type="button"] {
// background: $color-blue2;
// }
//
// .button:focus, .btn:focus, input:focus[type="submit"], input:focus[type="button"] {
// background: $color-blue2;
// }
//
// .pager {
// padding: 20px 20px 0 20px;
// text-align: center;
//
// .pager-page {
// padding: 0 2px 2px 2px;
//
// &.active {
// .button {
// color: #000;
// font-weight: bold;
// }
// }
// }
//
// .button {
// padding: 8px;
// }
// }
.pager {
text-align: center;
.btn-md {
padding-left: 0;
padding-right: 0;
a {
display: block;
padding-left: 1rem;
padding-right: 1rem;
line-height: 3rem;
}
}
}
.card {
transition: transform .2s;
&:hover {
transform: scale(1.02);
}
figure {
a {
display: block;
width: 100%;
}
img {
height: 200px;
width: 100%;
}
}
}
@keyframes bounceIn {
0%{
opacity: 0;
}
50%{
opacity: 0.9;
}
80%{
opacity: 1;
}
100%{
opacity: 1;
}
}
@keyframes knmc {
0%{
left: -256px;;
}
100%{
left: 150vw;
}
}
.knmc {
animation-name: knmc;
animation-duration: 15s;
animation-iteration-count: 1;
}
.logo-svg {
animation-name: bounceIn;
animation-duration: 1s;
}
.logo-svg {
animation-name: bounceIn;
animation-duration: 1s;
}
.modal-open {
overflow: hidden;
.modal {
overflow-x: hidden;
overflow-y: auto;
}
}
.modal-mesh {
iframe {
margin: 0;
padding: 0;
height: 80vh;
width: 100%;
}
}
// .card {
// border: 1px solid $color-hr-border;
// border-radius: 10px;
// margin: 20px;
//
// &-preview {
// img {
// border-top-left-radius: 10px;
// border-top-right-radius: 10px;
// width: 100%;
// }
// }
//
// &-title {
// font-size: 20px;
// padding: 10px;
// color: $color-body-text;
// }
//
// &-description {
// padding-left: 10px;
// padding-right: 10px;
// }
//
// &-file {
// ul {
// margin-top: 0;
// }
//
// li {
// padding-left: 0;
// }
// }
//
// .button {
// margin-top: 4px;
// }
// }
//
//
// .cards {
// padding: 0 20px 20px 20px;
//
// &--posts {
// padding-left: 0;
// padding-right: 0;
//
// .card-preview {
// img {
// max-height: 200px;
// width: 100%;
// }
// }
//
// .row > .col-4:nth-child(1) .{card {
// margin-left: 0;
// }
//
// .row > .col-4:nth-child(3) .card {
// margin-right: 0;
// }
// }
// }
.ejs-link {
margin: 10px auto;
width: 80%;
margin-bottom: 20px;
&--anchor {
display: block;
width: 100%;
padding: 30px;
}
&-content {
display: inline-block;
vertical-align: top;
word-break: break-all;
&--title {
font-weight: bold;
}
&--description {
font-size: 15px;
}
&--link {
padding-top: 10px;
font-size: 14px;
line-height: 20px;
.deblan-icon {
margin-right: 10px;
}
}
ul {
list-style: initial;
}
}
$image-size: 85px;
&--anchor--with-image &-content {
width: calc(100% - $image-size - 5px);
padding-right: 55px;
}
&--image {
display: inline-block;
width: $image-size;
height: $image-size;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
.quick-more {
margin-top: -20px;
margin-left: 30px;
}
}
.menu-opener {
background-color: transparent;
border: none;
cursor: pointer;
display: flex;
padding: 0;
width: 50px;
float: right;
.line {
fill: none;
stroke: $color-white;
stroke-width: 6;
transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.line1 {
stroke-dasharray: 60 207;
stroke-width: 6;
}
.line2 {
stroke-dasharray: 60 60;
stroke-width: 6;
}
.line3 {
stroke-dasharray: 60 207;
stroke-width: 6;
}
&.is-open .line1 {
stroke-dasharray: 90 207;
stroke-dashoffset: -134;
stroke-width: 6;
}
&.is-open .line2 {
stroke-dasharray: 1 60;
stroke-dashoffset: -30;
stroke-width: 6;
}
&.is-open .line3 {
stroke-dasharray: 90 207;
stroke-dashoffset: -134;
stroke-width: 6;
}
}
@media screen and (max-width: 1280px) {
.card-wrapper {
width: 100%;
}
.cards--posts .card {
margin-left: 0;
margin-right: 0;
}
}
@media screen and (max-width: 980px) {
.quick-image img {
height: 200px;
}
.ejs-link {
width: auto;
&-content {
display: block;
width: 100% !important;
padding-right: 0 !important;
}
&--image {
display: block;
margin: 30px auto 0 auto;
width: 120px;
height: 120px;
}
}
}
@media screen and (max-width: 719px) {
.content-footer {
margin-bottom: 40px;
}
}
@media screen and (max-width: 550px) {
.body {
padding: 10px 10px 20px 10px;
}
.reviews {
padding: 10px 10px 20px 10px;
}
.cards {
padding: 0;
}
}
@media screen and (max-width: 967px) {
.content {
width: 100%;
}
.review {
.review-avatar {
display: none;
}
.review-content {
width: 100%;
margin: 0;
}
}
}
@media screen and (max-width: 380px) {
.navigation {
a {
padding: 7px 10px;
}
}
.small-menu {
img {
width: 20px;
margin-top: 11px;
padding: 0;
}
}
}
.bg-box {
background: #f1f1f1;
}
.invalid-feedback {
color: red;
padding-left: 10px;
padding-right: 10px;
.form-error-icon {
display: none;
}
}
@media (prefers-color-scheme: dark) {
.bg-box {
background: #343c53;
}
.body, .review .review-body {
color: #fff !important;
a:not(.button), h1, h2, h3, h4, h5, p, ul, div {
color: #fff !important;
}
p a, ul a {
/* border-bottom: 2px dotted $color-blue2; */
}
blockquote {
border-left: 2px solid $color-blockquote-border;
}
code {
color: $code-color;
}
}
.content {
background: #242b3d;
}
.content hr, .content .hr {
background: none;
border-color: darken($color-wide-menu-background-to, 10%) !important;
}
.header-shadow {
background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(255,255,255,0) 100%);
}
}
@media all and (max-height: 600px) {
.wide-menu {
.navigation {
max-height: calc(100vh - 215px);
padding-top: 10px;
overflow: auto;
}
}
}
.deprecated {
color: #fff;
background: #3abff8;
padding: 1rem;
border-radius: var(--rounded-box, 1rem);
text-align: center;
svg {
display: inline-block;
height: 25px;
vertical-align: top;
margin-right: 8px;
}
}