/* Fonts */

:root {
   --primary-color: #00aef0; /* Change this value to your desired primary color */
   --primary-color-dark: #020073; /* Change this value to your desired primary color */
}

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&display=swap");

/* Reset and Base Styles */

* {
   margin: 0;
   padding: 0;
   -webkit-box-sizing: border-box !important;
   -moz-box-sizing: border-box !important;
   box-sizing: border-box !important;
}

/* Body and Typography */

html {
   font-family: "Poppins", sans-serif;
   scroll-behavior: smooth;
}

body {
   line-height: 1.6;
   overflow-x: hidden;
   position: relative;
}

a {
   text-decoration: none;
   color: inherit;
   scroll-behavior: smooth;
}

h1 {
   font-size: 50px;
   color: #151517;
   font-weight: 500;
   line-height: 1.2;
}

h2 {
   font-size: 42px;
   line-height: 1.2;
   color: #151517;
   font-weight: 500;
}

h3 {
   font-weight: 700;
   color: #151517;
   font-size: 22px;
   line-height: 1.4;
}

h4 {
   font-weight: 500;
   color: #151517;
   font-size: 18px;
   line-height: 1.4;
}

/* Layout and Containers */

.container {
   max-width: 1300px;
   margin: auto;
}

.g-40 {
   display: grid;
   grid-template-columns: 1fr;
   grid-gap: 40px;
}

.g-30 {
   display: grid;
   grid-template-columns: 1fr;
   grid-gap: 30px;
}

.g-20 {
   display: grid;
   grid-template-columns: 1fr;
   grid-gap: 20px;
}

.g-10 {
   display: grid;
   grid-template-columns: 1fr;
   grid-gap: 10px;
}

.g-5 {
   display: grid;
   grid-template-columns: 1fr;
   grid-gap: 5px;
}

.g-7-2 {
   display: grid;
   grid-template-columns: 7fr 2fr;
   grid-gap: 30px;
   align-items: center;
}

.g-3-2 {
   display: grid;
   grid-template-columns: 3fr 2fr;
   grid-gap: 30px;
   align-items: center;
}

.g-2-3 {
   display: grid;
   grid-template-columns: 2fr 3fr;
   grid-gap: 30px;
   align-items: center;
}

.g-1-1-1 {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   grid-gap: 30px;
   align-items: center;
}

.g-1-1 {
   display: grid;
   grid-template-columns: 1fr 1fr;
   grid-gap: 30px;
   align-items: center;
}

svg,
img {
   width: 100%;
   height: auto;
}

/* Buttons */

.btn-m,
.btn-s {
   font-family: "Poppins", sans-serif;
   cursor: pointer;
   border: none;
}

.btn-m {
   border-radius: 5px;
   padding: 0.5rem 1.5rem;
   font-size: 18px;
   font-weight: 400;
   display: flex;
   align-items: center;
   border-radius: 3px;
   justify-content: center;
   transition: background-color 0.2s ease;
   background: var(--primary-color);
   color: #fff;
}

.btn-s {
   font-size: 16px;
   padding: 0.4rem 1.3rem;
}

.btn-m:hover {
   background: var(--primary-color-dark);
}

video {
   max-width: 100%;
}

/* Text Colors */

.c-pd {
   color: var(--primary-color-dark) !important;
}

.c-p {
   color: var(--primary-color) !important;
}

.c-w {
   color: #fff;
}

.c-lw {
   color: #dbdbdb;
}

.c-g {
   color: #444;
}

/* Text Alignments */

.t-c {
   text-align: center;
}

/* Form Elements */

input,
textarea {
   font-family: "Poppins", sans-serif;
   outline: none;
}

/* Placeholders for Textarea */

textarea::-webkit-input-placeholder,
textarea:-moz-placeholder,
textarea::-moz-placeholder,
textarea:-ms-input-placeholder,
textarea::placeholder {
   font-family: "Poppins", sans-serif;
}

/* Spacing Utilities */

