.u-material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased; }

.u-transition {
  transition: all .4s ease; }

@media (min-width: 40.063em) {
  .small-only {
    display: none !important; } }

@media (max-width: 40em) {
  .medium-up {
    display: none !important; } }

.clearfix:after {
  content: " ";
  /* Older browser do not support empty content */
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }

.missing-content {
  outline: 2px solid red; }

@media (max-width: 64em) {
  .wrapper {
    margin-left: 20px;
    margin-right: 20px; } }
@media (min-width: 64.063em) {
  .wrapper {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto; } }
@media (min-width: 64.063em) {
  .wrapper--narrow {
    max-width: 40%; } }

#overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  z-index: 999; }
  #overlay.js-active {
    display: block; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

ol, ul {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none; }

/* Additions for Chrome */
html, body, ul, ol, blockquote {
  padding: 0;
  margin: 0; }

/* Hand Coded by Paul Randall (2009) */
body {
  padding: 50px; }

/* Typography */
h1 {
  font-size: 3rem;
  font-weight: 100;
  line-height: 1.2; }

h2 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.2; }

h3 {
  font-size: 1.5rem;
  font-weight: 600; }

h4 {
  font-size: 1.5rem;
  font-weight: normal; }

h5 {
  font-size: 1.2rem;
  font-weight: bold;
  text-transform: uppercase; }

h6 {
  font-size: 1rem;
  font-weight: bold; }

p, ol, ul, table, pre, dd {
  margin-bottom: 14px; }

ol, ul, blockquote, pre {
  margin-left: 25px; }

ol, ul {
  list-style-type: circle;
  list-style-position: inside; }

ol ol, ul ul {
  font-style: italic;
  margin-bottom: 0; }

ol {
  list-style-type: decimal; }

ol ol {
  list-style-type: lower-latin; }

blockquote {
  padding: 5px 25px 5px 0;
  font-style: italic; }

blockquote p {
  border-left: 2px solid #eee;
  padding-left: 25px; }

/* Table Styling */
table {
  border-top: 1px solid #b4b4b4;
  border-left: 1px solid #b4b4b4; }

table th {
  background: #efefef; }

table td, table th {
  border-bottom: 1px solid #b4b4b4;
  border-right: 1px solid #b4b4b4;
  padding: 5px 7px; }

/* Definition List */
dt {
  margin: 0;
  padding: 0;
  font-weight: bold; }

dd {
  padding: 0; }

html {
  box-sizing: border-box;
  font-size: 16px; }

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

body, h1, h2, h3, h4, h5, h6, p, ol, ul {
  margin: 0;
  padding: 0; }

ol, ul {
  list-style: none; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: currentColor;
  text-decoration: none; }

strong {
  font-weight: 400;
  opacity: .9; }

body {
  font-family: "proxima-nova", Arial, sans-serif;
  letter-spacing: .5px;
  font-size: 16px;
  line-height: 1.62;
  color: #271FA6; }

.button {
  border: 1px solid currentColor;
  padding: 8px 16px 6px;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  display: inline-block;
  background-color: currentColor;
  color: white;
  cursor: pointer; }
  @media (max-width: 40em) {
    .button {
      display: block;
      padding: 8px 16px;
      width: 100%; } }
  .button:hover {
    background-color: #271FA6;
    color: white; }

.button--secondary {
  background-color: transparent;
  color: currentColor; }
  .button--secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: currentColor; }

.button--minimal {
  border: 0;
  background-color: transparent;
  color: #271FA6; }

.columns {
  display: flex; }
  @media (max-width: 64em) {
    .columns {
      flex-direction: column; } }
  .columns .column {
    flex: 1; }
    @media (min-width: 64.063em) {
      .columns .column + .column {
        margin-left: 60px; } }
    .columns .column--2 {
      flex: 2; }
    .columns .column--3 {
      flex: 3; }
    .columns .column--4 {
      flex: 4; }
    .columns .column--5 {
      flex: 5; }
    .columns .column--6 {
      flex: 6; }
    .columns .column--7 {
      flex: 7; }
    .columns .column--8 {
      flex: 8; }

#about {
  margin: 64px auto;
  overflow: hidden; }
  #about .button {
    color: #271FA6; }

#committee {
  margin: 64px auto;
  overflow: hidden; }
  #committee h1 {
    margin-top: 32px;
    text-transform: uppercase;
    text-align: center; }

.list {
  padding-top: 32px; }
  .list__item {
    color: #171472;
    list-style-type: none;
    border-bottom: 1px solid #B1172F;
    padding: 12px;
    display: inline-block;
    margin-right: 3%; }
    @media (min-width: 40.063em) {
      .list__item {
        width: 45%; } }

