.u-section-1 .u-sheet-1 {
  min-height: 716px;
}

.u-section-1 .u-layout-wrap-1 {
  margin-top: 95px;
  margin-bottom: 60px;
}

.u-section-1 .u-layout-cell-1 {
  min-height: 526px;
}

.u-section-1 .u-container-layout-1 {
  padding: 0;
}

.u-section-1 .u-group-elements-1 {
  min-height: 338px;
  --animation-custom_in-translate_x: -300px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  height: auto;
  width: 494px;
  margin: 61px 0 0;
}

.u-section-1 .u-text-1 {
  font-size: 2.8125rem;
  margin: 0;
}

.u-section-1 .u-text-2 {
  margin: 30px 30px 0 0;
}

.u-section-1 .u-btn-1 {
  background-image: none;
  margin: 30px 274px 0 0;
}

.u-section-1 .u-layout-cell-2 {
  min-height: 525px;
  filter: none;
}

.u-section-1 .u-container-layout-2 {
  padding: 0;
}

.u-section-1 .u-image-1 {
  filter: none;
  width: 614px;
  height: 614px;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 180deg;
  --animation-custom_in-scale: 0.3;
  margin: -44px 0 -44px auto;
}

@media (max-width: 1199px) {
  .u-section-1 .u-sheet-1 {
    min-height: 593px;
  }

  .u-section-1 .u-layout-wrap-1 {
    margin-top: 69px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 445px;
  }

  .u-section-1 .u-group-elements-1 {
    min-height: 364px;
    margin-top: 35px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .u-section-1 .u-layout-cell-2 {
    background-position: 0% 50%;
    --radius: 50px;
    background-size: cover;
    min-height: 433px;
  }

  .u-section-1 .u-image-1 {
    width: 533px;
    height: 533px;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 570px;
  }

  .u-section-1 .u-layout-wrap-1 {
    margin-top: 12px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 100px;
  }

  .u-section-1 .u-group-elements-1 {
    min-height: 446px;
    width: auto;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-1 .u-btn-1 {
    margin-right: auto;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 498px;
  }

  .u-section-1 .u-image-1 {
    width: 258px;
    height: 408px;
    margin-top: 0;
    margin-right: 4px;
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-sheet-1 {
    min-height: 666px;
  }

  .u-section-1 .u-layout-wrap-1 {
    margin-top: 24px;
    margin-bottom: 30px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 351px;
  }

  .u-section-1 .u-group-elements-1 {
    margin-bottom: -130px;
    width: auto;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 261px;
  }

  .u-section-1 .u-image-1 {
    margin-top: -148px;
    margin-right: 35px;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-sheet-1 {
    min-height: 816px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 437px;
  }

  .u-section-1 .u-group-elements-1 {
    min-height: 454px;
    margin-bottom: -18px;
    width: auto;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-1 .u-text-1 {
    font-size: 2.25rem;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 398px;
  }

  .u-section-1 .u-image-1 {
    margin-top: -10px;
    margin-right: auto;
  }
}

/* ---------------------------------------------------------------------------
   Section 2 -- the two kinds of poll.
   Hand written, not generated by the site builder. The builder's two column
   layout (.u-layout-cell) splits the sheet down the middle, which would leave
   each screenshot about 250 pixels wide on a desktop. A date grid at that size
   is a grey smudge, and reading it is the whole point of the section. The rows
   are laid across instead, image wide and text beside it, alternating sides.
   --------------------------------------------------------------------------- */

.u-section-2 .u-sheet-1 {
  min-height: 400px;
}

.u-section-2 .u-text-1 {
  width: 800px;
  line-height: 1.2;
  margin: 60px auto 0;
}

.u-section-2 .u-text-2 {
  width: 700px;
  margin: 20px auto 0;
}

.u-section-2 .polls-type {
  display: grid;
  grid-template-columns: 58% 1fr;
  align-items: center;
  gap: 40px;
  margin: 50px 0 0;
}

.u-section-2 .polls-type:last-of-type {
  margin-bottom: 80px;
}

/* Only the image swaps sides. The body keeps its source order, so the reading
   order stays image, then text -- also for a screen reader, which ignores the
   visual order entirely. */
.u-section-2 .polls-type--reverse .polls-type-image {
  order: 2;
}

.u-section-2 .polls-type-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
  box-shadow: 5px 5px 20px 0 rgba(0, 0, 0, 0.2);
}

.u-section-2 .polls-type-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 16px;
}

.u-section-2 .polls-type-text {
  margin: 0;
  font-size: 1rem;
}

@media (max-width: 991px) {
  .u-section-2 .u-text-1,
  .u-section-2 .u-text-2 {
    width: auto;
  }

  .u-section-2 .polls-type {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 40px;
  }

  /* Stacked, the image belongs above its text in every row -- an image that
     jumped below the text in every second row would read as a caption for the
     row after it. */
  .u-section-2 .polls-type--reverse .polls-type-image {
    order: 0;
  }
}

@media (max-width: 767px) {
  .u-section-2 .u-text-1 {
    margin-top: 40px;
  }

  .u-section-2 .polls-type:last-of-type {
    margin-bottom: 40px;
  }

  .u-section-2 .polls-type-title {
    font-size: 1.3125rem;
  }
}

/* ---------------------------------------------------------------------------
   Section 1 -- the hero image.
   The rules copied above were tuned for a square watercolour illustration:
   614 by 614 with negative margins that let it bleed out of its cell. This one
   is a screenshot of the app on a phone, so it needs its own aspect ratio
   (700 by 1218) and a card look instead of a bleed.
   The overrides repeat the builder's breakpoints because a rule outside a
   media query cannot beat one inside it, however late it comes in the file.
   --------------------------------------------------------------------------- */

.u-section-1 .u-image-1 {
  width: 353px;
  height: 614px;
  border-radius: 20px;
  box-shadow: 5px 5px 20px 0 rgba(0, 0, 0, 0.4);
  margin: 0 0 0 auto;
}

@media (max-width: 1199px) {
  .u-section-1 .u-image-1 {
    width: 306px;
    height: 533px;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-layout-cell-2 {
    min-height: 460px;
  }

  .u-section-1 .u-image-1 {
    width: 235px;
    height: 409px;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-layout-cell-2 {
    min-height: 440px;
  }

  .u-section-1 .u-image-1 {
    margin: 0 auto;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-layout-cell-2 {
    min-height: 440px;
  }

  .u-section-1 .u-image-1 {
    margin: 0 auto;
  }
}
.u-section-3 .u-sheet-1 {
  min-height: 495px;
}

.u-section-3 .u-text-1 {
  width: 800px;
  line-height: 1.2;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 0.3;
  margin: 60px auto 0;
}

.u-section-3 .u-list-1 {
  margin-top: 29px;
  margin-bottom: 60px;
}

.u-section-3 .u-repeater-1 {
  --gap: 10px;
  grid-auto-columns: calc(33.3333% - 6.66667px);
  grid-template-columns: repeat(3, calc(33.3333% - 6.66667px));
  min-height: 249px;
}

.u-section-3 .u-list-item-1 {
  --radius: 20px;
}

.u-section-3 .u-container-layout-1 {
  padding: 30px;
}

.u-section-3 .u-text-2 {
  margin-bottom: 0;
  margin-top: 0;
}

.u-section-3 .u-text-3 {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}

.u-section-3 .u-list-item-2 {
  --radius: 20px;
}

.u-section-3 .u-container-layout-2 {
  padding: 30px;
}

.u-section-3 .u-text-4 {
  margin-bottom: 0;
  margin-top: 0;
}

.u-section-3 .u-text-5 {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}

.u-section-3 .u-list-item-3 {
  --radius: 20px;
}

.u-section-3 .u-container-layout-3 {
  padding: 30px;
}

.u-section-3 .u-text-6 {
  margin-bottom: 0;
  margin-top: 0;
}

.u-section-3 .u-text-7 {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}

@media (max-width: 1199px) {
  .u-section-3 .u-repeater-1 {
    grid-auto-columns: calc(33.333333333333336% - 6.666666666666667px);
    grid-template-columns: repeat(3, calc(33.333333333333336% - 6.666666666666667px));
    min-height: 205px;
  }
}

@media (max-width: 991px) {
  .u-section-3 .u-text-1 {
    width: 720px;
  }

  .u-section-3 .u-repeater-1 {
    grid-auto-columns: calc(50% - 5px);
    grid-template-columns: repeat(2, calc(50% - 5px));
    min-height: 471px;
  }
}

@media (max-width: 767px) {
  .u-section-3 .u-text-1 {
    width: 540px;
  }

  .u-section-3 .u-repeater-1 {
    grid-auto-columns: calc(100% - 0px);
    grid-template-columns: 100%;
  }

  .u-section-3 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-3 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-3 .u-container-layout-3 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .u-section-3 .u-text-1 {
    width: 340px;
  }

  .u-section-3 .u-container-layout-1 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .u-section-3 .u-container-layout-2 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .u-section-3 .u-container-layout-3 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.u-section-4 {
  background-image: none;
}

.u-section-4 .u-sheet-1 {
  min-height: 388px;
}

.u-section-4 .u-layout-wrap-1 {
  margin-top: 60px;
  margin-bottom: 60px;
}

.u-section-4 .u-layout-cell-1 {
  min-height: 245px;
  background-image: none;
  --radius: 20px;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
}

.u-section-4 .u-container-layout-1 {
  padding: 0 30px 30px;
}

.u-section-4 .u-text-1 {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.2;
  margin: 36px 0 0;
}

.u-section-4 .u-text-2 {
  font-weight: 400;
  margin: 30px 3px 0;
}

.u-section-4 .u-layout-cell-2 {
  min-height: 245px;
  filter: none;
}

.u-section-4 .u-container-layout-2 {
  padding: 30px 10px;
}

.u-section-4 .u-btn-1 {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  background-image: none;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  font-size: 1rem;
  margin: 52px auto 0;
  padding: 29px 31px 29px 29px;
}

@media (max-width: 1199px) {
  .u-section-4 .u-sheet-1 {
    min-height: 352px;
  }

  .u-section-4 .u-layout-cell-1 {
    min-height: 209px;
  }

  .u-section-4 .u-text-1 {
    width: auto;
    margin-top: 21px;
  }

  .u-section-4 .u-text-2 {
    width: auto;
    margin-top: 25px;
    margin-left: 0;
    margin-right: 0;
  }

  .u-section-4 .u-layout-cell-2 {
    min-height: 209px;
  }

  .u-section-4 .u-container-layout-2 {
    padding-left: 0;
    padding-right: 0;
  }

  .u-section-4 .u-btn-1 {
    margin-top: 45px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
}

@media (max-width: 991px) {
  .u-section-4 .u-sheet-1 {
    min-height: 445px;
  }

  .u-section-4 .u-layout-wrap-1 {
    margin-top: 79px;
    margin-bottom: 41px;
  }

  .u-section-4 .u-layout-cell-1 {
    min-height: 206px;
  }

  .u-section-4 .u-container-layout-1 {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 2px;
  }

  .u-section-4 .u-text-1 {
    margin-top: 19px;
    margin-left: 60px;
    margin-right: 60px;
  }

  .u-section-4 .u-text-2 {
    margin-left: 60px;
    margin-right: 60px;
  }

  .u-section-4 .u-layout-cell-2 {
    min-height: 119px;
  }

  .u-section-4 .u-container-layout-2 {
    padding-left: 6px;
    padding-right: 6px;
  }

  .u-section-4 .u-btn-1 {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .u-section-4 .u-sheet-1 {
    min-height: 412px;
  }

  .u-section-4 .u-layout-cell-1 {
    min-height: 226px;
  }

  .u-section-4 .u-text-1 {
    width: 420px;
    margin-top: 11px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-4 .u-text-2 {
    width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 575px) {
  .u-section-4 .u-sheet-1 {
    min-height: 442px;
  }

  .u-section-4 .u-layout-cell-1 {
    min-height: 229px;
  }

  .u-section-4 .u-text-1 {
    font-size: 1.5rem;
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
  }

  .u-section-4 .u-text-2 {
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
  }

  .u-section-4 .u-container-layout-2 {
    padding-left: 2px;
    padding-right: 2px;
  }

  .u-section-4 .u-btn-1 {
    font-size: 0.875rem;
    padding: 17px 24px 19px;
  }
}
.u-section-5 {
  background-image: none;
}

.u-section-5 .u-sheet-1 {
  min-height: 914px;
}

.u-section-5 .u-text-1 {
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  width: 800px;
  margin: 61px auto 0;
}

.u-section-5 .u-text-2 {
  width: 700px;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  margin: 30px auto 0;
}

.u-section-5 .u-accordion-1 {
  margin: 60px 0;
}

.u-section-5 .u-accordion-link-1 {
  background-image: none;
  font-weight: 700;
  padding: 25px 30px;
}

.u-section-5 .u-icon-1 {
  height: 17px;
  width: 17px;
}

.u-section-5 .u-accordion-pane-1 {
  min-height: 150px;
  background-image: none;
}

.u-section-5 .u-container-layout-1 {
  padding: 20px 30px;
}

.u-section-5 .u-accordion-link-2 {
  background-image: none;
  font-weight: 700;
  padding: 25px 30px;
}

.u-section-5 .u-icon-2 {
  height: 17px;
  width: 17px;
}

.u-section-5 .u-accordion-pane-2 {
  min-height: 150px;
  background-image: none;
}

.u-section-5 .u-container-layout-2 {
  padding: 20px 30px;
}

.u-section-5 .u-accordion-link-3 {
  background-image: none;
  font-weight: 700;
  padding: 25px 30px;
}

.u-section-5 .u-icon-3 {
  height: 17px;
  width: 17px;
}

.u-section-5 .u-accordion-pane-3 {
  min-height: 150px;
  background-image: none;
}

.u-section-5 .u-container-layout-3 {
  padding: 20px 30px;
}

.u-section-5 .u-accordion-link-4 {
  background-image: none;
  font-weight: 700;
  padding: 25px 30px;
}

.u-section-5 .u-icon-4 {
  height: 17px;
  width: 17px;
}

.u-section-5 .u-accordion-pane-4 {
  min-height: 150px;
  background-image: none;
}

.u-section-5 .u-container-layout-4 {
  padding: 20px;
}

.u-section-5 .u-accordion-link-5 {
  background-image: none;
  font-weight: 700;
  padding: 25px 30px;
}

.u-section-5 .u-icon-5 {
  height: 17px;
  width: 17px;
}

.u-section-5 .u-accordion-pane-5 {
  min-height: 150px;
  background-image: none;
}

.u-section-5 .u-container-layout-5 {
  padding: 20px;
}

@media (max-width: 1199px) {
  .u-section-5 .u-accordion-1 {
    margin-right: initial;
    margin-left: initial;
  }
}

@media (max-width: 991px) {
  .u-section-5 .u-text-1 {
    width: auto;
    margin-left: 54px;
    margin-right: 54px;
  }
}

@media (max-width: 767px) {
  .u-section-5 .u-text-1 {
    line-height: 1.2;
    width: 400px;
    margin-top: 60px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-5 .u-text-2 {
    width: 540px;
  }

  .u-section-5 .u-accordion-1 {
    margin-top: 51px;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-5 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-5 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-5 .u-container-layout-3 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-5 .u-container-layout-4 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-5 .u-container-layout-5 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .u-section-5 .u-text-1 {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }

  .u-section-5 .u-text-2 {
    width: 340px;
  }

  .u-section-5 .u-accordion-1 {
    margin-top: 50px;
    margin-right: initial;
    margin-left: initial;
  }
