@charset "utf-8";
/*------------------------------------------------------------------
[Master Stylesheet]

Project: Resonance
Version: 1.0.3
Last change: 26 November 2023
Primary use: Multipurpose Template  
-------------------------------------------------------------------*/

/*------------------------------------------------------------------
[Table of contents]

1. Icon fonts.
2. Variables.
3. Common styles.
4. Page loader.
5. Typography.
    5.1. Headings styles.
6. Links.
7. Buttons.
    7.1. Mobile menu button fix.
8. Forms fields.
    8.1. Input underline.
    8.2. Input Gradient.
9. Home sections.
    9.1. Header common styles.
    9.2. Scroll down icon.
    9.3. Scroll down icon type 1.
    9.4. Scroll down icon type 2.
    9.5. Scroll down type 3.
    9.6. Scroll down icon type 4.
    9.7. Home section status.
    9.8. Home section social media links.
    9.9. HTML5 BG Video.
    9.10. Section edge figure.
    9.11. Section BG svg shape.
    9.12. Fullwidth gallery.
    9.13. Typed text.
    9.14. Stack Images.
10. Custom appear animation.
    10.1. Splitting JS chars animation.
    10.2. Splitting JS chars animation 1.
    10.3. Splitting JS chars animation 2.
    10.4. Splitting JS chars animation long.
    10.5. Splitting JS chars animation long 1.
    10.6. Splitting JS words animation.
    10.7. Splitting JS lines animation.
    10.8. Splitting JS lines animation long.
    10.9. Appearing animation styles.
11. Classic menu bar.
    11.1. Logo (in navigation panel).
    11.2. Menu sub.
    11.3. Menu sub multi.
    11.4. Mobile nav.
    11.5. Mobile nav menu sub.
    11.6. Mobile nav menu sub multi.
    11.7. Dark panel style.
    11.8. Transparent panel style.
    11.9. Menu social links.
12. Sections styles.
    12.1. Common section styles.
    12.2. Decorative elements.
    12.3. Marquee text line.
13. Split section.
14. Services.
15. Services 2.
16. Services 3.
17. Services 4.
18. Services 5.
19. Services 6.
20. Services 7.
21. Services 8.
22. Team.
23. Team 1.
24. Features.
25. Features 1.
26. Features 2.
27. Alt features.
28. Spot box.
29. Numbers.
    29.1. Numbers 1.
    29.2. Numbers 2.
    29.3. Numbers 3.
30. Steps.
    30.1. Steps 1.
    30.2. Steps 2.
31. Portfolio.
    31.1. Works filter.
    31.2. Works grid.
32. Portfolio 1.
33. Portfolio 2.
34. Portfolio 3.
35. Portfolio 4.
36. Portfolio 5.
37. Call action 1 section.
38. Call action 2 section.
39. Call action 3 section.
40. Call action 4 section.
41. Images compositions.
    41.1. Images composition 1.
    41.2. Images composition 2.
    41.3. Images composition 3.
    41.4. Images composition 4.
    41.5. Images composition 5.
    41.6. Images composition 6.
    41.7. Images composition 7.
    41.8. Images composition 8.
    41.9. Images composition 9.
42. Work process.
43. Logotypes.
    43.1. Logo carousel.
    43.2. Logo grid.
44. Post previews.
45. Post previews 1.
46. Post previews 2.
47. Post previews 3.
48. Newsletter.
    48.1. Newsletter elegant.
    48.2. Newsletter strong.
    48.3. Newsletter modern.
49. Contact.
50. Contact 1.
51. Contact 2.
52. Google maps.
53. Footer.
54. Footer 1.
55. Footer 2.
56. Blog.
    56.1. Pagination.
    56.2. Comments.
    56.3. Sidebar.
57. Pricing.
58. Shortcodes.
    58.1. Lightbox modal.
    58.2. Owl carousel.
    58.3. Testimonials 4.
    58.4. Testimonials 5.
    58.5. Testimonials 6.
    58.6. Tabs.
    58.7. Tabs minimal.
    58.8. Tabs alternative.
    58.9. Tooltips.
    58.10. Alert messages.
    58.11. Accordion.
    58.12. Toggle.
    58.13. Accorfion style 1.
    58.14. Progress bars.
    58.15. Alt progress bars.
    58.16. Icons examples.
    58.17. Morphext.
59. Skip to content link.
60. Cookies.
61. Intro page.
-------------------------------------------------------------------*/


