/* critical.css - Above-fold styles */

/* Icon fonts moved to <link> tags in HTML to avoid @import waterfall */

/* ==============================
   Self-hosted DM Sans (variable weight 400-700)
   ============================== */

@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../webfonts/dm-sans/dm-sans-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../webfonts/dm-sans/dm-sans-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


/* ==============================
   Variables
   ============================== */
  
:root{
    --font-global: 'DM Sans', sans-serif;
    --font-alt: 'DM Sans', sans-serif;
    --font-serif: Georgia, 'Times New Roman', Times, serif;
    --full-wrapper-margin-x: 30px;
    --container-width: 1350px;
    --section-padding-y: 120px;
    --menu-bar-height: 65px;
    --menu-bar-height-scrolled: 65px;
    --color-dark-1: #010101;
    --color-dark-2: #171717;
    --color-dark-3: #272727;
    --color-dark-3a: #333;
    --color-dark-4: #555;
    --color-gray-1: #757575;
    --color-gray-2: #888;
    --color-gray-3: #999;
    --color-gray-light-1: #f1f1f1;
    --color-gray-light-2: #f7f7f7;
    --color-gray-light-3: #e5e5e5;
    --color-gray-light-4: #d5d5d5;
    --color-gray-light-5: #ccc;
    --color-gray-light-6: #bbb;
    --color-dark-mode-gray-1: rgba(255,255,255, .7);
    --color-dark-mode-gray-2: rgba(255,255,255, .1275);
    --color-primary-1: #4567ed;
    --color-primary-1-a: #375ae3;    
    --color-primary-light-1: #e3effe;
    --color-primary-light-1-a: #bcd1f1;
    --color-primary-2: #7752e7;
    --color-primary-light-2: #e7defe;
    --color-primary-3: #b947d9;
    --color-primary-light-3: #f7defe;
    --color-primary-4: #e748b1;
    --color-primary-light-4: #ffe1f5; 
    --color-secondary-1: #fbe3a1;   
    --gradient-primary-1: linear-gradient( 90deg, var(--color-primary-4) 0%, var(--color-primary-3) 33%, var(--color-primary-2) 67%, var(--color-primary-1) 100%);
    --gradient-primary-1-a: linear-gradient( 90deg, var(--color-primary-4) 25%, var(--color-primary-3) 40%, var(--color-primary-2) 60%, var(--color-primary-1) 75%);
    --gradient-primary-1-b: linear-gradient( 45deg, var(--color-primary-4) 0%, var(--color-primary-3) 33%, var(--color-primary-2) 67%, var(--color-primary-1) 100%);
    --gradient-primary-1-c: linear-gradient( 0deg, var(--color-primary-4) 0%, var(--color-primary-3) 33%, var(--color-primary-2) 67%, var(--color-primary-1) 100%);
    --gradient-gray-light-1: linear-gradient(0deg, #f5f5f5 0%, #fff 100%);
    --gradient-gray-light-2: linear-gradient(0deg, #fff 0%, #f5f5f5 100%);
    --gradient-dark-alpha-1: linear-gradient( 90deg, var(--color-dark-1) 40%, transparent 87%);
    --gradient-dark-alpha-2: linear-gradient( 90deg, transparent 13%, var(--color-dark-1) 60%);
    --gradient-primary-alpha-1: linear-gradient( 90deg, var(--color-primary-1) 40%, transparent 87%);
    --gradient-primary-alpha-2: linear-gradient( 90deg, transparent 13%, var(--color-primary-1) 60%);
    --border-radius-default: 4px;
    --border-radius-large: 30px;
    --box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.05),0px 1px 1px 0px rgba(0, 0, 0, 0.03),0px 3px 5px 0px rgba(0, 0, 0, 0.03);
    --box-shadow-strong: 0px 5px 10px 0px rgba(0, 0, 0, 0.08),0px 1px 1px 0px rgba(0, 0, 0, 0.06),0px 3px 5px 0px rgba(0, 0, 0, 0.06);
    --box-shadow-block: 0px 3px 50px 0px rgba(0, 0, 0, 0.05);
    --box-shadow-block-strong: 0px 3px 50px 0px rgba(0, 0, 0, 0.15);  
    --transition-default: all 0.27s cubic-bezier(0, 0, 0.58, 1);
    --ease-default: cubic-bezier(0, 0, 0.58, 1);
    --ease-out-long: cubic-bezier(0,.5,0,1);
    --ease-out-medium: cubic-bezier(0,.57,.55,1);
    --ease-out-short: cubic-bezier(.15,.7,.78,1);
    --ease-elastic-1: cubic-bezier(0.68,-0.55,0.27,1.55);
    --ease-elastic-2: cubic-bezier(0.68,-3,0.27,5);
}


/* ==============================
   Common styles
   ============================== */
  
:root{
    scroll-behavior: auto;
}
html{
    -ms-overflow-style: scrollbar;
}
body{
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;    
}
main{
    overflow: clip;
}
iframe{
    border: none;
}
a, b, div, ul, li{
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    -webkit-tap-highlight-color: transparent; 
    -moz-outline-: none;
}
a:focus:not(.focus-visible),
a:active,
section:focus,
div:active,
div:focus{
    -moz-outline: none;
    outline: none;
}
a:focus.focus-visible,
button:focus.focus-visible,
div:focus.focus-visible{
    -moz-outline: 3px dotted #36a367 !important;
    outline: 3px dotted #36a367 !important;
    outline-offset: 0 !important;
}
img:not([draggable]), embed, object, video{
    max-width: 100%;
    height: auto;
}
.image-fullwidth img{
    width: 100%;
    height: auto;
}
.min-height-80vh{
    min-height: 80vh;
}
.min-height-90vh{
    min-height: 90vh;
}
.min-height-100vh{
    min-height: 100vh !important;
    min-height: 100svh !important;
}
.align-center{ text-align:center !important; }
.left{ float:left !important; }
.right{ float:right !important; }
.hidden{ display:none !important;}
.relative{ position: relative !important;}
.z-index-1{ z-index: 1 !important;}
.z-index-n1{ z-index: -1 !important;}
.no-hover{ cursor: default !important;}
.wch-unset{ will-change: unset !important; }
.white{ color: #fff !important; }
.black{ color: var(--color-dakr-1) !important; }
.color-primary-1{ color: var(--color-primary-1) !important; }
.color-primary-2{ color: var(--color-primary-2) !important; }
.color-primary-3{ color: var(--color-primary-3) !important; }
.color-primary-4{ color: var(--color-primary-4) !important; }
.color-secondary-1{ color: var(--color-secondary-1) !important; }
.opacity-003{ opacity: .03 !important; }
.opacity-004{ opacity: .04 !important; }
.opacity-005{ opacity: .05 !important; }
.opacity-006{ opacity: .06 !important; }
.opacity-007{ opacity: .07 !important; }
.opacity-008{ opacity: .08 !important; }
.opacity-009{ opacity: .09 !important; }
.opacity-01{ opacity: .1 !important; }
.opacity-015{ opacity: .15 !important; }
.opacity-02{ opacity: .2 !important; }
.opacity-025{ opacity: .25 !important; }
.opacity-03{ opacity: .3 !important; }
.opacity-035{ opacity: .35 !important; }
.opacity-04{ opacity: .4 !important; }
.opacity-045{ opacity: .45 !important; }
.opacity-05{ opacity: .5 !important; }
.opacity-055{ opacity: .55 !important; }
.opacity-06{ opacity: .6 !important; }
.opacity-065{ opacity: .65 !important; }
.opacity-07{ opacity: .7 !important; }
.opacity-075{ opacity: .75 !important; }
.opacity-08{ opacity: .8 !important; }
.opacity-085{ opacity: .85 !important; }
.opacity-09{ opacity: .9 !important; }
.opacity-095{ opacity: .95 !important; }
.opacity-1{ opacity: 1 !important; }
.size-13 { font-size: 13.5px !important; }
.size-14{ font-size: 14px !important; }
.size-15{ font-size: 15px !important; }
.size-16{ font-size: 16px !important; }
.size-17{ font-size: 17px !important; }
.size-18{ font-size: 18.5px !important; }
.size-20{ font-size: 20px !important; }
.size-22{ font-size: 22px !important; }
.size-24{ font-size: 24px !important; }
.box-shadow{ box-shadow: var(--box-shadow-block) !important;}
.box-shadow-strong{ box-shadow: var(--box-shadow-block-strong) !important;}
.border-color-primary-1{
    border: 1px solid var(--color-primary-1);
}
.border-color-primary-2{
    border: 1px solid var(--color-primary-2);
}
.border-color-primary-3{
    border: 1px solid var(--color-primary-3);
}
.border-color-primary-4{
    border: 1px solid var(--color-primary-4);
}
.border-dark{
    border: 1px solid var(--color-dark-mode-gray-2) !important;
}
.bg-border-dark{
    background: var(--color-dark-3) !important;
    border: 1px solid var(--color-dark-mode-gray-2) !important;
}
.stick-fixed{
    position: fixed !important;
    top: 0;
    left: 0;
}
.block-sticky{
    position: sticky;
    top: calc(var(--menu-bar-height-scrolled) + 40px);
    left: 0;
}
.round{
    border-radius: var(--border-radius-default) !important;
}
.round-large{
    border-radius: var(--border-radius-large) !important;
}
.circle{
    border-radius: 100px !important;
}
.circle-large{
    border-radius: 700px !important;
}

/* ==============================
   Spacing utilities (Resonance)
   ============================== */

.pt-10{ padding-top: 10px !important; }
.pt-120{ padding-top: 120px !important; }
.pt-140{ padding-top: 140px !important; }
.pb-30{ padding-bottom: 30px !important; }
.pb-60{ padding-bottom: 60px !important; }
.pb-80{ padding-bottom: 80px !important; }
.p-20{ padding: 20px !important; }
.p-25{ padding: 25px !important; }
.py-80{ padding-top: 80px !important; padding-bottom: 80px !important; }
.py-100{ padding-top: 100px !important; padding-bottom: 100px !important; }
.mt-10{ margin-top: 10px !important; }
.mt-15{ margin-top: 15px !important; }
.mt-20{ margin-top: 20px !important; }
.mt-30{ margin-top: 30px !important; }
.mt-40{ margin-top: 40px !important; }
.mt-50{ margin-top: 50px !important; }
.mt-60{ margin-top: 60px !important; }
.mb-10{ margin-bottom: 10px !important; }
.mb-15{ margin-bottom: 15px !important; }
.mb-20{ margin-bottom: 20px !important; }
.mb-25{ margin-bottom: 25px !important; }
.mb-30{ margin-bottom: 30px !important; }
.mb-40{ margin-bottom: 40px !important; }
.mb-50{ margin-bottom: 50px !important; }
.mb-60{ margin-bottom: 60px !important; }
.gap-20{ gap: 20px !important; }
.text-white-75{ color: rgba(255,255,255,.75) !important; }

/* Active nav link underline */
.inner-nav a.nav-active{
    color: #fff !important;
    border-bottom: 2px solid #4caf50;
    padding-bottom: 4px;
}

/* Home section base (in critical to prevent CLS) */
.home-section{
    width: 100%;
    display: block;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.hs-title-10{
    font-weight: 700;
    letter-spacing: -0.0399em;
}

@media (max-width: 991px) {
    .pt-sm-40{ padding-top: 40px !important; }
    .pt-sm-160{ padding-top: 160px !important; }
    .pb-sm-20{ padding-bottom: 20px !important; }
    .pb-sm-40{ padding-bottom: 40px !important; }
    .mt-sm-40{ margin-top: 40px !important; }
    .mb-sm-10{ margin-bottom: 10px !important; }
    .mb-sm-40{ margin-bottom: 40px !important; }
}
@media (max-width: 575px) {
    .mb-xs-10{ margin-bottom: 10px !important; }
    .mb-xs-20{ margin-bottom: 20px !important; }
    .pb-xs-15{ padding-bottom: 15px !important; }
}
@media (max-width: 767px) {
    .mb-md-25{ margin-bottom: 25px !important; }
    .mb-md-60{ margin-bottom: 60px !important; }
}

.round.overflow-hidden,
.round-large.overflow-hidden,
.circle.overflow-hidden,
.circle-large.overflow-hidden{
    isolation: isolate;
    transform: translateZ(0);
}
::selection{
    color: #fff;
    background: var(--color-primary-1);
}
.light-content ::selection{
    color: #fff;
    background: var(--color-primary-1);
}
.animate, .animate *{
    transition: var(--transition-default);
}
.parallax-mousemove{
   transition: var(--transition-default);
   -moz-transition: none !important;
   will-change: transform;
}
.parallax-mousemove-follow{
    -moz-transition: none !important;
}
@media not all and (min-resolution:.001dpcm) { @media {
    .parallax-mousemove,
    .parallax-mousemove-follow{
       transition: none !important;
    }
}}
[data-rellax-x]{
    transition: transform 0.25s var(--ease-out-short);
    transition-delay: 0.0025s;
    will-change: transform;
}
[data-rellax-y]{
    transition: transform 0.25s cubic-bezier(0, 0, 0.58, 1);
    transition-delay: 0.0025s;
    will-change: transform;
}
.no-animate{    
    -webkit-transition-property: none !important;
    -moz-transition-property: none !important;
    -o-transition-property: none !important;
    transition-property: none !important; 
}
.clearlist, .clearlist li{
    list-style: none;
    padding: 0;
    margin: 0;
    background: none;
}
.clearlinks a{
    text-decoration: none;
    color: unset;
}
.clearlinks a:hover{
    color: unset !important;
}
.full-wrapper{
    margin: 0 var(--full-wrapper-margin-x);
}
.container{
    max-width: var(--container-width);
    padding: 0 30px;
}
.row:not(
.g-0, .g-1, .g-2, .g-3, .g-4, .g-5,
.gx-0, .gx-1, .gx-2, .gx-3, .gx-4, .gx-5,
.gy-0, .gy-1, .gy-2, .gy-3, .gy-4, .gy-5){
    --bs-gutter-x: 30px;
}
.row.gx-huge{
    --bs-gutter-x: 276px;
}
.icon-ellipse{
    position: relative;
    top: -0.085em;
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
    background: currentColor;
    border-radius: 50%;
}
.text-outline-cont{
    position: relative;
    display: inline-block;
}
.text-outline{
    position: relative;
}
.text-outline-1{
    position: absolute;
    top: -0.36em;
    left: 0;
    color: #fff;
    -webkit-text-stroke: 1px var(--color-dark-1);
    opacity: .2;
    pointer-events: none;
}
.text-outline-2{
    position: absolute;
    top: -0.72em;
    left: 0;
    color: #fff;
    -webkit-text-stroke: 1px var(--color-dark-1);
    opacity: .1;
    pointer-events: none;
}
.light-content .text-outline-1{
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    opacity: .17;
}
.light-content .text-outline-2{
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    opacity: .07;
}


/* ==============================
   Page loader
   ============================== */

.page-loader{
    display:block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #fefefe;
    z-index: 100000; 
}
.loader{
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -25px 0 0 -25px;
    font-size: 10px;
    text-indent: -12345px;
    border-top: 1px solid rgba(0,0,0, 0.15);
    border-right: 1px solid rgba(0,0,0, 0.15);
    border-bottom: 1px solid rgba(0,0,0, 0.15);
    border-left: 1px solid rgba(0,0,0, .55);
    border-radius: 50%;
    animation: spinner 700ms infinite linear;
    will-change: transform;  
    z-index: 100001;
}

.page-loader.dark{
    background: var(--color-dark-1);   
}
.page-loader.dark .loader{
    border-top: 1px solid rgba(255,255,255, 0.15);
    border-right: 1px solid rgba(255,255,255, 0.15);
    border-bottom: 1px solid rgba(255,255,255, 0.15);
    border-left: 1px solid rgba(255,255,255, .5);
}

.page-loader.gradient .loader{
    border-color: transparent;
    background:	linear-gradient(to right, white, white), var(--gradient-primary-1); 
	-webkit-background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
}
.page-loader.gradient.dark .loader{
    border-color: transparent !important;
    background:	linear-gradient(to right, var(--color-dark-1), var(--color-dark-1)), var(--gradient-primary-1); 
    -webkit-background-clip: padding-box, border-box;
	background-origin: padding-box, border-box; 
}

.page-loader.color .loader{
    border-color: var(--color-primary-light-1-a);
    border-left-color: var(--color-primary-1);
}

@keyframes spinner {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* ==============================
   Typography
   ============================== */
  
body{
    color: var(--color-dark-1);
    font-family: var(--font-global);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.67; 
}
a{
    color: var(--color-dark-1);
    text-decoration: underline;
    transition: color 0.1s var(--ease-default);
}
a:hover{
    color: var(--color-dark-4);
    text-decoration: underline;
}
b, strong{
    font-weight: 500;
}
mark{
    position: relative;
    padding: 0;
    color: inherit;
    background-color: transparent;
    background-image: linear-gradient(90deg,rgba(17,17,17,.1) 0,rgba(17,17,17,.1) 100%);
    background-repeat: no-repeat;
    background-size: 100% .3em;
    background-position: 0 110%;
}
.light-content mark{
    background-image: linear-gradient(90deg,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);
}
.mark-decoration-1{
    position: relative;
    display: inline-block;
}
.mark-decoration-1:before{
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.4em;
    width: 100%;
    height: 0.5357em;
    background-image: url(../images/mark-decoration-1.svg);
    background-repeat: no-repeat;
    background-size: auto 0.55357em;
    background-position: 0 0;
    pointer-events: none;
}
.light-content .mark-decoration-1:before{
    background-image: url(../images/mark-decoration-1-white.svg);
}
.mark-decoration-2{
    position: relative;
    display: inline-block;
}
.mark-decoration-2:before{
    content:"";
    position: absolute;
    top: -0.09em;
    left: -0.2em;
    bottom: -0.09em;
    right: -0.2em;    
    display: block;
    border: 1px solid var(--color-dark-1);
    border-radius: 50%;
    opacity: 0.7;
    transform: rotate(-7deg);
    pointer-events: none;
}
.mark-decoration-3-wrap{
    position: relative;
    display: inline-block;
    isolation: isolate;
}
.mark-decoration-3{
    position: absolute;
    left: 0;
    bottom: 0.12em;
    display: block;
    width: 100%;
    height: 0.2em;    
    z-index: -1;
}
.mark-decoration-3:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-secondary-1);
}
.light-content .mark-decoration-3:before{
    opacity: .37;
}
.mark-decoration-4{
    position: relative;
    display: inline-block;
}
.mark-decoration-4:before{
    content:"";
    position: absolute;
    bottom: 0.12em;
    left: 0;  
    display: block;
    width: 100%;
    height: 7px;
    opacity: 0.2;
    background: var(--gradient-primary-1);
    pointer-events: none;
    z-index: -1;
}
.light-content .mark-decoration-4:before{
    opacity: 0.375;
}
.mark-decoration-5{
    position: relative;
    display: inline-block;
    isolation: isolate;
}
.mark-decoration-5:before{
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.4em;
    width: 100%;
    height: 0.5357em;
    background-image: url(../images/demo-corporate/mark-decoration-1.svg);
    background-repeat: no-repeat;
    background-size: auto 0.25892em;
    background-position: 0 0;
    pointer-events: none;
    z-index: -1;    
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
    margin-bottom: 1em;
    font-weight: 500;
    line-height: 1.2;   
}

h1, .h1{
    margin-bottom: 0.5em;
    font-size: 42px;
    letter-spacing: -0.04em;
}
h2, .h2{
    margin-bottom: 0.5em;
    font-size: 36px;
    letter-spacing: -0.03em;
}
h3, .h3{
    margin-bottom: 0.7em;
    font-size: 28px;
    letter-spacing: -0.03em;
}
h4, .h4{
    font-size: 24px;
}
h5, .h5{
    font-size: 20px;
}
h6, .h6{
    font-size: 16px;
    font-weight: 700;
}
p{
    margin: 0 0 1.5em 0;
}
ul, ol{
    margin: 0 0 1.5em 0;
}
blockquote{
    margin: 0 0 2em 0;
    padding: 0;
    border: none;
    background: none;
    font-style: normal;
    line-height: 1.47;
}
blockquote p{
    position: relative;
    margin-bottom: 0.7em;
    font-size: 140%;
    font-style: normal;
    letter-spacing: -0.01em;
    line-height: 1.5;
}
blockquote footer{
    font-size: 15px;
    font-weight: 400;
}
.testimonial{
    position: relative;
    margin: 0 0 1.5em 0;
    padding-left: 1.9778em;
    border: none;
    background: none;
    font-size: 46px;    
    border: none;
}
.testimonial p{
    position: relative;
    margin-bottom: .85em;
    font-size: 46px;
    font-weight: 500;
    font-style: normal;
    letter-spacing: -0.025em;
    line-height: 1.217;
}
.testimonial footer{
    font-size: 18px;
    font-weight: 500;
}
.testimonial .small{
    font-size: 15px;
    font-weight: 400;
    color: var(--color-gray-1);
}
.light-content .testimonial .small{
    color: var(--color-dark-mode-gray-1);
}
.testimonial .blockquote-icon{
    position: absolute;
    top: 0.15em;
    left: 0;
    width: .88em;
    height: .88em;
    background: #fff;
    border-radius: 50%;
    font-family: Georgia, serif;
    font-size: 1.5em;
    line-height: 1.45em;
    text-align: center;
}
.light-content .testimonial .blockquote-icon{
    color: var(--color-dark-1);
}
dl dt{
    margin-bottom: .5em;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.0039em;
}
dl dd{
    margin-bottom: 1.9em;
    color: var(--color-gray-1);
}
.light-content dl dd{
    color: var(--color-dark-mode-gray-1);
}
pre{
    background-color: #f9f9f9;
    border-color: #ddd;
}
hr{
    background-color: #000;
    opacity: .1;
}
hr.white{
    background-color: #fff;
    opacity: 1;
}
.dark-mode hr.white{
    background-color: #fff;
    opacity: .15;
}
hr.black{
    background-color: var(--color-dark-1);
    opacity: 1;
}
hr.thick{
    height: 2px;
}

.uppercase{
    text-transform: uppercase;
    letter-spacing: 0.025em;
}
.serif{
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: normal;
}
.font-alt{
   font-family: var(--font-alt); 
}
.normal{
    font-weight: normal;
}
.strong{
    font-weight: 700 !important;
}
.lead{
    margin: 0 0 1em 0;
    font-size: 140%;
    font-weight: 400; 
    letter-spacing: -0.012em;
    line-height: 1.5;
}
.lead-alt{
    font-size: 46px;
    font-weight: 500;
    line-height: 1.196;
    letter-spacing: -0.04em;
}
.dropcap{
    float: left;
    font-size: 3em;
    line-height: 1;
    padding: 2px 8px 2px 0;    
}

.highlight pre{
    border: 1px solid var(--color-gray-light-3);
    background: var(--color-gray-light-2);
    color: var(--color-dark-4);
    border-radius: var(--border-radius-default);
}
.light-content .highlight pre{
    border-color: transparent;
    background-color: var(--color-dark-3a);
    color: var(--color-gray-light-6);
}

/* 
 * Headings styles
 */

.hs-wrap{
    position: relative;
    margin: 0 auto;
    padding: 50px 40px;  
    overflow: hidden;  
    text-align: center;   
    border: 1px solid rgba(255,255,255, .05);
    border-radius: var(--border-radius-default);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    isolation: isolate;
    transform: translateZ(0);
}
.hs-wrap:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    opacity: 0.17;
}
.hs-line{
    position: absolute;
    top: 50%;
    left: 50%;    
    width: 3%;
    height: 160%;    
    mix-blend-mode: difference; 
    pointer-events: none;
}
.hs-line:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: translate(-50%, -50%) rotate(30deg);
}
.hs-icon{
    display: inline-block;
    width: 50px;
    height: 50px;
    font-size: 50px;
}
.hs-icon svg{
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
@media only screen and (min-width: 992px) {
    .hs-title-overlap{ 
        width: 137% !important; 
        margin-right: -37%;
    }
}
.hs-title-1{
    margin-top: 0;
    font-size: 70px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-2{
    margin-top: 0;
    font-size: 120px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.025em;
}
.hs-title-2a{
    margin-top: 0;
    font-size: 112px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.025em;
}
.hs-title-3{
    margin-top: 0;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}
.hs-title-3a{
    margin-top: 0;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.012em;
}
.hs-title-4{
    margin-top: 0;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
}
.hs-title-4a{
    margin-top: 0;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
}
.hs-title-5{
    margin-top: 0;
    font-size: 150px;
    font-weight: 500;
    line-height: 0.92;
    letter-spacing: normal;
    text-transform: uppercase;
}
.hs-title-6{
    margin-top: 0;
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.hs-title-7{
    margin-top: 0;
    font-size: 160px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
}
.hs-title-8{
    margin-top: 0;
    font-size: 60px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-9{
    margin-top: 0;
    font-size: 65px;
    font-weight: 500;
    line-height: 1.1176;
    letter-spacing: -0.037em;
}
.hs-title-10{
    margin-top: 0;
    font-size: 56px;
    font-weight: 500;
    line-height: 1.1785;
    letter-spacing: -0.037em;
}
.hs-title-11{
    margin-top: 0;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.hs-title-12{
    margin-top: 0;
    font-size: 86px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-13{
    margin-top: 0;
    font-size: 82px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-title-13a{
    margin-top: 0;
    font-size: 82px;
    font-weight: 500;
    line-height: 1.085;
    letter-spacing: -0.035em;
}
.hs-line-14{
    font-size: 120px;
    font-weight: 500;
    letter-spacing: -0.03em;
}
.hs-image-1{
    max-width: 0.85em;
    max-height: 0.85em;
    margin-top: -0.2em;
    vertical-align: middle;
}
.hs-image-1{
    width: 0.85em;
    height: 0.85em;
    margin-top: -0.2em;
    vertical-align: middle;
}
.hs-image-2{
    width: 0.75em;
    height: 0.75em;
    margin-top: -0.2em;
    vertical-align: middle;
    border-radius: 50%;
}
.hs-image-3{
    height: 0.75em !important;
    margin-top: -0.2em;
    vertical-align: middle;
    border-radius: 100px;
}
.hs-paragraph-1{
    position: absolute;
    top: 158px;
    left: 0;
    max-width: 256px;
    font-size: 16px;
    line-height: 1.5;
}
.hs-paragraph-2{
    position: absolute;
    top: 160px;
    right: 50px;
    max-width: 350px;
    font-size: 14px;
    text-transform: uppercase;
    text-indent: 4em;
    line-height: 1.5;
    letter-spacing: 0;
}
.hs-descr{
    font-size: 34px;
    font-weight: 400;
    line-height: 1.353;
    letter-spacing: -0.0075em;
}


/* ==============================
   Classic menu bar
   ============================== */


/*
 * Logo (in navigation panel)
 */

.nav-logo-wrap{
    position: absolute;
    top: 0;
    left: 0;
    flex-shrink: 0;
    z-index: 1;
}
.nav-logo-wrap .logo{
    display: flex;
    align-items: center;
    max-width: 188px;
    height: var(--menu-bar-height);
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.nav-logo-wrap .logo img{
    max-height: 100%;
}
.nav-logo-wrap .logo:before,
.nav-logo-wrap .logo:after{
    display: none;
}
.logo,
a.logo:hover{
    font-size: 18px;
    font-weight: 600 !important;
    text-decoration: none;
    color: rgba(0,0,0, .9);
}

/*
 * Desktop nav
 */

.main-nav{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    height: var(--menu-bar-height) !important;
    position: relative;
    top: 0;
    left: 0;
    text-align: left;
    background: rgba(255,255,255, .98);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.025),0px 1px 1px 0px rgba(0, 0, 0, 0.01),0px 0px 50px 0px rgba(0, 0, 0, 0.07);
    z-index: 1030;
    transition: all 0.2s var(--ease-default);
}
.main-nav.sticky{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
.small-height{
    height: var(--menu-bar-height-scrolled) !important;
}
.main-nav-sub{
    flex-grow: 1;
    display: flex;
    position: relative;
}
.inner-nav{
    flex-grow: 1;
    position: relative;
}
.inner-nav ul{
    margin: auto;
    font-size: 17px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.3;    
}
.inner-nav ul i.align-center:before{
    display: block;
    margin-top: -0.15em;
    transform: translateY(13.5%);
}
.inner-nav ul i.mi-mobile:before{
    margin-left: -0.25em;
    margin-right: -0.25em;
}
.inner-nav > ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.inner-nav ul li{
    margin: 0 18px;
    position: relative;
}
.inner-nav ul li:first-child{
    margin-left: 0;
}
.inner-nav ul li:last-child{
    margin-right: 0;
}
.inner-nav > ul.items-end{
    position: absolute;
    top: 0;
    right: 0;
}
.inner-nav ul li a{
    display: inline-block;
    text-decoration: none;  
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.inner-nav > ul > li > a{
    display: table-cell;
    vertical-align: middle;
    height: var(--menu-bar-height); 
    opacity: .65;     
}
.main-nav:not(.mobile-on).small-height .inner-nav > ul > li > a{
    height: var(--menu-bar-height-scrolled) !important;
}
.inner-nav ul li a:hover,
.inner-nav ul li a.active{
    color: var(--color-dark-1);
    opacity: 1;
    text-decoration: none;
}
.body-scrolled .scrolled-hidden{
    display: none;
}
.scrolled-visible{
    display: none;
}
.body-scrolled .scrolled-visible{
    display: block;
}
.mobile-on .scrolled-hidden,
.mobile-on .body-scrolled .scrolled-hidden{
    display: block;
}
.mobile-on .scrolled-visible{
    display: none;
}


/* Menu sub */

.inner-nav .mi-chevron-down{
    margin-left: -0.19em;
    font-size: 16px;
    transition: all 0.2s var(--ease-default), color 0 var(--ease-default);
}
.mi-chevron-right{
    transition: var(--transition-default);
}
.mn-sub{
    display: none;
    width: 220px;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0;
    background: rgba(35,35,35, .9927);
    border-radius: 0 0 3px 3px;
}
.light-content .mn-sub{
    background: rgba(50,50,50, .9927);
}
.transparent .mn-sub,
.inner-nav .mn-sub .mn-sub,
.mn-has-multi a{
    border-radius: 3px;  
}
.transparent .mn-sub > li:first-child > a,
.transparent .mn-sub > li:first-child > a{
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.mn-sub > li:last-child > a{
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}
.main-nav.mobile-on.transparent .mn-sub > li:first-child > a,
.main-nav.mobile-on.transparent .mn-sub > li:first-child > a,
.main-nav.mobile-on .mn-sub > li:last-child > a{
    border-radius: 0;
}
.mn-sub li{
    display: block;
    width: 100%;
    margin: 0 !important;
}
.inner-nav ul li .mn-sub li a,
.mn-group-title{
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.3 !important;
    position: relative;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 12px 15px;
    font-size: 15px;
    font-weight: 400;
    text-align: left;
    text-transform: none;    
    border-left: none;
    border-right: none;
    letter-spacing: 0;
    color: var(--color-gray-light-5) !important;
    outline-offset: -2px !important;
    transition: var(--transition-default);
}
.mobile-on .mn-has-multi > li:last-child > a{
    border-bottom: 1px solid rgba(255,255,255, .065) !important;
}
.mn-sub li a:hover,
.inner-nav ul li .mn-sub li a:hover,
.mn-sub li a.active{
    background: rgba(255,255,255, .09);
    color: var(--color-gray-light-1) !important;
}
.mn-sub:not(.mn-has-multi) li ul{
    left: 100%;
    right: auto;
    top: 0;
    border-left: 1px solid rgba(255,255,255, .07);
}
.inner-nav li .mn-sub.to-left{
    left: auto;
    right: 0;
}
.inner-nav > ul > li:last-child .mn-sub li ul,
.inner-nav > li:last-child .mn-sub li ul,
.inner-nav li .mn-sub li ul.to-left{
    left: auto;
    right: 100%;
    top: 0;
    border-left: none;
    border-right: 1px solid rgba(255,255,255, .07);
}
.mobile-on .inner-nav li:last-child .mn-sub li ul{
    left: auto;
    right: auto;
    top: 0;
}
.mn-wrap{
    padding: 8px;
}

/* Menu sub multi */

.mn-has-multi{
    width: auto !important;
    padding: 15px;
    text-align: left;
    white-space: nowrap;
}
.mn-sub-multi{
    width: 200px !important;
    overflow: hidden;
    white-space: normal;
    float: none !important;
    display: inline-block !important;
    vertical-align: top;
}
.mn-sub-multi > ul{
    width: auto;
    margin: 0;
    padding: 0;
    float: none;
}
.mn-group-title{
    font-size: 18px !important;
}
.mn-group-title:hover{
    background: none !important;
}
.mobile-on .mn-sub-multi > ul{
    left: auto;
    right: auto;
    border: none;
}
.mobile-on .mn-sub-multi{
    display: block;
    width: 100% !important;
}
.mobile-on .mn-sub-multi > ul > li:last-child > a{
    border: none !important;
}
.mobile-on .mn-sub:not(.mn-has-multi) > li:last-child > a{
    border: none !important;
}
.mobile-on .mn-sub-multi:last-child > ul{
    border-bottom: none !important;
}

/*
 * Mobile nav
 */

.mobile-on .desktop-nav{
    display: none;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0 15px;
    z-index: 100;    
}
.mobile-on .full-wrapper .desktop-nav{
    padding: 0;
}
.mobile-on .desktop-nav ul{
    position: relative;
    width: 100%;
    float: none;
    overflow-x: hidden;
    background: rgba(18,18,18, .995);
}
.mobile-on .desktop-nav > ul{
    overflow-y: auto;
    display: block;
}
.mobile-on .desktop-nav ul li{
    display: block;
    float: none !important;
    overflow: hidden;
}
.mobile-on .desktop-nav ul li ul{
    padding: 0;
    border-bottom: 1px solid rgba(255,255,255, .1);
}
.mobile-on .desktop-nav ul li a{
    display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.3 !important;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 10px;
    text-align: left;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255, .065);
    color: var(--color-gray-light-5);
    opacity: 1;
    cursor: pointer;
}
.mobile-on .desktop-nav ul li a:hover,
.mobile-on .desktop-nav ul li a.active{
    background: rgba(255,255,255, .025);
    color: #eee;
}
.mobile-on .desktop-nav ul li a:focus{
    outline-offset: -2px !important; 
}

.mobile-nav-display{
    display: none;
}
.mobile-on .mobile-nav-display{
    display: block !important;
}
.mobile-nav-display-i{
    display: none;
}
.mobile-on .mobile-nav-display-i{
    display: inline-block !important;
}
.desktop-nav-display{
    display: block;
}
.mobile-on .desktop-nav-display{
    display: none !important;
}

/* Mobile nav menu sub */

.mobile-on .mn-has-sub > .mi-chevron-down{
    display: block;
    width: 24px;
    height: 24px;
    font-size: 14px;
    line-height: 22px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -12px;
    text-align: center;
    border: 1px solid rgba(255,255,255, .1);
    border-radius: 50%;
}
.mobile-on .mn-has-sub > .mi-chevron-right{
    display: block;
    width: 24px;
    height: 24px;
    font-size: 14px;
    line-height: 22px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -12px;
    text-align: center;
    border: 1px solid rgba(255,255,255, .1);
    transform: rotate(90deg);
    border-radius: 50%;
}
.mobile-on .js-opened > .mn-has-sub > .mi-chevron-down{
    border-color: rgba(255,255,255, .4);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
}
.mobile-on .js-opened > .mn-has-sub > .mi-chevron-right{
    border-color: rgba(255,255,255, .4);
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    transform: rotate(270deg);
}
.mobile-on .inner-nav li{
    margin: 0 !important;
}
.mobile-on .mn-sub{
    display: none;
    opacity: 0;
    position: relative;
    left: 0 !important;
    right: 0;
    top: 0;
    bottom: 0;
    border-left: none !important;
    border-right: none !important;
    border-top: none;
    z-index: 10;
}
.mobile-on .mn-sub li{
    padding-left: 10px;
}
.inner-nav li.js-opened .mn-sub{
    opacity: 1;
}
.mobile-nav{
    display: none;
    margin-left: auto;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 16px;
    cursor: pointer;
    height: var(--menu-bar-height);    
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    transition-property:  background, color, height;
}
.main-nav.small-height .mobile-nav{
    height: var(--menu-bar-height-scrolled);
}
.mobile-nav:active{
    box-shadow: 0 0 35px rgba(0,0,0,.05) inset;
}
.mobile-on .mobile-nav{
    display: flex;
}
.mobile-nav-icon{
    position: relative;
    display: block;
    width: 1.8em;
    height: 2px;
    margin: auto;
    background: var(--color-dark-1);     
}
.mobile-nav-icon:before,
.mobile-nav-icon:after{
    content: "";
    position: absolute;
    top: -0.5em; 
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    transition: var(--transition-default);
    will-change: top, transform;
}
.mobile-nav-icon:after{
    top: 0.5em;
}
.mobile-nav.active .mobile-nav-icon{
    background: transparent;
}
.mobile-nav.active .mobile-nav-icon:before{
    top: 0;
    transform: rotate(45deg);
}
.mobile-nav.active .mobile-nav-icon:after{
    top: 0;
    transform: rotate(-45deg);
}


/* Mobile nav menu sub multi */

.mobile-on .mn-has-multi{
    width: auto;
    padding: 0;
    text-align: left;
    white-space: normal;
    
}
.mobile-on .mn-sub{
    width: 100%;
    float: none;
    position: relative;
    overflow-x: hidden;
}
.mobile-on .mn-group-title{
    font-size: 15px !important;
}

/*
 * Dark panel style
 */

.main-nav.light-after-scroll.dark .logo-dark{
    display: none;
}
.main-nav.light-after-scroll.dark .logo-white{
    display: block;
}
.main-nav.light-after-scroll .logo-dark{
    display: block;
}
.main-nav.light-after-scroll .logo-white{
    display: none;
}
.main-nav.dark{
    background-color: rgba(10,10,10, .905);
    box-shadow: none;
    
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow:  none;
}
.main-nav.dark-mode{
    background-color: rgba(27,27,27, .905);
}
.main-nav:not(.transparent){
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.main-nav.dark .inner-nav ul > li > a{
    color: #fff;
    opacity: .78;
}
.main-nav.dark .inner-nav ul > li > a:hover,
.main-nav.dark .inner-nav ul > li > a.active{
    color: #fff;
    opacity: 1;
}
.main-nav.dark .inner-nav ul li .mn-sub li a{
    opacity: 1;
}
.main-nav.dark .main-nav-icon-cart{
    opacity: 1;
}
.main-nav.dark .mobile-nav{
    background-color: transparent;
    border-color: transparent;
}
.main-nav.dark .mobile-nav-icon,
.main-nav.dark .mobile-nav-icon:before,
.main-nav.dark .mobile-nav-icon:after{
    background: #fff;
}
.main-nav.dark .mobile-nav.active .mobile-nav-icon{
    background: transparent;
}
.main-nav.mobile-on.dark .inner-nav{
    border-top: 1px solid rgba(100,100,100, .4);
}
.main-nav.dark .logo,
.main-nav.dark a.logo:hover{
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    color: rgba(255,255,255, .9);
}
.main-nav.dark .mn-sub{    
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow:  none;
}
.main-nav.dark .mi-chevron-down,
.main-nav.dark.body-scrolled .inner-nav ul > li > a:hover .mi-chevron-down,
.main-nav.dark.body-scrolled .inner-nav ul > li > a.active .mi-chevron-down{
    opacity: 1;
}

/*
 * Transparent panel style
 */

.main-nav.transparent{
    background: transparent !important;
    box-shadow: none;
}
.main-nav.js-transparent{
    transition: all 0.2s var(--ease-default);
}

/*
 * Menu social links
 */

.mn-soc-link{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    font-size: 16px;    
    border-radius: 50%;    
    cursor: pointer;
    isolation: isolate;
    transition: all .2s var(--ease-out-medium);
}
.mn-soc-link:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .2;
    transition: all .2s var(--ease-out-medium);
    z-index: -1;
}
.mn-soc-link:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    border-radius: 50%;
    opacity: 0;
    transform: scale(.25);
    transition: all .2s var(--ease-out-short);
    z-index: -1;
}
.mn-soc-link:hover{
    color: #fff;
}
.mn-soc-link:hover:before{
    opacity: 0;
}
.mn-soc-link:hover:after{
    opacity: 1;
    transform: none;
}
.mn-soc-link.alt,
.mn-soc-link.mn-soc-link-color.alt{
    color: #fff;
}
.mn-soc-link.alt:before{
    opacity: 0;
}
.mn-soc-link.alt:after{
    opacity: 1;
    transform: none;
}
.mn-soc-link.alt:hover{
    opacity: .85;
}
.mn-soc-link.mn-soc-link-color{
    color: var(--color-primary-1);
}
.mn-soc-link.mn-soc-link-color:hover{
    color: #fff;
}
.mn-soc-link.mn-soc-link-color:before{
    border-color: var(--color-primary-1);
    opacity: 1;
}
.mn-soc-link.mn-soc-link-color:after{
    background: var(--color-primary-1);
}
.mn-soc-link.mn-soc-link-color:hover:before{
    opacity: 0;
}

/* ==============================
   Sections styles
   ============================== */

/*
 * Common section styles
 */

.page-section,
.small-section,
.bg-image{
    width: 100%;
    display: block;    
    position: relative;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;    
    padding-top: var(--section-padding-y);
    padding-bottom: var(--section-padding-y);
}
.small-section{
    padding: 100px 0;
}
.fixed-height-large{
    min-height: 800px;
}
.fixed-height-medium{
    min-height: 700px;
}
.fixed-height-small{
    min-height: 600px;
}
.bg-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.bg-scroll{
    background-attachment: scroll !important;
    background-position: center center !important;
}
.parallax-1,
.parallax-2,
.parallax-3,
.parallax-4,
.parallax-5,
.parallax-6,
.parallax-7,
.parallax-8,
.parallax-9,
.parallax-10{
    background-position-y: 0;
}
.bg-white{
    background-color: #fff;
}
.bg-gray-light-1{
    background-color: var(--color-gray-light-1);
}
.bg-gray-light-2{
    background-color: var(--color-gray-light-2);
}
.bg-dark-1{
    background-color: var(--color-dark-1) !important;
}
.bg-dark-2{
    background-color: var(--color-dark-2) !important;
}
.bg-dark-3{
    background-color: var(--color-dark-3) !important;
}
.bg-primary-1{
    background-color: var(--color-primary-1) !important;
}
.bg-primary-2{
    background-color: var(--color-primary-2) !important;
}
.bg-primary-3{
    background-color: var(--color-primary-3) !important;
}
.bg-primary-4{
    background-color: var(--color-primary-4) !important;
}
.bg-gradient-gray-light-1{
    background-image: var(--gradient-gray-light-1);
}
.bg-gradient-gray-light-2{
    background-image: var(--gradient-gray-light-2);
}
.bg-gradient-gray-dark-1{
    background-image: linear-gradient(0deg, var(--color-dark-2) 0%, transparent 100%);
}
.bg-gradient-gray-dark-2{
    background-image: linear-gradient(0deg, transparent 0%, var(--color-dark-2) 100%);
}
.bg-gradient-white{
    background-image: linear-gradient(0deg, #fff 0%, transparent 60%);
}
.bg-gradient-dark{
    background-image: linear-gradient(0deg, var(--color-dark-1) 0%, transparent 60%);
}
.bg-gradient-dark-1{
    background-image: linear-gradient(0deg, transparent 85%, var(--color-dark-1) 100%);
}
.bg-gradient-primary-light-1{
    background-image: linear-gradient(-90deg, var(--color-primary-light-3) 0%, var(--color-primary-light-2) 100%);;
}
.bg-gradient-primary-dark-1{
    background-image: linear-gradient(-90deg, var(--color-primary-3) 0%, var(--color-primary-2) 100%);;
}
.bg-gradient-primary-alpha-1:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;    
    background-image: var(--gradient-primary-alpha-1);
    opacity: .97;
}
.bg-gradient-primary-alpha-2:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;    
    background-image: var(--gradient-primary-alpha-2);
    opacity: .97;
}
.bg-gradient-dark-alpha-1:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;    
    background-image: var(--gradient-dark-alpha-1);
    opacity: .97;
}
.bg-gradient-dark-alpha-2:before{
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;    
    background-image: var(--gradient-dark-alpha-2);
    opacity: .97;
}
.section-gradient-top{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5vw;
    background: linear-gradient(180deg, var(--color-gray-light-2) 0%, transparent 100%);
}
.section-gradient-top-dark{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5vw;
    background: linear-gradient(180deg, var(--color-dark-2) 0%, transparent 100%);
}
.bg-blur{
    position: relative;
    margin: 0 auto;  
    overflow: hidden;     
    border: 1px solid rgba(255,255,255, .1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.bg-blur:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark-1);
    opacity: 0.17;
}
.light-content{
    color: #fff;
}
.light-content a{
    color: rgba(255,255,255, .8);
}
.light-content a:hover{
    color: #fff;
}
.light-content .section-text{
    color: #fff;
}
.bg-dark-alpha:before,
.bg-dark-alpha .YTPOverlay:before,
.bg-dark-alpha-30:before,
.bg-dark-alpha-30 .YTPOverlay:before,
.bg-dark-alpha-50:before,
.bg-dark-alpha-50 .YTPOverlay:before,
.bg-dark-alpha-70:before,
.bg-dark-alpha-70 .YTPOverlay:before,
.bg-dark-alpha-60:before,
.bg-dark-alpha-60 .YTPOverlay:before,
.bg-dark-alpha-80:before,
.bg-dark-alpha-80 .YTPOverlay:before,
.bg-dark-alpha-90:before,
.bg-dark-alpha-90 .YTPOverlay:before,
.bg-light-alpha:before,
.bg-light-alpha .YTPOverlay:before,
.bg-light-alpha-30:before,
.bg-light-alpha-30 .YTPOverlay:before,
.bg-light-alpha-50:before,
.bg-light-alpha-50 .YTPOverlay:before,
.bg-light-alpha-60:before,
.bg-light-alpha-60 .YTPOverlay:before,
.bg-light-alpha-70:before,
.bg-light-alpha-70 .YTPOverlay:before,
.bg-light-alpha-80:before,
.bg-light-alpha-80 .YTPOverlay:before,
.bg-light-alpha-90:before,
.bg-light-alpha-90 .YTPOverlay:before,
.bg-color-alpha:before,
.bg-color-alpha .YTPOverlay:before,
.bg-color-alpha-30:before,
.bg-color-alpha-30 .YTPOverlay:before,
.bg-color-alpha-50:before,
.bg-color-alpha-50 .YTPOverlay:before,
.bg-color-alpha-60:before,
.bg-color-alpha-60 .YTPOverlay:before,
.bg-color-alpha-70:before,
.bg-color-alpha-70 .YTPOverlay:before,
.bg-color-alpha-80:before,
.bg-color-alpha-80 .YTPOverlay:before,
.bg-color-alpha-90:before,
.bg-color-alpha-90 .YTPOverlay:before{
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.bg-dark-alpha:before,
.bg-dark-alpha .YTPOverlay:before{
    background: #111;
    opacity: .97;
}
.bg-dark-alpha-30:before,
.bg-dark-alpha-30 .YTPOverlay:before{
    background: #111;
    opacity: .3;
}
.bg-dark-alpha-50:before,
.bg-dark-alpha-50 .YTPOverlay:before{
    background: #111;
    opacity: .5;
}
.bg-dark-alpha-60:before,
.bg-dark-alpha-60 .YTPOverlay:before{
    background: #111;
    opacity: .6;
}
.bg-dark-alpha-70:before,
.bg-dark-alpha-70 .YTPOverlay:before{
    background: #111;
    opacity: .7;
}
.bg-dark-alpha-80:before,
.bg-dark-alpha-80 .YTPOverlay:before{
    background: #111;
    opacity: .8;
}
.bg-dark-alpha-90:before,
.bg-dark-alpha-90 .YTPOverlay:before{
    background: #111;
    opacity: .9;
}
.bg-light-alpha:before,
.bg-light-alpha .YTPOverlay:before{
    background: rgba(252,252,252, .97);
}
.bg-light-alpha-30:before,
.bg-light-alpha-30 .YTPOverlay:before{
    background: rgba(252,252,252, .30);
}
.bg-light-alpha-50:before,
.bg-light-alpha-50 .YTPOverlay:before{
    background: rgba(252,252,252, .50);
}
.bg-light-alpha-60:before,
.bg-light-alpha-60 .YTPOverlay:before{
    background: rgba(252,252,252, .60);
}
.bg-light-alpha-70:before,
.bg-light-alpha-70 .YTPOverlay:before{
    background: rgba(252,252,252, .7);
}
.bg-light-alpha-80:before,
.bg-light-alpha-80 .YTPOverlay:before{
    background: rgba(252,252,252, .8);
}
.bg-light-alpha-90:before,
.bg-light-alpha-90 .YTPOverlay:before{
    background: rgba(252,252,252, .9);
}
.bg-color-primary-1{
    background-color: var(--color-primary-1);
}
.bg-color-primary-2{
    background-color: var(--color-primary-2);
}
.bg-color-primary-3{
    background-color: var(--color-primary-3);
}
.bg-color-primary-4{
    background-color: var(--color-primary-4);
}
.bg-color-alpha:before,
.bg-color-alpha .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .97;
}
.bg-color-alpha-30:before,
.bg-color-alpha-30 .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .3;
}
.bg-color-alpha-50:before,
.bg-color-alpha-50 .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .5;
}
.bg-color-alpha-60:before,
.bg-color-alpha-60 .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .6;
}
.bg-color-alpha-70:before,
.bg-color-alpha-70 .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .7;
}
.bg-color-alpha-80:before,
.bg-color-alpha-80 .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .8;
}
.bg-color-alpha-90:before,
.bg-color-alpha-90 .YTPOverlay:before{
    background: var(--color-primary-1);
    opacity: .9;
}
.bg-gradient-light-1{
    position: relative;
    isolation: isolate;
}
.bg-gradient-light-1:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-primary-1);    
    opacity: .15;
    z-index: -1;
}
.light-content .bg-gradient-light-1:before{
    opacity: .25;
}
.bg-gradient-light-2{
    position: relative;
}
.bg-gradient-light-2:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-primary-1-b);    
    opacity: .15;
    z-index: -1;
}
.light-content .bg-gradient-light-2:before{
    opacity: .25;
}
.bg-gradient-primary-1{
    background: var(--gradient-primary-1) !important; 
}
.bg-gradient-primary-2{
    background: var(--gradient-primary-1-b) !important; 
}
.bg-border-gradient{
    position: relative;
}
.bg-border-gradient:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid transparent;
    border-radius: var(--border-radius-large);
	background:	linear-gradient(to right, white, white), var(--gradient-primary-1-b); 
	-webkit-background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
    opacity: .3;
}
.light-content .bg-border-gradient:before{
    background:	linear-gradient(to right, var(--color-dark-1), var(--color-dark-1)), var(--gradient-primary-1-b); 
	-webkit-background-clip: padding-box, border-box;
	background-origin: padding-box, border-box;
    opacity: .5;
}

