*,
::after,
::before {
  box-sizing: border-box;
}

a,
a:hover {
  text-decoration: none
}

.arrow-link-main,
.back-to-top a i,
.f-info-box-main .f-row i,
.f-logo,
.f-social ul li a i,
.header-top,
.icon-box-main i,
.logo,
.logo a,
.title-moving-outer ul {
  align-items: center;
  display: flex
}

#header.stickey,
#header.stickey-header {
  box-shadow: rgba(0, 0, 0, .16) 0 0 5px;
  background: var(--white)
}

.text-data p,
body,
h1,
h2,
h3,
h4,
h5,
h6,
html,
p,
ul {
  margin: 0;
  padding: 0
}

.circle-container,
.lenis.lenis-smooth iframe {
  pointer-events: none
}

.balt-wapper,
.mission-listing .mission-row+.mission-row {
  border-top: 2px solid #e2e2e2
}

:root {
  --black: #000;
  --white: #ffffff
}

html.lenis,
html.lenis body {
  height: auto
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain
}

.lenis.lenis-stopped,
.line_animation_wrap .line-txt {
  overflow: hidden
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

img {
  max-width: 100%;
  height: auto
}

body {
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
  font-family: Mont;
  font-weight: 400;
  color: var(--black)
}

button,
input,
select,
textarea {
  outline: 0;
  box-shadow: none;
  font-family: inherit
}

.input-text::-moz-placeholder,
.input_text::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=text]::-moz-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

.input-text::-webkit-input-placeholder,
.input_text::-webkit-input-placeholder,
input[type=search]::-webkit-input-p,
input[type=text]::-webkit-input-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

.input-text::-ms-placeholder,
.input_text::-ms-placeholder,
input[type=search]::-ms-placeholder,
input[type=text]::-ms-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

input[type=email]::-moz-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

input[type=email]::-webkit-input-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

input[type=email]::-ms-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

textarea::-moz-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

textarea::-webkit-input-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

textarea::-ms-input-placeholder {
  color: inherit;
  opacity: 1;
  font-family: inherit
}

a {
  -webkit-transition: .3s ease-in-out;
  -moz-transition: .3s ease-in-out;
  transition: .3s ease-in-out
}

#header,
.header-top {
  transition: .3s ease-in-out
}

@media (min-width:576px) {
  .container {
    width: 100%;
    max-width: 100%
  }
}

@media (min-width:768px) {
  .container {
    width: 750px;
    padding: 0 15px
  }
}

@media (min-width:992px) {
  .container {
    width: 970px
  }
}

@media (min-width:1200px) {
  .container {
    width: 1102px;
    max-width: 1102px
  }
}

@media (min-width:1420px) {
  .container {
    width: 1390px;
    max-width: 1390px
  }
}

.container {
  width: 100%;
  max-width: 100%;
  padding: 0 5.21vw
}

p+p {
  padding-top: 1.25vw
}

ul li {
  list-style: none
}

#header {
  z-index: 10;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%
}

#header.stickey-header {
  transform: translateY(-120%)
}

.header-top {
  padding: 4.68vh 0;
  justify-content: space-between
}

#header.stickey .header-top {
  padding: 2.34vh 0
}

.logo a img {
  width: 18.59vw;
  height: auto
}

.main-nav ul {
  gap: 2.29vw;
  display: flex;
  align-items: center;
  justify-content: center
}

.main-nav ul li a {
  position: relative;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--black);
  font-size: 1.04vw;
  overflow: hidden;
  display: flex
}

.clipped-image-pin,
.main-nav ul li a .text-1 {
  position: relative;
  display: block
}

.main-nav ul li a .text-2 {
  display: none;
  transform: translateY(100%);
  position: absolute;
  left: 0;
  top: 0
}

.main-nav ul li a span {
  --duration: 0.44s;
  display: block;
  -webkit-transition: -webkit-transform var(--duration) ease, -webkit-box-shadow var(--duration) ease;
  transition: -webkit-transform var(--duration) ease, -webkit-box-shadow var(--duration) ease;
  transition: transform var(--duration) ease, box-shadow var(--duration) ease;
  transition: transform var(--duration) ease, box-shadow var(--duration) ease, -webkit-transform var(--duration) ease, -webkit-box-shadow var(--duration) ease
}

@media (min-width:993px) {
  .main-nav ul li a:hover .text-1 {
    transform: translateY(-100%)
  }

  .main-nav ul li a:hover .text-2 {
    transform: translateY(0)
  }

  .main-nav ul li a .text-2 {
    display: block
  }
}

.home-section-1 {
  position: relative;
  z-index: 2;
  overflow: hidden;
  display: block;
  width: 100%
}

.banner-block-main {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 17.23vh 0 4.68vh;
  position: relative;
  height: 100vh
}

.banner-block-main .banner-text-1 {
  position: absolute;
  left: 0;
  top: 17.23vh;
  font-weight: 700;
  font-size: 5.94vw;
  text-transform: uppercase
}

.banner-block-main .banner-text-2 {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 4.68vh;
  text-align: right;
  font-weight: 700;
  font-size: 5.94vw;
  text-transform: uppercase
}

