header {
  color: var(--primary);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

header > h1 {
  margin: 4rem 0;
}

main > * {
  color: var(--primary-text);
}

h1 {
  text-align: center;
}

section.focus {
  padding: 2rem;

  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--gray);
  width: 100%;
}

section.focus h2 {
  color: var(--dark);
}

section.focus span, section.focus h2 {
  width: 100%;
  text-align: center;
}

section.focus span {
  max-width: 40rem;
}

section.details h1 {
  font-weight: 600;
}

section.details {
  padding: 2rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  background-color: var(--white);
  width: 100%;
}

section.details > * {
  margin: 0 2rem;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  max-width: 25rem;
  width: 100%;
}

section.details > * > * {
  width: 100%;
  margin: 0 1rem;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

section.details > * > * img {
  width: 7rem;
}

section.details > * > * p {
  width: 100%;
  text-align: justify;
}

section.details h1, section.details p {
  margin-bottom: 2rem;
}

section.contact_us {
  padding: 5rem 0;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: var(--primary);
  width: 100%;
}

section.contact_us h1 {
  color: var(--white);
  margin-bottom: 2.5rem;
  max-width: 30rem;
  width: 100%;
  font-size: 2rem;
}

section.values {
  padding: 6rem 2rem 4rem 2rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: flex-start;
  background-color: var(--white);
  width: 100%;
}

section.values .values-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}

section.values .values-container .value {
  margin: 1rem;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 12rem;
  width: 100%;

  cursor: pointer;
}

section.values > h1 {
  color: var(--primary);
  align-self: center;
  margin-bottom: 2rem;
}

section.values img {
  width: 3rem;
}

section.values p {
  max-width: 10rem;
  width: 100%;
  text-align: center;
}

@media (hover: hover) and (pointer: fine) {
  section.values .value p {
    opacity: 0;
    visibility: hidden;
    transition: 0.5s ease-in-out;
  }
  
  section.values .value:hover p {
    opacity: 1;
    visibility: visible;
  }
}

section.values .value h1 {
  margin: 0.5rem;
  font-weight: 500;
  font-size: 1.2rem;
}

section.story {
  padding: 1rem 2rem;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: var(--gray);
  width: 100%;
}

section.story h1 {
  margin-bottom: 2rem;
}

section.team {
  padding: 4rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  background-color: var(--white);
  width: 100%;
}

section.team > h1 {
  color: var(--primary);
}

section.team .people {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 2rem;
}

section.team .people .person {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  margin: 0 2.5rem;
  cursor: pointer;

  transition: 0.3s ease-in-out;
}

section.team .people .person > * {
  margin: 0.5rem  0;
}

section.team .people .person img {
  width: 9rem;
  filter: grayscale(1);
  transition: 0.3s ease-in-out;
}

section.team .people .person h1 {
  font-size: 1.25rem;
}

@media (hover: hover) and (pointer: fine) {
  section.team .people .person:hover {
    transform: scale(1.05);
  }

  section.team .people .person:hover img {
    filter: grayscale(0);
  }
}

section.team .people .person span {
  font-size: 1rem;
  margin: 0;
  text-align: center;
}

section.team .people .person .social-media {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

section.team .people .person .social-media > a i {
  margin: 0 0.5rem;
  transition: color 0.2s ease-in-out;
}

section.team .people .person .social-media > a:hover i {
  color: var(--blue);
}

section.associacao {
  padding: 4rem 0;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  background-color: var(--gray);
  width: 100%;
}

section.associacao > * {
  margin: 1rem;
}

section.associacao .logo {
  width: 100%;
  max-width: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

section.associacao .logo img {
  height: 7rem;
}

section.associacao .description {
  width: 100%;
  max-width: 30rem;
}

section.associacao p {
  max-width: 30rem;
  width: 100%;
  text-align: justify;
  font-weight: 500;
}

section.associacao p a {
  text-decoration: none;
}

section.associacao p a:hover {
  text-decoration: underline;
}

section.associacao p a i {
  color: var(--associacao);
}

/* Timeline */

.timeline-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.timeline {
  white-space: nowrap;
  overflow: hidden;
  width: 97%;
}

.timeline ol {
  font-size: 0;
  width: 100vw;
  padding: 300px 0;
  transition: all 1s;
}

.timeline ol li {
  position: relative;
  display: inline-block;
  list-style-type: none;
  width: 357px;
  height: 3px;
  background: var(--dark);
}

.timeline ol li:last-child {
  width: 5rem;
}

.timeline ol li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 10.4rem;
  bottom: 0;
  width: 1.2rem;
  height: 1.2rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--primary);
}

