/* importing google fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

/* default resets for all elements */

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;

   /* to check the css layout */
   /* outline: 0.0625rem solid red; */
}

/* user text selection style on webpage */
::selection {
   color: #ffffff;
   background-color: var(--contact-btn-outline-color);
}

:root {
   --navbar-gradient-light-color: #FE9145;
   --navbar-gradient-dark-color: #1E0D2F;
   --navbar-text-color: #FFFFFF;

   --intro-text-color: #F4E9FF;
   --section-primary-text-color: #EBD8FF;
   --section-highlighter-text-color: #FC934F;

   --keywords-text-color: #FD9550;
   --heading-text-color1: #FD9550;
   --heading-text-color2: #130D19;
   --sub-heading-text-color: #FFFFFF;

   --contentbox-gradient-endcolor: #1F0E30;


   --btn-bg-color: #EE6418;
   --btn-hover-bg-color: #dd5c16;
   --btn-text-color: #FFFFFF;


   --primary-bg-color: #0c0612;
   --secondary-bg-color: #000000;
   --tertiary-bg-color: #ffffff;

   --footer-bar-color: #FE9146;
   --footer-primary-text-color: #1E0E2E;

   --contact-btn-outline-color: #EE6418;
   --contact-btn-primary-text-color: #FFFFFF;
   --contact-btn-hover-bg-color: #EE6418;
   --contact-btn-hover-text-color: #130D19;

   --padding-inline-section: 6.6875rem;
}

body {
   font-family: 'Poppins', sans-serif;
   color: var(--section-primary-text-color);
   background-color: var(--primary-bg-color);
}

h1 {
   font-family: "Montserrat", sans-serif;
   font-weight: 700;
   font-style: normal;
   font-size: 5.9375rem;
   color: var(--keywords-text-color);
}

h2 {
   font-family: "Montserrat", sans-serif;
   font-weight: 700;
   font-style: normal;
}

p {
   font-family: "Roboto", sans-serif;
   font-weight: 400;
   font-style: normal;
   font-size: 1.4375rem;
}

a {
   text-decoration: none;
   display: inline-block;

   font-family: "Roboto", sans-serif;
   font-style: normal;
   font-weight: 500;
}

ul {
   list-style: none;
}

/* utility classes */

.container {
   padding-inline: var(--padding-inline-section);
   /* to hide the empty space while making the website responsive */
   overflow: hidden;
}

.flex {
   display: flex;
   align-items: center;
}

.cta-btn {
   background-color: var(--btn-bg-color);
   color: var(--btn-text-color);
   box-shadow: 0 0.1875rem 0.625rem rgba(0, 0, 0, 0.35);

   width: 13.5625rem;
   height: 3.8125rem;

   font-size: 1.4375rem;

   padding-inline: 1.875rem;
   padding-block: 0.8125rem;

   border-radius: 0.625rem;

   text-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.35);

   display: flex;
   align-items: center;
   justify-content: center;

   transition: 0.2 ease-in;
}

/* nav bar */

.main-nav {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;

   background-image: linear-gradient(to right, var(--navbar-gradient-light-color), var(--navbar-gradient-dark-color));

   box-shadow: 0 0.1875rem 0.625rem rgba(0, 0, 0, 0.35);

   height: 5rem;

   padding-top: 1.6875rem;
   padding-bottom: 1.6875rem;

   border-bottom-left-radius: 2.5rem;
   border-bottom-right-radius: 2.5rem;

   font-size: large;

   z-index: 10;

   user-select: none;
   -webkit-user-select: none;
}

.nav-items {
   justify-content: space-between;
}

.project-logo {
   margin-top: .35rem;
   cursor: pointer;

   transition: all .2s linear;
}

@media (hover: hover) and (pointer: fine) {
   .project-logo:hover {
      transform: scale(1.05) rotate(-2deg);
   }
}

.nav-links {
   flex-basis: 55rem;
   /* controlling the initial size and behavior of flex items within a flex container. */
}

