::-webkit-scrollbar {
  width: 0;  /* Remove scrollbar space */
  background: transparent;  /* Optional: just make scrollbar invisible */
}
/* Optional: show position indicator in red */
::-webkit-scrollbar-thumb {
  background: #000;
}
@font-face {
    font-family: 'Cyberpunk';
    font-style: normal;
    font-weight: normal;
    src: local('Cyberpunk'), url('../fonts/Cyberpunk.otf') format('woff');
}
@font-face {
    font-family: 'HolidayFree';
    font-style: normal;
    font-weight: normal;
    src: local('HolidayFree'), url('../fonts/HolidayFree.otf') format('woff');
}
:root .head:hover,
a:focus {
  text-decoration: none !important;
}
a:focus,
a:visited {
  text-decoration: none;
  outline: 0;
}
button:focus {
  outline: 0 !important;
  color: #fff !important;
}
button:visited {
  outline: 0 !important;
  color: #fff;
}

body,
html {
  width: 100%;
  height: 100%;
  transition: 0.2s linear;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}
.fixed{
    position:fixed;
    overflow:hidden;
}
/*loader*/
/*PRELOADING------------ */
#overlayer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #141414;
  z-index: 99999;
  overflow:hidden;
}
.loader {
  display: inline-block;
  width: 38px;
  height: 38px;
  position: absolute;
  z-index:999999;
  border: 5px solid #Fff;
  top: 46%;
  left: 50%;
  animation: loader 2s infinite ease;
}

.loader-inner {
  vertical-align: top;
  display: inline-block;
  width: 100%;
  background-color: #FEFF00;
  animation: loader-inner 2s infinite ease-in;
}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  
  25% {
    transform: rotate(180deg);
  }
  
  50% {
    transform: rotate(180deg);
  }
  
  75% {
    transform: rotate(360deg);
  }
  
  100% {
    transform: rotate(360deg);
  }
}

@keyframes loader-inner {
  0% {
    height: 0%;
  }
  
  25% {
    height: 0%;
  }
  
  50% {
    height: 100%;
  }
  
  75% {
    height: 100%;
  }
  
  100% {
    height: 0%;
  }
}
/*end loader*/


.bg-video-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    background: url(../images/video-bg.webp) no-repeat center center/cover;
    top: 0px;
  }
  video {
    min-width: 100%;
    min-height: 101vh;
    z-index: 1;
  }
  .overlay {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(25,25,25,.55);
    z-index: 2;
    bottom: 0px;
  }
  header{
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 31;
    max-width: 1280px;
    width: 100%;
    height: 50px;
  }
  .first-fold{
    position: absolute;
    top: 0px;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 3;
    width: 100%;
  }
  header nav a{
    color:#FEFF00;
    font-size: 12px;
    font-weight: 400;
    margin-left: 15px;
    font-family: 'Inter', sans-serif;
    line-height: 17px;
  }
  header nav a:hover{
    cursor: pointer;
    color: #fff;
    text-decoration: underline;
    text-underline-position: under;
  }
  header nav a:focus{
    color: #FEFF00 !important;
  }
  header nav a.contact{
    background-color: #27270f;
    padding:9px 19px;
    color:#feff00;
    text-decoration: none;
    width: 100px;
  }
  header nav a.contact:hover{
    background-color: #fff;
    padding:8px 18px;
    color:#27270f !important;
    border:1px solid #27270f;
  }
  header nav a.contact:focus{
    background-color: #27270f;
    padding:9px 19px;
    color:#feff00 !important;
    text-decoration: none;
  }
  .first-fold h2{
    font-family: 'Cyberpunk';
  }
  .first-fold p{
    font-family: 'Inter', sans-serif;
  }
  .first-fold p span, .about-section h3{
    font-family: 'HolidayFree';
  }
  .first-fold h1, .about-section h2, .about-section p, .about-section h5{
    font-family: 'Inter', sans-serif;
  }
  .about-section a.resume{
    background-color: #27270f;
    padding:9px 1px;
    color:#FEFF00 !important;
    width: 130px;
    text-decoration: none;
    text-align: center;
    margin-top: 30px;
  }
  .about-section a.resume:hover{
    background-color: #fff;
    padding:8px 1px;
    color:#27270f !important;
    border:1px solid #27270f;
  }

  #carousel .owl-nav button,  #carousel1 .owl-nav button  {
    position: absolute;
    top: 50%;
    background-color: transparent;
    background: transparent;
    color: #fff;
    margin: 0;
    transition: all 0.3s ease-in-out;
  }
  #carousel .owl-nav button.owl-prev, #carousel1 .owl-nav button.owl-prev {
    left: 10px;
  }
  #carousel .owl-nav button.owl-next, #carousel1 .owl-nav button.owl-next {
    right: 20px;
  }
  #carousel .owl-nav button, #carousel1 .owl-nav button  {
      position: absolute;
      top: 45%;
      transform: translateY(-50%);
      background: transparent
  }
  #carousel span,  #carousel1 span {
      font-size: 55px;    
      position: relative;
      top: -5px;
      color:#f4f4f4
  }
  #carousel .owl-nav button:focus,  #carousel1 .owl-nav button:focus {
      outline: none;
}

