@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-ExtraLight.woff2') format('woff2'),
        url('fonts/Manrope-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Barlow Condensed';
    src: url('fonts/BarlowCondensed-SemiBold.woff2') format('woff2'),
        url('fonts/BarlowCondensed-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

.public-sans {
    font-family: "Public Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight:normal;
    font-style: normal;
  }

:root {
    --padding: 5vw;
    --grey: #58595B;
    --gray: #58595B;
}

/* TYPOGRAPHY */
body, html {
    font-size: 16px;
    line-height: 19px;
    font-family: 'Public Sans';
    font-weight: 400;
    background: #D1D3D4 url('img/bg.svg') no-repeat center top;
    background-size: 100% auto;
    color: #58595B;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Barlow Condensed';
    font-weight: 600;
}
h1, .h1 {
    font-size: ;
    line-height: ;
}
h2, .h2 {
    font-size: 80px;
    line-height: 96px;
}
h3, .h3 {
    font-size: 40px;
    line-height: 48px;
}
h4, .h4 {
    font-size: 30px;
    line-height: 36px;
}
h5, .h5 {
    font-size: ;
    line-height: ;
}
small {
    font-size: ;
    line-height: ;
}
.elementor-button, .btn.btn-default {
    font-size: ;
    line-height: ;
}
/* END TYPOGRAPHY */

a, a:hover {
    color: inherit;
}

.navbar li a {
    font-weight: 500;
}

.navbar-brand img {
  height: 22px;
}

@media (max-width: 1680px) {
    h2, .h2 {
        font-size: calc(80px * 0.75);
        line-height: calc(96px * 0.75);
    }
    h3, .h3 {
        font-size: calc(40px * 0.75);
        line-height: calc(48px * 0.75);
    }
    h4, .h4 {
        font-size: calc(30px * 0.75);
        line-height: calc(36px * 0.75);
    }
}

@media (max-width: 1366px) {
  h2, .h2 {
      font-size: calc(80px * 0.6);
      line-height: calc(96px * 0.6);
  }
  h3, .h3 {
      font-size: calc(40px * 0.7);
      line-height: calc(48px * 0.7);
  }
  h4, .h4 {
      font-size: calc(30px * 0.7);
      line-height: calc(36px * 0.7);
  }
}

@media (min-width: 768px) and (max-width: 1060px) {
  .hide-br .elementor-heading-title br {
    display: none;
  }

}

.padding {
    padding-left: var(--padding);
    padding-right: var(--padding);
}

.padding-top {
    padding-top: var(--padding);
}
.padding-bottom {
    padding-bottom: var(--padding);
}

/* HEADER */
header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
}
.navbar {
    padding: var(--padding);
    padding-top: calc(var(--padding) * 0.75);
}
.navbar li {
    position: relative;
    margin-left: 40px;
}
.navbar li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid var(--grey);
    border-radius: 50%;
    transition: all .15s ease;
}
.navbar li a {
    padding-left: 30px;
}

.navbar li.active::before, .navbar li:hover::before {
    background: var(--grey);
    transition: all .15s ease;
}

header {
    xtransform: translateY(-0%);
    opacity: 1;
    transition: all .5s ease;
}
.nav-up header {
    xtransform: translateY(-100%);
    opacity: 0;
    transition: all .3s ease;
}
.near-product .nav-up header, .at-bottom header {
    xtransform: translateY(-0%) !important;
    opacity: 1;
    transition: all .3s ease;
}

.at-bottom .navbar li:last-child::before {
    background: var(--grey);
}
.at-bottom .navbar li:first-child::before {
    background: transparent;
}

/* END HEADER */

/* CONTENT */

.anchor {
    scroll-margin: 100px;
}

div.elementor[data-elementor-type="wp-page"] {
    padding-top: 10vw;
}

.with-point {
    margin-top: 24px;
}
.with-point::before {
    content: '';
    background: url('img/point.svg') no-repeat center center;
    height: 20px;
    width: 20px;
    background-size: contain;
    position: absolute;
    top: -20px;
    left: -20px;
    transform: scale(0);
}
.animated.with-point::before {
    transform: scale(1);
    transition: all .8s ease .3s;
}

.with-dot {
	padding-left: 30px;
}
.with-dot::before {
	content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border: 2px solid var(--grey);
    border-radius: 50%;
    transition: all .15s ease;
	background: #58595B;
}