.section-caption{
    margin-bottom: 25px;
    color: var(--color-gray-1);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.075em;
}
.light-content .section-caption{
    color: #fff;
}
.section-caption-border{
    display: inline-block;
    padding: 0.45em 0.7em;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.0095em;
    border: 1px solid currentColor;
    border-radius: 70px;
    z-index: 2;
}
.section-caption-fancy{
    display: inline-block;
    padding: 7px 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-primary-1);
    text-transform: uppercase;
    letter-spacing: 0.037em;    
    background-image: linear-gradient( 15deg, var(--color-primary-light-1) 0%, transparent 100%);
    border-radius: 100px;
}
.section-caption-fancy.large{
    font-size: 16px;
}
.light-content .section-caption-fancy{  
    color: #fff; 
    background-image: linear-gradient( 15deg, rgba(0,0,0,.5) 0%, transparent 100%);
}
.section-caption-slick{
    display: inline-block;
    padding: 7px 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-primary-1);
    text-transform: uppercase;
    letter-spacing: 0.037em;    
    background-image: linear-gradient( 45deg, var(--color-primary-light-1) 0%, transparent 100%);
    border-radius: 100px;
}
.light-content .section-caption-slick{
    color: #fff;  
    background-image: linear-gradient( 45deg, rgba(0,0,0,.5) 0%, transparent 100%);
}
.section-caption-gradient{
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: normal;
    background: var(--gradient-primary-1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.section-title{
    font-size: 56px;
    font-weight: 500;
    line-height: 1.107;
    letter-spacing: -0.03em;
}
.section-title-tiny{
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.01em; 
}
.section-title-small{
    margin-top: 0;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.03em;
}
.section-title-medium{
    font-size: 82px;
    font-weight: 500;
    letter-spacing: -0.025em;  
}
.section-title-large{
    font-size: 90px;
    font-weight: 500;
    letter-spacing: -0.025em;  
}
.section-title-repeat{
    flex-shrink: 5;
    position: relative;
    display: inline-block;
    font-size: 120px;
    font-weight: 400;
    letter-spacing: -0.03em;
}
.section-title-repeat-left{
    position: absolute;
    top: 0;
    left: calc(-100% - 0.575em);
    width: 100%; 
    color: #fff; 
    text-shadow: -1px -1px 0 var(--color-dark-1), 1px -1px 0 var(--color-dark-1), -1px 1px 0 var(--color-dark-1), 1px 1px 0 var(--color-dark-1);
    opacity: .3;
    pointer-events: none;
}
.section-title-repeat-right{
    position: absolute;
    top: 0;
    right: calc(-100% - 0.575em);
    width: 100%; 
    color: #fff; 
    text-shadow: -1px -1px 0 var(--color-dark-1), 1px -1px 0 var(--color-dark-1), -1px 1px 0 var(--color-dark-1), 1px 1px 0 var(--color-dark-1);
    opacity: .3;
    pointer-events: none;
}
.light-content .section-title-repeat-left,
.light-content .section-title-repeat-right{
    color: var(--color-dark-1);
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}
.section-title-strong{
    font-size: 80px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.033em;
}
.section-title-descr{
    font-size: 18px;
    font-weight: 400; 
    color: var(--color-gray-1);
}
.light-content .section-title-descr{
    color: var(--color-gray-light-6);
}
.section-descr{
    margin-top: 0;
    color: var(--color-gray-1);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.005em;
}
.light-content .section-descr{
    color: #fff;
}
.section-descr-medium{
    margin-top: 0;
    font-size: 24px;
    letter-spacing: -0.02em;
}
.section-descr-large{
    margin-top: 0;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: -0.025em;
}
.section-descr-extralarge{
    margin-top: 0;
    font-size: 42px;
    font-weight: 300;
    line-height: 1.333;
    letter-spacing: -0.0325em;
}


.section-title-image{
    display: inline-block;
    max-width: 0.5em;
    margin: -0.05em 0 0 -0.07em;
    vertical-align: top;    
}
.section-title-image img,
.section-title-image svg{
    vertical-align: top;
}