/* ==============================
   Variables
   ============================== */
  
:root{
    --bg-beige: #E9E3DB;
    --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: 85px;
    --menu-bar-height-scrolled: 65px;
    --color-dark-1: #333;
    --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,
div:focus.focus-visible{
    -moz-outline: 3px dotted #36a367 !important;
    outline: 3px dotted #36a367 !important;
    outline-offset: 0 !important;
}
img:not([draggable]){
    max-width: 100%;
    height: auto;
}
.min-height-100vh{
    min-height: 100vh !important;
    min-height: 100svh !important;
}
.relative{ position: relative !important;}
.z-index-1{ z-index: 1 !important;}
.no-hover{ cursor: default !important;}
.wch-unset{ will-change: unset !important; }
.white{ color: #fff !important; }
.opacity-1{ opacity: 1 !important; }
.stick-fixed{
    position: fixed !important;
    top: 0;
    left: 0;
}
::selection{
    color: #fff;
    background: var(--color-primary-1);
}
.light-content ::selection{
    color: #fff;
    background: var(--color-primary-1);
}
[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;
}

/* ==============================
   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;
}

@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{
    font-weight: 500;
}

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

h1{
    margin-bottom: 0.5em;
    font-size: 42px;
    letter-spacing: -0.04em;
}
h2{
    margin-bottom: 0.5em;
    font-size: 36px;
    letter-spacing: -0.03em;
}
h3{
    margin-bottom: 0.7em;
    font-size: 28px;
    letter-spacing: -0.03em;
}
h4{
    font-size: 24px;
}
.h5{
    font-size: 20px;
}
p{
    margin: 0 0 1.5em 0;
}
ul{
    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: 34px;
    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);
}
.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;
}
hr{
    background-color: #000;
    opacity: .1;
}
hr.white{
    background-color: #fff;
    opacity: 1;
}

/* 
 * Headings styles
 */
.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;
}

/* ==============================
   Links
   ============================== */

.link-hover-anim{    
    position: relative;
    display: inline-block;
    padding: 6px 0;
    overflow: hidden;    
    font-size: 17px;    
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
    color: currentColor;
    background: none;
    border: none;
    cursor: pointer;
}
.link-hover-anim:hover{
    text-decoration: none !important;
}
.main-nav .link-hover-anim{
    top: 1px;
}
.link-strong{
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding: 7px 0;
    transition: transform 0.5s var(--ease-elastic-1), opacity 0.5s var(--ease-elastic-1), color 0.2s var(--ease-default);
}
.underline .link-strong{
    border-bottom: 2px solid currentColor;
}
.link-strong-hovered{
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    opacity: 0;
    transform: translateY(150%) translateZ(0.001px) skewY(10deg);
}
.link-hover-anim:hover{
    color: inherit;
}
.link-strong-unhovered{
    display: block;
}
.link-hover-anim:hover .link-strong-unhovered{ 
    opacity: 0;
    transform: translateY(-150%) translateZ(0.001px) skewY(-10deg);
}

.link-hover-anim:hover .link-strong-hovered{;
    opacity: 1;
    transform: translateY(0) translateZ(0.001px) skewY(0);
}

  
/* ==============================
   Buttons
   ============================== */
  
.btn-mod,
a.btn-mod{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3px 13px;
    color: #fff;
    background: var(--color-dark-1);
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: .065em;
    border-radius: 0;
    box-shadow: none;
    transition: var(--transition-default);
    cursor: pointer;
}
.btn-mod:hover,
.btn-mod:focus,
a.btn-mod:hover,
a.btn-mod:focus{
    color: #fff;
    text-decoration: none;
    outline: none;
    border-color: transparent;
    box-shadow: none;
}
.btn-mod:active{
    cursor: pointer !important;
    outline: none !important;
} 
.btn-mod.btn-large{
    height: auto;
    padding: 16px 32px 15px;
    font-size: 13px;
    letter-spacing: 0.085em;
} 

.btn-mod.btn-w{
    color: var(--color-dark-1);
    background: #fff;    
}
.btn-mod.btn-w:hover,
.btn-mod.btn-w:focus{
    color: var(--color-dark-1);
    background: rgba(255,255,255, 1);
}
.btn-mod.btn-round{
    border-radius: var(--border-radius-default);
}

.btn-mod.btn-hover-anim{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transform: translateZ(0);
}
.btn-mod.btn-hover-anim > span{
    position: relative;
}
.btn-mod.btn-hover-anim:before{
    content: "";
    display: block;
    width: 100%;
    height: 200%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(.7) translateY(55%);
    background: var(--color-dark-3a);
    border-radius: 100%;
    transition: all 0.25s cubic-bezier(0,0,.31,.99);
}
.btn-mod.btn-hover-anim:hover{
   opacity: 1;
   border-color: var(--color-dark-3a);
}
.btn-mod.btn-hover-anim:hover:before{
   transform: scaleX(2) scaleY(1) translateY(-15%);
}

.btn-animate-y{
    position: relative;
    display: block;
    overflow: hidden;
}
.btn-animate-y-1{
    display: block;
    transition: all .37s var(--ease-out-short), opacity .37s linear;
}
.btn-animate-y-2{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translate(0,100%);
    transition: all .37s var(--ease-out-short), opacity .37s linear;
}
.btn-mod:hover .btn-animate-y-1,
a:not(.no-hover):hover .btn-animate-y-1{
    opacity: 0;
    transform: translate(0,-100%);
}
.btn-mod:hover .btn-animate-y-2,
a:not(.no-hover):hover .btn-animate-y-2{
    opacity: 1;
    transform: translate(0,0);
}

/* 
 * Mobile menu button fix 
 */

.mobile-on .link-hover-anim{
    top: 0;
}

/* ==============================
   Forms fields
   ============================== */
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus{
    transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000), background-color 1s 900000s ease;
    -webkit-text-fill-color: var(--color-dark-1);
}

