img.icon {
  width: 45px;
  height: 59px;
  padding: 5px; }

.opencdc-banner button.opencdc-accordion-button.opencdc-banner-button {
  width: 130px;
  display: inline-block; }

.banner.tagline {
  background-color: #fff; }

.banner.tagline p {
  color: #112e51;
  margin-bottom: 75px; }

.banner.tagline h2 {
  color: #112e51;
  margin-top: 75px; }

.banner.roles {
  background-color: #e4e2e0; }

.banner.roles .opencdc-grid {
  padding: 3rem; }

.banner.roles p {
  color: #323a45;
  margin-bottom: 75px; }

.banner.roles h2 {
  color: #323a45;
  margin-top: 75px;
  text-align: center; }

.banner.contact {
  background-color: #112e51; }

.banner.contact form {
  padding-top: 2em; }

.banner.contact h2,
.banner.contact p,
.banner.contact legend,
.banner.contact label,
.banner.contact a,
.banner.contact a:hover,
.banner.contact a:visited {
  color: #ffffff; }

.banner-header {
  background-color: #005eaa; }
  .banner-header h2, .banner-header label {
    color: #ffffff; }
  .banner-header a {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold; }
  .banner-header a:hover {
    color: #FFDD75; }

.opencdc-section.banner-header {
  background-color: #005eaa;
  padding: 0 3rem 2rem 3rem; }
  .opencdc-section.banner-header h1, .opencdc-section.banner-header h2, .opencdc-section.banner-header h3, .opencdc-section.banner-header h4, .opencdc-section.banner-header h5, .opencdc-section.banner-header p {
    color: #fff; }

body {
  margin: 0;
  padding: 0;
  height: 100%; }

#wrapper {
  min-height: 100%;
  position: relative; }

#header {
  margin-bottom: -20px; }

#content {
  padding-bottom: 1rem; }

#footer {
  width: 100%;
  height: 275px;
  position: absolute;
  bottom: 0;
  left: 0; }

body,
p, ul, ol, li, a {
  color: #212121; }

legend, label,
h1, h2, h3, h4, h5, h6 {
  color: #205493; }

legend,
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 20px;
  font-family: "Source Sans Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  color: #205493;
  font-weight: normal; }

ul, li {
  margin-bottom: 0; }

main {
  margin-bottom: 1em; }

form {
  max-width: 100%; }

.opencdc-content p {
  line-height: 1.75em;
  margin-bottom: 1.75rem; }

a {
  color: #0071bc; }

a:hover, a:active {
  color: #205493; }

a:visited {
  color: inherit; }

a:focus {
  box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;
  outline: 0; }

div.skip-nav a {
  position: absolute;
  left: -10000;
  top: 0;
  width: 1px;
  height: auto;
  overflow: hidden; }

div.skip-nav a:focus {
  position: absolute;
  top: 5px;
  left: 5px;
  width: auto;
  height: auto;
  z-index: 999999;
  background-color: white;
  padding-left: 2px;
  padding-right: 2px;
  overflow: visible; }

#main:focus {
  outline: none; }

@media (min-width: 600px) {
  .opencdc-width-one-whole.opencdc-content {
    position: relative;
    left: 50%;
    max-width: 62.5rem;
    margin-left: -31.25rem; } }
.opencdc-grid {
  display: flex; }
  .opencdc-grid .opencdc-whole-row {
    flex: 1; }
  .opencdc-grid .opencdc-one-half, .opencdc-grid .opencdc-one-sixth {
    flex: 1; }
  .opencdc-grid .opencdc-five-sixths {
    flex: 5; }

.pull-right {
  float: right; }

.opencdc-content {
  padding: 0 2rem; }

section.project .section-header h2 {
  color: #205493; }
section.project .section-header img.section-image {
  position: absolute;
  margin: -30px 0 0 10px;
  height: 80px; }
section.project .section-header p {
  color: #777; }
section.project .section-header hr {
  border: 0;
  height: 1px;
  background-color: #979797; }
section.project .repos {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0; }
  section.project .repos .repo {
    border: 1px solid #e6e6e6;
    background-color: #f5f5f5;
    margin: 20px 0;
    padding: 20px;
    flex: 1;
    min-width: 48%;
    max-width: 48%; }
    section.project .repos .repo a {
      color: #555;
      font-weight: bold;
      text-decoration: none; }
      section.project .repos .repo a:hover {
        color: #777; }
    section.project .repos .repo .docker-image img {
      height: 25px; }
    section.project .repos .repo .docker-image:hover img {
      opacity: 0.8; }
    section.project .repos .repo .resources {
      padding: 0.5rem 0; }
    section.project .repos .repo .resources, section.project .repos .repo .tags, section.project .repos .repo .license {
      font-size: 0.85em; }
    section.project .repos .repo .license {
      color: #777;
      text-align: right; }
    section.project .repos .repo h3 {
      border: 1px solid #979797;
      padding: 10px;
      display: inline-block;
      color: inherit;
      font-size: 1rem;
      margin: 0 0 10px 0; }
    section.project .repos .repo p {
      color: #7E7E7E; }

@media (max-width: 1400px) {
  section.project .repos .repo {
    min-width: 100%;
    max-width: 100%; } }
#roles .roles img {
  margin: 1.5rem 1.5rem 0 0; }
#roles .roles a {
  color: #004F92; }
  #roles .roles a:hover {
    color: #aaa; }

article.data-listing {
  width: 100%;
  text-align: left;
  border-radius: 3px;
  margin: 40px;
  margin-bottom: 40px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
  article.data-listing h3 {
    font-family: Source Sans Pro;
    color: #112e51; }
  article.data-listing p {
    color: #212121; }
  article.data-listing header, article.data-listing .content, article.data-listing footer {
    padding: 1rem 2rem; }
  article.data-listing header {
    background-color: #efefef; }
  article.data-listing .content {
    padding: 14px 24px;
    background-color: #fff; }
  article.data-listing .content:first-child {
    margin-top: 1rem; }
  article.data-listing .title {
    margin: 0;
    font-size: 2.5rem; }
  article.data-listing .txt {
    line-height: 1.5; }
  article.data-listing button a {
    text-decoration: none; }
  article.data-listing footer {
    background: #2e8540; }

.events .event .section-header h2 a:hover {
  opacity: 0.8;
  outline: none; }
.events .event .section-content {
  display: flex; }
  .events .event .section-content .section-side {
    flex: 1;
    background-color: #eee;
    padding: 20px; }
    .events .event .section-content .section-side h4 {
      margin: 0; }
    .events .event .section-content .section-side a.register {
      background-color: #0071bc;
      padding: 10px;
      width: 100%;
      display: block;
      color: white;
      text-align: center;
      text-transform: uppercase;
      text-decoration: none; }
      .events .event .section-content .section-side a.register:hover {
        opacity: 0.8; }
  .events .event .section-content .section-main {
    flex: 4; }
    .events .event .section-content .section-main img.section-image {
      width: 100%; }
    .events .event .section-content .section-main .description {
      padding: 20px; }
      .events .event .section-content .section-main .description p {
        margin: 10px 0; }

.sidenav {
  margin-top: 2em;
  min-height: 30em; }

.opencdc-width-three-fourths > h1 {
  margin-top: 0; }

.opencdc-sidenav-list li:first-child {
  border-top: 0; }

.opencdc-sidenav-list a {
  color: #212121;
  font-family: 'Lato', sans-serif; }

.opencdc-sidenav-list a.opencdc-current-page {
  border-color: #212121;
  color: #212121;
  font-weight: 400; }

.opencdc-sidenav-list a:hover {
  color: #212121; }

@media (min-width: 600px) {
  .opencdc-width-three-fourths.opencdc-content {
    padding-left: 1.3em; } }
.center-content {
  text-align: center; }

#goal {
  margin: 0 auto;
  margin-bottom: 2em; }

.goal-select label {
  visibility: hidden; }

.follower {
  padding-top: 0px;
  margin-top: 0px; }

/* Role display for personas */
section.roles {
  text-align: center; }
  section.roles .icon {
    text-align: center; }
  section.roles .text {
    text-align: left; }
  section.roles h2 {
    text-align: left; }
  section.roles a {
    text-decoration: none; }
    section.roles a img {
      display: block;
      margin: 10px auto; }
    section.roles a h4 {
      color: #555;
      margin: 0; }
    section.roles a:hover h4 {
      color: #999; }

.role {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin: 4vw 15vw; }

.role-item {
  background: #fff;
  display: flex;
  flex-direction: column;
  width: 25%;
  padding: 1em;
  align-items: center; }

/* Functional display (data, apis, code) */
.function {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin: 0 15vw; }

.function-item {
  display: flex;
  flex-direction: column;
  align-items: center; }

section {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem; }

.section-top {
  padding-top: 0;
  padding-bottom: 0; }

.opencdc-site-header {
  position: absolute;
  min-width: 100vw;
  z-index: 111;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.4); }

.top-nav {
  z-index: 111; }

/* Icons */
.icon {
  text-decoration: none; }

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-transform: none !important; }

.icon > .label {
  display: none; }

.circle {
  background-color: #e31c3d;
  padding: 0 2em 1em 2em;
  border-radius: 50%;
  margin-top: -50px;
  width: 105px;
  height: 105px; }

.circle:before {
  font-size: 4em;
  line-height: 2em;
  color: #fff;
  position: relative;
  top: -20px;
  right: 8px; }

.flag {
  display: inline-block;
  position: relative;
  width: 160px;
  text-align: center;
  background-color: #2e8540;
  padding: 0 2em 1em 2em;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin: 0 0 4.5em 0; }

.flag:before {
  font-size: 5em;
  line-height: 2em;
  color: #fff; }

.flag:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-bottom: 13px solid #fff;
  border-left: 83px solid transparent;
  border-right: 83px solid transparent; }

.flag.alt {
  background-color: #323a45; }

.flag.alt:after {
  border-top-color: #323a45; }

.flag.alt2 {
  background-color: #aeb0b5; }

.flag.alt2:after {
  border-top-color: #aeb0b5; }

.flag.alt3 {
  background-color: #112e51; }

.flag.alt3:after {
  border-top-color: #112e51; }

.hero-img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  min-height: 400px;
  position: relative;
  background: #005eaa;
  /* Old browsers */
  background: -moz-linear-gradient(top, #005eaa 0%, #005eaa 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #005eaa), color-stop(100%, #005eaa));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #005eaa 0%, #005eaa 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #005eaa 0%, #005eaa 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #005eaa 0%, #005eaa 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #005eaa 0%, #005eaa 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=$top, endColorstr=$bottom,GradientType=0 );
  /* IE6-9 */ }

.hero-border {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 140px;
  /* set height to pixels if you want angle to change with screen width */ }

.hero-search {
  bottom: 30%;
  left: 20vw;
  right: 20vw;
  padding-top: 20px;
  position: absolute;
  text-align: center; }

.hero-search h2 {
  font-family: "Source Sans Pro";
  color: white;
  font-size: 2rem;
  font-size: 20px;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 0; }
  @media screen and (min-width: 600px) {
    .hero-search h2 {
      font-size: 4rem;
      font-size: 40px; } }
  @media screen and (min-width: 1500px) {
    .hero-search h2 {
      font-size: 5rem;
      font-size: 50px; } }

.hero-search .opencdc-search.opencdc-search-big [type="search"], .hero-search .opencdc-search.opencdc-search-big .opencdc-search-input {
  border-color: #ccc;
  border-radius: 3px 0 0 3px;
  max-width: 100%; }

.hero-separator {
  position: absolute;
  margin-top: -50px;
  width: 0;
  height: 0;
  border-bottom: 100px solid #112e51;
  border-left: 100vw solid transparent; }

.hero-content {
  padding: 3rem; }
  .hero-content .intro .graphic {
    text-decoration: none; }
    .hero-content .intro .graphic a {
      text-decoration: none; }
      .hero-content .intro .graphic a img {
        display: block;
        margin: 10px auto; }
  .hero-content .intro .text {
    text-decoration: none; }
    .hero-content .intro .text h1, .hero-content .intro .text h2 {
      display: block;
      color: #fff;
      padding-top: 0.25em; }
    .hero-content .intro .text h1 {
      font-size: 28px; }
    .hero-content .intro .text a {
      text-decoration: none;
      text-align: center; }
      .hero-content .intro .text a img {
        display: block; }
      .hero-content .intro .text a h1, .hero-content .intro .text a h2, .hero-content .intro .text a h3, .hero-content .intro .text a h4, .hero-content .intro .text a h5 {
        color: #fff;
        margin: 0; }
      .hero-content .intro .text a:hover h1, .hero-content .intro .text a:hover h2, .hero-content .intro .text a:hover h3, .hero-content .intro .text a:hover h4, .hero-content .intro .text a:hover h5 {
        color: #ddd; }

iframe {
  margin-left: 25%;
  width: 50%; }

@media (max-width: 800px) {
  iframe {
    margin-left: 10%;
    width: 80%; } }
@media (max-width: 500px) {
  iframe {
    margin-left: 0;
    width: 95%; } }
@media (max-width: 321px) {
  iframe {
    min-height: 4rem;
    width: 100%; } }
.page--banner {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 300px;
  width: 100%; }

.caption {
  float: right; }

.fixed-page-height {
  height: 250px; }

.hero-section h2, .hero-section p {
  color: #fff; }

.project {
  padding: 1em; }

.project--image {
  background-size: cover;
  display: block;
  min-height: 75px;
  width: 75px; }

a.project--image,
a.project--image:active,
a.project--image:focus,
a.project--image:hover,
a.project--image:visited {
  border: 0; }

.project--description {
  border-top: 3px solid #02bfe7;
  padding-top: .5em; }

a .project--description span {
  border-bottom: 0;
  color: #212121; }

a:hover .project--description span {
  border-bottom: 1px dotted; }

footer .footer-wrapper {
  margin-top: 3rem; }

.opencdc-disclaimer {
  font-size: 0.8em;
  color: #555;
  padding: 2rem 0;
  margin: 2rem 3rem;
  border-top: 1px solid #ddd;
  text-align: center; }

.opencdc-footer-secondary_section {
  background-color: #5b616b; }

footer p,
footer a,
footer a:visited {
  color: #959595;
  text-decoration: none;
  font-family: "Source Sans Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; }

footer a:hover {
  color: #B6B6B6; }

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
  color: #555;
  margin-bottom: 10px;
  font-weight: normal;
  font-family: "Source Sans Pro", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; }

footer .opencdc-unstyled-list > li a {
  font-size: 0.8em; }

.opencdc-footer-secondary_section a {
  color: #fff; }

footer .opencdc-footer-logo small a {
  color: #004F92; }
  footer .opencdc-footer-logo small a:hover {
    color: #004F92;
    text-decoration: underline; }

.opencdc-footer {
  padding: 1em;
  background-color: #F8F8F8; }
  @media screen and (min-width: 1200px) {
    .opencdc-footer {
      padding: 2em 0;
      width: 100%;
      height: 275px;
      position: absolute;
      bottom: 0;
      left: 0; } }

.opencdc-footer-logo p {
  text-align: right;
  font-size: 14px; }

.opencdc-footer-logo .logo {
  width: auto;
  height: 90px; }

/* The ribbons thanks https://codepen.io/eode9/pen/twkKm */
.corner-ribbon {
  width: 200px;
  background: #606060;
  position: absolute;
  top: 25px;
  left: -50px;
  text-align: center;
  font-size: .8em;
  line-height: 50px;
  letter-spacing: 1px;
  color: #f0f0f0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg); }

/* Custom styles */
.corner-ribbon.sticky {
  position: fixed; }

.corner-ribbon.shadow {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }

/* Different positions */
.corner-ribbon.top-left {
  top: 25px;
  left: -50px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg); }

.corner-ribbon.top-right {
  top: 25px;
  right: -50px;
  left: auto;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg); }

.corner-ribbon.bottom-left {
  top: auto;
  bottom: 25px;
  left: -50px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg); }

.corner-ribbon.bottom-right {
  top: auto;
  right: -50px;
  bottom: 25px;
  left: auto;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg); }

/* Colors */
.corner-ribbon.white {
  background: #f0f0f0;
  color: #555; }

.corner-ribbon.black {
  background: #333; }

.corner-ribbon.grey {
  background: #999; }

.corner-ribbon.blue {
  background: #39d; }

.corner-ribbon.green {
  background: #2c7; }

.corner-ribbon.turquoise {
  background: #1b9; }

.corner-ribbon.purple {
  background: #95b; }

.corner-ribbon.red {
  background: #e43; }

.corner-ribbon.orange {
  background: #e82; }

.corner-ribbon.yellow {
  background: #ec0; }

#header {
  background: #005eaa; }

.header-logo {
  min-width: 50px; }

.header-notice {
  display: inline-block;
  vertical-align: middle;
  text-align: center; }

.theme-blue nav .mobile-section-nav a.mobile-section-nav-foot span {
  color: #fff; }

#search-results {
  padding-top: 50px; }

.result-item {
  padding: 10px 0;
  list-style: none; }

.opencdc-section-blue {
  background-color: #0360B2; }
  .opencdc-section-blue h1, .opencdc-section-blue h2, .opencdc-section-blue h3, .opencdc-section-blue h4, .opencdc-section-blue h5 {
    color: #fff; }

.opencdc-search [type=search], .opencdc-search .opencdc-search-input {
  border: 1px solid #fff;
  width: 500px; }

.opencdc-search [type=submit], .opencdc-search .opencdc-search-submit {
  background-color: #ccc;
  color: #555;
  font-weight: normal;
  cursor: pointer; }
  .opencdc-search [type=submit]:hover, .opencdc-search .opencdc-search-submit:hover {
    background-color: white; }

.opencdc-navbar {
  background-color: #004884; }
  .opencdc-navbar ul.opencdc-nav-list {
    text-align: left;
    padding: 1rem;
    width: 100%;
    margin: 0 1rem; }
    .opencdc-navbar ul.opencdc-nav-list li.opencdc-menu-item {
      font-size: 18px;
      display: inline;
      margin-left: 15px; }
      .opencdc-navbar ul.opencdc-nav-list li.opencdc-menu-item a,
      .opencdc-navbar ul.opencdc-nav-list li.opencdc-menu-item a:hover {
        border-bottom: 0;
        text-decoration: none;
        color: white;
        text-decoration: none; }
    .opencdc-navbar ul.opencdc-nav-list li.opencdc-menu-item:hover a,
    .opencdc-navbar ul.opencdc-nav-list li.opencdc-menu-item.active a {
      color: #FFDD75;
      text-decoration: underline; }

@media only screen and (max-width: 780px) {
  #content {
    padding-bottom: 20px; }

  .opencdc-section.banner-header {
    padding: 0 1.5rem; }

  section.project .section-header p,
  .opencdc-content p,
  .opencdc-content a {
    overflow-wrap: break-word; }

  section.project .section-header img.section-image {
    position: inherit;
    margin: 0; }

  .project {
    padding: 0; }

  table.opencdc-table-borderless {
    display: block; }
    table.opencdc-table-borderless tbody {
      display: block; }
      table.opencdc-table-borderless tbody tr {
        display: block; }
        table.opencdc-table-borderless tbody tr td {
          display: block;
          padding: 5px;
          width: 100%;
          max-width: 100%;
          overflow-wrap: break-word; }

  section.project .repos .repo h3 {
    width: 100%; }

  section.project .repos .repo .license {
    text-align: left; }

  .opencdc-search {
    margin-bottom: 50px; }
    .opencdc-search [role=search] [type=search],
    .opencdc-search [role=search] .opencdc-search-input {
      width: 55%; }
    .opencdc-search [role=search] button {
      width: 35%; }

  .opencdc-grid .opencdc-whole-row {
    max-width: 100%; }

  #search-results {
    padding: 0; }
    #search-results ul.opencdc-unstyled-list {
      padding: 0; }

  .opencdc-navbar ul.opencdc-nav-list {
    margin: 0; }
    .opencdc-navbar ul.opencdc-nav-list li.opencdc-menu-item {
      margin: 0 7px; }

  .hero-border {
    height: 40px; }

  .hero-img {
    min-height: 260px; }

  .hero-content {
    padding: 1rem 2rem; }
    .hero-content .intro a img {
      height: 80%;
      margin: 0.5rem auto; }
    .hero-content .intro .text {
      display: none; }

  section.roles h2 {
    text-align: center; }

  .opencdc-grid.roles {
    display: block; }

  .opencdc-content {
    padding: 0 1rem; }
    .opencdc-content section.roles .icon {
      position: relative;
      top: 10px;
      left: -10px; }
    .opencdc-content .events .event .section-content {
      display: block; }
    .opencdc-content.event table {
      display: block;
      overflow: scroll;
      max-width: 100%;
      border: 1px solid #eee;
      padding: 5px; }
      .opencdc-content.event table td {
        min-width: 150px; } }
