@font-face {
  font-family: RobotoBlack;
  src: url(../fonts/Roboto-Black.ttf);
}

@font-face {
  font-family: RobotoBold;
  src: url(../fonts/Roboto-Bold.ttf);
}

@font-face {
  font-family: RobotoLight;
  src: url(../fonts/Roboto-Light.ttf);
}

@font-face {
  font-family: RobotoMedium;
  src: url(../fonts/Roboto-Medium.ttf);
}

@font-face {
  font-family: RobotoR;
  src: url(../fonts/Roboto-Regular.ttf);
}

html{
  scroll-behavior:smooth
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  /* min-height: 200vh; */
  font-family: RobotoR !important;
}
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 5px;
  display: flex;
  align-items: center;
  transition: 0.3s ease-out;
  backdrop-filter: blur(3px) brightness(0.6);
  -webkit-backdrop-filter: blur(3px) brightness(0.6);
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 16px;
  &.mask {
    top: 150px;
    mask-image: linear-gradient(black 70%, transparent);
    -webkit-mask-image: linear-gradient(black 70%, transparent);
  }
  &.mask-pattern {
    top: 300px;
    mask-image: url("data:image/svg+xml, %3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12.21 10.57%27%3E%3Cpath fill=%27%23ffffff%27 d=%27M6.1 0h6.11L9.16 5.29 6.1 10.57 3.05 5.29 0 0h6.1z%27/%3E%3C/svg%3E"),
      linear-gradient(black calc(100% - 30px), transparent calc(100% - 30px));
    mask-size: auto 30px, 100% 100%;
    mask-repeat: repeat-x, no-repeat;
    mask-position: left bottom, top left;

    -webkit-mask-image: url("data:image/svg+xml, %3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12.21 10.57%27%3E%3Cpath fill=%27%23ffffff%27 d=%27M6.1 0h6.11L9.16 5.29 6.1 10.57 3.05 5.29 0 0h6.1z%27/%3E%3C/svg%3E"),
      linear-gradient(black calc(100% - 30px), transparent calc(100% - 30px));
    -webkit-mask-size: auto 30px, 100% 100%;
    -webkit-mask-repeat: repeat-x, no-repeat;
    -webkit-mask-position: left bottom, top left;
  }

  @media (min-width: 640px) {
    padding: 5px;
  }
}
nav.is-hidden {
  transform: translateY(-100%);
}
a {
  color: inherit;
  text-decoration: none;
}
.list {
  list-style-type: none;
  margin-left: auto;
  display: none;
  margin: 0;
  @media (min-width: 640px) {
    display: flex;
  }
  li {
    margin-left: 20px;
  }
}

nav{
  min-height: 63px;
}

.menu {
  display: inline-block;
  padding: 0;
  font-size: 0;
  background: none;
  border: none;
  margin-left: 20px;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
  width: 25px;
  height: 25px;
  @media (min-width: 640px) {
    display: none;
  }
}
img {
  width: 100%;
  min-height: 200vh;
  object-fit: cover;
}


/*  Adding CSS  */

.padd-40 {
padding: 0 40px;
}

.list a {
  padding-inline: 20px;
  color: rgb(255, 255, 255);
  transition: all 0.3s;
}

.list a:hover {
  color: rgb(227 79 83);
}

nav {
display: flex;
justify-content: space-between;
align-items: center;
z-index: 2;
}

nav img {
min-height: 10vh !important;
width: 100%;
max-width: 250px;
object-fit: contain;
}

.hero {
height: 95vh;
background-image: url(../img/hero-1.png);
background-position: 50% 70%;
background-repeat: no-repeat;
background-size: cover;
display: flex;
align-items: center;
}

.hero-content {
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: flex-start;
}

.hero-content h1 {
font-size: 70px;
margin: 0;
color: #fff !important;
}

.lets-talk {
background-color: #71aeda9b;
border: 2px solid #71AEDA;
padding: 10px 30px;
color: #fff;
font-size: 20px;
border-radius: 10px;
margin-top: 15px;
transition: 0.2s;
}

.lets-talk:hover {
background-color: #71AEDA;
cursor: pointer;
}

