:root {
  --bg-default: #313131;
  --bg-primary: #FFFFFF;
  /* --bg-primary: #F7F7D4; */

  --fg-default: #212121;

  --fg-primary: #25A554;
  
  --ft-md: 18px;
  
  --full-width: 1000px;
  
  --sp-md: 24px;
  --sp-lg: 48px;
  --sp-xl: 128px;
}

* {
  box-sizing: border-box;
}

body {
  display: flex;
  place-items: center;
  margin: 0px;
  min-height: 100vh;
  font-family: 'Inter', sans-serif;
  font-size: var(--ft-md);
  line-height: 1.6rem;
  background-color: var(--bg-default);
  color: var(--fg-default);
  padding-top: var(--sp-lg);
  padding-bottom: var(--sp-lg);
}

main {
  position: relative;
  width: var(--full-width);
  max-width: var(--full-width);
  margin: 0px auto;
  padding-top: var(--sp-lg);
  padding-bottom: var(--sp-lg);
  padding-left: var(--sp-lg);
  padding-right: var(--sp-lg);
  background-color: var(--bg-primary);
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;

  #header {
    flex: 100% 0 0;
    order: 1;
    position: relative;

    #actions {
      display: flex;
      gap: 0.8rem;
      position: absolute;
      top: 0px;
      right: 0px;
    }
  }

  #contact {
    flex: calc(50% - 1rem) 0 0;
    border-top: 1px solid #888888;
    padding-top: 0.6rem;
    order: 2;
  }

  #services {
    flex: calc(50% - 1rem) 0 0;
    border-top: 1px solid #888888;
    padding-top: 0.6rem;
    order: 3;
  }
}

@media (max-width: 1000px) {

  body {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  main {
    padding-top: var(--sp-md);
    padding-bottom: var(--sp-md);
    padding-left: var(--sp-md);
    padding-right: var(--sp-md);

    #header #actions {
      margin-top: 2rem;
      position: initial;
    }

    #contact {
      flex: 100% 0 0;
      order: 3;
    }

    #services {
      flex: 100% 0 0;
      order: 2;
    }
  }
}

@media (max-width: 500px) {

  main #header #actions {
    flex-wrap: wrap;

    a.btn {
      width: 100%;
      justify-content: center;
      height: 54px;
    }
  }
}

h1 {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--fg-default);
  line-height: initial;
  text-align: left;
  letter-spacing: -0.4px;
}

h2 {
  font-size: 1.8rem;
  font-weight: 600;
  color: #424242;
  line-height: initial;
  text-align: left;
  letter-spacing: -0.2px;
}

h3 {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--fg-default);
  line-height: initial;
  text-align: left;
  letter-spacing: -0.2px;
}

p {
  color: #424242;
}

p a {
  display: inline-block;
  color: #424242;
  transition: color 100ms ease-in-out;
}

p a:hover {
  color: var(--fg-default);
}

p strong {
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.8rem;
  color: var(--fg-default);
}

p b {
  font-weight: 600;
}

ul {
  padding-left: 1.2rem;
}

ul li {
  color: #424242;
}

img {
  user-select: none;
  pointer-events: none;
}

.btn {
  height: 48px;
  border: 2px solid #212121;
  background: none;
  background-color: #212121;
  color: var(--bg-primary);
  padding-left: 1rem;
  padding-right: 1.2rem;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  font-size: 1rem;
  font-family: 'Inter', sans-serif;
  outline: none;
  text-decoration: none;

  &:focus {
    outline: 2px solid #888888;
    outline-offset: 2px;
  }

  &.btn--outline {
    border: 2px solid #212121;
    background: none;
    background-color: none;
    color: var(--ft-default);
    font-weight: 500;
    padding-left: 0.8rem;
    padding-right: 1rem;
  }

  i.ti {
    font-size: 20px;
  }
}