.center-image-main {
  position: relative;
  z-index: 3;
  width: 100%;
  display: block;
  max-width: 36.46vw
}

.center-image-main .banner-image {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center
}

.center-image-main .banner-image img {
  width: 100%;
  height: 42.55vh;
  object-fit: cover
}

.banner-block-main .banne-side-text-main {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  justify-content: space-between;
  display: flex
}

.balt-wapper,
.banner-block-main-outer,
.belt-wapper-inner,
.home-section-2 {
  position: relative
}

.banne-side-text-main .banner-tagline {
  font-size: 1.25vw;
  text-transform: uppercase
}

.banne-side-text-main .banner-tagline span,
.banner-tagline-block .banner-tagline span,
.certifild-text-block .certifild-text-in .section-title h2 span {
  font-weight: 700
}

.home-section-2 {
  overflow: hidden;
  display: block;
  width: 100%;
  padding: 3.33vw 0 0
}

.why-calci-block {
  padding: 0 0 12.6vw;
  display: flex;
  align-items: flex-start;
  gap: 4.48vw
}

.about-section-2 .counter-box.full-box,
.infra-block-main .infra-img,
.infra-block-main .infra-left,
.infra-block-main .infra-right,
.input-wrapper .input-row:hover::after,
.why-calci-block .left-colum,
.why-calci-block .right-colum {
  width: 100%
}

.why-calci-block .left-colum h2 {
  padding: 0 0 1.25vw;
  line-height: normal;
  font-size: 5vw;
  font-weight: 700;
  text-transform: uppercase
}

.why-calci-block .left-colum h2 span {
  white-space: nowrap;
  display: block;
  width: 100%;
  padding: 1.04vw 0 0 4.17vw
}

.text-data p {
  line-height: 1.5;
  font-size: 1.25vw
}

.counter-block {
  gap: 2.29vw;
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 3.33vw 0 0
}

.counter-box {
  width: 100%;
  display: block
}

.balt-wapper,
.belt-wapper-inner ul,
.why-calci-block .left-colum .banner-arrow {
  display: flex
}

.counter-box .big-text {
  padding: 0 0 1.67vw;
  margin: 0 0 1.67vw;
  border-bottom: 2px solid #e2e2e2;
  font-size: 3.33vw;
  text-transform: uppercase;
  font-weight: 700
}

.counter-box .count-text {
  line-height: 1.5;
  font-size: 1.25vw
}

.banner-block-main-outer .banner-arrow a,
.banner-tagline-block .banner-arrow a,
.why-calci-block .left-colum .banner-arrow a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.33vw;
  height: 3.33vw
}

.banner-block-main-outer .banner-arrow a img,
.banner-tagline-block .banner-arrow a img,
.why-calci-block .left-colum .banner-arrow a img {
  width: 1.41vw;
  height: auto
}

.balt-wapper {
  border-bottom: 2px solid #e2e2e2;
  padding: 2.29vw 0;
  margin-bottom: 4.58vw;
  overflow: hidden
}

.about-section-2,
.contact-section-2,
.infrastucher-section,
.mission-section,
.product-section {
  padding: 3.33vw 0
}

.marquee {
  -webkit-animation: 35s linear infinite marquee;
  animation: 35s linear infinite marquee
}

.marquee2 {
  -webkit-animation: 35s linear infinite marquee2;
  animation: 35s linear infinite marquee2;
  position: absolute;
  top: 0
}

@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translate(-100%)
  }
}

@keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translate(-100%)
  }
}

@-webkit-keyframes marquee2 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translate(100%)
  }

  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

@keyframes marquee2 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translate(100%)
  }

  to {
    -webkit-transform: translateX(0);
    transform: translate(0)
  }
}

.belt-wapper-inner .tagline {
  text-transform: uppercase;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1;
  color: #241f19;
  font-size: 3.33vw;
  padding: 0 2.6vw;
  position: relative
}

.belt-wapper-inner .tagline::after {
  width: .63vw;
  height: .63vw;
  border-radius: 100px;
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #000
}

.product-section,
.products-block-main .right-col .product-image {
  position: relative;
  display: block;
  width: 100%
}

.circle-container {
  overflow: hidden;
  display: flex;
  position: absolute;
  margin: 0 0 -4.5vw;
  bottom: 100%;
  height: calc(100vh + 2.5vw);
  display: flex;
  align-items: flex-end;
  left: 0;
  width: 100%;
  justify-content: center
}

.expanding-circle {
  width: 5vw;
  height: 5vw;
  background: #524b3b;
  display: flex;
  border-radius: 100%
}