.wave-divider {
background-image: url(../img/wave-white.png);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
height: 110px;
margin-top: -109px;
position: relative;
width: 100%;;
}

.wave-blue {
background-image: url(../img/wave-blue.png);
transform: rotate(180deg);
opacity: 0.7;
margin-top: 0;
}

.about-us-section,
.middle-page-section {
padding-bottom: 40px;
}

.about-uscontent,
.middle-page-content {
display: flex;
justify-content: center;
align-items: center;
}

/* .middle-page-content {
  
} */

.middle-page-section {
  margin: 40px 0;
}

.title {
text-align: center;
font-size: 22px;
margin: 0;
padding-bottom: 40px;
}

.about-uscontent .left-side,
.middle-page-content .left-side {
width: 50%;
}

img {
min-height: 0vh;
}

.about-uscontent .left-side img {
width: 70%;
border-radius: 15px;
box-shadow: 7px 8px 7px 4px rgba(95, 95, 95, 0.25);
}

.right-side {
width: 30%;
}

.services-section {
padding-bottom: 40px;
}

.services-section h4 {
text-align: center;
}

.grid-container {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px 50px;
}

.grid-item {
display: flex;
align-items: flex-start;
justify-content: space-between;
}

.grid-item img {
background: #9bc6e5;
width: 60px;
border-radius: 50%;
padding: 5px;
box-shadow: 2px 2px 7px 1px rgba(95, 95, 95, 0.25);
}

.grid-content {
width: 85%;
}

.grid-content h5 {
margin-top: 0px;
}

.middle-page-content .left-side {
width: 30%;
background-color: rgb(255, 255, 255);
padding: 5px 10px;
box-shadow: 2px 2px 7px 1px rgba(95, 95, 95, 0.25);
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
}


.middle-page-content .right-side {
width: 50%;
max-width: 450px;
}

.middle-page-content .right-side img {
border-radius: 15px;
}


/*  Slider Swiper */

.swiper-container {
  width: 100%;
  padding: 20px;
  width: 80%;
  margin: auto;
  overflow: hidden;
  display: flex;
}

.swiper-slide {
  background-color: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  /* max-width: 320px; */
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-size: 30px;
  color: #000;
}

.partners-carousel {
  position: relative;
  overflow: hidden;
  margin-bottom: 40px;
  width: 100%;
  margin: auto;
  margin-bottom: 60px;
}

.contact {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 40px;
}

.contact p {
  text-align: center;
}

.pad-b-10 {
  padding-bottom: 10px;
}

.contact-inline {
  display: flex;
  /* gap: 30px; */
  width: 100%;
  justify-content: space-between;
  margin-bottom: 30px;
}

.contact-inline p {
  margin: 0;
}

.dp-f {
  display: flex;
}

.email-info ,
.address-info ,
.number-info {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.email-info {
  align-items: center;
  justify-content: flex-start;
}

.number-info {
  justify-content: flex-end;
}

.email-info img,
.address-info img,
.number-info img {
  width: 40px;
  object-fit: contain;
  margin-right: 15px;
}

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #99C5E4;
  color: #fff;
}

.right-ft img {
  width: 150px;
  object-fit: contain;
}

.contact-txt {
  width: 50%;
  padding-bottom: 40px;
}

/*  Responsive  */

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (max-width: 878px) {
  nav img {
    min-height: 0vh;
    max-width: 200px;
  }

  .hero-content h1 {
    font-size: 40px;
  }

  .lets-talk {
    font-size: 16px;
  }

  .list a {
    padding-inline: 13px;
  }

  .right-side {
    width: 50%;
  }

  .title {
    font-size: 20px;
  }

  .about-uscontent .left-side img {
    width: 80%;
  }

  .grid-container {
    gap: 20px;
  }

  .grid-content {
    padding-left: 10px;
  }

  .middle-page-content .left-side {
    width: 50%;
  }

  .contact-txt {
    width: 90%;
  }
}

@media only screen and (max-width: 667px) {
  .grid-container {
    grid-template-columns: repeat(1, 1fr);
  }

  .middle-page-content {
    flex-direction: column;
  }

  .left-side,
  .right-side {
    width: 100% !important;
  }

  .middle-page-content .left-side {
    border-radius: 0px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }

  .middle-page-content .right-side img {
    border-radius: 0px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 2px 2px 7px 1px rgba(95, 95, 95, 0.25);
  }

  .contact-inline {
    flex-direction: column;
  }

  .about-uscontent {
    flex-direction: column;
  }

  .about-uscontent .left-side img {
    display: flex;
    width: 100%;
    justify-content: center;
  }

}

