::-moz-selection {
  color: rgb(255, 255, 255);
  background: rgb(80, 227, 194);
}::selection {
  color: rgb(255, 255, 255);
  background: rgb(80, 227, 194);
}

body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}

header {
  background-color: rgb(255, 255, 255);
  z-index: 1;
}
header.headroom {
  height: 60px;
  position: fixed;
  display: block;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
}
header.headroom--pinned {
  transition: all 200ms linear;
  -webkit-transition: all 200ms linear;
  display: block;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
header.headroom--unpinned {
  transition: all 200ms linear;
  -webkit-transition: all 200ms linear;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
header.headroom--top {
  border-bottom: 1px solid rgba(255, 255, 255, 0);
}
header.headroom--not-top {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-width: 1200px;
  width: calc(100% - 20px);
  margin: 0px auto;
  padding: 10px;
}
header nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header nav a img {
  width: 112px;
  height: 40px;
}
header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
header nav ul li {
  font-size: 18px;
  padding-left: 18px;
}
header nav ul li a {
  text-decoration: none;
  color: black;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
}

main.index {
  margin-top: 60px;
  font-size: 20px;
}
main.index article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 430px;
  height: 100%;
  width: 100%;
  overflow: visible;
}
main.index article.grey {
  background-color: rgb(245, 245, 245);
}
main.index article.moderica {
  background: url(../img/homepage/moderica@2x.png) no-repeat center center;
  background-size: cover;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: rgb(255, 255, 255);
}
main.index article.univers-color {
  background-color: rgb(53, 53, 53);
  color: rgb(255, 255, 255);
}
main.index article.webby {
  background: url(../img/homepage/webby@2x.png) no-repeat center center;
  background-size: cover;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: rgb(255, 255, 255);
}
main.index article section {
  max-width: 1200px;
  margin: 0px auto;
  padding: 0px 10px;
}
@media (max-width: 768px) {
  main.index article section.text-right {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
  }
}
@media (max-width: 768px) {
  main.index article section.text-left {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (max-width: 768px) {
  main.index article section img {
    margin: 0px auto;
  }
}
main.index article section .text {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  max-width: 600px;
}
@media (max-width: 768px) {
  main.index article section .text {
    margin-top: 20px;
    margin-bottom: 20px;
    max-width: 100%;
  }
}
main.index article section .text.right {
  margin-right: 0px;
}
main.index article section .text.left {
  margin-left: 0px;
}
main.index article section .text h1 {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 32px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  main.index article section .text h1 {
    text-align: center;
  }
}
main.index article section .text p {
  font-size: 14px;
  line-height: 1.75;
}
@media (max-width: 768px) {
  main.index article section .text p {
    text-align: center;
  }
}
main.index article section .text p .link {
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  text-decoration: none;
}
@media (max-width: 768px) {
  main.index article section .text p .link {
    display: table;
    padding: 4px 10px;
    margin: 10px auto 0px auto;
    border: 1px solid rgb(0, 0, 0);
    text-decoration: none;
  }
  main.index article section .text p .link.white {
    border: 1px solid rgb(255, 255, 255);
  }
  main.index article section .text p .link:active {
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
}
main.index article section .text .tags-wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1 100%;
          flex: 1 100%;
  padding: 0px;
  margin-top: 14px;
}
@media (max-width: 768px) {
  main.index article section .text .tags-wrapper {
    display: none;
  }
}
main.index article section .text .tags-wrapper .tags {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0.5px;
  padding: 4px 8px;
  margin-bottom: 10px;
  border: 1px solid rgb(0, 0, 0);
  border-radius: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
main.index article section .text .tags-wrapper .tags.white {
  border: 1px solid rgb(255, 255, 255);
}
main.index article section.intro-blurb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main.index article section.intro-blurb h1 {
  font-size: 32px;
  line-height: 1.5em;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  margin: 0px auto;
  text-align: center;
}
main.index article section.grader-app {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
main.index article section.grader-app img {
  width: 100%;
  max-height: 369px;
  max-width: 468px;
}
main.index article section.mobile-collab, main.index article section.mobile-learn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
main.index article section.mobile-collab img, main.index article section.mobile-learn img {
  width: 100%;
  max-width: 430px;
  max-height: 471px;
}
@media (max-width: 768px) {
  main.index article section.mobile-collab img, main.index article section.mobile-learn img {
    margin-top: -30px;
  }
}
main.index article section.univers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
main.index article section.univers img {
  -ms-flex-item-align: end;
      align-self: flex-end;
  width: 100%;
  max-width: 470px;
  max-height: 358px;
}
main.index article section.mosaic, main.index article section .helpdesk, main.index article section.docusign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main.index article section.mosaic img, main.index article section .helpdesk img, main.index article section.docusign img {
  width: 100%;
  max-width: 550px;
  height: auto;
}
main.index a {
  text-decoration: none;
  display: block;
  margin-bottom: 24px;
  color: rgb(0, 0, 0);
}
@media (max-width: 768px) {
  main.index a {
    margin-bottom: 10px;
  }
}
main.index a:hover .tags {
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
  background-color: rgb(0, 0, 0);
  color: white;
}
main.index a:hover .tags.white {
  background-color: rgb(255, 255, 255);
}
main.index a:hover .tags.moderica-text {
  color: rgb(59, 133, 178);
}
main.index a:hover .tags.univers-text {
  color: rgb(0, 0, 0);
}
main.index a:hover .text p .link {
  text-decoration: underline;
}
@media (max-width: 768px) {
  main.index a:hover .text p .link {
    text-decoration: none;
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
  }
  main.index a:hover .text p .link.white {
    background-color: rgb(255, 255, 255);
  }
  main.index a:hover .text p .link.white.moderica-text {
    color: rgb(59, 133, 178);
  }
  main.index a:hover .text p .link.white.univers-text {
    color: rgb(0, 0, 0);
  }
}
main.index a:hover article:before {
  content: "";
  display: block;
  position: absolute;
}

main.project-page {
  max-width: 1200px;
  margin: 100px auto 0 auto;
  padding: 0px 10px;
  min-height: calc(100vh - 200px);
}
main.project-page .description {
  max-width: 800px;
  margin: 30px auto;
  display: block;
  text-align: center;
  color: rgb(80, 80, 80);
}
main.project-page .description h1 {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 38px;
  margin-bottom: 20px;
  display: block;
}
main.project-page .description p {
  font-size: 16px;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-word;
}
main.project-page .description a {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
  display: table;
  text-decoration: none;
  margin: 20px auto;
  border: 1px solid rgb(0, 0, 0);
  border-radius: 2px;
  color: rgb(0, 0, 0);
  background-color: rgb(255, 255, 255);
  padding: 6px 8px;
}
main.project-page .description a:hover {
  background-color: rgb(0, 0, 0);
  color: rgb(255, 255, 255);
}
main.project-page .description a:active {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
main.project-page h2 {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 26px;
  margin-bottom: 20px;
  display: block;
  text-align: center;
  color: rgb(73, 73, 73);
  clear: both;
}
main.project-page img {
  width: 100%;
  height: 100%;
  margin-bottom: 24px;
}
main.project-page .embed-container {
  position: relative;
  padding-bottom: 56.25%;
  margin-bottom: 24px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
main.project-page .embed-container iframe, main.project-page .embed-container object, main.project-page .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
main.project-page .univers img {
  max-height: 800px;
}
main.project-page .animations .screens {
  max-width: 320px;
  margin: 0 auto;
  cursor: pointer;
}
main.project-page .helpdesk .screens img, main.project-page .offline .screens img {
  margin: 24px auto;
  display: block;
  max-width: 880px;
  border: 1px solid rgba(53, 53, 53, 0.05);
}
main.project-page .helpdesk iframe, main.project-page .offline iframe {
  display: block;
  max-width: 100%;
  margin: 0px auto;
}
main.project-page .learn .screens img {
  display: block;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
main.project-page .collab .collab-video {
  background-image: url(../img/collab/bg-phone@2x.png);
  background-size: 456px, 945px, auto;
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  height: 945px;
}
@media (max-width: 768px) {
  main.project-page .collab .collab-video {
    height: 400px;
    background-image: none;
  }
}
main.project-page .collab .collab-video iframe {
  display: block;
  width: 400px;
  max-width: 100%;
  height: 710px;
  margin: 0px auto;
  padding-top: 117px;
}
@media (max-width: 768px) {
  main.project-page .collab .collab-video iframe {
    height: 400px;
    width: 225px;
    padding-top: 0;
  }
}
main.project-page .collab .screens.iphone-two-up {
  max-width: 1000px;
  margin: 0px auto;
}
main.project-page .collab .screens.iphone-two-up img {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
main.project-page .collab .screens.iphone-two-up img.iphone {
  float: left;
  max-width: 400px;
  max-height: 710px;
}
@media (max-width: 850px) {
  main.project-page .collab .screens.iphone-two-up img.iphone {
    float: none !important;
    display: block !important;
    margin-left: auto;
    margin-right: auto;
    max-height: 400px !important;
    max-width: 225px !important;
  }
}
main.project-page .collab .screens.iphone-two-up img.iphone + .iphone {
  float: right;
  margin-left: auto;
  margin-right: auto;
}
main.project-page .collab .screens.iphone-two-up img.iphone.landscape {
  display: block;
  float: none;
  max-width: 710px;
  max-height: 400px;
  margin-right: auto;
  margin-left: auto;
}
main.project-page .grader .grader-video {
  background-image: url(../img/grader/grader-ipad-video-bg@2x.png);
  background-size: 592px, 835px, auto;
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  height: 834px;
}
@media (max-width: 768px) {
  main.project-page .grader .grader-video {
    height: 489px;
    background-image: none;
  }
}
main.project-page .grader .grader-video iframe {
  display: block;
  width: 515px;
  max-width: 100%;
  height: 685px;
  margin: 0px auto;
  padding-top: 76px;
}
@media (max-width: 768px) {
  main.project-page .grader .grader-video iframe {
    height: 489px;
    width: 789px;
    padding-top: 0;
  }
}
main.project-page .grader .screens img {
  margin-left: auto;
  margin-right: auto;
  max-width: 590px;
  display: block;
  border: 1px solid rgba(53, 53, 53, 0.05);
}
main.project-page .about img {
  max-width: 225px;
  max-height: 225px;
  margin-right: 20px;
}
main.project-page .about .description .intro-quote {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  main.project-page .about .description .intro-quote {
    display: block;
  }
}
main.project-page .about .description .intro-quote h1 {
  font-size: 28px;
  text-align: left;
  line-height: 130%;
}
main.project-page .about .description p {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-fill: inherit;
     -moz-column-fill: inherit;
          column-fill: inherit;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  text-align: left;
}
@media (max-width: 768px) {
  main.project-page .about .description p {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
}
main.project-page .error {
  width: 100%;
  height: 100%;
  padding-top: 120px;
}
@media (max-width: 768px) {
  main.project-page .error {
    padding-top: 10%;
  }
}
main.project-page .error img {
  display: block;
  height: 142px;
  width: 294px;
  margin: 0px auto;
}
main.project-page .error p {
  max-width: 294px;
  display: block;
  font-size: 24px;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  color: rgb(150, 150, 150);
  line-height: 1.35;
  text-align: center;
  margin: 20px auto;
}

footer {
  clear: both;
  height: 100px;
  background-color: rgb(53, 53, 53);
}
footer section {
  max-width: 1200px;
  margin: 0px auto;
  padding: 10px;
  height: calc(100% - 20px);
}
footer section ul {
  height: 100%;
  max-width: 420px;
  margin: 0px auto;
  font-size: 14px;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  footer section ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
footer section ul li {
  color: rgb(150, 150, 150);
}
footer section ul li:first-of-type {
  color: rgba(150, 150, 150, 0.5);
}
@media (max-width: 768px) {
  footer section ul li {
    margin-top: 10px;
  }
}
footer section ul li img:hover {
  -webkit-filter: invert(0.15) sepia(1) hue-rotate(100deg) saturate(4) brightness(1);
          filter: invert(0.15) sepia(1) hue-rotate(100deg) saturate(4) brightness(1);
}