* {
   margin: 0;
}

html, body {
   height: 100%;
}

body {
   font-family: Quicksand, serif;
   background-color: whitesmoke;
   display: flex;
   flex-direction: column;
}

/* NAVIGATION */

nav {
   padding: 1em 0;
   background-color: #2D2D34;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

nav, nav a:link, nav a:visited, .btn-toggle {
   color: #F1E4E8;
}

.logo-title {
   display: flex;
   align-items: center;
   margin-left: 1rem;
}

nav img {
   width: 20%;
}

nav h1 {
   font-family: Calistoga, sans-serif;
   font-weight: normal;
   font-size: 2.5rem;
   line-height: auto;
   letter-spacing: .125rem;
   padding-left: .75rem;
}

nav ul {
   display: flex;
   list-style-type: none;
   text-align: center;
   font-size: 1.1rem;
}

nav li {
   padding-right: 1.8rem;
}

nav a:link {
   text-decoration: none;
}

nav a:hover, .active-link {
   color: #B97375;
}

.active-link {
   font-weight:bold;
}

/* MAIN - CONTAINER - GRID */

.home-main {
   flex: 1;
   display: grid;
}

.container {
   display: grid;
   grid-template-columns: 70% 30%;
   grid-template-areas: 
   "text avatar";
}

.text, .avatar {
   align-content: center;
}

.text {
   grid-area: text;
   padding-left: 3rem;
   padding-right: 6rem;
   z-index: 1;
   text-align: center;
   line-height: 1.5;
}

h2 {
   font-family: Calistoga, sans-serif;
   font-weight: normal;
   font-size: 2.5rem;
   text-align: center;
   color: #B97375;
   padding-bottom: .75em;
}

p {
   padding-bottom: 1em;
   margin: auto 25%;
   text-align: left;
   font-weight: 600;
   color: #2D2D34;
}

.view-projects {
   border: none;
   border-radius: 20px;
   margin-top: 1em;
   padding: 1em;
   background-color: #B97375;
   color: whitesmoke;
   font-family: Calistoga, sans-serif;
   font-size: 1rem;
}

.view-projects a, a:visited {
   color: whitesmoke;
   text-decoration: none;
}

.view-projects a:hover {
   text-decoration: underline;
}

.avatar {
   grid-area: avatar;
   background-color: #F1E4E8;
   position: relative;
   align-items: center;
}

.avatar img {
   position: absolute;
   top: 45%;
   left: 0;
   transform: translate(-50%, -45%);
   max-width: 100%;
}

footer {
   width: 100%;
   text-align: center;
   color: #2D2D34;
   background-color: #CEB1BE;
   padding: 1em 0;
   border-top: 3px solid #2D2D34;
   font-weight: 700;
}

/* ABOUT */

.about-container {
   display: flex;
   flex-direction: column;
   align-items: center;
   background: linear-gradient(0deg, #F1E4E8, #F5F5F5);
   padding: 2em 0;
}

.about-container img {
   width: 350px;
}

.about-container p {
   font-weight: 500;
   line-height: 1.75rem;
   margin: 0 10%;
}

/* CONTACT FORM PAGE */
main {
   flex: 1;
}

.contact-heading {
   padding-top: 1em;
}

.contact-text {
   margin: 0;
   text-align: center;
   margin-bottom: .75em;
}

form {
   background-color: #F1E4E8;
   max-width: 75%;
   margin: auto;
   padding: 2em;
   border-radius: 30px;
   border: 7px solid #CEB1BE;
   margin-bottom: 2em;
}

.parts {
   display: flex;
   flex-direction: column;
}

label, form button {
   font-weight: 600;
   padding-bottom: .50em;
}

input {
   height: 2.50em;
}

textarea {
   resize: none;
}

form button {
   margin: auto;
   border-radius: 20px;
   border: none;
   background-color:#B97375;
   color:whitesmoke;
   padding: 1em;
   font-size: 1rem;
}

#thanks {
   font-size: .75rem;
   font-weight: 600;
   text-align: center;
   margin-top: 2em;
}

#thanks :link {
   color:#2D2D34;
}

/* MOBILE 1024px */

@media (max-width: 1024px) {

   .container {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-areas:
      "avatar"
      "text";
      background: #F1E4E8;
      background: linear-gradient(0deg, #F1E4E8, #F5F5F5);
   }

   nav ul {
      font-size: 1rem;
   }

   .avatar {
      justify-content: center;
      align-items: center;
      background: none;
      display: flex;
   }
      
   .avatar img {
      position: static;
      transform: none;
      height: auto;
      max-width: 400px;
   }

   h2 {
      font-size: 2rem;
   }

   .text {
      padding: 10px 0;
      margin-bottom: 50px;
   }

   p {
      margin: auto 10%;
   }

   .view-projects {
      padding: 0.75em;
      font-size: 0.9rem;
   }

   footer {
      font-size: .8rem;
   }

   form {
      max-width: 60%;
      border: 4px solid #CEB1BE;
   }

   label {
      font-size: .8rem;
   }

   .contact-text {
      margin: 1em 2.5em;
   }
}

/* MOBILE BUTTON TOGGLE */

.btn-toggle {
   display: none;
   font-size: 2rem;
   padding-right: 2rem;
}

/* MOBILE 850px */

@media (max-width: 850px) {
   nav {
      display: flex;
      flex-direction: column;
      padding: 1em;
   }

   .logo-title {
      display: flex;
      align-items: center;
      width: 100%;
   }

   nav h1 {
      font-size: 2rem;
   }

   nav img {
      width: 10%;
   }

   .btn-toggle {
      display: block;
      background: none;
      border: none;
      cursor: pointer;
      font-size: 2rem;
      padding-left: 1em;
   }

   .links {
      overflow: hidden;
      max-height: 0;
      flex-direction: column;
      text-align: left;
      gap: .5rem;
      margin-top: 1rem;
      width: 100%;
      transition: max-height 0.3s ease-out;
      font-weight: 500;
   }
   
   .links.active {
      max-height: 500px;
   }

   li {
      padding-bottom: 1em;
   }

   .about-container img {
      width: 50%;
   }

   .about-container p {
      font-size: .9rem;
   }
}