@media only screen and (max-width: 500px) {
  .hero {
    padding: 0 20px;
  }

  .about-us-section {
    padding: 0 20px;
    padding-bottom: 30px !important;
  }

  .middle-page-section {
    margin: 0;
  }

  .partners-carousel {
    margin-bottom: 30px;
  }

  .wave-divider {
    height: 70px;
    margin-top: -69px;
  }

  .wave-blue {
    height: 65px;
    margin-top: 0;
  }

  .services-section,
  .middle-page-section,
  .partners-carousel,
  .contact {
    padding: 0 20px;
  }

  .middle-page-section {
    padding-bottom: 30px;
  }

  footer {
    padding: 0 20px !important;
  }

  .hero {
    height: 60vh;
  }

  nav {
    padding: 5px 20px 5px 10px;
  }

  nav img {
    min-height: 0vh !important;
    max-width: 160px;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) 
and (orientation: portrait) {
  /* CSS styles specific to iPad portrait mode */
  .hero {
    height: 60vh;
  }

  .right-side {
    width: 50%;
  }

  .grid-content {
    padding-left: 10px;
  }

  nav img {
    min-height: 0vh !important;
  }

}

nav img {
  min-height: 0vh !important;
}

ul.mobile-menu {
  display: none;
}

#menu-links-container {
  height: 0px;
}


@media only screen and (max-width: 639px) {
  ul.mobile-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    position: fixed;
    top: 63px;
    width: 100%;
    left: 0px;
    right: 0px;
    height: 215px;
    padding: 0;
    background-color: rgb(43 42 42);  
    z-index: 4;
    transition: all 0.5s;
  }
  
  .mobile-menu li {
    width: 100%;
    height: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
    transition: all 0.3s;
  }
  
  .mobile-menu li:hover {
    background: #525252;
  }

  .mobile-menu a {
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .contact-txt {
    width: 100%;
    padding-bottom: 40px;
  }

}

.mobile-menu li a {
  display: none;
  
}


#menu-links-container a {
  display: block;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

#menu-links-container.opened a {
  opacity: 1;
}

.loading-screen {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #9f3c3c;
  position: fixed;
  z-index: 4;
}

.content {
  display: none;
}

:root {
	--hue: 223;
	--bg: hsl(var(--hue),10%,90%);
	--fg: hsl(var(--hue),10%,10%);
    --pr-color:#fff;
	/* font-size: calc(16px + (24 - 16) * (100vw - 320px) / (1280 - 320)); */
}

.pl {
	display: flex;
  margin: auto;
	width: 6.25em;
	height: 6.25em;
}
.pl__ring, .pl__ball {
	animation: ring 2s ease-out infinite;
    stroke: #ffffff
}
.pl__ball {
	animation-name: ball;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: hsl(var(--hue),10%,10%);
		--fg: hsl(var(--hue),10%,90%);
	}
}

/* Animation */
@keyframes ring {
	from {
		stroke-dasharray: 0 257 0 0 1 0 0 258;
	}
	25% {
		stroke-dasharray: 0 0 0 0 257 0 258 0;
	}
	50%, to {
		stroke-dasharray: 0 0 0 0 0 515 0 0;
	}
}
@keyframes ball {
	from, 50% {
		animation-timing-function: ease-in;
		stroke-dashoffset: 1;
	}
	64% {
		animation-timing-function: ease-in;
		stroke-dashoffset: -109;
	}
	78% {
		animation-timing-function: ease-in;
		stroke-dashoffset: -145;
	}
	92% {
		animation-timing-function: ease-in;
		stroke-dashoffset: -157;
	}
	57%, 71%, 85%, 99%, to {
		animation-timing-function: ease-out;
		stroke-dashoffset: -163;
	}
}

.animate__animated .animate__fadeInUp {
  --animate-delay: 0.9s;
}

.animate-that {
  opacity: 0;
}