@charset "UTF-8";

body, html {
	font-family:"Montserrat", sans-serif;
	background-color:rgba(31,31,31,1.00);
	margin: 0 auto;
	font-style: normal;
	font-weight: 100;
	width: 100%;

	overflow-x: hidden;

}
* {
	scroll-behavior: smooth;
}
p {
	font-family: "Montserrat", sans-serif;

}
.center-logo {
	display:none;
}

.hide-robot {
	display:none;
	visibility: hidden;
	opacity: 0;
	
		}

.nav {

	position: fixed;
	width: 100%;
	padding: .5vw 2vw;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	box-sizing: border-box;
	align-content: center;
	background-color:rgba(0,0,0,.9);
	top: 0;
	left: 0;
	overflow: hidden;
	z-index:99;
	
}
.nav img {
	width: 20%;
	padding: .50vw 0;

}
.nav-links {
	display: flex;
	align-self: center;
	justify-content: space-around;
	gap: 1.5vw;
	
}

.nav-links a {
	
	align-self: center;
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
color:silver;
	transition: .5s ease;



}
.nav-links a:hover {
		color: rgba(1,56,250,1.00);

}
.bkg {
	position:relative;
	width: 100%;
	height:100vh;
}
	.banner{
		position:absolute;
		display:flex;
		box-sizing: border-box;
		justify-content: flex-start;
		width: 100%;
		height: 100vh;
		background: url("../video/intro_4.mp4");
		background-size:fill;
		background-position: top;

		top: 0;
	}

.text-box {
	align-self: flex-end;
	position: relative;

	width:45%;
	font-size: 38px;
	
	text-shadow: 2px 1px 3px rgba(255,255,255,.5),
		2px 1px 6px rgba(255,255,255,.4),
		2px 1px 7px rgba(255,255,255,.3),
		2px 1px 8px rgba(0,65,196,.2),
		2px 1px 9px rgba(0,65,196,.1);
	font-weight: 100;
	

	margin-left: 2.5vw;
	z-index: 97;

	
	
}
.text-box h1 {
	color:rgba(6,9,239,1.00);
	margin-top: -2vw;
	background-color: rgba(204,219,255,.30);
	transition: 1s ease;

	}
.text-box h1:hover {
	color: rgba(1,2,137,1.00);
	background-color:rgba(8,8,10,.3);

	}
.request {

	 background: linear-gradient(
    140deg,
    #999 5%,
    #fff 10%,
    #ccc 30%,
    #ddd 50%,
    #ccc 70%,
    #fff 80%,
    #999 95%
  );
	width: 100%;
	padding: 5vw 0vw 4vw;
	margin-top: 0vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	border-top: 12px solid rgba(3,3,4,1.00);
	border-bottom: 12px solid rgba(3,3,4,1.00);


}
.text-box a {
	color:rgba(0,6,95,1.00);
	text-decoration: none;
	transition: 1s ease;

}

.text-box a:hover {
	color: rgba(112,144,175,1.00);
}
.request p {
	font-size: 2em;

}
.contact {
	display: flex;
	flex-direction: column;
	gap: 2vw;
	margin: 0 auto 0;
	color:rgba(76,76,76,1.00);
	
}
.contact p {
	font-weight: 600;
}
.button {

	padding: 2vw 6vw;
	background-color:rgba(23,46,220,1.00);
	border: 3px solid rgba(193,195,201,1.00);
	color: #ffffff;
	text-decoration: none;
	font-weight: 400;
	border-radius: 6px;
	font-size: 20px;
	box-shadow: 2px 2px 7px rgba(100,100,100,.4);
	align-self: center;
	margin-top: 0vw;
	 transition: 500ms ease-in;
	
}
.button:hover {
	
	background-color:rgba(195,197,203,1.00);
	color:rgba(66,67,84,1.00);
}
#contactForm {
	display: none;
	box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px;
  padding: 2vw;
  width: 80vw;
  text-align: center;
  background: #fff;
  position: fixed;
  top:50%;
  left:50%;
  border-radius: 7px;
	-webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
	z-index:999;

  
  
	
}
#date {
	--smart-color: #ccc;
	--smart-font-size: 20px;
}
.schedule {
	display: flex;
	flex-direction: column;
	gap: 1vw;
	justify-content: space-around;
	width: 60%;
	margin:1vw auto;
	
}
input, textarea {
	padding: 1vw;
	margin: .5vw;
	border-color: rgba(192, 192, 192, .8);
	border-radius: 7px;
	background-color: rgba(0,0,0,.1);
	box-shadow: rgb(204, 219, 232) 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
	box-sizing: border-box;
	
}
input::placeholder, textarea::placeholder {
	padding-left: 10px;
}
.formBtnA {
	
	background-color: rgba(0,3,253,1.00);
	color: #ffffff;
	text-decoration: none;
	font-weight: 200;
	border-radius: 7px;
	border: none;
	font-size: 20px;
	box-shadow: 1px 2px 2px rgba(100,100,100,.4);
	padding: 1vw 0;
}
.formBtnA:hover {
	background-color: #000;
}
.formBtn {
	opacity:5;
}
.choice {
	width: 100%;
	margin-top: 0vw;
	color: #ffffff;
	background-color: rgb(0,0,0);

}