.certifild-section,
.product-section {
  background: linear-gradient(to bottom, #524b3b 0, #35342f 100%)
}

.products-block-main {
  justify-content: space-between;
  display: flex;
  align-items: flex-start;
  width: 100%
}

.products-block-main .left-col,
.products-block-main .right-col {
  width: 43.23vw
}

.section-title h1,
.section-title h2 {
  line-height: normal;
  font-size: 5vw;
  font-weight: 700;
  text-transform: uppercase
}

.section-title h2 span {
  display: inline;
  font-weight: 300
}

.section-title h1 span {
  display: block;
  font-weight: 300
}

.contact-form .checklist .check-box input:checked+label,
.products-block-main .right-col .text-data p,
.section-title.white .text-data p,
.section-title.white h2 {
  color: var(--white)
}

.casting-text-block .text-data,
.section-title .text-data {
  padding: 1.25vw 0 0
}

.products-block-main .left-col .arrow-link-main {
  margin: 3.33vw 0 0
}

.arrow-link-main a {
  filter: brightness(0) invert(1);
  gap: .83vw;
  display: flex;
  align-items: center;
  line-height: 1.5;
  font-size: 1.25vw;
  color: var(--white);
  text-transform: uppercase
}

.arrow-link-main a .arrow-link {
  overflow: hidden;
  width: 1.67vw;
  height: 1.67vw;
  position: relative;
  display: flex;
  align-items: center
}

.arrow-link-main a .arrow-link img.border-s,
.banner-arrow-2 a .arrow-icon img.border-s,
.contact-form .submit-btn button .arrow-link img.border-s,
.ct-arrow a .arrow-link img.border-s {
  transition: .3s ease-in-out;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  object-fit: cover
}

.arrow-link-main a:hover .arrow-link img.border-s {
  animation: .8s cubic-bezier(.2, .8, .2, 1) forwards zoomInOut;
  will-change: transform
}

@keyframes zoomInOut {

  0%,
  100% {
    transform: scale(1)
  }

  40% {
    transform: scale(.8)
  }
}

.arrow-link-main a .arrow-link span,
.banner-arrow-2 a .arrow-icon span,
.contact-form .submit-btn button .arrow-link span,
.ct-arrow a .arrow-link span {
  transition: .3s ease-in-out;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center
}

.arrow-link-main a .arrow-link span img {
  width: .83vw;
  height: auto
}

.arrow-link-main a .arrow-link span.arrow-2 {
  transform: translateX(-100%)
}

.arrow-link-main a .arrow-link img.arrow-1,
.banner-arrow-2 a .arrow-icon arrow-1,
.contact-form .submit-btn button .arrow-link arrow-1,
.ct-arrow a .arrow-link arrow-1 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto
}

.arrow-link-main a:hover .arrow-link span.arrow-2,
.contact-form .checklist .check-box input:checked+label::after {
  transform: none
}

.arrow-link-main a:hover .arrow-link span.arrow-1 {
  transform: translateX(100%)
}

.products-block-main .right-col .product-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--white);
  padding: 0 0 1.25vw;
  font-size: 1.35vw
}

.products-block-main .right-col .product-image>img {
  width: 100%;
  display: block;
  height: auto
}

.products-block-main .right-col .product-image .arrow-link-main {
  background: #3e3b32;
  width: 6.46vw;
  height: 6.46vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  bottom: 0
}

.arrow-link-main.only-arrow a .arrow-link {
  width: 2.4vw;
  height: 2.4vw
}

.arrow-link-main.only-arrow a .arrow-link span img {
  width: 1vw
}

.products-block-main .right-col .product-info {
  padding: 1.25vw 0 0;
  display: block
}

.products-block-main .right-col .product-info h3 {
  padding: 0 0 .83vw;
  font-size: 1.67vw;
  font-weight: 700;
  color: var(--white)
}

.mission-section .balt-wapper {
  padding: 5vw 0;
  border: 0
}

.mission-section .balt-wapper ul li:nth-child(2n+0) .tagline,
.title-moving-outer ul li span {
  font-weight: 300
}

.infra-row-listing .infra-row,
.mission-listing {
  display: block;
  width: 100%
}

.mission-listing .mission-row {
  position: relative;
  width: 100%;
  padding: 3.33vw 0;
  display: flex;
  align-items: flex-start
}

.mission-listing .mission-row .count {
  font-size: 1.67vw;
  font-weight: 700;
  width: 11.67vw;
  display: block
}

.mission-listing .mission-row h5 {
  font-size: 1.67vw;
  font-weight: 700;
  width: 33.85vw
}

.mission-listing .mission-row .right-text {
  width: 43.91vw;
  margin-left: auto
}

.mission-listing .mission-row .right-text h6 {
  color: #a2a2a2;
  font-size: 1.25vw;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
  padding: 0 0 .63vw
}

.mission-listing .mission-row .img {
  opacity: 0;
  transition: .5s ease-in-out;
  z-index: 5;
  position: absolute;
  left: 30.57vw;
  top: 50%;
  transform: translateY(-50%)
}

.mission-listing .mission-row .img span {
  width: 13.02vw;
  height: 13.02vw;
  position: relative;
  display: flex;
  overflow: hidden;
  border-radius: 100%
}

.mission-listing .mission-row .img span img,
.sand-box-main .img img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.check-box-2 input:checked+label::before,
.mission-listing .mission-row:hover .img {
  opacity: 1
}

