/* ===================================================================
* Infinity Main Stylesheet
* Template Ver. 2.0.0
* 12-17-2021
* ------------------------------------------------------------------
*
* TOC:
* # SETTINGS
* ## fonts
* ## colors
* ## spacing and typescale
* ## grid variables
* # NORMALIZE
* # BASE SETUP
* # GRID
* ## large screen devices
* ## medium screen devices
* ## tablet devices
* ## mobile devices
* ## small screen devices
* ## additional column stackpoints
* # UTILITY CLASSES
* # TYPOGRAPHY
* ## base type styles
* ## additional typography & helper classes
* ## lists
* ## spacing
* # PRELOADER
* # FORM
* ## style placeholder text
* ## change autocomplete styles in Chrome
* # BUTTONS
* # TABLE
* # COMPONENTS
* ## pagination
* ## alert box
* ## skillbars
* ## stats tabs
* # PROJECT-WIDE SHARED STYLES
* ## media classes
* ## swiper overrides
* ## section header
* ## theme-specific typography classes
* # PAGE WRAP
* # SITE HEADER
* ## logo
* ## menu toggle
* ## off-canvas menu
* ## header social
* # INTRO
* ## intro background
* ## intro content
* ## intro social
* ## intro scroll
* # ABOUT
* # SERVICES
* ## services background
* ## services list
* # PORTFOLIO
* ## portfolio list
* ## testimonials
* ## clients
* # CONTACT
* ## contact infos
* ## contact bottom
* # FOOTER
* ## copyright
* ## go top
*
* ------------------------------------------------------------------ */
/* ===================================================================
* # SETTINGS
*
*
* ------------------------------------------------------------------- */
/* -------------------------------------------------------------------
* ## fonts
* ------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap");
:root {
--font-1 : "Lora", serif;
--font-2 : "Inter", sans-serif;
/* monospace
*/
--font-mono : Consolas, "Andale Mono", Courier, "Courier New", monospace;
}
/* -------------------------------------------------------------------
* ## colors
* ------------------------------------------------------------------- */
:root {
/* color-1(#F9A828)
* color-2(#07617D)
*/
--color-1 : hsla(37, 95%, 57%, 1);
--color-2 : hsla(194, 89%, 26%, 1);
/* theme color variations
*/
--color-1-lighter : hsla(37, 95%, 77%, 1);
--color-1-light : hsla(37, 95%, 67%, 1);
--color-1-dark : hsla(37, 95%, 47%, 1);
--color-1-darker : hsla(37, 95%, 37%, 1);
--color-2-lighter : hsla(194, 89%, 46%, 1);
--color-2-light : hsla(194, 89%, 36%, 1);
--color-2-dark : hsla(194, 89%, 16%, 1);
--color-2-darker : hsla(194, 89%, 10%, 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 : #161616;
--color-gray-18 : #2c2c2c;
--color-gray-17 : #424342;
--color-gray-16 : #585958;
--color-gray-15 : #6e6f6f;
--color-gray-14 : #838585;
--color-gray-13 : #999b9b;
--color-gray-12 : #afb2b1;
--color-gray-11 : #c5c8c7;
--color-gray-10 : #dbdedd;
--color-gray-9 : #dfe1e0;
--color-gray-8 : #e2e5e4;
--color-gray-7 : #e6e8e7;
--color-gray-6 : #e9ebeb;
--color-gray-5 : #edefee;
--color-gray-4 : #f1f2f1;
--color-gray-3 : #f4f5f5;
--color-gray-2 : #f8f8f8;
--color-gray-1 : #fbfcfc;
--color-white : #ffffff;
/* text
*/
--color-text : var(--color-gray-19);
--color-text-dark : var(--color-black);
--color-text-light : var(--color-gray-13);
--color-placeholder : var(--color-gray-13);
/* buttons
*/
--color-btn : var(--color-gray-9);
--color-btn-text : var(--color-black);
--color-btn-hover : var(--color-gray-11);
--color-btn-hover-text : var(--color-black);
--color-btn-primary : var(--color-1);
--color-btn-primary-text : var(--color-black);
--color-btn-primary-hover : var(--color-1-dark);
--color-btn-primary-hover-text : var(--color-black);
--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-19);
--color-loader : var(--color-1);
--color-loader-light : rgba(255, 255, 255, 0.1);
/* others
*/
--color-body : 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));
--vspace-5_5 : calc(5.5 * var(--space));
--vspace-6 : calc(6 * var(--space));
/* type scale
* ratio 1 :2 | base: 18px
* -------------------------------------------------------
*
* --text-display-3 = (77.40px)
* --text-display-2 = (64.50px)
* --text-display-1 = (53.75px)
* --text-xxxl = (44.79px)
* --text-xxl = (37.32px)
* --text-xl = (31.10px)
* --text-lg = (25.92px)
* --text-md = (21.60px)
* --text-size = (18.00px) BASE
* --text-sm = (15.00px)
* --text-xs = (12.50px)
*
* ---------------------------------------------------------
*/
--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);
}
/* on mobile devices below 600px, change the value of '--multiplier'
* to adjust the values of base font size and vertical space unit.
*/
@media screen and (max-width: 600px) {
:root {
--multiplier : .875;
}
}
/* -------------------------------------------------------------------
* ## 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 : 2rem;
}
/* on medium screen devices
*/
@media screen and (max-width: 1200px) {
:root {
--gutter : 1.8rem;
}
}
/* on mobile devices
*/
@media screen and (max-width: 600px) {
:root {
--gutter : 1rem;
}
}
/* ====================================================================
* # NORMALIZE
*
*
* --------------------------------------------------------------------
* normalize.css v8.0.1 | MIT License |
* github.com/necolas/normalize.css
* -------------------------------------------------------------------- */
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;
}
button,
input,
optgroup,
select,
textarea {
font-family : inherit;
font-size : 100%;
line-height : 1.15;
margin : 0;
}
button,
input {
overflow : visible;
}
button,
select {
text-transform : none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance : button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style : none;
padding : 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline : 1px dotted ButtonText;
}
fieldset {
padding : 0.35em 0.75em 0.625em;
}
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;
}
/* ===================================================================
* # GRID v4.0.0
*
*
* -----------------------------------------------------------------
* - Grid breakpoints are based on MAXIMUM WIDTH media queries,
* meaning they apply to that one breakpoint and ALL THOSE BELOW IT.
* - Grid columns without a specified width will automatically layout
* as equal width columns.
*
* - BLOCK GRID columns(columns inside BLOCK GRID containers) are
* equally-sized columns define at parent/row level.
* A BLOCK GRID container's class attribute value begins with "block-".
*
* ------------------------------------------------------------------- */
/* row
*/
.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%;
}
/* --------------------------------------------------------------------
* ## medium screen devices
* -------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
.md-1 {
flex : none;
width : 8.33333%;
}
.md-2 {
flex : none;
width : 16.66667%;
}
.md-3 {
flex : none;
width : 25%;
}
.md-4 {
flex : none;
width : 33.33333%;
}
.md-5 {
flex : none;
width : 41.66667%;
}
.md-6 {
flex : none;
width : 50%;
}
.md-7 {
flex : none;
width : 58.33333%;
}
.md-8 {
flex : none;
width : 66.66667%;
}
.md-9 {
flex : none;
width : 75%;
}
.md-10 {
flex : none;
width : 83.33333%;
}
.md-11 {
flex : none;
width : 91.66667%;
}
.md-12 {
flex : none;
width : 100%;
}
.block-md-one-eight>.column {
flex : none;
width : 12.5%;
}
.block-md-one-sixth>.column {
flex : none;
width : 16.66667%;
}
.block-md-one-fifth>.column {
flex : none;
width : 20%;
}
.block-md-one-fourth>.column {
flex : none;
width : 25%;
}
.block-md-one-third>.column {
flex : none;
width : 33.33333%;
}
.block-md-one-half>.column {
flex : none;
width : 50%;
}
.block-md-whole>.column {
flex : none;
width : 100%;
}
.hide-on-md {
display : none;
}
}
/* --------------------------------------------------------------------
* ## tablet devices
* -------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
.tab-1 {
flex : none;
width : 8.33333%;
}
.tab-2 {
flex : none;
width : 16.66667%;
}
.tab-3 {
flex : none;
width : 25%;
}
.tab-4 {
flex : none;
width : 33.33333%;
}
.tab-5 {
flex : none;
width : 41.66667%;
}
.tab-6 {
flex : none;
width : 50%;
}
.tab-7 {
flex : none;
width : 58.33333%;
}
.tab-8 {
flex : none;
width : 66.66667%;
}
.tab-9 {
flex : none;
width : 75%;
}
.tab-10 {
flex : none;
width : 83.33333%;
}
.tab-11 {
flex : none;
width : 91.66667%;
}
.tab-12 {
flex : none;
width : 100%;
}
.block-tab-one-eight>.column {
flex : none;
width : 12.5%;
}
.block-tab-one-sixth>.column {
flex : none;
width : 16.66667%;
}
.block-tab-one-fifth>.column {
flex : none;
width : 20%;
}
.block-tab-one-fourth>.column {
flex : none;
width : 25%;
}
.block-tab-one-third>.column {
flex : none;
width : 33.33333%;
}
.block-tab-one-half>.column {
flex : none;
width : 50%;
}
.block-tab-whole>.column {
flex : none;
width : 100%;
}
.hide-on-tab {
display : none;
}
}
/* --------------------------------------------------------------------
* ## 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;
}
}
/* --------------------------------------------------------------------
* ## small screen devices
* --------------------------------------------------------------------*/
/* stack columns on small screen devices
*/
@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: 900px) {
.stack-on-900,
.block-stack-on-900>.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;
}
}
/* ===================================================================
* # UTILITY CLASSES
*
*
* ------------------------------------------------------------------- */
/* flex item alignment classes
*/
.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-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;
}
.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;
}
/* ===================================================================
* # TYPOGRAPHY
*
*
* -------------------------------------------------------------------
* type scale - ratio 1:2 | base: 18px
* -------------------------------------------------------------------
*
* --text-display-3 = (77.40px)
* --text-display-2 = (64.50px)
* --text-display-1 = (53.75px)
* --text-xxxl = (44.79px)
* --text-xxl = (37.32px)
* --text-xl = (31.10px)
* --text-lg = (25.92px)
* --text-md = (21.60px)
* --text-size = (18.00px) BASE
* --text-sm = (15.00px)
* --text-xs = (12.50px)
*
* -------------------------------------------------------------------- */
/* --------------------------------------------------------------------
* ## base type styles
* -------------------------------------------------------------------- */
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-2);
transition : all 0.3s ease-in-out;
}
a:focus,
a:hover,
a:active {
color : var(--color-1-dark);
}
a:hover,
a:active {
outline : 0;
}
/* headings
*/
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family : var(--font-2);
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 : -.01em;
}
@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);
}
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-weight : 600;
font-size : var(--text-sm);
line-height : var(--vspace-0_75);
text-transform : uppercase;
letter-spacing : .3rem;
}
/* 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 var(--color-text-light);
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-2);
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-6);
border : 1px solid var(--color-gray-8);
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;
}
/* --------------------------------------------------------------------
* ## additional typography & helper classes
* -------------------------------------------------------------------- */
.lead,
.attention-getter {
font-family : var(--font-2);
font-weight : 300;
font-size : var(--text-md);
line-height : var(--vspace-1_25);
color : var(--color-text-light);
}
@media screen and (max-width: 500px) {
.lead,
.attention-getter {
font-size : calc(var(--text-size) * 1.0556);
line-height : calc(1.125 * var(--space));
}
}
.pull-quote {
position : relative;
padding : 0;
margin-top : 0;
text-align : center;
}
.pull-quote blockquote {
border : none;
margin : 0 auto;
max-width : 62rem;
padding-top : var(--vspace-2_5);
position : relative;
}
.pull-quote blockquote p {
font-weight : 400;
color : var(--color-text-dark);
}
.pull-quote blockquote:before {
content : "";
display : block;
height : var(--vspace-1);
width : var(--vspace-1);
background-repeat : no-repeat;
background : center center;
background-size : contain;
background-image : url(../images/icons/icon-quote.svg);
transform : translate(-50%, 0, 0);
position : absolute;
top : var(--vspace-1);
left : 50%;
}
.drop-cap:first-letter {
float : left;
font-family : var(--font-2);
font-weight : 600;
font-size : calc(3 * var(--space));
line-height : 1;
padding : 0 0.125em 0 0;
text-transform : uppercase;
background : transparent;
color : var(--color-text-dark);
}
.text-center {
text-align : center;
}
.text-left {
text-align : left;
}
.text-right {
text-align : right;
}
/* --------------------------------------------------------------------
* ## lists
* -------------------------------------------------------------------- */
ol {
list-style : decimal;
}
ul {
list-style : disc;
}
li {
display : list-item;
}
ol,
ul {
margin-left : 1.6rem;
}
ul li {
padding-left : .4rem;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin : 1.6rem 0 1.6rem 1.6rem;
}
ul.disc li {
display : list-item;
list-style : none;
padding : 0 0 0 .8rem;
position : relative;
}
ul.disc li::before {
content : "";
display : inline-block;
width : 8px;
height : 8px;
border-radius : 50%;
background : var(--color-2);
position : absolute;
left : -.9em;
top : 11px;
vertical-align : middle;
}
dt {
margin : 0;
color : var(--color-2);
}
dd {
margin : 0 0 0 2rem;
}
/* definition list line style
*/
.lining dt,
.lining dd {
display : inline;
margin : 0;
}
.lining dt+dt:before,
.lining dd+dt:before {
content : "\A";
white-space : pre;
}
.lining dd+dd:before {
content : ", ";
}
.lining dd+dd:before {
content : ", ";
}
.lining dd:before {
content : ": ";
margin-left : -0.2em;
}
/* definition list dictionary style
*/
.dictionary-style dt {
display : inline;
counter-reset : definitions;
}
.dictionary-style dt+dt:before {
content : ", ";
margin-left : -0.2em;
}
.dictionary-style dd {
display : block;
counter-increment : definitions;
}
.dictionary-style dd:before {
content : counter(definitions, decimal) ". ";
}
/* --------------------------------------------------------------------
* ## spacing
* -------------------------------------------------------------------- */
fieldset,
button,
.btn {
margin-bottom : var(--vspace-0_5);
}
input,
textarea,
select,
pre,
blockquote,
figure,
figcaption,
table,
p,
ul,
ol,
dl,
form,
img,
.video-container,
.ss-custom-select {
margin-bottom : var(--vspace-1);
}
/* ===================================================================
* # 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;
}
.no-js #preloader {
display : none;
}
#loader {
width : var(--vspace-2);
height : var(--vspace-2);
padding : 0;
background-color : var(--color-loader);
border-radius : 100%;
-webkit-animation : sk-scaleout 1.0s infinite ease-in-out;
animation : sk-scaleout 1.0s infinite ease-in-out;
}
@-webkit-keyframes sk-scaleout {
0% {
-webkit-transform : scale(0);
transform : scale(0);
}
100% {
-webkit-transform : scale(1);
transform : scale(1);
opacity : 0;
}
}
@keyframes sk-scaleout {
0% {
transform : scale(0);
}
100% {
transform : scale(1);
opacity : 0;
}
}
/* ===================================================================
* # FORM
*
*
* ------------------------------------------------------------------- */
fieldset {
border : none;
}
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
--input-height : var(--vspace-2);
--input-line-height : var(--vspace-1);
--input-vpadding : calc((var(--input-height) - var(--input-line-height)) / 2);
display : block;
height : var(--input-height);
padding : var(--input-vpadding) 0 calc(var(--input-vpadding) - 1px);
border : 0;
outline : 0;
color : var(--color-text-light);
font-family : var(--font-2);
font-size : var(--text-sm);
line-height : var(--input-line-height);
max-width : 100%;
background : transparent;
border-bottom : 1px solid var(--color-border);
transition : all .3s ease-in-out;
}
.ss-custom-select {
position : relative;
padding : 0;
}
.ss-custom-select select {
-webkit-appearance : none;
-moz-appearance : none;
appearance : none;
text-indent : 0.01px;
text-overflow : '';
margin : 0;
vertical-align : middle;
line-height : var(--vspace-1);
}
.ss-custom-select select option {
padding-left : 2rem;
padding-right : 2rem;
background-color : var(--color-body);
}
.ss-custom-select select::-ms-expand {
display : none;
}
.ss-custom-select::after {
border-bottom : 1px solid white;
border-right : 1px solid white;
content : '';
display : block;
height : 8px;
width : 8px;
margin-top : -7px;
pointer-events : none;
position : absolute;
right : 2.4rem;
top : 50%;
transition : all 0.15s ease-in-out;
transform-origin : 66% 66%;
transform : rotate(45deg);
}
textarea {
min-height : calc(8 * var(--space));
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
color : var(--color-text);
border-bottom : 1px solid var(--color-2);
}
label,
legend {
font-family : var(--font-2);
font-weight : 700;
font-size : var(--text-sm);
line-height : var(--vspace-0_5);
margin-bottom : var(--vspace-0_5);
color : var(--color-text-dark);
display : block;
}
input[type="checkbox"],
input[type="radio"] {
display : inline;
}
label>.label-text {
display : inline-block;
margin-left : 1rem;
font-family : var(--font-2);
line-height : inherit;
}
label>input[type="checkbox"],
label>input[type="radio"] {
margin : 0;
position : relative;
top : 2px;
}
/* -------------------------------------------------------------------
* ## style placeholder text
* ------------------------------------------------------------------- */
::-webkit-input-placeholder {
/* WebKit, Blink, Edge */
color : var(--color-placeholder);
}
:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color : var(--color-placeholder);
opacity : 1;
}
::-moz-placeholder {
/* Mozilla Firefox 19+ */
color : var(--color-placeholder);
opacity : 1;
}
:-ms-input-placeholder {
/* Internet Explorer 10-11 */
color : var(--color-placeholder);
}
::-ms-input-placeholder {
/* Microsoft Edge */
color : var(--color-placeholder);
}
::placeholder {
/* Most modern browsers support this now. */
color : var(--color-placeholder);
}
/* -------------------------------------------------------------------
* ## change autocomplete styles in Chrome
* ------------------------------------------------------------------- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
-webkit-text-fill-color : var(--color-1);
transition : background-color 5000s ease-in-out 0s;
}
/* ===================================================================
* # BUTTONS
*
*
* ------------------------------------------------------------------- */
.btn,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
--btn-height : var(--vspace-btn);
display : inline-block;
font-family : var(--font-2);
font-weight : 500;
font-size : var(--text-xs);
text-transform : uppercase;
letter-spacing : .35em;
height : var(--btn-height);
line-height : calc(var(--btn-height) - 4px);
padding : 0 3.6rem;
margin : 0 0.4rem var(--vspace-0_5) 0;
color : var(--color-btn-text);
text-decoration : none;
text-align : center;
white-space : nowrap;
cursor : pointer;
transition : all .3s;
background-color : var(--color-btn);
border : 2px solid var(--color-btn);
-webkit-font-smoothing : antialiased;
-moz-osx-font-smoothing : grayscale;
}
.btn:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus,
.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
background-color : var(--color-btn-hover);
border-color : var(--color-btn-hover);
color : var(--color-btn-hover-text);
outline : 0;
}
/* button primary
*/
.btn.btn--primary,
button.btn--primary,
input[type="submit"].btn--primary,
input[type="reset"].btn--primary,
input[type="button"].btn--primary {
background : var(--color-btn-primary);
border-color : var(--color-btn-primary);
color : var(--color-btn-primary-text);
}
.btn.btn--primary:focus,
button.btn--primary:focus,
input[type="submit"].btn--primary:focus,
input[type="reset"].btn--primary:focus,
input[type="button"].btn--primary:focus,
.btn.btn--primary:hover,
button.btn--primary:hover,
input[type="submit"].btn--primary:hover,
input[type="reset"].btn--primary:hover,
input[type="button"].btn--primary:hover {
background : var(--color-btn-primary-hover);
border-color : var(--color-btn-primary-hover);
color : var(--color-btn-primary-hover-text);
}
/* button modifiers
*/
.btn.u-fullwidth,
button.u-fullwidth {
width : 100%;
margin-right : 0;
}
.btn--small,
button.btn--small {
--btn-height : calc(var(--vspace-btn) - 1.6rem);
}
.btn--medium,
button.btn--medium {
--btn-height : calc(var(--vspace-btn) + .8rem);
}
.btn--large,
button.btn--large {
--btn-height : calc(var(--vspace-btn) + 1.6rem);
}
.btn--stroke,
button.btn--stroke {
background : transparent !important;
border : 2px solid var(--color-btn-stroke);
color : var(--color-btn-stroke-text);
}
.btn--stroke:focus,
button.btn--stroke:focus,
.btn--stroke:hover,
button.btn--stroke:hover {
background : var(--color-btn-stroke-hover) !important;
border : 2px solid var(--color-btn-stroke-hover);
color : var(--color-btn-stroke-hover-text);
}
.btn--pill,
button.btn--pill {
padding-left : 3.2rem !important;
padding-right : 3.2rem !important;
border-radius : 1000px !important;
}
/* ===================================================================
* # TABLE
*
*
* ------------------------------------------------------------------- */
table {
border-width : 0;
width : 100%;
max-width : 100%;
font-family : var(--font-1);
border-collapse : collapse;
}
th,
td {
padding : var(--vspace-0_5) 3.2rem calc(var(--vspace-0_5) - 1px);
text-align : left;
border-bottom : 1px solid var(--color-border);
}
th {
padding : var(--vspace-0_5) 3.2rem;
color : var(--color-text-dark);
font-family : var(--font-2);
font-weight : 600;
}
th:first-child,
td:first-child {
padding-left : 0;
}
th:last-child,
td:last-child {
padding-right : 0;
}
.table-responsive {
overflow-x : auto;
-webkit-overflow-scrolling : touch;
}
/* ===================================================================
* # COMPONENTS
*
*
* ------------------------------------------------------------------- */
/* -------------------------------------------------------------------
* ## pagination
* ------------------------------------------------------------------- */
.pgn {
--pgn-num-height : calc(var(--vspace-1) + .4rem);
margin : var(--vspace-1) auto;
text-align : center;
}
.pgn ul {
display : inline-flex;
flex-flow : row wrap;
justify-content : center;
list-style : none;
margin-left : 0;
position : relative;
padding : 0 6rem;
}
.pgn ul li {
margin : 0;
padding : 0;
}
.pgn__num {
font-family : var(--font-2);
font-weight : 600;
font-size : var(--text-size);
line-height : var(--vspace-1);
display : block;
padding : .2rem 1.2rem;
height : var(--pgn-num-height);
margin : .2rem .2rem;
color : var(--color-text-dark);
border-radius : 4px;
transition : all, .3s, ease-in-out;
}
.pgn__num:focus,
.pgn__num:hover {
background : var(--color-black);
color : var(--color-white);
}
.pgn .current,
.pgn .current:focus,
.pgn .current:hover {
background-color : var(--color-black);
color : var(--color-white);
}
.pgn .inactive,
.pgn .inactive:focus,
.pgn .inactive:hover {
opacity : 0.4;
cursor : default;
}
.pgn__prev,
.pgn__next {
display : inline-flex;
flex-flow : row wrap;
justify-content : center;
align-items : center;
height : var(--pgn-num-height);
width : 4.8rem;
line-height : var(--vspace-1);
border-radius : 4px;
padding : 0;
margin : 0;
opacity : 1;
font : 0/0 a;
text-shadow : none;
color : transparent;
transition : all, .3s, ease-in-out;
position : absolute;
top : 50%;
transform : translate(0, -50%);
}
.pgn__prev:focus,
.pgn__prev:hover,
.pgn__next:focus,
.pgn__next:hover {
background-color : var(--color-black);
}
.pgn__prev svg,
.pgn__next svg {
height : 2.4rem;
width : 2.4rem;
transition : all, .3s, ease-in-out;
}
.pgn__prev svg path,
.pgn__next svg path {
stroke : var(--color-text-dark);
}
.pgn__prev:focus svg path,
.pgn__prev:hover svg path,
.pgn__next:focus svg path,
.pgn__next:hover svg path {
stroke : var(--color-white);
}
.pgn__prev {
left : 0;
}
.pgn__next {
right : 0;
}
.pgn__prev.inactive,
.pgn__next.inactive {
opacity : 0.4;
cursor : default;
}
.pgn__prev.inactive:focus,
.pgn__prev.inactive:hover,
.pgn__next.inactive:focus,
.pgn__next.inactive:hover {
background-color : transparent;
}
/* -------------------------------------------------------------------
* responsive:
* pagination
* ------------------------------------------------------------------- */
@media screen and (max-width: 600px) {
.pgn ul {
padding : 0 5.2rem;
}
}
/* -------------------------------------------------------------------
* ## alert box
* ------------------------------------------------------------------- */
.alert-box {
padding : var(--vspace-0_75) 4rem var(--vspace-0_75) 3.2rem;
margin-bottom : var(--vspace-1);
border-radius : var(--border-radius);
font-family : var(--font-2);
font-weight : 500;
font-size : var(--text-sm);
line-height : var(--vspace-0_75);
opacity : 1;
visibility : visible;
position : relative;
}
.alert-box__close {
position : absolute;
display : block;
right : 1.6rem;
top : 1.6rem;
cursor : pointer;
width : 12px;
height : 12px;
}
.alert-box__close::before,
.alert-box__close::after {
content : '';
display : inline-block;
width : 1px;
height : 12px;
position : absolute;
top : 0;
left : 5px;
}
.alert-box__close::before {
transform : rotate(45deg);
}
.alert-box__close::after {
transform : rotate(-45deg);
}
.alert-box--error {
background-color : var(--color-error);
color : var(--color-error-content);
}
.alert-box--error .alert-box__close::before,
.alert-box--error .alert-box__close::after {
background-color : var(--color-error-content);
}
.alert-box--success {
background-color : var(--color-success);
color : var(--color-success-content);
}
.alert-box--success .alert-box__close::before,
.alert-box--success .alert-box__close::after {
background-color : var(--color-success-content);
}
.alert-box--info {
background-color : var(--color-info);
color : var(--color-info-content);
}
.alert-box--info .alert-box__close::before,
.alert-box--info .alert-box__close::after {
background-color : var(--color-info-content);
}
.alert-box--notice {
background-color : var(--color-notice);
color : var(--color-notice-content);
}
.alert-box--notice .alert-box__close::before,
.alert-box--notice .alert-box__close::after {
background-color : var(--color-notice-content);
}
.alert-box.hideit {
opacity : 0;
visibility : hidden;
transition : all .5s;
}
/* -------------------------------------------------------------------
* ## skillbars
* ------------------------------------------------------------------- */
.skill-bars {
list-style : none;
margin : var(--vspace-2) 0 var(--vspace-1);
}
.skill-bars li {
height : .4rem;
background : var(--color-gray-9);
width : 100%;
margin-bottom : calc(var(--vspace-2) - .4rem);
padding : 0;
position : relative;
}
.skill-bars li strong {
position : absolute;
left : 0;
top : calc((var(--vspace-1) * 1.25) * -1);
font-family : var(--font-2);
font-weight : 600;
color : var(--color-text-dark);
text-transform : uppercase;
letter-spacing : .2em;
font-size : var(--text-xs);
line-height : var(--vspace-0_75);
}
.skill-bars li .progress {
background : var(--color-2);
position : relative;
height : 100%;
}
.skill-bars li .progress span {
display : block;
font-family : var(--font-1);
color : white;
font-size : 1rem;
line-height : 1;
background : var(--color-black);
padding : var(--vspace-0_25);
border-radius : 4px;
position : absolute;
right : 0;
top : calc((var(--vspace-1) + .8rem) * -1);
}
.skill-bars li .progress span::after {
position : absolute;
left : 50%;
bottom : -10px;
margin-left : -5px;
width : 0;
height : 0;
border : 5px solid transparent;
border-top-color : var(--color-black, var(--color-black));
content : "";
}
.skill-bars li .percent5 {
width : 5%;
}
.skill-bars li .percent10 {
width : 10%;
}
.skill-bars li .percent15 {
width : 15%;
}
.skill-bars li .percent20 {
width : 20%;
}
.skill-bars li .percent25 {
width : 25%;
}
.skill-bars li .percent30 {
width : 30%;
}
.skill-bars li .percent35 {
width : 35%;
}
.skill-bars li .percent40 {
width : 40%;
}
.skill-bars li .percent45 {
width : 45%;
}
.skill-bars li .percent50 {
width : 50%;
}
.skill-bars li .percent55 {
width : 55%;
}
.skill-bars li .percent60 {
width : 60%;
}
.skill-bars li .percent65 {
width : 65%;
}
.skill-bars li .percent70 {
width : 70%;
}
.skill-bars li .percent75 {
width : 75%;
}
.skill-bars li .percent80 {
width : 80%;
}
.skill-bars li .percent85 {
width : 85%;
}
.skill-bars li .percent90 {
width : 90%;
}
.skill-bars li .percent95 {
width : 95%;
}
.skill-bars li .percent100 {
width : 100%;
}
/* --------------------------------------------------------------------
* ## stats tabs
* -------------------------------------------------------------------- */
.stats-tabs {
padding : 0;
margin : var(--vspace-1) 0;
}
.stats-tabs li {
display : inline-block;
margin : 0 1.6rem var(--vspace-0_5) 0;
padding : 0 1.5rem 0 0;
border-right : 1px solid var(--color-border);
}
.stats-tabs li:last-child {
margin : 0;
padding : 0;
border : none;
}
.stats-tabs li a {
display : block;
font-family : var(--font-2);
font-size : var(--text-lg);
font-weight : 600;
line-height : var(--vspace-1_5);
border : none;
color : var(--color-text-dark);
}
.stats-tabs li a:hover {
color : var(--color-2);
}
.stats-tabs li a em {
display : block;
margin : 0;
font-family : var(--font-2);
font-size : var(--text-sm);
line-height : var(--vspace-0_5);
font-weight : 400;
font-style : normal;
color : var(--color-text-light);
}
/* ===================================================================
* # PROJECT-WIDE SHARED STYLES
*
*
* ------------------------------------------------------------------- */
.wide {
max-width : var(--width-wide);
}
.wider {
max-width : var(--width-wider);
}
.narrow {
max-width : var(--width-narrow);
}
.body-text-sm {
font-size : calc(var(--text-size) * 0.8889);
line-height : calc(0.9375 * var(--space));
}
.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;
}
[data-animate-el] {
opacity : 0;
}
.basicLightbox iframe {
width : 880px;
aspect-ratio : 16/9;
}
/* -------------------------------------------------------------------
* ## 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%;
}
/* -------------------------------------------------------------------
* ## swiper overrides
* ------------------------------------------------------------------- */
.swiper-container .swiper-pagination-bullets .swiper-pagination-bullet {
margin : 0 1.2rem;
}
.swiper-container .swiper-pagination-bullet {
width : 8px;
height : 8px;
background : rgba(0, 0, 0, 0.3);
opacity : 1;
}
.swiper-container .swiper-pagination-bullet-active {
background : black;
opacity : 1;
}
/* -------------------------------------------------------------------
* ## section header
* ------------------------------------------------------------------- */
.section-header {
max-width : 840px;
margin-bottom : var(--vspace-1_5);
text-align : center;
position : relative;
}
.section-header .text-display-title {
margin-bottom : var(--vspace-0_75);
}
.section-header.has-bottom-sep {
padding-bottom : calc(var(--vspace-1_25) - 1px);
position : relative;
}
.section-header.has-bottom-sep::before {
content : "";
display : inline-block;
height : 1px;
width : 400px;
background-color : var(--color-border);
transform : translateX(-50%);
position : absolute;
bottom : 0;
left : 50%;
}
.section-header--dark .text-pretitle {
color : var(--color-gray-15);
}
.section-header--dark .lead {
color : rgba(255, 255, 255, 0.35);
}
.section-header--dark.has-bottom-sep::before {
background-color : rgba(255, 255, 255, 0.05);
}
/* -------------------------------------------------------------------
* ## theme-specific typography classes
* ------------------------------------------------------------------- */
.text-pretitle {
font-family : var(--font-2);
font-size : var(--text-size);
font-weight : 600;
color : var(--color-black);
text-transform : uppercase;
letter-spacing : .2em;
margin-top : 0;
margin-bottom : 0;
position : relative;
}
.text-display-title {
--text-display-title-size : 6rem;
--text-multiplier : 1;
font-family : var(--font-1);
font-size : calc(var(--text-display-title-size) * var(--text-multiplier));
font-weight : 500;
line-height : 1.2667;
color : white;
margin-top : 0;
}
/* -------------------------------------------------------------------
* responsive:
* project-wide shared styles
* ------------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
.text-pretitle {
font-size : calc(var(--text-size) * 0.8889);
}
}
@media screen and (max-width: 700px) {
.text-display-title {
--text-multiplier : .9;
}
}
@media screen and (max-width: 600px) {
.text-display-title {
--text-multiplier : .8;
}
}
@media screen and (max-width: 500px) {
.text-display-title {
--text-multiplier : .7;
}
}
@media screen and (max-width: 400px) {
.section-header.has-bottom-sep::before {
width : 240px;
}
.text-display-title {
font-size : 4rem;
}
}
/* ===================================================================
* # PAGE WRAP
*
*
* ------------------------------------------------------------------- */
.s-pagewrap {
--header-height : 7.2rem;
display : flex;
flex-direction : column;
min-height : 100%;
overflow : hidden;
position : relative;
}
/* ===================================================================
* # SITE HEADER
*
*
* ------------------------------------------------------------------- */
/* --------------------------------------------------------------------
* ## logo
* -------------------------------------------------------------------- */
.s-header__logo {
z-index : 102;
position : absolute;
top : 3.2rem;
left : 2.8rem;
}
.s-header__logo a {
display : block;
margin : 0;
padding : 0;
outline : 0;
border : none;
}
.s-header__logo img {
width : 40px;
margin : 0;
vertical-align : bottom;
}
/* -------------------------------------------------------------------
* ## menu toggle
* ------------------------------------------------------------------- */
.s-header__menu-toggle {
--menu-toggle-height : 4.2rem;
z-index : 102;
padding-right : calc(var(--menu-toggle-height) + .2rem);
padding-left : 1.2rem;
transition : all 0.3s ease-in-out;
position : fixed;
top : 2.8rem;
right : 2.8rem;
}
.s-header__menu-toggle.opaque {
background-color : black;
}
.s-header__menu-text {
display : block;
font-family : var(--font-2);
font-weight : 400;
font-size : 1.3rem;
line-height : var(--menu-toggle-height);
text-transform : uppercase;
letter-spacing : 0.3em;
color : white;
}
.s-header__menu-icon {
display : block;
height : 2px;
width : 2.4rem;
background-color : white;
position : absolute;
top : 50%;
right : .9rem;
margin-top : -1px;
}
.s-header__menu-icon::before,
.s-header__menu-icon::after {
content : '';
width : 100%;
height : 100%;
background-color : inherit;
position : absolute;
left : 0;
}
.s-header__menu-icon::before {
top : -0.8rem;
}
.s-header__menu-icon::after {
bottom : -0.8rem;
}
/* --------------------------------------------------------------------
* ## off-canvas menu
* -------------------------------------------------------------------- */
.s-header__nav {
z-index : 200;
background : #0C0C0C;
color : rgba(255, 255, 255, 0.25);
font-family : var(--font-2);
font-size : 1.5rem;
line-height : 2.8rem;
padding : var(--vspace-1_25) var(--vspace-1);
height : 100%;
width : 300px;
transform : translateX(100%);
overflow-y : auto;
transition-property : transform;
transition-duration : 0.4s;
transition-timing-function : cubic-bezier(0.215, 0.61, 0.355, 1);
position : fixed;
right : 0;
top : 0;
}
.s-header__nav a,
.s-header__nav .text-highlight {
color : rgba(255, 255, 255, 0.5);
}
.s-header__nav a:focus,
.s-header__nav a:hover {
color : white;
}
.s-header__nav h3 {
margin-top : 0;
font-weight : 600;
font-size : var(--text-md);
line-height : 3rem;
color : white;
margin-bottom : var(--vspace-1_5);
}
.s-header__nav-list {
list-style : none;
margin-left : 0;
margin-bottom : var(--vspace-1_5);
font-family : var(--font-2);
font-size : 1.5rem;
line-height : 1;
}
.s-header__nav-list li {
padding-left : 0;
border-top : 1px solid rgba(255, 255, 255, 0.025);
}
.s-header__nav-list li:last-child {
border-bottom : 1px solid rgba(255, 255, 255, 0.025);
}
.s-header__nav-list li a {
display : block;
padding : var(--vspace-0_5) 0;
}
.s-header__nav-close-btn {
display : block;
height : 3rem;
width : 3rem;
border-radius : 3px;
background-color : rgba(255, 255, 255, 0.05);
border-radius : 50%;
font : 0/0 a;
text-shadow : none;
color : transparent;
position : absolute;
top : var(--vspace-1_25);
right : var(--vspace-1);
}
.s-header__nav-close-btn span::before,
.s-header__nav-close-btn span::after {
content : "";
display : block;
height : 2px;
width : 12px;
background-color : white;
margin-top : -1px;
position : absolute;
top : 50%;
left : 9px;
}
.s-header__nav-close-btn span::before {
transform : rotate(-45deg);
}
.s-header__nav-close-btn span::after {
transform : rotate(45deg);
}
/* menu is open
*/
.menu-is-open .s-header__nav {
transform : translateX(0);
visibility : visible;
-webkit-overflow-scrolling : touch;
}
/* --------------------------------------------------------------------
* ## header social
* -------------------------------------------------------------------- */
.s-header__social {
list-style : none;
display : flex;
margin : 0;
}
.s-header__social li {
padding-left : 0;
margin-right : 1rem;
line-height : 1;
}
.s-header__social li:last-child {
margin-right : 0;
}
.s-header__social svg {
height : 2.4rem;
width : 2.4rem;
}
.s-header__social svg path {
fill : rgba(255, 255, 255, 0.15);
transition : all 0.3s ease-in-out;
}
.s-header__social a:focus svg path,
.s-header__social a:hover svg path {
fill : white;
}
/* -------------------------------------------------------------------
* responsive:
* site-header
* ------------------------------------------------------------------- */
@media screen and (max-width: 600px) {
.s-header__menu-toggle {
right : 2.4rem;
}
}
@media screen and (max-width: 400px) {
.s-header__logo {
left : 2.4rem;
}
.s-header__nav {
width : 90vw;
}
}
/* ===================================================================
* # INTRO
*
*
* ------------------------------------------------------------------- */
.s-intro {
background-color : var(--color-preloader-bg);
width : 100%;
height : 100vh;
min-height : calc(25.5 * var(--space));
overflow : hidden;
position : relative;
}
/* --------------------------------------------------------------------
* ## intro background
* -------------------------------------------------------------------- */
.s-intro__bg {
display : block;
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background-image : url(../images/main-bg.jfif);
background-repeat : no-repeat;
background-position : center 30%;
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 : var(--color-gray-15);
pointer-events : none;
opacity : .1;
}
.s-intro__bg::after {
display : block;
content : "";
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background : linear-gradient(0deg, black 15%, rgba(0, 0, 0, 0) 100%);
pointer-events : none;
opacity : .1;
}
/* --------------------------------------------------------------------
* ## intro content
* -------------------------------------------------------------------- */
.s-intro__content {
z-index : 1;
height : 100%;
align-items : center;
justify-content : center;
color : white;
padding-top : 18vh;
padding-bottom : 12rem;
text-align : center;
position : relative;
}
.s-intro__pretitle {
font-weight : 500;
font-size : var(--text-md);
text-transform : uppercase;
letter-spacing : .2em;
color : white;
margin-top : 0;
}
.s-intro__title {
--text-title-size : 10.4rem;
--text-multiplier : 1;
font-weight : 700;
font-size : calc(var(--text-title-size) * var(--text-multiplier));
line-height : 1.1154;
color : white;
margin-top : 0;
margin-bottom : var(--vspace-2_5);
}
.s-intro__more {
--vspace-btn : var(--vspace-1_5);
}
.s-intro__more-btn {
border : 2px solid white;
color : white;
margin : 0;
}
.s-intro__more-btn:focus,
.s-intro__more-btn:hover {
background-color : white !important;
border : 2px solid white;
color : black;
}
/* --------------------------------------------------------------------
* ## intro social
* -------------------------------------------------------------------- */
.s-intro__social {
z-index : 2;
list-style : none;
display : block;
margin : 0;
padding-top : var(--vspace-1_25);
position : absolute;
left : 4.4rem;
bottom : var(--vspace-1_25);
}
.s-intro__social::before {
content : "";
display : block;
height : var(--vspace-0_875);
width : 1px;
background-color : rgba(255, 255, 255, 0.5);
position : absolute;
top : 0;
left : 50%;
}
.s-intro__social li {
padding-left : 0;
line-height : 1;
margin-bottom : 1rem;
}
.s-intro__social svg {
height : var(--vspace-0_625);
width : var(--vspace-0_625);
}
.s-intro__social svg path {
fill : white;
}
/* --------------------------------------------------------------------
* ## intro scroll
* -------------------------------------------------------------------- */
.s-intro__scroll {
z-index : 2;
transform : rotate(90deg);
transform-origin : right bottom;
position : absolute;
right : 6.2rem;
bottom : var(--vspace-1_5);
}
.s-intro__scroll a {
display : flex;
align-items : center;
}
.s-intro__scroll span {
font-family : var(--font-2);
font-weight : 400;
font-size : calc(var(--text-size) * 0.6667);
line-height : 1;
text-transform : uppercase;
letter-spacing : .3em;
color : white;
margin-right : 1.6rem;
}
.s-intro__scroll svg {
height : var(--vspace-0_625);
width : var(--vspace-0_625);
}
.s-intro__scroll svg path {
fill : white;
}
/* -------------------------------------------------------------------
* responsive:
* intro
* ------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
.s-intro__title {
--text-multiplier : .9;
}
}
@media screen and (max-width: 1200px) {
.s-intro__title {
--text-multiplier : .8;
}
}
@media screen and (max-width: 1080px) {
.s-intro__pretitle {
font-size : var(--text-size);
}
.s-intro__title {
--text-multiplier : .7;
}
}
@media screen and (max-width: 900px) {
.s-intro__title {
--text-multiplier : .6;
}
}
@media screen and (max-width: 800px) {
.s-intro__title br {
display : none;
}
}
@media screen and (max-width: 700px) {
.s-intro__title {
--text-multiplier : .55;
}
}
@media screen and (max-width: 600px) {
.s-intro__title {
--text-multiplier : .5;
}
.s-intro__social {
left : 3.6rem;
}
.s-intro__scroll {
right : 5.4rem;
}
}
@media screen and (max-width: 500px) {
.s-intro__pretitle {
font-size : calc(var(--text-size) * 0.8889);
}
.s-intro__title {
--text-multiplier : .45;
}
}
@media screen and (max-width: 400px) {
.s-intro__title {
--text-multiplier : .38;
}
.s-intro__social {
left : 2.8rem;
}
.s-intro__scroll {
right : 4.6rem;
}
}
/* ===================================================================
* # ABOUT
*
*
* ------------------------------------------------------------------- */
.s-about {
--text-desc-size : 5.2rem;
--text-multiplier : 1;
background-color : white;
padding-top : var(--vspace-2);
padding-bottom : var(--vspace-6);
}
.s-about .text-pretitle::before {
content : "";
display : block;
background-color : var(--color-text-light);
width : 2px;
height : var(--vspace-3_5);
margin : 0 auto var(--vspace-0_5);
}
.s-about__content {
max-width : 1000px;
text-align : center;
}
.s-about__desc {
font-weight : 500;
font-size : calc(var(--text-desc-size) * var(--text-multiplier));
line-height : 1.5385;
margin-top : var(--vspace-1_5);
}
.s-about__desc span {
color : var(--color-2);
}
/* -------------------------------------------------------------------
* responsive:
* about
* ------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
.s-about {
--text-multiplier : 0.9;
}
.s-about__content {
max-width : 900px;
}
}
@media screen and (max-width: 1000px) {
.s-about {
--text-multiplier : 0.8;
}
.s-about__content {
max-width : 800px;
}
}
@media screen and (max-width: 800px) {
.s-about {
--text-multiplier : 0.7;
}
}
@media screen and (max-width: 700px) {
.s-about {
--text-multiplier : 0.65;
}
}
@media screen and (max-width: 600px) {
.s-about {
--text-multiplier : 0.6;
}
}
@media screen and (max-width: 400px) {
.s-about {
--text-multiplier : 0.55;
}
}
@media screen and (max-width: 360px) {
.s-about__desc {
font-size : var(--text-xl);
}
}
/* ===================================================================
* # SERVICES
*
*
* ------------------------------------------------------------------- */
.s-services {
background-color : black;
padding-top : var(--vspace-6);
padding-bottom : var(--vspace-5);
color : rgba(255, 255, 255, 0.35);
position : relative;
}
/* --------------------------------------------------------------------
* ## services background
* -------------------------------------------------------------------- */
.s-services__bg {
display : block;
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
background-image : url(../images/proj-about.jfif);
background-repeat : no-repeat;
background-position : center;
background-size : cover;
}
.s-services__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 : .8;
}
/* --------------------------------------------------------------------
* ## services list
* -------------------------------------------------------------------- */
.services-list {
max-width : 1020px;
margin-top : var(--vspace-3);
position : relative;
}
.services-list .column:nth-child(2n + 1) {
padding-right : 3.2rem;
}
.services-list .column:nth-child(2n + 2) {
padding-left : 3.2rem;
}
.service-item {
margin-bottom : var(--vspace-0_5);
}
.service-item h3 {
margin-top : 0;
margin-bottom : var(--vspace-0_5);
color : white;
}
.service-icon-block {
display : block;
margin-bottom : var(--vspace-0_25);
}
.service-icon-block svg {
height : var(--vspace-1_5);
width : var(--vspace-1_5);
}
.service-icon-block svg path {
fill : var(--color-1);
}
/* -------------------------------------------------------------------
* responsive:
* services
* ------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
.services-list .column:nth-child(2n + 1) {
padding-right : var(--gutter);
}
.services-list .column:nth-child(2n + 2) {
padding-left : var(--gutter);
}
}
@media screen and (max-width: 600px) {
.service-item {
display : block;
}
.service-icon-block {
margin-bottom : var(--vspace-0_5);
}
}
@media screen and (max-width: 400px) {
.services-list .column:nth-child(2n + 1) {
padding-right : 0;
}
.services-list .column:nth-child(2n + 2) {
padding-left : 0;
}
}
/* ===================================================================
* # PORTFOLIO
*
*
* ------------------------------------------------------------------- */
.s-portfolio {
background : white;
min-height : 800px;
padding : 0;
position : relative;
}
.s-portfolio__header {
background-color : #111111;
padding-top : var(--vspace-5);
padding-bottom : calc(6.5 * var(--space));
}
/* -------------------------------------------------------------------
* ## portfolio list
* ------------------------------------------------------------------- */
.folio-list {
margin-top : calc(var(--vspace-1) * -5.5);
}
.folio-list .brick {
float : left;
width : 50%;
padding : 0;
margin : 0;
}
.folio-item {
overflow : hidden;
position : relative;
}
.folio-item__caption {
display : none;
}
/* thumbnail
*/
.folio-item__thumb a {
display : block;
}
.folio-item__thumb a::before {
z-index : 1;
content : "";
display : block;
background-color : rgba(0, 0, 0, 0.8);
opacity : 0;
visibility : hidden;
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 2000px;
transition : all, .5s;
}
.folio-item__thumb a::after {
z-index : 1;
content : "...";
text-align : center;
font-family : var(--font-2);
font-weight : 300;
font-size : 2.8rem;
color : white;
display : block;
height : 3.2rem;
width : 3.2rem;
line-height : 3.2rem;
margin-left : -1.6rem;
margin-top : -3rem;
text-align : center;
opacity : 0;
visibility : hidden;
transform : scale(0.5);
transition : all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
position : absolute;
left : 50%;
top : 50%;
}
.folio-item__thumb img {
vertical-align : bottom;
margin-bottom : 0;
transition : all, 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
/* portfolio info
*/
.folio-item__info {
z-index : 2;
padding : 0 8rem 0 var(--vspace-1);
transform : translateY(100%);
opacity : 0;
visibility : hidden;
transition : all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
position : absolute;
left : 0;
top : var(--vspace-1_25);
}
.folio-item__title {
font-size : var(--text-size);
line-height : 1.25;
margin : 0;
color : white;
}
.folio-item__cat {
font-family : var(--font-2);
font-size : var(--text-sm);
line-height : 1.5;
margin-bottom : 0.2rem;
color : rgba(255, 255, 255, 0.5);
}
.folio-item__project-link {
z-index : 2;
display : flex;
align-items : center;
justify-content : center;
height : var(--vspace-1_25);
width : var(--vspace-1_25);
background-color : transparent;
border : 1px solid rgba(255, 255, 255, 0.3);
border-radius : 5px;
opacity : 0;
visibility : hidden;
transform : translateY(100%);
transition : all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
position : absolute;
top : var(--vspace-1_25);
right : var(--vspace-1_25);
}
.folio-item__project-link svg {
height : var(--vspace-0_625);
width : var(--vspace-0_625);
}
.folio-item__project-link svg path {
fill : white;
transition : all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.folio-item__project-link:focus,
.folio-item__project-link:hover {
background-color : white;
border : 1px solid white;
}
.folio-item__project-link:focus svg path,
.folio-item__project-link:hover svg path {
fill : black;
}
/* on hover
*/
.folio-item:hover .folio-item__thumb img {
transform : scale(1.05);
}
.folio-item:hover .folio-item__thumb a::before {
opacity : 1;
visibility : visible;
}
.folio-item:hover .folio-item__thumb a::after {
opacity : 1;
visibility : visible;
transform : scale(1);
}
.folio-item:hover .folio-item__info {
opacity : 1;
visibility : visible;
transform : translateY(0);
}
.folio-item:hover .folio-item__project-link {
opacity : 1;
visibility : visible;
transform : translateX(0);
}
/* -------------------------------------------------------------------
* ## testimonials
* ------------------------------------------------------------------- */
.testimonials {
--text-slide-size : 3.6rem;
--text-multiplier : 1;
margin-top : var(--vspace-3_5);
margin-bottom : var(--vspace-3);
max-width : 960px;
text-align : center;
}
.testimonials .text-pretitle {
color : var(--color-2);
}
.testimonials .swiper-container {
margin-top : var(--vspace-1);
padding-bottom : var(--vspace-1_5);
}
/* testimonial slider
*/
.testimonial-slider__slide {
position : relative;
}
.testimonial-slider__slide p {
font-size : calc(var(--text-slide-size) * var(--text-multiplier));
line-height : 1.5556;
}
.testimonial-slider__author {
display : inline-block;
min-height : var(--vspace-2);
margin-bottom : var(--vspace-0_625);
position : relative;
}
.testimonial-slider__avatar {
width : var(--vspace-2);
height : var(--vspace-2);
border-radius : 100%;
margin-bottom : var(--vspace-0_125);
vertical-align : bottom;
outline : none;
}
.testimonial-slider__cite {
display : block;
}
.testimonial-slider__cite strong,
.testimonial-slider__cite span {
font-style : normal;
transition : all 0.3s ease-in-out;
}
.testimonial-slider__cite strong {
line-height : var(--vspace-0_75);
color : black;
}
.testimonial-slider__cite span {
display : block;
font-family : var(--font-2);
font-size : var(--text-sm);
font-weight : 400;
line-height : var(--vspace-0_5);
color : var(--color-text-light);
}
/* -------------------------------------------------------------------
* ## clients
* ------------------------------------------------------------------- */
.clients-block {
padding-top : var(--vspace-1_25);
padding-bottom : calc(2.25 * var(--space));
background-color : var(--color-gray-4);
}
.clients {
margin-top : var(--vspace-1_5);
padding-bottom : var(--vspace-1_75);
}
.clients__slide img {
margin : 0;
opacity : .4;
transform : scale(0.85);
transition : all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.clients__slide:focus img,
.clients__slide:hover img {
transform : scale(1);
opacity : 1;
}
/* -------------------------------------------------------------------
* responsive:
* works
* ------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
.folio-item__title {
font-size : calc(var(--text-size) * 0.8889);
}
.folio-item__cat {
font-size : calc(var(--text-size) * 0.7778);
}
.testimonials {
max-width : 600px;
}
}
@media screen and (max-width: 700px) {
.folio-list .brick {
float : none;
width : auto;
}
.folio-item__title {
font-size : var(--text-size);
}
.folio-item__cat {
font-size : 1.2rem;
}
.testimonials {
--text-multiplier : .9;
}
}
@media screen and (max-width: 600px) {
.testimonials {
--text-multiplier : .8;
}
}
@media screen and (max-width: 500px) {
.testimonials {
--text-multiplier : .65;
}
}
@media screen and (max-width: 400px) {
.testimonial-slider__slide p {
font-size : 2.1rem;
}
}
/* ===================================================================
* # CONTACT
*
*
* ------------------------------------------------------------------- */
.s-contact {
--color-border : rgba(255, 255, 255, .05);
background-color : var(--color-gray-19);
background-image : url(../images/contact-bg.jpg);
background-repeat : no-repeat;
background-position : center;
background-size : cover;
padding-top : var(--vspace-5);
padding-bottom : var(--vspace-3);
position : relative;
}
.s-contact h5 {
margin-top : 0;
margin-bottom : var(--vspace-1);
color : rgba(255, 255, 255, 0.25);
}
.s-contact h5.with-top-line {
padding-top : var(--vspace-0_75);
border-top : 1px solid var(--color-border);
}
.s-contact::before {
content : "";
display : block;
background : black;
position : absolute;
top : 0;
left : 0;
right : 0;
bottom : 0;
width : 100%;
height : 100%;
pointer-events : none;
opacity : .75;
}
.s-contact .section-header {
max-width : 1020px;
}
.s-contact .section-header a {
color : var(--color-1);
}
/* -------------------------------------------------------------------
* ## contact infos
* ------------------------------------------------------------------- */
.s-contact__infos {
margin-top : var(--vspace-3_5);
font-family : var(--font-2);
font-weight : 400;
font-size : calc(var(--text-size) * 1.556);
line-height : var(--vspace-1_5);
color : white;
position : relative;
}
.s-contact__infos [class*="s-contact__block"] {
padding-bottom : var(--vspace-1);
}
.s-contact__list {
list-style : none;
margin-left : 0;
}
.s-contact__list a {
color : white;
}
.s-contact__list a:focus,
.s-contact__list a:hover {
color : var(--color-1);
}
.s-contact__list li {
padding-left : 0;
}
/* -------------------------------------------------------------------
* ## contact bottom
* ------------------------------------------------------------------- */
.s-contact__bottom {
--btn-input-height : var(--vspace-2);
margin-top : var(--vspace-0_5);
position : relative;
}
/* mail button block
*/
.s-contact__mail-block {
padding-top : calc(var(--vspace-0_875) + var(--vspace-1));
position : relative;
}
.s-contact__mail-block::before {
content : "";
display : block;
width : 200px;
height : 1px;
background-color : var(--color-border);
position : absolute;
top : calc(var(--vspace-0_875) / 2);
left : var(--gutter);
}
.btn--mail {
--btn-height : var(--btn-input-height);
border : 2px solid var(--color-1);
color : white;
margin : 0;
}
.btn--mail:focus,
.btn--mail:hover {
background-color : var(--color-1) !important;
color : black;
}
/* subscription form
*/
.s-contact__subscribe {
--input-height : var(--btn-input-height);
--btn-width : 180px;
}
.s-contact__subscribe form {
display : flex;
flex-flow : row wrap;
margin-bottom : 0;
}
.s-contact__subscribe input[type="email"],
.s-contact__subscribe input[type="submit"],
.s-contact__subscribe .ms-status {
flex : none;
}
.s-contact__subscribe input[type="email"] {
width : calc(100% - var(--btn-width));
background-color : rgba(255, 255, 255, 0.05);
font-size : var(--text-sm);
color : white;
border : none;
padding : var(--input-vpadding) calc(2.8rem - 1px);
text-align : left;
margin : 0;
}
.s-contact__subscribe input[type="submit"] {
--btn-height : var(--btn-input-height);
background-color : var(--color-1);
border : 2px solid var(--color-1);
color : black;
width : var(--btn-width);
margin : 0;
}
.s-contact__subscribe .mc-status {
width : 100%;
margin-top : var(--vspace-0_75);
font-family : var(--font-2);
font-size : var(--text-sm);
color : var(--color-1);
}
/* -------------------------------------------------------------------
* responsive:
* contact
* ------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
.s-contact__mail-block {
padding-top : 0;
}
.s-contact__mail-block::before {
display : none;
}
.btn--mail {
width : 100%;
margin-bottom : var(--vspace-2_5);
}
}
@media screen and (max-width: 600px) {
.s-contact .text-display-title {
--text-multiplier : .6;
}
.s-contact__subscribe form {
display : block;
}
.s-contact__subscribe input[type="email"],
.s-contact__subscribe input[type="submit"],
.s-contact__subscribe .mc-status {
width : 100%;
}
.s-contact__subscribe input[type="email"] {
text-align : center;
margin-bottom : var(--vspace-0_5);
}
.s-contact__subscribe .mc-status {
text-align : center;
}
}
@media screen and (max-width: 500px) {
.s-contact .text-display-title {
--text-multiplier : .55;
}
.s-contact h5 {
font-size : calc(var(--text-size) * 1.1111);
margin-bottom : var(--vspace-0_375);
}
.s-contact__infos {
font-size : var(--text-lg);
line-height : calc(1.375 * var(--space));
}
}
@media screen and (max-width: 400px) {
.s-contact .text-display-title {
font-size : var(--text-xl);
}
}
/* ===================================================================
* # FOOTER
*
*
* ------------------------------------------------------------------- */
.s-footer {
background-color : #111111;
padding-top : var(--vspace-1_75);
padding-bottom : var(--vspace-1_75);
font-family : var(--font-2);
font-size : calc(var(--text-size) * 0.8889);
line-height : var(--vspace-1);
color : rgba(255, 255, 255, 0.25);
position : relative;
}
.s-footer a {
color : white;
}
.s-footer a:focus,
.s-footer a:hover {
color : var(--color-1);
}
/* -------------------------------------------------------------------
* ## copyright
* ------------------------------------------------------------------- */
.ss-copyright {
padding-right : var(--vspace-2);
}
.ss-copyright span {
display : inline-block;
}
.ss-copyright span::after {
content : "|";
display : inline-block;
padding : 0 1rem 0 1.2rem;
color : rgba(255, 255, 255, 0.05);
}
.ss-copyright span:last-child::after {
display : none;
}
/* -------------------------------------------------------------------
* ## go top
* ------------------------------------------------------------------- */
.ss-go-top {
z-index : 2;
opacity : 0;
visibility : hidden;
transform : translate(0, 200%);
transition : all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
position : fixed;
bottom : 4.4rem;
right : 4rem;
}
.ss-go-top a {
display : flex;
align-items : center;
justify-content : center;
text-decoration : none;
border : none;
height : calc(1.875 * var(--space));
width : calc(1.875 * var(--space));
border-radius : 50%;
background-color : black;
transition : all .3s;
position : relative;
}
.ss-go-top a:focus svg path,
.ss-go-top a:hover svg path {
fill : white;
}
.ss-go-top svg {
height : var(--vspace-0_75);
width : var(--vspace-0_75);
}
.ss-go-top svg path {
fill : white;
}
.ss-go-top.link-is-visible {
opacity : 1;
visibility : visible;
transform : translate(0, 0);
}
/* -------------------------------------------------------------------
* responsive:
* footer
* ------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
.ss-go-top {
right : var(--vspace-1);
bottom : var(--vspace-1_5);
}
.ss-go-top a {
height : var(--vspace-1_75);
width : var(--vspace-1_75);
}
.ss-go-top svg {
height : var(--vspace-0_625);
width : var(--vspace-0_625);
}
}
@media screen and (max-width: 500px) {
.ss-copyright span {
display : block;
}
.ss-copyright span::after {
display : none;
}
}