/* 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;

   /* outline: 0.0625rem solid red; */
}

:root {
   --card-border-color: #4BB3FD;

   --form-textarea-color: #95cfff15;

   --submit-btn-textcolor-base: #0766AD;
   --submit-btn-bg-color-base: #95cfff15;
   --submit-btn-textcolor-filled: #F3F3F3;
   --submit-btn-bg-color-filled: #0766AD;

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

   --primary-bg-color: #130D19;

   --btn-hover-bg-color: #dd5c16;

   --heading-text-color1: #FD9550;
   --section-primary-text-color: #FFFFFF;
   --section-highlighter-text-color: #FC934F;

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

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

   overflow: hidden;
}

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

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

/* utility classes */

.container {
   padding-inline: var(--padding-inline-section);
}

/* 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;
}

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

   transition: all .2s linear;
}

.project-logo img {
   width: 10rem;
}

/* Apply hover effect only on non-touch devices */
@media (hover: hover) and (pointer: fine) {
   .project-logo:hover {
      transform: scale(1.05) rotate(-2deg);
   }
}

/* contact form here */
.card2 {
   max-width: 43.75rem;
   padding: 0.625rem;
   border-radius: 0.93rem;

   margin-top: 26.875rem;

   position: relative;
   top: 55%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.form-header {
   margin-bottom: 0.9375rem;
   text-align: center;
   font-size: 1.2rem;

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

   gap: 1.5625rem;
}

.title {
   color: var(--heading-text-color1);
}

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

.icon-container lord-icon {
   width: 3.125rem;
   height: 3.125rem;
}

form input,
form textarea {

   position: relative;
   left: 50%;
   transform: translate(-50%, 0);

   text-align: left;

   border: none;
   border-radius: 0.93rem;

   width: 90%;
   height: 4.375rem;

   /* a verticle-scroll bar appears when content exeeds the no. of rows specified */
   overflow-y: auto;

   /* to remove the expanding arrow from textarea box (by default shows up)  */
   resize: none;

   background-image: linear-gradient(to right, var(--submit-btn-bg-color-base), var(--navbar-gradient-light-color));

   margin: 0.4rem 0;
   padding: 0.9375rem;

}

form input:focus,
textarea:focus {
   outline: none;
}

form textarea {
   height: 10.625rem;
}

#submitBtn {
   position: relative;
   left: 50%;
   transform: translate(-50%, 0);

   margin-top: 0.625rem;

   width: 9rem;
   height: 3rem;

   text-align: center;

   border: none;
   border-radius: 5rem;

   font-size: 1.0625rem;

   color: var(--section-primary-text-color);
   background-color: var(--navbar-gradient-light-color);

   transition: all 0.15s linear;
}

/* toggled when all form fields are filled by user */
#submitBtn.filled {
   background-color: var(--btn-hover-bg-color);
   color: var(--submit-btn-textcolor-filled);
   font-weight: bold;
   cursor: pointer;
}

/* RESPONSIVE CODE */

/* for laptop and tablets */
@media screen and (max-width: 48rem) {
   .nav-items {
      justify-content: center;
      text-align: center;
   }

   .card2 {
      margin-top: 25rem;
   }

   .form-header {
      flex-direction: column-reverse;
      gap: 0;
   }

   .icon-container lord-icon {
      width: 7.5rem;
      height: 7.5rem;
   }
}

/* for large and medium mobiles */
@media screen and (max-width: 26.875rem) {
   .icon-container lord-icon {
      width: 6.25rem;
      height: 6.25rem;
   }

   .title h3 {
      font-size: 1.1rem;
      margin-bottom: 1.25rem;
   }

   .card2 {
      width: 90%;
      padding: 1rem;

      margin-top: 22.5rem;
   }

   form input,
   form textarea {
      height: 3rem;
      border-radius: 0.63rem;
   }

   form textarea {
      height: 8rem;
   }
}

/* for small mobile */
@media screen and (max-width: 20rem) {
   .container {
      padding-inline: 0;
   }
}