.mt-30 {
   margin-top: 30px;
}

.mt-25 {
   margin-top: 25px;
}

.mt-20 {
   margin-top: 20px;
}

.mt-15 {
   margin-top: 15px;
}

.ml-15 {
   margin-left: 15px;
}
.ml-10 {
   margin-left: 10px;
}
.mr-15 {
   margin-right: 15px;
}
.mr-10 {
   margin-right: 10px;
}

/* Font Sizes */

.f-l {
   font-size: 18px;
}

.f-s {
   font-size: 14px;
}

.f-b {
   font-weight: bold;
}

/* Sections and Inner Body */

.inner-body {
   overflow-x: hidden;
}

section {
   padding: 4rem 1.5rem;
}

/* Header Styling */

header {
   margin-top: 110px;
   padding: 2rem 1.5rem;
}

.mt-30 {
   margin-top: 30px;
}

.mxw-700 {
   max-width: 700px;
}

.mxw-500 {
   max-width: 500px;
}

.mxw-300 {
   max-width: 300px;
}

.mxw-40 {
   max-width: 40px;
}

.mxw-30 {
   max-width: 30px;
}

.m-a {
   margin: 0 auto;
}

/* Media Queries */

@media only screen and (max-width: 1200px) {
   h1 {
      font-size: 40px;
   }
   h2 {
      font-size: 35px;
   }
   h3 {
      font-size: 16px;
   }
   .f-l,
   body,
   .btn-m {
      font-size: 16px;
   }
}
.hide-desk {
   display: none;
}
@media only screen and (max-width: 750px) {
   .hide-desk {
      display: block;
   }
   .hide-mob {
      display: none;
   }
   h1 {
      font-size: 30px;
   }
   h2 {
      font-size: 25px;
   }
   header {
      padding: 3rem 1rem;
   }
   .f-l {
      font-size: 15px;
   }
   section {
      padding: 2rem 1rem;
   }

   .g-1-1 {
      grid-template-columns: 1fr;
   }
   .g-1-1,
   .g-7-2,
   .g-3-2,
   .g-2-3 {
      grid-template-columns: 1fr;
   }
   .g-1-1-1 > .visual,
   .g-7-2 > .visual,
   .g-3-2 > .visual,
   .g-2-3 > .visual {
      max-width: 300px;
   }
}

.buttons-wrapper {
   display: flex;
   align-items: center;
   gap: 2rem;
   flex-wrap: wrap;
}

.icon-text-big {
   display: grid;
   grid-template-columns: 30px 1fr;
   grid-gap: 10px;
   align-items: center;
}

.icon-text {
   display: grid;
   grid-template-columns: 15px 1fr;
   grid-gap: 10px;
   align-items: center;
}

/* NAV */

nav {
   padding: 1rem 1.5rem;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 100;
   width: 100vw !important;
   background-color: #fff !important;
}

nav.top {
   background: none !important;
}