.nav-links ul {
   justify-content: end;
   gap: 5.625rem;
}

.hover-link {
   color: var(--navbar-text-color);
   text-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.35);
   transition: all 0.1s ease-in;
   font-weight: 400;
}

.hover-link:hover {
   cursor: pointer;
   color: #dedede;
}

.nav-toggle {
   display: none;
}

.nav-toggle .material-symbols-rounded {
   font-size: 3.125rem;
}

/* fade in animation for dropdown menu */
@keyframes fadeIn {
   from {
      opacity: 0;
      top: 10%;
   }

   to {
      opacity: 1;
      top: 20%;
   }
}

/* account options in dropdown menu */
.dropdown-menu {
   display: none;
}

.dropdown-menu.active {
   z-index: -1;

   display: block;
   position: absolute;

   width: 8.75rem;

   transform: translateX(-1.5625rem);

   padding-top: 3.4375rem;
   padding-bottom: 0.3125rem;
   padding-inline: 1.25rem;

   background-color: rgba(0, 0, 0, 0.2);
   backdrop-filter: blur(6.25rem);
   -webkit-backdrop-filter: blur(6.25rem);

   border-radius: 0.625rem;

   animation: fadeIn 0.5s ease forwards;
   /* called the animation function we created above with 'forwards' property to retrain the final state of animation-end */
}

.dropdown-menu ul li a {
   display: flex;
   align-items: center;
   justify-content: space-between;

   margin-inline: 0.25rem;
}

.dropdown-menu ul li {
   margin-block: 0.9375rem;
}

.dropdown-menu img {
   width: 1.25rem;
}

.sub-hover-link {
   color: var(--navbar-text-color);

   font-weight: 400;

   cursor: pointer;

   transition: all 0.1s ease;
}

@media (hover: hover) and (pointer: fine) {
   .sub-hover-link:hover {
      color: var(--heading-text-color1);
      transform: translateX(0.125rem);
   }
}

/* USER SIGN OUT btn (hidden by default) */
.signout-btn {
   font-weight: 400;
   font-size: 1.1rem;

   color: var(--navbar-text-color);

   cursor: pointer;

   transition: all 0.1s ease;
}

@media (hover: hover) and (pointer: fine) {
   .signout-btn:hover {
      color: var(--heading-text-color1);
      transform: translateX(0.125rem);
   }
}

.signout-btn span {
   color: white !important;
}

.dropdown-menu .signout-btn {
   margin-inline: 0rem;
}

/* hero section */
@keyframes entry {
   from {
      opacity: 0;
      transform: translateY(-3.125rem);
   }

   to {
      opacity: 1;
      transform: translateY(0rem);
   }
}

.intro-text {
   color: var(--intro-text-color);
}

.header-section {
   justify-content: space-between;
}

.header-right {
   animation: entry 0.9s ease-in forwards;
}

/* hiding the small astronaut image in desktop view */
.for-mobile {
   display: none;
}

.header-left h1 {
   font-size: 4.0625rem;
   margin-bottom: 1.6875rem;
   animation: entry 0.9s ease-in forwards;
}

.header-left p {
   margin-bottom: 1.6875rem;
   padding-right: 0.625rem;
   width: 43.75rem;
   animation: entry 0.7s ease-in forwards;
}

.cta-btn.signup-btn {
   animation: entry 0.5s ease-in forwards;
}

.intro-text-in-mobile {
   display: none;
}

/* works on non-touch devices only */
@media (hover: hover) and (pointer: fine) {
   .cta-btn:hover {
      cursor: pointer;
      background-color: var(--btn-hover-bg-color);
   }

   .cta-btn:active {
      transform: translateY(0.125rem);
   }
}

/* features section */

.features-section {
   background-color: var(--secondary-bg-color);
   max-width: 100%;
   height: auto;
   padding-bottom: 5rem;
}