#announcement {
  padding-top: 15vh;
  min-height: 80.3vh; }

.prose * + * {
  margin-top: 8px; }
.prose strong {
  font-weight: bold; }

.prose p,
.prose li,
.p {
  font-size: 1rem;
  font-weight: 300;
  color: #161b44;
  margin-bottom: 0; }
  .prose p + .prose p,
  .prose li + .prose p,
  .p + .prose p, .prose p +
  .prose li,
  .prose li +
  .prose li,
  .p +
  .prose li, .prose p +
  .p,
  .prose li +
  .p,
  .p +
  .p {
    margin-top: 12px; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose p,
    .prose li,
    .p {
      font-size: .9rem; } }
  @media (min-width: 64.063em) {
    .prose p,
    .prose li,
    .p {
      font-size: 1rem; } }
  .prose p > a,
  .prose li > a,
  .p > a {
    font-weight: 400;
    color: #B1172F; }

.prose h1,
.h1 {
  font-size: 2rem;
  font-weight: 300;
  color: #161b44; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose h1,
    .h1 {
      font-size: 1.7rem; } }
  @media (min-width: 64.063em) {
    .prose h1,
    .h1 {
      font-size: 3rem; } }

.prose .intro,
.intro {
  font-size: 1.1rem;
  font-weight: 300;
  color: rgba(22, 27, 68, 0.6); }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose .intro,
    .intro {
      font-size: 1.2rem; } }
  @media (min-width: 64.063em) {
    .prose .intro,
    .intro {
      font-size: 1.5rem; } }

.prose h2,
.h2 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #161b44;
  color: #B1172F; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose h2,
    .h2 {
      font-size: 1.5rem; } }
  @media (min-width: 64.063em) {
    .prose h2,
    .h2 {
      font-size: 2.2rem; } }

.prose h3,
.h3 {
  font-size: 1.1rem;
  font-weight: 400;
  color: #161b44;
  line-height: 1.3; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose h3,
    .h3 {
      font-size: 1.2rem; } }
  @media (min-width: 64.063em) {
    .prose h3,
    .h3 {
      font-size: 1.7rem; } }

.prose h4,
.h4 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: #161b44; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose h4,
    .h4 {
      font-size: 1.1rem; } }
  @media (min-width: 64.063em) {
    .prose h4,
    .h4 {
      font-size: 1.3rem; } }

.prose h5,
.h5 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: #161b44; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose h5,
    .h5 {
      font-size: 1.1rem; } }
  @media (min-width: 64.063em) {
    .prose h5,
    .h5 {
      font-size: 1.1rem; } }

.prose h6,
.h6 {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.3;
  color: #161b44;
  text-decoration: underline; }
  @media (min-width: 40.063em) and (max-width: 64em) {
    .prose h6,
    .h6 {
      font-size: 1rem; } }
  @media (min-width: 64.063em) {
    .prose h6,
    .h6 {
      font-size: 1rem; } }

.prose ul {
  margin-left: 0;
  padding-left: 0; }
  .prose ul li {
    list-style-type: none;
    padding-bottom: 0;
    padding-left: 16px;
    position: relative; }
    .prose ul li:before {
      content: "";
      width: 10px;
      height: 10px;
      border-left: 6px solid #B1172F;
      border-bottom: 6px solid transparent;
      border-top: 6px solid transparent;
      position: absolute;
      left: 0;
      top: 6px; }
.prose ol {
  margin-left: 16px;
  padding-left: 0; }
  .prose ol li {
    padding-bottom: 12px; }

ul.boxes {
  padding: 32px 0; }
  ul.boxes li {
    padding: 8px;
    border: 1px solid #271FA6;
    text-transform: uppercase;
    text-align: center;
    color: #271FA6;
    font-weight: 600; }
    ul.boxes li:before {
      display: none; }

.prose {
  max-width: 960px;
  margin: 0 auto; }
  .prose h1 {
    margin-bottom: 32px; }
  .prose h2, .prose h3, .prose h4, .prose .intro {
    margin-top: 40px;
    margin-bottom: 16px; }
  .prose__intro {
    margin-bottom: 56px; }
  .prose__section {
    padding-bottom: 24px; }
  .prose .box {
    margin-bottom: 16px; }

:root {
  --colors-black: 0,0,0; }

.top-bar ul {
  padding: 0;
  margin: 0; }
.top-bar li {
  list-style: none;
  margin: 0; }
.top-bar a {
  text-decoration: none; }

