first commit

This commit is contained in:
Julieñ
2024-06-30 11:39:42 +02:00
commit 280b106499
15751 changed files with 78478 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2023 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.ttf") format("truetype"); }
.far,
.fa-regular {
font-weight: 400; }

View File

@@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2023 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.ttf") format("truetype"); }
.fas,
.fa-solid {
font-weight: 900; }

View File

@@ -0,0 +1,351 @@
/* Magnific Popup CSS */
.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1042;
overflow: hidden;
position: fixed;
background: #0b0b0b;
opacity: 0.8; }
.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden; }
.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
box-sizing: border-box; }
.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle; }
.mfp-align-top .mfp-container:before {
display: none; }
.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045; }
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto; }
.mfp-ajax-cur {
cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out; }
.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in; }
.mfp-auto-cursor .mfp-content {
cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none; }
.mfp-loading.mfp-figure {
display: none; }
.mfp-hide {
display: none !important; }
.mfp-preloader {
color: #CCC;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044; }
.mfp-preloader a {
color: #CCC; }
.mfp-preloader a:hover {
color: #FFF; }
.mfp-s-ready .mfp-preloader {
display: none; }
.mfp-s-error .mfp-content {
display: none; }
button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
box-shadow: none;
touch-action: manipulation; }
button::-moz-focus-inner {
padding: 0;
border: 0; }
.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: #FFF;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace; }
.mfp-close:hover,
.mfp-close:focus {
opacity: 1; }
.mfp-close:active {
top: 1px; }
.mfp-close-btn-in .mfp-close {
color: #333; }
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
color: #FFF;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%; }
.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #CCC;
font-size: 12px;
line-height: 18px;
white-space: nowrap; }
.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent; }
.mfp-arrow:active {
margin-top: -54px; }
.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1; }
.mfp-arrow:before,
.mfp-arrow:after {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent; }
.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px; }
.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7; }
.mfp-arrow-left {
left: 0; }
.mfp-arrow-left:after {
border-right: 17px solid #FFF;
margin-left: 31px; }
.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3F3F3F; }
.mfp-arrow-right {
right: 0; }
.mfp-arrow-right:after {
border-left: 17px solid #FFF;
margin-left: 39px; }
.mfp-arrow-right:before {
border-left: 27px solid #3F3F3F; }
.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px; }
.mfp-iframe-holder .mfp-close {
top: -40px; }
.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%; }
.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #000; }
/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 60px;
margin: 0 auto; }
/* The shadow behind the image */
.mfp-figure {
line-height: 0; }
.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 60px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444; }
.mfp-figure small {
color: #BDBDBD;
display: block;
font-size: 12px;
line-height: 14px; }
.mfp-figure figure {
margin: 0; }
.mfp-bottom-bar {
margin-top: -56px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto; }
.mfp-title {
text-align: left;
line-height: 18px;
color: #F3F3F3;
word-wrap: break-word;
padding-right: 36px; }
.mfp-image-holder .mfp-content {
max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer; }
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 500px) {
/**
* Remove all paddings around the image on small screen
*/
.mfp-img-mobile .mfp-image-holder {
padding-left: 0;
padding-right: 0; }
.mfp-img-mobile img.mfp-img {
padding: 0; }
.mfp-img-mobile .mfp-figure:after {
top: 0;
bottom: 0; }
.mfp-img-mobile .mfp-figure small {
display: inline;
margin-left: 5px; }
.mfp-img-mobile .mfp-bottom-bar {
background: rgba(0, 0, 0, 0.4);
bottom: 0;
margin: 0;
top: auto;
padding: 3px 5px;
position: fixed;
box-sizing: border-box; }
.mfp-img-mobile .mfp-bottom-bar:empty {
padding: 0; }
.mfp-img-mobile .mfp-counter {
right: 5px;
top: 3px; }
.mfp-img-mobile .mfp-close {
top: 0;
right: 0;
width: 35px;
height: 35px;
line-height: 35px;
background: rgba(0, 0, 0, 0.2);
position: fixed;
text-align: center;
padding: 0; } }
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
transform: scale(0.75); }
.mfp-arrow-left {
-webkit-transform-origin: 0;
transform-origin: 0; }
.mfp-arrow-right {
-webkit-transform-origin: 100%;
transform-origin: 100%; }
.mfp-container {
padding-left: 6px;
padding-right: 6px; } }

View File