.features-section h2 {
   color: var(--heading-text-color1);
   text-align: center;
   padding-top: 3.75rem;
   margin-bottom: 2.125rem;
}

.contentbox {
   justify-content: space-evenly;
   flex-wrap: wrap;
   /* to make 4 columns into less */
   gap: 1.875rem;
}

.box {
   width: 17.1875rem;
   height: 20.4375rem;

   background-image: url(./assets/box.svg);
   background-size: cover;
   background-position: bottom;
   border-radius: 1.25rem;

   flex-direction: column;
   gap: 2.5rem;

   padding-inline: 1.9375rem;
   padding-bottom: 1.9375rem;

   margin-top: 3.525rem;

   align-self: flex-start;
}

.box lord-icon {
   width: 9.5625rem;
   height: 9.5625rem;
}

.box p {
   font-size: 1rem;
   margin: 0rem 0.625rem;
   color: var(--section-primary-text-color);
   letter-spacing: 0.0375rem;
}

/* about section */

.about-section {
   background-color: var(--tertiary-bg-color);
   max-width: 100%;
   height: auto;
   padding-bottom: 3.125rem;
}

.about-section h2 {
   color: var(--heading-text-color2);
   text-align: center;
   font-weight: 800;
   padding-top: 3.75rem;
   margin-bottom: 2.125rem;
}

.icons {
   display: grid;
   grid-template-rows: 6.25rem 6.25rem 6.25rem;
   grid-template-columns: 6.25rem 6.25rem 6.25rem 6.25rem;

   row-gap: 4rem;
   column-gap: 9rem;

   justify-content: center;

   padding: 3.75rem 0 3.75rem 0;

   user-select: none;
}

.icon-width {
   margin-left: 10%;

   width: 5rem;
   transition: transform 0.2s ease;
   will-change: transform;
   /* help browser's do the smooth animation */
}

.icon-width:hover {
   transform: scale(1.2);
}

.item1 {
   grid-area: 1 / 1 / 1 / 2;
}

.item2 {
   grid-area: 1 / 2 / 1 / 3;
}

.item3 {
   grid-area: 1 / 3 / 1 / 4;
}

.item4 {
   grid-area: 1 / 4 / 1 / 5;
}

.item5 {
   grid-area: 2 / 1 / 2 / 2;
}

.item6 {
   grid-area: 2 / 2 / 2 / 3;
}

.item7 {
   grid-area: 2 / 3 / 2 / 4;
}

.item8 {
   grid-area: 2 / 4 / 2 / 5;
}

.item10 {
   grid-area: 3 / 1 / 3 / 2;
}

.item9 {
   grid-area: 3 / 2 / 3 / 3;
   width: 6.25rem;
}

.item11 {
   grid-area: 3 / 3 / 3 / 4;
}

.item12 {
   grid-area: 3 / 4 / 3 / 5;
   width: 4.2rem;
   margin-left: 1rem;
}

/* services section */

.services-section {
   background-color: var(--secondary-bg-color);
   max-width: 100%;
   height: auto;
   padding-bottom: 5rem;
}

.services-section h2 {
   color: var(--heading-text-color1);
   text-align: center;
   padding-block: 4.125rem;
   font-size: 1.875rem;
}

.cards {
   justify-content: space-between;
   flex-direction: column;
   gap: 5.75rem;
   align-items: center;
}

.service {
   width: 100%;
   height: 28.5rem;

   background-image: url(./assets/Rectangle\ 2.svg);
   background-size: cover;
   border-radius: 1.25rem;

   align-items: center;
   justify-content: space-between;
   padding-inline: 5.5rem;
}

.service lord-icon {
   width: 26.5rem;
   height: 26.5rem;
}

.service .s3-icon {
   width: 23rem;
   height: 23rem;
}

.content {
   flex-direction: column;
}

.subheading {
   color: var(--sub-heading-text-color);
   font-weight: 700;
   text-align: center !important;
   margin-bottom: 4.125rem;
   margin-top: 0.9375rem;
}