.top-bar {
  --bg-color: 208,206,246;
  --text-color: 22,27,68;
  --active-color: 179, 212, 252;
  --panel-width: 280px; }
  @media (min-width: 40.063em) {
    .top-bar {
      --panel-width: 350px; } }

.top-bar {
  display: flex;
  position: relative; }
  .top-bar__menu {
    flex: 1; }
  .top-bar__menu-trigger {
    flex: 0;
    line-height: 1; }

@media (max-width: 40em) {
  .contextual-menu {
    display: none; } }
.contextual-menu__item {
  display: inline-block;
  vertical-align: -webkit-baseline-middle;
  vertical-align: -moz-middle-with-baseline; }
.contextual-menu__item + .contextual-menu__item {
  margin-left: -5px; }
.contextual-menu--disabled {
  pointer-events: none; }

.off-canvas-menu {
  top: 0;
  bottom: 0;
  z-index: 1000;
  display: block;
  position: fixed;
  width: var(--panel-width);
  left: calc(-1 * var(--panel-width) - 20px); }
  .off-canvas-menu__list {
    list-style-type: none; }
  .off-canvas-menu__heading {
    margin-bottom: 0; }
  .off-canvas-menu__trigger {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    border: 0; }
  .off-canvas-menu--disabled {
    pointer-events: none; }

@media (min-width: 40.063em) {
  .off-canvas-menu__contextual {
    display: none; } }

.off-canvas-menu--expanded {
  left: 0; }

.top-bar {
  background-color: rgba(var(--bg-color), 1); }
  .top-bar__menu-trigger {
    border: 0;
    padding: 4px 8px 2px;
    background-color: transparent; }
    @media (min-width: 40.063em) {
      .top-bar__menu-trigger {
        display: none; } }
  .top-bar__menu {
    text-align: right;
    background-color: transparent; }

.contextual-menu__button {
  display: inline-block;
  padding: 8px 24px 8px;
  transition: all .5s;
  color: rgba(var(--text-color), 1);
  background-color: transparent; }
  .contextual-menu__button:hover {
    color: rgba(var(--text-color), 1);
    background-color: rgba(var(--active-color), 1); }
.contextual-menu--disabled {
  opacity: .4; }
.contextual-menu--active {
  background-color: rgba(var(--active-color), 0.2); }

.off-canvas-menu {
  box-sizing: border-box;
  padding: 48px 32px;
  transition: all .4s ease;
  background-color: rgba(var(--bg-color), 1);
  box-shadow: 4px 4px 16px rgba(var(--bg-color), 0.2); }
  .off-canvas-menu__list {
    padding: 0 0 24px 0;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(var(--text-color), 0.2); }
  .off-canvas-menu__trigger {
    padding: 8px;
    background-color: transparent;
    color: rgba(var(--text-color), 0.4); }
  .off-canvas-menu__item {
    text-align: right; }
  .off-canvas-menu__item a {
    display: inline-block;
    padding-bottom: 8px;
    color: rgba(var(--text-color), 1); }
    .off-canvas-menu__item a:hover {
      color: rgba(var(--colors-black), 1); }
  .off-canvas-menu__heading {
    color: var(--colors-white);
    font-weight: 400;
    margin-bottom: 8px; }
  .off-canvas-menu__contextual {
    padding-bottom: 24px; }
  .off-canvas-menu--disabled {
    opacity: .4; }