@@ -0,0 +1,333 @@
/* Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
body { -webkit-text-size-adjust: none; }
.thumb img { padding: .25em; border-radius: 5px; width: 100%; display: block; }
.flexrow { display: flex; flex-wrap: wrap; padding: 0; width: 100%; }
.flexcol { flex: 1; }
/* Box Model */
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
@-moz-keyframes spinner { 0% { -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(359deg); -webkit-transform: rotate(359deg); -ms-transform: rotate(359deg); transform: rotate(359deg); } }
@-webkit-keyframes spinner { 0% { -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(359deg); -webkit-transform: rotate(359deg); -ms-transform: rotate(359deg); transform: rotate(359deg); } }
@-ms-keyframes spinner { 0% { -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(359deg); -webkit-transform: rotate(359deg); -ms-transform: rotate(359deg); transform: rotate(359deg); } }
@keyframes spinner { 0% { -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(359deg); -webkit-transform: rotate(359deg); -ms-transform: rotate(359deg); transform: rotate(359deg); } }
/* Basic */
@-ms-viewport { width: device-width; }
body { -ms-overflow-style: scrollbar; }
@media screen and (max-width: 600px) { h1 { width: 60%; } }
@media screen and (max-width: 480px) { html, body { min-width: 320px; } }
body { background: url(/stripe.png) repeat; color: whitesmoke; }
body.loading *, body.loading *:before, body.loading *:after { -moz-animation: none !important; -webkit-animation: none !important; -ms-animation: none !important; animation: none !important; -moz-transition: none !important; -webkit-transition: none !important; -ms-transition: none !important; transition: none !important; }
body.resizing *, body.resizing *:before, body.resizing *:after { -moz-animation: none !important; -webkit-animation: none !important; -ms-animation: none !important; animation: none !important; -moz-transition: none !important; -webkit-transition: none !important; -ms-transition: none !important; transition: none !important; }
/* Type */
body, input, select, textarea { color: whitesmoke; font-family: "Faune", sans-serif;; font-size: 1em; font-style: normal; font-weight: 100; letter-spacing: 0.025em; line-height: 1.65; }
@media screen and (max-width: 1680px) { body, input, select, textarea { font-size: 1em; } }
a { -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; border-bottom: dotted 1px; color: #7293A0; text-decoration: none; }
a:hover { border-bottom-color: transparent; }
strong, b { color: whitesmoke; font-weight: bold; }
em, i { font-style: italic; }
p { margin: 0 0 2em 0; }
h1, h2, h3, h4, h5, h6 { color: whitesmoke; font-family : "Faune", sans-serif;; font-style: normal; font-weight: 900; letter-spacing: 0.1em; line-height: 1.5; margin: 0 0 1em 0; text-transform: uppercase; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none; }
h1 { font-size: 2em; }
h2 { font-size: 1.25em; }
h3 { font-size: 1.1em; }
h4 { font-size: 1em; }
h5 { font-size: 0.9em; }
h6 { font-size: 0.7em; }
img a { text-decoration: none; }
@media screen and (max-width: 736px) { h2 { font-size: 1em; }
h3 { font-size: 0.9em; }
h4 { font-size: 0.8em; }
h5 { font-size: 0.7em; }
h6 { font-size: 0.7em; } }
sub { font-size: 0.8em; position: relative; top: 0.5em; }
sup { font-size: 0.8em; position: relative; top: -0.5em; }
blockquote { border-left: 4px #36383c; font-style: italic; margin: 0 0 2em 0; padding: 0.5em 0 0.5em 2em; }
code { background: #34363b; border: solid 1px #36383c; font-family: monospace; font-size: 0.9em; margin: 0 0.25em; padding: 0.25em 0.65em; }
pre { -webkit-overflow-scrolling: touch; font-family: monospace; font-size: 0.9em; margin: 0 0 2em 0; }
pre code { display: block; line-height: 1.75; padding: 1em 1.5em; overflow-x: auto; }
hr { border: 0; border-bottom: solid 1px #36383c; margin: 2em 0; }
hr.major { margin: 3em 0; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
/* Button */
input[type="submit"], input[type="reset"], input[type="button"], button, .button { -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; appearance: none; -moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; -webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; background-color: transparent; border: 0; border-radius: 0; box-shadow: inset 0 0 0 2px #36383c; color: #ffffff !important; cursor: pointer; display: inline-block; font-size: 0.9em; font-weight: 300; height: 3.0555555556em; letter-spacing: 0.1em; line-height: 3.0555555556em; padding: 0 2.5em; text-align: center; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, button:hover, .button:hover { box-shadow: inset 0 0 0 2px #7293A0; color: #7293A0; }
input[type="submit"]:hover:active, input[type="reset"]:hover:active, input[type="button"]:hover:active, button:hover:active, .button:hover:active { background-color: rgba(114, 147, 160, 0.15); color: #7293A0 !important; }
input[type="submit"].icon, input[type="reset"].icon, input[type="button"].icon, button.icon, .button.icon { padding-left: 1.35em; }
input[type="submit"].icon:before, input[type="reset"].icon:before, input[type="button"].icon:before, button.icon:before, .button.icon:before { margin-right: 0.5em; }
input[type="submit"].fit, input[type="reset"].fit, input[type="button"].fit, button.fit, .button.fit { display: block; margin: 0 0 1em 0; width: 100%; }
input[type="submit"].small, input[type="reset"].small, input[type="button"].small, button.small, .button.small { font-size: 0.8em; }
input[type="submit"].big, input[type="reset"].big, input[type="button"].big, button.big, .button.big { font-size: 1.35em; }
input[type="submit"].special, input[type="reset"].special, input[type="button"].special, button.special, .button.special { background-color: #7293A0; box-shadow: none; }
input[type="submit"].special:hover, input[type="reset"].special:hover, input[type="button"].special:hover, button.special:hover, .button.special:hover { background-color: #90aab5; color: #ffffff !important; }
input[type="submit"].special:hover:active, input[type="reset"].special:hover:active, input[type="button"].special:hover:active, button.special:hover:active, .button.special:hover:active { background-color: #5a7985; }
input[type="submit"].disabled, input[type="submit"]:disabled, input[type="reset"].disabled, input[type="reset"]:disabled, input[type="button"].disabled, input[type="button"]:disabled, button.disabled, button:disabled, .button.disabled, .button:disabled { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; opacity: 0.35; }
/* Form */
form { margin: 0 0 2em 0; }
form .field { margin: 0 0 1.3em 0; }
form .field.half { float: left; padding: 0 0 0 0.65em; width: 50%; }
form .field.half.first { padding: 0 0.65em 0 0; }
form > .actions { margin: 1.5em 0 0 0 !important; }
@media screen and (max-width: 736px) { form .field.half { float: none; padding: 0; width: 100%; }
form .field.half.first { padding: 0; } }
label { color: #ffffff; display: block; font-size: 0.9em; font-weight: 300; margin: 0 0 1em 0; }
input[type="text"], input[type="password"], input[type="email"], input[type="tel"], select, textarea { -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; appearance: none; background: #34363b; border: 0; border-radius: 0; color: #a0a0a1; display: block; outline: 0; padding: 0 1em; text-decoration: none; width: 100%; }
input[type="text"]:invalid, input[type="password"]:invalid, input[type="email"]:invalid, input[type="tel"]:invalid, select:invalid, textarea:invalid { box-shadow: none; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="tel"]:focus, select:focus, textarea:focus { box-shadow: inset 0 0 0 2px #7293A0; }
.select-wrapper { text-decoration: none; display: block; position: relative; }
.select-wrapper:before { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-family: FontAwesome; font-style: normal; font-weight: normal; text-transform: none !important; }
.select-wrapper:before { color: #36383c; content: '\f078'; display: block; height: 2.75em; line-height: 2.75em; pointer-events: none; position: absolute; right: 0; text-align: center; top: 0; width: 2.75em; }
.select-wrapper select::-ms-expand { display: none; }
input[type="text"], input[type="password"], input[type="email"], select { height: 2.75em; }
textarea { padding: 0.75em 1em; }
input[type="checkbox"], input[type="radio"] { -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; appearance: none; display: block; float: left; margin-right: -2em; opacity: 0; width: 1em; z-index: -1; }
input[type="checkbox"] + label, input[type="radio"] + label { text-decoration: none; color: #a0a0a1; cursor: pointer; display: inline-block; font-size: 1em; font-weight: 300; padding-left: 2.4em; padding-right: 0.75em; position: relative; }
input[type="checkbox"] + label:before, input[type="radio"] + label:before { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-family: FontAwesome; font-style: normal; font-weight: normal; text-transform: none !important; }
input[type="checkbox"] + label:before, input[type="radio"] + label:before { background: #34363b; content: ''; display: inline-block; height: 1.65em; left: 0; line-height: 1.58125em; position: absolute; text-align: center; top: 0; width: 1.65em; }
input[type="checkbox"]:checked + label:before, input[type="radio"]:checked + label:before { background: #7293A0; border-color: #7293A0; color: #ffffff; content: '\f00c'; }
input[type="checkbox"]:focus + label:before, input[type="radio"]:focus + label:before { box-shadow: 0 0 0 2px #7293A0; }
input[type="radio"] + label:before { border-radius: 100%; }
::-webkit-input-placeholder { color: #707071 !important; opacity: 1.0; }
:-moz-placeholder { color: #707071 !important; opacity: 1.0; }
::-moz-placeholder { color: #707071 !important; opacity: 1.0; }
:-ms-input-placeholder { color: #707071 !important; opacity: 1.0; }
.formerize-placeholder { color: #707071 !important; opacity: 1.0; }
/* Icon */
.icon { text-decoration: none; border-bottom: none; position: relative; }
.icon:before { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-family: FontAwesome; font-style: normal; font-weight: 100; text-transform: none !important; }
.icon > .label { display: none; }
/* List */
ol { list-style: decimal; margin: 0 0 2em 0; padding-left: 1.25em; }
ol li { padding-left: 0.25em; }
ul { list-style: disc; margin: 0 0 2em 0; padding-left: 1em; }
ul li { padding-left: 0.5em; }
ul.alt { list-style: none; padding-left: 0; }
ul.alt li { border-top: solid 1px #36383c; padding: 0.5em 0; }
ul.alt li:first-child { border-top: 0; padding-top: 0; }
ul.icons { cursor: default; list-style: none; padding-left: 0; }
ul.icons li { display: inline-block; padding: 0 1em 0 0; }
ul.icons li:last-child { padding-right: 0; }
ul.icons li .icon { color: #505051; }
ul.icons li .icon:before { font-size: 1.5em; }
ul.actions { cursor: default; list-style: none; padding-left: 0; }
ul.actions li { display: inline-block; padding: 0 1em 0 0; vertical-align: middle; }
ul.actions li:last-child { padding-right: 0; }
ul.actions.small li { padding: 0 0.5em 0 0; }
ul.actions.vertical li { display: block; padding: 1em 0 0 0; }
ul.actions.vertical li:first-child { padding-top: 0; }
ul.actions.vertical li > * { margin-bottom: 0; }
ul.actions.vertical.small li { padding: 0.5em 0 0 0; }
ul.actions.vertical.small li:first-child { padding-top: 0; }
ul.actions.fit { display: table; margin-left: -1em; padding: 0; table-layout: fixed; width: calc(100% + 1em); }
ul.actions.fit li { display: table-cell; padding: 0 0 0 1em; }
ul.actions.fit li > * { margin-bottom: 0; }
ul.actions.fit.small { margin-left: -0.5em; width: calc(100% + 0.5em); }
ul.actions.fit.small li { padding: 0 0 0 0.5em; }
@media screen and (max-width: 480px) { ul.actions { margin: 0 0 2em 0; }
ul.actions li { padding: 1em 0 0 0; display: block; text-align: center; width: 100%; }
ul.actions li:first-child { padding-top: 0; }
ul.actions li > * { width: 100%; margin: 0 !important; }
ul.actions li > *.icon:before { margin-left: -2em; }
ul.actions.small li { padding: 0.5em 0 0 0; }
ul.actions.small li:first-child { padding-top: 0; } }
dl { margin: 0 0 2em 0; }
dl dt { display: block; font-weight: 300; margin: 0 0 1em 0; }
dl dd { margin-left: 2em; }
/* Table */
.table-wrapper { -webkit-overflow-scrolling: touch; overflow-x: auto; }
table { margin: 0 0 2em 0; width: 100%; }
table tbody tr { border: solid 1px #36383c; border-left: 0; border-right: 0; }
table tbody tr:nth-child(2n + 1) { background-color: #34363b; }
table td { padding: 0.75em 0.75em; }
table th { color: #ffffff; font-size: 0.9em; font-weight: 300; padding: 0 0.75em 0.75em 0.75em; text-align: left; }
table thead { border-bottom: solid 2px #36383c; }
table tfoot { border-top: solid 2px #36383c; }
table.alt { border-collapse: separate; }
table.alt tbody tr td { border: solid 1px #36383c; border-left-width: 0; border-top-width: 0; }
table.alt tbody tr td:first-child { border-left-width: 1px; }
table.alt tbody tr:first-child td { border-top-width: 1px; }
table.alt thead { border-bottom: 0; }
table.alt tfoot { border-top: 0; }
/* Panel */
.panel { padding: 4em 4em 2em 4em ; -moz-transform: translateY(100vh); -webkit-transform: translateY(100vh); -ms-transform: translateY(100vh); transform: translateY(100vh); -moz-transition: -moz-transform 0.5s ease; -webkit-transition: -webkit-transform 0.5s ease; -ms-transition: -ms-transform 0.5s ease; transition: transform 0.5s ease, visibility 0.5s ease; -webkit-overflow-scrolling: touch; background: rgba(36, 38, 41, 0.975); bottom: 4em; left: 0; max-height: calc(80vh - 4em); overflow-y: auto; position: fixed; width: 100%; z-index: 101; visibility: hidden; }
.panel.active { -moz-transform: translateY(1px); -webkit-transform: translateY(1px); -ms-transform: translateY(1px); transform: translateY(1px); visibility: visible; }
.panel > .inner { margin: 0 auto; max-width: 100%; width: 75em; }
.panel > .inner.split { display: -moz-flex; display: -webkit-flex; display: -ms-flex; display: flex; }
.panel > .inner.split > div { margin-left: 4em; width: 50%; }
.panel > .inner.split > :first-child { margin-left: 0; }
.panel > .closer { -moz-transition: opacity 0.2s ease-in-out; -webkit-transition: opacity 0.2s ease-in-out; -ms-transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out; background-image: url("images/close.svg"); background-position: center; background-repeat: no-repeat; background-size: 3em; cursor: pointer; height: 5em; opacity: 0.25; position: absolute; right: 0; top: 0; width: 5em; z-index: 2; }
.panel > .closer:hover { opacity: 1.0; }
@media screen and (max-width: 1280px) { .panel { padding: 3em 3em 1em 3em ; }
.panel > .inner.split > div { margin-left: 3em; }
.panel > .closer { background-size: 2.5em; background-position: 75% 25%; } }
@media screen and (max-width: 980px) { .panel > .inner.split { -moz-flex-direction: column; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
.panel > .inner.split > div { margin-left: 0; width: 100%; } }
@media screen and (max-width: 736px) { .panel { -moz-transform: translateY(-100vh); -webkit-transform: translateY(-100vh); -ms-transform: translateY(-100vh); transform: translateY(-100vh); padding: 4em 2em 2em 2em ; bottom: auto; top: calc(4em - 1px); }
.panel.active { -moz-transform: translateY(0); -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } }
/* Wrapper */
#wrapper { height: 100%; background: whitesmoke; margin: 1em auto; padding: 1em auto; border-radius: 5px; -moz-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -moz-filter 0.5s ease; -webkit-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -webkit-filter 0.5s ease; -ms-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -ms-filter 0.5s ease; transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, filter 0.5s ease; position: relative; }
#wrapper:after { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; -moz-transition: opacity 0.5s ease, visibility 0.5s; -webkit-transition: opacity 0.5s ease, visibility 0.5s; -ms-transition: opacity 0.5s ease, visibility 0.5s; transition: opacity 0.5s ease, visibility 0.5s; background: rgba(36, 38, 41, 0.5); content: ''; display: block; height: 100%; left: 0; opacity: 0; position: absolute; top: 0; visibility: hidden; width: 100%; z-index: 1; }
body.ie #wrapper:after { background: rgba(36, 38, 41, 0.8); }
body.modal-active #wrapper { -moz-filter: blur(8px); -webkit-filter: blur(8px); -ms-filter: blur(8px); filter: blur(8px); }
body.modal-active #wrapper:after { -moz-pointer-events: auto; -webkit-pointer-events: auto; -ms-pointer-events: auto; pointer-events: auto; opacity: 1; visibility: visible; z-index: 103; }
#wrapper:before { -moz-animation: spinner 1s infinite linear !important; -webkit-animation: spinner 1s infinite linear !important; -ms-animation: spinner 1s infinite linear !important; animation: spinner 1s infinite linear !important; -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; -moz-transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s; -webkit-transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s; -ms-transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s; transition: top 0.75s ease-in-out, opacity 0.35s ease-out, visibility 0.35s; background-image: url("images/spinner.svg"); background-position: center; background-repeat: no-repeat; background-size: contain; content: ''; display: block; font-size: 2em; height: 2em; left: 50%; line-height: 2em; margin: -1em 0 0 -1em; opacity: 0; position: fixed; text-align: center; top: 75%; visibility: hidden; width: 2em; }
body.loading #wrapper:before { -moz-transition: opacity 1s ease-out !important; -webkit-transition: opacity 1s ease-out !important; -ms-transition: opacity 1s ease-out !important; transition: opacity 1s ease-out !important; -moz-transition-delay: 0.5s !important; -webkit-transition-delay: 0.5s !important; -ms-transition-delay: 0.5s !important; transition-delay: 0.5s !important; opacity: 0.25; top: 50%; visibility: visible; }
/* Header */
body { padding: 0 0 4em 0; }
#header { -moz-transform: translateY(0); -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); -moz-transition: -moz-transform 1s ease; -webkit-transition: -webkit-transform 1s ease; -ms-transition: -ms-transform 1s ease; transition: transform 1s ease; -moz-user-select: none; -ms-user-select: none; -webkit-user-select: none; background: #1f2224; bottom: -1em; height: 5em; left: 0; line-height: 4em; padding: 0 1.5em; position: fixed; user-select: none; width: 100%; z-index: 102; }
body.loading #header { -moz-transform: translateY(4em); -webkit-transform: translateY(4em); -ms-transform: translateY(4em); transform: translateY(4em); }
#header h1 { color: #a0a0a1; display: inline-block; font-size: 1em; line-height: 1; margin: 0; vertical-align: middle; }
#header h1 a { border: 0; color: inherit; }
#header h1 a:hover { color: inherit !important; }
#header nav { position: absolute; right: 0; top: 0; }
#header nav > ul { list-style: none; margin: 0; padding: 0; }
#header nav > ul > li { display: inline-block; padding: 0; }
#header nav > ul > li a { -moz-transition: background-color 0.5s ease; -webkit-transition: background-color 0.5s ease; -ms-transition: background-color 0.5s ease; transition: background-color 0.5s ease; border: 0; color: #ffffff; display: inline-block; letter-spacing: 0.1em; padding: 0 1.65em; text-transform: uppercase; }
#header nav > ul > li a.icon:before { color: #505051; float: right; margin-left: 0.75em; }
#header nav > ul > li a:hover { color: #ffffff !important; }
#header nav > ul > li a.active { background-color: #242629; }
@media screen and (max-width: 736px) { body { padding: 4em 0 0 0; }
#header { -moz-transform: translateY(0); -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); bottom: auto; height: 4em; padding: 0 1em; top: 0; }
body.loading #header { -moz-transform: translateY(-3.4em); -webkit-transform: translateY(-3.4em); -ms-transform: translateY(-3.4em); transform: translateY(-3.4em); }
#header h1 { font-size: 0.9em; }
#header nav > ul > li a { font-size: 0.9em; padding: 0 1.15em; } }
/* Main */
#main { padding: 1.5em .5em 1em .5em; -moz-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -moz-filter 0.5s ease; -webkit-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -webkit-filter 0.5s ease; -ms-transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, -ms-filter 0.5s ease; transition: -moz-filter 0.5s ease, -webkit-filter 0.5s ease, -ms-filter 0.5s ease, filter 0.5s ease; display: -moz-flex; display: -webkit-flex; display: -ms-flex; display: flex; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
#main .thumb { -moz-transition: opacity 1.25s ease-in-out; -webkit-transition: opacity 1.25s ease-in-out; -ms-transition: opacity 1.25s ease-in-out; transition: opacity 1.25s ease-in-out; -moz-pointer-events: auto; -webkit-pointer-events: auto; -ms-pointer-events: auto; pointer-events: auto; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); opacity: 1; overflow: hidden; position: relative; justify-content: center; }
#main .thumb:after { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; background-size: cover; content: ''; display: block; height: 100%; left: 0; position: absolute; justify-content: center; top: 0; width: 100%; }
#main .thumb > .image { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); background-position: center; background-repeat: no-repeat; background-size: cover; border: 0; width: auto; height: 100%; object-fit: cover; }
#main .thumb > .link { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); background-position: center; background-repeat: no-repeat; background-size: cover; border: 0; width: 100%; }
#main .thumb > h2 { font-family: "Faune", sans-serif;; font-size: 1em; letter-spacing: 1px; font-weight: 900; color: whitesmoke; -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; bottom: 1.5em; left: 2.1875em; margin: 0; position: absolute; z-index: 1; }
#main .thumb > p { display: none; }
#main:after { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; -moz-transition: opacity 0.5s ease, visibility 0.5s; -webkit-transition: opacity 0.5s ease, visibility 0.5s; -ms-transition: opacity 0.5s ease, visibility 0.5s; transition: opacity 0.5s ease, visibility 0.5s; background: rgba(36, 38, 41, 0.25); content: ''; display: block; height: 100%; left: 0; opacity: 1; position: absolute; top: 0; visibility: hidden; width: 100%; z-index: 1; }
body.ie #main:after { background: rgba(36, 38, 41, 0.55); }
#main:before { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; -moz-transition: opacity 0.5s ease, visibility 0.5s; -webkit-transition: opacity 0.5s ease, visibility 0.5s; -ms-transition: opacity 0.5s ease, visibility 0.5s; transition: opacity 0.5s ease, visibility 0.5s; background: rgba(36, 38, 41, 0.25); content: ''; display: block; height: 100%; left: 0; opacity: 1; position: absolute; top: 0; visibility: hidden; width: 100%; z-index: 1; }
body.ie #main:before { background: rgba(36, 38, 41, 0.55); }
body.content-active #main { -moz-filter: blur(6px); -webkit-filter: blur(6px); -ms-filter: blur(6px); filter: blur(6px); }
body.content-active #main:after { -moz-pointer-events: auto; -webkit-pointer-events: auto; -ms-pointer-events: auto; pointer-events: auto; opacity: 1; visibility: visible; }
body.loading #main .thumb { -moz-pointer-events: none; -webkit-pointer-events: none; -ms-pointer-events: none; pointer-events: none; opacity: 0; visibility: hidden;}
#main .thumb { transition-delay: 1.5s; width: 100%; }
#main .thumb:nth-child(1) { transition-delay: 0.3s; }
#main .thumb:nth-child(2) { transition-delay: 0.4s; }
#main .thumb:nth-child(3) { transition-delay: 0.5s; }
#main .thumb:nth-child(4) { transition-delay: 0.6s; }
#main .thumb:nth-child(5) { transition-delay: 0.7s; }
#main .thumb:nth-child(6) { transition-delay: 0.8s; }
#main .thumb:nth-child(7) { transition-delay: 0.9s; }
#main .thumb:nth-child(8) { transition-delay: 1.0s; }
#main .thumb:nth-child(9) { transition-delay: 1.1s; }
#main .thumb:nth-child(10) { transition-delay: 1.2s; }
#main .thumb:nth-child(11) { transition-delay: 1.3s; }
#main .thumb:nth-child(12) { transition-delay: 1.4s; }
/* Footer */
#footer .copyright { color: #505051; font-size: 0.9em; }
#footer .copyright a { color: inherit; }
/* Magnific Popup Lightbox */
.mfp-container a, .mfp-container button, .mfp-container .nav-left, .mfp-container .nav-right { transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; text-decoration: none; }
.mfp-container .nav-left, .mfp-container .nav-right { background-image: url("images/arrow.svg"); background-position: center; background-repeat: no-repeat; background-size: 5em; cursor: pointer; height: 8em; margin-top: -4em; opacity: 0.65; position: absolute; top: 50%; width: 6em; z-index: 1046; border-bottom: none; box-shadow: none; }
.mfp-container .nav-left:hover, .mfp-container .nav-right:hover { opacity: 1; }
.mfp-container .nav-left { transform: scaleX(-1); left: 0; }
.mfp-container .nav-right { right: 0; }
.mfp-bottom-bar .mfp-title { float: left; width: 100%; }
.mfp-bottom-bar .caption-surround { float: left; }
.mfp-bottom-bar .caption-surround h2 { margin-bottom: .25em; }
.mfp-bottom-bar .download-button { float: right; padding-left: 1em; padding-right: 1em; }
.mfp-bottom-bar .download-button a { border-bottom: none; }
.mfp-bottom-bar .download-button a, .mfp-figure .mfp-close { opacity: .65; color: #ffffff; }
.mfp-bottom-bar .download-button a:hover, .mfp-figure .mfp-close:hover { opacity: 1; }
article.thumb a:focus img { border: solid 1px #ffffff; }
/* TODO: implement flexible, changing multicolumn layout, in Javascript */
/* For now - max-width of 1200px */
body, #footer, #header { max-width: 1200px; margin: 0 auto; left: auto; }
/* Other */
.taxonomy_list div { display: flex; flex-wrap: wrap; padding: 0; }
.tax_term { margin: 0 5px 0 0; height: fit-content; }
.taxonomy_list h2 { margin-right: 5px; }
.caption_tax { display: none; }
.caption-surround .caption_tax { display: flex; flex-wrap: wrap; padding: 0; }
.invis_desc { display: none; }

View File

@@ -0,0 +1,24 @@
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 300;
src: url(../fonts/ssp/SourceSansPro-LightItalic.ttf) format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: italic;
font-weight: 400;
src: url(../fonts/ssp/SourceSansPro-Italic.ttf) format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 300;
src: url(../fonts/ssp/SourceSansPro-Light.ttf) format('truetype');
}
@font-face {
font-family: 'Source Sans Pro';
font-style: normal;
font-weight: 400;
src: url(../fonts/ssp/SourceSansPro-Regular.ttf) format('truetype');
}

View File

@@ -0,0 +1,89 @@
/* Webfonts */
@import url(webfonts.css);
/* Blockquote */
blockquote {
p {
display: inline;
/* QUOTE WITH AUTHOR/SOURCE */
// Handle the source/author of the quote
&:last-of-type {
quotes: "\201C" "\201D" "\2018" "\2019";
font-style: italic;
// Handle the closing double quote, before source/author
&::before {
content: close-quote "\000A" "\2014" " ";
white-space: pre;
margin-left: 0.1rem;
font-style: normal;
}
}
// Handle the opening double quote, before the quote
&:first-of-type {
quotes: "\201C" "\201D" "\2018" "\2019";
&::before {
content: open-quote;
margin-right: 0.1rem;
}
}
/* QUOTE WITHOUT AUTHOR/SOURCE */
// In case of only one quote, without source.
&:only-of-type {
quotes: "\201C" "\201D" "\2018" "\2019";
font-style: normal;
&::before {
content: open-quote;
margin-right: 0.1rem;
}
&::after {
content: close-quote;
margin-left: 0.1rem;
}
}
}
background: var(--color-bg-blockquote);
border: 1px solid var(--color-border-blockquote);
border-left: 9px solid var(--color-border-blockquote);
padding: 0.3rem 0.8rem;
font-size: $size-font-blockquote;
@include breakpoint-min-md {
padding: 0.8rem 1.3rem;
font-size: $size-font-blockquote-large;
}
}
/* Overlay */
#main .thumb > .overlay {
position: absolute;
width: 100%;
height: 100%;
background: rgba(57, 57, 57, 0.502);
top: 0;
left: 0;
transform: scale(0);
transition: all 0.2s 0.1s ease-in-out;
color: whitesmoke;
border-radius: 5px;
/* center overlay content */
display: flex;
align-items: center;
justify-content: center;
}
/* hover */
#main .thumb:hover .overlay {
transform: scale(1);
}

View File

@@ -0,0 +1,75 @@
/* Webfonts */
/* Faune */
@font-face {
font-family: 'Faune';
src: url('../fonts/eot/Faune-Text_Regular.eot');
src: url('../fonts/eot/Faune-Text_Regular.eot?#iefix') format('embedded-opentype'),
url('../fonts/woff/Faune-Text_Regular.woff') format('woff'),
url('../fonts/woff2/Faune-Text_Regular.woff2') format('woff2'),
url('../fonts/ttf/Faune-Text_Regular.ttf') format('truetype'),
url('../fonts/svg/Faune-Text_Regular.svg#svgFontName') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Faune';
src: url('../fonts/eot/Faune-Text_Bold.eot');
src: url('../fonts/eot/Faune-Text_Bold.eot?#iefix') format('embedded-opentype'),
url('../fonts/woff/Faune-Text_Bold.woff') format('woff'),
url('../fonts/woff2Faune-Text_Bold.woff2') format('woff2'),
url('../fonts/ttf/Faune-Text_Bold.ttf') format('truetype'),
url('../fonts/svg/Faune-Text_Bold.svg#svgFontName') format('svg');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Faune';
src: url('../fonts/eot/Faune-Text_Italic.eot');
src: url('../fonts/eot/Faune-Text_Italic.eot?#iefix') format('embedded-opentype'),
url('../fonts/woff/Faune-Text_Italic.woff') format('woff'),
url('../fonts/woff2Faune-Text_Italic.woff2') format('woff2'),
url('../fonts/ttf/Faune-Text_Italic.ttf') format('truetype'),
url('../fonts/svg/Faune-Text_Italic.svg#svgFontName') format('svg');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Faune';
src: url('../fonts/eot/Faune-Display_Bold_Italic.eot');
src: url('../fonts/eot/Faune-Display_Bold_Italic.eot?#iefix') format('embedded-opentype'),
url('../fonts/woff/Faune-Display_Bold_Italic.woff') format('woff'),
url('../fonts/woff2Faune-Display_Bold_Italic.woff2') format('woff2'),
url('../fonts/ttf/Faune-Display_Bold_Italic.ttf') format('truetype'),
url('../fonts/svg/Faune-Display_Bold_Italic.svg#svgFontName') format('svg');
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: 'Faune';
src: url('../fonts/eot/Faune-Display_Thin.eot');
src: url('../fonts/eot/Faune-Display_Thin.eot?#iefix') format('embedded-opentype'),
url('../fonts/woff/Faune-Display_Thin.woff') format('woff'),
url('../fonts/woff2Faune-Display_Thin.woff2') format('woff2'),
url('../fonts/ttf/Faune-Display_Thin.ttf') format('truetype'),
url('../fonts/svg/Faune-Display_Thin.svg#svgFontName') format('svg');
font-weight: 100;
font-style: normal;
}
@font-face {
font-family: 'Faune';
src: url('../fonts/eot/Faune-Display_Black.eot');
src: url('../fonts/eot/Faune-Display_Black.eot?#iefix') format('embedded-opentype'),
url('../fonts/woff/Faune-Display_Black.woff') format('woff'),
url('../fonts/woff2/Faune-Display_Black.woff2') format('woff2'),
url('../fonts/ttf/Faune-Display_Black.ttf') format('truetype'),
url('../fonts/svg/Faune-Display_Black.svg#svgFontName') format('svg');
font-weight: 900;
font-style: normal;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,303 @@
(function($) {
$(function() {
var $window = $(window),
$body = $('body'),
$wrapper = $('#wrapper');
// Add (and later, on load, remove) "loading" class.
$body.addClass('loading');
if( document.readyState != 'loading' ) {
window.setTimeout(function() {
$body.removeClass('loading');
}, 100);
} else {
$window.on('load', function() {
window.setTimeout(function() {
$body.removeClass('loading');
}, 100);
});
}
// Prevent transitions/animations on resize.
var resizeTimeout;
$window.on('resize', function() {
window.clearTimeout(resizeTimeout);
$body.addClass('resizing');
resizeTimeout = window.setTimeout(function() {
$body.removeClass('resizing');
}, 100);
});
// Scroll back to top.
$window.scrollTop(0);
// Fix: Placeholder polyfill.
$('form').placeholder();
// Panels.
var $panels = $('.panel');
$panels.each(function() {
var $this = $(this),
$toggles = $('[href="#' + $this.attr('id') + '"]'),
$closer = $('<div class="closer" />').appendTo($this);
// Closer.
$closer
.on('click', function(event) {
$this.trigger('---hide');
});
// Events.
$this
.on('click', function(event) {
event.stopPropagation();
})
.on('---toggle', function() {
if ($this.hasClass('active'))
$this.triggerHandler('---hide');
else
$this.triggerHandler('---show');
})
.on('---show', function() {
// Hide other content.
if ($body.hasClass('content-active'))
$panels.trigger('---hide');
// Activate content, toggles.
$this.addClass('active');
$toggles.addClass('active');
// Activate body.
$body.addClass('content-active');
})
.on('---hide', function() {
// Deactivate content, toggles.
$this.removeClass('active');
$toggles.removeClass('active');
// Deactivate body.
$body.removeClass('content-active');
});
// Toggles.
$toggles
.removeAttr('href')
.css('cursor', 'pointer')
.on('click', function(event) {
event.preventDefault();
event.stopPropagation();
$this.trigger('---toggle');
});
});
// Global events.
$body
.on('click', function(event) {
if ($body.hasClass('content-active')) {
event.preventDefault();
event.stopPropagation();
$panels.trigger('---hide');
}
});
$window
.on('keyup', function(event) {
if (event.keyCode == 27
&& $body.hasClass('content-active')) {
event.preventDefault();
event.stopPropagation();
$panels.trigger('---hide');
}
});
// Footer.
var $footer = $('#footer');
// Main.
var $main = $('#main');
// Thumbs.
$main.children('.thumb').each(function() {
var $this = $(this),
$image = $this.find('.image'), $image_img = $image.children('img'),
x;
// No image? Bail.
if ($image.length == 0)
return;
// Image.
// This sets the background of the "image" <span> to the image pointed to by its child
// <img> (which is then hidden). Gives us way more flexibility.
// Set background.
$image.css('background-image', 'url(' + $image_img.attr('src') + ')');
// Set background position.
if (x = $image_img.data('position'))
$image.css('background-position', x);
// Hide original img.
$image_img.hide();
});
// Thumbs Index.
$main.children('.thumb').each(function() {
var $this = $(this),
$link = $this.find('.link'), $link_img = $link.children('img'),
x;
// No link? Bail.
if ($link.length == 0)
return;
// link.
// This sets the background of the "link" <span> to the link pointed to by its child
// <img> (which is then hidden). Gives us way more flexibility.
// Set background.
$link.css('background-image', 'url(' + $link_img.attr('src') + ')');
// Set background position.
if (x = $link_img.data('position'))
$link.css('background-position', x);
// Hide original img.
$link_img.hide();
});
var gallery_items = $(".gallery-item").sort(
function(item_a, item_b){
return item_a.getAttribute("gallery_index") -
item_b.getAttribute("gallery_index");
}
);
gallery_items.magnificPopup({
type: "image",
mainClass: "mfp-img-mobile",
image: {
titleSrc: function(item) {
let caption = '';
if(item.el.attr("downloadable") == "true"){
caption += '<div title="Download" ' +
'class="download-button"><a href="' +
item.el.attr("download_file") + '" download="' +
item.el.attr("orig_name") +
'"><i class="fa fa-download"></i></a></div>';
}
caption += '<div class="caption-surround">';
if( item.el.attr("phototitle") != "" ) {
caption += "<h2>" + item.el.attr("phototitle") + "</h2>";
}
if( item.el.attr("description") != "" ) {
caption += '<div class="description">' +
item.el.attr("description") + "</div>";
}
let tax_elem = item.el.parent().find(".caption_tax");
if( tax_elem.length > 0 ) {
caption += tax_elem[0].outerHTML;
}
caption += "</div>";
return caption;
},
},
gallery:{
enabled:true,
arrowMarkup: '<button title="%title%" class="nav-%dir%"></button>',
},
callbacks: {
change: function() {
// Replace the current history state with a URL with
// a new hash part. The hash part tells the site to load
// a specific image in fullscreen. Replacing the history
// causes the back and forward buttons to now go to the
// URL with the hash version... Simply changing the URL
// will instead cause a browser to add a new URL to the
// history with the hash part. Then if you look at a ton
// of images on one page, they'll all clutter up your history
// and you'll have to back through them all to get back to
// what seems like the previous page. I think this
// replaceState version is a better behavior.
const hash = "#" + this.currItem.el.attr("id");
window.history.replaceState(undefined, undefined, hash);
},
close: function() {
// Clear the hash part without adding new things to the history
window.history.replaceState(undefined, undefined, "");
},
},
fixedContentPos: true,
});
// If there's a fragment id, see if it's an image index
// If it is, and it's really a gallery_item then click on it
let click_hash = function () {
let fid = $(window.location.hash);
if( fid.length == 1 &&
(
fid[0].classList.contains("gallery-item") ||
fid[0].classList.contains("gallery-item-marker")
)
) {
let curr_item = $.magnificPopup.instance.currItem;
if( curr_item &&
curr_item.el.attr("id") == fid[0].id )
{
// Nothing needs to happen in this case...
return false;
} else
{
// Otherwise we need to update the popup, so click it
fid.click();
return false;
}
} else {
// Some other hash was present, let the browser handle it
$.magnificPopup.close();
return true;
}
return true;
}
// Check the fragment id at load
if( window.location.hash != "" ) {
click_hash();
}
// Check the fragment id on hashchange
$(window).on("hashchange", click_hash);
});
})(jQuery);

View File

@@ -0,0 +1,587 @@
(function($) {
/**
* Generate an indented list of links from a nav. Meant for use with panel().
* @return {jQuery} jQuery object.
*/
$.fn.navList = function() {
var $this = $(this);
$a = $this.find('a'),
b = [];
$a.each(function() {
var $this = $(this),
indent = Math.max(0, $this.parents('li').length - 1),
href = $this.attr('href'),
target = $this.attr('target');
b.push(
'<a ' +
'class="link depth-' + indent + '"' +
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
'>' +
'<span class="indent-' + indent + '"></span>' +
$this.text() +
'</a>'
);
});
return b.join('');
};
/**
* Panel-ify an element.
* @param {object} userConfig User config.
* @return {jQuery} jQuery object.
*/
$.fn.panel = function(userConfig) {
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).panel(userConfig);
return $this;
}
// Vars.
var $this = $(this),
$body = $('body'),
$window = $(window),
id = $this.attr('id'),
config;
// Config.
config = $.extend({
// Delay.
delay: 0,
// Hide panel on link click.
hideOnClick: false,
// Hide panel on escape keypress.
hideOnEscape: false,
// Hide panel on swipe.
hideOnSwipe: false,
// Reset scroll position on hide.
resetScroll: false,
// Reset forms on hide.
resetForms: false,
// Side of viewport the panel will appear.
side: null,
// Target element for "class".
target: $this,
// Class to toggle.
visibleClass: 'visible'
}, userConfig);
// Expand "target" if it's not a jQuery object already.
if (typeof config.target != 'jQuery')
config.target = $(config.target);
// Panel.
// Methods.
$this._hide = function(event) {
// Already hidden? Bail.
if (!config.target.hasClass(config.visibleClass))
return;
// If an event was provided, cancel it.
if (event) {
event.preventDefault();
event.stopPropagation();
}
// Hide.
config.target.removeClass(config.visibleClass);
// Post-hide stuff.
window.setTimeout(function() {
// Reset scroll position.
if (config.resetScroll)
$this.scrollTop(0);
// Reset forms.
if (config.resetForms)
$this.find('form').each(function() {
this.reset();
});
}, config.delay);
};
// Vendor fixes.
$this
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
.css('-webkit-overflow-scrolling', 'touch');
// Hide on click.
if (config.hideOnClick) {
$this.find('a')
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
$this
.on('click', 'a', function(event) {
var $a = $(this),
href = $a.attr('href'),
target = $a.attr('target');
if (!href || href == '#' || href == '' || href == '#' + id)
return;
// Cancel original event.
event.preventDefault();
event.stopPropagation();
// Hide panel.
$this._hide();
// Redirect to href.
window.setTimeout(function() {
if (target == '_blank')
window.open(href);
else
window.location.href = href;
}, config.delay + 10);
});
}
// Event: Touch stuff.
$this.on('touchstart', function(event) {
$this.touchPosX = event.originalEvent.touches[0].pageX;
$this.touchPosY = event.originalEvent.touches[0].pageY;
})
$this.on('touchmove', function(event) {
if ($this.touchPosX === null
|| $this.touchPosY === null)
return;
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
th = $this.outerHeight(),
ts = ($this.get(0).scrollHeight - $this.scrollTop());
// Hide on swipe?
if (config.hideOnSwipe) {
var result = false,
boundary = 20,
delta = 50;
switch (config.side) {
case 'left':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
break;
case 'right':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
break;
case 'top':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
break;
case 'bottom':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
break;
default:
break;
}
if (result) {
$this.touchPosX = null;
$this.touchPosY = null;
$this._hide();
return false;
}
}
// Prevent vertical scrolling past the top or bottom.
if (($this.scrollTop() < 0 && diffY < 0)
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
event.preventDefault();
event.stopPropagation();
}
});
// Event: Prevent certain events inside the panel from bubbling.
$this.on('click touchend touchstart touchmove', function(event) {
event.stopPropagation();
});
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
$this.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
config.target.removeClass(config.visibleClass);
});
// Body.
// Event: Hide panel on body click/tap.
$body.on('click touchend', function(event) {
$this._hide(event);
});
// Event: Toggle.
$body.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
config.target.toggleClass(config.visibleClass);
});
// Window.
// Event: Hide on ESC.
if (config.hideOnEscape)
$window.on('keydown', function(event) {
if (event.keyCode == 27)
$this._hide(event);
});
return $this;
};
/**
* Apply "placeholder" attribute polyfill to one or more forms.
* @return {jQuery} jQuery object.
*/
$.fn.placeholder = function() {
// Browser natively supports placeholders? Bail.
if (typeof (document.createElement('input')).placeholder != 'undefined')
return $(this);
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).placeholder();
return $this;
}
// Vars.
var $this = $(this);
// Text, TextArea.
$this.find('input[type=text],textarea')
.each(function() {
var i = $(this);
if (i.val() == ''
|| i.val() == i.attr('placeholder'))
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('blur', function() {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == '')
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('focus', function() {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == i.attr('placeholder'))
i
.removeClass('polyfill-placeholder')
.val('');
});
// Password.
$this.find('input[type=password]')
.each(function() {
var i = $(this);
var x = $(
$('<div>')
.append(i.clone())
.remove()
.html()
.replace(/type="password"/i, 'type="text"')
.replace(/type=password/i, 'type=text')
);
if (i.attr('id') != '')
x.attr('id', i.attr('id') + '-polyfill-field');
if (i.attr('name') != '')
x.attr('name', i.attr('name') + '-polyfill-field');
x.addClass('polyfill-placeholder')
.val(x.attr('placeholder')).insertAfter(i);
if (i.val() == '')
i.hide();
else
x.hide();
i
.on('blur', function(event) {
event.preventDefault();
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
});
x
.on('focus', function(event) {
event.preventDefault();
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
x.hide();
i
.show()
.focus();
})
.on('keypress', function(event) {
event.preventDefault();
x.val('');
});
});
// Events.
$this
.on('submit', function() {
$this.find('input[type=text],input[type=password],textarea')
.each(function(event) {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
i.attr('name', '');
if (i.val() == i.attr('placeholder')) {
i.removeClass('polyfill-placeholder');
i.val('');
}
});
})
.on('reset', function(event) {
event.preventDefault();
$this.find('select')
.val($('option:first').val());
$this.find('input,textarea')
.each(function() {
var i = $(this),
x;
i.removeClass('polyfill-placeholder');
switch (this.type) {
case 'submit':
case 'reset':
break;
case 'password':
i.val(i.attr('defaultValue'));
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
else {
i.show();
x.hide();
}
break;
case 'checkbox':
case 'radio':
i.attr('checked', i.attr('defaultValue'));
break;
case 'text':
case 'textarea':
i.val(i.attr('defaultValue'));
if (i.val() == '') {
i.addClass('polyfill-placeholder');
i.val(i.attr('placeholder'));
}
break;
default:
i.val(i.attr('defaultValue'));
break;
}
});
});
return $this;
};
/**
* Moves elements to/from the first positions of their respective parents.
* @param {jQuery} $elements Elements (or selector) to move.
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
*/
$.prioritize = function($elements, condition) {
var key = '__prioritize';
// Expand $elements if it's not already a jQuery object.
if (typeof $elements != 'jQuery')
$elements = $($elements);
// Step through elements.
$elements.each(function() {
var $e = $(this), $p,
$parent = $e.parent();
// No parent? Bail.
if ($parent.length == 0)
return;
// Not moved? Move it.
if (!$e.data(key)) {
// Condition is false? Bail.
if (!condition)
return;
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
$p = $e.prev();
// Couldn't find anything? Means this element's already at the top, so bail.
if ($p.length == 0)
return;
// Move element to top of parent.
$e.prependTo($parent);
// Mark element as moved.
$e.data(key, $p);
}
// Moved already?
else {
// Condition is true? Bail.
if (condition)
return;
$p = $e.data(key);
// Move element back to its original location (using our placeholder).
$e.insertAfter($p);
// Unmark element as moved.
$e.removeData(key);
}
});
};
})(jQuery);