.text-fade {
  opacity: 0;
  -webkit-transform: translateY(5rem);
  transform: translateY(5rem);
  -webkit-transition: .8s cubic-bezier(.25, .46, .45, .94) .2s;
  transition: .8s cubic-bezier(.25, .46, .45, .94) .2s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity, -webkit-transform
}

.text-fade.animated {
  opacity: 1;
  -webkit-transform: none !important;
  transform: none !important
}

.line_animation_wrap .line-txt span>div,
.line_animation_wrap .line-txt>div {
  opacity: 1 !important
}

.send-section {
  z-index: 2;
  width: 100%;
  display: block;
  position: relative
}

.send-section .bg {
  overflow: hidden;
  z-index: 2;
  height: 100vh;
  width: 100%;
  display: block;
  position: relative
}

.send-section .bg::after {
  background: linear-gradient(to bottom, rgba(80, 73, 58, 0) 0, #35342f 100%);
  width: 100%;
  height: 100%;
  z-index: 3;
  position: absolute;
  left: 0;
  top: 0;
  content: ''
}

.send-section .bg img {
  z-index: 2;
  height: 120vh;
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: -10vh;
  object-fit: cover
}

.send-section .send-over-text {
  z-index: 5;
  position: absolute;
  left: 0;
  bottom: 3.33vw;
  width: 100%
}

.send-section .section-title h2 {
  font-size: 4.27vw
}

.list-rotator-wrapper {
  position: relative;
  display: block;
  padding: 3.33vw 0;
  max-width: 1000% !important;
  width: 100% !important;
  height: 300vh;
  overflow: hidden
}

.list-rotator-title h6 {
  text-align: center;
  font-size: 1.67vw;
  font-weight: 700;
  padding: 0 0 .83vw;
  text-transform: uppercase
}

.list-rotator-title .text-data p {
  text-align: center
}

.list-rotator-height {
  position: absolute;
  top: -100vh;
  left: 0;
  width: 100%;
  height: 400vh;
  display: flex;
  justify-content: center;
  pointer-events: none
}

.casting-section-main,
.list-rotator,
.list-rotator-pin {
  height: 100vh;
  width: 100%;
  position: relative
}

.list-rotator-pin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-perspective: 10000px;
  perspective: 10000px;
  -webkit-mask-image: -webkit-linear-gradient(transparent 25%, black 40%, black 60%, transparent 75%);
  mask-image: linear-gradient(transparent 25%, black 40%, black 60%, transparent 75%)
}

.list-rotator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%
}

.list-rotator li {
  color: #000;
  list-style: none;
  position: absolute;
  width: 100%;
  text-align: center;
  font-size: 4vw;
  line-height: 1.2;
  font-weight: 700;
  top: 50%;
  margin: 0;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.list-rotator li em {
  font-style: normal;
  font-weight: 400
}

.casting-section-main {
  padding: 3.33vw 0;
  display: flex;
  align-items: center
}

.casting-text-block {
  max-width: 57.29vw;
  margin: 0 auto;
  width: 100%;
  display: block;
  text-align: center
}

.casting-text-block h2 {
  font-size: 5.21vw;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center
}

.casting-section-main .round-shape {
  position: absolute;
  left: 0;
  top: 0;
  width: 13.54vw
}

.casting-section-main .round-shape span {
  display: flex;
  width: 100%;
  height: 13.54vw;
  border-radius: 100%;
  overflow: hidden;
  position: relative
}

.casting-section-main .round-shape span img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover
}

.casting-section-main .round-shape.left-align {
  left: 1.56vw;
  bottom: 6.77vw;
  top: auto
}

.casting-section-main .round-shape.right-align {
  left: auto;
  right: 1.56vw;
  top: 6.77vw
}

.casting-section-main .round-shape.left-align span {
  animation: 20s ease-in-out infinite floaty
}

.casting-section-main .round-shape.right-align span {
  animation: 20s ease-in-out infinite floaty2
}

@keyframes floaty {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-50vh)
  }
}

@keyframes floaty2 {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(50vh)
  }
}

@keyframes floaty3 {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-20vh)
  }
}

@keyframes floaty4 {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(20vh)
  }
}

.certifild-section {
  position: relative;
  display: block;
  padding: 3.33vw 0
}

.certificate-block-main,
.certificate-block-main .certi-box .img,
.certifild-text-block {
  display: flex;
  width: 100%
}

.certifild-text-block {
  position: sticky;
  top: 0;
  padding: 8.85vw 0;
  align-items: center
}

.certifild-text-block .certifild-text-in {
  position: relative;
  z-index: 5;
  width: 100%
}

.certificate-block-main {
  align-items: flex-start;
  gap: 11.46vw;
  justify-content: center;
  position: relative;
  z-index: 6;
  padding-top: 10.42vw
}

.certificate-block-main .certi-box {
  width: 31.25vw;
  display: block
}

.certificate-block-main .certi-box .img img,
.infra-block-main .infra-img img {
  width: 100%;
  display: flex;
  height: auto
}

.certi-box .certi-box-sub {
  display: block;
  padding: .83vw 0 0
}