.hero {
  min-height: 60vh; }
  .hero__bg {
    background-size: cover;
    background-position: center;
    align-items: center;
    justify-content: center; }
    @media (min-width: 40.063em) {
      .hero__bg {
        display: flex; } }
  .hero .website-logo {
    max-width: 450px;
    margin-left: 10%; }
  .hero .kenya-flag {
    max-width: 80px; }
  .hero__content {
    padding: 20px;
    text-align: center;
    justify-content: center;
    flex-direction: column; }
    @media (min-width: 40.063em) {
      .hero__content {
        display: flex;
        padding: 80px;
        text-align: left; } }
    @media (max-width: 40em) {
      .hero__content header {
        margin-bottom: 64px; } }
    .hero__content header .button {
      background-color: #271FA6;
      float: right; }
  .hero__brow, .hero__title, .hero__date {
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: left; }
    @media (max-width: 40em) {
      .hero__brow, .hero__title, .hero__date {
        text-align: center; } }
  .hero__brow {
    font-size: 2rem;
    color: #B1172F;
    margin-bottom: 54px; }
    @media (max-width: 40em) {
      .hero__brow {
        font-size: 1.3rem; } }
  .hero__title {
    font-size: 4rem;
    line-height: 1;
    color: #171472;
    margin-bottom: 54px; }
    @media (max-width: 40em) {
      .hero__title {
        font-size: 2rem; } }
  .hero__date, .hero__slogan {
    font-size: 1.5rem;
    line-height: 1;
    color: #171472; }
    @media (max-width: 40em) {
      .hero__date, .hero__slogan {
        font-size: 1.3rem; } }
    .hero__date sup, .hero__slogan sup {
      font-size: 1rem;
      vertical-align: top; }
  .hero__slogan {
    margin-bottom: 1.5rem;
    color: #B1172F; }
  .hero__announcement {
    padding: 56px 48px;
    margin-left: -48px;
    background-color: #b1172f;
    display: inline-block;
    box-shadow: 4px 4px 32px rgba(177, 23, 47, 0.3);
    border-radius: 3px; }
    .hero__announcement h2 {
      font-size: 2rem;
      font-weight: 600; }
    .hero__announcement > * {
      color: white; }
    .hero__announcement > .button:hover {
      background-color: #271FA6;
      color: white; }

.partners {
  padding: 32px; }
  .partners h2 {
    text-align: center;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.6rem;
    margin-bottom: 24px; }
  .partners__wrapper {
    align-items: center;
    justify-content: space-evenly; }
    @media (min-width: 40.063em) {
      .partners__wrapper {
        display: flex; } }
  .partners__item {
    text-align: center;
    flex: 1; }
    @media (max-width: 40em) {
      .partners__item {
        display: block;
        margin: 12px auto;
        max-width: 50vw; } }
  @media (max-width: 40em) {
    .partners__logo {
      max-width: 100%; } }
  .partners .aodn {
    max-width: 120px; }
  .partners .gok {
    max-width: 110px; }
  .partners .idrc {
    max-width: 240px; }
  .partners .wb {
    max-width: 280px; }
  .partners .od4d {
    max-width: 220px; }

.about {
  background-color: #161b44;
  color: white;
  padding: 32px 0 48px; }
  .about__title {
    text-transform: uppercase;
    font-size: 2rem;
    text-align: center;
    margin: 32px 0 32px; }
  .about h3 {
    text-transform: uppercase;
    font-size: 1.2rem;
    margin: 32px 0; }
  .about p {
    margin-bottom: 12px; }
  .about__image {
    text-align: right; }
    .about__image img {
      max-width: 80%; }

.sign-up {
  background-color: #B1172F;
  padding: 40px 0;
  color: #fff;
  text-transform: uppercase; }
  .sign-up h3 {
    text-align: right; }
    @media (max-width: 64em) {
      .sign-up h3 {
        text-align: center;
        margin-bottom: 24px; } }
  .sign-up .input-text {
    border: 1px solid #fff;
    background-color: transparent;
    outline: 0;
    color: #fff;
    box-shadow: none; }
  .sign-up .input-text {
    padding: 8px 8px 6px 8px;
    width: 100%;
    max-width: 26vw; }
    @media (min-width: 40.063em) and (max-width: 64em) {
      .sign-up .input-text {
        max-width: 80vw; } }
    @media (max-width: 40em) {
      .sign-up .input-text {
        max-width: 100%; } }
    .sign-up .input-text:hover {
      background-color: rgba(255, 255, 255, 0.05); }
    .sign-up .input-text:focus {
      background-color: rgba(255, 255, 255, 0.1); }
    .sign-up .input-text + .button {
      padding-left: 24px;
      padding-right: 24px; }
      @media (min-width: 40.063em) {
        .sign-up .input-text + .button {
          margin-left: -5px; } }
      @media (max-width: 40em) {
        .sign-up .input-text + .button {
          margin-top: 12px; } }

.cookies-panel {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background-color: #d0cef6;
  padding: 16px;
  border-radius: 3px;
  width: calc(100vw - 48px);
  font-size: .8rem;
  box-shadow: 4px 4px 16px rgba(39, 31, 166, 0.3); }
  @media (min-width: 64.063em) {
    .cookies-panel {
      width: calc(50vw - 48px); } }
  .cookies-panel .button {
    float: right; }
  .cookies-panel p {
    padding: 8px;
    flex: 1; }
  .cookies-panel .button + .button {
    margin-left: 8px; }
  .cookies-panel.js-active {
    display: none; }

.footer {
  text-align: center;
  background-color: #161b44;
  padding: 24px 0 0; }
  .footer img {
    max-width: 140px;
    opacity: .3; }
  .footer .by-line {
    margin-top: 64px;
    padding: 4px 16px;
    color: rgba(255, 255, 255, 0.3);
    font-size: .8rem;
    display: block;
    background-color: rgba(0, 0, 0, 0.3);
    text-align: right; }
