/* Original public editorial layouts, scoped to the seven Divi page roots. */
.sowillo-page-about,.sowillo-page-services,.sowillo-page-team,.sowillo-page-webinar,.sowillo-page-how-to-build-firmware-with-patched-esphome-windows,.sowillo-page-sowilo-box-and-mqtt-connect-example,.sowillo-page-sowillo-iot-board-reviewed-lora-esp32-modbus-etc{--sw-navy:#162c5a;--sw-orange:#ff922d;--sw-blue:#007ff9;--sw-ink:#0c1325;--sw-copy:#3c4b71;font-family:Poppins,Arial,sans-serif}
[class*="sowillo-page-"][class*="__section"]{padding:55px 0}[class*="sowillo-page-"] .et_pb_row,[class*="sowillo-page-"][class*="__row"]{width:90%;max-width:1190px;margin:auto}[class*="sowillo-page-"] h1,[class*="sowillo-page-"] h2,[class*="sowillo-page-"] h3{color:var(--sw-navy);font-family:Poppins,Arial,sans-serif;line-height:1.25}[class*="sowillo-page-"] h1{font-size:48px}[class*="sowillo-page-"] h2{font-size:38px}[class*="sowillo-page-"] h3{font-size:22px}[class*="sowillo-page-"] p,[class*="sowillo-page-"] li{color:var(--sw-copy);font-size:16px;line-height:1.642}[class*="sowillo-page-"] img{border-radius:4px}[class*="sowillo-page-"] .et_pb_button{background:var(--sw-orange);border:0;border-radius:4px;color:#fff;text-transform:uppercase}
.sowillo-page-about__section-1{padding-top:0}.sowillo-page-about__slider-image img{max-height:520px;object-fit:cover}.sowillo-page-about__slider-copy{margin-top:-180px;max-width:520px;padding:30px;background:rgba(255,255,255,.9)}.sowillo-page-about__carousel-image img,.sowillo-page-webinar__carousel-image img{aspect-ratio:1/1;object-fit:cover}.sowillo-page-about__carousel-card,.sowillo-page-webinar__carousel-card{padding:18px 18px 30px}
.sowillo-page-services__section:first-child{background:#f7f8fb}.sowillo-page-services__image img{aspect-ratio:4/3;object-fit:cover}.sowillo-page-services__testimonials-card,.sowillo-page-team__testimonials-card{padding:25px;border:1px solid #e8e8ee;border-radius:8px;background:#fff}.sowillo-page-team__team-member-image img{aspect-ratio:1/1;object-fit:cover}.sowillo-page-team__team-member-card{padding:20px;background:#f7f8fb}
.sowillo-page-webinar__section-1{background:#091c38}.sowillo-page-webinar__section-1 h1,.sowillo-page-webinar__section-1 h2,.sowillo-page-webinar__section-1 p{color:#fff}.sowillo-page-webinar__gallery .et_pb_gallery_image{overflow:hidden;border-radius:4px}.sowillo-page-webinar__icon-list li{margin-bottom:10px}.sowillo-page-webinar__themexcl-caltoaction{text-align:center;padding:35px;background:#f3f7fb}
[class*="sowillo-page-"][class*="__article"]{max-width:860px;margin:auto}[class*="sowillo-page-"][class*="__article"] img{height:auto;max-width:100%}[class*="sowillo-page-"][class*="__article"] pre,[class*="sowillo-page-"][class*="__article"] code{white-space:pre-wrap;overflow-wrap:anywhere}[class*="sowillo-page-"][class*="__article"] table{display:block;max-width:100%;overflow-x:auto}
.sowillo-hide-desktop{display:none!important}
@media(min-width:768px) and (max-width:980px){.sowillo-page-services__repeater-row,.sowillo-page-team__repeater-row{display:flex;flex-wrap:wrap;gap:5.5%}.sowillo-page-services__repeater-row>.et_pb_column,.sowillo-page-team__repeater-row>.et_pb_column{width:47.25%!important;margin:0 0 30px!important}}
@media(max-width:980px){.sowillo-hide-desktop{display:block!important}.sowillo-hide-tablet{display:none!important}[class*="sowillo-page-"][class*="__section"]{padding:40px 0}[class*="sowillo-page-"] h1{font-size:40px}[class*="sowillo-page-"] h2{font-size:32px}.sowillo-page-about__slider-copy{margin-top:0;max-width:none}}
@media(max-width:767px){.sowillo-hide-tablet{display:block!important}.sowillo-hide-phone{display:none!important}[class*="sowillo-page-"] .sowillo-page-about__repeater-column,[class*="sowillo-page-"] .sowillo-page-services__repeater-column,[class*="sowillo-page-"] .sowillo-page-team__repeater-column,[class*="sowillo-page-"] .sowillo-page-webinar__repeater-column{width:100%!important;margin-right:0!important}[class*="sowillo-page-"][class*="__section"]{padding:30px 0}[class*="sowillo-page-"] .et_pb_row,[class*="sowillo-page-"][class*="__row"]{width:92%}[class*="sowillo-page-"] h1{font-size:32px}[class*="sowillo-page-"] h2{font-size:28px}[class*="sowillo-page-"] h3{font-size:20px}}


/* About page 2132 only. Source: recovered Elementor settings and accepted 8089 render. */
.sowillo-page-about__section-1 {
  padding: 0 !important;
}

.sowillo-page-about__section-1 .sowillo-page-about__row-1 {
  display: flex;
  align-items: flex-start;
  width: calc(100% - 40px) !important;
  max-width: 1170px !important;
  padding: 0 !important;
}

.sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:first-child {
  position: relative;
  flex: 0 0 36.528% !important;
  width: 36.528% !important;
  margin: 6px 0 0 !important;
  overflow: hidden;
  border-radius: 5px;
}

.sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:first-child::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
  pointer-events: none;
  background: rgba(47, 58, 85, .6);
  border-radius: 5px;
}

.sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:last-child {
  flex: 1 1 63.472% !important;
  width: auto !important;
  min-width: 0;
  margin: 19px 0 0 30px !important;
}

.sowillo-page-about__slider-image,
.sowillo-page-about__slider-image .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 380px;
  margin: 0 !important;
}

.sowillo-page-about__slider-image img {
  display: block;
  width: 100% !important;
  height: 380px !important;
  object-fit: cover;
  border-radius: 5px;
}

.sowillo-page-about__slider-copy {
  position: absolute !important;
  z-index: 3;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 20px !important;
  background: transparent !important;
  text-align: center;
}

.sowillo-page-about__slider-copy p {
  width: 100%;
  margin: 0;
  padding: 0;
}

.sowillo-page-about__slider-copy a {
  display: block;
  font-family: Poppins, Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}

.sowillo-page-about__slider-copy a:first-child {
  color: #ff8329 !important;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.25;
}

.sowillo-page-about__slider-copy a:last-child {
  margin-top: 8px;
  color: #fff !important;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}

.sowillo-page-about__section-1 .sowillo-page-about__heading {
  margin: 0 20px 0 0 !important;
}

.sowillo-page-about__section-1 .sowillo-page-about__heading h2 {
  margin: 0;
  padding: 0;
  color: #162c5a !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0;
}

.sowillo-page-about__section-1 .sowillo-page-about__text-editor {
  margin: 0 !important;
  padding: 10px !important;
  color: #0c1325 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.57 !important;
}

.sowillo-page-about__section-1 .sowillo-page-about__text-editor p,
.sowillo-page-about__section-2 .sowillo-page-about__text-editor p {
  color: #0c1325 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
}

.sowillo-page-about__section-1 .sowillo-page-about__text-editor h2,
.sowillo-page-about__section-2 .sowillo-page-about__text-editor h2 {
  color: #0c1325 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
}

.sowillo-page-about__section-2 {
  padding: 0 !important;
}

.sowillo-page-about__section-2 .sowillo-page-about__row-2 {
  width: calc(100% - 40px) !important;
  max-width: 1170px !important;
  padding: 0 !important;
}

.sowillo-page-about__section-2 .sowillo-page-about__text-editor {
  color: #0c1325 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
}

.sowillo-page-about__section-3 {
  position: relative;
  margin-bottom: -30px;
  padding: 40px 0 30px !important;
  background-color: #fafbfb !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: fixed;
}

.sowillo-page-about__section-3::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  background: rgba(255, 255, 255, .8);
  pointer-events: none;
}

.sowillo-page-about__section-3 > .et_pb_row {
  position: relative;
  z-index: 1;
  width: calc(100% - 40px) !important;
  max-width: 1220px !important;
  padding: 0 !important;
}

.sowillo-page-about__section-3 .sowillo-page-about__row-3 {
  margin-bottom: 0 !important;
}

.sowillo-page-about__section-3 .sowillo-page-about__heading {
  margin: 0 0 0 15px !important;
  text-align: center;
}

.sowillo-page-about__section-3 .sowillo-page-about__heading h2 {
  margin: 0;
  color: #0c1325 !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.sowillo-page-about__repeater-row {
  display: flex;
  gap: 0;
  margin-top: 26px !important;
}

.sowillo-page-about__repeater-column {
  box-sizing: border-box;
  width: 33.333% !important;
  margin: 0 !important;
  padding: 15px 5px 5px 15px;
}

.sowillo-page-about__carousel-image img {
  width: 100%;
  border-radius: 6px;
}

.sowillo-page-about__carousel-card {
  padding: 0 38px 26px !important;
  border-radius: 6px;
  text-align: center;
}

.sowillo-page-about__carousel-card h3 {
  margin: 0;
  color: rgba(12, 19, 37, .88) !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 5 !important;
}

.sowillo-page-about__carousel-card p {
  margin: 0;
  color: rgba(19, 23, 35, .88) !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

.sowillo-page-about__carousel-card h3 + p {
  margin-top: -26px;
}

@media (max-width: 1024px) {
  .sowillo-page-about__section-1 {
    padding: 40px 10px !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:first-child {
    margin-top: 10px !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:last-child {
    margin-top: 0 !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__heading h2,
  .sowillo-page-about__section-3 .sowillo-page-about__heading h2 {
    font-size: 36px !important;
  }

  .sowillo-page-about__section-3 {
    padding: 40px 0 !important;
    background-attachment: scroll;
  }

  .sowillo-page-about__carousel-card {
    padding-bottom: 21px !important;
  }

  .sowillo-page-about__carousel-card h3 {
    line-height: 4 !important;
  }

  .sowillo-page-about__carousel-card h3 + p {
    margin-top: -20px;
  }
}

@media (max-width: 767px) {
  .sowillo-page-about__section-1 {
    padding: 20px 0 !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__row-1 {
    display: flex;
    flex-direction: column;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:first-child,
  .sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:last-child {
    width: 100% !important;
    flex-basis: auto !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:first-child {
    order: 2;
    margin: 10px 0 0 !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__row-1 > .et_pb_column:last-child {
    order: 1;
    margin: 20px 0 0 !important;
  }

  .sowillo-page-about__section-1 .sowillo-page-about__heading h2,
  .sowillo-page-about__section-3 .sowillo-page-about__heading h2 {
    font-size: 24px !important;
  }

  .sowillo-page-about__repeater-row {
    display: block;
  }

  .sowillo-page-about__repeater-column {
    width: 94% !important;
    margin: 0 3% !important;
    padding: 15px 5px 5px;
  }

  .sowillo-page-about__carousel-card {
    padding: 0 38px 23px !important;
  }

  .sowillo-page-about__carousel-card p {
    font-size: 12px !important;
  }

  .sowillo-page-about__section-3 {
    margin-bottom: 0;
    padding: 20px 0 !important;
  }
}



/* Source-backed parity for archived Elementor pages 2133 (Services) and 2134 (Team). */

.sowillo-page-services,
.sowillo-page-team {
  --sowillo-source-ink: #0c1325;
  --sowillo-source-copy: #4c4f57;
  --sowillo-source-orange: #ff922d;
  --sowillo-source-border: #dde0e6;
  background: #fff !important;
}

.sowillo-page-services .et_pb_row,
.sowillo-page-team .et_pb_row {
  width: calc(100% - 60px) !important;
  max-width: 1220px !important;
}

.sowillo-page-services h2,
.sowillo-page-team h2 {
  margin: 0;
  padding: 0;
  color: var(--sowillo-source-ink) !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

/* Services header and six cards. */
.sowillo-page-services__section-1 {
  margin-top: -30px;
  padding: 46px 0 !important;
  background: #fff !important;
}

.sowillo-page-services__row-1 {
  display: grid !important;
  grid-template-columns: 45.726% 54.274%;
  gap: 0;
  padding: 0 !important;
}

.sowillo-page-services__row-1 > .et_pb_column {
  width: auto !important;
  margin: 0 !important;
}

.sowillo-page-services__row-1 > .et_pb_column:first-child {
  padding: 0 140px 0 15px;
}

.sowillo-page-services__row-1 .sowillo-page-services__text-editor {
  margin: 5px 30px 0 0 !important;
}

.sowillo-page-services__row-1 p,
.sowillo-page-services__row-2 p,
.sowillo-page-services__row-3 p {
  margin: 0;
  color: var(--sowillo-source-copy) !important;
  font-family: Muli, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.642 !important;
}

.sowillo-page-services__row-2,
.sowillo-page-services__row-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  padding: 0 15px !important;
}

.sowillo-page-services__row-2 {
  margin-top: 16px !important;
}

.sowillo-page-services__row-3 {
  margin-top: 30px !important;
}

.sowillo-page-services__row-2 > .et_pb_column,
.sowillo-page-services__row-3 > .et_pb_column {
  box-sizing: border-box;
  width: auto !important;
  min-height: 200px;
  margin: 0 !important;
  padding: 55px 45px 35px !important;
  border: 1px solid var(--sowillo-source-border);
  border-radius: 6px;
  background: #fff;
}

/* The verified source capture shows blank cards when its remote stock media is
   unavailable. Removing the native img avoids Divi's broken-image glyph. */
.sowillo-page-services__row-2 .sowillo-page-services__image,
.sowillo-page-services__row-3 .sowillo-page-services__image {
  display: none !important;
}

.sowillo-page-services__row-2 h2,
.sowillo-page-services__row-3 h2 {
  margin: 0 0 10px !important;
  color: var(--sowillo-source-ink) !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-transform: capitalize;
}

/* Team heading, portrait grid, and Jet-style cover. */
.sowillo-page-team__section-1 {
  margin-top: -30px;
  padding: 60px 0 38px !important;
  background-color: #fff !important;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}

.sowillo-page-team__row-1 {
  padding: 0 15px !important;
}

.sowillo-page-team__row-2,
.sowillo-page-team__row-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  padding: 0 15px !important;
}

.sowillo-page-team__row-2 {
  margin-top: 26px !important;
}

.sowillo-page-team__row-3 {
  margin-top: 30px !important;
}

.sowillo-page-team__row-2 > .et_pb_column,
.sowillo-page-team__row-3 > .et_pb_column {
  position: relative;
  width: auto !important;
  margin: 0 0 -20px !important;
  overflow: hidden;
  border-radius: 6px;
}

.sowillo-page-team__team-member-image,
.sowillo-page-team__team-member-image .et_pb_image_wrap,
.sowillo-page-team__team-member-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 6px !important;
}

.sowillo-page-team__team-member-card {
  position: absolute !important;
  z-index: 2;
  top: 360px;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 10px 38px 8px !important;
  overflow: hidden;
  border-radius: 0 0 6px 6px;
  background: rgba(12, 19, 37, 0.88) !important;
  text-align: left;
}

.sowillo-page-team__team-member-card h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.sowillo-page-team__team-member-card p {
  margin: 0 !important;
  padding: 0 !important;
  color: #c3c3c3 !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
}

/* Shared source testimonial presentation. Divi keeps all six static cards;
   the archived Jet carousel displayed 3/2/1 at a time. */
.sowillo-page-services__section-2,
.sowillo-page-team__section-2 {
  margin-bottom: -30px;
  padding: 50px 0 !important;
  background: #fff !important;
}

.sowillo-page-services__row-4,
.sowillo-page-team__row-4 {
  padding: 0 !important;
}

.sowillo-page-services__row-5,
.sowillo-page-team__row-5,
.sowillo-page-services__row-6,
.sowillo-page-team__row-6 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  padding: 0 15px !important;
}

.sowillo-page-services__row-5,
.sowillo-page-team__row-5 {
  margin-top: 25px !important;
}

.sowillo-page-services__row-6,
.sowillo-page-team__row-6 {
  margin-top: 30px !important;
}

.sowillo-page-services__row-5 > .et_pb_column,
.sowillo-page-team__row-5 > .et_pb_column,
.sowillo-page-services__row-6 > .et_pb_column,
.sowillo-page-team__row-6 > .et_pb_column {
  position: relative;
  width: auto !important;
  min-height: 186px;
  margin: 0 !important;
  border: 1px solid var(--sowillo-source-border);
  border-radius: 6px;
  background: #fff;
}

.sowillo-page-services__testimonials-image,
.sowillo-page-team__testimonials-image {
  position: absolute !important;
  z-index: 2;
  top: 30px;
  left: 40px;
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 50%;
}

.sowillo-page-services__testimonials-image img,
.sowillo-page-team__testimonials-image img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover;
}

.sowillo-page-services__testimonials-card,
.sowillo-page-team__testimonials-card {
  min-height: 184px;
  margin: 0 !important;
  padding: 110px 40px 31px !important;
  border: 0 !important;
  background: transparent !important;
}

.sowillo-page-services__testimonials-card p,
.sowillo-page-team__testimonials-card p {
  margin: 0;
  color: var(--sowillo-source-copy) !important;
  font-family: Poppins, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
}

@media (max-width: 1024px) {
  .sowillo-page-services h2,
  .sowillo-page-team h2 {
    font-size: 36px !important;
  }

  .sowillo-page-services__section-1 {
    padding: 40px 0 35px !important;
  }

  .sowillo-page-services__row-1 > .et_pb_column:first-child {
    padding-right: 0;
  }

  .sowillo-page-services__row-1 .sowillo-page-services__text-editor {
    margin: 14px 30px 0 !important;
  }

  .sowillo-page-services__row-2 > .et_pb_column,
  .sowillo-page-services__row-3 > .et_pb_column {
    min-height: 0;
    padding: 20px !important;
  }

  .sowillo-page-team__section-1 {
    padding: 40px 0 !important;
  }

  .sowillo-page-team__team-member-card {
    top: 70%;
    bottom: -19%;
    padding: 10px !important;
  }

  .sowillo-page-team__team-member-card p {
    font-size: 12px !important;
  }

  .sowillo-page-services__section-2,
  .sowillo-page-team__section-2 {
    padding: 40px 0 20px !important;
  }

  .sowillo-page-services__row-5,
  .sowillo-page-team__row-5,
  .sowillo-page-services__row-6,
  .sowillo-page-team__row-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sowillo-page-services .et_pb_row,
  .sowillo-page-team .et_pb_row {
    width: calc(100% - 30px) !important;
  }

  .sowillo-page-services h2,
  .sowillo-page-team h2 {
    font-size: 24px !important;
  }

  .sowillo-page-services__section-1,
  .sowillo-page-team__section-1,
  .sowillo-page-services__section-2,
  .sowillo-page-team__section-2 {
    padding: 20px 0 !important;
  }

  .sowillo-page-services__row-1 {
    grid-template-columns: 1fr;
  }

  .sowillo-page-services__row-1 > .et_pb_column:first-child {
    padding: 0 15px;
  }

  .sowillo-page-services__row-1 .sowillo-page-services__text-editor {
    margin: 16px 15px 0 !important;
  }

  .sowillo-page-services__row-2,
  .sowillo-page-services__row-3,
  .sowillo-page-team__row-2,
  .sowillo-page-team__row-3,
  .sowillo-page-services__row-5,
  .sowillo-page-team__row-5,
  .sowillo-page-services__row-6,
  .sowillo-page-team__row-6 {
    grid-template-columns: 1fr;
  }

  .sowillo-page-team__team-member-card {
    top: 97%;
    bottom: -26%;
  }

  .sowillo-page-team__row-4 h2 {
    text-align: center;
  }
}


/*
 * Source-parity overrides for page 3311 and posts 2855/2870/3942.
 * Scoped to classes already present in the recovered native Divi content.
 */

/* Kava/Provem source typography for the three technical articles. */
[class*="sowillo-page-"][class*="__article"] {
  color: #162c5a;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  text-align: left;
}

[class*="sowillo-page-"][class*="__article"] h1,
[class*="sowillo-page-"][class*="__article"] h2,
[class*="sowillo-page-"][class*="__article"] h3,
[class*="sowillo-page-"][class*="__article"] h4,
[class*="sowillo-page-"][class*="__article"] h5,
[class*="sowillo-page-"][class*="__article"] h6 {
  color: #162c5a;
  font-family: Poppins, sans-serif;
  font-style: normal;
  letter-spacing: 0;
}

[class*="sowillo-page-"][class*="__article"] h1 { font-size: 34px; font-weight: 400; line-height: 1.4; }
[class*="sowillo-page-"][class*="__article"] h2 { font-size: 24px; font-weight: 400; line-height: 1.4; }
[class*="sowillo-page-"][class*="__article"] h3 { font-size: 21px; font-weight: 400; line-height: 1.4; }
[class*="sowillo-page-"][class*="__article"] h4 { font-size: 20px; font-weight: 400; line-height: 1.5; }
[class*="sowillo-page-"][class*="__article"] h5 { font-size: 18px; font-weight: 300; line-height: 1.5; }
[class*="sowillo-page-"][class*="__article"] h6 { font-size: 14px; font-weight: 500; line-height: 1.5; }
[class*="sowillo-page-"][class*="__article"] a { color: #ff922d; }
[class*="sowillo-page-"][class*="__article"] a:hover { color: #162c5a; }
[class*="sowillo-page-"][class*="__article"] img {
  height: auto;
  max-width: 100%;
}

/* The source single-post content column is narrow and left aligned within its shell. */
.sowillo-page-how-to-build-firmware-with-patched-esphome-windows__row,
.sowillo-page-sowilo-box-and-mqtt-connect-example__row,
.sowillo-page-sowillo-iot-board-reviewed-lora-esp32-modbus-etc__row {
  max-width: 860px;
}

@media (min-width: 1200px) {
  [class*="sowillo-page-"][class*="__article"] h1 { font-size: 56px; }
  [class*="sowillo-page-"][class*="__article"] h2 { font-size: 40px; }
  [class*="sowillo-page-"][class*="__article"] h3 { font-size: 28px; }
}

/* Webinar 3311: source palette, type, and 1220px content grid. */
.sowillo-page-webinar {
  color: #162c5a;
  font-family: Roboto, Arial, sans-serif;
}

.sowillo-page-webinar h1,
.sowillo-page-webinar h2,
.sowillo-page-webinar h3,
.sowillo-page-webinar h4,
.sowillo-page-webinar h5,
.sowillo-page-webinar h6 {
  color: #162c5a;
  font-family: Poppins, sans-serif;
}

.sowillo-page-webinar__row {
  max-width: 1220px;
  width: 90%;
}

.sowillo-page-webinar__heading h2 {
  font-size: 38px;
  font-weight: 600;
  line-height: 1.3;
}

.sowillo-page-webinar__section-1 {
  min-height: 580px;
  padding: 20px 0 0;
}

.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 {
  padding: 0;
  text-align: center;
}

.sowillo-page-webinar__section-1 .sowillo-page-webinar__image {
  margin: 0 auto;
  width: 24%;
}

.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h1 {
  color: #fff;
  font-size: 38px;
  font-weight: 600;
  line-height: 1.3;
}

.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h2,
.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h3,
.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 h2,
.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 h3 {
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}

.sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 {
  padding: 0;
  text-align: center;
}

.sowillo-page-webinar__button,
.sowillo-page-webinar__themexcl-caltoaction-button {
  background: #ff5e14 !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 17px 20px !important;
}

.sowillo-page-webinar__row-1 .sowillo-page-webinar__button {
  background: #0947ca !important;
}

.sowillo-page-webinar__section-2 {
  min-height: 500px;
  padding: 70px 0 40px;
}

.sowillo-page-webinar__row-3 {
  align-items: center;
  min-height: 400px;
}

.sowillo-page-webinar__row-3 > .et_pb_column:last-child {
  padding-left: 40px;
}

.sowillo-page-webinar__testimonial-carousel-image img {
  border-radius: 50%;
}

.sowillo-page-webinar__testimonial-carousel-card,
.sowillo-page-webinar__carousel-card {
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.sowillo-page-webinar__section-3 {
  padding: 20px 0 40px;
}

.sowillo-page-webinar__section-3 .sowillo-page-webinar__row-5 {
  text-align: center;
}

.sowillo-page-webinar__section-4 {
  padding: 20px 0 0;
}

.sowillo-page-webinar__row-7 > .et_pb_column:first-child {
  width: 46.085% !important;
}

.sowillo-page-webinar__row-7 > .et_pb_column:last-child {
  width: 53.867% !important;
}

.sowillo-page-webinar__row-7 .sowillo-page-webinar__image {
  margin-left: auto;
  margin-right: auto;
  width: 68%;
}

.sowillo-page-webinar__row-7 {
  align-items: center;
}

.sowillo-page-webinar__row-8 {
  border: 1px solid #007ff9;
  margin-top: 12px;
  max-width: 610px;
  padding: 43px 31px 31px;
}

.sowillo-page-webinar__row-8 .sowillo-page-webinar__heading h2 {
  color: #007ff9;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
}

.sowillo-page-webinar__icon-list {
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.sowillo-page-webinar__icon-list li::marker {
  color: #ff922d;
}

.sowillo-page-webinar__section-5,
.sowillo-page-webinar__section-6,
.sowillo-page-webinar__section-7 {
  padding: 40px 0;
}

.sowillo-page-webinar__themexcl-caltoaction,
.sowillo-page-webinar__row-10 > .et_pb_column,
.sowillo-page-webinar__row-11 {
  text-align: center;
}

.sowillo-page-webinar__row-11 .sowillo-page-webinar__carousel-image {
  margin-left: auto;
  margin-right: auto;
  max-width: 190px;
}

.sowillo-page-webinar__row-11 .sowillo-page-webinar__carousel-image img {
  border: 2px solid #ff922d;
  border-radius: 50%;
}

.sowillo-page-webinar__row-12 {
  align-items: center;
}

.sowillo-page-webinar__row-12 > .et_pb_column:first-child {
  width: 29.953% !important;
}

.sowillo-page-webinar__row-12 > .et_pb_column:last-child {
  width: 70.047% !important;
}

.sowillo-page-webinar__section-8 {
  background: #0947ca;
  color: #fff;
  padding: 0 0 5px;
}

.sowillo-page-webinar__section-8 .sowillo-page-webinar__row {
  max-width: 1190px;
}

.sowillo-page-webinar__section-8,
.sowillo-page-webinar__section-8 a,
.sowillo-page-webinar__section-8 p,
.sowillo-page-webinar__section-8 li {
  color: #fff;
}

.sowillo-page-webinar__section-8 .sowillo-page-webinar__icon-list {
  font-size: 20px;
}

@media (max-width: 980px) {
  .sowillo-page-webinar__heading h2,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h1 {
    font-size: 36px;
  }

  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h2,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h3,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 h2,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 h3 {
    font-size: 20px;
  }

  .sowillo-page-webinar__section-2 {
    padding: 40px 0 40px 5px;
  }

  .sowillo-page-webinar__section-4 { padding-top: 0; }
  .sowillo-page-webinar__section-8 { padding: 30px 5px 5px; }
}

@media (max-width: 767px) {
  .sowillo-page-webinar__row { width: 94%; }

  .sowillo-page-webinar__heading h2,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h1 {
    font-size: 24px;
  }

  .sowillo-page-webinar__section-1 .sowillo-page-webinar__image { width: 54%; }

  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h2,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-1 h3,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 h2,
  .sowillo-page-webinar__section-1 .sowillo-page-webinar__row-2 h3 {
    font-size: 18px;
  }

  .sowillo-page-webinar__section-2 { padding: 20px 3px; }

  .sowillo-page-webinar__row-3 > .et_pb_column:last-child { padding-left: 0; }

  .sowillo-page-webinar__row-7 > .et_pb_column:first-child,
  .sowillo-page-webinar__row-7 > .et_pb_column:last-child,
  .sowillo-page-webinar__row-12 > .et_pb_column:first-child,
  .sowillo-page-webinar__row-12 > .et_pb_column:last-child {
    width: 100% !important;
  }

  .sowillo-page-webinar__row-8 { padding: 20px; }
  .sowillo-page-webinar__section-8 { padding: 20px 5px 5px; }
}


/* Divi's floated-row clearfix must not occupy CSS-grid cells. */
:is(.sowillo-page-services__row-1,.sowillo-page-services__row-2,.sowillo-page-services__row-3,.sowillo-page-services__row-5,.sowillo-page-services__row-6,.sowillo-page-team__row-2,.sowillo-page-team__row-3,.sowillo-page-team__row-5,.sowillo-page-team__row-6)::before,
:is(.sowillo-page-services__row-1,.sowillo-page-services__row-2,.sowillo-page-services__row-3,.sowillo-page-services__row-5,.sowillo-page-services__row-6,.sowillo-page-team__row-2,.sowillo-page-team__row-3,.sowillo-page-team__row-5,.sowillo-page-team__row-6)::after {
 display:none!important;
}
.sowillo-page-services__section-1 {
 margin-top:0!important;
 padding-top:63px!important;
}
.sowillo-page-services__row-2>.et_pb_column,
.sowillo-page-services__row-3>.et_pb_column {
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 padding:35px 45px!important;
}
.sowillo-page-services__row-2 .sowillo-page-services__heading,
.sowillo-page-services__row-3 .sowillo-page-services__heading {
 margin:0 0 10px!important;
}
.sowillo-page-services__row-2 .sowillo-page-services__text-editor,
.sowillo-page-services__row-3 .sowillo-page-services__text-editor {
 margin:0!important;
}
.sowillo-page-services__row-2 p,
.sowillo-page-services__row-3 p {
 padding:0!important;
}
/* Restore the outer Kava content spacing absent from the new theme. */
.sowillo-page-about__section-1{padding-top:30px!important}
.sowillo-page-about__section-1 .sowillo-page-about__row-1>.et_pb_column:last-child {
 margin-top:29px!important;
 padding:0 10px;
}
.sowillo-page-about__section-1 .sowillo-page-about__heading h2 {
 font-size:38px!important;
}
.sowillo-page-about__slider-copy a:first-child {
 font:400 36px/1.4 Roboto,Arial,sans-serif!important;
}
.sowillo-page-about__slider-copy a:last-child {
 margin-top:20px;
 font:400 24px/1.4 Roboto,Arial,sans-serif!important;
}
.sowillo-page-about__section-2 .sowillo-page-about__text-editor {
 padding:10px 25px!important;
}
.sowillo-page-about__section-2 .sowillo-page-about__text-editor h2 {
 margin:15px 0!important;
 padding:0!important;
 font:400 40px/56px Poppins,Arial,sans-serif!important;
 color:#162c5a!important;
}
.sowillo-page-services__row-2{margin-top:21px!important}
.sowillo-page-services__row-2>.et_pb_column,
.sowillo-page-services__row-3>.et_pb_column{padding-bottom:33px!important}
.sowillo-page-services__row-2 h2,
.sowillo-page-services__row-3 h2{margin-bottom:0!important}
@media(max-width:767px) {
 .sowillo-page-about__section-1{padding-top:20px!important}
 .sowillo-page-about__section-1 .sowillo-page-about__heading h2{font-size:24px!important}
 .sowillo-page-about__section-2 .sowillo-page-about__text-editor{padding:10px!important}
 .sowillo-page-about__section-2 .sowillo-page-about__text-editor h2{font-size:28px!important;line-height:1.4!important}
 .sowillo-page-services__section-1{padding-top:30px!important}
}

.sowillo-header-breadcrumbs{min-height:50.4px!important}
