:root {
  --black-dark: #2e323f;
  --black-light: #3b4050;
  --grey-dark: #6f737f;
  --grey-light: #f1f1f1;
  --white: #ffffff;
  --tan: #a59678;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  font-family: "Montserrat", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
button {
  font-family: "Oswald", sans-serif;
}

/* start */

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.container {
  padding: 2rem 1.75rem;
}

.header {
  background-color: var(--black-dark);
}

.logo,
.nav__list--primary {
  margin-bottom: 1rem;
}

.logo {
  align-self: flex-start;
}

.nav__list {
  display: flex;
  gap: 1rem;
  font-size: 1.125rem;
  font-weight: 900;
  text-transform: uppercase;
}

.nav__link {
  color: #fff;
  text-decoration: none;
}

.nav__link:hover,
.nav__link:focus {
  opacity: 0.65;
}

.hero {
  background-color: var(--black-light);
}

.hero__title {
  font-size: 5.625rem;
  line-height: 1.1;
  color: var(--tan);
  margin-bottom: 2rem;
}

.hero__title--accent {
  font-style: normal;
  color: var(--white);
}

.hero__text {
  color: var(--white);
  font-size: 1.5rem;
  margin-bottom: 2rem;
}

.nav__link--btn {
  background-color: var(--white);
  color: var(--black-dark);
  border-radius: 100px;
  padding: 0.5em 1em;
}

.hero__button {
  font-size: 1.5rem;
  text-transform: uppercase;
  background-color: var(--tan);
  color: var(--white);
  border-style: none;
  border-radius: 100px;
  padding: 0.5em 1em;
}

.hero__button:hover {
  cursor: pointer;
}

.hero__button:focus,
.hero__button:hover {
  opacity: 0.65;
}

.first-section {
  background-color: var(--grey-light);
}

.card {
  text-align: center;
  padding: 2rem 0;
  margin: 0 auto;
}

.card__title--first {
  color: var(--tan);
  margin-bottom: 1.5rem;
}

.card__text--first {
  color: var(--black-dark);
}

.card__text {
  font-size: 1.125rem;
}

.card__title {
  font-size: 1.875rem;
}

.second-section__title {
  font-size: 2.25rem;
  color: var(--tan);
  margin-bottom: 1em;
}

.second-section__text {
  font-size: 1.3125rem;
  color: var(--black-dark);
  margin-bottom: 2em;
}

.second-section__img {
  width: 100%;
}

.second-section__img-caption-text {
  color: var(--grey-dark);
  margin-top: 1em;
  margin-bottom: 3em;
}

.card--second {
  background-color: var(--black-dark);
  color: var(--white);
  padding: 2em;
}

.card--second + .card--second {
  margin-top: 1.5em;
}

.card__title--second {
  margin-bottom: 1em;
}

.footer {
  margin-top: auto;
  background-color: var(--black-dark);
}

.footer__title {
  font-size: 1.8rem;
  color: var(--white);
  text-align: center;
  margin-bottom: 1em;
}

.footer__title--small {
  color: var(--tan);
  font-size: 1.3125rem;
  text-align: center;
  margin-bottom: 0.8em;
}

.footer__text {
  color: var(--white);
  font-size: 1rem;
  text-align: center;
  margin-bottom: 2em;
}

.footer-nav__list {
  margin-bottom: 0.5em;
}

.footer-list__item {
  text-align: center;
  margin-bottom: 0.8em;
}

/* Media query section */

@media (max-width: 440px) {
  .hero__title {
    font-size: 3.5rem;
  }
}

@media (min-width: 700px) {
  .flex-container {
    display: flex;
  }

  .header__flex-container {
    align-items: center;
    justify-content: space-between;
  }

  .logo,
  .nav__list--primary {
    margin-bottom: 0rem;
  }

  .nav {
    display: flex;
    flex-direction: flex-container;
    gap: 3rem;
  }

  .nav__list {
    display: flex;
    gap: 1rem;
  }

  .first-section__flex-container {
    gap: 2.25em;
  }

  .second-section__flex-container {
    flex-direction: column;
  }

  .card--second + .card--second {
  margin-top: 0;
}

  .footer__flex-container {
    justify-content: space-between;
    gap: 2.5em;
  }

  .footer__section-two {
    width: 100%;
    justify-content: flex-end;
    gap: 2em;
  }
}

@media (min-width: 1000px) {
  .container {
    max-width: 1200px;
    margin: 0 auto;
  }

  .second-section__flex-container {
    flex-direction: row;
    gap: 2.25em;
  }

  .sidebar {
    width: 200%;
    min-width: 250px;
    max-width: 500px;
    flex-direction: column;
  }

  .card--second + .card--second {
    margin-top: 1.5em;
  }
}
