@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");

:root {
  --light: #e7f1fb;
  --blue: #000060;
  --accent1: #fff000;
  --blue-gradient: linear-gradient(to top, #001874, #0284f6);
  --red-gradient: linear-gradient(to right, #aa0000, #ff0000);
  --mont: "Montserrat", Arial, sans-serif;
  --out: "Outfit", Arial, sans-serif;
  --light-gradient: linear-gradient(to top, #bfdbf9, #fff);
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  /* border: 1px solid black; */
}

body {
  background-color: var(--light);
}

/* UNIVERSAL STYLES */

ul li {
  list-style: none;
  font-family: var(--mont);
}

a {
  text-decoration: none;
}

a:visited {
  color: var(--blue);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--out), sans-serif;
  line-height: 1em;
}

p {
  font-family: var(--mont), sans-serif;
  font-weight: 350;
  letter-spacing: -0.1px;
}

.btn-1 {
  padding: 0.75em;
  background-color: var(--blue);
  border-radius: 0.25em;
  border: none;
  color: var(--light);
  font-size: 1em;
  width: 10em;
}

.btn-1:hover {
  background: var(--red-gradient);
}

.btn-2 {
  padding: 0.5em;
  background-color: red;
  border-radius: 0.25em;
  border: none;
  color: var(--light);
  font-size: 0.8em;
  width: 8em;
}

.btn-3 {
  padding: 0.75em;
  background-color: var(--blue);
  border-radius: 0.25em;
  border: none;
  color: var(--light);
  font-size: 1em;
  width: 10em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-3 .icon {
  height: 1.2cap;
}

.btn-4 {
  padding: 0.75em;
  background-color: red;
  border-radius: 0.25em;
  border: none;
  color: var(--light);
  font-size: 1em;
  width: 10em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-1:active,
.btn-2:active,
.btn-3:active,
.btn-4:active {
  transform: scale(0.9);
  transition: all 0.1s ease-in-out;
}

.btn-1:focus,
.btn-2:focus,
.btn-3:focus,
.btn-4:focus {
  outline: none;
}

button {
  font-family: var(--mont);
  letter-spacing: -0.02em;
  font-weight: 500;
}

.section {
  padding: 2em;
  display: flex;
}

.section-main-heading-1 {
  position: relative;
  width: auto;
  margin-bottom: 1.5em;
}

.section-main-heading-1::before {
  content: "";
  position: absolute;
  width: 7em;
  height: 5px;
  left: 0;
  bottom: -1em;
  transform: translateY(-70%);
  background-color: var(--blue);
  border-radius: 5em;
}

.section-main-heading-2 {
  padding: 0.25em 1em 0.25em 1em;
  font-size: 1.2em;
  background-color: red;
  color: var(--light);
  width: 10em;
  align-self: center;
  justify-self: center;
  border-radius: 5em;
  text-align: center;
  font-weight: 300;
  z-index: 1;
}

.section-main-heading-3 {
  position: relative;
  width: auto;
  margin-bottom: 1.5em;
  color: var(--light);
}

.section-main-heading-3::before {
  content: "";
  position: absolute;
  width: 7em;
  height: 5px;
  left: 0;
  bottom: -1em;
  transform: translateY(-70%);
  background-color: var(--accent1);
  border-radius: 5em;
}

.section-main-heading-4 {
  padding: 0.25em 1em 0.25em 1em;
  font-size: 1.2em;
  background-color: var(--blue);
  color: var(--light);
  width: 10em;
  align-self: center;
  justify-self: center;
  border-radius: 5em;
  text-align: center;
  font-weight: 300;
  z-index: 1;
}

/* NAVBAR STYLES */

nav {
  width: 80vw;
  height: auto;
  padding: 1em 2em;
  margin-top: 1em;
  background-color: rgba(231, 241, 251, 0.9);
  justify-self: center;
  border-radius: 0.5em;
  display: flex;
  align-items: center;
  justify-content: space-around;
  z-index: 3;
  position: absolute;
  top: 0;
}

nav .logo {
  width: 5em;
}

nav .links {
  display: flex;
  gap: 1em;
  align-items: center;
  color: var(--blue);
  position: relative;
}

nav .links .nav-item {
  font-size: 1em;
  position: relative;
  font-family: var(--mont);
}

nav .links .nav-item.services {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
}

nav .links > .nav-item.services:hover .nav-dropdown {
  display: block;
}

nav > .links .nav-item.services:hover .nav-dropdown,
.nav-dropdown:hover {
  display: block;
}

nav .links .nav-item .icon {
  height: 0.75cap;
}

nav .links .nav-item.active {
  position: relative;
}

nav .links .nav-item.active::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--red-gradient);
  border-radius: 5em;
  bottom: -0.75em;
  z-index: 1;
}

nav .links .nav-item:hover {
  background: linear-gradient(to right, #aa0000, #ff0000);
  background-clip: text;
  color: transparent;
}

@keyframes move {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

nav .nav-dropdown {
  width: 10em;
  margin: 3em;
  height: auto;
  position: absolute;
  background-color: #ff0000;
  top: -1.5em;
  z-index: 1;
  border-radius: 0 0.5em 0.5em 0.5em;
  display: none;
}

nav .nav-dropdown.active {
  display: block;
}

nav .nav-dropdown .dropdown-list {
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  color: var(--light);
  font-family: var(--mont);
  font-size: 0.9em;
}

nav .dropdown-list .dropdown-item {
  position: relative;
}

nav .dropdown-list .dropdown-item::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--accent1);
  bottom: -0.3em;
}

nav .dropdown-list .dropdown-item:last-of-type::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--accent1);
  bottom: -0.3em;
  display: none;
}

