Porting all CSS to SCSS for easier maintainance, checking on all best practices.

This commit is contained in:
Adsooi 2021-07-14 00:18:53 +02:00
parent 4f5089655b
commit bdded822bd
Signed by: Ad5001
GPG key ID: EF45F9C6AFE20160
37 changed files with 1115 additions and 424 deletions

View file

@ -1,43 +0,0 @@
.block-preview {
/*border: black 1px solid;*/
box-shadow: 0px 0px 2px 0px #000000;
width: min(25em, calc(100vw - 2em));
height: 20em;
background-size: cover;
background-repeat: no-repeat;
}
.block-preview:hover, .block-preview.toggled {
box-shadow: 0px 0px 4px 0px #000000;
}
.block-preview .label {
transition: max-height 0.15s ease-in;
max-height: 20%;
overflow: hidden;
bottom: 0;
background-color: #FFFFFFDD;
padding: 0.5em;
bottom: 0;
}
.block-preview:hover .label, .block-preview.toggled .label {
max-height: 100%;
height: calc(100% - 1em);
}
.block-preview .label .show-on-hover {
display: none;
transition: opacity 0.15s;
opacity: 0;
max-height: 0;
background: none;
}
.block-preview:hover .label .show-on-hover, .block-preview.toggled .label .show-on-hover {
display: block;
opacity: 1;
max-height: 100%;
}

View file

