Files
dis-2019/sass/base.scss
2019-06-17 19:27:21 +02:00

1277 lines
29 KiB
SCSS

@import "font-mixins";
/*------------------------------------*\
MAIN
\*------------------------------------*/
/* global box-sizing */
*,
*:after,
*:before {
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
font-size: 62.5%;
}
body {
font: 300 14px/1.4 "Westeinde Caption", "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #000;
}
/* clear */
.clear:before,
.clear:after {
content: " ";
display: table;
}
.clear:after {
clear: both;
}
.clear {
*zoom: 1;
}
img {
max-width: 100%;
vertical-align: bottom;
}
a {
color: #000;
text-decoration: none;
cursor: pointer;
&:hover {
color: #000;
}
&:focus,
&:hover,
&:active {
outline: 0;
}
}
input:focus {
outline: 0;
border: 1px solid #888;
}
input::selection {
color: #888;
background-color: #aaa;
}
button {
background: transparent;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding: 0;
border: 0;
&:focus {
outline: none;
}
}
object {
pointer-events: none;
}
/* -------------------------------------------------------------------------- */
/* GLOBAL VARIABLES */
/* -------------------------------------------------------------------------- */
$smalldesktop: only screen and
(
min-width: 769px
);
$mobile-landscape: only screen and
(
min-width: 769px
)
and (-webkit-min-device-pixel-ratio: 2.1);
$bigdesktop: only screen and
(
min-width: 1281px
);
//Horizontal units:
$h-unit-2: 10rem; // menuwidth on desktop
$h-unit-1: 5rem;
//vertical units:
$v-unit-1: 4rem;
/* -------------------------------------------------------------------------- */
/* other mixins */
/* -------------------------------------------------------------------------- */
@mixin transition($transition) {
-webkit-transition: $transition;
-moz-transition: $transition;
-o-transition: $transition;
transition: $transition;
}
@mixin transform($transforms) {
-moz-transform: $transforms;
-o-transform: $transforms;
-ms-transform: $transforms;
-webkit-transform: $transforms;
transform: $transforms;
}
@mixin rotated-text($num-letters: 100, $angle-span: 180deg, $angle-offset: 0deg) {
$angle-per-char: $angle-span / $num-letters;
@for $i from 1 through $num-letters {
&.char#{$i} {
@include transform(rotate($angle-offset + $angle-per-char * $i));
}
}
}
@mixin box-shadow($a...) {
-moz-box-shadow: $a;
-webkit-box-shadow: $a;
box-shadow: $a;
}
@mixin trianglecorner($side, $size) {
content: "";
display: block;
position: absolute;
background-color: transparent;
width: 0;
height: 0;
@if $side==topleft {
left: -$size;
top: -$size;
border-top: $size solid transparent;
border-left: $size solid transparent;
border-right: $size solid transparent;
border-bottom: $size solid #fff;
}
@if $side==bottomleft {
left: -$size;
bottom: -$size;
border-bottom: $size solid transparent;
border-left: $size solid transparent;
border-right: $size solid transparent;
border-top: $size solid #fff;
}
@if $side==topright {
right: -$size;
top: -$size;
border-top: $size solid transparent;
border-left: $size solid transparent;
border-right: $size solid transparent;
border-bottom: $size solid #fff;
}
position: absolute;
z-index: -1;
}
@mixin triangle-corner-bordered($radius, $left, $bgcolor) {
&::after {
//for border without corner
position: absolute;
content: "";
display: block;
top: 0;
border: none;
@if $left==0 {
width: calc(100% - #{$radius});
} @else {
width: calc(100% - #{$radius} + #{$left});
}
border-top: #000 1px solid;
left: calc(#{$radius});
background-color: $bgcolor;
margin-left: -#{$left};
}
&::before {
//filleted corner
display: block;
content: "";
position: absolute;
width: calc(#{$radius});
height: calc(#{$radius});
top: 0;
left: -#{$left};
border-left: #000 solid 1px;
// border-top: #000 1px solid;
@include transform(skewX(-45deg));
transform-origin: left bottom;
background-color: $bgcolor;
z-index: 9;
}
}
/* -------------------------------------------------------------------------- */
/* STRUCTURE */
/* -------------------------------------------------------------------------- */
/* wrapper */
.wrapper {
margin: 0 auto;
position: relative;
width: 100vw;
height: 100vh;
/* -------------------------------------------------------------------------- */
/* header */
/* -------------------------------------------------------------------------- */
.header {
position: fixed;
top: 0;
width: 100vw;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
z-index: 3;
@media #{$smalldesktop} {
height: 0;
position: relative;
width: 0;
&::before {
display: none;
}
}
.header-1,
.header-2 {
display: flex;
flex-direction: row;
align-items: center;
@media #{$smalldesktop} {
width: $h-unit-2;
position: fixed;
top: 0;
height: 100vh;
flex-direction: column;
flex: 0 0 auto !important;
//filter: invert(100);
padding: 2rem !important;
justify-content: space-between !important;
align-content: space-between;
z-index: 3100;
background: #fff;
& > div:not(#sidebar) {
filter: invert(100);
}
}
div {
z-index: 3500;
}
a {
display: inline-block;
}
}
.header-1 {
justify-content: space-between;
flex: 1 1 auto;
padding: 2rem 0 2rem 2rem;
@media #{$smalldesktop} {
border-right: #000 1px solid;
}
}
.header-2 {
justify-content: flex-end;
flex: 0 1 auto;
padding: 2rem 2rem 2rem 0;
@media #{$smalldesktop} {
order: 99;
border-left: #000 1px solid;
right: 0;
}
}
.totop {
position: fixed;
bottom: 1rem;
right: 1rem;
z-index: 2;
@media #{$smalldesktop} {
display: none;
}
a {
display: inline-block;
object {
height: 2rem;
// color: #000;
// fill: currentColor;
filter: invert(100%); //black
@include transform(rotate(180deg)) // transform: rotate(180deg);;;;;;;;;;;;;;;;;;;;
}
}
}
object {
height: 3rem;
}
/* -------------------------------------------------------------------------- */
/* header elements */
/* -------------------------------------------------------------------------- */
@media #{$smalldesktop} {
.header-1 > div,
.header-2 > div {
flex: 0 0 $h-unit-1 !important;
}
}
.logo {
object {
height: $h-unit-1;
}
}
.events-link {
display: none;
@media #{$smalldesktop} {
display: block;
}
}
.menubutton {
$speed: 0.5s;
$degree: 225deg;
$easing: linear;
order: 99;
z-index: 3001;
@media #{$smalldesktop} {
}
button {
transform-origin: center;
@include transition($speed $easing);
&.rotated {
@include transform(rotate($degree));
@media #{$smalldesktop} {
filter: invert(100);
}
}
}
@media #{$smalldesktop} {
order: unset;
}
}
.social-link {
margin: 0 2rem 0 0;
&.hidden {
display: none !important;
}
@media #{$smalldesktop} {
margin: 0;
}
}
/* ========================================================================== */
/* SEARCH */
/* ========================================================================== */
.search-box {
display: none;
@media #{$smalldesktop} {
display: block;
flex: 1 1 0 !important;
}
}
.search-bar {
@media #{$smalldesktop} {
display: none;
position: absolute;
width: 0;
left: 7rem;
top: 0;
}
form.search {
display: flex;
flex-direction: row;
border-bottom: #fff 1px solid;
@media #{$smalldesktop} {
}
input {
@include menutext();
background-color: #000;
padding: 0;
border: none;
caret-color: #fff;
flex: 1 1 auto;
width: 1rem;
}
button {
flex: 0 0 auto;
@media #{$smalldesktop} {
display: none;
}
}
}
} //search-bar end
.header-scroll {
display: none;
}
/* ========================================================================== */
/* MENUS */
/* ========================================================================== */
#sidebar {
padding-top: 9rem !important;
background-color: #000;
@media #{$smalldesktop} {
padding: 0 !important;
}
.sidebar-wrapper {
position: relative;
height: 100%;
overflow: auto;
padding: 0 $v-unit-1;
@media #{$smalldesktop} {
padding: $v-unit-1;
}
ul {
margin-block-start: 0;
margin-block-end: 0;
margin-inline-start: 0;
margin-inline-end: 0px;
padding-inline-start: 0;
@media #{$smalldesktop} {
display: flex;
flex-direction: column;
flex-wrap: wrap;
height: 100%;
justify-content: space-evenly;
}
}
li {
display: block;
padding-top: 2rem;
@media #{$smalldesktop} {
width: 50%;
padding: 3rem 0;
}
a {
@include menutext();
}
}
}
}
/* ------------------------------- bedo circle ------------------------------ */
#tag-nav {
display: none;
position: fixed;
right: calc(#{$h-unit-2}* 2);
top: calc(#{$v-unit-1}/ 2);
z-index: 1000;
@media #{$smalldesktop} {
display: block;
}
ul {
padding: 0;
margin: 0;
@include bedocircle();
li {
display: inline;
a {
span {
height: calc(#{$v-unit-1}/ 2);
position: absolute;
// width: 20px;
left: 0;
top: 0;
transform-origin: bottom center;
@include bedocircle();
@include rotated-text(17, 360deg, 0deg);
}
}
}
}
}
} //header end
/* -------------------------------------------------------------------------- */
/* STRUCTURE ALL PAGE */
/* -------------------------------------------------------------------------- */
main {
z-index: 1;
section {
article {
position: relative;
.metadata {
position: absolute;
background-color: #fff;
padding: 2rem;
bottom: 49%;
right: 0;
width: 50vw;
text-align: center;
@include home-metadata();
z-index: 1;
&::after {
@include trianglecorner(topleft, $h-unit-1);
}
}
} //article end
/* -------------------------------- load more ------------------------------- */
.misha_loadmore {
@media #{$smalldesktop} {
width: $h-unit-2;
margin-right: $h-unit-2;
align-self: stretch;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
height: 100%;
}
a,
p {
@include home-more();
@media #{$smalldesktop} {
transform-origin: center;
white-space: nowrap;
width: 100vh;
@include transform(rotate(-90deg));
}
}
}
}
}
} //wrapper end
//no header scroll on touch devices(because it's invisible)
.touchevents {
.header-scroll {
display: none !important;
}
// no overflow on touch devices, where no horizontal scrollbar visible
.archive,
.home {
@media #{$smalldesktop} {
overflow-y: hidden;
}
}
}
/* -------------------------------------------------------------------------- */
/* ARCHIVE AND HOMEPAGE */
/* -------------------------------------------------------------------------- */
.archive,
.home {
@media #{$smalldesktop} {
// overflow-y: hidden;
}
.wrapper {
@media #{$smalldesktop} {
overflow-y: hidden;
width: fit-content;
}
/* ----------------------------- header on home ----------------------------- */
.header {
.header-scroll {
@media #{$smalldesktop} {
display: block;
position: fixed;
height: 100vh;
width: $h-unit-2;
flex: 1 0 auto !important;
top: 0;
}
&.header-scroll-left {
left: $h-unit-2;
button {
cursor: url("../img/arrow-black-left.png"), w-resize;
}
}
&.header-scroll-right {
right: $h-unit-2;
button {
cursor: url("../img/arrow-black-right.png"), e-resize;
}
}
button {
height: 100vh;
width: $h-unit-2;
}
}
}
}
main {
@media #{$smalldesktop} {
height: 100vh;
width: fit-content;
position: relative;
}
section {
@media #{$smalldesktop} {
//horizontal scrolling on desktop:
display: flex;
flex-direction: row;
margin: 0;
height: 100vh;
width: fit-content;
}
/* --------------------------- home article mobile/default -------------------------- */
article {
height: 100vh;
@media #{$smalldesktop} {
& > a {
margin: 0;
padding: 0;
border: none;
display: inline-block;
}
.thumbnailwrapper {
img.attachment-home-thumbnail {
// post thumbnail on home
height: 50vh;
width: 100vw;
object-fit: cover;
}
}
h2 {
width: 100%;
height: 50vh;
padding: 2rem;
padding-top: 3rem;
margin: 0;
// display: flex;
// flex-direction: row;
// align-items: center;
a {
@include home-title();
}
}
} //article end
}
/* ------------------------ home article desktop big ------------------------ */
@media #{$smalldesktop} {
//big: first 2 articles
.home-wrapper-big {
flex: 0 0 auto;
article {
position: relative;
width: calc(100vw - (#{$h-unit-2} * 3));
margin: 0;
padding: 0;
margin-left: $h-unit-2;
padding-top: $v-unit-1;
border-right: #000 1px solid;
/* ------------- home article desktop big - thumbnail and title ------------- */
.thumbnailwrapper {
height: calc(100% - #{$v-unit-1});
display: flex;
flex-direction: row;
justify-content: flex-start;
border-top: 1px #000 solid;
img.attachment-home-big-thumbnail {
object-fit: cover;
width: 50%;
height: 100%;
}
}
h2 {
height: unset;
position: absolute;
top: 6rem;
padding: 4rem;
}
/* -------------------------- home article metadata big------------------------- */
.metadata {
bottom: 0;
background: transparent;
width: 100%;
height: #{$h-unit-2};
display: flex;
flex-direction: row;
padding: 0;
justify-content: flex-start;
align-items: center;
@include triangle-corner-bordered(#{$v-unit-1}, 0, transparent);
@include home-metadata-big();
@media #{$mobile-landscape} {
height: calc(#{$h-unit-2} / 2);
}
.categories {
display: block;
padding: 0 $h-unit-1;
}
.vr {
height: 100%;
width: 1px;
background-color: #000;
}
.postedon{
padding: 0 $h-unit-1;
}
.bevezeto,
.alcim {
display: none;
}
} //metadata end
/* ------------------------- home article big hover ------------------------- */
&.hovered {
h2 > a {
color: #000;
}
}
}
&.home-wrapper-1 {
article {
a.thumbnailwrapper {
justify-content: flex-end;
}
}
}
&.home-wrapper-2 {
article {
border-left: #000 1px solid;
.thumbnailwrapper {
img {
left: -$h-unit-1;
position: relative;
}
}
}
}
}
} //smalldesktop end
/* ----------------------- articles desktop small ----------------------- */
@media #{$smalldesktop} {
.home-wrapper-small {
width: calc(100vw - (#{$h-unit-2} * 3));
height: calc((100vw - (#{$h-unit-2} * 3)) / 3 * 2);
flex-shrink: 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: auto 0;
&.home-wrapper-s1 {
margin-left: $h-unit-2 !important;
}
article,
.archivetitle,
.archivedescription {
flex: 0 0 calc(100% / 3);
height: 50%;
position: relative;
.thumbnailwrapper {
width: 100%;
height: 100%;
img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.metadata {
width: 100%;
height: 20%;
position: absolute;
bottom: 0;
right: 0;
background: transparent;
display: flex;
flex-direction: row;
padding: 0;
justify-content: flex-end;
align-items: stretch;
@include triangle-corner-bordered(#{$v-unit-1}, 0, transparent);
display: none;
&.vis {
display: flex;
}
}
h2,
h2 a {
@include home-title-small();
}
h2 {
display: none;
position: absolute;
top: 0;
background-color: #fff;
height: 100%;
a {
top: 50%;
position: absolute;
}
}
}
.archivetitle {
margin: 0;
width: 100%;
position: relative;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-start;
padding: 2rem;
border-right: #000 1px solid;
@include home-title();
@include triangle-corner-bordered($h-unit-1, 0, transparent);
&.tag {
text-transform: uppercase;
}
}
.archivedescription {
order: 1;
border-top: #000 1px solid;
border-right: #000 1px solid;
border-bottom: #000 1px solid;
margin: 0;
width: 100%;
position: relative;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-start;
padding: 2rem;
p {
margin: 0;
@include archive-tag-description();
}
}
}
}
} //section end
} //main end
} //home end
/* -------------------------------------------------------------------------- */
/* single */
/* -------------------------------------------------------------------------- */
.single {
//no menus on single
@media #{$smalldesktop} {
.wrapper {
height: unset;
.header {
.header-1,
.header-2 {
background: transparent;
border: none;
.social-link,
.search-box,
.events-link {
display: none;
}
}
}
}
}
article {
$padd: 2rem;
@media #{$smalldesktop} {
margin-top: 100vh;
margin-left: calc(#{$h-unit-1});
background-color: #fff;
border-left: #000 solid 1px;
//border-top: #000 solid 1px;
}
& > * {
padding: $padd;
margin: 0;
@media #{$smalldesktop} {
padding: $padd $h-unit-1;
}
}
.thumbnailwrapper {
padding: 0;
@media #{$smalldesktop} {
position: fixed;
top: 0;
right: 0;
left: calc(-#{$h-unit-1});
z-index: -1;
bottom: 0;
}
img.attachment-post-thumbnail {
// post thumbnail on home
height: 75vh;
width: 100vw;
object-fit: cover;
padding: 0;
@media #{$smalldesktop} {
width: 100%;
height: 100%;
}
}
}
/* --------------------------- single sub sections -------------------------- */
.titlewrapper {
position: absolute;
top: 0;
width: 100vw;
height: 100vh;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-content: flex-start;
padding: 0;
@media #{$smalldesktop} {
position: relative;
height: unset;
display: block;
width: unset;
}
.metadata {
width: calc(100vw - #{$h-unit-1}) !important;
bottom: unset !important;
height: $h-unit-1;
position: relative;
align-self: flex-end;
display: flex;
flex-direction: row;
justify-content: space-between;
@include single-metadata();
@media #{$smalldesktop} {
top: -#{$h-unit-1};
background-color: #fff;
margin-left: $h-unit-1;
padding-left: 0;
width: calc(100% - #{$h-unit-1}) !important;
@include triangle-corner-bordered(#{$h-unit-1}, #{$h-unit-1}, white);
}
.time-cat {
z-index: 10;
}
}
h1 {
margin: 0;
@include single-title();
min-height: 25vh;
padding: $padd;
background-color: #fff;
@media #{$smalldesktop} {
position: fixed;
// height: 100vh;
bottom: 0;
left: 0;
right: 0;
padding: $h-unit-2;
background-color: transparent;
z-index: -1;
}
}
}
.title2 {
display: none;
@media #{$smalldesktop} {
display: block;
@include single-title2();
}
}
/* ----------------------------- single content ----------------------------- */
hr {
height: 1px;
background-color: #ff5f5f;
padding: 0;
margin: 0 auto;
border: none;
width: 20%;
&.content-wrap {
width: 40%;
}
&.content-begin {
margin-top: calc(25vh + #{$padd});
@media #{$smalldesktop} {
margin-top: 0;
}
}
}
strong {
font-weight: 900;
}
blockquote {
@include single-quote();
p {
background: #ff5f5f;
display: inline;
padding: 2px 0;
@include box-shadow(10px 0 #ff5f5f, -5px 0 #ff5f5f);
}
}
.wp-block-image {
padding: $padd 0;
@media #{$smalldesktop} {
padding: $padd $h-unit-1;
}
figure {
position: relative;
figcaption {
bottom: 0 !important;
&::after {
@include trianglecorner(topright, #{$h-unit-1});
}
}
}
}
.wp-block-image figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
background: #fff;
position: absolute;
width: calc(100% - #{$h-unit-1});
height: $h-unit-1;
padding: 1rem $padd;
margin: 0;
bottom: unset;
@include captiontext();
line-height: 1;
text-align: left;
overflow: unset;
display: flex;
flex-direction: column;
justify-content: center;
z-index: 1;
}
.wp-block-gallery {
padding: $padd 0;
li {
margin-right: 0;
&:nth-child(odd) figcaption::after {
@include trianglecorner(topright, #{$h-unit-1});
}
&:nth-child(even) figcaption {
right: 0;
top: 0;
&::after {
@include trianglecorner(bottomleft, #{$h-unit-1});
}
}
}
}
}
}
/* -------------------------------------------------------------------------- */
/* TAG COLORS */
/* -------------------------------------------------------------------------- */
@mixin tagcolors($color) {
.metadata {
color: $color !important;
a {
color: $color !important;
}
}
blockquote p {
background: $color !important;
@include box-shadow(10px 0 $color, -5px 0 $color !important);
}
hr {
background-color: $color !important;
}
figcaption {
-webkit-text-stroke-color: $color !important;
}
@media #{$smalldesktop} {
&.home-big {
h2 a {
color: $color;
}
}
&.home-big.hovered {
background-color: $color !important;
}
&.home-small {
.metadata,
.metadata a {
color: #000 !important;
}
}
}
}
//tagclip: filters on small articale images
@mixin tagclip($tag) {
@media #{$smalldesktop} {
.thumbnailwrapper > img {
-webkit-mask: url(../img/clip/#{$tag}_desktop.svg);
-webkit-mask-repeat: no-repeat;
-webkit-mask-size: 100%;
// -webkit-clip-path: url(../img/clip/#{$tag}_desktop.svg);
// clip-path: url(../img/clip/#{$tag}_desktop.svg#clipper);
mask: url(../img/clip/#{$tag}_desktop.svg);
mask-repeat: no-repeat;
mask-size: 100%;
}
}
}
//colors on single articles
@mixin tagcolors-single($color) {
.metadata {
@media #{$smalldesktop} {
color: #fff !important;
-webkit-text-stroke: $color 1px !important;
}
a {
@media #{$smalldesktop} {
color: #fff !important;
-webkit-text-stroke: $color 1px !important;
}
}
}
}
//colors on articles
.tag-be {
@include tagcolors(#00ffb8);
&.random {
@include tagclip(be);
}
}
.tag-do {
@include tagcolors(#ff5f5f);
&.random {
@include tagclip(do);
}
}
.tag-think {
@include tagcolors(#fdff00);
&.random {
@include tagclip(think);
}
}
.tag-love {
@include tagcolors(#3c00ff);
&.random {
@include tagclip(love);
}
}
//single article
.single {
.tag-be {
@include tagcolors-single(#00ffb8);
}
.tag-do {
@include tagcolors-single(#ff5f5f);
}
.tag-think {
@include tagcolors-single(#fdff00);
}
.tag-love {
@include tagcolors-single(#3c00ff);
}
}
//menu colored on big article hover
body,
.header-1,
.header-2 {
&.hover-tag-be {
background-color: #00ffb8 !important;
}
&.hover-tag-do {
background-color: #ff5f5f !important;
}
&.hover-tag-think {
background-color: #fdff00 !important;
}
&.hover-tag-love {
background-color: #3c00ff !important;
}
}
/* -------------------------------------------------------------------------- */
/* imports */
/* -------------------------------------------------------------------------- */
@import "fonts";
@import "print";