nav .inner-nav {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

nav .logo {
   max-width: 300px !important;
   height: auto !important;
}

nav .mobile .logo {
   display: none;
}

nav .links {
   display: flex;
   align-items: center;
   gap: 5rem;
}

nav .inner-nav .hamburger {
   display: none;
   grid-template-columns: 1fr;
   grid-gap: 12px;
   width: 40px;
}

nav .inner-nav .hamburger div {
   background: var(--primary-color);
   height: 2px !important;
   -webkit-transition: opacity 0.3s ease, margin 0.3s ease,
      -webkit-transform 0.3s ease;
   transition: opacity 0.3s ease, margin 0.3s ease, -webkit-transform 0.3s ease;
   -o-transition: opacity 0.3s ease, margin 0.3s ease, -o-transform 0.3s ease;
   -moz-transition: transform 0.3s ease, opacity 0.3s ease, margin 0.3s ease,
      -moz-transform 0.3s ease;
   transition: transform 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
   transition: transform 0.3s ease, opacity 0.3s ease, margin 0.3s ease,
      -webkit-transform 0.3s ease, -moz-transform 0.3s ease,
      -o-transform 0.3s ease;
   width: 100%;
}

nav .inner-nav .hamburger div:last-child {
   margin-left: auto;
}

nav .inner-nav .hamburger div:first-child {
   -webkit-transform-origin: top left;
   -moz-transform-origin: top left;
   -ms-transform-origin: top left;
   -o-transform-origin: top left;
   transform-origin: top left;
}

.nav-open nav .inner-nav .hamburger div:first-child {
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
   margin: 0 auto;
}

.nav-open nav .inner-nav .hamburger div:nth-child(2) {
   -webkit-transform: translateX(-100%);
   -moz-transform: translateX(-100%);
   -ms-transform: translateX(-100%);
   -o-transform: translateX(-100%);
   transform: translateX(-100%);
   opacity: 0;
}

nav .inner-nav .hamburger div:last-child {
   -webkit-transform-origin: top left;
   -moz-transform-origin: top left;
   -ms-transform-origin: top left;
   -o-transform-origin: top left;
   transform-origin: top left;
}

.nav-open nav .inner-nav .hamburger div:last-child {
   -webkit-transform: rotate(-45deg);
   -moz-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   transform: rotate(-45deg);
   margin: 0 auto;
}

aside a {
   color: var(--primary-color);
}

aside {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background-color: #ffffffaf;
   z-index: 100;
   -webkit-backdrop-filter: blur(6px);
   backdrop-filter: blur(6px);
   display: -webkit-box;
   display: -webkit-flex;
   display: -moz-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -webkit-align-items: center;
   -moz-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -webkit-justify-content: center;
   -moz-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -webkit-flex-direction: column;
   -moz-box-orient: vertical;
   -moz-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-transition: -webkit-transform 0.4s ease;
   transition: -webkit-transform 0.4s ease;
   -o-transition: -o-transform 0.4s ease;
   -moz-transition: transform 0.4s ease, -moz-transform 0.4s ease;
   transition: transform 0.4s ease;
   transition: transform 0.4s ease, -webkit-transform 0.4s ease,
      -moz-transform 0.4s ease, -o-transform 0.4s ease;
   -webkit-transform: translateX(-100%);
   -moz-transform: translateX(-100%);
   -ms-transform: translateX(-100%);
   -o-transform: translateX(-100%);
   transform: translateX(-100%);
   color: #fff;
}

.nav-open aside {
   -webkit-transform: translateX(0);
   -moz-transform: translateX(0);
   -ms-transform: translateX(0);
   -o-transform: translateX(0);
   transform: translateX(0);
}

aside > * {
   margin-bottom: 1rem;
}

aside * {
   font-size: 18px !important;
}

aside > :last-child {
   margin-bottom: 0;
}

@media only screen and (max-width: 1300px) {
   nav .links {
      gap: 1.5rem;
   }
}

@media only screen and (max-width: 1000px) {
   nav .inner-nav .links {
      display: none;
   }
   nav .inner-nav .hamburger {
      display: grid;
   }
}

@media only screen and (max-width: 700px) {
   nav .logo {
      max-width: 180px !important;
   }
   nav .desktop .logo {
      display: none;
   }
   nav .mobile .logo {
      display: block;
   }
}

/* FOOTER */

footer {
   background: #ededed;
}

footer .logo {
   max-width: 250px;
}

footer .inner-footer {
   padding: 2rem 1.5rem;
   align-items: flex-start;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 2rem;
}

footer .socials-buttons img {
   max-width: 40px;
}

textarea,
select,
input {
   display: block;
   border: 1px solid var(--primary-color);
   padding: 0.7rem 1rem;
   width: 100%;
   resize: vertical;
}

textarea:hover,
select:hover,
input:hover,
textarea:focus,
select:focus,
input:focus,
textarea:active,
select:active,
input:active {
   border-color: var(--primary-color-dark);
}