.choice h1 {
	font-size:22vw;
  text-align: center;
  margin-top: 0vw;
	padding-bottom: 2vw;
 background: rgb(2,0,36);
background: rgb(0,0,0);
background: radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(9,9,121,1) 35%, rgba(8,8,102,1) 65%, rgba(0,0,0,1) 100%);
  background-size: 200% auto;
  opacity: 300;
  color: #000;
  background-clip: text;
  text-fill-color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  
  animation: shine 6s linear reverse infinite;
}

	@keyframes shine {
    to {
      background-position: 200% center;
    }
  }

.overlay-text {
	margin-top: -30vw;
	font-size: 2.5vw;
	margin-left: 3vw;
	padding-bottom:3vw;
	color: rgba(185,185,186,1.00);
}
.services {
  position: relative;
  width: 100%;
  background-color: #ffffff;
  overflow: hidden;
}



.cards-wrapper {
  display: flex;
	width: 100%;
  justify-content: center;
  gap: 3.5vw;
  padding: 10vw 0;
  box-sizing: border-box;

}

.card {
  position: relative;
	
  background: rgba(31, 31, 31, 1.00);
  width: 25%;
  min-width: 300px; /* Adjust the value as needed */
  border-radius: 2px;
  padding: 2vw 1vw 3vw;
  box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;

}



.card h3 {
  background: -webkit-linear-gradient(rgba(221, 237, 255, 1.00), rgba(213, 215, 222, 1.00));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  font-size: 3vw;
  font-weight: 800;
}

.card p {
  background: -webkit-linear-gradient(rgba(221, 237, 255, 1.00), rgba(213, 215, 222, 1.00));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 18px;
  padding: 0 1vw;
  font-weight: 500;
}

.line {
  position: relative;
  width: 50%;
  height: 1px;
  margin: 1vw auto 3vw;
  background: -webkit-linear-gradient(rgba(221, 237, 255, 1.00), rgba(213, 215, 222, 1.00));
}

.card img {
  width: 100%;
  margin-top: 1vw;
}


.estimate {
	display: flex;	
	color: #FFF;
	gap:2vw;
	width: 90%; 
	margin: 0 auto;
	padding: 3vw 0;
		
}
.estimate img {
	display: block;
	width: 40%;
	
	align-self: center;
}
.textB {
	margin-top: 0;
}
.textB h2 {
	font-size: 4vw;
	 color: hsl(230, 100%, 95%);
	font-weight: 200;
	animation: lights 5s 750ms linear infinite;
	margin-top:0vw;
}

.textB a {
	display: flex;
	text-decoration: none;
	color:#FFF;
	
}
.textB p {
	font-size: 18px;
	padding: 0 1vw;
	font-weight: 300;
	line-height: 1.4;
}
.buttonA {
	padding: 1vw 1vw;
	background-color: rgba(0,3,253,1.00);
	color: #fff;
	text-decoration: none;
	font-weight: 200;
	border-radius: 7px;
	border: none;
	font-size: 20px;
	box-shadow: 2px 2px 7px rgba(100,100,100,.4);
	align-self: center middle;
	transition: 500ms linear;
	
}
.buttonA:hover {
	background-color: rgba(242,248,0,1.00);
	color: rgba(0,3,252,1.00);
}
.text {
	width: 60%;
	padding: 1vw 2vw 3vw;
	margin: 0 auto;
}
.text h3 {
	font-size: 4vw;
	color:rgba(101,207,216,1.00);
}
@keyframes lights {
  0% {
    color:rgba(1,1,240,.3);
    text-shadow:
      0 0 1em rgba(118,164,254,.2),
      0 0 0.125em rgba(118,164,254,.3),
      -1em -0.125em 0.5em hsla(40, 100%, 60%, 0),
      1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
  
  30% { 
    color: hsl(230, 80%, 90%);
    text-shadow:
      0 0 1em rgba(1,1,240,.5),
      0 0 0.125em rgba(1,1,240,.7),
      -0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.4),
      0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.6);
  }
  
  40% { 
    color: hsl(230, 100%, 95%);
    text-shadow:
      0 0 1em rgba(1,1,240,.3),
      0 0 0.125em rgba(1,1,240,.5),
      -0.25em -0.125em 0.125em hsla(40, 100%, 60%, 0.4),
      0.25em 0.125em 0.125em hsla(200, 100%, 60%, 0.6);
  }
  
  70% {
	  color: 
    color: hsl(230, 80%, 90%);
    text-shadow:
      0 0 1em rgba(147,196,254,.5),
      0 0 0.125em rgba(147,196,254,.3),
      0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.4),
      -0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.6);
  }
  
  100% {
    color: hsl(230, 40%, 80%);
    text-shadow:
      0 0 1em rgba(1,1,240,.4),
      0 0 0.125em rgba(1,1,240,.3),
      1em -0.125em 0.5em hsla(40, 100%, 60%, 0),
      -1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
  
}
.space {
	background-color: #FFF;
	height: 8vw;
}


