:root {
   --text-color: #333;
   --background-color: #f4f4f4;
   --header-background-color: #0078D4; /* Azure blue */
   --header-text-color: #FFFFFF;
   --light-color: #f8f9fa;
   --footer-background-color: #4CAF50;
   --footer-text-color: #FFFFFF;
   --breakpoint-sm: 576px;
   --breakpoint-md: 768px;
   --breakpoint-lg: 992px;
   --breakpoint-xl: 1200px;
}

/* Reset styles */
body,
h1,
h2,
p {
   margin: 0;
   padding: 0;
}

/* General styles */
body {
   font-family: Arial, sans-serif;
   color: var(--text-color);
   background-color: var(--background-color);
   line-height: 1.6;
   min-height: 100vh;
   display: grid;
   grid-template-areas:
      "header header"
      "main aside"
      "footer footer";
   grid-template-rows: auto 1fr auto;
   grid-template-columns: 2fr 1fr;
   gap: 20px;
   margin: 0;
   padding: 0;
}

header {
   grid-area: header;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 1rem;
   background-color: var(--header-background-color);
   color: var(--header-text-color);
   width: 100%;
   box-sizing: border-box;
}

header h1 {
   margin: 0;
   font-size: 2.5rem;
}

.header-app-logo img {
   width: 50%;
   height: auto;
   vertical-align: middle;
   transform: translateY(15px);
}

main {
   grid-area: main;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   padding: 1rem;
}

aside {
   grid-area: aside;
   background-color: var(--light-color);
   padding: 1rem;
}

footer {
   grid-area: footer;
   background-color: var(--footer-background-color);
   color: var(--footer-text-color);
   text-align: center;
   padding: 1rem;
   font-size: 0.875rem;
}

/* Section styling */
.section {
   padding: 40px 20px;
   margin: 20px auto;
   background-color: white;
   max-width: 1000px;
   border-radius: 10px;
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.section p {
   font-size: 1.1rem;
   color: #666;
}

#home p {
   font-size: 1.2rem;
}

#contact h2 {
   font-size: 2rem;
   margin-bottom: 20px;
}

#contact a {
   color: var(--header-background-color);
   text-decoration: none;
}

#contact a:hover {
   text-decoration: underline;
}

/* Responsive Design */
@media (max-width: var(--breakpoint-md)) {
   body {
      grid-template-areas:
         "header"
         "main"
         "aside"
         "footer";
      grid-template-columns: 1fr;
   }

   main {
      grid-template-columns: 1fr;
   }

   header h1 {
      font-size: 2rem;
   }

   .section {
      padding: 20px;
      margin: 10px;
   }
}
