.block {
  padding: 2rem 0; }
  .block--blue {
    background: #005EB8;
    color: #fff; }
    .block--blue .title {
      color: #fff; }
  .block--gray {
    background: #efefef; }
    .block--gray select, .block--gray input[type=number] {
      border: 2px solid #ccc; }
  .block--white {
    background: #fff; }
  .block > .yui3-g {
    width: 62.5rem;
    max-width: calc(100% - 2rem);
    margin: 0 auto; }
    .block > .yui3-g--extended {
      width: 80rem; }

h1,
h2,
h3,
h4,
h5 {
  line-height: 1.4em !important; }

.yui3-u-1-9 {
  width: calc((1 / 9) * 100%); }
  @media (max-width: 45.5rem) {
    .yui3-u-1-9 {
      width: 100%; } }

.yui3-u-4-9 {
  width: calc((4 / 9) * 100%); }
  @media (max-width: 45.5rem) {
    .yui3-u-4-9 {
      width: 100%; } }

.o-button--full {
  display: block;
  width: 100%;
  text-align: center; }

.campaign-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background: #efefef; }
  .campaign-hero__title {
    font-size: 2rem; }
    @media (max-width: 45.5rem) {
      .campaign-hero__title {
        font-size: 1.8rem; } }
  .campaign-hero__background {
    position: relative;
    z-index: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: #333;
    width: 100%; }
    .campaign-hero__background:after {
      content: ' ';
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      display: block;
      width: 50%;
      height: 100%;
      background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
    @media (min-width: 62.5rem) {
      .campaign-hero__background {
        height: 650px;
        max-height: calc(100vh - 16rem); } }
    @media (max-width: 62.5rem) {
      .campaign-hero__background {
        height: 350px; } }
    @media (min-width: 45.5rem) {
      .campaign-hero__background {
        align-items: center; } }
    @media (max-width: 45.5rem) {
      .campaign-hero__background {
        align-items: flex-end; } }
    .campaign-hero__background-image {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .campaign-hero__background-content {
    position: relative;
    z-index: 1;
    max-width: calc(100% - 2rem); }
    @media (min-width: 88.51rem) {
      .campaign-hero__background-content {
        width: 85rem; } }
    @media (max-width: 88.51rem) {
      .campaign-hero__background-content {
        width: 75rem; } }
  @media (min-width: 62.5rem) {
    .campaign-hero__logo {
      padding-bottom: 11rem; } }
  @media (max-width: 45.5rem) {
    .campaign-hero__logo {
      display: block;
      margin: 0 auto;
      width: 12.5rem;
      margin-bottom: 4rem; } }
  .campaign-hero__content {
    position: relative;
    z-index: 1;
    background: #fff;
    width: 75rem;
    max-width: 100%;
    margin-bottom: 2rem;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.25); }
    @media (min-width: 62.5rem) {
      .campaign-hero__content {
        margin-top: -11rem; } }
    @media (min-width: 45.5rem) {
    .campaign-hero__content > .yui3-g > .yui3-u-4-9 {
      padding: 1.5rem; } }
    @media (max-width: 45.5rem) {
      .campaign-hero__content > .yui3-g > .yui3-u-4-9 {
      padding: 1.5rem 1rem; } }

.donate {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.5rem; }
  .donate__frequency-holder, .donate__amount-holder, .donate__submit {
    flex: 9rem;
    margin: 0 .5rem 1rem; }
  .donate__frequency {
    width: 100%; }
  .donate__amount-holder {
    position: relative; }
  .donate__amount {
    width: 100%;
    padding-left: 1.5rem !important; }
  .donate__currency {
    position: absolute;
    left: .75rem;
    top: 0.68rem; }
  .donate__description {
    flex: none;
    width: calc(100% - 1rem);
    margin: 0 .5rem;
    font-size: .85rem; }

.donate-array__amounts-holder {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.25rem .5rem; }
.donate-array__other-holder {
  display: none; }
.donate-array__step {
  display: none; }
.donate-array__amount {
  flex: 4rem;
  position: relative;
  padding: .75rem;
  margin: 0 .25rem .5rem;
  border: 1px solid #C4C4C4;
  border-radius: .25rem;
  background: #fff;
  color: #C4C4C4;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer; }
  .donate-array__amount.is-selected {
    border-width: 2px;
    border-color: #005EB8;
    background: #D9F4FF;
    color: #005EB8; }
    .donate-array__amount.is-selected .donate-array__other-label {
      display: none; }
    .donate-array__amount.is-selected .donate-array__other-holder {
      display: flex;
      align-items: center; }
    .donate-array__amount.is-selected.donate-array__amount--other {
      padding: 0; }
.donate-array__currency {
  position: absolute;
  left: .75rem;
  z-index: 0; }
.donate-array__impact-holder {
  padding: 0 2rem;
  font-size: .85rem; }
  @media (max-width: 45.5rem) {
    .donate-array__impact-holder--quantity {
      text-align: center; } }
.donate-array__impact-list {
  margin: 0;
  list-style: none; }
.donate-array__impact-item {
  display: flex;
  color: #C4C4C4; }
  .donate-array__impact-item:before {
    margin-right: .5rem;
    font-family: ci-icons;
    content: '\f057'; }
  .donate-array__impact-item.is-selected {
    color: #425563; }
    .donate-array__impact-item.is-selected:before {
      content: '\f058';
      color: #57863F; }
.donate-array__next {
  display: block;
  width: 100%;
  margin: 1rem 0 0; }
.donate-array__progress {
  text-align: center;
  margin: 1rem 0 0;
  font-style: italic;
  font-size: .85rem; }
.donate-array__quantity-holder {
  display: flex;
  margin: .5rem .25rem 0;
  border-radius: .25rem; }
  @media (max-width: 45.5rem) {
    .donate-array__quantity-holder {
      display: flex;
      justify-content: center; } }
.donate-array__quantity-button {
  border: 0;
  background: none;
  padding: .25rem .75rem;
  color: #C4C4C4;
  border-top: 1px solid #C4C4C4;
  border-bottom: 1px solid #C4C4C4;
  cursor: pointer; }
  .donate-array__quantity-button:first-child {
    border-left: 1px solid #C4C4C4;
    border-bottom-left-radius: .25rem;
    border-top-left-radius: .25rem; }
  .donate-array__quantity-button:last-child {
    border-right: 1px solid #C4C4C4;
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem; }

input[type=number].js-donate-array__other {
  position: relative;
  z-index: 1;
  height: auto;
  padding: calc(.75rem - 2px) 0.75rem calc(.75rem - 2px) 1.5rem;
  font-weight: bold;
  width: 100%;
  border: 0;
  background: none; }

input[type=number].donate-array__quantity {
  line-height: 1em;
  height: auto;
  padding: .5rem;
  max-width: 2.5rem;
  text-align: center;
  font-weight: bold;
  border: 1px solid #C4C4C4; }

@media (max-width: 45.5rem) {
  .faq {
    margin-right: -1rem;
    margin-left: -1rem; } }
.faq__label {
  display: flex;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  -webkit-appearance: none;
  color: #425563;
  font-family: Montserrat,Helvetica,Arial,sans-serif;
  font-weight: bold;
  font-size: 1.1rem;
  text-align: left;
  cursor: pointer; }
  .faq__label:after {
    content: '\f0d7';
    margin-left: 1rem;
    font-family: ci-icons;
    transition: .2s linear; }
.faq__label-text {
  flex: 1; }
.faq__item {
  border-bottom: 1px solid #333;
  padding: 1.5rem 0; }
  @media (max-width: 45.5rem) {
    .faq__item {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .faq__item:first-child {
    border-top: 1px solid #333; }
  .faq__item.is-active .faq__label:after {
    transform: rotate(180deg); }
.faq__answer {
  display: none;
  padding-top: 1.5rem; }

.image-hidden {
  position: relative; }
  .image-hidden__caption {
    position: absolute;
    left: 0;
    bottom: 0;
    display: none;
    width: 100%;
    max-height: 100%;
    padding: 1rem;
    background: #00529E;
    color: #fff;
    font-size: .85rem;
    font-style: italic; }

@media (min-width: 45.5rem) {
  .image-content {
    display: flex;
    flex-wrap: wrap; } }

.image-content__photo-holder {
  position: relative;
  max-width: 100%;
  margin: 0 auto 2rem; }
  @media (min-width: 45.5rem) {
    .image-content__photo-holder {
      width: 15.5rem; } }
  @media (max-width: 45.5rem) {
    .image-content__photo-holder {
      height: 0; } }
  @media (min-width: 35.5rem) and (max-width: 45.5rem) {
    .image-content__photo-holder {
      padding-top: 65%;
      width: 25rem; } }
  @media (max-width: 35.5rem) {
    .image-content__photo-holder {
      padding-top: 120%; } }
  @media (min-width: 45.5rem) {
    .image-content__photo-holder--extended {
      margin-bottom: -4rem; } }

.image-content__photo-caption {
  background: #00529E;
  padding: 1rem;
  color: #fff;
  font-size: .85rem;
  font-style: italic; }

.image-content__photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; }

.image-content__photo-caption--hidden {
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  max-height: 100%;
  overflow: auto; }

@media (min-width: 45.5rem) {
  .image-content__copy {
    flex: 1;
    padding-left: 2rem; } }

.image-feature {
  position: relative; }
  @media (min-width: 45.5rem) {
    .image-feature {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      height: 600px;
      overflow: hidden; } }
  @media (min-width: 45.5rem) {
    .image-feature__background-holder {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 0;
      width: 100%;
      height: 100%; } }
  @media (max-width: 45.5rem) {
    .image-feature__background-holder {
      height: 24rem; } }
  .image-feature__background {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }
  .image-feature__content {
    position: relative;
    z-index: 1;
    background: #E4EFF2; }
    @media (min-width: 69rem) {
      .image-feature__content {
        width: 30rem;
        left: calc(50vw - 33.5rem); } }
    @media (min-width: 45.5rem) {
      .image-feature__content {
        padding: 2rem; } }
    @media (min-width: 45.5rem) and (max-width: 69rem) {
      .image-feature__content {
        width: 50%;
        margin-left: 1rem; } }
    @media (max-width: 45.5rem) {
      .image-feature__content {
        width: calc(100% - 2rem);
        padding: 1rem;
        margin: -4rem auto -2rem; } }

.link {
  text-decoration: none; }
  .link--small {
    font-size: .85rem;
    text-transform: uppercase;
    font-weight: bold; }

.padding-top-m {
  padding-top: 2rem; }

.padding-top-l {
  padding-top: 4rem; }

.padding-top-xl {
  padding-top: 8em; }

.padding-bottom-m {
  padding-bottom: 2rem; }

.padding-bottom-l {
  padding-bottom: 4rem; }

.padding-bottom-xl {
  padding-bottom: 8rem; }

@media (max-width: 45.5rem) {
  .padding-mobile-top-l {
    padding-top: 4rem; } }

@media (max-width: 45.5rem) {
  .padding-mobile-bottom-none {
    padding-bottom: 0 !important; } }

.share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .share__label {
    margin: 0 .5rem;
    text-transform: uppercase;
    font-weight: bold;
    color: #0b5eb8; }
  .share__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: .5rem;
    padding: .5rem;
    border: 2px solid #005eb8;
    border-radius: 50%;
    font-size: 1.2rem; }

@media (min-width: 45.5rem) {
  .u-desktop-text-center {
    text-align: center; } }

.title {
  margin-bottom: 1em; }
  .title--small {
    font-size: 1.3rem; }
  @media (min-width: 45.5rem) {
    .title--medium {
      font-size: 2rem; } }
  @media (max-width: 45.5rem) {
    .title--medium {
      font-size: 1.5rem; } }
  .title--bold {
    font-weight: 700; }
  .title--semi-bold {
    font-weight: 500; }
  .title--thin {
    font-weight: 300; }
  .title--uppercase {
    text-transform: uppercase; }
  .title--underline:after {
    content: ' ';
    display: block;
    width: 8rem;
    max-width: 100%;
    height: .15rem;
    margin-top: 1em;
    background: #425562; }
  .title--spaced {
    letter-spacing: .075em !important; }
  .title--blue {
    color: #005eb8; }
  .title--with-icon {
    display: flex;
    flex-wrap: wrap; 
    align-items: center; }
  .title__icon {
    display: block;
    width: 3rem;
    margin: 0 0 .5rem; }
  .title__icon-inline {
    display: inline-block;
    width: 2em;
    height: 2em; }

.desktop-only,
.tablet-only,
.mobile-only {
  display: none; }

@media (min-width: 45.5rem) {
  .desktop-only {
    display: block; } }

@media (max-width: 45.5rem) and (min-width: 35rem) {
  .tablet-only {
    display: block; } }

@media (max-width: 35rem) {
  .mobile-only {
    display: block; } }

/* OPTIMIZELY TESTING STYLING */
.donate-array--test {
  display: none; }