.horizontal-scroll__item {
  align-items: center;
  color: white;
  border: 1px solid black;
  display: flex;
  flex: 0 0 320px;
  justify-content: center;
  scroll-snap-align: start;
}

.gallery-container {

	background-image:url("../images/bkg.png");
	background-attachment: fixed;
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;

	
	border-top: 10px solid rgba(0,0,225,1.00);
	border-top-width: 100%;
	border-bottom: 10px solid rgba(0,0,225,1.00);
	border-bottom: width;

	 display: flex;
  gap: 5px;
  height: 550px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
	box-shadow: inset 9px 8px 24px rgba(255,255,255,.2);
	}


.horizontal-scroll__item img {
  width: 100%;
	height: 250px;
  border-radius: 8px;
  box-shadow: 0 0 16px #333;
  transition: all .5s ease;
	
}
.horizontal-scroll__item img:hover {
  box-shadow: 0 0 32px #333;
	transform: scale(1.2);
	 
}
.horizontal-scroll__item .content {
  padding: 4px;
}


@-moz-keyframes zoomin {
  0% {
    max-width: 50%;

    filter: blur(1px);
  }
  30% {
    filter: blur(2px);

  }
  70% {
    max-width: 50%;

  }
  100% {
    max-width: 100%;

  }
}
@-webkit-keyframes zoomin {
  0% {
    max-width: 50%;

    filter: blur(1px);
  }
  30% {
    filter: blur(2px);

  }
  70% {
    max-width: 50%;
 
  }
  100% {
    max-width: 100%;

  }
}
@-o-keyframes zoomin {
  0% {
    max-width: 50%;

    filter: blur(1px);
  }
  30% {
    filter: blur(2px);

  }
  70% {
    max-width: 50%;
  
  }
  100% {
    max-width: 100%;
 
  }
}
@keyframes zoomin {
  0% {
    max-width: 50%;

    filter: blur(1px);
  }
  30% {
    filter: blur(2px);
 
  }
  70% {
    max-width: 50%;

  }
  100% {
    max-width: 100%;

  }
}

.about {
	width: 100%;
	background: #FFF;
	padding: 5vw 2vw;
	box-sizing: border-box;
	gap: 2vw;
}
.flex-box {
	padding-top: 3vw;
	display: flex;
	z-index: 9;
}
.about .text {
	width: 40%;
	height: 70%;
	padding: 3vw;
	background: rgba(255,255,255,1.00);
	box-shadow: 2px 2px 10px rgba(100,100,100,.5);
	margin-left: -6vw;
	margin-top:2vw;
	border:2px solid rgba(7,236,239,1.00);
}
.flex-box img {
	margin-left: 13vw;
	border-radius: 4px;
	width: 40%;
	box-shadow: 2px 2px 5px rgba(100,100,100,.4);
}

.contactUs {
	display:flex;
	gap: 8vw;
	margin: 2vw;
	
}
.info {
	display: flex;
	flex-direction: column;
}
.info p, a {
	color: white;
	font-weight: 400;
	
}
@media (max-width:800px) {
	.contact {
		flex-direction: column;
	}
}
@media (max-width:800px) {
		.text-box {

	position: relative;
	font-family: "Montserrat", sans-serif;
	width:45%;
	font-size: 5.2vw;
	color:rgba(0,18,250,1.00);
	text-shadow: 2px 1px 3px rgba(255,255,255,.5),
		2px 1px 6px rgba(255,255,255,.4),
		2px 1px 7px rgba(255,255,255,.3),
		2px 1px 8px rgba(0,65,196,.2),
		2px 1px 9px rgba(0,65,196,.1);
	font-weight: 100;
	line-height: 1;
	margin-top: 35vw;
	margin-left: 2.5vw;
	z-index: 97;

	
	
}
}
@media (max-width: 600px) {
  .gallery {
    grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
  }
	.overlay-text {

	font-size: 3.5vw;
}

#contactForm {

  width: 90vw;	
}
	.schedule {

	width: 80%;

	
}
}

