/* Colors */
:root {
    --primary-color: orange;
    --secondary-color: green;
    --dark-color : #333;
    --background-color-a : white;
    --background-color-b : lightgrey;
    --background-color-c : gray;
  }

  ::selection {
    background-color: rgba(108, 167, 120, 0.479);
  }

  html, body {
    height: calc(100%-60px);
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  main {
    height: 100%-60px;
  }


/* CSS for the header */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    background-color: var(--background-color-a);
    color: var(--background-color-a);
    position: sticky;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 50px;
  }

  .logo {
    font-size: 24px;
    font-weight: bold;
    font-family: 'Barlow Semi Condensed', sans-serif;
    color: var(--primary-color);
    margin-left: 50px;
    margin-bottom: 5px;
  }
  nav {
    display: flex;
  }
  nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  nav ul li {
    margin-left: 20px;
    position: relative;
  }
  nav ul li:first-child {
    margin-left: 0;
  }
  nav ul li:last-child {
    margin-right: 50px;
  }
  nav ul li a {
    color: var(--primary-color);
    text-decoration: none;
    font-family: 'Barlow Semi Condensed', sans-serif;
    font-weight:600;;
  }
  nav ul li a:hover {
    text-decoration: none;
  }
  
  nav ul li::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0%;
    height: 3px;
    background-color: var(--secondary-color);
    transition: width 0.4s ease-in-out;
  }
  
  nav ul li:hover::before {
    width: 100%;
  }

/* CSS for the about page */
.about-section {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 80%;
  }
  
  .img-wrapper {
    width: 40%;
    max-height: calc(100% - 200px);
    padding: 10%;
    float: right;
  }

  .about-section img {
    width: 80%;
    float: right;
  }

  .about-section-text {
    width : 50%;
    justify-content: right;
  }
  
  .about-section-text h3 {
    margin-top: 0;
    margin-bottom: -10px;
    margin-left: 30px;
    padding-left: 10%;
    text-align: left;
    width: 40%;
    font-size: 250%;
  }
  
  .about-section-text p {
    width: 90%;
    text-align: justify;
    padding-left: 10%;
    margin-left : 30px;
    float: left;
    clear: both;
  }
  .about-section a {
    text-decoration: none;
    color: var(--primary-color);
  }

  @media only screen and (max-width: 4cm) {
    .about-section {
        flex-direction: column;
    }

    .about-section img {
        margin-right : 0px;
        margin-top: 20px;
    }

    .about-section-text {
      width: 80%;
    }

    .about-section-text p {
        margin-left: 0px;
        width: 100%;
        padding: 0;
        margin-bottom: 0px;
    }

    .about-section-text h3 {
        margin-left: 0px;
        width: 100%;
        padding-top: 20px;
        padding-left: 0;
    }

    .right-img {
        visibility: collapse;
    }

    .contact-form {
     margin-left: 30px;
     margin-right: 30px;
     margin-bottom: 0px;
     padding: 0;
    }

  }
  @media screen and (min-width: 4.1cm) {

    .about-section {
        flex-direction: row;
    }

    .top-img {
        visibility: collapse;
    }

    .about-section-text p {
        margin-left: 30px;
    }

    .about-section-text h3 {
        margin-left: 30px
    }

  
}

  /* CSS for contact form */
  
  
  html, body {
    height: calc(100%-60px);
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  main {
    height: calc(100%-60px);
  }

  .contact-form {
    margin-bottom: 50px;
  }

  .surrounding {
    height: 25vh;
    display: flex;
    width: 100%;
  }

  form {
      margin-top: 20px;
      display: flex;
      flex-direction: column;
      align-items: center;
      box-sizing: border-box;
    }

    body {
      font-family:  'Barlow Semi Condensed', sans-serif;
      background-color: var(--background-color-a);
    }
    .form-container {
      max-width: 500px;
      margin: 0 auto;
      padding: 20px;
      background-color: var(--background-color-a);
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
      position: relative;
      align-self: center;
    }
    
    h2 {
      text-align: left;
      margin-bottom: 20px;
      color: orange;
    }
    input[type="text"],
    input[type="email"],
    textarea {
      width: 100%;
      padding: 10px;
      margin-bottom: 20px;
      border: 1px solid var(--background-color-b);
      border-radius: 4px;
      resize: none;
      font-family:  'Barlow Semi Condensed', sans-serif;
    }

    input[type="submit"] {
      background-image: linear-gradient(to right, var(--secondary-color) 50%, var(--primary-color) 50%);
      background-size: 200% 100%;
      background-position: right bottom;
      transition: background-position 0.4s ease-in-out;
      padding: 10px 20px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      font-family: 'Barlow Semi Condensed', sans-serif;
      font-weight: bold;
      font-size: medium;
      color : white;
    }

    input[type="submit"]:hover {
      background-position: left bottom;
      
    }
    .success-message {
      color: green;
      text-align: center;
      margin-top: 20px;
    }
    .error-message {
      color: red;
      text-align: center;
      margin-top: 20px;
    }

  /* CSS for footer */
  footer {
    text-align: center;
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
    bottom: 0;
    width: 100%;
    height: 60px;
    color: white;
    background-color: var(--primary-color);
  }

  footer a {
    color: var(--primary-color);
    text-decoration: none;
    font-family: 'Barlow Semi Condensed', sans-serif;
    font-weight:400;
    color: white;
    
  }
