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

: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: #130D19;
   --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: "Montserrat", sans-serif;
   color: var(--btn-text-color);
   background-color: var(--primary-bg-color);
}

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

   margin-top: 10.625rem;

   color: var(--heading-text-color1);
}

p {
   font-family: "Montserrat", sans-serif;
   font-weight: 300;
   font-style: normal;

   text-shadow: 0 0.0625rem 0.1875rem #000000;
}

/* utility classes */

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

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

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

/* university description */

.info {
   flex-direction: column;
}

.content {
   font-size: 1.25rem;

   width: 66.5rem;
   height: 21.875rem;

   margin-top: 4.25rem;

   background-image: url(../assets/ncu\ image\ bg.svg);
   background-size: cover;

   border-radius: 1.25rem;
}

.content p {
   width: 32.4375rem;
   line-height: 1.5;
}

.highlight {
   color: var(--section-highlighter-text-color);
   font-weight: 500;
}

.mobile {
   display: none;
}

/* RESPONSIVE CODE */

@media screen and (max-width: 64rem) {
   .container {
      padding-inline: 1.25rem;
   }

   .info h2 {
      margin-top: 8.75rem;
   }

   .content {
      width: 80%;
      height: auto;
   }

   .content p {
      font-size: 1.1rem;
      width: 25rem;
      line-height: 1.4;

      padding: 1.25rem 0;
   }

   .project-logo img {
      margin-left: 5.5rem;
   }
}

@media screen and (max-width: 48rem) {
   .project-logo img {
      margin-left: 0;
   }

   .content {
      width: 90%;
      margin-top: 1.5625rem;
   }

   .content p {
      font-size: 0.9rem;
      width: 18.75rem;
      line-height: 1.2;
   }

   .contact-btn {
      width: 65%;
      margin-top: 3.125rem;
   }

   .project-logo {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
   }
}

@media screen and (max-width: 26.875rem) {
   .container {
      padding-inline: 2.1875rem;
   }

   .content {
      background: none;
      width: 95%;
      text-align: center;
      justify-content: center;
   }

   .info h2 {
      font-size: 1.1875rem;
   }

   .content p {
      width: 100%;
      font-size: 0.875rem;
   }

   .mobile {
      display: block;
   }

   .mobile img {
      width: 21.875rem;

      object-fit: cover;

      margin-top: 2.1875rem;
      padding-right: 0.4688rem;

      justify-content: center;
   }
}

@media screen and (max-width: 23.4375rem) {
   .info h2 {
      font-size: 1.2rem;
   }

   .content p {
      font-size: 0.875rem;
   }

   .mobile img {
      width: 18.75rem;

      object-fit: cover;

      margin-top: 2.1875rem;
      padding-right: 0.4688rem;

      justify-content: center;
   }
}

@media screen and (max-width: 20rem) {
   .info h2 {
      font-size: 1.1rem;
   }

   .content {
      width: 100%;
   }

   .content p {
      font-size: 0.8125rem;
   }

   .mobile img {
      width: 15.625rem;
   }
}