/* ==========================================================================
   Connect — team, contact form, partners carousel and global offices.
   ========================================================================== */

.row { position: relative; display: flex; margin: 0 auto; }
.col { position: relative; display: flex; width: 50%; }
.stack { position: relative; display: flex; flex-wrap: wrap; width: 100%; padding: 10px; }
.stack > * { position: relative; width: 100%; }
.stack > :not(:last-child) { margin-bottom: 20px; }
.stack > .fixed-w { margin-bottom: 0; }
.block-pad { padding: 10px; }

/* Our team */
.team {
  margin-top: 100px;
  background: url('../img/connect/topographic-lines.webp') no-repeat bottom center / cover;
}
.team .row { max-width: 1220px; }
.team .col:first-child .stack { align-content: flex-start; align-items: flex-start; }
.team .col:last-child .stack { align-content: center; align-items: center; margin-left: 30px; }
.team-text { font-size: 20px; line-height: 20px; text-align: justify; }
.team-text > div { color: #000; font-size: 1rem; }
.team-title > div { color: #4cacec; font-size: 2rem; }
.team-list ul { margin: 0 0 1.5em 3em; padding: 0; font-size: 1rem; }
.team-list li > ul { margin: 0 0 0 1.5em; }
.team-list > ul > li { list-style: none; }
.team-list li li { list-style: disc; }
.team-list .hl { color: #4cacec; }
.team-photo { text-align: center; }
.team-photo img { display: inline-block; width: 100%; height: 100%; vertical-align: middle; }

/* Contact */
.contact { margin-top: 50px; background: #79bae4; }
.contact > .block-pad > .row { max-width: 1222px; min-height: 330px; }
.contact .stack { align-content: center; align-items: center; }
.contact .col:first-child .stack { padding: 0 0 0 10px; }
.contact-us { line-height: 27.2px; }
.contact-us img { width: 100%; max-width: 70%; vertical-align: middle; }
.contact-heading { width: 50%; padding-bottom: 10px; color: #fff; font-size: 40px; font-weight: 700; line-height: 37px; text-transform: capitalize; }
.contact-heading > div { font-size: 2rem; }
.contact-text { width: 63.379%; color: #fff; font-size: 24px; line-height: 22px; text-align: left; }
.contact-text span { font-size: 1rem; }

.contact-form { height: 446px; padding: 10px 0 8px; font-size: 14px; line-height: 20px; }
.contact-form > * { display: block; margin: 0 0 10px; }
.contact-form input:not([type="checkbox"]),
.contact-form select {
  width: 310px;
  max-width: 100%;
  height: 40px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #fff;
  border-radius: 2px;
  background: transparent;
  color: #fff;
  font: inherit;
  outline: 0;
}
.contact-form .wide { width: 100%; border-radius: 0; }
.contact-form ::placeholder { color: #fff; opacity: 1; }
.contact-form select { width: 232px; padding: 0 4px; border-radius: 0; background: #79bae4; }
.contact-form select option { background: #fff; color: #000; }

.services { position: relative; }
.services > button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 40px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #fff;
  border-radius: 4px;
  background: #79bae4;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.services > button::after {
  content: "";
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.services > button:hover,
.services.open > button { background: #e6e6e6; color: #333; }
.services-menu {
  position: absolute;
  z-index: 10;
  top: 100%;
  left: 0;
  display: none;
  min-width: 160px;
  max-height: 260px;
  margin-top: 2px;
  padding: 5px 0;
  overflow-y: auto;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
  color: #333;
  white-space: nowrap;
}
.services.open .services-menu { display: block; }
.services-menu label { display: block; padding: 3px 20px 3px 40px; cursor: pointer; }
.services-menu label:hover { background: #f5f5f5; }
.services-menu input { margin: 0 6px 0 -20px; }
.contact-form button[type="submit"] {
  padding: 1px 6px;
  border: 2px outset #000;
  background: #f0f0f0;
  color: #333;
  font: inherit;
  cursor: pointer;
}

/* Partners */
.partners { background: #fff; }
.partners .row { max-width: 1222px; }
.partners .row > .col { width: 100%; }
.partners .stack { align-content: flex-end; align-items: flex-end; margin: 30px; }
.partners .offices-col { margin: 50px 30px 30px; }
.section-title { text-align: center; }
.section-title > div { color: #4cacec; font-size: 2rem; }
.section-title::after { content: ""; display: block; height: 1.75em; }
.section-title.partners-title { margin-top: 30px; }

.carousel { position: relative; overflow: hidden; padding-bottom: 30px; }
.carousel-track { display: flex; align-items: center; transition: transform .4s ease; }
.carousel-track > div { flex: 0 0 25%; text-align: center; }
.carousel-track img { max-width: 70%; height: auto; border-radius: 4px; vertical-align: middle; }
.carousel-dots { position: absolute; bottom: 8px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; }
.carousel-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #000; opacity: .2; cursor: pointer; }
.carousel-dots button.on { opacity: 1; }

.offices { display: flex; justify-content: center; align-items: center; }
.office { width: 12.33%; padding: 5px; text-align: center; }
.office > span { color: #000; font-size: 12px; font-weight: 500; }
.office img { width: 60px; max-width: 70%; height: 60px; }
.office .place { color: #00aff0; }

@media (max-width: 1024px) {
  .row { flex-wrap: wrap; }
}
@media (max-width: 767px) {
  .col { width: 100%; }
  .team { margin-top: 0; }
  .team .row > .col:first-child { order: 10; }
  .team .col:first-child .stack { margin-top: -45px; padding: 20px; }
  .team .col:last-child .stack { margin-left: 0; padding: 0 20px 0 18px; }
  .team-text { font-size: 14px; }
  .contact { margin-top: 0; }
  .contact-heading { width: 1000px; max-width: 100%; margin-top: -35px; font-size: 25px; }
  .contact-text { width: 1000px; max-width: 100%; font-size: 14px; }
  .partners > .block-pad { padding: 0; }
  .partners .stack,
  .partners .offices-col { margin: 50px 0 0; padding: 0; }
  .carousel-track img { border-radius: 0; }
}

.section-title,
.contact-heading { margin: 0; font-family: inherit; }
.section-title { font-size: inherit; font-weight: inherit; line-height: inherit; }
[dir="rtl"] .contact-form input { text-align: right; }