/* MOBILE NAVBAR */

.menu-toggle {
  display: none;
}

.responsive-nav-bar {
  display: none; /* Hidden by default */
}

html {
  scroll-behavior: smooth;
}

body.no-scroll {
  overflow: hidden;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
}

/* ALT HERO FOR OTHER PAGES */

.alt-hero {
  background: url(/media/images/hero-2.png);
  height: 55vh;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  padding: 3em 3em 3em 3em;
  justify-content: center;
  align-items: flex-end;
  /* align-content: center; */
}

nav.alt {
  position: relative;
  width: 80vw;
  z-index: 5;
}

.alt-hero .content {
  display: flex;
  gap: 0.5em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-align: center;
}

.alt-hero .content h1 {
  font-size: 4em;
  line-height: 1em;
  color: var(--light);
}

.alt-hero .content p {
  color: var(--accent1);
  font-size: 1.2em;
  margin-bottom: 1em;
}

.alt-hero .content button {
  padding: 1em;
  background-color: red;
  color: var(--light);
  border: none;
  border-radius: 0.5em;
  width: 15em;
  font-size: 1.2em;
}

/* HERO STYLES */

.hero {
  background: url(/media/images/hero-2.png);
  height: 95vh;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  padding: 7em 3em 3em 3em;
  justify-content: flex-start;
  /* align-content: center; */
}

.hero .content {
  display: flex;
  gap: 0.5em;
  flex-direction: column;
  justify-content: center;
  width: 70%;
  padding-left: 5em;
}

.hero .content h1 {
  font-size: 4em;
  line-height: 1em;
  color: var(--light);
}

.hero .content p {
  color: var(--accent1);
  font-size: 1.2em;
  margin-bottom: 1em;
}

.hero .content button {
  padding: 1em;
  background-color: red;
  color: var(--light);
  border: none;
  border-radius: 0.5em;
  width: 15em;
  font-size: 1.2em;
}

/* STATS STYLES */

