.wrapper,
body {
  max-width: none
}

html {
  box-sizing: border-box
}

*,
::after,
::before {
  box-sizing: inherit
}

.clearfix {
  zoom: 1
}

.clearfix:after,
.clearfix:before {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.clearfix:after {
  clear: both
}

body {
  background: 0 0
}

.container {
  text-align: center;
  padding-left: 0;
  padding-right: 0
}

.content-inner {
  max-width: 49em;
  margin: auto;
  position: relative
}

.cam-section {
  position: relative;
  z-index: 3
}

.cta .btn {
  margin: 1.5em auto 0;
  font-family: "Proxima Nova", sans-serif;
  font-weight: 300;
  font-size: .75em;
  border: 2px solid transparent;
  letter-spacing: 2px;
  padding: 1em 0;
  display: block;
  max-width: 15em
}

.bs-info-block h3,
.cta .other {
  font-family: "Proxima Nova", sans-serif;
  font-weight: 600
}

.cta .btn.orange-bg {
  background: #e96530
}

.cta .btn.orange-bg:hover {
  background: #ee875e
}

.cta .btn.orange-outline {
  border-color: #e96530;
  color: #e96530;
  margin-top: 1em;
  background: 0 0;
  transition: .1s all linear
}

.cta .btn.orange-outline:hover {
  border-color: #f3aa8c;
  color: #f3aa8c
}

.cta .other {
  display: block;
  margin-top: 1.5em;
  text-transform: uppercase;
  font-size: .6em
}

.cta .other a {
  color: #e96530
}

.cta .other a:hover {
  color: #f09875
}

.box-info {
  position: relative;
  padding: 1.5em;
  background: #fff;
  text-align: center
}

.box-info:before {
  position: absolute;
  content: '';
  display: block;
  z-index: 5;
  width: 0;
  height: 0
}

.box-info h2 {
  font-size: 1em;
  display: inline-block;
  line-height: 1.3
}

.box-info a {
  display: block;
  font-size: .75em;
  margin-top: .75em
}

.desc {
  font-size: .75em;
  margin-top: 1.5em;
  line-height: 1.5
}

.container {
  padding-top: 58px;
  background: #d1e7f5
}

.hero-header {
  position: relative;
  height: 20em
}

.hero-header .hero-image,
.hero-header h1 {
  position: absolute;
  left: 0;
  background-repeat: no-repeat
}

.hero-header .hero-image {
  display: block;
  width: 100%;
  height: 20em;
  top: 0;
  z-index: 1;
  background-image: url(../jpg/hero-cambodia-family-default.jpg);
  background-size: cover;
  background-position: center top
}

.hero-header h1 {
  width: 290px;
  height: 98px;
  top: 1.8em;
  right: 0;
  margin: auto;
  z-index: 2;
  text-indent: -999em;
  background-image: url(../png/hero-title.png);
  background-size: contain
}

.hero-header .page-desc {
  font-size: .85em;
  padding: 26em 1em 0;
  line-height: 1.5
}

.stat-block-section {
  position: relative;
  z-index: 3;
  background: #fff;
  padding: 2em 1.5em;
  border-top: 1px solid #eee
}

.stat-block-section h2 {
  font-size: 1em;
  line-height: 1.3
}

.stat-block-section .stat-block-wrapper {
  max-width: 40em;
  margin: auto;
  padding-top: 1em
}

.stat-block-section .stat-block {
  padding-top: 1.5em;
  text-align: left
}

.stat-block-section .stat-block img {
  display: block;
  float: left;
  width: 25%;
  margin-right: 1em
}

.stat-block-section .stat-block .description {
  font-size: .75em
}

.stat-block-section .additional-copy {
  margin-top: 1.5em;
  padding: 1.5em 0 0;
  border-top: 1px solid #333
}

.stat-block-section .additional-copy h3 {
  font-size: 1em
}

.how-biosand-works {
  background: #b4e2e7;
  padding: 2em 1.5em
}

.how-biosand-works .about-biosand {
  max-width: 23em;
  margin: auto
}

.how-biosand-works .about-biosand h2 {
  font-size: .9em;
  line-height: 1.3
}

.how-biosand-works .about-biosand p {
  font-size: .75em;
  line-height: 1.5;
  margin-top: .75em
}

.biosand-info-wrapper {
  position: relative
}

.biosand-information {
  max-width: 17em;
  margin: auto
}

.m-no-backgroundsize .bs-info-block h3 {
  background-image: url(../png/squig-fallback.png)
}

.bs-info-block {
  margin-top: 1.5em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.bs-info-block h3 {
  font-size: .75em;
  transition: .1s color linear;
  background-image: url(../png/squig.png);
  background-size: 61% 12%;
  background-repeat: no-repeat;
  background-position: center 1.8em;
  padding-bottom: 1.25em
}

.bs-info-block p {
  font-size: .7em;
  margin-top: .125em;
  color: #585858;
  line-height: 1.5
}

.stat-boxes .line-1,
.stat-boxes .line-2 {
  font-family: "Proxima Nova", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.3
}

.static-biosand {
  display: none
}

.biosand-bottom {
  display: block;
  position: absolute;
  bottom: -1em
}

.svg-wrapper,
.svg-wrapper span {
  position: relative;
  background-size: contain;
  background-repeat: no-repeat
}

.svg-wrapper {
  font-size: .635em;
  background-image: url(../svg/outline.svg);
  margin: 5em auto 0;
  width: 21.4em;
  height: 33.5em;
  padding-top: 4.5em;
  padding-left: 1.5em
}

.svg-wrapper span {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  margin-top: -2.5em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.svg-wrapper .brown-drop,
.svg-wrapper .drop {
  z-index: 7;
  width: 1.1em;
  height: 1.85em;
  position: absolute
}

.svg-wrapper .animate {
  margin-top: -.9em;
  transition: .25s linear all
}

.svg-wrapper .animate.active-hover,
.svg-wrapper .animate:hover {
  -ms-transform: scale(1.05);
  transform: scale(1.05)
}

.svg-wrapper .brown-drop {
  background-image: url(../svg/brown-drop.svg);
  top: 0;
  transition: .1s all linear
}

.svg-wrapper .brown-drop.drop-1 {
  left: 4em
}

.svg-wrapper .brown-drop.drop-2 {
  left: 7em
}

.svg-wrapper .brown-drop.drop-3 {
  left: 10em
}

.svg-wrapper .brown-drop.drop-4 {
  left: 13em
}

.svg-wrapper .drop {
  background-image: url(../svg/drop.svg);
  animation: drop 1.5s infinite;
  top: 19em;
  left: 19.35em
}

.slideshow-wrapper,
.stat-boxes .box {
  position: relative
}

.svg-wrapper .dirty-water {
  z-index: 6;
  width: 13.8em;
  height: 4.8em;
  background-image: url(../svg/dirty-water.svg);
  margin-top: -1em !important
}

.svg-wrapper .separation-layer {
  z-index: 5;
  margin-top: -2.3em !important;
  margin-left: -1.4em;
  width: 18.7em;
  height: 3em;
  background-image: url(../svg/separation-layer.svg)
}

.svg-wrapper .biological-layer {
  z-index: 4;
  margin-top: -1.5em;
  width: 13.8em;
  height: 4.35em;
  background-image: url(../svg/biological-layer.svg)
}

.svg-wrapper .fine-sand {
  z-index: 3;
  width: 13.8em;
  height: 11.85em;
  background-image: url(../svg/fine-sand.svg)
}

.svg-wrapper .coarse-sand {
  z-index: 2;
  width: 13.8em;
  height: 4.2em;
  background-image: url(../svg/coarse-sand.svg)
}

.svg-wrapper .gravel {
  z-index: 1;
  width: 13.8em;
  height: 4.2em;
  background-image: url(../svg/gravel.svg)
}

.m-no-svg .static-biosand {
  display: block;
  margin: 2em auto 0
}

.m-no-svg .svg-wrapper {
  display: none
}

.community-built .community-photo,
.photos .image-3 {
  display: block;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

.m-no-svg .bs-info-block.visible {
  opacity: 1
}

.info-grid {
  background-color: #eef3f4
}

.info-grid .content-wrapper {
  max-width: 72em;
  overflow: hidden;
  margin: auto
}

.info-grid a {
  color: #e96530;
  transition: .1s color linear
}

.info-grid a:hover {
  color: #f09875
}

.community-built {
  overflow: hidden
}

.community-built .community-photo {
  height: 0;
  padding-bottom: 50%;
  width: 103%;
  background-image: url(../jpg/community-photo.jpg)
}

.community-built .box-info:before {
  top: -1em;
  border-left: 1em solid transparent;
  border-right: 1em solid transparent;
  border-bottom: 1em solid #fff;
  left: 0;
  right: 0;
  margin: auto
}

.photos .image-3 {
  height: 13.5em;
  width: 102%;
  background-image: url(../jpg/dirty-vs-clean-water.jpg)
}

.two-photos {
  height: 9.5em;
  overflow: hidden
}

.two-photos span {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  margin: 0 -3px;
  height: 100%
}

.two-photos .image-1 {
  width: 65.2%;
  background-image: url(../jpg/girl-drinking-water.jpg)
}

.two-photos .image-2 {
  width: 35.2%;
  background-image: url(../jpg/woman-working.jpg)
}

.stat-boxes .box {
  width: 50%;
  padding: 1.5em .5em;
  float: left;
  display: table
}

.stat-boxes .box-inner {
  display: table-cell
}

.stat-boxes .line-1 {
  font-size: 1.9em
}

.stat-boxes .line-2 {
  font-size: .6em;
  color: #f1dfcb;
  text-transform: uppercase;
  max-width: 11em;
  margin-left: auto;
  margin-right: auto
}

.stat-boxes .population {
  background: #65c4aa
}

.stat-boxes .population .line-1 {
  color: #2f6e60
}

.stat-boxes .clean-water {
  background-image: url(../png/pattern-waves.png);
  background-size: cover
}

.stat-boxes .clean-water .line-1 {
  color: #8fd2c8
}

.stat-boxes .sanitation {
  background-image: url(../png/pattern-sanitation.png);
  background-size: cover
}

.stat-boxes .sanitation .line-1,
.stat-boxes .sanitation .line-2 {
  color: #eb5a4e
}

.stat-boxes .poverty {
  background: #65c4aa
}

.stat-boxes .poverty .line-1 {
  color: #f1dfcb
}

.about {
  text-align: left
}

.about .country-image {
  display: none
}

.slideshow-wrapper .slideshow-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  cursor: pointer;
  z-index: 5
}

.slideshow-wrapper .slideshow-nav:before {
  content: '';
  position: absolute;
  opacity: 0;
  transition: .1s opacity linear;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-repeat: repeat-y
}

.slideshow-wrapper .slideshow-nav:hover:before {
  opacity: .2
}

.slideshow-wrapper .slideshow-nav:hover .arrow {
  color: #fff
}

.slideshow-wrapper .slideshow-nav .arrow {
  color: rgba(255, 255, 255, .5);
  transition: .1s color linear;
  font-size: 2.5em;
  height: 60px;
  margin-top: -30px;
  top: 50%;
  position: absolute
}

.slideshow-wrapper .slideshow-nav .arrow.cw-icon-angle-left {
  left: .5em
}

.slideshow-wrapper .slideshow-nav .arrow.cw-icon-angle-right {
  right: .5em
}

.slideshow-wrapper .alt-caption {
  display: none !important
}

.slideshow-wrapper .prev-btn {
  left: 0;
  right: 85%
}

.slideshow-wrapper .next-btn {
  left: 85%;
  right: 0
}

.slideshow {
  max-width: 72em;
  margin: auto;
  z-index: 4
}

.slideshow img {
  width: 100%
}

.bottom-cta {
  padding: 1.5em
}

.question-section {
  background: #fff;
  position: relative;
  z-index: 100;
  padding-bottom: 0
}

.question-section .main-text {
  margin-bottom: 1.5em
}

.question-section .icn {
  display: inline-block;
  margin-right: 5px
}

.question-section .cw-icon-mail {
  position: relative;
  top: 2px
}

.question-section a {
  color: #2e9df7;
  transition: .1s color linear
}

.question-section a:hover {
  color: #5fb4f9
}

.ie8 .hero-header .hero-image {
  -ms-behavior: none !important;
  background-image: url(../jpg/hero-fallback.jpg);
  background-position: center bottom
}

.ie8 .hero-header h1 {
  display: none
}

@media (min-width:30em) {
  .define-mq {
    /*! define 1000px media query */
  }

  .stat-block-section {
    text-align: center;
    border: none
  }

  .stat-block-section .stat-block-wrapper {
    padding-top: 2em
  }

  .stat-block-section .stat-block {
    width: 31%;
    display: inline-block;
    padding: .25em;
    vertical-align: top;
    text-align: center
  }

  .stat-block-section .stat-block img {
    float: none;
    margin: auto;
    width: 42%
  }

  .stat-block-section .stat-block .block-title {
    margin-top: 1em
  }

  .photos .image-3 {
    height: 17.5em
  }

  .two-photos {
    height: 13.5em
  }
}

@media (min-width:35em) {
  .define-mq {
    /*! define 1000px media query */
  }

  .hero-header {
    height: 11em
  }

  .hero-header .hero-image {
    height: 11em;
    background-image: url(../jpg/hero-cambodia-family.jpg);
    background-position: center bottom
  }

  .hero-header h1 {
    position: absolute;
    top: 3.4em;
    left: 50%;
    width: 240px;
    height: 81px
  }

  .hero-header .page-desc {
    padding-top: 15.5em;
    font-size: .85em
  }
}

@media (min-width:48em) {
  .define-mq {
    /*! define 1000px media query */
  }

  .cta .btn {
    display: inline-block;
    padding: 1em 2em;
    max-width: none
  }

  .cta .top-btn {
    margin-right: 1em
  }

  .box-info {
    padding: 2.5em;
    text-align: left
  }

  .box-info h2 {
    font-size: 1.125em
  }

  .box-info a {
    display: inline-block;
    margin-top: 1.5em
  }

  .box-info a.learn-more {
    margin-right: 4em
  }

  .hero-header,
  .hero-header .hero-image {
    height: 15em
  }

  .hero-header h1 {
    top: 4.55em;
    width: 345px;
    height: 116px
  }

  .hero-header .page-desc {
    font-size: 1.25em;
    padding-top: 14em;
    max-width: 27em;
    margin: auto
  }

  .hero-header .btn {
    font-size: .85em
  }

  .stat-block-section {
    padding-top: 2.5em;
    padding-bottom: 2.5em
  }

  .stat-block-section h2 {
    max-width: 27em;
    margin-left: auto;
    margin-right: auto
  }

  .stat-block-section .stat-block-wrapper {
    padding-top: 3em
  }

  .stat-block-section .stat-block {
    padding-top: 0
  }

  .stat-block-section .stat-block .block-title {
    margin-top: .7em;
    font-size: 1.3em
  }

  .stat-block-section .stat-block .description {
    font-size: .85em;
    margin: .25em auto 0;
    max-width: 12em
  }

  .stat-block-section .additional-copy {
    margin-top: 2.5em;
    padding-top: 2.5em;
    max-width: 35em;
    margin-left: auto;
    margin-right: auto
  }

  .stat-block-section .additional-copy p {
    max-width: 33em;
    margin-left: auto;
    margin-right: auto
  }

  .how-biosand-works {
    position: relative;
    min-height: 36em
  }

  .how-biosand-works .about-biosand {
    max-width: 32em
  }

  .how-biosand-works .about-biosand h2 {
    font-size: 1.125em;
    max-width: 25em;
    margin-left: auto;
    margin-right: auto
  }

  .how-biosand-works .about-biosand p {
    font-size: .85em
  }

  .biosand-info-wrapper {
    margin-top: 2em
  }

  .biosand-information {
    max-width: none;
    text-align: left
  }

  .biosand-information .left-side {
    position: absolute;
    left: 0;
    top: 0
  }

  .biosand-information .right-side {
    position: absolute;
    right: 0;
    top: 0
  }

  .bs-info-block {
    width: 8.75em;
    margin-top: 1.5em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0;
    -ms-transform: scale(0);
    transform: scale(0);
    transition: .25s all linear
  }

  .bs-info-block h3 {
    background-size: 100% 11%
  }

  .bs-info-block.visible.active-hover {
    opacity: 1
  }

  .bs-info-block.visible {
    opacity: .25;
    -ms-transform: scale(1);
    transform: scale(1)
  }

  .bs-info-block.dirty-water {
    margin-top: 0
  }

  .bs-info-block.coarse-sand {
    top: 14em;
    right: 0;
    margin-top: 0
  }

  .svg-wrapper .clean-water {
    background: 0 0;
    display: block;
    width: 4.5em;
    height: 18em;
    position: absolute;
    top: 12.5em;
    left: 16em;
    z-index: 10
  }

  .community-built .box-info {
    padding-left: 55%
  }

  .community-built .box-info:before {
    border-top: 1em solid transparent;
    border-bottom: 1em solid transparent;
    border-right: 1em solid #fff;
    left: -2em;
    top: 50%;
    margin-top: -1.75em
  }

  .community-built {
    position: relative
  }

  .community-built .community-photo {
    width: 50%;
    position: absolute;
    top: -1px;
    left: 0;
    height: 101%;
    padding: 0;
    z-index: 1
  }

  .photos .image-3 {
    height: 13.5em
  }

  .photos .one-image {
    padding-left: 50%
  }

  .two-photos {
    width: 50%;
    float: left
  }

  .stat-boxes .box {
    width: 25%
  }

  .stat-boxes .line-1 {
    font-size: 2.25em
  }

  .about .map-image-wrapper {
    background-color: #86d3e4;
    width: 50%;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    overflow: hidden
  }

  .about .map-info-wrapper {
    position: relative
  }

  .about .map-info-wrapper h2 {
    max-width: 11em
  }

  .about .map-info-wrapper .box-info {
    padding-right: 55%
  }

  .about .map-info-wrapper .country-image {
    display: block;
    background-image: url(../png/cambodia.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%
  }

  .slideshow-wrapper .slideshow-nav .arrow {
    font-size: 5em;
    height: 3em;
    margin-top: -.5em
  }

  .bottom-cta {
    padding: 2.5em
  }

  .bottom-cta .top-description {
    max-width: 21em;
    margin: auto;
    line-height: 1.5;
    font-size: 1.25em
  }

  .question-section {
    padding-bottom: 0;
    text-align: center
  }

  .question-section h2 {
    max-width: 22em;
    margin-left: auto;
    margin-right: auto
  }

  .question-section .main-text {
    margin-bottom: 0
  }

  .question-section .block {
    display: inline-block;
    margin: 0 .5em
  }
}

@media (min-width:62.5em) {
  .define-mq {
    /*! define 1000px media query */
  }

  .container {
    max-width: none
  }

  .cta .other {
    font-size: .75em
  }

  .box-info h2 {
    font-size: 1.35em
  }

  .desc {
    font-size: .9em;
    margin-top: 2.25em
  }

  .hero-header,
  .hero-header .hero-image {
    height: 20em
  }

  .hero-header h1 {
    margin-left: 1em;
    top: 6em;
    width: 470px;
    height: 158px
  }

  .hero-header .page-desc {
    padding-top: 0;
    font-size: 1.5em;
    max-width: 32em
  }

  .hero-header .btn {
    font-size: 1.125em
  }

  .how-biosand-works .about-biosand h2,
  .stat-block-section .additional-copy h3,
  .stat-block-section h2 {
    font-size: 1.35em
  }

  .how-biosand-works {
    padding: 3em 1.5em
  }

  .how-biosand-works .about-biosand {
    max-width: 34em
  }

  .bs-info-block {
    width: 11.5em;
    margin-top: 4.75em
  }

  .bs-info-block h3 {
    font-size: .85em
  }

  .bs-info-block p {
    font-size: .8em
  }

  .svg-wrapper {
    font-size: .9em;
    margin-top: 5em
  }

  .stat-boxes .line-1 {
    font-size: 3.5em
  }

  .stat-boxes .box {
    padding: 3.25em .5em
  }

  .slideshow-wrapper .alt-caption {
    z-index: 10;
    text-align: center;
    display: block !important;
    position: absolute;
    left: 15em;
    right: 15em;
    bottom: 2em;
    background-color: rgba(0, 0, 0, .5);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000, endColorstr=#80000000);
    padding: .5em;
    font-size: .9em;
    line-height: 1.5em;
    color: #fff
  }

  .slideshow-wrapper .prev-btn:before {
    background-image: url(../png/prev-grad.png)
  }

  .slideshow-wrapper .next-btn:before {
    background-image: url(../png/next-grad.png);
    background-position: right 0
  }

  .bottom-cta {
    padding: 3em;
    background: #fff
  }

  .bottom-cta .top-description {
    font-size: 1.6em
  }

  .bottom-cta .btn {
    font-size: 1.125em;
    margin-top: .9em
  }

  .question-section .desc {
    font-size: .9em
  }
}

@media (min-width:90em) {
  .define-mq {
    /*! define 1000px media query */
  }

  .hero-header .hero-image {
    background-size: contain;
    background-position: center
  }

  .hero-header .hero-image-wrapper {
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    background-image: url(../jpg/hero-tiled.jpg);
    background-size: contain
  }
}

@keyframes drop {
  0% {
    opacity: 0;
    top: 19em
  }

  50% {
    opacity: 1
  }

  100% {
    opacity: 0;
    top: 24em
  }
}