.owl-carousel .nav-btn{
  height: 26px;
  position: absolute;
  width: 26px;
  cursor: pointer;
  transition: all .2s ease-in-out;
}
.nav-btn:hover{
   transform: scale(1.25);
}

.owl-carousel .owl-prev.disabled,
.owl-carousel .owl-next.disabled{
pointer-events: none;
opacity: 0.2;
}

.owl-carousel .prev-slide{
  background: url(../images/left-arrow.svg) no-repeat scroll 0 0;
  left: 5px;
}
.owl-carousel .next-slide{
  background: url(../images/right-arrow.svg) no-repeat scroll 0px 0px;
  right: 5px;
}
.owl-carousel .prev-slide:hover{
  color:#fff
}
.owl-carousel .next-slide:hover{
  color:#fff
}

.fsp-close {
  position: absolute;
  right: 3em !important;
  top: .85em !important;
  font-size: 40px;
  color: #fff;
  opacity: .4;
}
.art .fsp-close {
  position: absolute;
  right: 1.5em !important;
  top: .5em !important;
  font-size: 40px;
  color: #fff;
  opacity: .4;
}
.save-pdf a {
  position: fixed;
  right: 7em !important;
  top: 2.3em !important;
  opacity: .6;
}
.save-pdf a:hover {
  opacity: 1;
  color: #fff;
}
.save-pdf a:hover svg path{
  fill:#fff
}
.fsp-close:hover{
  opacity: 1;
  color:#fff
}
.fsp-close{
	z-index: 12;
	position: relative;
}
.fsp-content{
    position: fixed !important;
    height: 100vh !important;
    opacity: 1;
}
.fsp-wrapper{
    background: rgba(25, 25, 25,.55) !important;
}
iframe{
    border-width: 0px;
}
.pop .heading{
    font-size:24px;
    font-weight: 600;
    line-height: 30px;
    font-family: 'Poppins', sans-serif;
    opacity: 1;
    color:#fff;
    padding-bottom: 2px;
}
.pop .sub-heading{
    font-size:14px;
    font-weight: 400;
    line-height: 26px;
    font-family: 'Poppins', sans-serif;
    opacity: 1;
    color:#fff;
    padding-bottom: 10px;
}