@media (max-width:750px) {
	
	.request{
	
	width: 100%;
	padding: 3vw 0vw 4vw;
	margin-top: 8vw;
	
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
	.estimate {
		flex-direction: column-reverse;
		text-align: center;
	}
	.estimate img {
		display: none;
	}
.request p {
	font-size: 1.3em;

	}
	.textB h2 {
		font-size:6vw;
	}

	.intro {
		align-self:center;
	}
	#menu {
  background:rgba(0,0,0,.3);
		border: none;
		box-shadow: 2px 2px 3px rgba(100,100,100,.4);
  width: 6vw;
  height: 6vw;
		margin-top: 4vw;
		margin-left:2vw;
  border-radius: 7px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 6px;

}

#menu span {
  width: 25px;
  height: 4px;
  background-color:rgba(0,0,200,1.00);
  border-radius: 3px;
  transition: 0.3s ease;
  transform-origin: center;

}

.open .line1 {
  transform: rotate(45deg) translateY(3px) translateX(4px);
}

.open .line2 {
  transform: rotate(-45deg) translateY(-3px) translateX(4px);
}

	.center-logo {
		display: flex;
		position: fixed;
		width: 100%;
		background-color:rgba(0,0,0,1.00);
		z-index: 99;

	}
	.center-logo img {
		display: block;
		width: 30%;
		margin: 0 auto;
		padding: 2vw 1vw;
	}

	.nav {
	display: none;
		width: 90vw;
		height: 70vh;
		background-color: #000000;
background-image: linear-gradient(147deg, #000000 0%, #04619f 74%);
		margin-top: 12vw;
		box-shadow: 2px 2px 10px rgba(100,100,100,.3);
		border-radius:7px;
		color:rgba(5,4,244,1.00);

	}
	.nav-links {
	display:block;
	margin-top: 3.3vw;
		line-height: 2;

		
}
    .nav-links a {
	display: flex; 
	flex-direction: row;
	padding: 1vw;
		box-shadow: 1px 2px 5px rgba(0,0,0,.4);
		transition: 500ms ease-in;
		

}
.nav-links a:hover {
		 background: -webkit-linear-gradient(rgba(86,130,255,1.00), rgba(213,215,222,1.00));
  -webkit-background-clip: none;
  background-clip: none;
  -webkit-text-fill-color: rgba(5,4,244,1.00);;

}

	.logo {
		width: 80%;
		margin: 1.5vw 1vw;
	}
	.dropdown {
		overflow: scroll;
	}
	.dropdown-content {
    display: none;
    position:absolute;
    background-color: #fff;
    top: 7vw;
	width: 400px;
	height: 500px;
	border-radius: 10px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	left: 0;
	margin-left: 20vw;
	overflow: scroll;
		  
		
	
}
	.link-row {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.column-link {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		width: 100%;
		border-bottom: 1px solid rgba(60,85,125,1.00);
	}
	.column-b-link {
		width: 40%;
	}
	.flex-box {
		width: 100%;
	}
	.flex-box {
	padding-top: 3vw;
	display: flex;
		flex-direction: column;
	
	z-index: 9;
}
.about .text {
	width: 94%;
	height: 70%;
	padding: 2vw;
	background: rgba(255,255,255,1.00);
	box-shadow: 2px 2px 10px rgba(100,100,100,.5);
	margin: 0 auto;
	border:2px solid rgba(7,236,239,1.00);
}
.flex-box img {
	margin-left: 40vw;
	margin-bottom: -10vw;
	border-radius: 4px;
	width: 50%;
	align-self: flex-start;
	z-index:96;
}
}
@media (max-width: 700px) {
	.services {
		display: flex;
		flex-direction: column;
	}
	.card {
		width: 80%;
		margin: 0 auto;
	}
	.card img {
		display: block;
		width: 50%;
		margin: 0 auto;
	}

}
@media (max-width:650px) {


}
@media (max-width:550px) {
	
	#menu {
		height: 8vw;
		width: 8vw;
	}
	.center-logo img {
		width: 35%;
	}
}
@media (max-width:400px) {
	#logo-sml {
		width: 40vw;
	}
	.dropdown-content {

    width: 330px;
	height: 600px;
	margin-left: 10vw;
	
}
		#menu {
		height: 9.5vw;
		width: 9.5vw;
	}
	#menu span {
  width: 21px;
  height: 4px;

}
	  .gallery {
    grid-template-columns: repeat(auto-fill, minmax(50%, 1fr));
  }
		.overlay-text {

	font-size: 5vw;
}

}