.content p {
   font-size: 1.25rem;
   width: 25rem;
   text-align: left;
   line-height: 1.25;
}

.highlighted-text {
   color: var(--section-highlighter-text-color);
}

.content a {
   height: 2.5625rem;
   width: fit-content;

   padding-block: 0.75rem;
   padding-inline: 1.5625rem;

   font-size: 1.25rem;
   font-weight: 400;

   margin-top: 4.125rem;
   margin-left: 65%;
}

/* user can use services only when he signs in  */
.service-btn1,
.service-btn2,
.service-btn3,
.service-btn4 {
   pointer-events: none;
   cursor: not-allowed;

   filter: grayscale(100%);
   opacity: 0.5;
}

.service-btn1.active,
.service-btn2.active,
.service-btn3.active,
.service-btn4.active {
   pointer-events: all;
   cursor: pointer;

   filter: grayscale(0%);
   opacity: 1;
}

/* footer section */

footer {
   width: 100%;
   height: 5.65rem;
   background-color: var(--footer-bar-color);
}

.links {
   justify-content: space-evenly;
}

footer a {
   font-size: 1.25rem;
   color: var(--footer-primary-text-color);
   margin-block: 2.1rem;

   transition: all .2s linear;
}

footer a:hover {
   transform: scale(1.1);
   cursor: pointer;
}

/* subfooter contant us button */

.subfooter a {
   font-size: 1.25rem;
   font-weight: 400;
   color: var(--contact-btn-primary-text-color);

   cursor: pointer;
}

.subfooter lord-icon {
   width: 2.5rem;
   height: 2.5rem;
}

.contact-btn {
   justify-content: center;

   width: 100%;
   height: 3.75rem;

   border: 0.125rem solid var(--contact-btn-outline-color);
   border-radius: 1rem;

   margin-block: 2.5rem;

   padding: 0;
   padding-inline: 2.0625rem;

   gap: 1rem;

   transition: background-color .3s ease;
}

/* works on non-touch devices only */
@media (hover: hover) and (pointer: fine) {
   .contact-btn:hover {
      background-color: var(--contact-btn-hover-bg-color);
   }

   .contact-btn:active {
      transform: translateY(0.125rem);
   }
}

/* Project Copyright at last */
.ack {
   padding-inline: var(--padding-inline-section);

   padding-top: 1.25rem;
   padding-bottom: 0.625rem;

   display: flex;
   align-items: center;
   justify-content: center;

   flex-wrap: wrap;

   color: rgb(80, 80, 80);
}

.ack p {
   font-family: "Montserrat", sans-serif;
   font-size: 1.25rem;
}

.ack a {
   text-decoration: underline;
   color: rgb(80, 80, 80);
   cursor: pointer;

   font-family: "Montserrat", sans-serif;
   font-size: 1.25rem;
   font-weight: 500;

   margin-bottom: 2.5rem;
}

/* Banner: Tell user to sign in */
@keyframes scroll {
   0% {
      transform: translateX(10%);
   }

   100% {
      transform: translateX(-100%);
   }
}

#banner-notification {
   display: flex;
   align-items: center;

   width: 100%;
   height: 2.5rem;

   background-color: rgba(0, 0, 0, 0.5);
   backdrop-filter: blur(3.125rem);
   -webkit-backdrop-filter: blur(3.125rem);

   font-size: 1.375rem;
   font-weight: 400;

   z-index: 1;

   position: fixed;
   bottom: 0rem;

   user-select: none;
   pointer-events: none;
   overflow: hidden;
}

#banner-text {
   display: inline-block;
   white-space: nowrap;
   background: linear-gradient(to right, #FF62A5, #FF8C00, #FFD700, #ADFF2F, #00CED1, #1E90FF, #996df3, #f22756);
   background-clip: text;
   -webkit-background-clip: text;
   color: transparent;
   animation: scroll 30s linear infinite;
}