.testimonial {
  /* 141414 */
  background-color: #141414; 
  border-radius: 5px;
  padding: 40px 25px 25px;
  flex-grow: 1;
  flex-basis: 280px;
  max-width: 360px;
  position: relative;
  font-family: 'Poppins', sans-serif;
}
.testimonial__text {
  font-weight: normal;
  font-size: 16px;
  line-height: 26px;
  margin-bottom: 1.5625rem;
  color:#fff;
}
.testimonial__job {
  font-weight: normal;
  font-size:12px;
  line-height: 10px;
  color:#fff;
  opacity: .8;
}
.testimonial__name {
  font-weight: 500;
  font-size: 14px;
  line-height: 12px;
  margin-bottom: 8px;
  color:#fff;
}
.testimonial__img {
  display: inline-block;
  width: 60px;
  margin-right: 10px;
}
.testimonial__img img {
  vertical-align: bottom;
  border-radius: 50%;
}
.testimonial__info {
  display: inline-block;
  position: relative;
  top: -13px;
}

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.container--testimonials {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 40px;
  justify-content: center;
  padding: 45px 45px 90px;
}
@media (min-width: 78.125em) {
  .container--testimonials {
    padding: 0;
  }
}

.timeline {
  position: relative;
  max-width: 46em;
}
.timeline:before {
  background-color: rgba(41, 212, 254, .4);
  content: '';
  margin-left: -1px;
  position: absolute;
  top: 0;
  left: 2em;
  width: 2px;
  height: 90%;
}

.timeline-event {
  position: relative;
}
.timeline-event:hover .timeline-event-icon {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background-color: #FEFF00;
  outline: 5px solid #FEFF00;
}
.timeline-event:hover .timeline-event-thumbnail {
  box-shadow: inset 40em 0 0 0 #fff;
  color:#000
}

.timeline-event-copy {
  padding: 2em;
  position: relative;
  top: -2.2em;
  left: 4.5em;
  width: 80%;
  padding-bottom: 10px;
}
.timeline-event-copy p:not(.timeline-event-thumbnail) {
  padding-bottom: 0em;
}

.timeline-event-icon {
  -moz-transition: -moz-transform 0.2s ease-in;
  -o-transition: -o-transform 0.2s ease-in;
  -webkit-transition: -webkit-transform 0.2s ease-in;
  transition: transform 0.2s ease-in;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #010101;
  outline: 5px solid #29D4FE;
  display: block;
  margin: 0.5em 0.5em 0.5em -0.5em;
  position: absolute;
  top: 0;
  left: 2.265em;
  width: .5em;
  height: .5em;
}

.timeline-event-thumbnail {
  transition: box-shadow 0.02s ease-in 0.02s;
  color: #414141;
  font-size: 0.9em;
  background-color: #fff;
  box-shadow: inset 0 0 0 0em #fff;
  display: inline-block;
  margin-bottom: .7em;
  padding: 0.25em 1em 0.2em 1em;
  font-weight: bold;
}
@media(max-width:600px){
  .timeline-event-copy{
    left: 3em !important;
  }
}




/*  scroll css section here*/
.scrolltop .icon {
  font-size: 30px;
  text-align: center;
  transform: rotate(-45deg);
  margin-top: 7px;
}
#button {
  display: inline-block;
  background-color: #d0d0d0;
  width: 45px;
  height: 45px;
  text-align: center;
  position: fixed;
  bottom: 60px;
  right: 30px;
  transition: background-color .3s, 
    opacity .5s, visibility .5s;
  opacity: 0;
  visibility: hidden;
  z-index: 9998;
  border-radius: 50%;
}
#button:hover {
  cursor: pointer;
  background-color: #141414;
}
#button svg:focus, #button:focus svg, #button svg:visited, #button:visited svg{
  outline: 0px;
}
#button:hover .up-arrow{
  fill: #fff;
  stroke: #fff;
}
#button.show {
  opacity: 1;
  visibility: visible;
}
.up-arrow {
  width: 74px;
  height: auto;
  transform-box: fill-box;
  fill: #000;
  stroke: #000;
  stroke-width: 2.15em;
  stroke-linecap: round; 
  stroke-linejoin: round;
  position: absolute;
  right: -14px;
  bottom: -16px;
}
.up-arrow .link__arrow {
  transform-origin: 50% 50%;
  transform: rotate(-90deg);
  stroke-width: 0.22em;
  /* transition: transform 0.15s cubic-bezier(0.32, 0, 0.67, 0); */
}
.bg {
  background: url("../images/video-bg.webp")
    no-repeat center center/cover;
  position: absolute;
  top: -30px;
  left: -30px;
  width: 100%;
  height: 100vh;
  filter: blur(0px);
  z-index: 22212;
}