.certi-box .certi-box-sub h6 {
  color: var(--white);
  font-size: 1.25vw;
  font-weight: 700
}

.certi-box .certi-box-sub .date {
  color: var(--white);
  padding: .31vw 0 0;
  font-size: .94vw
}

.certificate-block-main .certi-box:first-child {
  margin-top: 10.42vw
}

.has-mask-fill>span {
  position: relative;
  display: inline;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.1);
  -webkit-background-clip: text;
  background-repeat: no-repeat;
  background-size: 0 100%;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.1);
  background-image: linear-gradient(#fff, #fff)
}

.infra-block-main {
  display: flex;
  gap: 3.33vw;
  align-items: stretch
}

.infra-block-main .infra-left {
  display: flex;
  justify-content: space-between;
  flex-direction: column
}

.infra-block-main .infra-left h4 {
  font-size: 2.81vw;
  font-weight: 700;
  text-transform: uppercase
}

.infra-block-main .infra-right {
  display: flex;
  align-items: center;
  justify-content: center
}

.infra-row-listing .infra-row h6 {
  padding: 0 0 .31vw;
  font-size: 1.25vw;
  font-weight: 700
}

.infra-row-listing .infra-row p {
  font-size: .94vw;
  line-height: normal
}

.infra-row-listing .infra-row+.infra-row {
  margin-top: 1.67vw;
  padding-top: 1.67vw;
  border-top: 2px solid #e2e2e2
}

.contact-section {
  padding: 3.33vw 0 6.46vw
}

.contact-block h6 {
  font-size: 1.67vw;
  text-transform: uppercase;
  padding: 0 0 1.04vw
}

.contact-block .contact-sub,
.footer-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between
}

.contact-block .contact-sub .ct-title h2 {
  font-size: 5vw;
  text-transform: uppercase;
  font-weight: 700
}

.contact-block .contact-sub .ct-title h2 span {
  white-space: nowrap;
  display: block;
  width: 100%;
  padding: 1.04vw 0 0 8.33vw
}

.ct-arrow a {
  display: flex;
  position: relative
}

.contact-form .submit-btn button .arrow-link,
.ct-arrow a .arrow-link {
  overflow: hidden;
  width: 6.77vw;
  height: 6.77vw;
  position: relative;
  display: flex;
  align-items: center
}

.banner-arrow-2 a:hover .arrow-icon img.border-s,
.contact-form .submit-btn button:hover .arrow-link img.border-s,
.ct-arrow a:hover .arrow-link img.border-s {
  transform: scale(.75)
}

.ct-arrow a .arrow-link span img {
  width: 3.13vw;
  height: auto
}

.banner-arrow-2 a:hover .arrow-icon .arrow-1,
.contact-form .submit-btn button:hover .arrow-link .arrow-1,
.ct-arrow a:hover .arrow-link .arrow-1 {
  transform: rotate(-45deg)
}

#footer {
  padding: 0 0 3.33vw
}

.footer-top {
  justify-content: space-between;
  padding: 2.29vw 0 5.52vw;
  border-top: 1px solid #e2e2e2;
  display: flex;
  align-items: flex-start
}

.footer-top h5 {
  padding: 0 0 .83vw;
  text-transform: uppercase;
  display: block;
  font-size: 1.04vw;
  font-weight: 700
}

.f-link ul,
.f-social ul {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: .83vw
}

.f-info-box-main .f-row span a,
.f-link ul li a {
  color: var(--black);
  font-size: .94vw;
  font-weight: 400
}

.back-to-top a:hover,
.f-info-box-main .f-row span a:hover,
.f-link ul li a:hover,
.f-social ul li a:hover,
.footer-bottom-right .by-text a:hover,
.icon-box-main .link a:hover {
  opacity: .5
}

.contact-top-right {
  display: flex;
  align-items: flex-start;
  gap: 6.25vw
}

#footer .box-1 {
  width: 25vw
}

#footer .box-2 {
  width: 6.67vw
}

#footer .box-3 {
  margin-left: 2.29vw;
  width: 6.67vw
}

.footer-bottom-right {
  display: flex;
  align-items: flex-end;
  gap: 6.25vw
}

.f-info-box-main {
  display: flex;
  flex-direction: column;
  gap: .83vw
}

.f-info-box-main .f-row,
.f-social ul li a {
  gap: .52vw;
  display: flex;
  align-items: center
}

.back-to-top a,
.footer-bottom-right .by-text {
  font-size: .94vw;
  gap: 5px;
  white-space: nowrap;
  line-height: 1.3
}

.back-to-top a i img,
.f-info-box-main .f-row i img,
.f-social ul li a i img {
  min-width: 1.25vw;
  height: auto
}

.f-info-box-main .f-row a:hover span {
    text-decoration: underline;
    color: #000;
}

.f-info-box-main .f-row span {
  color: var(--black);
  font-size: .94vw;
  line-height: 1.25vw;
  font-weight: 400;
  width: calc(100% - .52vw - 1.25vw)
}

.f-social ul li a {
  color: var(--black);
  font-size: .94vw;
  font-weight: 400
}

