/*!
 Theme Name:   Child Theme
 Template:     fantastic-media
*/
@import "https://fonts.googleapis.com/css?family=Libre+Franklin";
/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Site Styling
--------------------------------------------------------------*/
body {
  background: url("images/stack-device.png") 100% 100% no-repeat, url("images/body-background.jpg");
  font-size: 16px;
  line-height: 1.5;
  font-family: "Libre Franklin", sans-serif;
  color: #444444; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

.menu {
  margin: 0px;
  padding: 0px;
  list-style: none; }

hr {
  border: 0px;
  border-bottom: 3px solid #103f51;
  width: 50px; }

.no-padding {
  padding: 0px; }

.vertical-align {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%; }

.clearfix {
  clear: both;
  display: block; }

.fill-link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 5px; }

.no-relative {
  position: static; }

.not-found {
  padding: 60px 0; }

/*--------------------------------------------------------------
# Site Parts
--------------------------------------------------------------*/
h1 {
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  text-transform: uppercase;
  line-height: 1.2;
  font-size: 36px;
  font-weight: 700;
  color: #2c2829;
  margin: 0px; }
  @media screen and (max-width: 767px) {
    h1 {
      font-size: 28px; } }

h4 {
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  text-transform: uppercase;
  line-height: 1.2;
  font-size: 18px;
  font-weight: 700;
  color: #2c2829;
  margin: 0px; }
  @media (min-width: 768px) {
    h4 {
      font-size: 24px; } }