.loading-text {
  font-size: 50px;
  color: #fff;
}


.about-section{
  overflow-x: hidden;
}
.no-scroll{
  overflow: hidden;
}

/* media queries for responsiveness */
@media (min-width: 768px) {
  .nav-menu {
    position: static;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    width: auto;
  }
  .hamburger {
    display: none;
  }
}

@media(max-width:600px){
  header nav a {
    font-size: 32px;
    font-weight: 600;
    line-height: 66px;
  }
  .timeline:before{
    height: 93.4%;
  }
  .container--testimonials{
    padding: 35px 15px 90px;
  }
  .m-spacing{
    padding:0px 20px
  }
  .nav-bar {
    min-height: 4.375em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.5em;
  }
  .nav-menu {
    position: fixed;
    right: -100%;
    top: 0px;
    flex-direction: column;
    background-color: rgba(38, 38, 38, 1);
    width: 100%;
    height: 100vh;
    text-align: center;
    transition: 250ms;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 22;
    margin-top: -12px;
  }

  .nav-menu.active {
    right: 0;
  }

  .hamburger {
    cursor: pointer;
    z-index: 23;
  }
  .hamburger:focus{
    outline: 0px;
  }
  .bar {
    display: block;
    background-color: #fff;
    width: 24px;
    /* The following 2 properties are essential in creating the "X" when the hamburger is clicked. If you change just 1 of the 2, then you need to find the proper combination for the other one */
    height: 2px;
    margin: 6px auto;
    /*    -webkit-transition: all 300ms ease;  */
    transition: all 300ms ease-in-out;
  }

  .hamburger.active .bar:nth-child(2) {
    opacity: 0
  }

  .hamburger.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }

  .hamburger.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
  .first-fold h1{
    line-height: 65px;
    font-size: 55px;
    margin-top: 22px;
  }
  .first-fold h2{
    font-size: 60px;
  }
  .art{
    margin-top: 60px;
  }
  .fsp-close {
    right: 0.45em !important;
    top: 1.4em !important;
    opacity: .7;
  }
  .fsp-wrapper {
    background: rgba(25, 25, 25,1) !important;
  }
  video {
    min-height: 100vh;
  }
  .bg-video-wrap{
    height: 93vh;
  }
  .m-spac-top{
    padding-top:40px
  }
}
@media(min-width: 768px){
  .d-grid{
    display: grid;
  }
}

@media (min-width: 1000px) and (max-width: 1300px) {
  .first-fold h1{
    margin-top: 280px;
  }
  .bg-video-wrap video{
    display: none;
  }
  .first-fold h2{
    font-size: 82px;
  }
  .m-d, .pad-visib{
    display: none;
  }
  .f-tab{
    font-size: 20px !important;
  }
  .f-tab-12, .progress-title{
    font-size: 12px !important;
  }
  .no-pad{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}
@media (min-width: 1301px) {
  .first-fold h1{
    margin-top: 15px;
  }
}
@media (min-width: 1700px) {
  .xl-space-top{
    margin-top:160px !important;
  }
  .xl-padding{
    padding-top:120px !important;
    padding-bottom:120px !important;
  }
  .xl2-padding{
    padding-top:80px !important;
    padding-bottom:80px !important;
  }
  .no-padding-top{
    padding-top:0px !important
  }
  .xl-padding-bottom{
    padding-top:0px !important;
    padding-bottom: 40px !important;
  }
}

@media (min-width: 2500px) {
  .xl-space-top{
    margin-top:275px !important;
  }
  .xl-padding{
    padding-top:145px !important;
    padding-bottom:145px !important;
  }
  .no-padding-top{
    padding-top:0px !important
  }
  .xl-padding-bottom{
    padding-top:40px !important;
    padding-bottom: 70px !important;
  }
  .xl-text-size{
    width: 30% !important;
  }
}