@ -1,224 +0,0 @@
body {
font-family: 'Metropolis', 'Fira Sans','Ubuntu', 'Noto Sans', sans-serif;
overflow-x: hidden;
margin: 0px;
--light-font: 'Metropolis Light', 'Fira Sans Light','Ubuntu Light', 'Noto Sans Light', sans-serif;
--primary-color: #50DC71;
--secondary-color: #FAFAFA;
--nav-background: var(--secondary-color);
--nav-background-dark: #282828;
--footer-background: #111111;
}
.content-center {
max-width: 75em;
}
.padding-container {
padding: 1em;
}
/* button */
a[role=button] {
text-decoration: none;
color: black;
cursor: pointer;
}
.primary {
background-color: var(--primary-color);
}
.secondary {
background-color: var(--secondary-color);
}
a[role=button].primary, a[role=button].secondary {
padding: 0.5em;
text-transform: uppercase;
font-size: larger;
box-shadow: 0px 0px 2px 0px #000000;
transition: box-shadow 0.2s;
line-height: 3em;
}
a[role=button].primary:active, a[role=button].secondary:active {
box-shadow: 0px 0px 8px 0px #000000;
}
a[role=button].primary:hover, a[role=button].secondary:hover {
box-shadow: 0px 0px 4px 0px #000000;
}
.text-white a[role=button]:not(.primary), a[role=button]:not(.primary).text-white {
color: white;
}
/* format */
.fill-width {
width: 100%;
}
.center {
margin-right: auto !important;
margin-left: auto !important;
}
img.center {
display: block;
max-width: 100%;
}
.vertical-center {
margin-top: auto !important;
margin-bottom: auto !important;
max-height: 100%;
}
/* workaround for sometimes images don't position correctly vertically */
.vertical-center-img {
margin: auto;
max-height: 100%;
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-white {
color: white;
}
.text-white .icon-monochrome {
filter: invert(96%) sepia(0%) saturate(0%) hue-rotate(119deg) brightness(104%) contrast(104%);
}
.icon-as-text {
width: 1em;
height: 1em;
margin-right: 0.4em;
vertical-align: middle;
}
.icon-larger-text {
width: 1.4em;
height: 1.4em;
margin-right: 0.4em;
margin-top: -0.2em;
vertical-align: middle;
}
h1 {
font-size: xx-large;
font-family: var(--light-font);
}
h2 {
font-size: x-large;
font-family: var(--light-font);
}
h3 {
font-family: var(--light-font);
}
p {
line-height: 1.5em;
}
.grid {
display: flex;
flex-wrap: wrap;
margin: 3px;
}
.flex {
display: flex !important;
}
.inline {
display: inline !important;
}
.flex-right {
justify-content: flex-end;
}
.flex-center {
justify-content: center;
}
/* Columns */
.columns-container {
display: flex;
}
.col1:not(.col1-fill) {
width: 50%;
margin-right: auto !important;
margin-left: auto !important;
}
.col1.col1-fill {
width: 100%;
}
.col2 {
width: 50%;
}
.col3 {
width: 33%;
}
.col2-3 {
width: 66%;
}
.col4 {
width: 25%;
}
.col3-4 {
width: 75%;
}
.col5 {
width: 20%;
}
@media screen and (max-width: 700px) {
:not(footer) > .columns-container {
display: block;
}
.column {
width: 100%;
}
.section-header .column > img {
width: 100%;
}
.column :not(p).text-right, .column.text-right :not(p), .column :not(p).text-left, .column.text-left :not(p) {
text-align: center;
}
.column .flex-right {
justify-content: center;
}
.col1:not(.col1-fill) {
width: 100%;
}
}

View file

@ -1,2 +0,0 @@

View file

@ -1,15 +0,0 @@
@font-face {
font-family: "Metropolis";
src: url(/fonts/metropolis/Metropolis-Regular.otf) format("opentype");
}
@font-face {
font-family: "Metropolis";
src: url(/fonts/metropolis/Metropolis-Bold.otf) format("opentype");
font-weight: bold;
}
@font-face {
font-family: "Metropolis Light";
src: url(/fonts/metropolis/Metropolis-Light.otf) format("opentype");
}

View file

@ -1,17 +0,0 @@
footer {
width: 100%;
background: var(--footer-background);
color: white;
}
.footer-social-list {
display: flex;
font-size: 17px;
}
@media screen and (max-width: 550px) {
footer {
font-size: 10px;
}
}

View file

@ -1,165 +0,0 @@
nav {
font-size: 1.3em;
height: 3em;
position: absolute;
width: 100%;
font-family: var(--light-font);
}
nav .nav-flex {
display: flex;
max-width: 99%;
}
nav .navbar-brand {
padding-top: 1em;
padding-left: 0.5em;
display: flex;
}
nav .navbar-brand .icon-brand {
width: 2.5em;
height: 2.5em;
margin-top: -0.7em;
margin-right: 5px;
}
nav .navbar-menu {
flex: auto;
display: block;
width: 2em;
}
nav .navbar-list {
float:right;
flex: auto;
display: flex;
margin-top: 0px;
list-style-type: none;
text-transform: uppercase;
}
.navbar-list li {
padding: 1em;
margin-left: 0;
display: flex;
}
.navbar-list li.active {
background-color: var(--primary-color);
}
.navbar-list li.background {
background-color: var(--nav-background);
color: black;
}
.menu-with-sub {
display: block;
}
.menu-with-sub .sub-menu {
display: none;
position: absolute;
padding: 0;
margin-top: -2px;
}
.menu-with-sub.toggled .sub-menu {
display: block;
}
.menu-with-sub:hover .sub-menu {
display: block;
}
.menu-with-sub .sub-menu:hover {
display: block;
}
#navbar-toggler {
border: 0;
background: none;
box-shadow: none;
border-radius: 0px;
display: none;
cursor: pointer;
padding-right: 1em;
}
@media screen and (max-width: 700px) {
#navbar-toggler {
display: block;
}
nav {
/*background: var(--nav-background);*/
}
nav.menu-shown {
position: fixed;
z-index: 1;
background: var(--nav-background);
}
/* positioning for mobile */
nav .nav-flex {
display: block;
max-width: 100%;
}
.nav-mobile {
display: flex;
width: 100%;
}
.navbar-brand {
flex: auto;
}
.navbar-menu {
height: 100vh;
width: 100% !important;
display: none !important;
background: var(--nav-background);
}
.navbar-menu.shown {
display: block !important;
}
.navbar-list {
display: block !important;
width: 100%;
height: 100%;
padding-left: 0;
}
.navbar-list li {
width: 100% !important;
display: flex;
}
.menu-with-sub {
display: block;
}
.menu-with-sub .sub-menu {
margin-left: 1em;
display: ruby;
}
/* removing white text from menu with light background */
nav.menu-shown.text-white a[role=button], nav.menu-shown .text-white a[role=button], nav.menu-shown a[role=button].text-white {
color: black;
}
nav.menu-shown.text-white .icon-monochrome {
filter: unset;
}
nav.menu-shown.text-white .navbar-list li.background {
background-color: var(--nav-background);
}
}