/*
 * Input underline
 */

/*
 * Input Gradient
 */

/* ==============================
   Home sections
   ============================== */
  
/*
 * Header common styles
 */

.home-section{
    width: 100%;
    display: block;    
    position: relative;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;    
}
.home-content{
    width: 100%;
    position: relative;
    text-align: center;
}

/*
 * Scroll down icon
 */

/*
 * Scroll down icon type 1
 */

/*
 * Scroll down icon type 2
 */

/*
 * Scroll down type 3
 */

/*
 * Scroll down icon type 4
 */

/*
 * Home section status
 */

/*
 * Home section social media links  
 */

/*
 * HTML5 BG Video
 */
.bg-video-overlay{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
}

/*
 * Section edge figure
 */

/*
 * Section BG svg shape
 */

/*
 * Fullwidth gallery
 */

/*
 * Typed text
 */

/* 
 * Stack Images
 */

/* ==============================
   Custom appear animation
   ============================== */
  
/*
 * Splitting JS chars animation
 */

.appear-animate .charsAnimIn .char{
    opacity: 0;
    transform: translateY(.5em) rotate(7deg);
    transform-origin: 0 50%;
    transition: transform .62s var(--ease-out-short), opacity .62s var(--ease-default);
    transition-delay: calc( 0.027s * var(--char-index) );
}
html:not(.mobile) .appear-animate .charsAnimIn .char{
    will-change: opacity, transform;
}
@media (prefers-reduced-motion:reduce),print{
    .appear-animate .charsAnimIn .char{
        opacity: 1 !important;
        transform: none !important;
    }
}
.charsAnimIn.animated .char,
.mobile .charsAnimIn .char{
    opacity: 1;
    transform: none;
}

/*
 * Splitting JS chars animation 1
 */

/*
 * Splitting JS chars animation 2
 */

/*
 * Splitting JS chars animation long
 */

/*
 * Splitting JS chars animation long 1
 */

/*
 * Splitting JS words animation
 */

/*
 * Splitting JS lines animation
 */

/*
 * Splitting JS lines animation long
 */

/*
 * Appearing animation styles
 */

:root {
	--animate-duration: 1s;
	--animate-delay: 1s;
	--animate-repeat: 1
}
.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-duration: var(--animate-duration);
	animation-duration: var(--animate-duration);
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}