.f-logo a,
.f-logo a img {
  align-items: center;
  display: flex
}

.f-logo a {
  width: 18.59vw
}

.f-logo a img {
  height: auto;
  width: 100%
}

.footer-bottom-right .copyright {
  font-size: .94vw;
  line-height: 1.3;
  display: flex
}

.footer-bottom-right .by-text {
  display: flex
}

.f-logo.mobile-show,
.menu-icon,
.sand-slider-block.mobile-show {
  display: none
}

.footer-bottom-right .by-text a {
  color: var(--black);
  text-decoration: underline
}

.back-to-top a {
  display: flex;
  color: var(--black)
}

.products-block-main {
  opacity: 0;
  transform: translateY(100px)
}

.menu-icon {
  position: relative;
  right: 0;
  margin: 0;
  top: 0
}

.menu-icon a {
  background: linear-gradient(to bottom, #524b3b 0, #35342f 100%);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 40px
}

.menu-icon a .line-main {
  top: 2px;
  flex-direction: column;
  gap: 3px;
  width: 14px;
  min-height: 12px;
  display: flex;
  position: relative
}

.menu-icon a .line-main i {
  position: relative;
  transition: transform 250ms cubic-bezier(.2, .6, .3, 1), width 250ms cubic-bezier(.2, .6, .3, 1);
  width: 100%;
  height: 1px;
  border-radius: 4px;
  background: var(--white)
}

.menu-icon a.active .line-main i.line-2 {
  opacity: 0
}

.menu-icon a.active .line-main i.line-1 {
  transform: rotate(45deg);
  top: 4px
}

.menu-icon a.active .line-main i.line-3 {
  transform: rotate(-45deg);
  top: -4px
}

.banner-block-main-outer .banner-arrow {
  position: absolute;
  left: 0;
  bottom: 4.68vh
}

.inner-banner-outer {
  padding: 8.7vw 0 0
}

.inner-banner-text {
  width: 100%;
  text-align: center
}

.inner-banner-text .text-data {
  max-width: 42.71vw;
  margin: 0 auto;
  display: block
}

.clipped-image-wrapper {
  position: relative;
  display: block;
  width: 100% !important;
  overflow: hidden
}

.clipped-image-size {
  width: 100%;
  height: 100%;
  position: relative;
  display: block
}

.clipped-image {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100vh;
  display: block;
  overflow: hidden;
  clip-path: inset(0% 30% 0% 30%);
  -webkit-transform: scale(.8);
  transform: scale(.8)
}

.clipped-image img {
  width: 100%;
  height: 100% !important;
  position: relative;
  display: block;
  z-index: 0;
  object-position: center;
  object-fit: cover
}

.clipped-image-gradient {
  position: absolute;
  height: 30%;
  width: 100%;
  bottom: 0;
  opacity: 0;
  background-color: #000;
  z-index: 10;
  -webkit-mask-image: linear-gradient(transparent, black 85%);
  mask-image: linear-gradient(transparent, black 85%);
  min-height: 100%
}

.clipped-image-content {
  position: relative;
  width: 100%;
  height: auto;
  padding-bottom: 1.04vw;
  margin: 0 auto;
  z-index: 10
}

.marquee-text-wrapper,
.title-moving-outer {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 1000% !important;
  width: 100vw !important
}

.title-moving-backward,
.title-moving-forward {
  clear: both;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  padding: 0 6vw;
  box-sizing: border-box
}

.marquee-text-wrapper {
  white-space: nowrap
}

.marquee-text {
  font-weight: 500;
  display: inline-block;
  color: #000
}

.marquee-text:before {
  content: '.';
  color: transparent
}

.dark-section .rolling-text,
.light-content .marquee-text {
  color: #fff
}

.light-content .light-section .marquee-text {
  color: #000
}

.big-title {
  font-size: calc(1rem + 4.15vw);
  line-height: calc(1rem + 4.5vw)
}

.content-video-wrapper {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0;
  overflow: hidden !important;
  z-index: 1
}

.content-video-wrapper video.bgvid,
.hero-video-wrapper video.bgvid {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  object-fit: cover;
  width: 100%;
  height: 100%
}

.inner-banner-outer {
  z-index: 3;
  position: relative
}

.title-moving-outer ul li {
  line-height: 1.3;
  font-weight: 700;
  padding: 0 2.29vw;
  position: relative;
  text-transform: uppercase;
  font-size: 3.33vw;
  color: var(--white)
}

.title-moving-outer ul li::after {
  width: .63vw;
  height: .63vw;
  border-radius: 100px;
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  background: var(--white)
}

.inner-banner-2 {
  z-index: 2;
  overflow: hidden;
  position: relative;
  display: block;
  width: 100%
}

.banner-side-text {
  position: absolute;
  height: 100vh;
  display: flex;
  align-items: flex-end;
  padding: 0 0 2.29vw;
  left: 0;
  top: 0;
  width: 100%
}

.banner-tagline-block {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.banner-tagline-block .banner-tagline {
  font-weight: 400;
  font-size: 1.25vw;
  text-transform: uppercase
}

.banner-tagline-block .banner-arrow {
  position: relative;
  z-index: 100;
  display: flex
}

.contact-section-1,
.sand-section {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  padding: 3.33vw 0
}

.sand-section .section-title h2 span {
  padding: 1.04vw 0 0 3.96vw;
  font-weight: 700;
  display: block
}

.sand-lsiting {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-wrap: wrap
}

.sand-box-main {
  width: 26.04vw
}

.sand-box-main .img {
  position: relative;
  display: flex;
  width: 100%;
  aspect-ratio: 5/6
}

.sand-box-main h4 {
  padding: .83vw 0 .31vw;
  font-size: 1.25vw;
  font-weight: 700
}

.sand-box-main p {
  font-size: .94vw;
  line-height: 1.35
}

.sand-lsiting .sand-box-main:first-child {
  margin-top: 9.69vw;
  margin-right: auto
}

.sand-lsiting .sand-box-main:nth-child(2) {
  margin-right: 16.67vw
}

.sand-lsiting .sand-box-main:nth-child(3) {
  margin-left: 17.19vw;
  margin-right: auto;
  margin-top: 6.3vw
}

.sand-lsiting .sand-box-main:nth-child(4) {
  margin-top: -5vw
}

.sand-lsiting .sand-box-main:nth-child(5) {
  margin-top: -1.77vw;
  margin-right: 5.73vw
}

.about-section-2 .counter-block {
  row-gap: 3.33vw;
  flex-wrap: wrap
}

.about-section-2 .counter-box {
  width: calc(50% - 1.2vw)
}

.about-section-2 .counter-box.full-box .big-text {
  font-size: 5vw
}

.about-section-2 .why-calci-block {
  padding: 0
}

.sand-slider-blk .swiper-slide {
  width: 327px
}

.contact-banner .banner-tagline-block .banner-arrow-2 {
  display: flex;
  position: relative;
  z-index: 100;
  margin-left: auto
}

.banner-arrow-2 a {
  font-size: 1.04vw;
  line-height: 1.4;
  color: var(--black);
  font-weight: 600;
  text-transform: uppercase;
  gap: 1.46vw;
  align-items: center;
  display: flex;
  position: relative
}

.banner-arrow-2 a .arrow-icon {
  overflow: hidden;
  width: 3.13vw;
  height: 3.13vw;
  position: relative;
  display: flex;
  align-items: center
}

.banner-arrow-2 a .arrow-icon span img {
  transform: rotate(45deg);
  width: 1.35vw;
  height: auto
}

.contact-section-1 .section-title h2 span {
  padding: 1.04vw 0 0 2.4vw;
  font-weight: 700;
  display: block
}

.sand-section-top .row {
  margin: 0 -1.67vw
}

.sand-section-top .row>* {
  padding: 0 1.67vw
}

.sand-section-top .row>.col-md-6 {
  width: 48%
}

.sand-section-top .row>.col-md-6:first-child {
  width: 52%
}

.inner-banner-outer.contact-banner .section-title h1 {
  text-align: left
}

.inner-banner-outer.contact-banner .section-title h1 span {
  padding: 1.04vw 0 0 5.21vw;
  font-weight: 700
}

.inner-banner-outer.contact-banner .inner-banner-text .text-data {
  padding: 3.33vw 0 0;
  text-align: left;
  margin: 0 0 0 auto;
  width: 70%;
  max-width: 100%
}

.contact-icon-block {
  gap: 4.58vw;
  flex-wrap: wrap;
  padding: 3.33vw 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between
}

.icon-box-main {
  position: relative;
  gap: .83vw;
  display: flex;
  flex-direction: column;
  width: calc(25% - 3.435vw)
}

.icon-box-main i img {
  width: 2.81vw;
  height: auto;
  display: flex
}

.icon-box-main h6 {
  font-weight: 700;
  font-size: 1.25vw
}

.icon-box-main p {
  font-size: 1.04vw;
  font-weight: 400
}

.icon-box-main .link {
  font-size: 1.04vw;
  font-weight: 600;
  color: var(--black)
}

.icon-box-main .link a {
  text-decoration: underline;
  color: var(--black)
}

.icon-box-main+.icon-box-main::after {
  width: 2px;
  height: 4.17vw;
  content: '';
  background: #e2e2e2;
  position: absolute;
  left: -2.29vw;
  top: 50%;
  transform: translateY(-50%)
}

.contact-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

.contact-form-inner {
  padding: 2.29vw 0 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  
}

.contact-form-inner .contact-left-colum {
  width: 100%;
}

.form-row-checkbox h4 {
  padding: 0 0 1.29vw;
  line-height: 1.31;
  font-size: 3.5vw;
  color: #000;
  font-weight: 600;
  display: block;
  width: 100%
}

.contact-form .checklist {
  display: flex;
  flex-wrap: wrap;
  gap: 0.83vw
}

.contact-form .checklist .check-box {
  position: relative;
  display: flex
}

.check-box-2 input,
.contact-form .checklist .check-box input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0
}

.contact-form .checklist .check-box label {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 3vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5vw;
  width: auto;
  border: 1px solid #A2A2A2;
  border-radius: 300px;
  font-size: 1vw;
  line-height: 1;
  color: var(--black)
}

.check-box-2 label::after,
.check-box-2 label::before {
  width: 1.25vw;
  height: 1.25vw;
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid #A2A2A2;
  content: ''
}

.contact-form .checklist .check-box label span {
  transition: .3s ease-in-out;
  position: relative;
  z-index: 3
}

.contact-form .checklist .check-box label::after {
  width: 100%;
  background: linear-gradient(to bottom, #524b3b 0, #35342f 100%);
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  transition: .5s ease-in-out;
  content: '';
  transform: translateY(103%)
}

.input-wrapper .input-row {
  margin: 0 0 0vw;
  position: relative;
  width: 100%;
  display: block
}

.input-wrapper .input-row .input-text {
  height: 3vw;
  color: var(--black);
  width: 100%;
  font-size: 2vw;
  display: flex;
  align-items: center;
  border: 0
}

.check-box-2,
.check-box-2 label {
  align-items: center;
  position: relative;
  display: flex
}

.input-wrapper .input-row .input-text::placeholder {
  color: #A2A2A2;
  opacity: 1;
}

.input-wrapper .input-row::after {
  width: 0;
  transition: .4s cubic-bezier(.76, 0, .24, 1);
  height: 2px;
  background: #A2A2A2;
  content: '';
  position: absolute;
  left: 0;
  bottom: 0
}

.input-wrapper .input-row textarea.input-text {
  resize: none;
  height: 6vw
}

.check-box-2 label {
  font-weight: 500;
  font-size: .83vw;
  min-height: 1.25vw;
  width: auto;
  padding: 0 0 0 2.08vw;
  cursor: pointer
}

.check-box-2 label::before {
  transition: .3s ease-in-out;
  background: url(../images/checklist.svg) center center/1vw auto no-repeat;
  opacity: 0
}
.contact-right-colum{ width: 100%; display: flex ;align-items: center; justify-content: center; padding: 2vw 0 0 0;}

.contact-form .submit-btn button {
  display: flex;
  align-items: center;
  position: relative;
  border: 0;
  background: 0 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 3vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5vw;
  width: auto;
  border: 1px solid transparent;
  border-radius: 300px;
  font-size: 1vw;
  line-height: 1;
  color: var(--white)
}

.contact-form .submit-btn button::after {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  border: 1px solid #A2A2A2;
  content: '';
  transform: translateY(0);
  transition: all 0.3s ease-in-out;
  background: linear-gradient(to bottom, #524b3b 0, #35342f 100%);
}
.contact-form .submit-btn button span{ position: relative; z-index: 3; }
.contact-form .submit-btn button:hover::after{ transform: translateY(-103%); }
.contact-form .submit-btn button:hover{border: 1px solid #A2A2A2; color: var(--black);}



.contact-form .submit-btn button .arrow-link span img {
  transform: rotate(-90deg);
  width: 3.13vw;
  height: auto
}


.recaptcha-wrapper {
  padding: 2vw 0 0 0;
}

.contact-form .recaptcha-error,
.contact-form .error-message {
  margin: 0;
  padding: 0.5vw 0 0 0;
  font-size: 0.8vw;
}

.input-row-mn {
  margin: 0 0 1.25vw;
}


.input-wrapper .input-row .input-text {
    border-bottom: 1px solid #dbdbdb !important;
}

.input-wrapper .input-row::after {
    background: #000000;
}

.contact-map-block iframe{ width: 100%; min-height: 300px; height: 23.44vw;}
.lab-section  .section-title h2{ text-align: center; }
.lab-section{ padding: 2.29vw 0; display: block; width: 100%; overflow: hidden;}
.lab-listing-main{ padding: 2.29vw 1.67vw 0 1.67vw; display: block; width: 100%; }
.lab-listing-main .lab-listing-inner{ padding: 0; display: flex;   flex-wrap: nowrap;}
.lab-box-main{  min-width:  31.25vw; width: 31.25vw; }
.lab-box-main .img {width: 100%; display: flex; aspect-ratio: 600 / 436; position: relative;}
.lab-box-main .img img{ position: absolute; left:0 ; top: 0; width: 100%; height: 100%; object-fit: cover; }
.lab-box-main .lab-box-sub{ display: block; width: 100%; padding: 1.25vw  0 0 0 ;}
.lab-box-main .lab-box-sub h4{ padding: 0 0 0.63vw;  font-family: 'Mont'; color: #000; font-size: 1.67vw; font-weight: bold;}
.lab-box-main .lab-box-sub p{ font-size: 1.25vw; line-height: 1.5;}
.lab-box-main { margin-right:1.67vw ; }
.lab-box-main:last-child{margin-right:3.67vw ; }

.f-info-box-main .f-row i img {width: 1.25vw;}
.singup-page{ padding-top:12vw; }

.singup-page .form-row-checkbox p{line-height: 1.5;font-size: 1.25vw;}