.stats {
  height: auto;
  background: url(/media/images/11.jpeg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: space-evenly;
  position: relative;
}

.stats::before {
  /* background transparent color */
  content: "";
  position: absolute;
  background-color: rgba(231, 241, 251, 0.9);
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.stats .stat-card {
  border: 1px solid var(--blue);
  width: 20%;
  border-radius: 0.5em;
  padding: 1em;
  display: flex;
  gap: 0.5em;
  flex-direction: column;
  align-items: center;
  text-align: center;
  z-index: 1;
  cursor: pointer;
}

.stats .stat-card .stat-icon {
  width: 4em;
  height: 4em;
  background-color: red;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stats .stat-card .stat-icon .icon {
  width: 2em;
  height: auto;
}

.stats .stat-card h2 {
  font-size: 2.5em;
  color: var(--blue);
  text-align: center;
  transition: all 0.5s ease;
}

.stat-card p {
  font-weight: 500;
  font-size: 1.2em;
}

/* ABOUT US STYLES */
.about-us {
  background-color: var(--light);
  justify-content: center;
  align-items: center;
  color: var(--blue);
  opacity: 1; /* Start hidden */
  transform: scale(0.8); /* Start smaller */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Transition properties */
}

/* .about-us.gallery-sec {
  opacity: 1;
} */

.about-us.visible {
  opacity: 1; /* Fully visible */
  transform: scale(1); /* Full size */
}

.about-us h2 {
  color: red;
}

.about-us .graphic {
  width: 45%;
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.about-us .graphic .img {
  width: 90%;
  height: auto;
}

.about-us .content {
  width: 45%;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

/* SERVICES STYLES */
.our-services {
  flex-direction: column;
  align-items: center;
  gap: 2em;
  padding-bottom: 7em;
  background: url(/media/images/22.jpeg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: space-evenly;
  position: relative;
  margin: 2em 2em 0 2em;
  border-radius: 1em;
}

.our-services::before {
  /* background colour cover */
  content: "";
  position: absolute;
  background-color: rgba(226, 6, 6, 0.85);
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 1em;
}

.our-services .card-container {
  display: flex;
  gap: 1em;
  justify-content: center;
  z-index: 1;
}

.our-services .card-container .service-card {
  width: 15em;
  height: 24em;
  border-radius: 0.5em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.service-card.drilling {
  background: url(/media/images/drilling.png);
}

.service-card.survey {
  background: url(/media/images/survey.png);
}

.service-card.installation {
  background: url(/media/images/installa.png);
}

.service-card.accessories {
  background: url(/media/images/accessories.png);
}

.our-services .service-card .inner-card {
  background-color: var(--blue);
  width: 10em;
  height: 12em;
  border-radius: 0.5em;
  position: absolute;
  bottom: -4em;
  left: 50%;
  transform: translateX(-50%);
  padding: 1em 0.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  text-align: center;
  gap: 0.25em;
}

.our-services .inner-card p {
  color: var(--light);
}

.our-services .inner-card h2 {
  color: var(--accent1);
}

/* WHY US STYLES */
.why-us {
  background-color: var(--light);
  align-items: center;
  justify-content: center;
  color: var(--blue);
  opacity: 0; /* Start hidden */
  transform: scale(0.8); /* Start smaller */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Transition properties */
}

.why-us.visible {
  opacity: 1; /* Fully visible */
  transform: scale(1); /* Full size */
}

.why-us .graphic {
  width: 45%;
}

.why-us .info {
  width: 45%;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.why-us .graphic .img {
  width: 90%;
  height: auto;
}

.why-us h2 {
  color: red;
}

.why-us .info .point {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}

.why-us .info .point-head {
  display: flex;
  align-items: center;
}

.why-us .info .point-head .icon {
  height: 1.2cap;
}

/* PRICING STYLES */

.pricing {
  display: flex;
  flex-direction: column;
  gap: 2em;
  border-left: 1px solid var(--blue);
  border-right: 1px solid var(--blue);
  margin: 0 15vw;
  opacity: 0; /* Start hidden */
  transform: scale(0.8); /* Start smaller */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Transition properties */
}

.pricing.visible {
  opacity: 1; /* Fully visible */
  transform: scale(1); /* Full size */
}

.pricing .price-card {
  width: 60vw;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 0 0 2em 0;
  background: var(--blue-gradient);
  border-radius: 0.5em;
}

.pricing .content {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  padding: 0 2em;
}

.pricing .content .info {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  text-align: center;
  align-items: center;
}

.pricing .content .info .icon {
  width: 5em;
  height: auto;
}

.pricing .content .info .subtitle {
  font-weight: 400;
}

.pricing .content .main-info {
  font-size: 3em;
  line-height: 1em;
  padding: 0 0.5em;
  background: linear-gradient(to right, #001874, #0284f6);
  background-clip: text;
  color: transparent;
  text-align: center;
}

.pricing .break {
  display: none;
}

.pricing .price-card h2 {
  font-size: 3em;
  color: var(--accent1);
}

.pricing .price-card .graphic {
  height: 11em;
  width: 90%;
  background-color: #e7f1fb;
  margin-top: 1em;
  background: url(/media/images/33.jpeg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  border-radius: 0.5em;
}

.pricing .price-card .graphic .budget-deal {
  display: block;
  background: var(--red-gradient);
  width: auto;
  padding: 0.25em 0.5em;
  color: var(--accent1);
  position: absolute;
  top: 0.75em;
  right: 0.75em;
  text-align: center;
  font-family: var(--mont);
  font-size: 0.9em;
  border-radius: 0.25em;
}

.pricing .price-card .price-checklist {
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  color: var(--light);
}

.pricing .price-card .item-head {
  font-weight: 300;
  letter-spacing: -0.03em;
}

.pricing .price {
  margin-bottom: 0.25em;
}

.pricing .price-card .item-head .icon {
  height: 1cap;
}

/* HOW WE WORK STYLES */

.how-we-work {
  background: var(--blue);
  justify-content: space-between;
  color: #e7f1fb;
  padding: 2em 5vw;
  margin: 2em;
  border-radius: 1em;
  position: relative; /* Ensure relative positioning for inner elements */
}

.how-we-work .graphic {
  width: 50%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.how-we-work .artwork {
  width: 100%;
}

.how-we-work .info {
  width: 40%;
  display: flex;
  flex-direction: column;
  gap: 1em;
  position: relative;
}

.how-we-work .service-steps {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.how-we-work .service-steps::before {
  content: "";
  position: absolute;
  background: linear-gradient(to top, rgba(231, 241, 251, 0), var(--accent1));
  width: 1px;
  height: 100%;
  left: -2em;
  top: calc(0.25em);
  border-radius: 1em;
  transform: translateX(4px);
}

.how-we-work .service-steps .item-head {
  position: relative;
  color: var(--accent1);
  margin-bottom: 0.25em;
}

.how-we-work .service-steps .item-head::before {
  content: "";
  position: absolute;
  background-color: var(--accent1);
  width: 10px;
  height: 10px;
  left: -2em;
  top: 0;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
}

/* GET IN TOUCH STYLES */

.get-in-touch {
  height: auto;
  background: url(/media/images/11.jpeg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: space-evenly;
  position: relative;
}

.get-in-touch::before {
  /* background cover */
  content: "";
  position: absolute;
  background-color: rgba(231, 241, 251, 0.8);
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.get-in-touch .content {
  z-index: 1;
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  text-align: center;
  opacity: 0; /* Start hidden */
  transform: translateY(20px); /* Shift down */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Transition properties */
}

.get-in-touch .content.visible {
  opacity: 1; /* Fully visible */
  transform: translateY(0); /* Move to original position */
}

/* Button Animation */
.get-in-touch .btn-4 {
  opacity: 0; /* Start hidden */
  transform: translateX(20px); /* Shift to the right */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Transition properties */
}

.get-in-touch .btn-4.visible {
  opacity: 1; /* Fully visible */
  transform: translateX(0); /* Move to original position */
}

.get-in-touch .content .icon {
  height: 5em;
  width: auto;
}

.get-in-touch .content h1 {
  font-size: 3em;
  line-height: 1em;
  background: linear-gradient(to right, #001874, #0284f6);
  background-clip: text;
  color: transparent;
}

.get-in-touch p {
  font-weight: 350;
}

.get-in-touch a {
  align-self: center;
}

/* TESTIMONIALS */

.section .sektion {
  padding: 3em;
  margin: 2em;
}

/* FOOTER STYLES */

footer {
  background-color: var(--blue);
  display: flex;
  flex-direction: column;
  color: var(--light);
  padding-bottom: 0;
}

footer a,
footer a:visited {
  color: #fff;
}

footer .footer-top {
  display: flex;
  justify-content: space-evenly;
  margin-bottom: 1em;
  align-items: center;
}

footer .footer-section.main {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

footer .footer-section.text.socials {
  display: flex;
  flex-direction: column;
  height: 13em;
  justify-content: space-around;
}

footer .footer-section.text.socials .social-item {
  display: flex;
  background: var(--red-gradient);
  width: 100%;
  border-radius: 0.25em;
  border: none;
  gap: 0.5em;
  padding: 0.4em;
  align-items: center;
  color: #fff;
  font-size: 1em;
}

footer .footer-section.text.socials img {
  height: 1em;
  width: auto;
}

footer .footer-section.text {
  height: 13em;
  display: flex;
  flex-direction: column;
  justify-self: start;
  justify-content: space-around;
}

footer .footer-section.socials .social-container {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 1em;
}

footer .footer-section.text.socials .social-container .icon {
  height: 1cap;
  width: auto;
}

footer .footer-section.text h3 {
  margin-left: 0.25em;
  position: relative;
  color: var(--light);
  justify-self: flex-start;
  align-self: flex-start;
}

footer .footer-section.text h3::before {
  /* Underline Heading */
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #aa0000, #ff0000);
  border-radius: 1em;
  bottom: -0.5em;
}

footer .footer-section.text .link-item {
  margin: 0.4em;
}

footer .footer-section .link-item:hover {
  color: red;
}

footer .footer-section.form {
  /* height: 13em; */
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  justify-content: space-around;
  border: 1px solid var(--light);
  border-radius: 0.5em;
  padding: 1em;
  text-align: center;
  flex: 0.4;
}

footer .footer-section.form .inputs {
  padding: 0.3em;
  color: var(--blue);
  outline: none;
}

footer .footer-section.form button {
  align-self: center;
  width: 100%;
}

footer .footer-top .logo {
  width: 7em;
  height: auto;
}

.footer .footer-top .footer-section .links .link-item .icon {
  height: 1cap;
}

.footer .footer-bottom {
  display: flex;
  justify-content: space-around;
  font-size: 0.85em;
  position: relative;
  margin-top: 1em;
}

.footer .footer-bottom::before {
  content: "";
  position: absolute;
  height: 1px;
  width: 90%;
  background: linear-gradient(to right, #aa0000, #ff0000);
  border-radius: 2em;
  top: -0.5em;
}

.footer .footer-bottom .links {
  display: flex;
  gap: 1em;
}

/* UNIVERSAL STYLES */