.timeline ol li div {
  position: absolute;
  left: 0;
  width: 350px;
  font-size: 1rem;
  padding: 1.1rem;
  white-space: normal;

  background-color: var(--timeline);
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--white);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.timeline ol li div h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--white);
  margin: 1rem 0;
}

.timeline ol li div p {
  font-size: .8rem;
  line-height: 1.5;
  margin-bottom: 10px;
  text-align: center;
}

.timeline ol li div img {
  height: 2rem;
}

.timeline ol li div::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
}

.timeline ol li:nth-child(odd) div {
  top: -3rem;
  transform: translateY(-100%);
}

.timeline ol li:nth-child(odd) div::before {
  top: 100%;
  border-width: 1rem 1rem;
  border-color: var(--timeline) transparent transparent transparent;
}

.timeline ol li:nth-child(even) div {
  top: calc(100% + 3rem);
}

.timeline ol li:nth-child(even) div::before {
  top: -6.5%;
  border-width: 0 1rem 1rem 1rem;
  border-color: transparent transparent var(--timeline) transparent;
}


/* TIMELINE ARROWS
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.timeline-container .arrows {
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 97%;
}

.timeline-container.arrows .arrow__prev {
  margin-right: 20px;
}

.timeline-container .disabled {
  opacity: .5;
}

.timeline-container .arrows .arrow {
  background: none;
  border: none;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
}

.timeline-container .arrows img {
  height: 1.4rem;
}

@media only screen and (max-width: 425px) {
  .timeline ol li div {
    width: 230px;
  }

  .timeline ol li:not(:last-child)::after {
    left: 6.6rem;
  }

  .timeline-container .arrows {
    width: 95%;
  }

  .timeline ol li:last-child {
    width: 0;
  }
}

#memberModal .modal {
  overflow: auto;
  max-height: 30rem;
}

#memberModal .modal .close {
  cursor: pointer;
  transition: 0.3s ease-in-out;
  align-self: flex-end;
  position: fixed;
}

#memberModal .modal .close:hover {
  opacity: 0.6;
}

#memberModal .modal-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}

#memberModal .modal-container > * {
  margin: 1rem;
}

#memberModal .modal-container .profile {
  width: 100%;
  max-width: 15rem;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

#memberModal .modal-container .profile > * {
  margin: 0.5rem 0;
}

#memberModal .modal-container .profile .picture {
  width: 100%;
}

#memberModal .modal-container .profile .picture img {
  width: 100%;
}

#memberModal .modal-container .profile .hobbies i {
  color: var(--primary);
}

#memberModal .modal-container .profile .feeling {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

#memberModal .modal-container .profile .feeling > * {
  margin: 0.25rem 0;
  text-align: justify;
}

.modal-container .profile .feeling span:first-child {
  color: var(--primary);
}

#memberModal .modal-container .quote span {
  color: var(--primary);
  font-style: italic;
}

#memberModal .modal-container .details {
  width: 100%;
  max-width: 35rem;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

#memberModal .modal-container .details > * {
  margin: 0.25rem 0;
}

#memberModal .modal-container .details .name {
  font-weight: 600;
  font-size: 1.2rem;
  margin: 0;
}

#memberModal .modal-container .details .role {
  margin: 0;
}

#memberModal .modal-container .details .description {
  text-align: justify;
}

#memberModal .modal-container .details .description p {
  margin: 1rem 0;
}

@media only screen and (max-width: 425px) {
  .modal-container {
    align-items: center;
  }
}