.ovalpath-c.animated path {
    stroke-dasharray: 270; /* Approximate length of the path */
    stroke-dashoffset: 270; /* Start with the dash offset equal to the path length */
    animation: draw-line 1s ease-in-out forwards;
  }
  .ovalpath-c.animated .elementor-element:nth-child(1) path {
    animation-delay: .80s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(2) path {
    animation-delay: 1.05s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(3) path {
    animation-delay: 1.1s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(4) path {
    animation-delay: 1.15s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(5) path {
    animation-delay: 1.2s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(6) path {
    animation-delay: 1.25s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(7) path {
    animation-delay: 1.3s;
  }
  .ovalpath-c.animated .elementor-element:nth-child(8) path {
    animation-delay: 1.35s;
  }

  @keyframes draw-line {
    to {
      stroke-dashoffset: 0; /* Fully drawn line */
    }
  }

  .animated.plane-svg svg path {
    stroke-dasharray: 2000; /* Approximate length of the path */
    stroke-dashoffset: 2000; /* Start with the dash offset equal to the path length */
    animation: draw-line 2s linear forwards .3s;
  }
  .plane-svg svg {
    max-width: 100%;
    height: auto;
  }

  .plane-svg, .plane-svg svg {
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
  }

  #back-to-top {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18.707" height="10.061" viewBox="0 0 18.707 10.061"><path id="Path_1" data-name="Path 1" d="M100.685,2506.1l9-9,9,9" transform="translate(-100.331 -2496.394)" fill="none" stroke="%2358595b" stroke-miterlimit="10" stroke-width="1"/></svg>') no-repeat left center;
    padding-left: 30px;
    cursor: pointer;
    font-weight: 500;
  }

  .line {
        transform: translateY(50%);
        opacity: 0;
        transition: all .6s ease;
  }
  .line:nth-child(2) {
    transition-delay: 0.2s !important;
  }
  .line:nth-child(3) {
    transition-delay: 0.3s !important;
  }
  .line:nth-child(4) {
    transition-delay: 0.4s !important;
  }
  .line:nth-child(5) {
    transition-delay: 0.5s !important;
  }
  .line:nth-child(6) {
    transition-delay: 0.6s !important;
  }
  .line:nth-child(7) {
    transition-delay: 0.7s !important;
  }
  .line:nth-child(8) {
    transition-delay: 0.8s !important;
  }
  .line:nth-child(9) {
    transition-delay: 0.9s !important;
  }
  .line:nth-child(10) {
    transition-delay: 1.0s !important;
  }
  .line:nth-child(11) {
    transition-delay: 1.1s !important;
  }
  .line:nth-child(12) {
    transition-delay: 1.2s !important;
  }
  .line:nth-child(13) {
    transition-delay: 1.3s !important;
  }
  .line:nth-child(14) {
    transition-delay: 1.4s !important;
  }
  .line:nth-child(15) {
    transition-delay: 1.5s !important;
  }
  .animated .line {
    opacity: 1;
        transform: translateY(0%);
        transition: all 1s ease;
  }
/* END CONTENT */

.mobile { display: none; }

@media (max-width: 991.98px) {
.mobile { display: block; }
.mobile.flex { display: flex; }
.desktop { display: none; }

    :root {
        --padding: 40px;
        --grey: #58595B;
        --gray: #58595B;
    }
    .navbar-brand img {
        height: 10px;
    }
    h2, .h2 {
        font-size: 37px;
        line-height: 44px;
    }
    h3, .h3 {
        font-size: 30px;
        line-height: 36px;
    }
    h4, .h4 {
        font-size: 20px;
        line-height: 24vpx;
    }
    body, html {
        font-size: 12px;
        line-height: 14px;
        font-family: 'Public Sans';
        font-weight: 400;
        background: #D1D3D4 url('img/mbg.png') no-repeat center top;
        background-size: 100% auto;
    }
    header {    padding-top: 17vw;}
    div.elementor[data-elementor-type="wp-page"] {
        padding-top: calc(17vw + 80px);
    }
    .with-point {
        margin-left: 21px;
        margin-top: 0 !important;
    }
    .elementor-element-5011721 img, .elementor-element-4b078ce8 img {
        width: 100vw;
        max-width: 100vw;
        margin-left: -40px;
    }

    #mobile-hamburger {
        position: absolute;
        right: 40px;
    }

    #mobile-nav {
        position: fixed;
        top: calc(17vw + 80px);
        width: 100%;
        height: calc(100dvh - (17vw + 80px));
        background: rgba(255,255,255,0.9);
        z-index: 999;
        visibility: hidden;
        opacity: 0;
        transition: all .3s ease;
        display: flex
;
    flex-direction: column;
    justify-content: space-between;
    }
    .navbar.navbar-nav {align-content: flex-start;margin-top: 60px;}
    #mobile-nav .navbar li {
        font-size: 20px;
        margin-bottom: 20px;
        margin-left: 0;
        font-weight: 500;
    }

    .opened {
        position: absolute;
        top: 0;
        z-index: 1;
        visibility: hidden;
        opacity: 0;
        transition: all .3s ease;
    }

    .mobile-nav-opened #mobile-nav, .mobile-nav-opened .opened {
        transition: all .3s ease;
        visibility: visible;
        opacity: 1;
    }

    .mobile-nav-footer {
        font-size: 12px;
        padding-left: 40px;
        margin-bottom: 60px;
    }
    .copyright {
        font-size: 13px;
        margin-bottom: 25px;
    }
    .footer-menus {
        display: flex;
        gap: 30px;
    }

    .scrolled header {
        padding-top: 0;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
	header {
        padding-top: 5vw;
    }
	    div.elementor[data-elementor-type="wp-page"] {
        padding-top: calc(5vw + 130px);
    }
}