::selection {
  background-color: #0abee9;
  color: #ffffff;
}
::-moz-selection {
  background-color: #0abee9;
  color: #ffffff;
}

/* Inner pages only. Homepage unchanged. Phones only. */
@media (max-width: 767px) {
  /* Every top-level section, including Mission (it is tagged e-child). */
  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con {
    --padding-left: 20px !important;
    --padding-right: 20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Stack those sections instead of keeping the desktop row. */
  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-direction: column !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.e-child,
  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Kill leftover desktop padding on text widgets (Team 120px, Curriculum 500px). */
  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget {
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget__width-initial {
    width: 100% !important;
    max-width: 100% !important;
    --container-widget-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-image,
  body:not(.home):not(.page-id-1352) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-image img {
    max-width: 100% !important;
    height: auto !important;
  }

  body:not(.home):not(.page-id-1352) .elementor-headline {
    font-size: clamp(28px, 8vw, 40px) !important;
    line-height: 1.2 !important;
  }

  .elementor-location-footer > .e-con {
    --padding-left: 20px !important;
    --padding-right: 20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-location-footer .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
}