@import url(https://fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic);
html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  left: 0;
  top: 0;
  font-size: 100%; }

* {
  font-family: "Lato", Helvetica, sans-serif;
  color: #333447;
  line-height: 1.5; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1rem; }

h6 {
  font-size: 0.875rem; }

p {
  font-size: 1.125rem;
  font-weight: 200;
  line-height: 1.8; }

.font-light {
  font-weight: 300; }

.font-regular {
  font-weight: 400; }

.font-heavy {
  font-weight: 700; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.justify {
  text-align: justify; }

.hidden-sm {
  display: none; }

.container {
  width: 90%;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (min-width: 33.75em) {
    .container {
      width: 80%; } }
  @media only screen and (min-width: 60em) {
    .container {
      width: 75%; } }

.row {
  position: relative;
  width: 100%; }

.row [class^="col"] {
  float: left;
  margin: 0.5rem 2%;
  min-height: 0.125rem; }

.row::after {
  content: "";
  display: table;
  clear: both; }

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  width: 96%; }

.col-1-sm {
  width: 4.3333333333%; }

.col-2-sm {
  width: 12.6666666667%; }

.col-3-sm {
  width: 21%; }

.col-4-sm {
  width: 29.3333333333%; }

.col-5-sm {
  width: 37.6666666667%; }

.col-6-sm {
  width: 46%; }

.col-7-sm {
  width: 54.3333333333%; }

.col-8-sm {
  width: 62.6666666667%; }

.col-9-sm {
  width: 71%; }

.col-10-sm {
  width: 79.3333333333%; }

.col-11-sm {
  width: 87.6666666667%; }

.col-12-sm {
  width: 96%; }

@media only screen and (min-width: 45em) {
  .col-1 {
    width: 4.3333333333%; }

  .col-2 {
    width: 12.6666666667%; }

  .col-3 {
    width: 21%; }

  .col-4 {
    width: 29.3333333333%; }

  .col-5 {
    width: 37.6666666667%; }

  .col-6 {
    width: 46%; }

  .col-7 {
    width: 54.3333333333%; }

  .col-8 {
    width: 62.6666666667%; }

  .col-9 {
    width: 71%; }

  .col-10 {
    width: 79.3333333333%; }

  .col-11 {
    width: 87.6666666667%; }

  .col-12 {
    width: 96%; }

  .hidden-sm {
    display: block; } }
@keyframes modal-video {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes modal-video-inner {
  from {
    transform: translate(0, 100px); }
  to {
    transform: translate(0, 0); } }
.modal-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000000;
  cursor: pointer;
  opacity: 1;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-video;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }

.modal-video-close {
  opacity: 0; }
  .modal-video-close .modal-video-movie-wrap {
    -webkit-transform: translate(0, 100px);
    -moz-transform: translate(0, 100px);
    -ms-transform: translate(0, 100px);
    -o-transform: translate(0, 100px);
    transform: translate(0, 100px); }

.modal-video-body {
  max-width: 940px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: table; }

.modal-video-inner {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%; }

.modal-video-movie-wrap {
  width: 100%;
  height: 0;
  position: relative;
  padding-bottom: 56.25%;
  background-color: #333;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-video-inner;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -ms-transition: -ms-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out; }
  .modal-video-movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.modal-video-close-btn {
  position: absolute;
  z-index: 2;
  top: -35px;
  right: -35px;
  display: inline-block;
  width: 35px;
  height: 35px;
  overflow: hidden;
  border: none;
  background: transparent; }
  .modal-video-close-btn:before {
    transform: rotate(45deg); }
  .modal-video-close-btn:after {
    transform: rotate(-45deg); }
  .modal-video-close-btn:before, .modal-video-close-btn:after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: #fff;
    border-radius: 5px;
    margin-top: -6px; }

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
header,
nav,
section {
  margin: 0;
  padding: 0;
  border: 0; }

body {
  padding-bottom: 200px; }

a {
  color: #00a8e1;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

.margin-bottom {
  margin-bottom: 30px; }

.margin-top {
  margin-top: 30px; }

.margin {
  margin-bottom: 30px;
  margin-top: 30px; }

.padding {
  padding-bottom: 30px;
  padding-top: 30px; }

.show-for-sr {
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  -webkit-clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  white-space: nowrap;
  width: 1px; }

.text-center {
  text-align: center; }

@media only screen and (min-width: 45em) {
  .text-right {
    text-align: right; } }

table {
  border: 1px solid #f1f1f1;
  border-collapse: collapse;
  width: 100%; }
  table th {
    background: #f5f7fc;
    text-align: left; }
  table th,
  table td {
    padding: 12px 6px; }
  table td {
    border-bottom: 1px solid #f1f1f1; }

.divider {
  border-top: 2px solid #f1f1f1;
  padding-top: 24px; }

header {
  background: #36424a;
  background: -moz-linear-gradient(-45deg, #36424a 0%, #3a778b 100%);
  background: -webkit-linear-gradient(-45deg, #36424a 0%, #3a778b 100%);
  background: linear-gradient(135deg, #36424a 0%, #3a778b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#36424a', endColorstr='#3a778b',GradientType=1 );
  min-height: 600px;
  position: relative; }
  @media only screen and (min-width: 60em) {
    header {
      background: url("../img/home/city.svg"), #36424a;
      background: url("../img/home/city.svg"), -moz-linear-gradient(-45deg, #36424a 0%, #3a778b 100%);
      background: url("../img/home/city.svg"), -webkit-linear-gradient(-45deg, #36424a 0%, #3a778b 100%);
      background: url("../img/home/city.svg"), linear-gradient(135deg, #36424a 0%, #3a778b 100%);
      background-repeat: no-repeat;
      background-position: 100% 90%; } }

nav {
  line-height: 60px;
  padding-top: 30px; }
  @media only screen and (min-width: 45em) {
    nav {
      padding-top: 0; } }
  @media only screen and (min-width: 60em) {
    nav {
      float: right; } }
  nav a {
    color: #fff;
    display: block;
    margin-bottom: 30px;
    text-decoration: none; }
    @media only screen and (min-width: 60em) {
      nav a {
        display: inline-block;
        margin-bottom: 0;
        margin-left: 30px; } }
    nav a:hover {
      text-decoration: underline; }

h1 {
  font-size: 2.22rem;
  padding-top: 60px; }
  h1 a {
    color: #fff;
    line-height: 60px;
    text-decoration: none; }

.lead {
  color: #fff;
  font-size: 1.89rem;
  line-height: 1.33;
  margin: 30px 0; }

.button {
  background: #fff;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #36424a;
  cursor: pointer;
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 15px 0;
  text-align: center;
  text-decoration: none;
  width: 100%; }
  @media only screen and (min-width: 45em) {
    .button {
      padding: 15px 30px;
      width: auto; } }
  @media only screen and (min-width: 60em) {
    .button {
      display: inline-block;
      margin-bottom: 0; } }
  .button.hollow {
    background: none;
    border: 1px solid #fff;
    color: #fff; }
  .button.success {
    background: #3a778b;
    color: #fff; }
  .button.secondary {
    background: #00a8e1;
    color: #fff; }
  .button.header {
    background: #00a8e1;
    border: 0;
    color: #fff;
    margin-bottom: 12px;
    margin-right: 12px;
    padding: 12px 18px;
    width: auto; }
    .button.header.white {
      background: #fff;
      border: 0;
      color: #00a8e1; }

.header-video {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 5; }
  .header-video iframe,
  .header-video video {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
  .header-video iframe {
    height: 100%;
    width: 100%; }
  .header-video video {
    width: 100%; }

.header-video-container {
  position: relative;
  height: 600px; }

.header-video-teaser {
  width: 100%;
  height: auto; }

.header-video-media {
  width: 100%;
  height: auto; }

.header-video-play {
  border: 0;
  background: url("../img/home/city.svg");
  background-position: center;
  background-size: cover;
  cursor: pointer;
  height: 210px;
  opacity: 1;
  text-align: center;
  -webkit-transition: opacity .3s;
  -moz-transition: opacity .3s;
  transition: opacity .3s;
  width: 100%; }
  @media only screen and (min-width: 45em) {
    .header-video-play {
      background: none;
      left: 70%;
      margin-left: -43px;
      margin-top: -43px;
      position: absolute;
      top: 75%;
      width: auto; } }
  .header-video-play:hover {
    opacity: 0.75; }

.header-video-close {
  cursor: pointer;
  position: absolute;
  right: 30px;
  top: 30px;
  z-index: 99; }

.locale-selector {
  border: 1px solid black;
  position: absolute;
  right: 14px;
  top: -1px; }
  .locale-selector a {
    color: black;
    padding: 0 15px;
    text-transform: uppercase; }
    .locale-selector a:first-child {
      border-right: 1px solid black; }
    .locale-selector a.active {
      font-weight: bold;
      text-decoration: underline; }

.external-link {
  padding-right: 20px;
  position: relative; }
  .external-link::after {
    content: url("../img/external_link.svg");
    opacity: 0.5;
    position: absolute;
    right: 0;
    top: 1px; }

.intro .un-card a {
  border: 1px solid #dedddd;
  border-radius: 3px;
  display: block;
  min-height: 200px;
  padding: 15px; }
  .intro .un-card a:hover {
    box-shadow: 5px 5px 5px 0 #f7f7f7;
    text-decoration: none; }
.intro .un-card span,
.intro .un-card strong {
  color: #00a8e1;
  font-size: 1.5rem; }
.intro .development {
  border-bottom: 1px solid #f5f7fc; }
  .intro .development img {
    border: 1px solid #f5f7fc;
    max-width: 100%; }
  .intro .development span {
    color: #00a8e1;
    display: inline-block;
    font-size: 0.9rem;
    margin-top: 1rem; }
.intro .number,
.intro .number-title {
  font-size: 2rem;
  font-weight: bold; }
.intro .number {
  color: #00a8e1;
  display: inline-block;
  width: 60px; }
.intro .number-title {
  display: inline-block;
  margin-left: 15px; }
@media only screen and (max-width: 45em) {
  .intro .number,
  .intro .number-title {
    display: block;
    text-align: center; } }

.highlight {
  background: #f5f7fc;
  font-size: 1.33rem;
  padding: 30px 0;
  text-align: center; }

.summary h3::before {
  content: url("../img/home/checkmark_icon.svg");
  display: block;
  height: 45px; }

.organizations img {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  max-width: 100%;
  mix-blend-mode: multiply;
  opacity: 0.75; }
  .organizations img:hover {
    cursor: pointer;
    filter: none;
    -webkit-filter: none;
    opacity: 1;
    transition: filter 0.25s;
    transition: opacity 0.25s; }

.link-to-video {
  padding-left: 1.39rem;
  position: relative; }
  .link-to-video::before {
    content: url("../img/home/video_icon.svg");
    left: 0;
    position: absolute;
    top: 1px; }

.features-timeline h3 {
  position: relative; }
  .features-timeline h3.first-timeline::before {
    top: -12px !important; }
.features-timeline img {
  max-width: 360px; }
.features-timeline .row {
  border-bottom: 1px solid #00a8e1;
  padding: 15px 0; }
@media only screen and (min-width: 45em) {
  .features-timeline .row {
    border-bottom: 0;
    padding: 0; }
  .features-timeline .row [class^="col"] {
    margin: 0; }
    .features-timeline .row [class^="col"].feature-left, .features-timeline .row [class^="col"].feature-right {
      padding-bottom: 180px; }
    .features-timeline .row [class^="col"].feature-left {
      border-right: 1px solid #00a8e1;
      padding-right: 1.5rem; }
      .features-timeline .row [class^="col"].feature-left h3::after {
        content: url("../img/home/timeline_point_icon.svg");
        right: -33px;
        position: absolute;
        top: 0; }
    .features-timeline .row [class^="col"].feature-right {
      border-left: 1px solid #00a8e1;
      padding-left: 1.5rem;
      margin-left: 1.5rem; }
      .features-timeline .row [class^="col"].feature-right h3::before {
        content: url("../img/home/timeline_point_icon.svg");
        left: -33px;
        position: absolute;
        top: 0; } }

.contact {
  background: #36424a;
  background: -moz-linear-gradient(-45deg, #36424a 0%, #3a778b 100%);
  background: -webkit-linear-gradient(-45deg, #36424a 0%, #3a778b 100%);
  background: linear-gradient(135deg, #36424a 0%, #3a778b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#36424a', endColorstr='#3a778b',GradientType=1 );
  padding: 30px 0; }
  .contact h2,
  .contact p,
  .contact a {
    color: #fff; }
  .contact button {
    margin-top: 30px; }

.documentation .doc-container {
  border: 1px solid #dedddd;
  border-radius: 8px;
  padding: 15px;
  margin: 0 auto 30px;
  display: inline-block; }
  .documentation .doc-container:not(:last-child) {
    margin-right: 15px; }
.documentation .docs-info .doc-size {
  padding: 4px 8px;
  display: inline-block;
  border-radius: 8px;
  color: #36424a;
  background-color: #eee;
  font-size: 14px;
  font-weight: bold;
  margin-right: 2px; }
.documentation .docs-info .doc-type {
  padding: 4px 8px;
  display: inline-block;
  border-radius: 8px;
  border: 1px solid #00a8e1;
  color: #00a8e1;
  font-size: 14px;
  font-weight: bold; }
.documentation .doc-title {
  color: #36424a;
  margin-top: 30px; }
.documentation .doc-download {
  color: #fff;
  display: block;
  padding: 6px 12px;
  border-radius: 8px;
  background-color: #00a8e1;
  border: none;
  margin: 16px 0 0 0; }
  .documentation .doc-download.large {
    font-size: 18px;
    padding: 12px; }
  .documentation .doc-download a {
    display: inline-block;
    height: 30px;
    line-height: 30px;
    width: 100%;
    color: #fff;
    font-size: 14px; }
    .documentation .doc-download a:hover {
      text-decoration: none; }

.footer {
  padding: 30px 0; }
  .footer ul {
    list-style-type: none;
    margin-top: 30px;
    padding-left: 0; }
    .footer ul li {
      display: inline-block;
      margin-right: 15px; }
      @media only screen and (min-width: 45em) {
        .footer ul li {
          margin-left: 15px;
          margin-right: 0; } }

.sdg-banner {
  background: #374a52; }
  .sdg-banner a {
    text-decoration: none; }
  .sdg-banner p {
    color: #fff;
    padding: 30px; }
  .sdg-banner img {
    max-width: 100%; }

html,
body {
  height: 100%;
  margin: 0; }

body.landing {
  background: #fff url("../img/consulcon/consulcon_background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 0;
  overflow-x: hidden; }
  body.landing .wrapper {
    min-height: 100%;
    /* Equal to height of footer */
    /* But also accounting for potential margin-bottom of last child */
    margin-bottom: -50px; }
  body.landing .footer,
  body.landing .push {
    height: 50px; }
  body.landing header {
    background: none;
    min-height: 0; }
  body.landing h3,
  body.landing p,
  body.landing a {
    font-family: 'Karla', sans-serif; }
  body.landing .title {
    color: #0f7feb;
    font-weight: bold;
    padding-left: 6px; }
    @media only screen and (min-width: 60em) {
      body.landing .title {
        font-size: 2rem;
        margin-top: -15px;
        padding-left: 12px; } }
  body.landing footer {
    background: #fff;
    position: relative; }
    body.landing footer::before {
      bottom: 100px;
      content: url("../img/consulcon/waves.svg");
      position: absolute;
      z-index: -1; }
    @media only screen and (min-width: 45em) {
      body.landing footer {
        bottom: 0;
        position: absolute;
        width: 100%; } }

.gallery {
  background: #282776;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  padding: 0 15px; }
  .gallery:hover {
    text-decoration: underline; }

.waves {
  height: 230px; }
  @media only screen and (min-width: 45em) {
    .waves {
      height: auto; } }

.footer.landing {
  padding: 30px 0; }

.consulcon {
  margin: 0 auto;
  width: 100%; }
  .consulcon img {
    max-width: 100%; }

.flickr {
  margin: 60px auto;
  max-width: 100%; }
  @media only screen and (min-width: 45em) {
    .flickr {
      margin: 0 auto; } }

@media only screen and (min-width: 45em) {
  .mobile {
    display: none; } }

.desktop {
  display: none; }
  @media only screen and (min-width: 45em) {
    .desktop {
      display: block; } }