View file

@ -1,40 +0,0 @@
section.section1 {
background-size: cover;
background-repeat: no-repeat;
color: black;
padding-left: 1em;
padding-top: 1em;
padding-right: 1em;
}
section.section-header {
height: calc(100vh + 3em);
}
.section-end-triangle {
width: 0;
height: 0;
border-top-width: 3em;
border-top-style: solid;
border-top-color: transparent;
border-right-width: 100vw;
border-right-style: solid;
border-right-color: #FFFFFF;
}
section.section-header > div.columns-container {
padding-top: 3em !important;
height: calc(100% - 6em);
}
@media screen and (max-width: 700px) {
section.section-header {
height: auto;
min-height: calc(100vh + 3em);
}
section.section-header > div.columns-container {
min-height: calc(100vh - 3em);
}
}

76
static/icons/free.svg Normal file
View file

@ -0,0 +1,76 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="1044.000000pt" height="1280.000000pt" viewBox="0 0 1044.000000 1280.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.15, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,1280.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M9822 12790 c-70 -10 -78 -20 -16 -20 27 0 77 -7 112 -15 447 -106
468 -659 48 -1304 l-81 -126 -6 95 c-4 52 -12 181 -19 285 -39 634 -80 882
-157 959 -31 31 -57 33 -100 6 -76 -46 -160 -153 -423 -540 -266 -392 -417
-597 -597 -817 -118 -145 -173 -206 -173 -192 0 6 -12 35 -26 65 -40 84 -88
89 -137 15 -14 -20 -98 -171 -187 -336 -125 -232 -173 -311 -211 -350 l-49
-50 35 84 c85 201 139 404 154 572 26 307 -71 903 -169 1037 -36 50 -65 54
-102 15 -16 -17 -102 -203 -212 -455 -440 -1011 -604 -1334 -891 -1753 -209
-305 -279 -391 -551 -682 -780 -832 -1003 -1113 -1232 -1553 -136 -260 -254
-577 -402 -1075 -38 -126 -72 -241 -78 -254 -8 -23 -13 -16 -62 75 -312 581
-472 752 -785 835 -176 47 -433 4 -633 -107 -135 -74 -299 -216 -388 -336 -47
-63 -114 -191 -114 -216 0 -17 -150 -180 -239 -260 l-68 -60 -94 72 c-192 148
-323 326 -387 526 -20 62 -45 180 -39 186 1 2 11 -9 21 -24 41 -61 127 -102
216 -102 109 0 305 82 400 167 120 108 266 306 353 480 45 89 97 209 97 224 0
4 -28 -8 -62 -28 -93 -52 -266 -138 -338 -167 -74 -30 -167 -50 -305 -66 -178
-20 -253 -51 -345 -145 l-44 -45 -13 77 c-30 174 -148 344 -332 474 l-90 63
42 11 c53 13 88 38 150 104 88 94 139 243 159 461 6 69 8 151 4 183 l-7 57
-62 -86 c-94 -132 -170 -207 -292 -287 -92 -60 -115 -81 -142 -126 -41 -68
-51 -129 -30 -182 l16 -40 -37 22 c-145 88 -323 220 -381 283 l-24 26 33 0
c70 0 150 125 150 234 0 90 -50 306 -71 306 -4 0 -11 -14 -14 -32 -15 -66 -65
-170 -107 -224 -65 -83 -78 -106 -78 -141 0 -18 -4 -33 -8 -33 -10 0 -84 127
-107 183 -8 20 -22 69 -30 109 -19 88 -29 102 -20 28 18 -146 74 -285 164
-404 l50 -66 -37 0 c-21 0 -77 -16 -124 -35 -58 -24 -110 -37 -155 -41 -37 -3
-83 -7 -102 -10 l-33 -5 40 -30 c56 -41 166 -93 241 -113 130 -36 271 21 271
109 0 20 14 19 31 -1 25 -31 167 -134 336 -244 146 -96 164 -110 136 -110 -61
0 -126 -32 -231 -112 -119 -91 -145 -104 -327 -163 -148 -49 -149 -40 15 -96
117 -40 236 -61 360 -63 119 -1 185 15 272 68 76 46 109 92 117 163 l6 58 42
-56 c54 -70 107 -186 121 -264 6 -33 13 -145 16 -250 2 -104 8 -201 12 -215
l8 -25 -32 27 c-44 36 -134 69 -212 75 -67 5 -110 -3 -305 -62 -144 -43 -321
-48 -617 -19 l-70 7 94 -89 c51 -49 118 -108 148 -131 129 -97 325 -207 460
-255 80 -29 282 -36 370 -14 119 30 205 109 225 204 l7 34 24 -52 c63 -137
194 -297 343 -421 l54 -45 -132 -113 c-140 -121 -160 -151 -97 -151 48 0 150
23 286 64 l115 35 38 -41 c59 -64 127 -181 161 -276 29 -83 31 -94 31 -237 0
-174 -14 -233 -95 -398 -30 -60 -46 -105 -43 -118 15 -56 159 -72 249 -27 83
41 86 53 81 318 -5 236 -14 296 -62 445 -33 101 -106 246 -161 320 l-45 60 83
27 c45 16 88 28 96 28 22 0 180 -128 278 -225 100 -99 181 -213 214 -302 30
-81 46 -164 70 -373 50 -440 124 -668 301 -931 216 -322 528 -583 1059 -886
316 -181 710 -302 1180 -363 343 -44 616 -157 862 -357 241 -196 484 -558 707
-1052 144 -320 244 -656 386 -1296 39 -175 73 -310 84 -325 23 -33 78 -60 121
-60 130 0 373 122 614 308 44 34 81 60 83 58 2 -2 -9 -33 -25 -69 -48 -104
-123 -166 -247 -201 l-50 -14 92 -1 c104 -1 163 14 229 60 75 51 132 168 148
301 l7 57 201 202 201 202 -5 -89 c-7 -142 -65 -239 -180 -301 l-43 -24 45 7
c152 21 256 105 290 233 14 55 14 163 0 242 l-11 60 62 67 c34 37 106 122 160
189 54 67 101 118 104 113 3 -6 9 -41 12 -78 9 -107 -14 -171 -88 -244 -62
-62 -56 -66 32 -22 64 32 105 68 136 122 22 37 28 61 31 131 3 73 0 96 -20
153 l-25 66 64 99 c109 169 192 357 208 475 14 94 -18 168 -85 203 -15 8 -74
24 -131 35 -524 107 -899 251 -1178 452 -242 174 -554 430 -686 563 -169 168
-239 253 -550 665 -131 173 -282 370 -336 437 l-99 122 48 6 c213 28 419 111
642 259 l114 76 71 0 c163 0 345 38 464 96 206 101 268 266 170 454 -19 36
-26 45 -21 25 14 -59 6 -140 -21 -198 -63 -137 -245 -237 -497 -271 l-45 -6
35 27 c69 55 227 202 304 284 80 85 284 327 364 431 40 52 46 56 104 68 91 17
224 67 300 111 189 110 256 271 181 431 -17 35 -40 74 -51 88 l-22 25 15 -44
c58 -170 -37 -333 -257 -441 -57 -27 -108 -50 -115 -50 -7 0 19 46 58 103 149
214 286 436 397 641 l71 129 119 57 c148 71 220 120 298 201 86 92 109 143
109 249 0 100 -19 147 -90 225 -49 53 -50 53 -20 -10 14 -29 19 -63 20 -125 0
-74 -4 -93 -29 -145 -47 -95 -149 -194 -278 -268 -27 -16 -48 -25 -48 -22 0 3
18 41 40 85 93 186 240 550 333 828 l42 124 120 82 c204 138 355 305 411 452
73 194 19 347 -168 473 -62 42 -68 39 -23 -10 57 -63 89 -141 93 -227 9 -160
-66 -301 -257 -485 -97 -93 -130 -116 -117 -81 3 9 24 84 46 167 82 314 141
613 194 980 l33 227 86 88 c195 197 337 413 396 602 95 299 -9 513 -284 586
-76 21 -97 16 -45 -9 66 -31 136 -107 173 -185 30 -63 32 -73 31 -177 0 -93
-5 -123 -28 -195 -47 -141 -114 -264 -229 -418 -38 -51 -72 -91 -74 -88 -3 3
0 72 6 153 23 307 31 509 31 864 l0 365 47 55 c360 419 554 901 489 1210 -55
260 -280 386 -604 339z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

