|
Server IP : 217.21.85.138 / Your IP : 216.73.216.103 Web Server : LiteSpeed System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u915722082 ( 915722082) PHP Version : 7.4.33 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF Directory (0755) : /home/u915722082/public_html/greenpack/../weaving/../at/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<!DOCTYPE html>
<html lang="en" class="no-js" >
<head>
<!--- basic page needs
================================================== -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HIFIZIQ</title>
<script>
document.documentElement.classList.remove('no-js');
document.documentElement.classList.add('js');
</script>
<link rel="apple-touch-icon" sizes="180x180" href="https://hifiziq.com/assets/images/favicon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://hifiziq.com/assets/images/favicon.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://hifiziq.com/assets/images/favicon.png">
<link rel="manifest" href="site.webmanifest">
<style>
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");
:root {
--font-1 : "Inter", sans-serif;
/* monospace
*/
--font-mono : Consolas, "Andale Mono", Courier, "Courier New", monospace;
}
/* -------------------------------------------------------------------
* ## colors
* ------------------------------------------------------------------- */
:root {
/* color-1(#034E4A)
* color-2(#A33B20)
*/
--color-1 : hsla(177, 93%, 16%, 1);
--color-2 : hsla(12, 67%, 38%, 1);
/* theme color variations
*/
--color-1-lighter : hsla(177, 93%, 36%, 1);
--color-1-light : hsla(177, 93%, 26%, 1);
--color-1-dark : hsla(177, 93%, 10%, 1);
--color-1-darker : hsla(177, 93%, 5%, 1);
--color-2-lighter : hsla(12, 67%, 58%, 1);
--color-2-light : hsla(12, 67%, 48%, 1);
--color-2-dark : hsla(12, 67%, 28%, 1);
--color-2-darker : hsla(12, 67%, 18%, 1);
/* feedback colors
* color-error(#ffd1d2), color-success(#c8e675),
* color-info(#d7ecfb), color-notice(#fff099)
*/
--color-error : hsla(359, 100%, 91%, 1);
--color-success : hsla(76, 69%, 68%, 1);
--color-info : hsla(205, 82%, 91%, 1);
--color-notice : hsla(51, 100%, 80%, 1);
--color-error-content : hsla(359, 50%, 50%, 1);
--color-success-content : hsla(76, 29%, 28%, 1);
--color-info-content : hsla(205, 32%, 31%, 1);
--color-notice-content : hsla(51, 30%, 30%, 1);
/* shades
* generated using
* Tint & Shade Generator
* (https://maketintsandshades.com/)
*/
--color-black : #000000;
--color-gray-19 : #020202;
--color-gray-18 : #040404;
--color-gray-17 : #060607;
--color-gray-16 : #080809;
--color-gray-15 : #0a0b0b;
--color-gray-14 : #0c0d0d;
--color-gray-13 : #0e0f0f;
--color-gray-12 : #101112;
--color-gray-11 : #121314;
--color-gray-10 : #141516;
--color-gray-9 : #2c2c2d;
--color-gray-8 : #434445;
--color-gray-7 : #5b5b5c;
--color-gray-6 : #727373;
--color-gray-5 : #8a8a8b;
--color-gray-4 : #a1a1a2;
--color-gray-3 : #b9b9b9;
--color-gray-2 : #d0d0d0;
--color-gray-1 : #e8e8e8;
--color-white : #ffffff;
/* text
*/
--color-text : var(--color-gray-12);
--color-text-dark : var(--color-black);
--color-text-light : var(--color-gray-8);
--color-placeholder : var(--color-gray-7);
/* buttons
*/
--color-btn : var(--color-gray-1);
--color-btn-text : var(--color-black);
--color-btn-hover : var(--color-gray-2);
--color-btn-hover-text : var(--color-black);
--color-btn-primary : var(--color-1);
--color-btn-primary-text : var(--color-white);
--color-btn-primary-hover : var(--color-black);
--color-btn-primary-hover-text : var(--color-white);
--color-btn-stroke : var(--color-black);
--color-btn-stroke-text : var(--color-black);
--color-btn-stroke-hover : var(--color-black);
--color-btn-stroke-hover-text : var(--color-white);
/* preloader
*/
--color-preloader-bg : var(--color-gray-12);
--color-loader : white;
--color-loader-light : rgba(255, 255, 255, 0.1);
/* others
*/
--color-body : var(--color-white);
--color-border : rgba(0, 0, 0, .08);
--border-radius : 3px;
}
/* -------------------------------------------------------------------
* ## spacing and typescale
* ------------------------------------------------------------------- */
:root {
/* spacing
* base font size: 18px
* vertical space unit : 32px
*/
--base-size : 62.5%;
--multiplier : 1;
--base-font-size : calc(1.8rem * var(--multiplier));
--space : calc(3.2rem * var(--multiplier));
/* vertical spacing
*/
--vspace-0_125 : calc(0.125 * var(--space));
--vspace-0_25 : calc(0.25 * var(--space));
--vspace-0_375 : calc(0.375 * var(--space));
--vspace-0_5 : calc(0.5 * var(--space));
--vspace-0_625 : calc(0.625 * var(--space));
--vspace-0_75 : calc(0.75 * var(--space));
--vspace-0_875 : calc(0.875 * var(--space));
--vspace-1 : calc(var(--space));
--vspace-1_25 : calc(1.25 * var(--space));
--vspace-1_5 : calc(1.5 * var(--space));
--vspace-1_75 : calc(1.75 * var(--space));
--vspace-2 : calc(2 * var(--space));
--vspace-2_5 : calc(2.5 * var(--space));
--vspace-3 : calc(3 * var(--space));
--vspace-3_5 : calc(3.5 * var(--space));
--vspace-4 : calc(4 * var(--space));
--vspace-4_5 : calc(4.5 * var(--space));
--vspace-5 : calc(5 * var(--space));
--text-scale-ratio : 1.2;
--text-size : var(--base-font-size);
--text-xs : calc((var(--text-size) / var(--text-scale-ratio)) / var(--text-scale-ratio));
--text-sm : calc(var(--text-xs) * var(--text-scale-ratio));
--text-md : calc(var(--text-sm) * var(--text-scale-ratio) * var(--text-scale-ratio));
--text-lg : calc(var(--text-md) * var(--text-scale-ratio));
--text-xl : calc(var(--text-lg) * var(--text-scale-ratio));
--text-xxl : calc(var(--text-xl) * var(--text-scale-ratio));
--text-xxxl : calc(var(--text-xxl) * var(--text-scale-ratio));
--text-display-1 : calc(var(--text-xxxl) * var(--text-scale-ratio));
--text-display-2 : calc(var(--text-display-1) * var(--text-scale-ratio));
--text-display-3 : calc(var(--text-display-2) * var(--text-scale-ratio));
/* default button height
*/
--vspace-btn : var(--vspace-2);
}
@media screen and (max-width: 600px) {
:root {
--multiplier : .9375;
}
}
/* -------------------------------------------------------------------
* ## grid variables
* ------------------------------------------------------------------- */
:root {
/* widths for rows and containers
*/
--width-full : 100%;
--width-max : 1200px;
--width-wide : 1400px;
--width-wider : 1600px;
--width-widest : 1800px;
--width-narrow : 1000px;
--width-narrower : 800px;
--width-grid-max : var(--width-max);
/* gutter
*/
--gutter : 2.4rem;
}
/* on medium screen devices
*/
@media screen and (max-width: 1200px) {
:root {
--gutter : 2rem;
}
}
/* on mobile devices
*/
@media screen and (max-width: 600px) {
:root {
--gutter : 1rem;
}
}
html {
line-height : 1.15;
-webkit-text-size-adjust : 100%;
}
body {
margin : 0;
}
main {
display : block;
}
h1 {
font-size : 2em;
margin : 0.67em 0;
}
hr {
box-sizing : content-box;
height : 0;
overflow : visible;
}
pre {
font-family : monospace, monospace;
font-size : 1em;
}
a {
background-color : transparent;
}
abbr[title] {
border-bottom : none;
text-decoration : underline;
text-decoration : underline dotted;
}
b,
strong {
font-weight : bolder;
}
code,
kbd,
samp {
font-family : monospace, monospace;
font-size : 1em;
}
small {
font-size : 80%;
}
sub,
sup {
font-size : 75%;
line-height : 0;
position : relative;
vertical-align : baseline;
}
sub {
bottom : -0.25em;
}
sup {
top : -0.5em;
}
img {
border-style : none;
}
legend {
box-sizing : border-box;
color : inherit;
display : table;
max-width : 100%;
padding : 0;
white-space : normal;
}
progress {
vertical-align : baseline;
}
textarea {
overflow : auto;
}
[type="checkbox"],
[type="radio"] {
box-sizing : border-box;
padding : 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height : auto;
}
[type="search"] {
-webkit-appearance : textfield;
outline-offset : -2px;
}
[type="search"]::-webkit-search-decoration {
-webkit-appearance : none;
}
::-webkit-file-upload-button {
-webkit-appearance : button;
font : inherit;
}
details {
display : block;
}
summary {
display : list-item;
}
template {
display : none;
}
[hidden] {
display : none;
}
/* ===================================================================
* # BASE SETUP
*
*
* ------------------------------------------------------------------- */
html {
font-size : var(--base-size);
box-sizing : border-box;
}
*,
*::before,
*::after {
box-sizing : inherit;
}
html,
body {
height : 100%;
}
body {
background-color : var(--color-body);
-webkit-overflow-scrolling : touch;
-webkit-text-size-adjust : 100%;
-webkit-tap-highlight-color : rgba(0, 0, 0, 0);
-webkit-font-smoothing : antialiased;
-moz-osx-font-smoothing : grayscale;
}
p {
font-size : inherit;
text-rendering : optimizeLegibility;
}
a {
text-decoration : none;
}
svg,
img,
video {
max-width : 100%;
height : auto;
}
pre {
overflow : auto;
}
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
margin : 0;
padding : 0;
}
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
-webkit-appearance : none;
-moz-appearance : none;
appearance : none;
}
.row {
width : 92%;
max-width : var(--width-grid-max);
margin : 0 auto;
display : flex;
flex-flow : row wrap;
}
.row .row {
width : auto;
max-width : none;
margin-left : calc(var(--gutter) * -1);
margin-right : calc(var(--gutter) * -1);
}
/* column
*/
.column {
display : block;
flex : 1 1 0%;
padding : 0 var(--gutter);
}
.collapse>.column,
.column.collapse {
padding : 0;
}
/* row utility classes
*/
.row.row-wrap {
flex-wrap : wrap;
}
.row.row-nowrap {
flex-wrap : nowrap;
}
.row.row-y-top {
align-items : flex-start;
}
.row.row-y-bottom {
align-items : flex-end;
}
.row.row-y-center {
align-items : center;
}
.row.row-stretch {
align-items : stretch;
}
.row.row-baseline {
align-items : baseline;
}
.row.row-x-left {
justify-content : flex-start;
}
.row.row-x-right {
justify-content : flex-end;
}
.row.row-x-center {
justify-content : center;
}
/* --------------------------------------------------------------------
* ## large screen devices
* -------------------------------------------------------------------- */
.lg-1 {
flex : none;
width : 8.33333%;
}
.lg-2 {
flex : none;
width : 16.66667%;
}
.lg-3 {
flex : none;
width : 25%;
}
.lg-4 {
flex : none;
width : 33.33333%;
}
.lg-5 {
flex : none;
width : 41.66667%;
}
.lg-6 {
flex : none;
width : 50%;
}
.lg-7 {
flex : none;
width : 58.33333%;
}
.lg-8 {
flex : none;
width : 66.66667%;
}
.lg-9 {
flex : none;
width : 75%;
}
.lg-10 {
flex : none;
width : 83.33333%;
}
.lg-11 {
flex : none;
width : 91.66667%;
}
.lg-12 {
flex : none;
width : 100%;
}
.block-lg-one-eight>.column {
flex : none;
width : 12.5%;
}
.block-lg-one-sixth>.column {
flex : none;
width : 16.66667%;
}
.block-lg-one-fifth>.column {
flex : none;
width : 20%;
}
.block-lg-one-fourth>.column {
flex : none;
width : 25%;
}
.block-lg-one-third>.column {
flex : none;
width : 33.33333%;
}
.block-lg-one-half>.column {
flex : none;
width : 50%;
}
.block-lg-whole>.column {
flex : none;
width : 100%;
}
/* --------------------------------------------------------------------
* ## mobile devices
* -------------------------------------------------------------------- */
@media screen and (max-width: 600px) {
.row {
width : 100%;
padding-left : 6vw;
padding-right : 6vw;
}
.row .row {
padding-left : 0;
padding-right : 0;
}
.mob-1 {
flex : none;
width : 8.33333%;
}
.mob-2 {
flex : none;
width : 16.66667%;
}
.mob-3 {
flex : none;
width : 25%;
}
.mob-4 {
flex : none;
width : 33.33333%;
}
.mob-5 {
flex : none;
width : 41.66667%;
}
.mob-6 {
flex : none;
width : 50%;
}
.mob-7 {
flex : none;
width : 58.33333%;
}
.mob-8 {
flex : none;
width : 66.66667%;
}
.mob-9 {
flex : none;
width : 75%;
}
.mob-10 {
flex : none;
width : 83.33333%;
}
.mob-11 {
flex : none;
width : 91.66667%;
}
.mob-12 {
flex : none;
width : 100%;
}
.block-mob-one-eight>.column {
flex : none;
width : 12.5%;
}
.block-mob-one-sixth>.column {
flex : none;
width : 16.66667%;
}
.block-mob-one-fifth>.column {
flex : none;
width : 20%;
}
.block-mob-one-fourth>.column {
flex : none;
width : 25%;
}
.block-mob-one-third>.column {
flex : none;
width : 33.33333%;
}
.block-mob-one-half>.column {
flex : none;
width : 50%;
}
.block-mob-whole>.column {
flex : none;
width : 100%;
}
.hide-on-mob {
display : none;
}
}
@media screen and (max-width: 400px) {
.row .row {
margin-left : 0;
margin-right : 0;
}
.block-stack>.column,
.column {
flex : none;
width : 100%;
margin-left : 0;
margin-right : 0;
padding : 0;
}
.hide-on-sm {
display : none;
}
}
/* --------------------------------------------------------------------
* ## additional column stackpoints
* -------------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
.stack-on-1000,
.block-stack-on-1000>.column {
flex : none;
width : 100%;
margin-left : 0;
margin-right : 0;
}
}
@media screen and (max-width: 700px) {
.stack-on-700,
.block-stack-on-700>.column {
flex : none;
width : 100%;
margin-left : 0;
margin-right : 0;
}
}
@media screen and (max-width: 550px) {
.stack-on-550,
.block-stack-on-550>.column {
flex : none;
width : 100%;
margin-left : 0;
margin-right : 0;
}
}
.u-flexitem-center {
margin : auto;
align-self : center;
}
.u-flexitem-left {
margin-right : auto;
align-self : center;
}
.u-flexitem-right {
margin-left : auto;
align-self : center;
}
.u-flexitem-x-center {
margin-right : auto;
margin-left : auto;
}
.u-flexitem-x-left {
margin-right : auto;
}
.u-flexitem-x-right {
margin-left : auto;
}
.u-flexitem-y-center {
align-self : center;
}
.u-flexitem-y-top {
align-self : flex-start;
}
.u-flexitem-y-bottom {
align-self : flex-end;
}
/* misc helper classes
*/
.u-clearfix:after {
content : "";
display : table;
clear : both;
}
.u-hidden {
display : none;
}
.u-invisible {
visibility : hidden;
}
.u-antialiased {
-webkit-font-smoothing : antialiased;
-moz-osx-font-smoothing : grayscale;
}
.u-overflow-hidden {
overflow : hidden;
}
.u-remove-top {
margin-top : 0;
}
.u-remove-bottom {
margin-bottom : 0;
}
.u-add-half-bottom {
margin-bottom : var(--vspace-0_5);
}
.u-add-bottom {
margin-bottom : var(--vspace-1);
}
.u-no-border {
border : none;
}
.u-fullwidth {
width : 100%;
}
.u-pull-left {
float : left;
}
.u-pull-right {
float : right;
}
body {
font-family : var(--font-1);
font-size : var(--base-font-size);
font-weight : 400;
line-height : var(--vspace-1);
color : var(--color-text);
}
/* links
*/
a {
color : var(--color-1-light);
transition : all 0.3s ease-in-out;
}
a:focus,
a:hover,
a:active {
color : var(--color-2-light);
}
a:hover,
a:active {
outline : 0;
}
/* headings
*/
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family : var(--font-1);
font-weight : 500;
color : var(--color-text-dark);
font-variant-ligatures : common-ligatures;
text-rendering : optimizeLegibility;
}
h1,
.h1 {
margin-top : var(--vspace-2_5);
margin-bottom : var(--vspace-0_75);
}
h2,
.h2,
h3,
.h3,
h4,
.h4 {
margin-top : var(--vspace-2);
margin-bottom : var(--vspace-0_5);
}
h5,
.h5,
h6,
.h6 {
margin-top : var(--vspace-1_5);
margin-bottom : var(--vspace-0_5);
}
h1,
.h1 {
font-size : var(--text-display-1);
line-height : var(--vspace-2);
letter-spacing : -.02em;
}
@media screen and (max-width: 500px) {
h1,
.h1 {
font-size : var(--text-xxxl);
line-height : calc(1.625 * var(--space));
}
}
h2,
.h2 {
font-size : var(--text-xxl);
line-height : var(--vspace-1_5);
letter-spacing : -.02em;
}
h3,
.h3 {
font-size : var(--text-xl);
line-height : var(--vspace-1_25);
}
h4,
.h4 {
font-size : var(--text-lg);
line-height : var(--vspace-1);
}
h5,
.h5 {
font-size : var(--text-md);
line-height : var(--vspace-0_875);
}
h6,
.h6 {
font-family : var(--font-1);
font-size : var(--text-sm);
line-height : var(--vspace-0_75);
text-transform : uppercase;
letter-spacing : .35rem;
}
/* emphasis, italic,
* strong, bold and small text
*/
em,
i,
strong,
b {
font-size : inherit;
line-height : inherit;
}
em,
i {
font-style : italic;
}
strong,
b {
font-weight : 600;
}
small {
font-size : 75%;
font-weight : 400;
line-height : var(--vspace-0_5);
}
/* blockquotes
*/
blockquote {
margin : 0 0 var(--vspace-1) 0;
padding : var(--vspace-1) var(--vspace-1_5);
border-left : 2px solid black;
position : relative;
}
@media screen and (max-width: 400px) {
blockquote {
padding : var(--vspace-0_75) var(--vspace-0_75);
}
}
blockquote p {
font-family : var(--font-1);
font-weight : 400;
font-size : var(--text-lg);
font-style : normal;
line-height : var(--vspace-1_25);
color : var(--color-text-dark);
padding : 0;
}
blockquote cite {
display : block;
font-family : var(--font-1);
font-weight : 400;
font-size : var(--text-sm);
line-height : var(--vspace-0_75);
font-style : normal;
}
blockquote cite:before {
content : "\2014 \0020";
}
blockquote cite,
blockquote cite a,
blockquote cite a:visited {
color : var(--color-text-light);
border : none;
}
/* figures
*/
figure img,
p img {
margin : 0;
vertical-align : bottom;
}
figure {
display : block;
margin-left : 0;
margin-right : 0;
}
figure img+figcaption {
margin-top : var(--vspace-1);
}
figcaption {
font-style : italic;
font-size : var(--text-sm);
text-align : center;
margin-bottom : 0;
}
/* preformatted, code
*/
var,
kbd,
samp,
code,
pre {
font-family : var(--font-mono);
}
pre {
padding : var(--vspace-0_75) var(--vspace-1) var(--vspace-1);
background : var(--color-gray-9);
overflow-x : auto;
}
code {
font-size : var(--text-sm);
line-height : 1.6rem;
margin : 0 .2rem;
padding : calc(((var(--vspace-1) - 1.6rem) / 2) - .1rem) calc(.8rem - .1rem);
white-space : nowrap;
background : var(--color-gray-1);
border : 1px solid var(--color-gray-2);
color : var(--color-text-dark);
border-radius : 3px;
}
pre>code {
display : block;
white-space : pre;
line-height : var(--vspace-1);
padding : 0;
margin : 0;
border : none;
}
/* deleted text, abbreviation,
* & mark text
*/
del {
text-decoration : line-through;
}
abbr {
font-family : var(--font-1);
font-weight : 600;
font-variant : small-caps;
text-transform : lowercase;
letter-spacing : .1em;
}
abbr[title],
dfn[title] {
border-bottom : 1px dotted;
cursor : help;
text-decoration : none;
}
mark {
background : var(--color-1-lighter);
color : var(--color-black);
}
/* horizontal rule
*/
hr {
border : solid var(--color-border);
border-width : .1rem 0 0;
clear : both;
margin : var(--vspace-2) 0 calc(var(--vspace-2) - 1px);
height : 0;
}
hr.fancy {
border : none;
margin : var(--vspace-2) 0;
height : var(--vspace-1);
text-align : center;
}
hr.fancy::before {
content : "*****";
letter-spacing : .3em;
}
/* ===================================================================
* # PRELOADER
*
*
* -------------------------------------------------------------------
* - markup:
*
* <div id="preloader">
* <div id="loader"></div>
* </div>
*
* ------------------------------------------------------------------- */
#preloader {
position : fixed;
display : flex;
flex-flow : row wrap;
justify-content : center;
align-items : center;
background : var(--color-preloader-bg);
z-index : 500;
height : 100vh;
width : 100%;
opacity : 1;
pointer-events : none;
}
.no-js #preloader {
display : none;
}
#loader {
width : var(--vspace-1_5);
height : var(--vspace-1_5);
padding : 0;
opacity : 1;
}
#loader::before {
content : "";
border-top : 4px solid var(--color-loader-light);
border-right : 4px solid var(--color-loader-light);
border-bottom : 4px solid var(--color-loader-light);
border-left : 4px solid var(--color-loader);
-webkit-animation : load 1.1s infinite linear;
animation : load 1.1s infinite linear;
display : block;
border-radius : 50%;
width : 100%;
height : 100%;
}
@-webkit-keyframes load {
0% {
-webkit-transform : rotate(0deg);
transform : rotate(0deg);
}
100% {
-webkit-transform : rotate(360deg);
transform : rotate(360deg);
}
}
@keyframes load {
0% {
transform : rotate(0deg);
}
100% {
transform : rotate(360deg);
}
}
/* -------------------------------------------------------------------
* ## page loaded
* ------------------------------------------------------------------- */
.ss-loaded #preloader {
opacity : 0;
visibility : hidden;
transition : all .6s .9s ease-in-out;
}
.ss-loaded #preloader #loader {
opacity : 0;
transition : opacity .6s ease-in-out;
}
/* ===================================================================
* # PROJECT-WIDE SHARED STYLES
*
*
* ------------------------------------------------------------------- */
.wide {
max-width : var(--width-wide);
}
.wider {
max-width : var(--width-wider);
}
.narrow {
max-width : var(--width-narrow);
}
.screen-reader-text {
clip : rect(1px, 1px, 1px, 1px);
clip-path : inset(50%);
height : 1px;
width : 1px;
margin : -1px;
overflow : hidden;
padding : 0;
border : 0;
position : absolute;
word-wrap : normal !important;
}
/* -------------------------------------------------------------------
* ## media classes
* ------------------------------------------------------------------- */
/* floated image
*/
img.u-pull-right {
margin : var(--vspace-0_5) 0 var(--vspace-0_5) var(--vspace-0_875);
}
img.u-pull-left {
margin : var(--vspace-0_5) var(--vspace-0_875) var(--vspace-0_5) 0;
}
/* responsive video container
*/
.video-container {
--aspect-ratio : 16/9;
position : relative;
height : 0;
overflow : hidden;
padding-bottom : calc(100%/(var(--aspect-ratio)));
}
.video-container iframe,
.video-container object,
.video-container embed,
.video-container video {
position : absolute;
top : 0;
left : 0;
width : 100%;
height : 100%;
}
/* ===================================================================
* # PAGE WRAP
*
*
* ------------------------------------------------------------------- */
.s-pagewrap {
--header-height : 12rem;
display : flex;
flex-direction : column;
min-height : 100%;
overflow : hidden;
position : relative;
}
/* -------------------------------------------------------------------
* responsive:
* pagewrap
* ------------------------------------------------------------------- */
@media screen and (max-width: 400px) {
.s-pagewrap {
--header-height : 10.6rem;
}
}
/* ===================================================================
* # HEADER
*
*
* ------------------------------------------------------------------- */
.s-header {
--logo-width : 9.6rem;
z-index : 100;
width : 100%;
position : absolute;
top : var(--vspace-1_25);
left : 0;
}
.s-header__content {
max-width : var(--width-wider);
height : var(--header-height);
position : relative;
}
/* --------------------------------------------------------------------
* ## logo
* -------------------------------------------------------------------- */
.s-header__logo {
z-index : 101;
transform : translate(0, -50%);
position : absolute;
top : 50%;
left : var(--gutter);
}
.s-header__logo a {
display : block;
margin : 0;
padding : 0;
outline : 0;
border : none;
}
.s-header__logo img {
width : var(--logo-width);
margin : 0;
vertical-align : bottom;
}
/* --------------------------------------------------------------------
* ## header social
* -------------------------------------------------------------------- */
.s-header__social {
list-style : none;
display : flex;
margin : 0;
transform : translate(0, -50%);
position : absolute;
top : calc(50% - var(--vspace-0_75));
right : calc(var(--gutter) / 2);
}
.s-header__social li {
padding-left : 0;
margin-right : 1.4rem;
line-height : 1;
}
.s-header__social li:last-child {
margin-right : 0;
}
.s-header__social svg {
height : var(--vspace-0_875);
width : var(--vspace-0_875);
}
.s-header__social svg path {
fill : white;
}
/* -------------------------------------------------------------------
* responsive:
* header
* ------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
.s-header {
--logo-width : 8rem;
top : var(--vspace-0_5);
}
.s-header__social {
top : calc(50% - var(--vspace-0_25));
}
.s-header__social li {
margin-right : 1rem;
}
.s-header__social svg {
height : var(--vspace-0_75);
width : var(--vspace-0_75);
}
}
@media screen and (max-width: 600px) {
.s-header {
--logo-width : 7.2rem;
}
.s-header__logo {
left : calc(6vw + var(--gutter));
}
.s-header__social {
right : calc(6vw + .8rem);
}
}
@media screen and (max-width: 500px) {
.s-header {
top : 0;
}
}
@media screen and (max-width: 400px) {
.s-header {
--logo-width : 6rem;
}
.s-header__logo {
left : calc(6vw + .4rem);
}
.s-header__social {
right : calc(6vw + .4rem);
}
.s-header__social li {
margin-right : 0.8rem;
}
}
/* ===================================================================
* # INTRO
*
*
* ------------------------------------------------------------------- */
.s-intro {
background-color : var(--color-body);
width : 100%;
height : 100vh;
min-height : calc(25.5 * var(--space));
overflow : hidden;
position : relative;
}
.s-intro a {
border : none;
}
.theme-particles .s-intro {
background-color : var(--color-gray-15);
}
.theme-particles .s-intro .s-intro__content {
pointer-events : none;
}
.theme-particles .s-intro .s-intro__content-bottom,
.theme-particles .s-intro .s-intro__scroll {
pointer-events : auto;
}
/* --------------------------------------------------------------------
* ## intro background
* -------------------------------------------------------------------- */
.s-intro__bg {
display : block;
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background-image : url(https://thedotstudios.com/bg.jpg);
background-repeat : no-repeat;
background-position : center;
background-size : cover;
}
.s-intro__bg::before {
display : block;
content : "";
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background : black;
pointer-events : none;
opacity : .2;
}
.s-intro__bg::after {
display : block;
content : "";
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background : linear-gradient(90deg, black 10%, rgba(0, 0, 0, 0) 100%);
pointer-events : none;
opacity : .8;
}
/* --------------------------------------------------------------------
* ## intro slider
* -------------------------------------------------------------------- */
.s-intro__slider {
display : block;
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
}
.s-intro__slide {
background-repeat : no-repeat;
background-position : 50% 50%;
background-size : cover;
position : relative;
}
.s-intro__slide::before {
display : block;
content : "";
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background : black;
pointer-events : none;
opacity : .2;
}
.s-intro__slide::after {
display : block;
content : "";
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background : linear-gradient(90deg, black 10%, rgba(0, 0, 0, 0) 100%);
pointer-events : none;
opacity : .5;
}
.s-intro__slide.bg-opacity-10::before {
opacity : .1;
}
.s-intro__slide.bg-opacity-20::before {
opacity : .2;
}
.s-intro__slide.bg-opacity-30::before {
opacity : .3;
}
.s-intro__slide.bg-opacity-40::before {
opacity : .4;
}
.s-intro__slide.bg-opacity-50::before {
opacity : .5;
}
.s-intro__slide.bg-opacity-60::before {
opacity : .6;
}
.s-intro__slide.bg-opacity-70::before {
opacity : .7;
}
.s-intro__slide.bg-opacity-80::before {
opacity : .8;
}
.s-intro__slide.bg-opacity-90::before {
opacity : .9;
}
/* -------------------------------------------------------------------
* ## intro particles
* ------------------------------------------------------------------- */
.s-intro__particles {
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background-color : transparent;
padding : 0;
margin : 0;
opacity : .20;
}
.s-intro__particles canvas {
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
}
/* --------------------------------------------------------------------
* ## intro content
* -------------------------------------------------------------------- */
.s-intro__content {
z-index : 1;
max-width : var(--width-wider);
align-items : flex-end;
height : 100vh;
min-height : calc(25.5 * var(--space));
padding-top : 20vh;
padding-bottom : 8.8rem;
position : relative;
}
.s-intro__content-bottom {
max-width : 600px;
font-weight : 300;
color : rgba(255, 255, 255, 0.5);
margin-top : var(--vspace-1);
}
.s-intro__content-title {
font-size : var(--text-xxl);
font-weight : 400;
line-height : var(--vspace-1_5);
color : white;
margin-top : 0;
margin-bottom : var(--vspace-0_25);
}
/* --------------------------------------------------------------------
* ## intro counter
* -------------------------------------------------------------------- */
.s-intro .counter {
display : flex;
flex-flow : row wrap;
}
.s-intro .counter__time {
display : flex;
align-items : flex-start;
font-weight : 700;
font-size : 13.2rem;
line-height : 1;
color : white;
margin-right : var(--vspace-0_5);
margin-bottom : var(--vspace-0_5);
}
.s-intro .counter__time span:first-child {
letter-spacing : -.03em;
}
.s-intro .counter__time span:last-child {
font-weight : 400;
font-size : .15em;
color : rgba(255, 255, 255, 0.35);
transform : translate(0.2em, 0.8em);
}
/* --------------------------------------------------------------------
* ## scroll icon
* -------------------------------------------------------------------- */
.s-intro__scroll {
width : 18rem;
height : 8.8rem;
padding-right : 3rem;
border-right : 1px dashed rgba(255, 255, 255, 0.3);
text-align : right;
position : absolute;
bottom : 0;
right : var(--gutter);
}
.s-intro__scroll .scroll-text {
font-family : var(--font-1);
font-weight : 300;
font-size : var(--text-sm);
color : white;
margin-top : var(--vspace-0_625);
}
.s-intro__scroll .end-top {
background-color : white;
width : 6px;
height : 6px;
border-radius : 50%;
position : absolute;
top : -6px;
right : -4px;
}
.s-intro__scroll .mouse {
z-index : 2;
height : 3.8rem;
width : 2.5rem;
border : 3px solid white;
border-radius : 12px;
display : block;
text-align : center;
position : absolute;
right : -1.3rem;
top : 1.4rem;
-webkit-animation : vertical 3s ease infinite;
animation : vertical 3s ease infinite;
}
.s-intro__scroll .mouse::before {
content : "";
display : block;
height : 5px;
width : 3px;
background-color : white;
border-radius : 2px;
margin-left : -1.5px;
position : absolute;
top : 6px;
left : 50%;
}
/* fade in
*/
@-webkit-keyframes vertical {
0%,
60%,
80%,
100% {
-webkit-transform : translateY(0);
transform : translateY(0);
}
20% {
-webkit-transform : translateY(-5px);
transform : translateY(-5px);
}
40% {
-webkit-transform : translateY(20px);
transform : translateY(20px);
}
}
@keyframes vertical {
0%,
60%,
80%,
100% {
-webkit-transform : translateY(0);
transform : translateY(0);
}
20% {
-webkit-transform : translateY(-5px);
transform : translateY(-5px);
}
40% {
-webkit-transform : translateY(20px);
transform : translateY(20px);
}
}
/* --------------------------------------------------------------------
* ## intro transitions
* -------------------------------------------------------------------- */
.s-header__content,
.s-intro .counter,
.s-intro__content-bottom,
.s-intro__scroll {
transition-timing-function : cubic-bezier(0.28, 0.12, 0.22, 1);
transition-duration : .6s;
transition-delay : 0s;
opacity : 0;
}
.s-header__content {
transition-property : opacity, transform;
transform : translate(0, -100%);
}
.s-intro .counter,
.s-intro__content-bottom {
transition-property : opacity, transform;
transform : translate(0, 100%);
}
.s-intro__scroll {
transition-property : opacity, bottom;
bottom : -250px;
}
.no-js .s-header__content,
.no-js .s-intro .counter,
.no-js .s-intro__content-bottom,
.no-js .s-intro__scroll,
.ss-show .s-header__content,
.ss-show .s-intro .counter,
.ss-show .s-intro__content-bottom,
.ss-show .s-intro__scroll {
opacity : 1;
}
.no-js .s-header__content,
.no-js .s-intro .counter,
.no-js .s-intro__content-bottom,
.ss-show .s-header__content,
.ss-show .s-intro .counter,
.ss-show .s-intro__content-bottom {
transform : translate(0, 0);
}
.no-js .s-intro .counter,
.ss-show .s-intro .counter {
transition-delay : .3s;
}
.no-js .s-intro__content-bottom,
.ss-show .s-intro__content-bottom {
transition-delay : .6s;
}
.no-js .s-intro__scroll,
.ss-show .s-intro__scroll {
transition-delay : .9s;
bottom : 0;
}
/* -------------------------------------------------------------------
* responsive:
* intro
* ------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
.s-intro .counter__time {
font-size : 12.4rem;
}
}
@media screen and (max-width: 1200px) {
.s-intro .counter__time {
font-size : 11.2rem;
}
.s-intro__content-title {
font-size : var(--text-xl);
line-height : var(--vspace-1_25);
}
}
@media screen and (max-width: 800px) {
.s-intro .counter__time {
font-size : 10.4rem;
}
}
@media screen and (max-width: 600px) {
.s-intro__content {
padding-bottom : 8rem;
}
.s-intro .counter__time {
font-size : 9.6rem;
}
.s-intro__content-bottom {
max-width : 400px;
}
.s-intro__content-bottom br {
display : none;
}
.s-intro__content-title {
font-size : var(--text-lg);
line-height : var(--vspace-1);
}
.s-intro__scroll {
right : 4.8rem;
}
}
@media screen and (max-width: 500px) {
.s-intro .counter__time {
font-size : 5.2rem;
}
}
@media screen and (max-width: 400px) {
.s-intro .counter__time {
font-size : 4.8rem;
}
.s-intro__content-title {
font-size : var(--text-md);
line-height : var(--vspace-0_875);
}
.s-intro__scroll {
right : 4rem;
}
}
@media screen and (max-width: 350px) {
.s-intro .counter__time {
font-size : 3.8rem;
}
}
</style>
</head>
<body id="top">
<!-- preloader
================================================== -->
<div id="preloader">
<div id="loader"></div>
</div>
<!-- page wrap
================================================== -->
<div class="s-pagewrap">
<!-- # header
================================================== -->
<header class="s-header">
<div class="row s-header__content">
<div class="s-header__logo">
<a class="logo" href="index-static.html">
<img src="https://thedotstudios.com/hqlogo.svg" alt="Homepage" style=" filter: invert(1); width: 150px;" >
</a>
</div>
<ul class="s-header__social">
<li>
<a href="https://www.facebook.com/Hifiziq">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill:rgba(0, 0, 0, 1);transform:;-ms-filter:"><path d="M20,3H4C3.447,3,3,3.448,3,4v16c0,0.552,0.447,1,1,1h8.615v-6.96h-2.338v-2.725h2.338v-2c0-2.325,1.42-3.592,3.5-3.592 c0.699-0.002,1.399,0.034,2.095,0.107v2.42h-1.435c-1.128,0-1.348,0.538-1.348,1.325v1.735h2.697l-0.35,2.725h-2.348V21H20 c0.553,0,1-0.448,1-1V4C21,3.448,20.553,3,20,3z"></path></svg>
<span class="screen-reader-text">Facebook</span>
</a>
</li>
<li>
<a href="https://in.pinterest.com/Hifiziq/">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill:rgba(0, 0, 0, 1);transform:;-ms-filter:"><path d="M-111.052-244.992c-5.518,0-9.99,4.473-9.99,9.99c0,4.232,2.633,7.85,6.35,9.306 c-0.088-0.79-0.166-2.006,0.034-2.868c0.182-0.78,1.172-4.966,1.172-4.966s-0.299-0.599-0.299-1.484 c0-1.388,0.805-2.425,1.808-2.425c0.853,0,1.264,0.64,1.264,1.407c0,0.858-0.546,2.139-0.827,3.327 c-0.235,0.994,0.499,1.805,1.479,1.805c1.775,0,3.141-1.872,3.141-4.575c0-2.392-1.719-4.064-4.173-4.064 c-2.843,0-4.512,2.132-4.512,4.335c0,0.858,0.331,1.779,0.744,2.28c0.081,0.099,0.093,0.185,0.069,0.286 c-0.076,0.315-0.245,0.994-0.277,1.133c-0.044,0.183-0.145,0.222-0.335,0.134c-1.247-0.581-2.027-2.405-2.027-3.871 c0-3.151,2.289-6.045,6.601-6.045c3.466,0,6.159,2.469,6.159,5.77c0,3.444-2.171,6.213-5.184,6.213 c-1.013,0-1.964-0.525-2.29-1.146c0,0-0.501,1.907-0.623,2.374c-0.225,0.868-0.834,1.956-1.241,2.62 c0.935,0.289,1.928,0.445,2.958,0.445c5.517,0,9.99-4.473,9.99-9.99S-105.535-244.992-111.052-244.992" transform="translate(123.042 246.992)"></path></svg>
<span class="screen-reader-text">Pinterest</span>
</a>
</li>
<li>
<a href="https://www.instagram.com/hifiziq/">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill:rgba(0, 0, 0, 1);transform:;-ms-filter:"><path d="M11.999,7.377c-2.554,0-4.623,2.07-4.623,4.623c0,2.554,2.069,4.624,4.623,4.624c2.552,0,4.623-2.07,4.623-4.624 C16.622,9.447,14.551,7.377,11.999,7.377L11.999,7.377z M11.999,15.004c-1.659,0-3.004-1.345-3.004-3.003 c0-1.659,1.345-3.003,3.004-3.003s3.002,1.344,3.002,3.003C15.001,13.659,13.658,15.004,11.999,15.004L11.999,15.004z"></path><circle cx="16.806" cy="7.207" r="1.078"></circle><path d="M20.533,6.111c-0.469-1.209-1.424-2.165-2.633-2.632c-0.699-0.263-1.438-0.404-2.186-0.42 c-0.963-0.042-1.268-0.054-3.71-0.054s-2.755,0-3.71,0.054C7.548,3.074,6.809,3.215,6.11,3.479C4.9,3.946,3.945,4.902,3.477,6.111 c-0.263,0.7-0.404,1.438-0.419,2.186c-0.043,0.962-0.056,1.267-0.056,3.71c0,2.442,0,2.753,0.056,3.71 c0.015,0.748,0.156,1.486,0.419,2.187c0.469,1.208,1.424,2.164,2.634,2.632c0.696,0.272,1.435,0.426,2.185,0.45 c0.963,0.042,1.268,0.055,3.71,0.055s2.755,0,3.71-0.055c0.747-0.015,1.486-0.157,2.186-0.419c1.209-0.469,2.164-1.424,2.633-2.633 c0.263-0.7,0.404-1.438,0.419-2.186c0.043-0.962,0.056-1.267,0.056-3.71s0-2.753-0.056-3.71C20.941,7.57,20.801,6.819,20.533,6.111z M19.315,15.643c-0.007,0.576-0.111,1.147-0.311,1.688c-0.305,0.787-0.926,1.409-1.712,1.711c-0.535,0.199-1.099,0.303-1.67,0.311 c-0.95,0.044-1.218,0.055-3.654,0.055c-2.438,0-2.687,0-3.655-0.055c-0.569-0.007-1.135-0.112-1.669-0.311 c-0.789-0.301-1.414-0.923-1.719-1.711c-0.196-0.534-0.302-1.099-0.311-1.669c-0.043-0.95-0.053-1.218-0.053-3.654 c0-2.437,0-2.686,0.053-3.655c0.007-0.576,0.111-1.146,0.311-1.687c0.305-0.789,0.93-1.41,1.719-1.712 c0.534-0.198,1.1-0.303,1.669-0.311c0.951-0.043,1.218-0.055,3.655-0.055c2.437,0,2.687,0,3.654,0.055 c0.571,0.007,1.135,0.112,1.67,0.311c0.786,0.303,1.407,0.925,1.712,1.712c0.196,0.534,0.302,1.099,0.311,1.669 c0.043,0.951,0.054,1.218,0.054,3.655c0,2.436,0,2.698-0.043,3.654H19.315z"></path></svg>
<span class="screen-reader-text">Instagram</span>
</a>
</li>
<li>
<a href="https://www.youtube.com/@hifiziq">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill:rgba(0, 0, 0, 1);">
<path d="M21.8,8.001c-0.247-1.731-1.735-3.082-3.497-3.282C15.904,4.318,11.961,4.318,11.961,4.318h-0.006c0,0-3.944,0-6.343,0.401 C3.851,4.901,2.364,6.251,2.117,7.982C1.84,9.831,1.84,12.006,1.84,12.006s0,2.175,0.277,4.024c0.247,1.731,1.734,3.081,3.495,3.281c2.399,0.402,6.343,0.402,6.343,0.402h0.006c0,0,3.944,0,6.343-0.402c1.762-0.2,3.249-1.551,3.496-3.281c0.276-1.849,0.276-4.024,0.276-4.024S22.076,9.831,21.8,8.001z M9.745,15.318V8.681l5.834,3.318L9.745,15.318z"></path>
</svg>
<span class="screen-reader-text">Youtube</span>
</a>
</li>
</ul>
</div> <!-- end s-header__content -->
</header> <!-- end s-header -->
<!-- # intro
================================================== -->
<section id="intro" class="s-intro">
<div class="s-intro__bg"></div>
<div class="row s-intro__content">
<div class="column lg-12">
<div class="counter">
<div class="counter__time">
<span class="ss-days">0</span>
<span>days</span>
</div>
<div class="counter__time">
<span class="ss-hours">0</span>
<span>hours</span>
</div>
<div class="counter__time minutes">
<span class="ss-minutes">0</span>
<span>mins</span>
</div>
<div class="counter__time">
<span class="ss-seconds">0</span>
<span>secs</span>
</div>
</div>
<!-- end counter -->
<div class="s-intro__content-bottom">
<h1 class="s-intro__content-title">Something special is coming your way!</h1>
<p>
The countdown begins. Get ready to experience the
finest in fashion!!!
</p>
</div>
</div>
</div> <!-- intro__content -->
</section> <!-- end s-intro -->
<!-- # info
================================================== -->
</div> <!-- end pagewrap -->
<!-- Java Script
================================================== -->
<script>
document.addEventListener("DOMContentLoaded", function () {
const targetDate = new Date("2025-01-19T07:44:00"); // Set your target date and time here
function updateCounter() {
const now = new Date();
const timeLeft = targetDate - now;
if (timeLeft > 0) {
const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));
const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);
document.querySelector(".ss-days").textContent = days;
document.querySelector(".ss-hours").textContent = hours.toString().padStart(2, "0");
document.querySelector(".ss-minutes").textContent = minutes.toString().padStart(2, "0");
document.querySelector(".ss-seconds").textContent = seconds.toString().padStart(2, "0");
} else {
document.querySelector(".counter").innerHTML = "Time's up!";
}
}
// Update the counter every second
setInterval(updateCounter, 1000);
updateCounter(); // Initial call to avoid 1s delay
});
</script>
<script >
(function(html) {
'use strict';
const cfg = {
// Countdown Timer Final Date
finalDate : 'March 20, 2024 00:00:00',
// MailChimp URL
mailChimpURL : 'https://facebook.us1.list-manage.com/subscribe/post?u=1abf75f6981256963a47d197a&id=37c6d8f4d6'
};
/* Preloader
* -------------------------------------------------- */
const ssPreloader = function() {
const body = document.querySelector('body');
const preloader = document.querySelector('#preloader');
html.classList.add('ss-preload');
window.addEventListener('load', function() {
html.classList.remove('ss-preload');
html.classList.add('ss-loaded');
// page scroll position to top
preloader.addEventListener('transitionstart', function gotoTop(e) {
if (e.target.matches('#preloader')) {
window.scrollTo(0, 0);
preloader.removeEventListener(e.type, gotoTop);
}
});
preloader.addEventListener('transitionend', function afterTransition(e) {
if (e.target.matches('#preloader')) {
body.classList.add('ss-show');
e.target.style.display = 'none';
preloader.removeEventListener(e.type, afterTransition);
}
});
});
window.addEventListener('beforeunload' , function() {
body.classList.remove('ss-show');
});
};
/* Countdown Timer
* ------------------------------------------------------ */
const ssCountdown = function () {
const finalDate = new Date(cfg.finalDate).getTime();
const daysSpan = document.querySelector('.counter .ss-days');
const hoursSpan = document.querySelector('.counter .ss-hours');
const minutesSpan = document.querySelector('.counter .ss-minutes');
const secondsSpan = document.querySelector('.counter .ss-seconds');
let timeInterval;
if (!(daysSpan && hoursSpan && minutesSpan && secondsSpan)) return;
function timer() {
const now = new Date().getTime();
let diff = finalDate - now;
if (diff <= 0) {
if (timeInterval) {
clearInterval(timeInterval);
}
return;
}
let days = Math.floor( diff/(1000*60*60*24) );
let hours = Math.floor( (diff/(1000*60*60)) % 24 );
let minutes = Math.floor( (diff/1000/60) % 60 );
let seconds = Math.floor( (diff/1000) % 60 );
if (days <= 99) {
if (days <= 9) {
days = '00' + days;
} else {
days = '0' + days;
}
}
hours <= 9 ? hours = '0' + hours : hours;
minutes <= 9 ? minutes = '0' + minutes : minutes;
seconds <= 9 ? seconds = '0' + seconds : seconds;
daysSpan.textContent = days;
hoursSpan.textContent = hours;
minutesSpan.textContent = minutes;
secondsSpan.textContent = seconds;
}
timer();
timeInterval = setInterval(timer, 1000);
};
/* Swiper
* ------------------------------------------------------ */
const ssSwiper = function() {
const mySwiper = new Swiper('.swiper-container', {
slidesPerView: 1,
effect: 'fade',
speed: 2000,
autoplay: {
delay: 5000,
}
});
};
/* MailChimp Form
* ---------------------------------------------------- */
const ssMailChimpForm = function() {
const mcForm = document.querySelector('#mc-form');
if (!mcForm) return;
// Add novalidate attribute
mcForm.setAttribute('novalidate', true);
// Field validation
function hasError(field) {
// Don't validate submits, buttons, file and reset inputs, and disabled fields
if (field.disabled || field.type === 'file' || field.type === 'reset' || field.type === 'submit' || field.type === 'button') return;
// Get validity
let validity = field.validity;
// If valid, return null
if (validity.valid) return;
// If field is required and empty
if (validity.valueMissing) return 'Please enter an email address.';
// If not the right type
if (validity.typeMismatch) {
if (field.type === 'email') return 'Please enter a valid email address.';
}
// If pattern doesn't match
if (validity.patternMismatch) {
// If pattern info is included, return custom error
if (field.hasAttribute('title')) return field.getAttribute('title');
// Otherwise, generic error
return 'Please match the requested format.';
}
// If all else fails, return a generic catchall error
return 'The value you entered for this field is invalid.';
};
// Show error message
function showError(field, error) {
// Get field id or name
let id = field.id || field.name;
if (!id) return;
let errorMessage = field.form.querySelector('.mc-status');
// Update error message
errorMessage.classList.remove('success-message');
errorMessage.classList.add('error-message');
errorMessage.innerHTML = error;
};
// Display form status (callback function for JSONP)
window.displayMailChimpStatus = function (data) {
// Make sure the data is in the right format and that there's a status container
if (!data.result || !data.msg || !mcStatus ) return;
// Update our status message
mcStatus.innerHTML = data.msg;
// If error, add error class
if (data.result === 'error') {
mcStatus.classList.remove('success-message');
mcStatus.classList.add('error-message');
return;
}
// Otherwise, add success class
mcStatus.classList.remove('error-message');
mcStatus.classList.add('success-message');
};
// Submit the form
function submitMailChimpForm(form) {
let url = cfg.mailChimpURL;
let emailField = form.querySelector('#mce-EMAIL');
let serialize = '&' + encodeURIComponent(emailField.name) + '=' + encodeURIComponent(emailField.value);
if (url == '') return;
url = url.replace('/post?u=', '/post-json?u=');
url += serialize + '&c=displayMailChimpStatus';
// Create script with url and callback (if specified)
var ref = window.document.getElementsByTagName( 'script' )[ 0 ];
var script = window.document.createElement( 'script' );
script.src = url;
// Create global variable for the status container
window.mcStatus = form.querySelector('.mc-status');
window.mcStatus.classList.remove('error-message', 'success-message')
window.mcStatus.innerText = 'Submitting...';
// Insert script tag into the DOM
ref.parentNode.insertBefore( script, ref );
// After the script is loaded (and executed), remove it
script.onload = function () {
this.remove();
};
};
// Check email field on submit
mcForm.addEventListener('submit', function (event) {
event.preventDefault();
let emailField = event.target.querySelector('#mce-EMAIL');
let error = hasError(emailField);
if (error) {
showError(emailField, error);
emailField.focus();
return;
}
submitMailChimpForm(this);
}, false);
};
/* Tabs
* ---------------------------------------------------- */
const sstabs = function(nextTab = false) {
const tabList = document.querySelector('.tab-nav__list');
const tabPanels = document.querySelectorAll('.tab-content__item');
const tabItems = document.querySelectorAll('.tab-nav__list li');
const tabLinks = [];
if (!(tabList && tabPanels)) return;
const tabClickEvent = function(tabLink, tabLinks, tabPanels, linkIndex, e) {
// Reset all the tablinks
tabLinks.forEach(function(link) {
link.setAttribute('tabindex', '-1');
link.setAttribute('aria-selected', 'false');
link.parentNode.removeAttribute('data-tab-active');
link.removeAttribute('data-tab-active');
});
// set the active link attributes
tabLink.setAttribute('tabindex', '0');
tabLink.setAttribute('aria-selected', 'true');
tabLink.parentNode.setAttribute('data-tab-active', '');
tabLink.setAttribute('data-tab-active', '');
// Change tab panel visibility
tabPanels.forEach(function(panel, index) {
if (index != linkIndex) {
panel.setAttribute('aria-hidden', 'true');
panel.removeAttribute('data-tab-active');
} else {
panel.setAttribute('aria-hidden', 'false');
panel.setAttribute('data-tab-active', '');
}
});
window.dispatchEvent(new Event("resize"));
};
const keyboardEvent = function(tabLink, tabLinks, tabPanels, tabItems, index, e) {
let keyCode = e.keyCode;
let currentTab = tabLinks[index];
let previousTab = tabLinks[index - 1];
let nextTab = tabLinks[index + 1];
let firstTab = tabLinks[0];
let lastTab = tabLinks[tabLinks.length - 1];
// ArrowRight and ArrowLeft are the values when event.key is supported
switch (keyCode) {
case 'ArrowLeft':
case 37:
e.preventDefault();
if (!previousTab) {
lastTab.focus();
} else {
previousTab.focus();
}
break;
case 'ArrowRight':
case 39:
e.preventDefault();
if (!nextTab) {
firstTab.focus();
} else {
nextTab.focus();
}
break;
}
};
// Add accessibility roles and labels
tabList.setAttribute('role','tablist');
tabItems.forEach(function(item, index) {
let link = item.querySelector('a');
// collect tab links
tabLinks.push(link);
item.setAttribute('role', 'presentation');
if (index == 0) {
item.setAttribute('data-tab-active', '');
}
});
// Set up tab links
tabLinks.forEach(function(link, i) {
let anchor = link.getAttribute('href').split('#')[1];
let attributes = {
'id': 'tab-link-' + i,
'role': 'tab',
'tabIndex': '-1',
'aria-selected': 'false',
'aria-controls': anchor
};
// if it's the first element update the attributes
if (i == 0) {
attributes['aria-selected'] = 'true';
attributes.tabIndex = '0';
link.setAttribute('data-tab-active', '');
};
// Add the various accessibility roles and labels to the links
for (var key in attributes) {
link.setAttribute(key, attributes[key]);
}
// Click Event Listener
link.addEventListener('click', function(e) {
e.preventDefault();
});
// Click Event Listener
link.addEventListener('focus', function(e) {
tabClickEvent(this, tabLinks, tabPanels, i, e);
});
// Keyboard event listener
link.addEventListener('keydown', function(e) {
keyboardEvent(link, tabLinks, tabPanels, tabItems, i, e);
});
});
// Set up tab panels
tabPanels.forEach(function(panel, i) {
let attributes = {
'role': 'tabpanel',
'aria-hidden': 'true',
'aria-labelledby': 'tab-link-' + i
};
if (nextTab) {
let nextTabLink = document.createElement('a');
let nextTabLinkIndex = (i < tabPanels.length - 1) ? i + 1 : 0;
// set up next tab link
nextTabLink.setAttribute('href', '#tab-link-' + nextTabLinkIndex);
nextTabLink.textContent = 'Next Tab';
panel.appendChild(nextTabLink);
}
if (i == 0) {
attributes['aria-hidden'] = 'false';
panel.setAttribute('data-tab-active', '');
}
for (let key in attributes) {
panel.setAttribute(key, attributes[key]);
}
});
};
/* Alert Boxes
* ------------------------------------------------------ */
const ssAlertBoxes = function() {
const boxes = document.querySelectorAll('.alert-box');
boxes.forEach(function(box) {
box.addEventListener('click', function(event) {
if (event.target.matches('.alert-box__close')) {
event.stopPropagation();
event.target.parentElement.classList.add('hideit');
setTimeout(function(){
box.style.display = 'none';
}, 500)
}
});
})
};
/* Smooth Scrolling
* ------------------------------------------------------ */
const ssMoveTo = function(){
const easeFunctions = {
easeInQuad: function (t, b, c, d) {
t /= d;
return c * t * t + b;
},
easeOutQuad: function (t, b, c, d) {
t /= d;
return -c * t* (t - 2) + b;
},
easeInOutQuad: function (t, b, c, d) {
t /= d/2;
if (t < 1) return c/2*t*t + b;
t--;
return -c/2 * (t*(t-2) - 1) + b;
},
easeInOutCubic: function (t, b, c, d) {
t /= d/2;
if (t < 1) return c/2*t*t*t + b;
t -= 2;
return c/2*(t*t*t + 2) + b;
}
}
const triggers = document.querySelectorAll('.smoothscroll');
const moveTo = new MoveTo({
tolerance: 0,
duration: 1200,
easing: 'easeInOutCubic',
container: window
}, easeFunctions);
triggers.forEach(function(trigger) {
moveTo.registerTrigger(trigger);
});
};
/* Initialize
* ------------------------------------------------------ */
(function ssInit() {
ssPreloader();
ssCountdown();
ssSwiper();
ssMailChimpForm();
sstabs();
ssAlertBoxes();
ssMoveTo();
})();
})(document.documentElement);</script>
</body>
</html>