.wow,
.wow-menubar{
    opacity: 0.001;  
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;    
    -webkit-transform: translateZ(0);
    transform: translateZ(0);  
}
html:not(.mobile) .wow,
html:not(.mobile) .wow-menubar{
    /*will-change: opacity, transform;*/
}
.appear-animate .wow.scaleOutIn{
    opacity: 1;
    transform: scale(1.2);
}
.appear-animate .wow.animated,
.appear-animate .wow.scaleOutIn.animated,
.appear-animate .wow-menubar.animated,
.mobile .appear-animate .wow,
.mobile .appear-animate .wow-menubar{
    opacity: 1;
    transform: scale(1.0);
}
@media (prefers-reduced-motion:reduce), print{
    .wow,
.wow.scaleOutIn,
.wow-menubar{
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}

@keyframes fadeInDown{
    0%{
        opacity: 0;
        transform: translate3d(0,-37px,0)
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInDown{
    animation-name: fadeInDown
}
@keyframes fadeInUp{
    0%{
        opacity: 0;
        transform: translate3d(0,37px,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInUp{
    animation-name: fadeInUp;
}
@keyframes fadeInLeft{
    0%{
        opacity: 0;
        transform: translate3d(37px,0,0);
    }
    to{
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}
.fadeInLeft{
    animation-name: fadeInLeft;
}
@keyframes fadeScaleIn{
    0%{
        opacity: 0;
        transform: scale(.95) translateZ(0.1px);
    }
    to{
        opacity: 1;
        transform: scale(1.00);
    }
}
.fadeScaleIn{
    animation-name: fadeScaleIn;
}
@keyframes scaleOutIn{
    0%{
        transform: scale(1.2) translateZ(0.1px);      
    }
    to{
        transform: scale(1.0);
    }
}
.scaleOutIn{
    animation-name: scaleOutIn;
    animation-timing-function: var(--ease-out-short);
}

/* ==============================
   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);
}
.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{
    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;
}

/* Menu sub */

/* Menu sub multi */

/*
 * 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 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 menu sub */
.mobile-on .inner-nav li{
    margin: 0 !important;
}
.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 */

/*
 * Dark panel style
 */
.main-nav:not(.transparent){
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/*
 * 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
 */

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

/*
 * Common section styles
 */

.page-section{
    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);
}
.bg-beige {
    background-color: var(--bg-beige);
}
.bg-dark-1{
    background-color: var(--color-dark-1) !important;
}
.light-content{
    color: #fff;
}
.light-content a{
    color: rgba(255,255,255, .8);
}
.light-content a:hover{
    color: #fff;
}
.bg-dark-alpha-30:before,
.bg-dark-alpha-80:before{
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.bg-dark-alpha-30:before{
    background: #111;
    opacity: .3;
}
.bg-dark-alpha-80:before{
    background: #111;
    opacity: .8;
}
.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-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-line{
    width: 80px;
    height: 1px;
    margin: 0 auto 0 0;
    background: var(--color-dark-1);
}
.text-gray{
    color: var(--color-gray-1);
}
.text-gray a{
    color: var(--color-dark-1);
    transition: all 0.17s var(--ease-default);
}
.text-gray a:hover{
    color: var(--color-dark-4);
}

/*
 * Decorative elements
 */

.decoration-1{
    position: absolute;
    bottom: -50px;
    left: -73px;
    color: var(-color-dark-1);
    pointer-events: none;
}
.decoration-2{
    position: absolute;
    top: -50px;
    right: 150px;
    color: #e0e0e0;
    pointer-events: none;
}
.decoration-3{
    position: absolute;
    bottom: -150px;
    right: 100px;
    color: var(-color-dark-1);
    pointer-events: none;
}

/* 
 * Marquee text line 
 */

/* ==============================
   Split section
   ============================== */

  
/* ==============================
   Services
   ============================== */

.services-tabs{
    display: block;
    margin: 0;
    padding: 0 70px 0 0;
    border: none;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.037em;
}
.services-tabs > li{
    display: block;
    margin-bottom: 20px;
    position: relative;
}
.services-tabs > li::before {
    content: "";
    height: 2px;
    width: 100%;
    background: #eee;
    bottom: 0;
    position: absolute;
}
.services-tabs > li > a{
    position: relative;
    display: flex;
    align-items: flex-start;
    padding-bottom: .06em;
    text-decoration: none;
    opacity: .5;
    transition: var(--transition-default);
    padding-bottom: 10px;
}
.services-tabs > li > a:before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: currentColor;
    transform-origin: left center;
    transform: scaleX(0);
    transition: all 0.5s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.services-tabs > li a:hover{
    color: unset;
    opacity: 1;
}
.services-tabs > li a.active:before{
    transform: scaleX(1);
}
.services-tabs > li a.active{
    opacity: 1;
}
.services-tabs > li a span {
    font-family: var(--font-global);
    font-size: 18px;
    letter-spacing: normal;
    font-weight: 400;
    position: relative;
    top: -5px;
    color: var(--color-gray-1);
}
.services-tabs > li > a div {
    width: 100%;
}
.services-tabs > li > a img {
    margin-right: 12px;
    position: relative;
    top: 5px;
}
.services-content{
    display: flex;
    width: 100%;
}
.services-content-item{
    position: relative;
    width: 100%;
    min-height: 600px;
    transition: var(--transition-default);
}
img.services-image{
    position: relative;
}
@keyframes services-tabs-animation-1 {
    0% {
        opacity: 0;
        transform: translate(0, 40px);
    }
    100% {
        opacity: 1; 
        transform: translate(0, 0) scale(1);
    }
}
.services-content-item.active img.services-image{
    animation: services-tabs-animation-1 .7s var(--ease-out-long);
}
:root{
    --services-text-overlap: 220px;
}

/* ==============================
   Services 2
   ============================== */

/* ==============================
   Services 3
   ============================== */

/* ==============================
   Services 4
   ============================== */

/* ==============================
   Services 5
   ============================== */

/* ==============================
   Services 6
   ============================== */

/* ==============================
   Services 7
   ============================== */

/* ==============================
   Services 8
   ============================== */

/* ==============================
   Team
   ============================== */

.team-item-image{
    position: relative;
    overflow: hidden;
}
.team-item-image img{
    width: 100%;
    transition: all 0.4s ease;
}
.team-item-descr{
    position: relative;
    line-height: 1.3;
    text-align: center;
    transition: var(--transition-default);
}
.team-item-name{
    margin-top: 15px;
    font-size: 18px;
    font-weight: 500;
}
.team-item-role{
    margin-top: 5px;
    font-size: 15px;
    color: var(--color-gray-1);
}

/* Hover state */

/* ==============================
   Team 1
   ============================== */

/* ==============================
   Features
   ============================== */

/* ==============================
   Features 1
   ============================== */

/* ==============================
   Features 2
   ============================== */

/* ==============================
   Alt features
   ============================== */
.alt-features-item{
    margin-top: 35px;
}
.alt-features-item.border-left{
    padding-left: 30px;
    border-left: 1px solid var(--color-gray-light-3);
}
.alt-features-icon{
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0 22px 0;
    font-size: 48px;
    text-align: center;
    line-height: 1.3;
    color: currentColor;
}
.alt-features-icon-s{
    position: absolute;
    top: -6px;
    right: -15px;
    width: 24px;
    height: 24px;
    font-size: 24px;
}
.alt-features-icon svg{
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}
.alt-features-title{
    margin-bottom: 11px;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.02em;
    transition: var(--transition-default);
}
.alt-features-descr{
    font-size: 16px;
    line-height: 1.625;
    color: var(--color-gray-1);
}

/* ==============================
   Spot box
   ============================== */

/* ==============================
   Numbers
   ============================== */

/*
 * Numbers 1
 */

/*
 * Numbers 2
 */
    
/*
 * Numbers 3
 */

/* ==============================
   Steps
   ============================== */

/*
 * Steps 1
 */

/*
 * Steps 2
 */

/* ==============================
   Portfolio
   ============================== */

/*
 * Works filter
 */

/* Works filter elegant */

/* Works filter fancy */

/* Works filter gradient */

/* Works filter slick */

/* Work filter bold */

/*
 * Works grid 
 */

/* Work item hover state */

/* Work item hover state alt */

/* Work item round */

/* Work item with hidden title */
/* Work item with hidden title hover white */

/* Work item fancy */

/* Works navigation */

/* ==============================
   Portfolio 1
   ============================== */

/* ==============================
   Portfolio 2
   ============================== */

/* ==============================
   Portfolio 3
   ============================== */

/* ==============================
   Portfolio 4
   ============================== */

/* Hover state */

/* ==============================
   Portfolio 5
   ============================== */

/* Hover state */

/* ==============================
   Call action 1 section
   ============================== */

/* ==============================
   Call action 2 section
   ============================== */

/* ==============================
   Call action 3 section
   ============================== */

/* ==============================
   Call action 4 section
   ============================== */

/* ==============================
   Images compositions
   ============================== */

/*
 * Images composition 1
 */

/*
 * Images composition 2
 */

/*
 * Images composition 3
 */

/*
 * Images composition 4
 */

/*
 * Images composition 5
 */

/*
 * Images composition 6
 */

/*
 * Images composition 7
 */

/*
 * Images composition 8
 */

/*
 * Images composition 9
 */

/* ==============================
   Work process
   ============================== */

/* ==============================
   Logotypes
   ============================== */

/*
 * Logo carousel
 */

/*
 * Logo grid
 */

.logo-grid{
    margin: -30px -15px 0 -15px;
}
.logo-grid-img{
    margin: 30px 30px 0 30px;
    opacity: .7;
    transition: var(--transition-default);
}
.logo-grid-img:hover{
    opacity: 1;
}

/* ==============================
   Post previews
   ============================== */

/* ==============================
   Post previews 1
   ============================== */

/* ==============================
   Post previews 2
   ============================== */

/* ==============================
   Post previews 3
   ============================== */

/* ==============================
   Newsletter
   ============================== */

/*
 * Newsletter elegant
 */

/*
 * Newsletter strong
 */

/*
 * Newsletter modern
 */

/* ==============================
   Contact 
   ============================== */

/* ==============================
   Contact 1
   ============================== */

/* ==============================
   Contact 2
   ============================== */

/* ==============================
   Google maps 
   ============================== */

/* Map opened */

/* Dark style */

/* ==============================
   Footer
   ============================== */

.footer{
     font-size: 16px;
}
.footer a{
    transition: all 0.17s var(--ease-default);
}
.footer:not(.light-content) a:hover{
    text-decoration: none;
    color: var(--color-dark-3a) !important;
}
footer:not(.light-content) .text-gray a{
    color: var(--color-gray-1);
    transition: all 0.17s var(--ease-default);
}
footer:not(.light-content) .text-gray a:hover{
    color: var(--color-dark-1);
}

/* Link to top */
a.link-to-top,
footer .text-gray a.link-to-top{
    position: relative;
    display: flex;
	justify-content: center;
	align-items: center;    
    width: 48px;
    height: 48px;
    color: var(--color-dark-1);
    font-size: 24px;   
    text-decoration: none;
    transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);    
}
.link-to-top:before{
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--box-shadow); 
    z-index: 1;
    transition: all 0.4s var(--ease-elastic-2);
}
.link-to-top svg{
    position: relative;
    width: 1em;
    height: 1em;
    z-index: 1;
}
.link-to-top span{
    position: relative;
    transform: rotate(0.001deg) translateZ(0);
    z-index: 1;
}
.link-to-top:hover{
    text-decoration: none;
}
.link-to-top:hover:before{
    transform: scale(1.25);
}

/* Link to top 2 */

/* ==============================
   Footer 1
   ============================== */

/* ==============================
   Footer 2
   ============================== */

/* ==============================
   Blog
   ============================== */

/*
 * Pagination
 */

/*
 * Comments
 */

/*
 * Sidebar
 */

/* Search widget */

/* Widget menu */

/* Widget tags */

/* Comments */

/* Posts */

/* ==============================
   Pricing
   ============================== */

/* ==============================
   Shortcodes
   ============================== */

/*
 * Lightbox modal
 */

/*
 * Owl carousel
 */

.owl-buttons{
    position: static;
}
.owl-prev,
.owl-next{
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 27px;
    height: 57px;
    padding: 11px;
    box-sizing: content-box;
    font-size: 57px;
    text-align: center;
    color: var(--color-dark-1);
    opacity: .8;
    z-index: 6;  
    transition: var(--transition-default);
}
.owl-prev:hover,
.owl-next:hover{
    opacity: 1;
}
.owl-prev{
    left: 20px;
}
.owl-next{
    right: 20px;
}

.owl-pagination{
    display: block;
    width: 100%;
    position: absolute;
    bottom: 30px;
    left: 0;
    text-align: center;
    line-height: 1;
}
.owl-page{
    display: inline-block;
    padding: 7px;
    position: relative;
    z-index: 1000 !important;
}
.owl-page span{
    width: 8px;
    height: 8px;
    display: block;
    background: none;
    border: 1px solid var(--color-dark-1);
    position: relative;    
    border-radius: 50%;   
    transition: var(--transition-default);
}
.owl-page.active span{    
    background: var(--color-dark-1);
    border: 1px solid var(--color-dark-1);
}

/* Features slider */

/* Logotype slider */

/* Work slider & sontent slider */

/* Team carousel */
.team-carousel.owl-carousel{
    width: calc(100% + 30px);
}
.team-carousel .owl-item{
    padding-right: 30px;
}
.team-carousel .owl-item .team-item{
    opacity: 0;
    transform: scale(.85);
    transition: all 0.5s ease;
}
.team-carousel .owl-item.active .team-item{
    opacity: 1;
    transform: scale(1);
}
.team-carousel .owl-pagination{
    display: none;
}
.team-carousel .owl-prev,
.team-carousel .owl-next{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: calc(50% - var(--team-item-descr-height) / 2);
    width: 48px;
    height: 48px;
    padding: 0;
    font-size: 24px;
    text-align: center;
    color: var(--color-dark-1);
    opacity: 1;
}
.team-carousel .owl-prev{
    left: 0;
    transform: translate(-50%, -50%);
}
.team-carousel .owl-next{
    right: 0;
    transform: translate(calc(50% - 30px), -50%);
}
.team-carousel .owl-prev:before,
.team-carousel .owl-next:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 50%;
    box-shadow: var(--box-shadow);
    transition: all 0.4s var(--ease-elastic-2);
}
.team-carousel .owl-prev:hover:before,
.team-carousel .owl-next:hover:before{
    box-shadow: var(--box-shadow-strong);
    transform: scale(1.25);
}

/* Testimonials slider 1 */

/* Testimonials slider 2 */

/* Testimonials slider 3 */

/* Owl Carousel Animation */

/*
 * Testimonials 4
 */

/*
 * Testimonials 5
 */

/*
 * Testimonials 6
 */

/*
 * Tabs
 */

/*
 * Tabs minimal
 */

/*
 * Tabs alternative
 */

/*
 * Tooltips
 */

/*
 * Alert messages
 */

/*
 * Accordion
 */

/*
 * Toggle
 */

/*
 * Accorfion style 1
 */

/*
 * Progress bars
 */

/* Alt progress bars */

/*
 * Icons examples
 */

/*
 * Morphext
 */

/* ==============================
   Skip to content link
   ============================== */
  
.skip-to-content{
    position: absolute;
    top: 3px;
    left: 3px;
    padding: 20px 40px;
    color: #ffffff;
    background: var(--color-dark-1);
    -webkit-transform: translateY(-150%);
    -moz-transform: translateY(-150%);
    transform: translateY(-150%);
    z-index:100000;
}
.skip-to-content:hover,
.skip-to-content:focus,
.skip-to-content.focus-visible{
    color: #ffffff;
    opacity: 1;
    background: #000;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
}

/* ==============================
   Cookies
   ============================== */

/* ==============================
   Intro page
   ============================== */

.banner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: url(../images/banner.jpg) 0 0;
    background-size: cover;
}

.css-only-modal {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
}
.css-only-modal.open {
  visibility: visible;
  opacity: 1;
}

.css-only-modal {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  transition: all 0.7s;
}

.modal-content {
  border-radius: 4px;
  position: relative;
  width: 920px;
  max-width: 90%;
  background: #fff;
  padding: 1em 0;
  max-height: 90vh;
  z-index: 9999;
}
.modal-content h2,
.modal-content p {
    padding: 0 30px;
}
.modal-area {
    overflow: auto;
    padding: 0 30px;
}
.modal-close {
  color: #1f063b;
  font-size: 2em;
  position: absolute;
  top: 5px;
  right: 10px;
  text-decoration: none;
  line-height: 1;
}

.desktop-nav a {
    color: #fff;
}

.body-scrolled .desktop-nav a {
    color: var(--color-gray);
}

.logo-white {
    display: block;
}
.logo-dark {
    display: none;
}

.body-scrolled .logo-dark {
    display: block;
}
.body-scrolled .logo-white {
    display: none;
}

@media (max-width: 991px) {
    .services-tabs {
        padding: 0;
    }
    .services-tabs > li {
        margin-bottom: 15px !important;
    }
}