first commit
This commit is contained in:
4
themes/roazhon/assets/css/font-awesome.min.css
vendored
Normal file
4
themes/roazhon/assets/css/font-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8003
themes/roazhon/assets/css/fontawesome/all.css
vendored
Normal file
8003
themes/roazhon/assets/css/fontawesome/all.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1573
themes/roazhon/assets/css/fontawesome/brands.css
vendored
Normal file
1573
themes/roazhon/assets/css/fontawesome/brands.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6369
themes/roazhon/assets/css/fontawesome/fontawesome.css
vendored
Normal file
6369
themes/roazhon/assets/css/fontawesome/fontawesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
19
themes/roazhon/assets/css/fontawesome/regular.css
vendored
Normal file
19
themes/roazhon/assets/css/fontawesome/regular.css
vendored
Normal 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; }
|
||||
19
themes/roazhon/assets/css/fontawesome/solid.css
vendored
Normal file
19
themes/roazhon/assets/css/fontawesome/solid.css
vendored
Normal 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; }
|
||||
351
themes/roazhon/assets/css/magnific-popup.css
Normal file
351
themes/roazhon/assets/css/magnific-popup.css
Normal 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; } }
|
||||
333
themes/roazhon/assets/css/main.css
Normal file
333
themes/roazhon/assets/css/main.css
Normal 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; }
|
||||
24
themes/roazhon/assets/css/source-sans-pro.css
Normal file
24
themes/roazhon/assets/css/source-sans-pro.css
Normal 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');
|
||||
}
|
||||
89
themes/roazhon/assets/css/user.css
Normal file
89
themes/roazhon/assets/css/user.css
Normal 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);
|
||||
}
|
||||
75
themes/roazhon/assets/css/webfonts.css
Normal file
75
themes/roazhon/assets/css/webfonts.css
Normal 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;
|
||||
}
|
||||
|
||||
1885
themes/roazhon/assets/js/jquery.magnific-popup.js
Normal file
1885
themes/roazhon/assets/js/jquery.magnific-popup.js
Normal file
File diff suppressed because it is too large
Load Diff
2
themes/roazhon/assets/js/jquery.min.js
vendored
Normal file
2
themes/roazhon/assets/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
303
themes/roazhon/assets/js/main.js
Normal file
303
themes/roazhon/assets/js/main.js
Normal 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);
|
||||
587
themes/roazhon/assets/js/util.js
Normal file
587
themes/roazhon/assets/js/util.js
Normal 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);
|
||||
Reference in New Issue
Block a user