.g-cc {
  width: 100%;
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto; }

.g-cf:before, .g-cf:after {
  display: table;
  content: " "; }

.g-cf:after {
  clear: both; }

.g-vh {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

* {
  box-sizing: border-box; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font: 16px sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "Roboto", sans-serif; }
  @media (max-width: 767px) {
    body {
      background-color: #1e252a; } }

h1,
h2,
h3,
h4,
h5,
blockquote,
figure,
ol,
ul {
  margin: 0;
  padding: 0; }

main,
li {
  display: block; }

strong {
  font-weight: 700; }

a,
button {
  color: inherit;
  transition: .3s; }

a {
  text-decoration: none; }

button {
  overflow: visible;
  border: 0;
  font: inherit;
  -webkit-font-smoothing: inherit;
  letter-spacing: inherit;
  background: none;
  cursor: pointer; }

::-moz-focus-inner {
  padding: 0;
  border: 0; }

:focus {
  outline: 0; }

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: top; }

svg {
  vertical-align: top; }

h2, h3, h4, h5 {
  line-height: 1; }

h2 {
  font-size: 2.5em;
  font-weight: 900;
  text-transform: uppercase;
  color: #FFF; }
  h2 span {
    color: #006737; }
  @media (min-width: 768px) {
    h2 {
      font-size: 3.75em; } }

h3 {
  font-size: 2.1875em;
  font-weight: 900;
  text-transform: uppercase; }
  @media (min-width: 768px) {
    h3 {
      font-size: 3.125em; } }

h4 {
  font-size: 1.5625em;
  font-weight: 700; }
  @media (min-width: 768px) {
    h4 {
      font-size: 1.875em; } }

h5 {
  font-size: 0.625em;
  font-weight: 500;
  text-transform: uppercase; }
  @media (min-width: 768px) {
    h5 {
      font-size: 14px; } }

p {
  margin: 1em 0;
  font-weight: 300; }

.office-img-mobile {
  margin-bottom: -50px; }
  .office-img-mobile img {
    width: 100%;
    height: auto; }
  @media (min-width: 768px) {
    .office-img-mobile {
      display: none; } }

.office-img-desktop {
  text-align: right; }
  .office-img-desktop img {
    margin-top: -1px; }
  @media (max-width: 767px) {
    .office-img-desktop {
      display: none; } }

.section-about {
  position: relative;
  z-index: 2;
  padding: 40px 0;
  background: rgba(0, 84, 35, 0.9);
  color: #FFF; }
  @media (min-width: 768px) {
    .section-about {
      margin-top: -240px;
      float: left;
      width: 50%;
      padding: 70px 0; }
      .section-about .section-about-content {
        width: auto;
        max-width: 505px;
        text-align: justify;
        float: right;
        padding: 0 0 0 20px;
        margin: 0 100px 0 0; } }

.background-x {
  position: absolute;
  z-index: 1;
  top: 350px;
  right: 0;
  width: 300px;
  overflow: hidden;
  padding-left: 80px; }
  .background-x svg {
    height: 420px;
    width: auto; }

.site-footer {
  padding: 40px 0;
  background-color: #1e252a;
  color: #FFF; }
  .site-footer ul {
    margin-top: 20px; }
  .site-footer li {
    margin-bottom: 3px;
    font-weight: 300; }
  @media (min-width: 768px) {
    .site-footer h3 {
      display: inline-block;
      padding: 0 100px; }
    .site-footer ul {
      display: inline-block; }
    .site-footer li {
      display: inline-block;
      margin: 0 10px;
      vertical-align: bottom; } }

.site-header {
  padding: 15px 0;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  background: #1e252a; }

.site-logo {
  float: left; }
  .site-logo svg {
    width: 121px;
    height: 24px; }
    @media (min-width: 768px) {
      .site-logo svg {
        width: 180px;
        height: 36px; } }

.menu-toggle {
  position: relative;
  z-index: 20;
  float: right;
  width: 25px;
  height: 20px;
  margin-top: 2px;
  transition: height 0.5s; }
  .menu-toggle span, .menu-toggle:before, .menu-toggle:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.5s; }
  .menu-toggle span {
    top: 50%;
    margin-top: -1px; }
  .menu-toggle:after {
    top: auto;
    bottom: 0; }
  .menu-open .menu-toggle {
    height: 25px; }
    .menu-open .menu-toggle span {
      opacity: 0; }
    .menu-open .menu-toggle:before {
      transform: rotate(45deg);
      top: 11px; }
    .menu-open .menu-toggle:after {
      transform: rotate(-45deg);
      bottom: 12px; }
  @media (min-width: 768px) {
    .menu-toggle {
      display: none; } }

.main-menu li {
  line-height: 1; }

.main-menu a {
  color: #FFF;
  line-height: 1; }

@media (max-width: 767px) {
  .main-menu {
    position: fixed;
    top: -100%;
    left: 0;
    z-index: 15;
    width: 100%;
    height: 100%;
    padding: 50px 20px;
    background: #1e252a;
    transition: top 0.5s; }
    .main-menu li {
      margin-bottom: 10px; }
    .main-menu a {
      font-size: 2.1875em;
      font-weight: 900; }
    .menu-open .main-menu {
      top: 0; } }

@media (min-width: 768px) {
  .main-menu {
    float: right;
    margin-top: 8px; }
    .main-menu li {
      display: inline-block;
      vertical-align: middle;
      margin-left: 20px; }
    .main-menu a {
      font-size: 0.875em; } }

.section-intro {
  margin-top: 54px;
  padding: 70px 0;
  background: #1e252a;
  position: relative; }
  .section-intro h2 {
    max-width: 275px;
    position: relative;
    z-index: 2; }
  @media (min-width: 768px) {
    .section-intro {
      padding: 100px 0 280px; }
      .section-intro h2 {
        max-width: 550px; } }

.background-x {
  position: absolute;
  z-index: 1;
  top: calc(100% - 40px);
  right: 0;
  width: 300px;
  overflow: hidden;
  padding-left: 80px; }
  .background-x svg {
    height: 420px;
    width: auto; }
  @media (min-width: 768px) {
    .background-x {
      top: 10px;
      width: 720px; }
      .background-x svg {
        height: 973px; } }

.section-leadership {
  margin-top: -45px;
  padding: 140px 0 70px;
  background: url(../img/leadership-mobile.jpg) bottom left no-repeat #FFF;
  background-size: 220px 198px;
  color: #1e252a; }
  @media (min-width: 768px) {
    .section-leadership {
      margin-top: 0;
      background-image: url(../img/leadership-desktop.jpg);
      background-size: auto; }
      .section-leadership h3 {
        margin-bottom: 70px; } }

.leadership-col {
  margin-top: 40px; }
  @media (min-width: 768px) {
    .leadership-col {
      float: left;
      width: calc(50% - 10px);
      margin-top: 0;
      padding-top: 400px; }
      .leadership-col p {
        text-align: justify; }
      .leadership-col:first-of-type {
        padding-top: 0; }
      .leadership-col:nth-of-type(2n) {
        float: right; } }

.section-mission {
  padding: 40px 0;
  color: #1e252a;
  background: #FFF; }
  @media (min-width: 768px) {
    .section-mission {
      float: right;
      width: 50%; }
      .section-mission .section-mission-content {
        width: auto;
        max-width: 530px;
        float: left;
        padding-left: 0;
        margin: 0 0 0 80px;
        text-align: justify; } }

.mission-container + .mission-container {
  margin-top: 30px; }
  @media (min-width: 768px) {
    .mission-container + .mission-container {
      margin-top: 50px; } }

.mission-container p {
  margin-top: 0; }

@media (min-width: 768px) {
  .mission-container h4 {
    margin-bottom: 10px; } }

.section-solutions {
  padding-top: 50px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#224360+0,40647c+100 */
  background: #224360;
  /* Old browsers */
  background: -moz-linear-gradient(top, #224360 0%, #40647c 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #224360 0%, #40647c 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #224360 0%, #40647c 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  color: #FFF; }
  @media (min-width: 768px) {
    .section-solutions {
      padding: 0;
      margin-top: 50px;
      background: transparent; }
      .section-solutions .section-solutions-container {
        background: url(../img/solution-bg.jpg) 0 0 no-repeat transparent;
        padding: 20px; }
      .section-solutions p {
        max-width: 505px;
        text-align: justify; } }
  @media (min-width: 900px) {
    .section-solutions .section-solutions-container {
      background-position: 20px 0;
      padding: 100px 0 0 120px; } }

.solutions-blocks-container {
  margin-top: 70px; }
  .solutions-blocks-container h2 {
    font-size: 35px;
    font-weight: 100;
    max-width: none;
    text-transform: none; }
    @media (min-width: 768px) {
      .solutions-blocks-container h2 {
        font-size: 50px; } }

.solution-block-col {
  margin-top: 45px; }
  .solution-block-col h4 {
    margin-bottom: 20px; }

@media (min-width: 768px) {
  .solution-block-col-industries {
    float: left;
    width: 58%; }
  .solution-block-col-services {
    float: right;
    width: 39%; } }

.solution-block {
  float: left;
  width: 190px;
  height: 190px;
  margin: 0 20px 20px 0;
  position: relative;
  z-index: 5;
  background: rgba(30, 37, 42, 0.9);
  text-align: center; }
  .solution-block h5 {
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    padding: 0 5px; }
    @media (min-width: 768px) {
      .solution-block h5 {
        top: 25px; } }
  .solution-block svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 40px);
    padding: 20px;
    vertical-align: middle; }
    @media (min-width: 768px) {
      .solution-block svg {
        height: calc(100% - 53px); } }
  @media (min-width: 600px) and (max-width: 768px) {
    .solution-block {
      width: calc(33.333% - 6px);
      margin: 0 9px 9px 0; }
      .solution-block:nth-child(3n) {
        margin-right: 0; } }
  @media (max-width: 599px) {
    .solution-block {
      width: calc(50% - 5px);
      margin: 0 10px 10px 0; }
      .solution-block:nth-child(2n) {
        margin-right: 0; } }

/*# sourceMappingURL=main.css.map */