.text--subtitle {
  color: #919191;
  text-transform: uppercase;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }
  .text--subtitle i {
    color: #ed1c24; }

.row--header {
  background: #FFF;
  border: 1px solid #cccccc;
  border-top: 0px;
  height: 100px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .row--header {
      height: 60px; } }
  .row--header .menu {
    float: left;
    position: absolute;
    left: 0px;
    top: 100px;
    width: 100%;
    z-index: 999;
    background: #FFF;
    max-height: 0px;
    overflow: hidden;
    -webkit-transition: max-height .5s;
    transition: max-height .5s; }
    @media screen and (max-width: 767px) {
      .row--header .menu {
        top: 60px; } }
    .row--header .menu.active {
      max-height: 1000px; }
    @media (min-width: 992px) {
      .row--header .menu {
        overflow: visible;
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        background: none;
        max-height: auto; } }
    @media (min-width: 992px) {
      .row--header .menu li {
        display: inline-block; } }
    @media (min-width: 992px) {
      .row--header .menu li.current-page-parent, .row--header .menu li.current_page_item {
        border-bottom: 4px solid #103f51;
        margin-bottom: -4px; } }
    .row--header .menu li.menu-item-has-children > a {
      padding-right: 20px;
      background: url("images/menu-drop.png") no-repeat;
      background-position: right 20px center; }
      @media (min-width: 992px) {
        .row--header .menu li.menu-item-has-children > a {
          background-position: right center;
          padding-right: 14px; } }
      @media (min-width: 1200px) {
        .row--header .menu li.menu-item-has-children > a {
          padding-right: 20px; } }
    .row--header .menu li a {
      font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
      font-weight: 700;
      color: #2c2829;
      text-transform: uppercase;
      padding: 0 10px;
      text-align: center;
      line-height: 50px;
      border-bottom: 1px solid #cccccc;
      display: block; }
      @media (min-width: 992px) {
        .row--header .menu li a {
          line-height: 100px;
          display: inline;
          border-bottom: 0px;
          font-size: 14px;
          padding: 0 7px; } }
      @media (min-width: 1200px) {
        .row--header .menu li a {
          font-size: 16px; } }
    .row--header .menu li:hover .band--mega-menu {
      border: 1px solid #cccccc;
      border-top: 0px;
      max-height: 350px; }
    .row--header .menu li .band--mega-menu {
      max-height: 0px;
      overflow: hidden;
      left: 0px;
      width: 100%;
      background: url("images/repeating-pattern.jpg") no-repeat right top #FFF;
      border-top: 0px;
      z-index: 999;
      -webkit-transition: max-height .5s;
      transition: max-height .5s; }
      @media (min-width: 992px) {
        .row--header .menu li .band--mega-menu {
          position: absolute;
          height: 350px; } }
      .row--header .menu li .band--mega-menu .current-menu-item a {
        color: #ed1c24; }
      .row--header .menu li .band--mega-menu .menu-intro {
        position: absolute;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        -webkit-transform-origin: top left;
                transform-origin: top left;
        top: 0px;
        border-top: 1px solid #cccccc;
        width: 100%;
        padding-left: 38px;
        left: -40px; }
        .row--header .menu li .band--mega-menu .menu-intro span {
          display: inline-block;
          border: 1px solid #cccccc;
          padding: 6px 18px;
          text-transform: uppercase;
          letter-spacing: 2px;
          border-radius: 50px;
          background: #FFF;
          position: relative;
          top: -19px; }
      .row--header .menu li .band--mega-menu .container {
        padding: 0px; }
      .row--header .menu li .band--mega-menu .sub-menu {
        margin: 0px;
        padding: 0px;
        list-style: none; }
        @media (min-width: 992px) {
          .row--header .menu li .band--mega-menu .sub-menu {
            padding-top: 30px; } }
        .row--header .menu li .band--mega-menu .sub-menu li {
          display: list-item; }
          .row--header .menu li .band--mega-menu .sub-menu li.current-page-parent, .row--header .menu li .band--mega-menu .sub-menu li.current_page_item {
            border-bottom: 0px;
            margin-bottom: 0px; }
          .row--header .menu li .band--mega-menu .sub-menu li a {
            padding: 0px;
            border-bottom: 0px; }
            .row--header .menu li .band--mega-menu .sub-menu li a:hover {
              color: #ed1c24; }
            @media (min-width: 992px) {
              .row--header .menu li .band--mega-menu .sub-menu li a {
                font-size: 32px;
                line-height: 42px; } }

.mobile-toggle {
  list-style: none;
  margin: 0px;
  padding: 0px;
  text-align: right; }
  .mobile-toggle__menu, .mobile-toggle__search {
    display: inline-block;
    color: #ed1c24;
    line-height: 100px;
    cursor: pointer;
    padding: 0 25px;
    border-left: 1px solid #cccccc;
    margin-left: -4px; }
    @media screen and (max-width: 767px) {
      .mobile-toggle__menu, .mobile-toggle__search {
        line-height: 60px; } }
    .mobile-toggle__menu i, .mobile-toggle__search i {
      font-size: 24px; }
  .mobile-toggle__menu {
    margin-right: -15px;
    min-width: 71.58px; }

.logo--header {
  margin: 0px;
  line-height: 100px; }
  @media screen and (max-width: 767px) {
    .logo--header {
      line-height: 60px; } }
  .logo--header img {
    max-width: 210px;
    width: 100%;
    vertical-align: middle;
    margin-top: -14px; }

.header-search {
  margin: 0px;
  padding: 0px;
  list-style: none;
  line-height: 100px; }
  .header-search li {
    display: inline-block; }
    .header-search li i {
      color: #ed1c24; }
  .header-search__icon {
    padding: 0 30px;
    cursor: pointer; }
  .header-search__number i {
    margin-right: 6px; }

.row--hero {
  background: #FFF;
  border: 1px solid #cccccc;
  border-top: 0px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  margin-left: 0px;
  margin-right: 0px; }
  @media (min-width: 768px) {
    .row--hero {
      height: 350px; } }
  .row--hero hr {
    margin: 30px auto 30px 0; }
  .row--hero .banners {
    height: 100%;
    width: 100%; }
  .row--hero .banner {
    height: 100%;
    width: 100%; }
    .row--hero .banner__content {
      padding: 40px 15px; }
      @media (min-width: 768px) {
        .row--hero .banner__content {
          height: 65%;
          padding: 0px 15px; } }
      @media (max-width: 991px) {
        .row--hero .banner__content .vertical-align {
          -webkit-transform: none;
                  transform: none;
          position: static; } }
      @media (min-width: 768px) {
        .row--hero .banner__content {
          height: 100%; } }
    .row--hero .banner__image {
      height: 35%;
      padding: 0px;
      overflow: hidden; }
      @media (min-width: 768px) {
        .row--hero .banner__image {
          height: 100%;
          float: right; } }
      .row--hero .banner__image img {
        height: auto;
        width: 100%;
        max-width: none;
        float: right; }
  .row--hero .banners {
    position: relative; }
    .row--hero .banners__controls {
      position: absolute;
      z-index: 998;
      top: 35%; }
      .row--hero .banners__controls i {
        display: initial; }
      @media (min-width: 768px) {
        .row--hero .banners__controls {
          top: 0px; } }
.row--hero-front {
  height: 650px;
  overflow: hidden; }
  .row--hero-front h1 {
    font-size: 20px; }
    @media (min-width: 768px) {
      .row--hero-front h1 {
        font-size: 32px; } }
    @media (min-width: 992px) {
      .row--hero-front h1 {
        font-size: 42px; } }
  .row--hero-front .tabs {
    margin-top: -23px; }
    @media (min-width: 768px) {
      .row--hero-front .tabs {
        margin-top: 30px; } }
  @media (min-width: 768px) {
    .row--hero-front .banner__content .vertical-align {
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      position: absolute; } }

.site .btn {
  display: inline-block;
  padding: 12px;
  border-radius: 50px;
  color: #FFF;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  -webkit-transition: background .25s;
  transition: background .25s;
  border: 0px;
  outline: none; }
  @media (min-width: 992px) {
    .site .btn {
      padding: 15px 30px; } }
  .site .btn--blue {
    background: #103f51; }
    .site .btn--blue:hover {
      background: #0a2631; }

.tabs {
  margin: 0px;
  padding: 0px;
  list-style: none;
  display: table;
  margin-bottom: 20px; }
  .tabs--share {
    float: right; }
    @media screen and (max-width: 767px) {
      .tabs--share {
        float: none;
        margin: 15px 0 0;
        padding: 0 !important;
        display: block; }
        .tabs--share .tabs__text {
          padding-left: 0;
          display: block; } }
  .tabs--full-width {
    width: 100%; }
  .tabs__text {
    padding: 0 12px; }
  .tabs__tab {
    border: 1px solid #cccccc;
    padding: 10px 6px;
    cursor: pointer;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    background: #FFF;
    display: table-cell;
    text-align: center;
    border-right: 0px; }
    @media (min-width: 768px) {
      .tabs__tab {
        padding: 10px 16px; } }
    .tabs__tab a {
      color: inherit; }
    .tabs__tab i {
      margin: 0 8px;
      display: none; }
      @media (min-width: 768px) {
        .tabs__tab i {
          display: initial; } }
      .tabs--share .tabs__tab i {
        display: inline-block; }
    .tabs__tab--active {
      color: #ed1c24; }
      .tabs__tab--active i {
        color: #ed1c24; }
    .tabs__tab:hover {
      color: #ed1c24; }
    .tabs__tab--email a {
      color: #ed1c24; }
    .tabs__tab--linkedin a {
      color: #007cb5; }
    .tabs__tab--twitter a {
      color: #00aded; }
    .tabs__tab--facebook a {
      color: #3b5998; }
    .tabs__tab--first {
      border-radius: 50px 0 0 50px; }
    .tabs__tab--last {
      border-radius: 0 50px 50px 0;
      border-right: 1px solid #cccccc; }

.service-box {
  background: #FFF;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  text-align: center;
  padding-bottom: 60px;
  position: relative;
  -webkit-transition: box-shadow .25s, margin-top .25s;
  transition: box-shadow .25s, margin-top .25s;
  margin: 15px 0 15px 0; }
  @media (min-width: 768px) {
    .service-box {
      min-height: 450px; } }
  @media (min-width: 1200px) {
    .service-box {
      min-height: 410px;
      margin: 40px 0; } }
  .service-box:hover {
    box-shadow: 0px 25px 40px 0px rgba(0, 0, 0, 0.25); }
    @media (min-width: 1200px) {
      .service-box:hover {
        margin-top: 30px; } }
    .service-box:hover a i {
      margin-left: 5px; }
  .service-box h2 {
    font-size: 22px;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    padding: 6px 30px;
    border: 1px solid #cccccc;
    display: inline-block;
    border-radius: 50px;
    margin: 0px;
    top: -10px;
    position: relative;
    margin-top: -27px;
    background: #FFF; }
    @media (min-width: 1200px) and (max-width: 1559px) {
      .service-box h2 {
        font-size: 17px; } }
  .service-box p {
    padding: 0 30px;
    font-size: 14px;
    display: none; }
    @media (min-width: 768px) {
      .service-box p {
        display: inherit; } }
    @media (min-width: 992px) {
      .service-box p {
        padding: 0 20px; } }
  .service-box a {
    color: #ed1c24;
    text-decoration: underline;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    position: absolute;
    bottom: 30px;
    left: 0px;
    width: 100%; }
    .service-box a i {
      -webkit-transition: margin-left .25s;
      transition: margin-left .25s; }
  .service-box__deal {
    background: #ed1c24;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%; }
    @media (min-width: 992px) {
      .service-box__deal {
        position: static; } }
    @media (min-width: 1560px) {
      .service-box__deal {
        position: absolute; } }
    .service-box__deal a {
      position: static;
      color: #FFF;
      text-decoration: none;
      letter-spacing: 4px;
      padding: 10px 0;
      display: block; }
      @media (min-width: 992px) {
        .service-box__deal a {
          letter-spacing: 1px; } }

.row--media-grid {
  background: url("images/repeating-pattern.jpg") no-repeat 100% 0% #FFF;
  margin: 0px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  text-align: center;
  margin-bottom: 30px;
  padding: 30px 0; }
  @media (min-width: 768px) {
    .row--media-grid {
      padding: 80px 0; } }
  .row--media-grid hr {
    margin: 30px auto 30px 0; }
  .row--media-grid h3 {
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    text-transform: uppercase;
    line-height: 1.2;
    font-size: 42px;
    font-weight: 700;
    color: #2c2829;
    margin: 0px;
    text-align: left; }
.row--media-grid-hollow {
  background: none;
  box-shadow: none; }

@media (min-width: 992px) {
  .testimonial-row, .case-study-row {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .testimonial-row > div, .case-study-row > div {
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch; }
      .testimonial-row > div:first-of-type:last-of-type, .case-study-row > div:first-of-type:last-of-type {
        width: 100% !important; } }

.media-grid {
  background: #FFF;
  padding: 15px;
  border: 1px solid #cccccc;
  text-align: left;
  height: 100%;
  position: relative; }
  @media (min-width: 768px) and (max-width: 992px) {
    .media-grid {
      padding: 30px; } }
  .media-grid.testimonial {
    background: url(images/stack-white.png) no-repeat calc(100% - -350px) #103f51;
    padding-bottom: 108px;
    color: #fff; }
    .media-grid.testimonial hr {
      border-bottom: 4px solid #ed1c24; }
    @media (min-width: 768px) {
      .media-grid.testimonial {
        padding: 30px;
        padding-bottom: 125px; } }
    @media (max-width: 768px) {
      .media-grid.testimonial {
        margin-bottom: 30px; } }
  @media (min-width: 768px) {
    .media-grid.case-study {
      padding: 30px; } }
  .media-grid__image {
    border: 1px solid #cccccc;
    border-bottom: 0px;
    width: 100%; }
  .media-grid__date {
    color: #103f51;
    font-size: 14px;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    margin-top: 0px; }
  .media-grid__quote {
    font-size: 18px; }
    .media-grid__quote:before {
      font-family: FontAwesome;
      content: "\f10d";
      font-size: 32px;
      float: left;
      margin-right: 15px; }
    .media-grid__quote:after {
      font-family: FontAwesome;
      content: "\f10e";
      font-size: 32px;
      float: right;
      margin-left: 15px; }
    @media (min-width: 992px) {
      .media-grid__quote {
        font-size: 16px; } }
    @media (min-width: 1560px) {
      .media-grid__quote {
        font-size: 18px; } }
  .media-grid__footnote {
    position: absolute;
    bottom: 30px;
    left: 30px; }
    @media (max-width: 768px) {
      .media-grid__footnote {
        bottom: 15px;
        left: 15px; } }
  .media-grid__profile img {
    float: left;
    margin-right: 20px; }
  .media-grid__testimonials, .media-grid__tweets, .media-grid__news {
    display: none; }
    .media-grid__testimonials--active, .media-grid__tweets--active, .media-grid__news--active {
      display: block; }
  .media-grid p:last-child {
    margin-bottom: 0; }
  .media-grid a {
    color: #ed1c24; }
    .media-grid a:hover {
      color: #7f0a0f; }

.grid__content {
  min-height: 0 !important; }
  .grid__content.news {
    padding: 30px; }
    .grid__content.news .media-grid__date {
      color: #103f51 !important; }
    @media (min-width: 768px) {
      .grid__content.news {
        padding: 30px; } }

.media-grid__news .media-grid__article {
  margin-bottom: 30px; }
  .media-grid__news .media-grid__article h4 {
    font-size: 21px; }
  .media-grid__news .media-grid__article .media-grid__date {
    color: #103f51; }

.media-grid__tweetwrapper {
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .media-grid__tweetwrapper .media-grid {
    padding: 15px 15px 132px 15px; }
    .media-grid__tweetwrapper .media-grid__footnote {
      bottom: 15px;
      left: 15px; }
  @media screen and (max-width: 991px) {
    .media-grid__tweetwrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .media-grid__tweetwrapper .media-grid {
        margin-bottom: 15px; } }

.media-grid.testimonial .media-grid__date {
  color: #FFF; }

.row--footer {
  background: #FFF;
  box-shadow: 0px 5px 15px 0 rgba(0, 0, 0, 0.25);
  margin-bottom: 30px;
  position: relative; }
  .row--footer hr {
    margin: 30px auto 30px 0; }
  .row--footer h3 {
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    text-transform: uppercase;
    line-height: 1.2;
    font-weight: 700;
    color: #2c2829;
    margin: 0px;
    text-align: left;
    font-size: 24px; }
    @media (min-width: 768px) {
      .row--footer h3 {
        font-size: 42px; } }
.row--copy {
  border-top: 1px solid #cccccc;
  padding-top: 30px;
  padding-bottom: 50px;
  margin-top: 20px; }

.footer__form {
  padding: 30px 0; }
  @media (min-width: 992px) {
    .footer__form {
      padding: 80px 0; } }
.footer__image {
  height: 300px;
  background: url("images/contact-image.jpg") no-repeat 50% 50%;
  background-size: cover; }
  @media (min-width: 992px) {
    .footer__image {
      position: absolute;
      height: 100%;
      top: 0px;
      right: 0px; } }

.colophon {
  text-align: center; }
  @media (min-width: 992px) {
    .colophon {
      text-align: left; } }
  .colophon__logo {
    max-width: 220px;
    margin-bottom: 20px; }
  .colophon__fantastic {
    text-align: center; }
    @media (min-width: 768px) {
      .colophon__fantastic {
        text-align: right; } }
  .colophon hr {
    margin: 20px auto; }
    @media (min-width: 992px) {
      .colophon hr {
        margin: 20px auto 20px 0; } }
  .colophon i {
    color: #ed1c24; }
  .colophon a {
    color: #444444; }
    .colophon a img {
      vertical-align: sub;
      margin-left: 8px; }
    .colophon a:hover {
      color: #ed1c24; }
  .colophon .menu__title {
    margin: 0px;
    font-size: 28px;
    font-weight: 700;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    text-transform: uppercase; }

.ninja-forms-cont .ninja-forms-required-items {
  display: none; }
.ninja-forms-cont .ninja-forms-response-msg {
  display: none; }
.ninja-forms-cont .ninja-forms-field-error {
  display: none !important; }
.ninja-forms-cont .field-wrap label {
  text-transform: uppercase;
  font-weight: 700;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  margin-bottom: 0px; }
  @media (min-width: 992px) {
    .ninja-forms-cont .field-wrap label {
      font-size: 13px; } }
  @media (min-width: 1200px) {
    .ninja-forms-cont .field-wrap label {
      font-size: 16px; } }
.ninja-forms-cont .field-wrap input[type="text"], .ninja-forms-cont .field-wrap input[type="email"], .ninja-forms-cont .field-wrap textarea {
  border: 0px;
  border-bottom: 1px solid #cccccc;
  outline: none;
  padding: 12px 0;
  font: "Libre Franklin", sans-serif; }
.ninja-forms-cont .field-wrap textarea {
  height: 200px; }
.ninja-forms-cont .field-wrap input[type="submit"] {
  border: 0px;
  display: inline-block;
  padding: 15px 30px;
  border-radius: 50px;
  color: #FFF;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  -webkit-transition: background .25s;
  transition: background .25s;
  background: #103f51;
  outline: none; }
  .ninja-forms-cont .field-wrap input[type="submit"]:hover {
    background: #0a2631; }
.ninja-forms-cont .ninja-forms-error input[type="text"], .ninja-forms-cont .ninja-forms-error input[type="email"], .ninja-forms-cont .ninja-forms-error textarea {
  border-bottom: 1px solid #ed1c24; }

#ninja_forms_form_1_all_fields_wrap #ninja_forms_field_5_div_wrap, #ninja_forms_form_1_all_fields_wrap #ninja_forms_field_6_div_wrap {
  width: 100%; }
  @media (min-width: 768px) {
    #ninja_forms_form_1_all_fields_wrap #ninja_forms_field_5_div_wrap, #ninja_forms_form_1_all_fields_wrap #ninja_forms_field_6_div_wrap {
      float: left;
      width: 46%; } }
#ninja_forms_form_1_all_fields_wrap #ninja_forms_field_5_div_wrap {
  margin-right: 8%; }
#ninja_forms_form_1_all_fields_wrap #ninja_forms_field_3_div_wrap {
  clear: both; }

/*! Flickity v2.0.3
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: white;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.flickity-prev-next-button:hover {
  background: white; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F; }

.flickity-prev-next-button:active {
  opacity: 0.6; }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button:disabled {
  opacity: 0.3;
  cursor: auto; }

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

.flickity-prev-next-button .arrow {
  fill: #333; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  bottom: 25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
  left: 9.25%; }
  @media (min-width: 768px) {
    .flickity-page-dots {
      bottom: 50px; } }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  background: #ed1c24;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  opacity: 1; }

.row--deal {
  background: #FFF;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  margin: 0px;
  margin-top: 30px;
  padding: 40px 0;
  position: relative;
  text-align: center; }
  @media (min-width: 768px) {
    .row--deal {
      background: url("images/repeating-pattern.jpg") no-repeat 100% 50% #FFF;
      background-size: auto 100%;
      text-align: left; } }

.deal__title {
  font-size: 18px;
  color: #ed1c24; }
  @media (min-width: 768px) {
    .deal__title {
      font-size: 26px; } }
.deal__copy {
  color: #103f51; }
.deal__sash {
  background: #ed1c24;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  color: #FFF;
  font-weight: 700;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  text-transform: uppercase;
  padding: 6px 0px;
  text-align: center;
  -webkit-transform-origin: top left;
          transform-origin: top left; }
  @media (min-width: 768px) {
    .deal__sash {
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg);
      top: auto;
      bottom: -36px;
      width: auto;
      letter-spacing: 2px;
      padding: 6px 101px; } }
  @media (min-width: 992px) {
    .deal__sash {
      padding: 6px 82px; } }
  @media (min-width: 1200px) {
    .deal__sash {
      padding: 6px 50px; } }
  @media (min-width: 1560px) {
    .deal__sash {
      padding: 6px 58px; } }

.row--audit {
  background: #FFF;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  margin: 0px;
  margin-top: 30px; }
  @media screen and (max-width: 991px) {
    .row--audit {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .row--audit > div:first-child {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        border-top: 1px solid #cccccc; }
      .row--audit > div:last-child {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .row--audit.active .audit__content-toggle {
    display: none; }
  .row--audit.active .audit__form {
    display: block; }

.audit__back {
  cursor: pointer; }
.audit__image, .audit__content {
  margin-left: -15px;
  margin-right: -15px; }
.audit__image {
  background-size: cover;
  background-position: 50% 50%; }
  @media screen and (max-width: 767px) {
    .audit__image {
      height: 200px !important; } }
.audit__content-toggle {
  padding: 60px 0; }
  .audit__content-toggle ul {
    margin-top: 40px;
    margin-bottom: 40px; }
    .audit__content-toggle ul li {
      margin-bottom: 12px; }
  .audit__content-toggle p {
    margin-bottom: 30px; }
    .audit__content-toggle p strong {
      font-weight: 800;
      font-size: 20px;
      line-height: 30px;
      color: #103f51; }
.audit__form {
  display: none; }
  @media (min-width: 992px) {
    .audit__form {
      padding: 30px 0; } }
  .audit__form h3 {
    font-size: 28px;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }
  .audit__form hr {
    margin: 30px auto 30px 0; }
  @media (min-width: 992px) {
    .audit__form #ninja_forms_field_9_div_wrap, .audit__form #ninja_forms_field_10_div_wrap {
      float: left;
      width: 46%; } }
  @media (min-width: 992px) {
    .audit__form #ninja_forms_field_9_div_wrap {
      margin-right: 8%; } }
  .audit__form #ninja_forms_field_12_div_wrap {
    clear: both; }
.audit__content {
  background: #103f51;
  padding: 40px 20px; }
  @media (min-width: 992px) {
    .audit__content {
      padding: 128px 0; } }
  @media (min-width: 1200px) {
    .audit__content {
      padding: 80px 0; } }
  @media (min-width: 1560px) {
    .audit__content {
      padding: 40px 0; } }
  .audit__content p {
    margin: 0px;
    text-align: center;
    color: #FFF;
    font-size: 26px;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    font-weight: 700;
    line-height: 1.2; }
  .audit__content i {
    color: #ed1c24; }
  .audit__content hr {
    border-bottom: 4px solid rgba(255, 255, 255, 0.25); }
.audit__neg-margin {
  margin: 0 -15px;
  margin-top: -1px; }
.audit__icon-box {
  width: 50%;
  float: left;
  border-top: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  position: relative;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .audit__icon-box {
      width: 100%; } }
  @media (min-width: 992px) {
    .audit__icon-box {
      padding-top: 50%; } }
  @media (min-width: 992px) and (max-width: 1559px) {
    .audit__icon-box:nth-child(3), .audit__icon-box:nth-child(4) {
      border-bottom: 1px solid #cccccc; } }

.icon-box__content {
  width: 100%;
  left: 0px;
  top: 12.5%;
  padding: 30px; }
  @media (min-width: 992px) {
    .icon-box__content {
      position: absolute;
      padding: 0 30px; } }
  .icon-box__content h4 {
    font-size: 20px; }
  .icon-box__content p {
    font-size: 14px; }
    @media (min-width: 992px) and (max-width: 1559px) {
      .icon-box__content p {
        position: absolute;
        opacity: 0;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        background: #FFF;
        margin: 0px;
        padding: 0 20px;
        -webkit-transition: opacity .25s;
        transition: opacity .25s; } }
    @media (min-width: 992px) and (max-width: 1199px) {
      .icon-box__content p {
        font-size: 13px; } }
  .icon-box__content img {
    margin-bottom: 20px; }
  @media (min-width: 992px) and (max-width: 1559px) {
    .icon-box__content:hover p {
      opacity: 1; } }

.row--featured-study {
  background: #FFF;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  background-size: 30% auto;
  margin: 0px;
  margin-top: 30px;
  position: relative; }

.featured-study__image {
  margin-left: -15px;
  margin-right: -15px; }
.featured-study__content {
  padding: 40px 0; }
  .featured-study__content h3 {
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    margin-top: 0px; }
  .featured-study__content hr {
    margin: 30px auto 30px 0; }
  .featured-study__content a {
    color: #ed1c24;
    font-weight: 700;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }

.row--content-block {
  background: #FFF;
  background-size: auto 100%;
  background-position: left center;
  background-repeat: no-repeat;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  margin: 0px;
  margin-top: 30px;
  padding: 40px 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .row--content-block {
      background-image: none !important; } }
  @media (min-width: 992px) {
    .row--content-block {
      background-position: right center; } }
  @media (min-width: 1560px) {
    .row--content-block {
      background-size: cover; } }
  .row--content-block h2 {
    font-size: 28px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    margin-top: 0px; }
  .row--content-block hr {
    margin: 30px auto 30px 0; }
  .row--content-block ul {
    margin: 0.28em 0px;
    padding-left: 18px; }
    .row--content-block ul li {
      color: #103f51;
      padding: 12px;
      list-style: url("images/list-style.png"); }
  .row--content-block p strong {
    color: #103f51;
    font-weight: 900;
    font-size: 20px;
    line-height: 30px; }

.row--content-cards {
  margin-top: 30px; }

.content-card {
  background: #FFF;
  background-size: 100% auto;
  background-position: right center;
  background-repeat: no-repeat;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  margin: 0px;
  padding: 40px 0;
  position: relative; }
  .content-card__content {
    margin: 0px; }
    .content-card__content h2 {
      font-size: 28px;
      text-transform: uppercase;
      font-weight: 700;
      font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
      margin-top: 0px; }
    .content-card__content hr {
      margin: 30px auto 30px 0; }
    .content-card__content p strong {
      color: #103f51;
      font-size: 20px;
      line-height: 30px; }

.row--divider {
  padding: 100px 0;
  margin-top: -40px;
  text-align: center;
  background-size: cover;
  background-position: 50% 50%; }

.service-box--partner {
  margin-bottom: 0px; }
  .service-box--partner:hover {
    margin-top: 15px;
    box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.25); }
  @media (min-width: 768px) {
    .service-box--partner {
      min-height: 480px; } }
  @media (min-width: 992px) {
    .service-box--partner:hover {
      margin-top: 40px;
      box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.25); } }
  .service-box--partner h2 {
    font-size: 22px; }

.partner__image {
  border-bottom: 1px solid #cccccc;
  min-height: 180px;
  position: relative; }
  .partner__image img {
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
    width: 70%; }

.partners {
  background: url("images/stack-device.png") 100% 100% no-repeat; }
  .partners__contact {
    text-align: center;
    padding: 30px 0; }
    .partners__contact i {
      color: #ed1c24; }
    .partners__contact h2 {
      font-weight: 700;
      font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
      text-transform: uppercase;
      font-size: 28px;
      line-height: 1; }

.service-box--product {
  margin-bottom: 0px; }
  .service-box--product h2 {
    font-size: 22px; }
  .service-box--product p {
    display: block;
    padding: 0 20px; }

.product__image {
  border-bottom: 1px solid #cccccc;
  min-height: 180px;
  position: relative; }
  .product__image img {
    width: 70%;
    margin-bottom: 27px; }

.row--contact {
  background: #FFF;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
  margin: 0px;
  margin-top: 30px;
  margin-bottom: 50px; }

.contact__form, .contact__content {
  padding: 30px 0; }
  .contact__form h3, .contact__content h3 {
    font-size: 28px;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }
  .contact__form hr, .contact__content hr {
    margin: 30px auto 30px 0; }
  .contact__form p.lead, .contact__content p.lead {
    font-size: 22px; }
    .contact__form p.lead strong, .contact__content p.lead strong {
      color: #103f51; }
  .contact__form p i, .contact__content p i {
    color: #ed1c24;
    margin-right: 6px; }
  .contact__form #ninja_forms_field_3, .contact__content #ninja_forms_field_3 {
    height: 140px; }
.contact__content p {
  line-height: 30px; }
@media screen and (max-width: 767px) {
  .contact__content-block {
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin-top: -1px; } }

.grid {
  background: #FFF;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
  text-align: left;
  margin-bottom: 30px; }
  .grid__image {
    min-height: 225px;
    background: #103f51; }
    @media screen and (max-width: 767px) {
      .grid__image {
        min-height: 1px; } }
  .grid__content {
    padding: 20px;
    min-height: 260px;
    padding-bottom: 40px;
    position: relative; }
    .grid__content h2 {
      text-transform: uppercase;
      font-weight: 700;
      font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
      line-height: 1.2;
      font-size: 21px; }
      .grid__content h2 a {
        color: #444444; }
  .grid__link {
    position: absolute;
    bottom: 20px;
    color: red;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }

.overlay--search {
  display: none;
  background: #FFF;
  background-image: url("images/stack-device.png");
  background-repeat: no-repeat;
  background-position: 100% 100%;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  overflow: auto;
  z-index: 9999; }
  .overlay--search.active .row--search {
    margin-top: 0px; }

.row--search {
  margin: 0px;
  background: #FFF;
  height: 100px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  position: relative;
  margin-top: -150px;
  -webkit-transition: margin-top .25s;
  transition: margin-top .25s; }

.site-search input[type="text"] {
  width: 100%;
  border: 0px;
  background: none;
  line-height: 60px;
  outline: none;
  margin-top: 18px;
  border: 1px solid #e2e2e2;
  padding: 0 20px; }
.site-search button {
  position: absolute;
  right: 38px;
  top: 50%;
  background: none;
  border: 0px;
  color: #444444;
  padding: 0px;
  margin-top: -2px;
  outline: none; }
  @media screen and (max-width: 767px) {
    .site-search button {
      display: none; } }

.search-close {
  line-height: 100px;
  padding: 0 30px;
  color: #ed1c24;
  cursor: pointer; }
  @media screen and (max-width: 767px) {
    .search-close {
      padding: 0;
      font-size: 30px; } }

.search-results.loading {
  background-image: url("images/copy-mark-loader.gif");
  background-position: 50% 30px;
  background-repeat: no-repeat; }
.search-results article {
  border: 1px solid #cccccc;
  background: #FFF;
  background: rgba(255, 255, 255, 0.6);
  margin: 40px 0;
  padding: 60px; }
  .search-results article h2 {
    font-size: 42px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
    margin: 0px; }
    .search-results article h2 a {
      color: #444444; }
  .search-results article hr {
    margin: 10px auto 25px 0; }
  .search-results article p {
    width: 60%; }
  .search-results article a {
    color: #ed1c24; }
  @media screen and (max-width: 767px) {
    .search-results article {
      padding: 15px; }
      .search-results article h2 {
        font-size: 24px; }
      .search-results article p {
        width: auto; } }

.archive-wrap {
  position: relative;
  z-index: 10; }
  @media screen and (max-width: 767px) {
    .archive-wrap {
      margin-bottom: 15px; } }

.archive-toggle {
  border-radius: 50px;
  border: 1px solid #cccccc;
  background: #FFF;
  padding: 10px 25px;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  float: right;
  text-transform: Uppercase;
  cursor: pointer;
  margin-right: -1px; }
  .archive-toggle:hover, .archive-toggle.active {
    background: #103f51;
    color: #FFF; }
  .archive-toggle.active {
    border-radius: 23px 23px 0 0;
    border-bottom: 1px solid #103f51; }
  .archive-toggle i {
    color: #ed1c24;
    margin-left: 8px; }
  @media screen and (max-width: 767px) {
    .archive-toggle {
      float: none; } }

.archive-block {
  display: none;
  position: absolute;
  right: 15px;
  top: 45px;
  border: 10px solid #103f51;
  z-index: 998; }
  .archive-block .title, .archive-block .month-name, .archive-block .postcount {
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }
  .archive-block.active {
    display: block; }
  @media screen and (max-width: 767px) {
    .archive-block {
      width: 100%;
      right: 0; } }

.nav-links .nav-previous, .nav-links .nav-next {
  border-radius: 50px;
  background: #103f51;
  display: inline-block; }
  .nav-links .nav-previous a, .nav-links .nav-next a {
    display: block;
    padding: 12px 20px;
    color: #FFF;
    text-transform: uppercase;
    font-family: "futura-pt", Trebuchet MS, Arial, sans-serif; }

.row--single-header {
  background: #000;
  margin: 0px;
  height: 350px;
  padding-top: 210px;
  position: relative; }
  .row--single-header-testimonial {
    padding: 40px 0;
    margin-bottom: 30px;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
    height: auto;
    background: url("images/stack-white.png") no-repeat 100% 50% #103f51; }
    .row--single-header-testimonial hr {
      margin: 30px auto 30px 0;
      border-bottom: 4px solid #ed1c24; }
    .row--single-header-testimonial p {
      font-size: 22px;
      font-style: italic;
      color: #FFF; }
    .row--single-header-testimonial--content {
      color: #FFF;
      font-size: 22px; }
      .row--single-header-testimonial--content:before {
        font-family: FontAwesome;
        content: "\f10d";
        font-size: 32px;
        float: left;
        margin-right: 15px; }
      .row--single-header-testimonial--content:after {
        font-family: FontAwesome;
        content: "\f10e";
        font-size: 32px;
        float: right;
        margin-left: 15px; }
    .row--single-header-testimonial--company-rep {
      color: #FFF;
      font-size: 28px;
      margin: 0px;
      text-transform: uppercase;
      font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
      font-weight: 700; }
    .row--single-header-testimonial--title-company {
      margin: 0px;
      color: #FFF;
      font-size: 16px;
      text-transform: uppercase;
      font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
      font-weight: 700; }
  .row--single-header p {
    color: #FFF; }
    .row--single-header p i {
      color: #ed1c24; }

.single-post__author {
  text-align: right; }
  .single-post__author img {
    border: 2px solid #FFF;
    border-radius: 100px; }
.single-post__date {
  font-weight: 700;
  color: #ed1c24; }
.single-post__image {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  opacity: .5;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat; }
.single-post__content {
  padding: 30px 13.75%;
  background: #FFF;
  margin: 30px 0;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25); }
  .single-post__content.case-study .single-post__content-image {
    width: 33%;
    margin: auto;
    display: block; }
  @media screen and (max-width: 767px) {
    .single-post__content {
      padding: 15px; }
      .single-post__content.case-study .single-post__content-image {
        width: 50%; } }
  .single-post__content p {
    margin-bottom: 25px; }
    .single-post__content p strong {
      color: #103f51;
      font-size: 20px;
      line-height: 30px;
      font-weight: bold; }
  .single-post__content ul {
    padding-left: 18px; }
  .single-post__content hr {
    border-bottom: 1px solid #cccccc;
    width: 100%; }
  .single-post__content blockquote {
    background: #e2e2e2;
    border-left: 4px solid #103f51;
    padding: 30px 40px;
    margin: 0px;
    color: #103f51; }
    .single-post__content blockquote p {
      font-style: italic;
      font-size: 18px;
      line-height: 27px;
      margin: 0px;
      margin-bottom: 20px; }
      .single-post__content blockquote p:last-child {
        margin-bottom: 0px; }

.related-header {
  text-transform: uppercase;
  font-weight: 700;
  font-family: "futura-pt", Trebuchet MS, Arial, sans-serif;
  font-size: 24px;
  text-align: right;
  margin-top: 40px; }

.relatedthumb {
  background: #FFF;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
  margin-bottom: 30px; }
  .relatedthumb__content {
    padding: 12px 20px; }
    .relatedthumb__content hr {
      margin: 30px auto 30px 0; }
    .relatedthumb__content a {
      color: #ed1c24; }

.fa-quote-left, .fa-quote-right {
  display: inline; }

.fa-quote-left {
  margin-right: 5px; }

.fa-quote-right {
  margin-left: 5px; }



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