1
static/icons/person.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.822 18.096c-3.439-.794-6.64-1.49-5.09-4.418 4.72-8.912 1.251-13.678-3.732-13.678-5.082 0-8.464 4.949-3.732 13.678 1.597 2.945-1.725 3.641-5.09 4.418-3.073.71-3.188 2.236-3.178 4.904l.004 1h23.99l.004-.969c.012-2.688-.092-4.222-3.176-4.935z"/></svg>

After

Width:  |  Height:  |  Size: 344 B

View file

@ -0,0 +1 @@
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M22 10h-1v-2h-11v13h5v1.617c0 .524.121 1.058.502 1.383h-5.002c-.398 0-.779-.158-1.061-.439-.281-.282-.439-.663-.439-1.061v-15c0-.398.158-.779.439-1.061.282-.281.663-.439 1.061-.439h10c.398 0 .779.158 1.061.439.281.282.439.663.439 1.061v2.5zm2 2.25c0-.69-.56-1.25-1.25-1.25h-5.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h5.5c.69 0 1.25-.56 1.25-1.25v-10.5zm-15.407 11.75h-6.593l2.599-3h3.401v1.804c0 .579.337 1.09.593 1.196zm11.407-1c-.553 0-1-.448-1-1s.447-1 1-1c.552 0 .999.448.999 1s-.447 1-.999 1zm3-3v-6.024h-6v6.024h6zm-2-15h-2v-3h-17v15h6v2h-8v-19h21v5zm-.5 7h-1c-.276 0-.5.224-.5.5s.224.5.5.5h1c.275 0 .5-.224.5-.5s-.225-.5-.5-.5z"/></svg>

After

Width:  |  Height:  |  Size: 770 B

1
static/icons/privacy.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 0c-2.995 2.995-7.486 4-11 4 0 8.582 5.068 16.097 11 20 5.932-3.903 11-11.418 11-20-3.514 0-8.005-1.005-11-4zm-8.912 5.894c2.455-.246 5.912-1.012 8.912-3.25v18.906c-4-3.063-8.254-8.604-8.912-15.656z"/></svg>

After

Width:  |  Height:  |  Size: 302 B

View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
viewBox="0 0 24 24"
version="1.1"
id="svg4"
sodipodi:docname="email.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="748"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="29.791667"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg4" />
<path
d="M12 12.713l-11.985-9.713h23.97l-11.985 9.713zm0 2.574l-12-9.725v15.438h24v-15.438l-12 9.725z"
id="path2"
style="fill:#ffffff" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -8,8 +8,10 @@ window.addEventListener("load", () => {
nav.classList.toggle('menu-shown');
})
document.querySelectorAll(".menu-with-sub").forEach(menu => {
menu.querySelector("a").addEventListener("click", () => {
menu.querySelector("a[role=button]").addEventListener("click", () => {
menu.classList.toggle('toggled');
})
})
// Basic mail protection
document.querySelector("a[alt=Mail]").href = "mail" + "to" + String.fromCharCode(58) + "mail" + String.fromCharCode(64) + "ad5001.eu"
})