/* reset css for browsers */
* {
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box; }

ol, ul, li {
  padding: 0;
  margin: 0;
  list-style: none; }

h1, h2, h3, h4, h5, h6, p, ol, ul, li,
fieldset, form, label,
table, tbody, tr, th, td,
figure, footer, header,
menu, nav, section,
audio, video, button {
  margin: 0;
  padding: 0;
  border: 0; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  text-decoration: none; }

img {
  vertical-align: top;
  max-width: 100%; }

.img82 {
  vertical-align: top;
  max-width: 50%; }

.img70 {
  vertical-align: top;
  max-width: 70%; }
.nomargin{
  margin: 0 auto;
}


body {
  background: #323543;
  line-height: 1;
  color: #d4d4d7; }

button:focus {
  outline: none; }

/* declare css for variable */
.green-text {
  color: #23a087 !important; }
.aqua-text {
  color: #21a7b7 !important; }
.blue-text {
  color: #1fade5 !important; }

p {
  color: #d4d4d7; }

.no-border {
  border: 0 !important; }

hr {
  border: 0;
  border-top: 1px solid #cecece; }

.white-bg {
  background: #323543; }

.grey-bg {
  background: #e8e8e8; }

.postid-83874 .padding50.grey-bg {
  background: none; }

.black-bg {
  background: black; }

.beige-bg {
  background: #e9e7e4; }

.white-text .text-change {
  color: white; }

.white-text p.text-change {
  font-weight: 300; }

body {
  font-family: "roboto", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1 {
  font-size: 50px;
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase; }

h2 {
  font-size: 32px;
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase;
  line-height: 38px; }

h3 {
  font-size: 28px;
  line-height: 32px;
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase; }

h4 {
  font-size: 26px;
  line-height: 30px;
  font-family: "Roboto Condensed", sans-serif; }

h5 {
  font-size: 22px;
  line-height: 24px;
  font-family: "roboto", sans-serif; }

h6 {
  font-size: 16px;
  line-height: 22px;
  font-family: "roboto", sans-serif; }

p {
  font-size: 18px;
  font-family: "roboto", sans-serif;
  font-style: normal;
  line-height: 22px; }

.body-content h1 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 50px;
  line-height: 70px;
  text-transform: uppercase;
  margin: 15px 0; }
.body-content h2 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 34px;
  line-height: 37.9px;
  text-transform: uppercase;
  margin: 15px 0; }
.body-content h3 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 32px;
  line-height: 32px;
  text-transform: uppercase;
  margin: 15px 0; }
.body-content h4 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 28px;
  line-height: 32px;
  text-transform: uppercase;
  margin: 15px 0; }
.body-content h5 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 22px;
  line-height: 24px;
  text-transform: uppercase;
  margin: 15px 0; }
.body-content h6 {
  font-family: arial;
  font-size: 12px;
  color: #d20015;
  text-transform: uppercase;
  margin: 15px 0; }
.body-content a {
  color: #1fa4d4;
  text-decoration: none; }
  .body-content a.button-default, .body-content a.button-white, .body-content a.button-green, .body-content a.button-orange {
    color: white; }
    .body-content a.button-default:hover, .body-content a.button-white:hover, .body-content a.button-green:hover, .body-content a.button-orange:hover {
      color: #3b8740; }
  .body-content a.button-white {
    color: #3fae2a; }
    .body-content a.button-white:hover {
      color: white; }
  .body-content a.button-green {
    color: white; }
    .body-content a.button-green:hover {
      color: white; }
  .body-content a.button-orange {
    color: white; }
    .body-content a.button-orange:hover {
      color: white; }
.body-content p {
  font-family: "roboto", sans-serif;
  font-size: 18px;
  line-height: 28px;
  font-style: normal;
  margin-bottom: 23px; }
  .body-content p.subhead {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 40px;
    line-height: normal;
    font-weight: 300;
    margin-bottom: 23px; }
  .body-content p.subhead-light {
    font-family: "roboto", sans-serif;
    font-size: 24px;
    line-height: normal;
    font-weight: 100;
    margin-bottom: 23px; }
  .body-content p.intro {
    font-family: "roboto", sans-serif;
    font-size: 22px;
    line-height: 38px;
    margin-bottom: 23px; }
  .body-content p.caption {
    font-family: "roboto", sans-serif;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 23px; }
.body-content ul li {
  padding: 0 0 0 25px;
  position: relative;
  font-size: 18px;
  line-height: 22px;
  margin-bottom: 30px;
  position: relative; }
  .body-content ul li:before {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    top: 8px;
    left: 0;
    background-color: #3fae2a;
    border-radius: 50%; }
.body-content ul.list-large {
  margin-top: 24px; }
  .body-content ul.list-large li {
    font-family: "roboto", sans-serif;
    font-size: 24px;
    line-height: 28px;
    font-weight: 100;
    padding: 0 0 0 44px;
    margin: 0 0 30px 0; }
    .body-content ul.list-large li:before {
      width: 29px;
      height: 35px;
      top: -3px;
      left: -3px;
      background: url(../images/icon6.png);
      border-radius: 0; }
.body-content ul.list-small {
  margin-top: 24px; }
  .body-content ul.list-small li {
    font-family: "roboto", sans-serif;
    font-size: 16px;
    line-height: 22px;
    padding: 0 0 0 44px;
    margin: 0 0 20px 0; }
    .body-content ul.list-small li:before {
      width: 29px;
      height: 35px;
      top: -3px;
      left: -3px;
      background: url(../images/icon6.png);
      border-radius: 0; }
.body-content ol {
  padding: 0 0 0 35px;
  margin: 18px 0; }
  .body-content ol li {
    padding: 0 0 0 5px;
    position: relative;
    font-size: 18px;
    line-height: 22px;
    list-style-type: decimal; }
    .body-content ol li:last-of-type {
      padding: 0 0 0 5px; }
    .body-content ol li ol li {
      padding: 0 0 0 5px;
      list-style-type: lower-alpha; }
.body-content table {
  width: 100%; }
  .body-content table tr th {
    background-color: #1f212a;
    border-bottom: 1px solid #1f212a;
    font-size: 14px;
    font-weight: bold;
    margin-top: 35px;
    text-transform: uppercase;
    width: 25%;
    padding: 8px 18px 7px;
    text-align: left; }
    .body-content table tr th:nth-child(2) {
      /*background: #3db5e6;
      color: white;
      position: relative;
      padding: 0 18px 15px;*/ 
    }
      .body-content table tr th:nth-child(2):before {
        /*content: " ";
        position: absolute;
        background: #3db5e6;
        border-radius: 6px 6px 0 0;
        width: 100%;
        height: 22px;
        top: -22px;
        left: 0; */
      }
  .body-content table tr td:nth-child(1)  {
    border-left: 1px solid #1f212a;
  }
  .body-content table tr td {
    font-size: 16px;
    padding: 25px 18px 22px;
    border-bottom: 1px solid #1f212a;
    border-right: 1px solid #1f212a; }
    .body-content table tr td:first-of-type {
      font-weight: bold; }
    .body-content table tr td:nth-child(2) {
      /*background: #d8f0fa; */
    }
.body-content blockquote {
  margin: 0 0 18px 50px; }
.body-content .button-default, .body-content .button-white, .body-content .button-green, .body-content .button-orange {
  margin-top: 0; }

section {
  width: 100%;
  position: relative;
  padding: 92px 0;
  float: left; }

.wrapper {
  max-width: 1400px;
  padding: 0 40px;
  margin: 0 auto;
  width: 100%; }

.wrapper:after, header:after, .row-inner:after, .row-head:after, .row-data:after, .row-sub-head:after, .col-two:after, .col-three:after, .col-four:after, .col-five:after, .col-seven:after, .col-eight:after, .three-col-row:after, ul:after, .col-three-outer:after, .learning-path:after, .submenu:after,
.blue-boxes:after, .search-box:after, .top-search:after, .search-wrap:after, .nws-search:after, .nws-wrap:after, section:after {
  content: "";
  clear: both;
  display: block; }

/* new white text class */
.white-text {
  font-weight: bold;
  text-transform: uppercase;
  color: white;
  font-family: "Roboto Bold", sans-serif;
  font-size: 14px; }

.no-padding {
  padding: 0 !important; }

.no-padding-bottom {
  padding-bottom: 0 !important; }

.padding70 {
  padding: 70px 0; }

.padding50 {
  padding: 40px 0 50px; }

.padding40 {
  padding: 40px 0; }

.padding80 {
  padding-top: 80px;
  padding-bottom: 80px; }

.col-two {
  width: 50%;
  float: left;
  position: relative;
  height: 100%; }

.col-three {
  width: 33.33%;
  float: left;
  position: relative;
  height: 100%; }

.col-four {
  width: 25%;
  float: left;
  position: relative;
  height: 100%; }

.col-five {
  width: 20%;
  float: left;
  position: relative;
  height: 100%; }

.col-seven {
  width: 66.66%;
  float: left;
  position: relative;
  height: 100%; }

.col-eight {
  width: 75%;
  float: left;
  position: relative;
  height: 100%; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.content-870 {
  max-width: 870px;
  margin: 0 auto; }

.button-default, .button-white, .button-green, .button-orange {
  display: inline-block;
  border: 2px solid white;
  padding: 11px 16px 11px 21px;
  text-transform: uppercase;
  font-size: 14px;
  color: white;
  letter-spacing: 0.05em;
  background: transparent;
  margin-top: 25px;
  cursor: pointer;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .button-default:hover, .button-white:hover, .button-green:hover, .button-orange:hover {
    background: #323543;
    color: #21abe2; }

.button-white {
  background: transparent;
  border-color: #3fae2a;
  color: #3fae2a; }
  .button-white:hover {
    background: #3b8740;
    border-color: #3b8740;
    color: white; }

.button-green {
  background: #3fae2a;
  border-color: #3fae2a;
  color: white; }
  .button-green:hover {
    background: #3b8740;
    border-color: #3b8740;
    color: white; }

.button-orange {
  background: #e17000;
  border-color: #e17000;
  color: white; }
  .button-orange:hover {
    background: #cb4602;
    border-color: #cb4602;
    color: white; }

.v-middle-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;}

.v-middle-inner {
  display: table;
  position: relative;
  text-align: center;
  width: 100%;
  height: 100%; }

.v-middle {
  display: table-cell;
  vertical-align: middle; }

.v-bottom {
    vertical-align: bottom;
    line-height: 25;
    display: table-cell;
}

.blue-label {
  display: inline-block;
  background: #3bb7da;
  font-family: "Roboto Condensed", sans-serif;
  color: white;
  font-size: 15px;
  line-height: 22px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 3px 10px; }

.learn-more {
  display: inline-block;
  position: relative;
  font-size: 14px;
  color: #1fa4d4;
  text-transform: uppercase;
  font-weight: 700; }
  .learn-more:hover:before {
    opacity: 1;
    bottom: -5px; }
  .learn-more:after {
    content: "";
    background: url(../images/more_arrow.png) no-repeat;
    width: 6px;
    height: 10px;
    position: absolute;
    right: -12px;
    top: 2px; }
  .learn-more:before {
    content: "";
    opacity: 0;
    background: #1fa4d4;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0px;
    bottom: -15px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .learn-more.white {
    color: white; }
    .learn-more.white:after {
      background: url(../images/more-arrow-wht.png) no-repeat; }
    .learn-more.white:before {
      background: white; }

.bg-img {
  overflow: hidden; }
  .bg-img img {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }

.img-zoom {
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transform: scale(1.05); }

input {
  border: none; }

.link {
  color: #1fa4d4;
  text-decoration: none;
  position: relative; }
  .link:hover:before {
    opacity: 1;
    bottom: -3px; }
  .link:before {
    content: "";
    opacity: 0;
    background: #1fa4d4;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0px;
    bottom: -13px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }

/* media query variable */
.footer .footer-wht .sub-nav .lic-number ul li:last-of-type {
  border-right: none;
  padding-right: 0; }

.black-text {
  color: #404041;
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    .black-text {
      font-size: 14px; } }

a.phone h4 {
  color: #404041;
  line-height: 30px;
  padding: 0;
  font-weight: 400;
  display: inline-block;
  position: relative; }
  a.phone h4:hover {
    color: #1fa4d4; }

.no-padding-top {
  padding-top: 0; }

.list-overlay {
  width: 100%;
  height: 100%;
  z-index: 99;
  display: none;
  -webkit-transition: visibility 0s ease 0.3s, opacity 0.3s ease 0s;
  transition: visibility 0s ease 0.3s, opacity 0.3s ease 0s;
  position: fixed; }
  .list-overlay .close-video {
    display: none;
    position: absolute;
    top: 30px;
    right: 22px;
    background: #background: #323543; url(../images/close-icon.png);
    height: 36px;
    width: 36px;
    border-radius: 50%;
    text-indent: -9999px;
    background-position: 0 36px;
    cursor: pointer; }
  .list-overlay .overlay-elephant-logo {
    display: none; }

.service-list .selectboxit-container {
  display: inline-block; }
  @media screen and (max-width: 666px) {
    .service-list .selectboxit-container span {
      height: 56px; } }
  @media screen and (max-width: 666px) {
    .service-list .selectboxit-container .selectboxit-arrow {
      top: 23px; } }
.service-list .selectboxit-text {
  font-weight: 400;
  border-bottom: 1px dotted #3db5e6;
  font-family: "Roboto Condensed", sans-serif;
  color: #3db5e6;
  cursor: pointer;
  display: inline-block;
  line-height: inherit;
  position: relative;
  padding: 5px 27px 0 0;
  font-size: 40px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .service-list .selectboxit-text {
      font-size: 36px;
      padding: 3px 27px 0 0; } }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .service-list .selectboxit-text {
      font-size: 34px;
      padding: 2px 27px 0 0; } }
  @media screen and (max-width: 666px) and (min-width: 480px) {
    .service-list .selectboxit-text {
      font-size: 30px;
      padding: 10px 27px 0 0; } }
  @media screen and (max-width: 479px) {
    .service-list .selectboxit-text {
      font-size: 28px;
      padding: 7px 27px 0 0; } }
.service-list .selectboxit-container .selectboxit {
  border: none;
  margin-top: 8px; }
.service-list .selectboxit-default-arrow {
  background: url(../images/service-list.png) no-repeat;
  right: 4px;
  top: 29px; }
.service-list .selectboxit-list.selectboxit-options {
  background: #3db5e6;
  padding: 8px 0;
  height: auto !important;
  position: absolute;
  overflow-x: visible;
  overflow-y: visible;
  max-height: 300px !important;
  max-width: 600px !important;
  border: none;
  top: -73px !important;
  left: -100px !important;
  z-index: 1000;
  width: auto; }
  .service-list .selectboxit-list.selectboxit-options li.selectboxit-focus.selectboxit-option {
    background: none; }
  .service-list .selectboxit-list.selectboxit-options li.selectboxit-option-first.selectboxit-option {
    display: block;
    cursor: default;
    font-size: 16px !important;
    text-transform: uppercase;
    padding: 18px 30px 5px; }
    .service-list .selectboxit-list.selectboxit-options li.selectboxit-option-first.selectboxit-option .selectboxit-option-anchor {
      font-size: 16px;
      font-weight: 700;
      line-height: 20px; }
      .service-list .selectboxit-list.selectboxit-options li.selectboxit-option-first.selectboxit-option .selectboxit-option-anchor:after {
        content: "";
        border: none; }
  .service-list .selectboxit-list.selectboxit-options li.selectboxit-option:hover {
    background: #44697d; }
    .service-list .selectboxit-list.selectboxit-options li.selectboxit-option:hover:first-of-type {
      background: none; }
      .service-list .selectboxit-list.selectboxit-options li.selectboxit-option:hover:first-of-type a {
        cursor: default; }
  .service-list .selectboxit-list.selectboxit-options li.selectboxit-option:nth-child(2) .selectboxit-option-anchor:after {
    content: "";
    border: none; }
  .service-list .selectboxit-list.selectboxit-options li.selectboxit-option .selectboxit-option-anchor {
    cursor: default;
    font-size: 26px;
    line-height: 46px;
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 300;
    padding: 18px 30px 5px;
    color: white;
    white-space: nowrap;
    position: relative;
    cursor: pointer;
    padding: 6px 30px 9px; }
    .service-list .selectboxit-list.selectboxit-options li.selectboxit-option .selectboxit-option-anchor:after {
      content: " ";
      position: absolute;
      top: 0;
      left: 30px;
      right: 30px;
      border-top: 1px solid #44697d; }

.social-media .social-bg-img {
  position: relative;
  background-size: cover;
  z-index: 0; }
  .social-media .social-bg-img img {
    max-width: initial; }
.social-media .social-bg-img img {
  opacity: 0; }
.social-media .social-bg-img:before {
  content: " ";
  display: block;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1; }
.social-media .tweeter-tweet {
  width: 100%;
  border: 1px solid #c7c7c7;
  padding: 19px 20px 24px 20px;
  float: left;
  margin-top: 51px;
  margin-bottom: 10px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .social-media .tweeter-tweet {
      margin-top: 40px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .social-media .tweeter-tweet {
      margin-top: 25px; } }
  @media screen and (max-width: 479px) {
    .social-media .tweeter-tweet {
      margin-top: 15px; } }
  .social-media .tweeter-tweet .tweet-img {
    display: block;
    float: left; }
    .social-media .tweeter-tweet .tweet-img img {
      display: block; }
  .social-media .tweeter-tweet .tweet-text {
    display: block;
    float: left;
    padding: 0 0 0 20px;
    text-align: left;
    width: 95%; }
    @media screen and (max-width: 1023px) and (min-width: 480px) {
      .social-media .tweeter-tweet .tweet-text {
        width: 90%;
        padding: 0 0 0 10px; } }
    @media screen and (max-width: 479px) {
      .social-media .tweeter-tweet .tweet-text {
        padding: 0; } }
    .social-media .tweeter-tweet .tweet-text .sky-blue {
      font-weight: 700;
      font-family: "Roboto Condensed", sans-serif;
      font-size: 20px;
      line-height: 24px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .social-media .tweeter-tweet .tweet-text .sky-blue {
          font-size: 18px;
          line-height: 22px; } }
      @media screen and (max-width: 767px) and (min-width: 480px) {
        .social-media .tweeter-tweet .tweet-text .sky-blue {
          font-size: 16px;
          line-height: 20px; } }
      @media screen and (max-width: 479px) {
        .social-media .tweeter-tweet .tweet-text .sky-blue {
          font-size: 14px;
          line-height: 18px; } }
      .social-media .tweeter-tweet .tweet-text .sky-blue a {
        color: #3bb7da;
        border-bottom: 1px solid #3bb7da; }
.social-media .social-posts {
  float: left;
  border-top: 1px solid #c7c7c7;
  border-right: 1px solid #c7c7c7; }
  .social-media .social-posts .fb-box {
    background-color: #385591; }
  .social-media .social-posts .in-box {
    background-color: #0074b0; }
  .social-media .social-posts .fb-box,
  .social-media .social-posts .in-box {
    height: 333px;
    padding: 21px 26px 29px;
    border-left: 1px solid #c7c7c7;
    border-bottom: 1px solid #c7c7c7; }
  .social-media .social-posts .fb-box .text-container,
  .social-media .social-posts .in-box .text-container,
  .social-media .social-posts .post-text .text-container {
    padding-top: 23px; }
    .social-media .social-posts .fb-box .text-container p,
    .social-media .social-posts .in-box .text-container p,
    .social-media .social-posts .post-text .text-container p {
      color: white;
      font-weight: 700;
      line-height: 23px; }
    .social-media .social-posts .fb-box .text-container h5,
    .social-media .social-posts .in-box .text-container h5,
    .social-media .social-posts .post-text .text-container h5 {
      color: white;
      line-height: 25px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .social-media .social-posts .fb-box .text-container h5,
        .social-media .social-posts .in-box .text-container h5,
        .social-media .social-posts .post-text .text-container h5 {
          line-height: 20px; } }
      @media screen and (max-width: 767px) and (min-width: 667px) {
        .social-media .social-posts .fb-box .text-container h5,
        .social-media .social-posts .in-box .text-container h5,
        .social-media .social-posts .post-text .text-container h5 {
          line-height: 18px; } }
      @media screen and (max-width: 666px) {
        .social-media .social-posts .fb-box .text-container h5,
        .social-media .social-posts .in-box .text-container h5,
        .social-media .social-posts .post-text .text-container h5 {
          line-height: 18px; } }
    .social-media .social-posts .fb-box .text-container .post-date,
    .social-media .social-posts .in-box .text-container .post-date,
    .social-media .social-posts .post-text .text-container .post-date {
      font-size: 14px;
      line-height: 23px;
      margin-bottom: 22px; }
    .social-media .social-posts .fb-box .text-container .underline,
    .social-media .social-posts .in-box .text-container .underline,
    .social-media .social-posts .post-text .text-container .underline {
      font-family: "Roboto Condensed", sans-serif; }
      .social-media .social-posts .fb-box .text-container .underline a,
      .social-media .social-posts .in-box .text-container .underline a,
      .social-media .social-posts .post-text .text-container .underline a {
        border-bottom: 1px solid white; }
  .social-media .social-posts .fb-box .learn-more,
  .social-media .social-posts .in-box .learn-more,
  .social-media .social-posts .post-text .learn-more {
    position: absolute;
    bottom: 29px; }
  @media screen and (max-width: 666px) {
    .social-media .social-posts .fb-box .learn-more.video-link,
    .social-media .social-posts .in-box .learn-more.video-link,
    .social-media .social-posts .post-text .learn-more.video-link {
      bottom: -11px; } }
  .social-media .social-posts a {
    color: white; }
  .social-media .social-posts .learn-more:before {
    background: white; }
  .social-media .social-posts .learn-more:after {
    background: url(../images/more-arrow-wht.png) no-repeat; }
  .social-media .social-posts .youtube-box {
    height: 333px;
    border-left: 1px solid #c7c7c7;
    border-bottom: 1px solid #c7c7c7;
    background-color: #cd201f;
    background-image: -webkit-linear-gradient(to right, #cd201f, #ae1b1a);
    background-image: -moz-linear-gradient(to right, #cd201f, #ae1b1a);
    background-image: -ms-linear-gradient(to right, #cd201f, #ae1b1a);
    background-image: -o-linear-gradient(to right, #cd201f, #ae1b1a);
    background-image: linear-gradient(to right, #cd201f, #ae1b1a); }
    @media screen and (max-width: 666px) {
      .social-media .social-posts .youtube-box {
        height: auto;
        padding-bottom: 30px; } }
    .social-media .social-posts .youtube-box .col-two {
      padding: 19px; }
      @media screen and (max-width: 479px) {
        .social-media .social-posts .youtube-box .col-two {
          padding: 10px; } }
    .social-media .social-posts .youtube-box .post-text {
      padding-left: 29px; }
      @media screen and (max-width: 479px) {
        .social-media .social-posts .youtube-box .post-text {
          padding-left: 15px; } }

/*Footer style */
.footer .footer-nav {
  position: fixed;
  /*padding: 7px 0px */
  text-transform: uppercase;
  color: #55585b;
  width: 100%;
  bottom: 0;
  z-index: 9;
  font-family: "Roboto Condensed", sans-serif; }
  @media screen and (max-width: 666px) {
    .footer .footer-nav .col-two:last-of-type {
      border-top: 1px solid #b4b3af;
      padding-top: 5px; }
    .footer .footer-nav .col-two:first-of-type {
      padding-bottom: 5px; } }
  .footer .footer-nav p {
    float: left;
    font-size: 16px;
    line-height: normal;
    padding-top: 1px;
    font-family: "Roboto Condensed", sans-serif;
    color: #55585b;
    letter-spacing: 0.049em; }
    @media screen and (max-width: 767px) {
      .footer .footer-nav p {
        font-size: 14px; } }
  .footer .footer-nav .footer-menu {
    float: left;
    cursor: pointer;
    padding: 5px 20px;
    margin-left: -20px; }
    .footer .footer-nav .footer-menu:after {
      display: block;
      content: "";
      clear: both; }
    .footer .footer-nav .footer-menu .hamburger {
      float: left;
      margin-top: 6px;
      margin-right: 10px; }
      .footer .footer-nav .footer-menu .hamburger span {
        display: block;
        background-color: #55585b;
        height: 2px;
        width: 15px;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease; }
      .footer .footer-nav .footer-menu .hamburger .middle {
        margin-top: 3px;
        margin-bottom: 3px; }
  .footer .footer-nav .share {
    float: right;
    margin: 5px 0px;
    border-right: 1px solid #b4b3af; }
    @media screen and (max-width: 666px) {
      .footer .footer-nav .share {
        border: 0; } }
    .footer .footer-nav .share ul {
      padding-left: 0px;
      list-style: none;
      float: left;
      padding: 3px 0 1px 0;
      margin: 0 19px 0 0; }
      @media screen and (max-width: 666px) {
        .footer .footer-nav .share ul {
          margin: 0; } }
      .footer .footer-nav .share ul li {
        float: left;
        margin-left: 25px;
        padding: 2px 0 0 0;
        line-height: inherit;
        list-style-image: none;
        font-size: inherit; }
  .footer .footer-nav .newsletter {
    float: left;
    padding: 5px 20px;
    cursor: pointer; }
    .footer .footer-nav .newsletter .nws-white {
      display: none; }
    .footer .footer-nav .newsletter.open .nws-white {
      display: block; }
    .footer .footer-nav .newsletter.open .nws-dark {
      display: none; }
    @media screen and (max-width: 666px) {
      .footer .footer-nav .newsletter {
        border: 0;
        padding-left: 0px;
        padding-right: 10px; } }
    .footer .footer-nav .newsletter a {
      display: block;
      margin-top: 5px;
      margin-left: 19px;
      float: left; }
      @media screen and (max-width: 666px) {
        .footer .footer-nav .newsletter a {
          margin-left: 10px; } }
  .footer .footer-nav .questions {
    float: right;
    padding: 5px 0px; }
    .footer .footer-nav .questions a {
      display: block;
      float: left; }
.footer .footer-wht {
  width: 100%; }
  .footer .footer-wht .sub-nav {
    width: 100%;
    padding: 44px 0 40px;
    border-bottom: 1px solid #dcdcd9; }
    @media screen and (min-width: 768px) and (max-width: 1023px) {
      .footer .footer-wht .sub-nav {
        padding: 30px 0px; } }
    .footer .footer-wht .sub-nav:after {
      display: block;
      content: "";
      clear: both; }
    .footer .footer-wht .sub-nav .nav-menus {
      float: left; }
      .footer .footer-wht .sub-nav .nav-menus li {
        padding: 4px 0 0 60px;
        padding: 4px 0 0 55px \0; }
        @media screen and (min-width: 1024px) and (max-width: 1279px) {
          .footer .footer-wht .sub-nav .nav-menus li {
            padding: 4px 0 0 30px;
            padding: 4px 0 0 20px \0; } }
        @media screen and (min-width: 768px) and (max-width: 1023px) {
          .footer .footer-wht .sub-nav .nav-menus li {
            padding: 4px 0 0 30px; } }
        .footer .footer-wht .sub-nav .nav-menus li:first-child {
          padding-left: 0; }
        .footer .footer-wht .sub-nav .nav-menus li a {
          text-decoration: none;
          color: #1fa4d4;
          font-size: 18px;
          font-family: "Roboto Condensed", sans-serif;
          font-weight: normal;
          text-transform: capitalize; }
          @media screen and (min-width: 768px) and (max-width: 1023px) {
            .footer .footer-wht .sub-nav .nav-menus li a {
              font-size: 16px; } }
          .footer .footer-wht .sub-nav .nav-menus li a:after {
            background: none;
            width: 0px;
            height: 0px; }
    .footer .footer-wht .sub-nav .lic-number {
      float: right; }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .footer .footer-wht .sub-nav .lic-number {
          float: left;
          margin-top: 20px;
          width: 100%; } }
      .footer .footer-wht .sub-nav .lic-number ul {
        position: relative;
        margin-top: 4px; }
        @media screen and (min-width: 768px) and (max-width: 1023px) {
          .footer .footer-wht .sub-nav .lic-number ul {
            padding-left: 0px; } }
        .footer .footer-wht .sub-nav .lic-number ul:before {
          display: none;
          content: "";
          background-image: url("../images/logo-sml.png");
          background-size: cover;
          background-repeat: no-repeat;
          width: 45px;
          height: 31px;
          position: absolute;
          top: -4px;
          left: -63px; }
          @media screen and (min-width: 768px) and (max-width: 1023px) {
            .footer .footer-wht .sub-nav .lic-number ul:before {
              left: 0; } }
        .footer .footer-wht .sub-nav .lic-number ul li {
          padding: 2px 0 0 9px; }
          .footer .footer-wht .sub-nav .lic-number ul li:first-child {
            border-right: 1px solid #dad9d6;
            padding-right: 14px; }
            @media screen and (min-width: 768px) and (max-width: 1023px) {
              .footer .footer-wht .sub-nav .lic-number ul li:first-child {
                padding-left: 0; } }
            @media screen and (max-width: 767px) {
              .footer .footer-wht .sub-nav .lic-number ul li:first-child {
                padding-left: 0; } }
          .footer .footer-wht .sub-nav .lic-number ul li p {
            font-size: 16px;
            font-weight: 300;
            color: #181818; }
  .footer .footer-wht ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .footer .footer-wht ul li {
      float: left;
      line-height: inherit;
      list-style-image: none; }
  .footer .footer-wht .trademarks {
    padding: 59px 0; }
    @media screen and (min-width: 768px) and (max-width: 1023px) {
      .footer .footer-wht .trademarks {
        padding: 25px 0; } }
    .footer .footer-wht .trademarks:after {
      display: block;
      content: "";
      clear: both; }
    .footer .footer-wht .trademarks .content-part {
      float: left;
      width: 61%;
      max-width: 802px;
      padding-right: 20px; }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .footer .footer-wht .trademarks .content-part {
          width: 100%;
          max-width: 100%;
          padding-right: 0; } }
      .footer .footer-wht .trademarks .content-part p {
        font-size: 16px;
        line-height: 21px;
        color: #3e3e3e;
        padding-top: 8px; }
        .footer .footer-wht .trademarks .content-part p a {
          color: #1fa4d4;
          text-decoration: none; }
    .footer .footer-wht .trademarks .media-part {
      width: calc(100% - 61%);
      float: right; }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .footer .footer-wht .trademarks .media-part {
          width: auto;
          float: left;
          margin-top: 20px; } }
      .footer .footer-wht .trademarks .media-part > ul {
        float: right; }
        .footer .footer-wht .trademarks .media-part > ul > li {
          position: relative;
          width: 48px;
          height: 48px;
          margin-left: 6px;
          text-align: center;
          cursor: pointer;
          padding: 0; }
          .footer .footer-wht .trademarks .media-part > ul > li:hover {
            background-color: #cccccc; }
          .footer .footer-wht .trademarks .media-part > ul > li a {
            display: block;
            line-height: 48px; }
            .footer .footer-wht .trademarks .media-part > ul > li a img {
              vertical-align: middle; }
        .footer .footer-wht .trademarks .media-part > ul .select-list {
          width: 160px;
          height: 48px; }
          .footer .footer-wht .trademarks .media-part > ul .select-list .selected:after {
            background-image: url("../images/up-arrow-dark.png");
            width: 16px;
            height: 10px;
            top: 19px; }
          .footer .footer-wht .trademarks .media-part > ul .select-list .options {
            top: auto;
            bottom: 48px;
            width: 100%; }
          .footer .footer-wht .trademarks .media-part > ul .select-list p {
            font-size: 16px;
            font-weight: 300;
            color: #2b2b2b; }
.footer .footer-dark {
  background-color: #272729;
  width: 100%;
  padding: 15px 0; }
  .footer .footer-dark:after {
    display: block;
    content: "";
    clear: both; }
  .footer .footer-dark .copyright {
    float: left; }
    .footer .footer-dark .copyright p {
      display: inline-block;
      font-size: 14px;
      line-height: 18px;
      color: white;
      padding-left: 40px; }
      @media screen and (max-width: 1399px) {
        .footer .footer-dark .copyright p {
          padding-left: 20px; } }
  .footer .footer-dark .policy-terms {
    float: right;
    padding-right: 19px; }
    .footer .footer-dark .policy-terms ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .footer .footer-dark .policy-terms ul li {
        float: left;
        padding: 0 0 2px 15px;
        list-style-image: none;
        line-height: inherit; }
        .footer .footer-dark .policy-terms ul li:first-child {
          padding-right: 15px;
          border-right: 1px solid #7c7c7c; }
        .footer .footer-dark .policy-terms ul li a {
          color: #1fa4d4;
          text-decoration: none;
          font-size: 14px; }

/*Select list */
select {
  display: none; }

.select-list {
  display: block;
  position: relative;
  padding: 0 18px !important;
  width: 177px;
  height: 42px; }
  .select-list:hover {
    background: #d8d8d8; }
  .select-list .selected {
    position: relative;
    height: 100%;
    margin-right: 16px;
    cursor: pointer; }
    .select-list .selected:after {
      content: "";
      position: absolute;
      background-image: url("../images/down-arrow.png");
      background-size: cover;
      background-repeat: no-repeat;
      width: 11px;
      height: 9px;
      top: 18px;
      right: -16px; }
  .select-list p,
  .select-list a {
    color: #404041;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase; }
  .select-list .options {
    display: none;
    position: absolute;
    list-style: none;
    padding: 0;
    width: 177px;
    top: 42px;
    left: 0;
    z-index: 1; }
    .select-list .options li {
      width: 100%;
      padding: 10px 18px;
      cursor: pointer; }
      .select-list .options li:hover {
        background-color: #cccccc; }
      .select-list .options li:first-of-type {
        display: none; }
      .select-list .options li p {
        margin-right: 16px;
        color: #404041;
        font-weight: 700;
        font-size: 14px; }

/*Blue boxes */
.blue-boxes {
  width: 100%;
  border: 1px solid #c7c7c7; }
  .blue-boxes .col-two,
  .blue-boxes .col-three {
    background-color: #42809d;
    background-image: -webkit-linear-gradient(to right, #42809d, #3f9ec7);
    background-image: -moz-linear-gradient(to right, #42809d, #3f9ec7);
    background-image: -ms-linear-gradient(to right, #42809d, #3f9ec7);
    background-image: -o-linear-gradient(to right, #42809d, #3f9ec7);
    background-image: linear-gradient(to right, #42809d, #3f9ec7);
    padding: 0;
    height: 193px;
    border-left: 1px solid white; }
    .blue-boxes .col-two:first-child,
    .blue-boxes .col-three:first-child {
      border-left: none;
      border-top: none; }
    @media screen and (min-width: 768px) and (max-width: 1023px) {
      .blue-boxes .col-two,
      .blue-boxes .col-three {
        height: 230px; } }
    @media screen and (max-width: 767px) {
      .blue-boxes .col-two,
      .blue-boxes .col-three {
        width: 100%;
        padding: 20px;
        height: 170px;
        border-left: none;
        border-top: 1px solid white; } }
    @media screen and (max-width: 480px) {
      .blue-boxes .col-two,
      .blue-boxes .col-three {
        height: 200px; } }
    .blue-boxes .col-two .inner-content,
    .blue-boxes .col-three .inner-content {
      position: absolute;
      border-left: 2px solid #3db5e6;
      padding: 0 20px;
      bottom: 25px;
      left: 20px; }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .blue-boxes .col-two .inner-content,
        .blue-boxes .col-three .inner-content {
          bottom: 15px;
          padding: 0 15px; } }
      @media screen and (max-width: 767px) {
        .blue-boxes .col-two .inner-content,
        .blue-boxes .col-three .inner-content {
          padding: 0 15px;
          bottom: 15px; } }
      .blue-boxes .col-two .inner-content h5,
      .blue-boxes .col-three .inner-content h5 {
        margin-bottom: 15px;
        font-family: "Roboto Condensed", sans-serif; }
        @media screen and (min-width: 1024px) and (max-width: 1279px) {
          .blue-boxes .col-two .inner-content h5,
          .blue-boxes .col-three .inner-content h5 {
            margin-bottom: 10px; } }
        @media screen and (min-width: 768px) and (max-width: 1023px) {
          .blue-boxes .col-two .inner-content h5,
          .blue-boxes .col-three .inner-content h5 {
            margin-bottom: 10px; } }
        @media screen and (max-width: 767px) {
          .blue-boxes .col-two .inner-content h5,
          .blue-boxes .col-three .inner-content h5 {
            margin-bottom: 10px; } }
      .blue-boxes .col-two .inner-content p,
      .blue-boxes .col-three .inner-content p {
        font-size: 16px;
        margin-bottom: 20px; }
        @media screen and (min-width: 1024px) and (max-width: 1279px) {
          .blue-boxes .col-two .inner-content p,
          .blue-boxes .col-three .inner-content p {
            margin-bottom: 10px; } }
        @media screen and (min-width: 768px) and (max-width: 1023px) {
          .blue-boxes .col-two .inner-content p,
          .blue-boxes .col-three .inner-content p {
            font-size: 15px;
            margin-bottom: 5px; } }
        @media screen and (max-width: 767px) {
          .blue-boxes .col-two .inner-content p,
          .blue-boxes .col-three .inner-content p {
            font-size: 14px;
            margin-bottom: 5px; } }
    .blue-boxes .col-two .learn-more,
    .blue-boxes .col-three .learn-more {
      color: white;
      font-size: 16px; }
      @media screen and (min-width: 768px) and (max-width: 1023px) {
        .blue-boxes .col-two .learn-more,
        .blue-boxes .col-three .learn-more {
          font-size: 14px; } }
      @media screen and (max-width: 767px) {
        .blue-boxes .col-two .learn-more,
        .blue-boxes .col-three .learn-more {
          font-size: 14px; } }
      @media screen and (max-width: 480px) {
        .blue-boxes .col-two .learn-more,
        .blue-boxes .col-three .learn-more {
          font-size: 12px; } }
      .blue-boxes .col-two .learn-more:before,
      .blue-boxes .col-three .learn-more:before {
        background: white; }
      .blue-boxes .col-two .learn-more:after,
      .blue-boxes .col-three .learn-more:after {
        background: url(../images/more-arrow-wht.png) no-repeat; }
    @media screen and (max-width: 767px) {
      .blue-boxes .col-two .links,
      .blue-boxes .col-three .links {
        position: relative;
        margin-top: 0; } }
    .blue-boxes .col-two .links ul,
    .blue-boxes .col-three .links ul {
      list-style: none; }
      .blue-boxes .col-two .links ul li,
      .blue-boxes .col-three .links ul li {
        float: left;
        margin-right: 41px; }
        @media screen and (min-width: 768px) and (max-width: 1023px) {
          .blue-boxes .col-two .links ul li,
          .blue-boxes .col-three .links ul li {
            margin-right: 30px; } }
        @media screen and (min-width: 480px) and (max-width: 767px) {
          .blue-boxes .col-two .links ul li,
          .blue-boxes .col-three .links ul li {
            margin-right: 22px; } }
        @media screen and (max-width: 480px) {
          .blue-boxes .col-two .links ul li,
          .blue-boxes .col-three .links ul li {
            margin-right: 17px; } }
        .blue-boxes .col-two .links ul li img,
        .blue-boxes .col-three .links ul li img {
          width: auto;
          height: 19px; }
    .blue-boxes .col-two .button-default, .blue-boxes .col-two .button-white, .blue-boxes .col-two .button-green, .blue-boxes .col-two .button-orange,
    .blue-boxes .col-three .button-default,
    .blue-boxes .col-three .button-white,
    .blue-boxes .col-three .button-green,
    .blue-boxes .col-three .button-orange {
      margin-top: 0; }
  .blue-boxes h5,
  .blue-boxes p {
    color: white; }
  .blue-boxes .col-three .learn-more {
    margin-left: 0px; }
  .blue-boxes .links-padding {
    margin-right: 19px; }

/* Partner carousel with blue boxes */
.content-carousel {
  width: 100%; }
  .content-carousel:after {
    display: block;
    content: "";
    clear: both; }
  .content-carousel h5,
  .content-carousel h2,
  .content-carousel h6,
  .content-carousel p,
  .content-carousel a {
    color: white; }
  .content-carousel .learn-more:before {
    background: white; }
  .content-carousel .learn-more:after {
    background: url(../images/more-arrow-wht.png) no-repeat; }
  .content-carousel .we-slider {
    position: relative;
    width: 50%;
    float: left;
    overflow: hidden;
    padding-bottom: 52px; }
    @media screen and (max-width: 767px) {
      .content-carousel .we-slider {
        padding-bottom: 0; } }
    .content-carousel .we-slider .slider-nav {
      bottom: 20px; }
      .content-carousel .we-slider .slider-nav .active {
        background: #dad9d6; }
      .content-carousel .we-slider .slider-nav .we-btn .prev,
      .content-carousel .we-slider .slider-nav .we-btn .next {
        background: #dad9d6;
        border: 1px solid #dad9d6; }
        .content-carousel .we-slider .slider-nav .we-btn .prev:hover,
        .content-carousel .we-slider .slider-nav .we-btn .next:hover {
          background: white; }
      .content-carousel .we-slider .slider-nav span {
        border: 1px solid #dad9d6; }
    .content-carousel .we-slider .slider {
      float: left; }
      .content-carousel .we-slider .slider .item {
        position: relative;
        height: 384px;
        float: left; }
        @media screen and (max-width: 767px) {
          .content-carousel .we-slider .slider .item {
            margin-bottom: 50px; } }
        .content-carousel .we-slider .slider .item .slide-bg {
          width: 100%;
          height: 100%;
          position: relative; }
          .content-carousel .we-slider .slider .item .slide-bg img {
            width: 100%;
            height: auto; }
        .content-carousel .we-slider .slider .item .caption {
          position: absolute;
          top: 0;
          left: 0;
          background-color: #3bb7da;
          float: left;
          left: 20px;
          padding: 4px 15px; }
          .content-carousel .we-slider .slider .item .caption h6 {
            font-size: 14px;
            line-height: 22px;
            text-transform: uppercase; }
        .content-carousel .we-slider .slider .item .slide-content {
          position: absolute;
          bottom: -20%;
          left: 20px;
          width: auto;
          height: auto;
          border-left: 2px solid #3db5e6;
          padding: 0 40px 0 20px;
          -moz-transform: translateY(-100px);
          -o-transform: translateY(-100px);
          -ms-transform: translateY(-100px);
          -webkit-transform: translateY(-100px);
          transform: translateY(-100px); }
          .content-carousel .we-slider .slider .item .slide-content .text-container {
            float: left; }
            .content-carousel .we-slider .slider .item .slide-content .text-container h5 {
              line-height: normal;
              padding: 15px 0 10px 0;
              font-family: "Roboto Condensed", sans-serif; }
            .content-carousel .we-slider .slider .item .slide-content .text-container p {
              font-size: 16px; }
          .content-carousel .we-slider .slider .item .slide-content .links {
            float: left;
            margin-top: 20px; }
            .content-carousel .we-slider .slider .item .slide-content .links .learn-more {
              font-size: 16px; }
              @media screen and (min-width: 768px) and (max-width: 1023px) {
                .content-carousel .we-slider .slider .item .slide-content .links .learn-more {
                  font-size: 14px; } }
              @media screen and (max-width: 767px) {
                .content-carousel .we-slider .slider .item .slide-content .links .learn-more {
                  font-size: 14px; } }
              @media screen and (max-width: 480px) {
                .content-carousel .we-slider .slider .item .slide-content .links .learn-more {
                  font-size: 12px; } }
  .content-carousel .partner-links {
    width: 50%;
    float: left;
    border-left: 1px solid white; }
    .content-carousel .partner-links .blue-box {
      background-color: #42809d;
      background-image: -webkit-linear-gradient(to right, #42809d, #3f9ec7);
      background-image: -moz-linear-gradient(to right, #42809d, #3f9ec7);
      background-image: -ms-linear-gradient(to right, #42809d, #3f9ec7);
      background-image: -o-linear-gradient(to right, #42809d, #3f9ec7);
      background-image: linear-gradient(to right, #42809d, #3f9ec7);
      height: 192px;
      position: relative; }
      .content-carousel .partner-links .blue-box:first-child {
        border-bottom: 1px solid white; }
      .content-carousel .partner-links .blue-box .inner-content {
        border-left: 2px solid #3db5e6;
        padding: 0 20px;
        position: absolute;
        bottom: 24px;
        left: 20px; }
        .content-carousel .partner-links .blue-box .inner-content h5 {
          margin-bottom: 15px;
          font-family: "Roboto Condensed", sans-serif; }
          @media screen and (min-width: 1024px) and (max-width: 1279px) {
            .content-carousel .partner-links .blue-box .inner-content h5 {
              margin-bottom: 10px; } }
          @media screen and (min-width: 768px) and (max-width: 1023px) {
            .content-carousel .partner-links .blue-box .inner-content h5 {
              margin-bottom: 10px; } }
          @media screen and (max-width: 767px) {
            .content-carousel .partner-links .blue-box .inner-content h5 {
              margin-bottom: 10px; } }
        .content-carousel .partner-links .blue-box .inner-content p {
          font-size: 16px;
          margin-bottom: 20px; }
          @media screen and (min-width: 1024px) and (max-width: 1279px) {
            .content-carousel .partner-links .blue-box .inner-content p {
              margin-bottom: 10px; } }
          @media screen and (min-width: 768px) and (max-width: 1023px) {
            .content-carousel .partner-links .blue-box .inner-content p {
              font-size: 15px;
              margin-bottom: 5px; } }
          @media screen and (max-width: 767px) {
            .content-carousel .partner-links .blue-box .inner-content p {
              font-size: 14px;
              margin-bottom: 5px; } }
        .content-carousel .partner-links .blue-box .inner-content .learn-more {
          font-size: 16px; }
          @media screen and (min-width: 768px) and (max-width: 1023px) {
            .content-carousel .partner-links .blue-box .inner-content .learn-more {
              font-size: 14px; } }
          @media screen and (max-width: 767px) {
            .content-carousel .partner-links .blue-box .inner-content .learn-more {
              font-size: 14px; } }
          @media screen and (max-width: 480px) {
            .content-carousel .partner-links .blue-box .inner-content .learn-more {
              font-size: 12px; } }

/* Content with icons */
.content-830 {
  width: 68%;
  margin: 0 auto;
  margin-top: 35px;
  margin-bottom: 42px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .content-830 {
      margin: 25px auto; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .content-830 {
      width: 100%;
      margin: 25px auto; } }
  @media screen and (max-width: 767px) {
    .content-830 {
      width: 100%;
      margin: 15px auto;
      line-height: 20px; } }

.icon-content h1 {
  color: #404041; }
.icon-content p {
  line-height: 28px;
  color: #404041; }
  @media screen and (max-width: 1399px) and (min-width: 1280px) {
    .icon-content p {
      line-height: 26px; } }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .icon-content p {
      line-height: 24px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .icon-content p {
      line-height: 22px; } }
  @media screen and (max-width: 767px) {
    .icon-content p {
      line-height: 20px; } }
.icon-content .img-text {
  font-size: 24px;
  width: 75%;
  float: left;
  font-weight: 300;
  margin-bottom: 28px;
  color: #3e3e3e; }
  @media screen and (max-width: 1399px) and (min-width: 1280px) {
    .icon-content .img-text {
      font-size: 22px;
      line-height: 26px; } }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .icon-content .img-text {
      font-size: 20px;
      line-height: 24px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .icon-content .img-text {
      font-size: 18px;
      line-height: 22px; } }
  @media screen and (max-width: 767px) {
    .icon-content .img-text {
      font-size: 16px;
      line-height: 20px;
      width: calc(100% - 60px); } }
.icon-content .text-container {
  float: left;
  width: 100%; }
  .icon-content .text-container .img-text:last--of-type {
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .icon-content .text-container .img-text:last--of-type {
        margin-bottom: 20px; } }
  .icon-content .text-container:last-child .benefit-imgs,
  .icon-content .text-container:last-child .icon-imgs {
    margin-bottom: 0px; }
.icon-content .list-content:after {
  display: block;
  content: "";
  clear: both; }

.benefit .list-content,
.career-benifit .list-content {
  padding-top: 5px; }
  @media screen and (max-width: 767px) {
    .benefit .list-content .col-two,
    .career-benifit .list-content .col-two {
      width: 100%; }
      .benefit .list-content .col-two:last-of-type,
      .career-benifit .list-content .col-two:last-of-type {
        margin-top: 22px; } }
.benefit .benefit-imgs,
.career-benifit .benefit-imgs {
  float: left;
  width: 70px;
  margin-top: 0;
  margin-right: 40px;
  margin-left: 25px; }
  @media screen and (max-width: 1399px) and (min-width: 1280px) {
    .benefit .benefit-imgs,
    .career-benifit .benefit-imgs {
      margin-right: 20px; } }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .benefit .benefit-imgs,
    .career-benifit .benefit-imgs {
      width: 60px;
      margin-right: 20px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .benefit .benefit-imgs,
    .career-benifit .benefit-imgs {
      width: 50px;
      margin-right: 20px;
      margin-left: 0; } }
  @media screen and (max-width: 767px) {
    .benefit .benefit-imgs,
    .career-benifit .benefit-imgs {
      width: 40px;
      margin-right: 20px;
      margin-left: 0; } }

.career-benifit .text-container {
  margin-bottom: 22px; }
  @media screen and (max-width: 1023px) and (min-width: 480px) {
    .career-benifit .text-container {
      margin-bottom: 17px; } }
  @media screen and (max-width: 480px) {
    .career-benifit .text-container {
      margin-bottom: 12px; } }
  .career-benifit .text-container:last-of-type {
    margin-bottom: 0; }
    .career-benifit .text-container:last-of-type p {
      margin-bottom: 0; }
  .career-benifit .text-container .img-text {
    margin-bottom: 0; }

.differences .list-content {
  padding-top: 25px; }
  @media screen and (max-width: 767px) {
    .differences .list-content .col-two {
      width: 100%; } }
.differences .icon-imgs {
  float: left;
  margin-top: 7px;
  margin-right: 15px;
  margin-left: 24px; }
  @media screen and (max-width: 1279px) {
    .differences .icon-imgs {
      margin-left: 0;
      clear: left; } }
  @media screen and (max-width: 767px) {
    .differences .icon-imgs {
      margin-top: 0; } }
.differences .img-text {
  width: 86%;
  margin-bottom: 20px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .differences .img-text {
      width: calc(100% - 45px);
      padding-right: 20px;
      font-size: 20px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .differences .img-text {
      padding-right: 25px;
      margin-bottom: 30px;
      font-size: 18px; } }
  @media screen and (max-width: 767px) {
    .differences .img-text {
      margin-bottom: 20px;
      line-height: 20px;
      font-size: 16px;
      width: calc(100% - 40px); } }

.info-block p {
  max-width: 358px; }

/* Second level banner */
.second-level-banner h1,
.second-level-banner p,
.second-level-banner a {
  color: white;
  text-transform: uppercase; }
.second-level-banner h1 {
  font-size: 50px;
  padding-top: 32px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .second-level-banner h1 {
      font-size: 40px;
      padding-top: 24px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .second-level-banner h1 {
      font-size: 36px;
      padding-top: 20px; } }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .second-level-banner h1 {
      font-size: 30px;
      padding-top: 20px; } }
  @media screen and (max-width: 480px) {
    .second-level-banner h1 {
      padding-top: 0px;
      font-size: 24px; } }
.second-level-banner .position-search > p,
.second-level-banner .social-search > p {
  font-size: 14px; }
.second-level-banner .bg-img {
  overflow: hidden;
  max-height: 343px; }
  .second-level-banner .bg-img img {
    width: 100%;
    height: auto;
    position: relative; }
.second-level-banner .search-block {
  font-size: 0px;
  margin-top: 4px; }
  .second-level-banner .search-block:after {
    display: block;
    content: "";
    clear: both; }
.second-level-banner .position-search {
  padding-top: 30px;
  padding-bottom: 48px; }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .second-level-banner .position-search {
      padding: 25px 0; } }
  @media screen and (max-width: 480px) {
    .second-level-banner .position-search {
      padding: 20px 0; } }
  .second-level-banner .position-search .select-list {
    display: inline-block;
    margin-right: 2px; }
    @media screen and (max-width: 480px) {
      .second-level-banner .position-search .select-list {
        margin: 5px auto;
        width: 177px;
        display: block; } }
    .second-level-banner .position-search .select-list .selected p {
      color: #404041;
      line-height: 16px; }
  .second-level-banner .position-search .options {
    top: 42px;
    height: 200px;
    overflow: scroll; }
    .second-level-banner .position-search .options p {
      color: #404041;
      font-weight: 700;
      font-size: 14px;
      line-height: 18px; }
  .second-level-banner .position-search button {
    display: inline-block;
    vertical-align: top;
    margin-top: 0px;
    margin-left: 1px;
    padding: 10px 13px 9px 12px; }
    @media screen and (max-width: 767px) {
      .second-level-banner .position-search button {
        padding: 10px 13px 9px 12px;
        line-height: normal;
        font-size: 14px; } }
.second-level-banner .social-search ul {
  display: inline-block;
  margin-top: 8px; }
  .second-level-banner .social-search ul li {
    float: left;
    margin-left: 41px; }
    @media screen and (max-width: 480px) {
      .second-level-banner .social-search ul li {
        float: none;
        display: inline-block;
        margin-right: 25px;
        margin-left: 0;
        margin-bottom: 5px; } }
    .second-level-banner .social-search ul li:first-child {
      margin-left: 0px; }
    .second-level-banner .social-search ul li .learn-more:before {
      background: white; }
    .second-level-banner .social-search ul li .learn-more:after {
      background: url(../images/more-arrow-wht.png) no-repeat; }

/* Quote banner */
#quote-banner,
#hero-banner {
  height: 499px;
  overflow: hidden; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    #quote-banner,
    #hero-banner {
      height: 360px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    #quote-banner,
    #hero-banner {
      height: 320px; } }
  @media screen and (max-width: 767px) {
    #quote-banner,
    #hero-banner {
      height: 260px; } }
  #quote-banner a,
  #hero-banner a {
    color: #1fa4d4; }
  #quote-banner .button-default, #quote-banner .button-white, #quote-banner .button-green, #quote-banner .button-orange, #quote-banner .button-green,
  #hero-banner .button-default,
  #hero-banner .button-white,
  #hero-banner .button-green,
  #hero-banner .button-orange,
  #hero-banner .button-green {
    color: white; }
  #quote-banner p,
  #quote-banner h4,
  #hero-banner p,
  #hero-banner h4 {
    color: white; }
  #quote-banner .bg-img img,
  #hero-banner .bg-img img {
    width: 100%;
    height: auto;
    position: relative; }
  #quote-banner .v-middle-wrapper,
  #hero-banner .v-middle-wrapper {
    background: rgba(0, 0, 0, 0.3); }
    #quote-banner .v-middle-wrapper .v-middle-inner,
    #hero-banner .v-middle-wrapper .v-middle-inner {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 20px; }
  #quote-banner .item-content,
  #hero-banner .item-content {
    position: relative;
    max-width: 735px;
    margin: 0 auto;
    padding: 0 20px; }
    #quote-banner .item-content .banner-logo,
    #hero-banner .item-content .banner-logo {
      margin-top: 37px;
      margin-bottom: 60px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        #quote-banner .item-content .banner-logo,
        #hero-banner .item-content .banner-logo {
          width: 80px;
          margin: 25px auto; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        #quote-banner .item-content .banner-logo,
        #hero-banner .item-content .banner-logo {
          width: 60px;
          margin: 15px auto; } }
      @media screen and (max-width: 767px) {
        #quote-banner .item-content .banner-logo,
        #hero-banner .item-content .banner-logo {
          width: 50px;
          margin: 10px auto; } }
    #quote-banner .item-content p,
    #hero-banner .item-content p {
      position: relative;
      font-size: 40px;
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 300;
      line-height: normal;
      padding-bottom: 17px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        #quote-banner .item-content p,
        #hero-banner .item-content p {
          font-size: 28px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        #quote-banner .item-content p,
        #hero-banner .item-content p {
          font-size: 24px; } }
      @media screen and (max-width: 767px) {
        #quote-banner .item-content p,
        #hero-banner .item-content p {
          font-size: 20px;
          padding-bottom: 10px; } }
      #quote-banner .item-content p:before, #quote-banner .item-content p:after,
      #hero-banner .item-content p:before,
      #hero-banner .item-content p:after {
        content: "";
        background: url("../images/quote-start.png");
        display: inline-block;
        width: 39px;
        height: 29px;
        margin-right: 10px;
        background-size: 100%; }
        @media screen and (max-width: 1279px) and (min-width: 1024px) {
          #quote-banner .item-content p:before, #quote-banner .item-content p:after,
          #hero-banner .item-content p:before,
          #hero-banner .item-content p:after {
            width: 30px;
            height: 21px; } }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          #quote-banner .item-content p:before, #quote-banner .item-content p:after,
          #hero-banner .item-content p:before,
          #hero-banner .item-content p:after {
            width: 24px;
            height: 17px; } }
        @media screen and (max-width: 767px) {
          #quote-banner .item-content p:before, #quote-banner .item-content p:after,
          #hero-banner .item-content p:before,
          #hero-banner .item-content p:after {
            width: 20px;
            height: 14px; } }
      #quote-banner .item-content p:after,
      #hero-banner .item-content p:after {
        background: url("../images/quote-close.png");
        margin-left: 10px;
        margin-right: 0;
        background-size: 100%; }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          #quote-banner .item-content p:after,
          #hero-banner .item-content p:after {
            width: 24px; } }
        @media screen and (max-width: 767px) {
          #quote-banner .item-content p:after,
          #hero-banner .item-content p:after {
            width: 20px; } }
    #quote-banner .item-content h4,
    #hero-banner .item-content h4 {
      font-size: 18px;
      text-transform: capitalize;
      line-height: 20px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        #quote-banner .item-content h4,
        #hero-banner .item-content h4 {
          font-size: 16px; } }
      @media screen and (max-width: 767px) {
        #quote-banner .item-content h4,
        #hero-banner .item-content h4 {
          font-size: 14px; } }
    #quote-banner .item-content a,
    #hero-banner .item-content a {
      margin-top: 65px;
      margin-top: 15px; }

/* partner resource */
.partner-resource .text-center h2 {
  margin-bottom: 33px; }
.partner-resource .text-center h3 {
  color: white;
  font-family: "Roboto Condensed", sans-serif;
  margin-bottom: 30px; }
.partner-resource .text-center .v-middle-inner {
  max-width: 360px; }

/* Featured events */
#featured-events h1 {
  /*margin-bottom: 52px */ }
#featured-events h3 {
  color: white;
  font-weight: 700;
  padding: 6px 0 24px; }
#featured-events h5 {
  font-size: 14px;
  color: white;
  font-weight: 700; }

/* career-quick-links */
#career-quick-links .heading-career {
  margin: 42px 0 88px; }
#career-quick-links .col-three-outer .col-three {
  padding: 43px 60px 80px; }
  #career-quick-links .col-three-outer .col-three .cource-img {
    height: auto;
    margin-bottom: 0px; }
  #career-quick-links .col-three-outer .col-three h1 {
    margin-top: 37px; }

.footer .footer-nav.fixed {
  position: relative;
  width: 100%;
  bottom: 0; }

/* Grid section */
.grid-section .heading-career {
  margin-bottom: 88px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .grid-section .heading-career {
      margin-bottom: 55px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .grid-section .heading-career {
      margin-bottom: 45px; } }
  @media screen and (max-width: 767px) {
    .grid-section .heading-career {
      margin-bottom: 20px; } }
  @media screen and (max-width: 479px) {
    .grid-section .heading-career {
      margin-bottom: 10px; } }

/* Grid Customers */
.grid-customers .grid li .tab-logo {
  width: 100%;
  margin: auto;
  cursor: pointer;
  height: auto; }
  .grid-customers .grid li .tab-logo > span {
    vertical-align: middle; }
.grid-customers .grid li .tabs-content {
  margin-top: -2px; }
  .grid-customers .grid li .tabs-content .tab-text h3 {
    margin-bottom: 12px;
    text-transform: capitalize; }
  .grid-customers .grid li .tabs-content .sub-tab-content {
    border: none;
    background: transparent; }
    .grid-customers .grid li .tabs-content .sub-tab-content h3 {
      margin-bottom: 17px;
      text-align: left;
      text-transform: capitalize; }
.grid-customers .grid li .logo-container {
  position: relative;
  width: 100%;
  height: 265px;
  cursor: pointer; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .grid-customers .grid li .logo-container {
      height: 200px; } }
  @media screen and (max-width: 767px) {
    .grid-customers .grid li .logo-container {
      height: 150px; } }
  .grid-customers .grid li .logo-container .learn-more {
    display: inline;
    font-size: 28px;
    line-height: 38px;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700; }
    .grid-customers .grid li .logo-container .learn-more:after {
      background: url("../images/arrow-large.png");
      width: 12px;
      height: 21px;
      top: 10px;
      right: -18px; }
    .grid-customers .grid li .logo-container .learn-more p {
      font-size: 24px;
      line-height: 30px;
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 300;
      color: #606060;
      padding-top: 12px;
      padding-bottom: 5px; }
.grid-customers .select-list-ui {
  width: 252px;
  margin: 0 auto;
  margin-top: 14px;
  margin-bottom: 21px;
  background-color: #e8e8e8; }
  .grid-customers .select-list-ui .options {
    width: 252px; }
  .grid-customers .select-list-ui .selectboxit-container span {
    font-size: 14px;
    font-weight: 700;
    line-height: 36px;
    text-transform: uppercase;
    color: #3e3e3e;
    background: #e8e8e8;
    border: 1px solid transparent;
    height: auto;
    padding-top: 1px; }
    .grid-customers .select-list-ui .selectboxit-container span .selectboxit-default-arrow {
      top: 16px; }
  .grid-customers .select-list-ui .selectboxit-options {
    background: #e8e8e8;
    border: 1px solid transparent; }
    .grid-customers .select-list-ui .selectboxit-options a {
      padding: 10px 18px;
      color: #404041;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 14px; }
      .grid-customers .select-list-ui .selectboxit-options a:hover {
        background-color: #cccccc; }
  .grid-customers .select-list-ui .selectboxit-option-icon-container {
    display: none; }

/* Video Overlay */
.video-overlay {
  display: none;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.75);
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 30; }
  .video-overlay .outer-box {
    display: table;
    margin: 0 auto;
    height: 100%; }
    .video-overlay .outer-box .overlay-form {
      display: table-cell;
      vertical-align: middle;
      height: 100%; }
      .video-overlay .outer-box .overlay-form #video {
        position: relative; }
      .video-overlay .outer-box .overlay-form button {
        background: transparent;
        position: absolute;
        right: -22px;
        top: -17px;
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        color: white;
        font-size: 14px; }
        .video-overlay .outer-box .overlay-form button img {
          position: relative;
          top: -2px;
          padding-left: 2px; }

/*product-landing page */
.info-product-page {
  padding: 7px 0 51px; }
  .info-product-page .fixed-links {
    padding-bottom: 0;
    padding-top: 10px; }
  .info-product-page .product-logo {
    margin-bottom: 20px; }
  .info-product-page .wrapper h2 {
    margin-top: 14px; }
  .info-product-page .wrapper .col-two h3 {
    margin: 0 0 3px;
    color: #456b7e; }
  .info-product-page a.button-default, .info-product-page a.button-white, .info-product-page a.button-green, .info-product-page a.button-orange {
    margin-top: 23px; }
  .info-product-page .row-inner {
    padding-top: 48px; }

.feature h2 {
  font-family: "Roboto Condensed", sans-serif; }

/* */
.slate-grey-block {
  padding: 91px 0 99px; }
  .slate-grey-block .col-two:last-of-type {
    padding-top: 5px; }

.filter-press-release .isotope-filter .select-list p {
  line-height: 16px; }
.filter-press-release .isotope-filter .select-list .options li p {
  line-height: 18px; }

/* Author with Rss */
.author-rss {
  width: 100%;
  float: left;
  margin-top: 10px; }
  .author-rss .author {
    width: 90%;
    float: left; }
  .author-rss .rss-feed {
    float: right;
    width: 20px; }

input[type=text]::-ms-clear,
input[type=email]::-ms-clear {
  display: none; }

.float-right {
  float: right; }

.inner-blog > h1 {
  font-weight: 300; }

.cta-block {
  background-color: #3bb7d9;
  background-image: -webkit-linear-gradient(to right, #3bb7d9, #2ec093);
  background-image: -moz-linear-gradient(to right, #3bb7d9, #2ec093);
  background-image: -ms-linear-gradient(to right, #3bb7d9, #2ec093);
  background-image: -o-linear-gradient(to right, #3bb7d9, #2ec093);
  background-image: linear-gradient(to right, #3bb7d9, #2ec093);
  color: white;
  overflow: hidden; }
  .cta-block .v-middle-inner {
    max-width: 480px;
    margin: 0 auto; }
  .cta-block img {
    width: 100%; }
  .cta-block span,
  .cta-block p {
    float: left;
    padding: 0 0 0 10px; }
  .cta-block p {
    color: white;
    font-weight: 700;
    padding-top: 10px; }
  .cta-block h1 {
    font-size: 46px;
    padding-bottom: 40px;
    border-bottom: 2px solid white; }
  .cta-block .h1-substitute {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: bold;
    font-size: 46px;
    padding-bottom: 40px;
    border-bottom: 2px solid white;
    float: none; }
  .cta-block .cta-content {
    margin-top: 44px; }
  .cta-block .button-default, .cta-block .button-white, .cta-block .button-green, .cta-block .button-orange {
    margin-top: 40px;
    padding: 14px 10px 14px 10px;
    font-size: 16px; }
  .cta-block .cta-content {
    float: left; }

.contact-links {
  text-transform: uppercase;
  padding: 85px 0 60px; }
  .contact-links .wrapper {
    max-width: 960px; }
  .contact-links h4 {
    font-family: roboto;
    font-weight: 300; }
  .contact-links .learn-more {
    margin-top: 10px; }
  .contact-links img {
    margin-bottom: 30px; }

.contact-link {
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif; }

.contact-form {
  padding: 68px 0 98px; }
  .contact-form .wrapper {
    max-width: 980px; }

.top-form form {
  margin-top: 68px; }
.top-form .button-green {
  margin-top: 4px; }

form {
  text-align: center; }
  form .row {
    margin: 0 0 14px;
    width: 100%; }
    form .row ::-webkit-input-placeholder {
      color: #404041;
      font-weight: 700;
      font-size: 14px; }
      form .row ::-webkit-input-placeholder p {
        font-size: 15px;
        font-weight: bold; }
  form .row {
    float: left; }
  form .col,
  form .col-two {
    padding: 0 11px; }
  form input,
  form textarea {
    display: block;
    width: 100%;
    margin: 0;
    padding: 15px 20px 0;
    color: #404041;
    border: 1px solid #cdcdce;
    font-size: 16px;
    outline: none; }
    form input:focus,
    form textarea:focus {
      border: 1px solid #1fa4d4; }
  form input {
    height: 56px; }
  form .col {
    position: relative; }
  form textarea {
    padding: 40px 20px 18px;
    height: 158px; }

.hw-wrapper {
  float: left;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transition: transform 0.5s ease;
  -moz-transition: transform 0.5s ease;
  -o-transition: transform 0.5s ease;
  transition: transform 0.5s ease; }

.hw-overlay,
.search-overlay,
.footer-overlay,
.newsletter-overlay,
.outer-box {
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: white;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -moz-transform: translateY(100%);
  -o-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  visibility: hidden; }

.form-active .hw-wrapper {
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); }
.form-active .hw-overlay {
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  visibility: visible;
  z-index: 21;
  overflow-y: scroll; }

.hw-search-overlay .hw-wrapper {
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); }
.hw-search-overlay .search-overlay {
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  visibility: visible;
  z-index: 11;
  overflow-y: scroll; }

.hw-footer-overlay .hw-wrapper {
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); }
.hw-footer-overlay .footer-overlay {
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  visibility: visible;
  z-index: 11;
  overflow-y: scroll; }

.hw-newsletter-overlay .hw-wrapper {
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); }
.hw-newsletter-overlay .newsletter-overlay {
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  visibility: visible;
  z-index: 11;
  overflow-y: scroll; }

.hw-video-overlay .hw-wrapper {
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -webkit-transform: scale(0.9);
  transform: scale(0.9); }
.hw-video-overlay .outer-box {
  -moz-transform: none;
  -o-transform: none;
  -ms-transform: none;
  -webkit-transform: none;
  transform: none;
  visibility: visible;
  z-index: 11;
  overflow-y: scroll; }

.search-overlay,
.footer-overlay,
.newsletter-overlay,
.outer-box {
  display: block !important; }

.overflow-fix .footer .footer-nav {
  z-index: 11; }

@media screen and (max-width: 767px) {
  .overflow-fix .footer .footer-nav {
    z-index: 9; } }
.top-form-container .top-form {
  overflow-y: auto; }
.top-form-container .close-btn {
  width: 37px;
  height: 37px;
  position: fixed;
  top: 23px;
  right: 24px;
  z-index: 11;
  border: none;
  border-radius: 50%;
  overflow: hidden;
  color: white;
  background: white;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }
  .top-form-container .close-btn:hover {
    color: #1fa4d4;
    background: white; }
    .top-form-container .close-btn:hover span {
      top: 0; }
  .top-form-container .close-btn:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    content: "";
    height: 2px;
    background: #1fa4d4;
    -webkit-transform: translateY(15px);
    -ms-transform: translateY(15px);
    transform: translateY(15px);
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  .top-form-container .close-btn span {
    position: relative;
    top: -36px;
    float: left;
    background: url(../images/close-icon.png);
    height: 64px;
    width: 100%; }

.logged-in .close-btn {
  top: 70px; }

.top-form-overlay {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  z-index: -1;
  background: black; }

.form-active {
  overflow: hidden !important; }

label {
  color: #404041;
  font-weight: 700;
  font-size: 14px;
  position: absolute;
  pointer-events: none;
  left: 32px;
  top: 22px;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -webkit-transition: 0.2s ease all; }

input:focus ~ label,
.used ~ label {
  top: 10px;
  font-size: 12px;
  color: #9a9a9a; }

.placeholderfix {
  top: 10px !important;
  font-size: 12px;
  color: #9a9a9a;
  opacity: 1 !important;
  z-index: 1; }

textarea ~ label {
  width: Calc(100% - 64px);
  display: block;
  text-align: left;
  z-index: 1;
  height: 30px;
  background: white;
  top: 1px;
  padding-top: 21px; }

textarea:focus ~ label, textarea.used ~ label {
  top: 1px;
  padding-top: 9px;
  font-size: 12px;
  color: #9a9a9a; }

@media screen and (min-width: 1280px) and (max-width: 1399px) {
  .contact-links img {
    margin-bottom: 31px; } }
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .contact-links img {
    margin-bottom: 24px; } }
@media screen and (min-width: 667px) and (max-width: 1023px) {
  .top-form form {
    margin-top: 58px; }

  form .col,
  form .col-two {
    padding: 0 11px; }

  .contact-form .wrapper {
    padding: 0 10px; }

  .contact-links img {
    margin-bottom: 16px; }
  .contact-links .learn-more {
    margin-top: 5px; }

  .top-form .cta-block {
    height: 300px; } }
@media screen and (min-width: 667px) and (max-width: 767px) {
  .top-form .cta-block .cta-content {
    margin-top: 38px; }
  .top-form .cta-block .button-default, .top-form .cta-block .button-white, .top-form .cta-block .button-green, .top-form .cta-block .button-orange {
    padding: 9px 11px;
    font-size: 12px; }
  .top-form p {
    font-size: 16px;
    line-height: 20px; }
  .top-form h4 {
    font-size: 20px; } }
@media screen and (max-width: 666px) {
  .top-form form {
    margin-top: 20px; }
  .top-form h4 {
    font-size: 20px; }

  form .col,
  form .col-two {
    padding: 0; }
  form label {
    left: 15px;
    top: 14px;
    font-size: 12px; }
  form input,
  form textarea {
    font-size: 14px; }
  form input {
    padding: 12px 15px 0;
    height: 40px; }
  form textarea {
    padding: 25px 15px 18px;
    height: 112px; }
  form .col-two:first-child {
    margin-bottom: 14px; }

  .cta-block .cta-content {
    padding-left: 20px; }
  .cta-block .button-default, .cta-block .button-white, .cta-block .button-green, .cta-block .button-orange {
    padding: 9px 11px;
    font-size: 12px; }
  .cta-block h1 {
    padding-bottom: 30px; }
  .cta-block .button-default, .cta-block .button-white, .cta-block .button-green, .cta-block .button-orange,
  .cta-block .cta-content {
    margin-top: 30px; }

  .contact-links .col-three {
    width: 33.33%; }
  .contact-links img {
    margin-bottom: 11px;
    width: 55px; }
  .contact-links .learn-more {
    margin-top: 0px; }

  .top-form-container .close-btn {
    top: 14px;
    right: 15px; }

  .top-form .cta-block {
    height: 250px; }

  input:focus ~ label,
  .used ~ label {
    top: 5px;
    font-size: 11px; }

  .placeholderfix {
    top: 5px !important;
    font-size: 11px; }

  textarea ~ label {
    width: Calc(100% - 30px);
    top: 1px;
    padding-top: 12px;
    font-size: 12px; }

  textarea:focus ~ label, textarea.used ~ label {
    top: 1px;
    padding-top: 5px;
    font-size: 11px; }
  textarea wrapper h2 {
    font-size: 30px; } }
@media screen and (max-width: 480px) {
  .cta-block .cta-content {
    padding: 0; }

  .contact-links .col-three {
    width: 100%;
    padding-bottom: 20px; }
    .contact-links .col-three:last-child {
      padding-bottom: 0; }
  .contact-links img {
    width: 40px; }

  .top-form-container .close-btn {
    top: 6px;
    right: 7px; } }
@media screen and (max-width: 420px) {
  .cta-block .cta-content {
    max-width: 210px;
    width: 100%;
    position: relative;
    float: none;
    display: inline-block;
    padding: 0;
    margin: 20px auto 12px; }
  .cta-block .button-default, .cta-block .button-white, .cta-block .button-green, .cta-block .button-orange {
    margin: 0 0 0 10px; } }
.hero-second-level .banner-logo {
  max-width: 265px;
  width: 31%; }
  .hero-second-level .banner-logo img {
    float: right; }
.hero-second-level .banner-text {
  text-align: left;
  padding-left: 60px; }
  .hero-second-level .banner-text .button-default, .hero-second-level .banner-text .button-white, .hero-second-level .banner-text .button-green, .hero-second-level .banner-text .button-orange {
    margin-right: 10px; }

@media screen and (min-width: 667px) and (max-width: 767px) {
  .hero-second-level .banner-text {
    padding-left: 45px; } }
@media screen and (max-width: 1024px) {
  .hero-second-level .button-default, .hero-second-level .button-white, .hero-second-level .button-green, .hero-second-level .button-orange {
    margin-top: 15px; }
  .hero-second-level h1 {
    line-height: 44px; } }
@media screen and (max-width: 666px) {
  .hero-second-level .banner-logo {
    display: none; }
  .hero-second-level .banner-text {
    text-align: center;
    padding: 0; } }
@media screen and (max-width: 480px) {
  .hero-second-level .banner-text .button-default, .hero-second-level .banner-text .button-white, .hero-second-level .banner-text .button-green, .hero-second-level .banner-text .button-orange {
    margin-right: 0; } }
.featured-section .text-center h2 {
  margin: 0 auto 38px; }

.resources-default {
  cursor: pointer;
  overflow: hidden; }
  .resources-default:hover .move-up,
  .resources-default:hover .hover-btn {
    -moz-transform: translateY(-25px);
    -o-transform: translateY(-25px);
    -ms-transform: translateY(-25px);
    -webkit-transform: translateY(-25px);
    transform: translateY(-25px);
    opacity: 1; }
  .resources-default.col-three:nth-of-type(even):before, .resources-default.col-three:nth-of-type(even):after {
    content: "";
    background: #8f8f8f;
    width: 1px;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 2; }
  .resources-default.col-three:nth-of-type(even):after {
    right: 0;
    left: auto; }
  .resources-default .move-up {
    text-align: left;
    border-left: 2px solid #3bb7da;
    padding: 0 20px;
    -moz-transform: translateY(40px);
    -o-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .resources-default .move-up img {
      margin: 0 !important; }
    .resources-default .move-up h5 {
      color: white;
      margin-top: 16px;
      font-family: "Roboto Condensed", sans-serif; }
    .resources-default .move-up h6 {
      color: white;
      font-weight: 400;
      padding: 12px 0 0 0; }
    .resources-default .move-up p {
      color: white;
      font-weight: 500; }
  .resources-default .hover-btn {
    text-align: left;
    padding: 0 0 0 20px;
    border-left: 2px solid #3bb7da;
    opacity: 0;
    -moz-transform: translateY(25px);
    -o-transform: translateY(25px);
    -ms-transform: translateY(25px);
    -webkit-transform: translateY(25px);
    transform: translateY(25px);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .resources-default .v-middle-wrapper {
    background: rgba(0, 0, 0, 0.6); }
    .resources-default .v-middle-wrapper .v-middle-inner {
      padding: 0 20px; }
  .resources-default .v-middle {
    vertical-align: bottom; }
  .resources-default .feature-bg {
    overflow: hidden;
    min-height: 383px; }
    .resources-default .feature-bg img {
      min-width: 100%;
      position: relative; }

@media screen and (min-width: 768px) and (max-width: 1279px) {
  .resources-default .move-up {
    padding: 0 0 0 15px; }
  .resources-default .hover-btn {
    padding: 0 0 0 15px; }
    .resources-default .hover-btn a {
      margin-top: 15px; } }
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .resources-default:hover .move-up,
  .resources-default:hover .hover-btn {
    -moz-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px); }
  .resources-default .three-col-row {
    height: 337px; }
  .resources-default .move-up h6 {
    line-height: 18px; }
  .resources-default .hover-btn {
    padding: 0 0 0 15px; }
    .resources-default .hover-btn a {
      margin-top: 15px; } }
@media screen and (max-width: 767px) {
  .resources-default {
    width: 100%; } }
@media screen and (max-width: 480px) {
  .resources-default:hover .move-up {
    -moz-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px); }
  .resources-default:hover .hover-btn {
    -moz-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  .resources-default .feature-bg img {
    width: auto !important; } }
.resources-post:hover .move-up {
  transform: translateY(-63px) !important; }
.resources-post:hover .hover-btn {
  transform: translateY(-170px) !important; }
.resources-post .move-up {
  transform: translateY(6px) !important; }
.resources-post h5 {
  margin-bottom: 12px; }

@media screen and (max-width: 767px) {
  .resources-post:hover .hover-btn {
    transform: translateY(-140px) !important; } }
@media screen and (max-width: 480px) {
  .resources-post:hover .move-up {
    transform: translateY(-45px) !important; }
  .resources-post:hover .hover-btn {
    transform: translateY(-92px) !important; } }
.customer-landing .v-middle-inner {
  padding: 0 20px;
  text-align: left; }
.customer-landing .tabs {
  padding: 14px 0 30px 0; }
  .customer-landing .tabs .blue-label {
    padding: 10px 39px;
    letter-spacing: 0.05em;
    color: #464648;
    font-family: "roboto", sans-serif;
    background: #c4c4c4; }
    .customer-landing .tabs .blue-label.active {
      background: #3bb7da;
      color: white; }
.customer-landing li {
  display: inline-block;
  vertical-align: top;
  margin: 0 -5px 0 0; }
.customer-landing .four-col-row {
  background: none;
  overflow: hidden;
  display: none; }
.customer-landing .v-middle {
  vertical-align: bottom; }
.customer-landing .blog-date {
  font-size: 18px;
  font-weight: 700;
  color: #404041;
  display: inline-block;
  margin-bottom: 13px;
  line-height: 23px; }
.customer-landing h5 {
  font-family: "Roboto Condensed", sans-serif;
  line-height: normal;
  font-weight: 700;
  margin-bottom: 63px;
  color: #404041; }
.customer-landing .learn-more {
  position: absolute;
  bottom: 27px;
  font-size: 16px; }
.customer-landing .col-two .col-two {
  border: 1px solid #c7c7c7;
  border-right: none;
  overflow: hidden;
  height: 384px; }
.customer-landing .back-bg .v-middle-wrapper {
  background: rgba(0, 0, 0, 0.6); }
.customer-landing .back-bg h5 {
  color: white; }
.customer-landing .back-bg .blog-date {
  color: white; }

@media screen and (min-width: 667px) and (max-width: 1023px) {
  .customer-landing .col-two .col-two {
    width: 100%;
    height: 324px; } }
@media screen and (max-width: 666px) {
  .customer-landing .col-two .col-two {
    height: 284px; } }
.footer .legacy.language-form {
  line-height: 48px;
  position: relative;
  padding: 0; }
  .footer .legacy.language-form .smt-trigger {
    width: 100%;
    -webkit-transition: background 0.3s;
    transition: background 0.3s; }
    .footer .legacy.language-form .smt-trigger > a {
      padding: 0 85px 0 14px;
      display: block; }
      .footer .legacy.language-form .smt-trigger > a:hover {
        background: #d8d8d8; }
      .footer .legacy.language-form .smt-trigger > a:after {
        content: "";
        background-image: url("../images/up-arrow-dark.png");
        width: 16px;
        height: 10px;
        position: absolute;
        right: 19px;
        top: 19px; }
    .footer .legacy.language-form .smt-trigger > ul {
      border: 0;
      margin: 0;
      position: absolute;
      background-color: #e8e8e8;
      z-index: 99;
      width: 100% !important;
      left: 0px;
      bottom: 45px;
      padding-top: 0; }
  .footer .legacy.language-form .smt-item {
    padding-left: 14px;
    height: auto !important; }
    .footer .legacy.language-form .smt-item:hover {
      background: #d8d8d8; }

.v-middle-wrapper.black-overlay {
  background-color: rgba(0, 0, 0, 0.5); }

.social-links-wrapper {
  position: fixed;
  top: 334px;
  right: 0;
  width: 48px;
  z-index: 12; }

.sol-carousel .multi-section-slider .move-up a {
  display: inline-block;
  margin-bottom: 24px; }

.overflow-fix {
  overflow-y: hidden !important; }

.page-id-83787 .cta.no-padding {
  background: transparent;
  min-height: 326px;
  background: url(../images/home-cta-img.jpg) 50% 0 no-repeat fixed;
  background-size: cover;
  width: 100%; }

@media screen and (max-width: 768px) {
  .page-id-83787 .cta.no-padding {
    background: transparent;
    min-height: 326px;
    background: url(../images/home-cta-img.jpg) 50% 0 no-repeat;
    background-attachment: scroll;
    background-size: cover;
    background-position: 0 !important; } }
.tabs-content .resources-default {
  margin: 0; }

@media screen and (min-width: 667px) and (max-width: 767px) {
  .tabs-content .resources-default {
    width: 50%; } }
svg {
  height: Calc(100vh - 36vh) \9\0; }

@media screen and (max-width: 666px) {
  svg {
    height: Calc(100vh - 66vh) \9\0; } }
@media screen and (max-width: 666px) and (max-width: 1280px) {
  .answer-section .blue-boxes .col-three {
    height: 223px \9\0; } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  svg {
    height: Calc(100vh - 36vh); } }
  @media screen and (-ms-high-contrast: active) and (max-width: 666px), screen and (-ms-high-contrast: none) and (max-width: 666px) {
    svg {
      height: Calc(100vh - 66vh); } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .answer-section .blue-boxes .col-three {
    height: 213px; } }
.main-menu .drop-menu {
  box-shadow: 0 5px 12px -2px; }

.author-rss a .author span {
  color: #1fa4d4;
  position: relative; }
  .author-rss a .author span:before {
    content: "";
    opacity: 0;
    background: #1fa4d4;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0px;
    bottom: -15px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .author-rss a .author span:hover:before {
    opacity: 1;
    bottom: -5px; }

.back-bg .v-middle-inner {
  background: rgba(0, 0, 0, 0.6); }
.back-bg .blog-date,
.back-bg .news-date,
.back-bg h5 {
  color: white !important; }
.back-bg .feature-bg img {
  position: relative;
  min-width: 100%; }

.clearfix {
  clear: both; }

.wrapper.downloads,
.wrapper.footnotes {
  padding: 0 40px; }
  @media screen and (max-width: 767px) {
    .wrapper.downloads,
    .wrapper.footnotes {
      padding: 0 20px; } }

/*tabs */
/*.customer-landing
 * &.feature
 *   .text-center
 *     h2
 *       margin: 0
 *
 * .tabs
 *   padding: 14px 0 30px 0
 *
 *   .blue-label
 *     padding: 10px 39px
 *     letter-spacing: 0.050em
 *     color: #464648
 *
 * .three-col-row 
 *   display: none
 *
 *   .visual-box
 *     width: 62.6%
 *     float: left
 *     position: relative
 *     border-right: 2px solid #e8e8e8
 *     height: 382px
 *     overflow: hidden
 *     @media screen and (max-width:$tablet-break-small - 1)
 *       width: 100%
 *       border-right: 0
 *       border-bottom: 2px solid #e8e8e8
 *       height: 300px
 *     @media screen and (max-width: $handheld-break-small - 1)
 *       height: 250px
 *
 *     .bg-image
 *       img
 *         max-width: none 
 *
 *     .v-middle-wrapper
 *       .caption
 *         position: absolute
 *         left: 61px
 *         padding: 12px
 *         background: #3bb7da
 *
 *         h6
 *           color: #fff
 *           font-size: 14px
 *           line-height: 10px
 *
 *     .text-holder
 *       border-left: 2px solid #3db5e6
 *       padding-left: 28px
 *       position: absolute
 *       bottom: 30px
 *       right: 30px
 *       left: 30px
 *       color: #fff
 *
 *       .post-date
 *         font-weight: bold
 *
 *       h5
 *         margin: 9px 0 12px 0
 *         @media screen and (max-width: $handheld-break-small - 1)
 *           margin: 3px 0 4px 0
 *
 *       p
 *
 *         margin-bottom: 12px
 *         @media screen and (max-width: $handheld-break-small - 1)
 *           margin-bottom: 4px
 *       a
 *         text-decoration: underline
 *         +transition-varible(all, 0.3s, ease)
 *         &:hover
 *           color: #1fa4d4
 *
 *   .visual-text
 *
 *     width: 37.4%
 *     float: left
 *     @media screen and (max-width:$tablet-break-small - 1)  
 *       width: 100%
 *
 *     .bluebox
 *
 *       background: #42809d
 *       padding: 0 0 0 30px
 *       position: relative
 *       height: 192px
 *       @media screen and (max-width:$tablet-break-small - 1)  
 *         height: 160px
 *       &:last-of-type 
 *         border-bottom: 2px solid #e8e8e8
 *
 *       .padding40
 *         padding: 36px 0
 *
 *       .caption
 *         max-width: 110px
 *         height: 30px
 *         background: #3bb7da
 *         padding: 10px 6px
 *         display: inline-block
 *         margin-left: 21px
 *
 *         h6
 *           color: #fff
 *           font-size: 14px
 *           text-transform: uppercase
 *           line-height: 10px
 *
 *       .news
 *         padding: 0 0 0 18px
 *         color: #fff
 *         border-left: 2px solid #3db5e6
 *         font-weight: bold
 *
 *         h5
 *           margin-bottom: 20px
 *           line-height: 26px
 *           font-family: $Roboto Condensed
 *
 *         a
 *           text-decoration: underline
 *           +transition-varible(all, 0.3s, ease)
 *
 *           &:after
 *             content: url('/wp-content/themes/hortonworks/images/read-icon.png')
 *
 *           &:hover
 *             color: #1fa4d4
 *
 *             &:after
 *               content: url('/wp-content/themes/hortonworks/images/read-icon2.png')
 *
 *   a
 *     color: #fff
 *     font-weight: bold
 *     @media screen and (max-width: $handheld-break-small - 1)
 *       font-size: 18px
 *   .col-three
 *     overflow: hidden
 *
 *     &:first-child
 *       border-left: 0
 *       border-right: 0
 *
 *     &:last-child
 *       border: 0
 *
 *     &:hover 
 *       .move-up
 *         +transform(translateY(-30px))
 *       .hover-btn
 *         opacity: 1
 *         +transform(translateY(-120px))
 *
 *   .hover-btn
 *     opacity: 0
 *     +transform(translateY(-60px))
 *     +transition-varible(all, .5s, ease)
 *
 *   .v-middle-wrapper
 *     background: rgba(0,0,0,0.6)
 *
 *   .top-label
 *
 *     .blue-label
 *       padding: 4px 27px
 *
 *   .move-up
 *     max-width: 345px
 *     color: #fff
 *     margin: 0 auto
 *     +transform(translateY(0))
 *     +transition-varible(all, .5s, ease)
 *
 *   p
 *     color: #fff
 *
 * li
 *   display: inline-block
 *   vertical-align: top
 *   margin: 0 -5px 0 0 
 *
 *   .blue-label
 *     background: #c4c4c4
 *     color: #000
 *     font-family: $Roboto-regular
 *     &.active
 *       background: #3bb7da
 *       color: #fff */
#tab2 {
  display: block; }

.feature .three-col-row .col-three .banner-logo {
  margin-bottom: 30px; }

.partner-block .content-870 h1 {
  margin: 28px 0; }
.partner-block .content-870 p {
  line-height: 28px; }

.events .event-list .demand-name {
  width: 43.54%; }
  @media screen and (max-width: 767px) {
    .events .event-list .demand-name {
      width: 100%;
      display: block;
      padding: 0; } }

@media screen and (max-width: 767px) {
  .ondemand.events .ev-btn,
  .ondemand.events .v-middle-inner {
    width: 100%;
    text-align: center;
    display: block; } }

/*blog page */
.blog-slider span {
  font-size: 18px;
  font-weight: 500;
  font-weight: bold; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .blog-slider span {
      font-size: 16px; } }
  @media screen and (max-width: 767px) and (min-width: 479px) {
    .blog-slider span {
      font-size: 14px; } }
  @media screen and (max-width: 480px) {
    .blog-slider span {
      font-size: 14px; } }
.blog-slider .blog-wrapper {
  max-width: 992px;
  padding: 0 40px; }
.blog-slider .blog-space {
  padding: 31px 0;
  position: relative; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .blog-slider .blog-space {
      padding: 27px 0; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .blog-slider .blog-space {
      padding: 24px 0; } }
  @media screen and (max-width: 479px) {
    .blog-slider .blog-space {
      padding: 20px 0; } }
  .blog-slider .blog-space .left-postition {
    position: absolute;
    top: 35%;
    left: 3%; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .blog-slider .blog-space .left-postition {
        left: 2%; } }
    @media screen and (max-width: 1023px) {
      .blog-slider .blog-space .left-postition {
        left: 1%; } }
    @media screen and (max-width: 479px) {
      .blog-slider .blog-space .left-postition {
        top: 32%; } }
  .blog-slider .blog-space .right-postition {
    position: absolute;
    top: 30%;
    right: 3%; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .blog-slider .blog-space .right-postition {
        right: 2%; } }
    @media screen and (max-width: 1023px) {
      .blog-slider .blog-space .right-postition {
        right: 1%; } }
.blog-slider .blog-block {
  padding-top: 55px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .blog-slider .blog-block {
      padding-top: 45px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .blog-slider .blog-block {
      padding-top: 35px; } }
  @media screen and (max-width: 479px) {
    .blog-slider .blog-block {
      padding-top: 20px; } }
  .blog-slider .blog-block h2 {
    margin-bottom: 14px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .blog-slider .blog-block h2 {
        margin-bottom: 10px; } }
    @media screen and (max-width: 767px) and (min-width: 480px) {
      .blog-slider .blog-block h2 {
        margin-bottom: 7px; } }
    @media screen and (max-width: 479px) {
      .blog-slider .blog-block h2 {
        margin-bottom: 5px; } }
    .blog-slider .blog-block h2 span {
      font-weight: 100;
      font-size: 18px;
      line-height: 28px; }
  .blog-slider .blog-block h6 {
    margin-bottom: 36px;
    font-size: 18px;
    font-weight: 700; }
    @media screen and (max-width: 1023px) and (min-width: 667px) {
      .blog-slider .blog-block h6 {
        font-size: 16px; } }
    @media screen and (max-width: 666px) {
      .blog-slider .blog-block h6 {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 14px; } }
  .blog-slider .blog-block p {
    margin-bottom: 23px;
    line-height: 28px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .blog-slider .blog-block p {
        margin-bottom: 18px;
        line-height: 25px;
        font-size: 16px; } }
    @media screen and (max-width: 767px) and (min-width: 480px) {
      .blog-slider .blog-block p {
        margin-bottom: 16px;
        line-height: 23px;
        font-size: 15px; } }
    @media screen and (max-width: 479px) {
      .blog-slider .blog-block p {
        margin-bottom: 14px;
        line-height: 20px;
        font-size: 14px; } }
    @media screen and (max-width: 767px) {
      .blog-slider .blog-block p .alignleft {
        float: none; } }
  .blog-slider .blog-block .blog-image {
    margin-bottom: 42px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .blog-slider .blog-block .blog-image {
        margin-bottom: 32px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .blog-slider .blog-block ul li {
      font-size: 16px;
      line-height: 25px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .blog-slider .blog-block ul li {
      font-size: 15px;
      line-height: 23px;
      margin-bottom: 11px; } }
  @media screen and (max-width: 479px) {
    .blog-slider .blog-block ul li {
      font-size: 14px;
      line-height: 20px;
      margin-bottom: 8px; } }
  .blog-slider .blog-block .bullet {
    padding-left: 40px; }
    .blog-slider .blog-block .bullet li {
      position: relative;
      padding: 0 0 0 7px;
      position: relative;
      font-size: 18px;
      line-height: 28px;
      margin-bottom: 17px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .blog-slider .blog-block .bullet li {
          font-size: 16px;
          line-height: 25px; } }
      @media screen and (max-width: 767px) and (min-width: 480px) {
        .blog-slider .blog-block .bullet li {
          font-size: 15px;
          line-height: 23px;
          margin-bottom: 11px; } }
      @media screen and (max-width: 479px) {
        .blog-slider .blog-block .bullet li {
          font-size: 14px;
          line-height: 20px;
          margin-bottom: 11px; } }
      .blog-slider .blog-block .bullet li:before {
        content: "";
        position: absolute;
        left: -20px;
        top: 10px;
        height: 9px;
        width: 9px;
        background: #44697d;
        border-radius: 50%; }
.blog-slider .comments-categories h6 {
  margin-bottom: 0; }
.blog-slider .comments-categories li {
  display: inline-block;
  border: 1px solid #c2c1bd;
  padding: 7px 12px 7px 13px;
  margin: 18px 5px 0 0;
  border-radius: 3px; }
  .blog-slider .comments-categories li:hover {
    background-color: #c2c1bd; }
  @media screen and (max-width: 1023px) and (min-width: 667px) {
    .blog-slider .comments-categories li {
      margin: 13px 4px 0 0;
      padding: 7px 10px 7px 11px;
      font-size: 14px; } }
  @media screen and (max-width: 666px) {
    .blog-slider .comments-categories li {
      font-size: 14px;
      margin: 9px 4px 0 0;
      padding: 7px 8px 7px 9px; } }
  .blog-slider .comments-categories li a {
    color: black;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer; }
    .blog-slider .comments-categories li a:last-child {
      margin-right: 0; }
    @media screen and (max-width: 1023px) and (min-width: 667px) {
      .blog-slider .comments-categories li a {
        font-size: 16px; } }
    @media screen and (max-width: 666px) {
      .blog-slider .comments-categories li a {
        font-size: 14px; } }
.blog-slider .comment-list {
  padding: 15px 0; }
  .blog-slider .comment-list h3 {
    margin: 20px 0 10px;
    font-weight: 300;
    font-size: 23px; }
    @media screen and (max-width: 1023px) and (min-width: 480px) {
      .blog-slider .comment-list h3 {
        font-size: 21px;
        margin: 17px 0 12px; } }
    @media screen and (max-width: 767px) and (min-width: 480px) {
      .blog-slider .comment-list h3 {
        font-size: 19px;
        margin: 14px 0 8px; } }
    @media screen and (max-width: 479px) {
      .blog-slider .comment-list h3 {
        font-size: 17px;
        margin: 0; } }
  .blog-slider .comment-list p {
    position: relative;
    text-align: left; }
  .blog-slider .comment-list .comment {
    position: relative;
    padding-left: 60px;
    margin-bottom: 20px;
    list-style: initial; }
  .blog-slider .comment-list a {
    color: #1fa4d4; }
  .blog-slider .comment-list .labels-on-top label {
    color: #999999; }
  .blog-slider .comment-list .form-submit {
    text-align: center; }
    .blog-slider .comment-list .form-submit input {
      height: auto;
      color: #3fae2a;
      font-weight: bold;
      background-color: #f2f0ef;
      color: #3fae2a;
      font-weight: bold;
      background-color: #f2f0ef;
      display: inline-block;
      padding: 11px 16px 11px 21px;
      text-transform: uppercase;
      font-size: 14px;
      letter-spacing: 0.05em;
      background: transparent;
      margin-top: 25px;
      cursor: pointer;
      font-weight: 700;
      font-family: "roboto", sans-serif;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      border: 2px solid #3fae2a;
      max-width: 158px; }
      @media screen and (max-width: 1023px) and (min-width: 480px) {
        .blog-slider .comment-list .form-submit input {
          margin-top: 20px; } }
      .blog-slider .comment-list .form-submit input:hover {
        background-color: #3fae2a;
        color: white; }
  .blog-slider .comment-list .says {
    color: #404041;
    font-size: 16px;
    font-weight: 300; }
  .blog-slider .comment-list .comment-notes {
    line-height: 1.5;
    font-size: 1em;
    font-weight: 300;
    margin-top: 16px;
    margin-bottom: 16px; }
    @media screen and (max-width: 767px) and (min-width: 480px) {
      .blog-slider .comment-list .comment-notes {
        margin-top: 8px;
        margin-bottom: 12px; } }
    @media screen and (max-width: 479px) {
      .blog-slider .comment-list .comment-notes {
        margin-top: 4px;
        margin-bottom: 8px; } }
    .blog-slider .comment-list .comment-notes span {
      font-weight: 300; }
  .blog-slider .comment-list .used {
    top: 5px !important; }
  .blog-slider .comment-list .labels-on-top label {
    -webkit-transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -o-transition: 0.2s ease all;
    transition: 0.2s ease all; }
  .blog-slider .comment-list .children li {
    position: relative;
    left: 60px;
    padding-left: 0px; }

.partner-blue-boxes {
  padding: 40px 0 0; }

/*product-page */
.product-features .bg-img {
  padding: 20px 0;
  height: auto; }
  .product-features .bg-img img {
    width: auto; }
.product-features a {
  position: relative;
  font-size: 14px;
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
  letter-spacing: 0.05em; }
.product-features .event-head {
  float: right;
  padding: 0;
  background: white;
  margin-left: 5px;
  width: 16%; }
  .product-features .event-head:first-child {
    float: left;
    margin: 0; }
  .product-features .event-head p {
    font-size: 14px;
    font-weight: bold;
    max-width: 66%;
    margin: 0 auto;
    font-family: "Roboto Condensed", sans-serif;
    letter-spacing: 0.05em; }
  .product-features .event-head a {
    position: relative;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #1fa4d4;
    font-family: "Roboto Condensed", sans-serif; }
    .product-features .event-head a:after {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      content: "";
      height: 2px;
      opacity: 0;
      background: #1fa4d4;
      bottom: -10px;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media screen and (max-width: 666px) {
        .product-features .event-head a:after {
          bottom: -7px; } }
    .product-features .event-head a:hover:after {
      opacity: 1;
      bottom: -5px; }
.product-features .style-list {
  border: 1px solid #c2c1bd;
  height: 435px; }
.product-features .access-box {
  padding: 9px 8px 0;
  float: left;
  width: 100%; }
.product-features .bg-green {
  color: white;
  background: #3fae2a; }
.product-features .title-holder {
  white-space: nowrap;
  height: 48px;
  display: table;
  width: 100%;
  vertical-align: middle;
  padding: 0 10px 1px; }
  .product-features .title-holder p {
    max-width: 76%;
    margin: 0 auto;
    vertical-align: middle;
    display: table-cell;
    white-space: normal;
    font-family: "Roboto Condensed", sans-serif;
    letter-spacing: 0.05em;
    line-height: 14px;
    color: white; }
.product-features .text-content {
  text-align: center;
  padding: 0px 9px;
  margin-top: 8px; }
  .product-features .text-content ul {
    padding: 9px 0; }
    @media screen and (max-width: 666px) {
      .product-features .text-content ul {
        padding: 5px 0; } }
    .product-features .text-content ul li {
      padding: 8px 0 11px;
      font-weight: bold;
      font-size: 14px; }
      @media screen and (max-width: 666px) {
        .product-features .text-content ul li {
          padding: 6px 0 8px; } }
      .product-features .text-content ul li a {
        position: relative;
        font-family: "Roboto Condensed", sans-serif; }
  .product-features .text-content p {
    max-width: 76%; }
    .product-features .text-content p span {
      display: block;
      line-height: 16px; }
.product-features .tool-box ul {
  text-align: center; }
  .product-features .tool-box ul li {
    padding: 10px 0; }
.product-features .text-holder ul li {
  display: inline-block;
  padding: 0 40px; }
  .product-features .text-holder ul li a {
    position: relative;
    font-family: "Roboto Condensed", sans-serif; }
.product-features .tool-box {
  padding: 16px 10px 9px; }
  .product-features .tool-box ul li {
    padding: 3px 0;
    font-weight: bold;
    font-size: 14px; }
  .product-features .tool-box li:first-child {
    padding-bottom: 11px;
    font-family: "Roboto Condensed", sans-serif; }
.product-features .text-holder1 {
  height: 145px;
  float: left;
  background-image: url(../images/data-access1.png);
  background-repeat: no-repeat;
  margin-left: 3px;
  width: 12%;
  padding: 0;
  position: relative;
  z-index: 2;
  margin-bottom: 0; }
  .product-features .text-holder1:first-child {
    margin: 0; }
  .product-features .text-holder1 ul {
    padding-top: 8px; }
  .product-features .text-holder1 .text-bottom {
    position: absolute;
    bottom: 7%;
    left: 5%;
    right: 5%;
    text-align: center; }
    .product-features .text-holder1 .text-bottom a {
      font-size: 14px;
      color: white;
      font-family: "Roboto Condensed", sans-serif; }
    .product-features .text-holder1 .text-bottom:last-of-type span {
      float: left;
      margin: 0 10px;
      font-size: 14px; }
      @media screen and (max-width: 666px) {
        .product-features .text-holder1 .text-bottom:last-of-type span {
          margin: 0; } }
.product-features .blue-bg {
  padding: 42px 10px 13px;
  background-color: #44697d;
  text-align: center;
  border-radius: 6px;
  margin: -45px 18px -33px;
  width: 94%;
  z-index: 1;
  position: relative; }
.product-features .management-box {
  border: 1px solid #c2c1bd;
  background: #e8e8e8;
  position: relative;
  z-index: 0;
  margin-top: 13px; }
  .product-features .management-box .padding30 {
    min-height: 30px;
    background: url(../images/bg-box05.png) no-repeat;
    background-position: 0 27%;
    background-size: contain; }
    .product-features .management-box .padding30 a {
      font-size: 16px; }
    .product-features .management-box .padding30 p {
      font-size: 16px;
      font-family: "Roboto Condensed", sans-serif; }
  .product-features .management-box .title-holder {
    height: 30px;
    margin-top: -11px; }
.product-features .padding30 {
  padding: 41px 0 23px;
  text-align: center; }
.product-features .text-holder2 {
  background-image: url(../images/data-access2.png);
  background-repeat: no-repeat; }
.product-features .text-holder3 {
  background-image: url(../images/data-access3.png);
  background-repeat: no-repeat; }
.product-features .text-holder4 {
  background-image: url(../images/data-access4.png);
  background-repeat: no-repeat; }
.product-features .data-box {
  width: 50.6%; }
  .product-features .data-box .data-list {
    height: auto;
    margin-bottom: 7px; }
  .product-features .data-box .data-acess {
    height: 200px; }
    .product-features .data-box .data-acess .title-holder {
      height: 30px; }
    .product-features .data-box .data-acess p {
      padding: 1px 0;
      font-family: "Roboto Condensed", sans-serif; }
.product-features .data-list.tool-box2 {
  position: relative;
  z-index: 1;
  width: 94%;
  margin: -32px 16px;
  border: none; }

.product-features .event-head:first-child {
  float: left; }
.product-features .grey-bg p {
  font-weight: 14px;
  font-style: 700;
  padding: 13px 0;
  line-height: 16px;
  font-family: "Roboto Condensed", sans-serif;
  letter-spacing: 0.5px; }
.product-features .feature-holder {
  padding: 40px 0 0;
  max-width: 1115px;
  margin: 0 auto; }

.product-features {
  padding-bottom: 86px; }
  .product-features .event-head {
    font-family: "Roboto Condensed", sans-serif; }
    .product-features .event-head .event-list .white {
      color: white; }
      .product-features .event-head .event-list .white:hover:after {
        background: white; }
    .product-features .event-head .event-list .black {
      color: black; }
      .product-features .event-head .event-list .black:hover:after {
        background: black; }
    .product-features .event-head .features-list li {
      padding: 0 31px 8px 35px;
      font-family: "Roboto Condensed", sans-serif; }

.product-features .management-box .padding30 a:after {
  bottom: 6px; }

/*developer-links */
.developer-quick-links.steps-section {
  padding: 50px 0 100px; }
  .developer-quick-links.steps-section h2 {
    margin-bottom: 30px; }
.developer-quick-links.tutorials-section {
  padding: 93px 0 96px; }
  .developer-quick-links.tutorials-section h5 {
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif; }
.developer-quick-links .col-four {
  width: 25%;
  float: left;
  position: relative;
  height: 100%; }
  .developer-quick-links .col-four p {
    line-height: 28px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .developer-quick-links .col-four p {
        line-height: 22px; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .developer-quick-links .col-four p {
        line-height: 22px; } }
    @media screen and (max-width: 666px) and (min-width: 480px) {
      .developer-quick-links .col-four p {
        line-height: 20px; } }
    @media screen and (max-width: 479px) {
      .developer-quick-links .col-four p {
        line-height: 20px; } }
.developer-quick-links .cource-list h2 {
  line-height: 32px;
  color: #3fae2a; }
.developer-quick-links .cource-list .col-three h2 {
  line-height: 32px;
  color: #3fae2a;
  margin: 0 0 3px;
  font-family: "Roboto Condensed", sans-serif; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .developer-quick-links .cource-list .col-three h2 {
      line-height: 28px; } }
  @media screen and (max-width: 767px) {
    .developer-quick-links .cource-list .col-three h2 {
      line-height: 24px; } }
.developer-quick-links .cource-list .col-three p {
  line-height: 28px; }
  @media screen and (max-width: 1024px) and (min-width: 768px) {
    .developer-quick-links .cource-list .col-three p {
      line-height: 24px; } }
  @media screen and (max-width: 767px) {
    .developer-quick-links .cource-list .col-three p {
      line-height: 20px; } }
.developer-quick-links .cource-list .col-three .divider {
  margin: 51px 0; }
.developer-quick-links .cource-list .cource-img {
  height: 128px;
  margin-bottom: 33px; }
  @media screen and (max-width: 767px) {
    .developer-quick-links .cource-list .cource-img {
      margin-bottom: 20px; } }

.skill-block {
  padding: 53px 0;
  border: 1px solid #dad9d6;
  /*developer page */ }
  @media screen and (max-width: 666px) {
    .skill-block {
      padding: 15px 0; } }
  .skill-block .heading-career {
    margin-bottom: 8px; }
    .skill-block .heading-career h2 {
      margin-bottom: 11px; }

.developer-quick-links .cource-list {
  float: none;
  margin: 0;
  padding: 49px 0 0; }
  @media screen and (max-width: 767px) {
    .developer-quick-links .cource-list {
      padding: 20px 0; } }
  @media screen and (max-width: 479px) {
    .developer-quick-links .cource-list {
      padding: 20px 0; } }
  .developer-quick-links .cource-list .col-four {
    border-right: 1px solid #c7c7c7;
    padding: 0 17px; }
    .developer-quick-links .cource-list .col-four:last-child {
      border: 0; }
      @media screen and (max-width: 767px) {
        .developer-quick-links .cource-list .col-four:last-child {
          padding-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .developer-quick-links .cource-list .col-four:first-child {
        padding-top: 0; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .developer-quick-links .cource-list .col-four {
        width: 49.33%;
        padding: 13px 25px; }
        .developer-quick-links .cource-list .col-four:nth-child(even) {
          border-right: 0; } }
    @media screen and (max-width: 767px) {
      .developer-quick-links .cource-list .col-four {
        width: 100%;
        padding: 20px 0;
        border-right: none;
        border-bottom: 1px solid #c7c7c7; } }
    @media screen and (max-width: 479px) {
      .developer-quick-links .cource-list .col-four {
        padding-bottom: 15px; } }
    .developer-quick-links .cource-list .col-four h3 {
      font-style: normal;
      text-transform: uppercase;
      margin-bottom: 3px; }
      @media screen and (max-width: 1140px) and (min-width: 1024px) {
        .developer-quick-links .cource-list .col-four h3 {
          font-size: 25px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .developer-quick-links .cource-list .col-four h3 {
          font-size: 24px;
          line-height: 28px; } }
      @media screen and (max-width: 767px) {
        .developer-quick-links .cource-list .col-four h3 {
          font-size: 20px;
          line-height: 26px; } }
@media screen and (max-width: 767px) {
  .developer-quick-links .wrapper .cource-list .col-three:last-child {
    bottom-border: 0; } }
.developer-quick-links .wrapper .cource-list .col-three .cource-img {
  height: auto;
  margin-bottom: 32px; }
  @media screen and (max-width: 1280px) and (min-width: 1024px) {
    .developer-quick-links .wrapper .cource-list .col-three .cource-img {
      width: 260px;
      margin: 0 auto 32px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .developer-quick-links .wrapper .cource-list .col-three .cource-img {
      width: 227px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 479px) {
    .developer-quick-links .wrapper .cource-list .col-three .cource-img {
      width: 200px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .developer-quick-links .wrapper .cource-list .col-three .cource-img img {
      height: auto; } }
  @media screen and (max-width: 767px) {
    .developer-quick-links .wrapper .cource-list .col-three .cource-img img {
      height: auto; } }

.community-block .developer-wrapper {
  max-width: 850px;
  margin: 0 auto; }
  .community-block .developer-wrapper .video-wrapper {
    position: relative;
    overflow: initial;
    margin: 0 auto;
    height: auto;
    padding-bottom: 39px; }
  .community-block .developer-wrapper .v-middle-wrapper {
    background: transparent; }
  .community-block .developer-wrapper .developer-wrapper p {
    line-height: 26px; }

.developer-blue-boxes .blue-boxes {
  width: 100%; }
.developer-blue-boxes .col-three {
  background-color: #42809d;
  background-image: -webkit-linear-gradient(to right, #42809d, #3f9ec7);
  background-image: -moz-linear-gradient(to right, #42809d, #3f9ec7);
  background-image: -ms-linear-gradient(to right, #42809d, #3f9ec7);
  background-image: -o-linear-gradient(to right, #42809d, #3f9ec7);
  background-image: linear-gradient(to right, #42809d, #3f9ec7);
  padding: 39px 29px;
  height: 217px; }
  .developer-blue-boxes .col-three .inner-content {
    position: relative;
    border-left: 2px solid #3db5e6;
    padding-left: 29px;
    height: 100%; }
    .developer-blue-boxes .col-three .inner-content h3 {
      margin-bottom: 23px; }
    .developer-blue-boxes .col-three .inner-content p {
      font-size: 16px; }
  .developer-blue-boxes .col-three .learn-more {
    color: white;
    margin-left: 0; }
    .developer-blue-boxes .col-three .learn-more:before {
      background: white; }
    .developer-blue-boxes .col-three .learn-more:after {
      background: url(../images/more-arrow-wht.png) no-repeat; }
  .developer-blue-boxes .col-three .links {
    position: absolute;
    bottom: 0; }
    .developer-blue-boxes .col-three .links ul {
      list-style: none; }
      .developer-blue-boxes .col-three .links ul li {
        float: left;
        margin-right: 41px; }
        .developer-blue-boxes .col-three .links ul li img {
          width: auto;
          height: 25px; }
  .developer-blue-boxes .col-three .button-default, .developer-blue-boxes .col-three .button-white, .developer-blue-boxes .col-three .button-green, .developer-blue-boxes .col-three .button-orange {
    margin-top: 0; }

.grid-text.doc-section .col-three-outer .col-inner {
  width: 100%; }
.grid-text.doc-section .col-three-outer .col-three {
  padding-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section .col-three-outer .col-three {
      width: 100%;
      border-right: 0;
      padding: 10px 10px 0px; } }
  @media screen and (min-width: 767px) {
    .grid-text.doc-section .col-three-outer .col-three:nth-child(-n+3) {
      padding-top: 0; } }
  .grid-text.doc-section .col-three-outer .col-three h3 {
    margin-bottom: 17px; }
    @media screen and (max-width: 767px) {
      .grid-text.doc-section .col-three-outer .col-three h3 {
        margin-bottom: 15px; } }
    @media screen and (max-width: 479px) {
      .grid-text.doc-section .col-three-outer .col-three h3 {
        margin-bottom: 10px; } }
.grid-text.doc-section .links-list .text-container h4 {
  margin-bottom: 4px; }
.grid-text.doc-section .links-list .text-container p {
  font-size: 18px;
  margin-bottom: 0; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .grid-text.doc-section .links-list .text-container p {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section .links-list .text-container p {
      font-size: 14px; } }
.grid-text.doc-section .links-list .text-container {
  padding-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section .links-list .text-container {
      padding-bottom: 18px;
      float: left;
      width: 100%; } }
.grid-text.doc-section .links-list .benefit-imgs {
  float: left;
  padding: 6px 10px 0 3px;
  margin: 0;
  width: 16%; }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .grid-text.doc-section .links-list .benefit-imgs {
      width: 7%; } }
  @media screen and (max-width: 666px) and (min-width: 480px) {
    .grid-text.doc-section .links-list .benefit-imgs {
      width: 11%; } }
  @media screen and (max-width: 479px) {
    .grid-text.doc-section .links-list .benefit-imgs {
      width: 10%; } }
.grid-text.doc-section .links-list a {
  color: #3e3e3e;
  font-size: 18px;
  display: inline;
  line-height: 22px;
  text-transform: capitalize;
  display: inline-block; }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section .links-list a {
      font-size: 16px; } }
  @media screen and (max-width: 479px) {
    .grid-text.doc-section .links-list a {
      font-size: 14px; } }
  .grid-text.doc-section .links-list a span {
    position: relative; }
    .grid-text.doc-section .links-list a span:after {
      content: "";
      background: url(../images/more_arrow.png) no-repeat;
      width: 6px;
      height: 10px;
      margin-left: 8px;
      display: inline-block; }
.grid-text.doc-section .links-list a:after {
  content: ""; }
.grid-text.doc-section .links-list .learn-more:before {
  bottom: -15px; }
.grid-text.doc-section .links-list .learn-more:hover:before {
  bottom: -5px; }
.grid-text.doc-section .learn-more:after {
  top: 6px; }
.grid-text.doc-section .col-three:last-child {
  border-right: 0; }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section .col-three:last-child {
      border-bottom: 0; } }
.grid-text.doc-section .wrapper .col-three .col-inner {
  min-height: 670px;
  padding: 35px 0 29px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .grid-text.doc-section .wrapper .col-three .col-inner {
      min-height: 860px; } }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section .wrapper .col-three .col-inner {
      min-height: 222px; } }
  .grid-text.doc-section .wrapper .col-three .col-inner:first-child {
    border-bottom: 1px solid #c7c7c7; }

.feature .col-three h5 {
  color: white; }
.feature .col-three h6 {
  color: white;
  font-weight: 400; }

.programs-section {
  padding: 80px 0 94px; }
  .programs-section .cource-list .col-three {
    padding: 20px 60px 54px;
    padding: 20px; }
    .programs-section .cource-list .col-three .cource-img {
      height: auto;
      margin-bottom: 37px; }
      @media screen and (max-width: 767px) {
        .programs-section .cource-list .col-three .cource-img {
          margin-bottom: 20px; } }
    .programs-section .cource-list .col-three h1 {
      line-height: 32px;
      margin-bottom: 3px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .programs-section .cource-list .col-three h1 {
          line-height: 30px; } }
      @media screen and (max-width: 767px) and (min-width: 667px) {
        .programs-section .cource-list .col-three h1 {
          line-height: 28px; } }
      @media screen and (max-width: 666px) and (min-width: 480px) {
        .programs-section .cource-list .col-three h1 {
          line-height: 26px; } }
      @media screen and (max-width: 480px) {
        .programs-section .cource-list .col-three h1 {
          line-height: 24px; } }
    .programs-section .cource-list .col-three p {
      line-height: 28px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .programs-section .cource-list .col-three p {
          line-height: 26px; } }
      @media screen and (max-width: 767px) and (min-width: 667px) {
        .programs-section .cource-list .col-three p {
          line-height: 24px; } }
      @media screen and (max-width: 666px) and (min-width: 480px) {
        .programs-section .cource-list .col-three p {
          line-height: 22px; } }
      @media screen and (max-width: 480px) {
        .programs-section .cource-list .col-three p {
          line-height: 20px; } }
    .programs-section .cource-list .col-three .button-default, .programs-section .cource-list .col-three .button-white, .programs-section .cource-list .col-three .button-green, .programs-section .cource-list .col-three .button-orange {
      margin-top: 32px; }
      @media screen and (max-width: 767px) {
        .programs-section .cource-list .col-three .button-default, .programs-section .cource-list .col-three .button-white, .programs-section .cource-list .col-three .button-green, .programs-section .cource-list .col-three .button-orange {
          margin-top: 20px; } }

@media screen and (min-width: 667px) and (max-width: 1200px) {
  .product-features {
    padding-top: 30px;
    padding-bottom: 56px; }
    .product-features .feature-holder {
      max-width: 603px;
      padding: 25px 0 0; }
    .product-features .event-head {
      width: 32.7%; }
      .product-features .event-head a {
        padding: 0 1px; }
    .product-features .data-box {
      width: 100%;
      margin-top: 5px;
      margin-left: 0; } }
@media screen and (max-width: 666px) {
  .product-features {
    padding-top: 0;
    padding-bottom: 30px; }
    .product-features .feature-holder {
      width: 100%;
      padding: 15px 0 0; }
    .product-features .event-head {
      width: 100%; }
    .product-features .data-box {
      width: 100%;
      margin-top: 5px;
      margin-left: 0; }
      .product-features .data-box .data-acess {
        height: 673px;
        position: relative; }
    .product-features .text-holder1 {
      border: 1px solid #c2c1bd;
      background-color: white;
      background-image: none;
      width: 49%;
      margin: 6px 0 0 3px;
      height: 130px; }
      .product-features .text-holder1:first-child {
        margin: 6px 0 0 3px; }
      .product-features .text-holder1 .text-bottom {
        background: #e17000;
        padding: 7px 0 7px 0;
        bottom: 0;
        width: 100%;
        left: 0; }
    .product-features .text-holder2 {
      background-image: none; }
    .product-features .text-holder3 {
      background-image: none; }
      .product-features .text-holder3 .text-bottom {
        background: #ffc61e; }
    .product-features .text-holder4 {
      background-image: none;
      background-color: #e8e8e8; }
      .product-features .text-holder4 .text-bottom {
        background: none;
        padding: 0; }
        .product-features .text-holder4 .text-bottom:last-of-type h5 {
          width: 49%;
          margin: 0;
          padding: 7px 0; }
        .product-features .text-holder4 .text-bottom .black {
          background: #ffc61e;
          width: 50%;
          padding: 7px 0 7px 0; }
        .product-features .text-holder4 .text-bottom .white {
          background: #e17000;
          width: 50%;
          padding: 7px 0 7px 0; }
    .product-features .blue-bg {
      padding: 25px 0 25px;
      width: auto;
      position: relative;
      z-index: 1;
      margin: -75px 18px -33px; }
    .product-features .style-list {
      height: auto; }
    .product-features .management-box {
      margin-top: 47px; }
    .product-features .padding30 {
      padding: 22px 0 25px;
      background-position: 0% 141%;
      background-size: cover; }
      .product-features .padding30 a {
        font-size: 14px; }
      .product-features .padding30 h4 {
        font-size: 14px; } }
.product-features .management-box .padding30 a:after {
  -moz-transform: translateY(6px);
  -o-transform: translateY(6px);
  -ms-transform: translateY(6px);
  -webkit-transform: translateY(6px);
  transform: translateY(6px); }

@media screen and (max-width: 358px) {
  .product-features .text-holder1 {
    width: 48%; } }
/*developer page certification padding */
.certification.padding30 {
  padding: 38px 0 17px; }
  .certification.padding30 .button-default, .certification.padding30 .button-white, .certification.padding30 .button-green, .certification.padding30 .button-orange {
    margin-top: 34px; }
  .certification.padding30 h1 {
    margin: 0 0 3px; }

.content-carousal .learn-more {
  font-size: 16px; }

#video {
  margin: auto; }
  #video iframe {
    border: 0px;
    max-width: 1280px;
    max-height: 720px; }

.partner-resource {
  padding: 84px 0 81px; }

.blog-slider .author span {
  font-family: "roboto", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #404041;
  float: left;
  margin-right: 8px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .blog-slider .author span {
      font-size: 17px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .blog-slider .author span {
      font-size: 15px; } }
  @media screen and (max-width: 479px) {
    .blog-slider .author span {
      font-size: 14px; } }
  .blog-slider .author span a {
    float: left;
    width: 90%; }

.isotope-no-results,
.no_more {
  display: none;
  text-align: center;
  font-weight: bold; }

.no_more {
  margin-top: 30px; }
  @media screen and (max-width: 479px) {
    .no_more {
      margin-top: 21px; } }

#wpadminbar ul:after {
  display: none; }

.breadcrumbs .item-current {
  display: none; }
.breadcrumbs li {
  display: inline-block; }

.link-padding {
  margin-right: 19px; }

svg .horton-modern-data,
svg .horton-hdf,
svg .horton-hdp {
  cursor: pointer; }

.loadcustomer.loader {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-right: 30px; }
  .loadcustomer.loader:after {
    content: "";
    background-image: url("../images/loader3.gif");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    top: -4px;
    right: -8px; }
    @media screen and (max-width: 767px) {
      .loadcustomer.loader:after {
        top: -10px; } }

.loadentries.loader {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-right: 30px; }
  .loadentries.loader:after {
    content: "";
    background-image: url("../images/loader3.gif");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    top: -4px;
    right: -8px; }
    @media screen and (max-width: 767px) {
      .loadentries.loader:after {
        top: -10px; } }

.loadevents.loader {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-right: 30px; }
  .loadevents.loader:after {
    content: "";
    background-image: url("../images/loader3.gif");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    top: -4px;
    right: -8px; }
    @media screen and (max-width: 767px) {
      .loadevents.loader:after {
        top: -10px; } }

.loadwebinar.loader {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-right: 30px; }
  .loadwebinar.loader:after {
    content: "";
    background-image: url("../images/loader3.gif");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    top: -4px;
    right: -8px; }
    @media screen and (max-width: 767px) {
      .loadwebinar.loader:after {
        top: -10px; } }

.loadondemand.loader {
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-right: 30px; }
  .loadondemand.loader:after {
    content: "";
    background-image: url("../images/loader3.gif");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    top: -4px;
    right: -8px; }
    @media screen and (max-width: 767px) {
      .loadondemand.loader:after {
        top: -10px; } }

#resources-videos {
  padding-top: 92px; }

.legacy p {
  position: relative; }

.legacy .labels-on-top label {
  -webkit-transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -o-transition: 0.2s ease all;
  transition: 0.2s ease all; }

.grid li .sub-tab-content .col-two.resources-default .v-middle-wrapper .v-middle h5 {
  margin-bottom: 0; }

.legacy .used {
  top: 5px !important; }

.author-rss a .author span {
  top: -1px; }
  @media screen and (max-width: 767px) {
    .author-rss a .author span {
      top: -4px; } }

.lp-hero h1,
.lp-hero h2 {
  color: white;
  text-transform: uppercase;
  font-family: "Roboto Condensed", Helvetica Neue, Helvetica, Arial, sans-serif; }

.main-body .mktoForm, .main-body .location-details {
  background-color: #eeeeee;
  padding: 20px;
  position: relative;
  margin-top: -320px; }

.main-body .mktoForm h4 {
  text-transform: uppercase;
  font-family: "Roboto Condensed", Helvetica Neue, Helvetica, Arial, sans-serif;
  padding-bottom: 30px;
  margin: 12px 12px 30px 12px;
  border-bottom: 2px solid #cccccc; }

.main-body .mktoForm #subtitle {
  padding: 0 12px 30px 12px;
  line-height: 22px; }

.main-body h2 {
  font-family: "Roboto Condensed", Helvetica Neue, Helvetica, Arial, sans-serif;
  width: 75%;
  margin: 0 0 30px; }

.main-body p,
.main-body ul,
.main-body li {
  font-size: 1em;
  line-height: 1.5em;
  font-weight: 300; }

.main-body p {
  margin: 20px 0; }

.main-body ul {
  margin: 20px; }

.main-body ul li {
  list-style: initial; }

.mktoForm h4 {
  margin: 10px 12px; }

.main-body h4 {
  margin: 10px 0; }

.page-summary {
  padding-right: 20px; }

.main-body .mktoForm form input {
  margin-bottom: 5px; }

@media only screen and (min-width: 48em) {
  .main-body .page-summary {
    padding-right: 30px; }

  .hero {
    min-height: 250px; } }
@media only screen and (max-width: 667px) {
  .main-body .mktoForm, .main-body .location-details {
    margin-top: 0px; }

  .page-summary {
    margin-bottom: 40px; }

  .minimal-contact {
    display: none; } }
.main-body .mktoForm .button-default, .main-body .mktoForm .button-white, .main-body .mktoForm .button-green, .main-body .mktoForm .button-orange {
  margin-bottom: 20px; }

.minimal-contact {
  float: right;
  font-family: "Roboto Condensed", Helvetica Neue, Helvetica, Arial, sans-serif;
  padding-top: 25px;
  margin-bottom: 5px; }

.minimal-contact a {
  vertical-align: bottom;
  color: #666666;
  line-height: 22px; }

.minimal-contact .contact-logo {
  margin-right: 10px; }

.minimal-footer .footer-nav .share {
  border-right: 0px solid white; }

.minimal-footer .footer-wht .sub-nav .lic-number {
  float: none;
  margin: 10px 0; }

.minimal-footer .lic-number li:first-of-type {
  padding-right: 20px;
  margin-right: 20px;
  border-right: 1px solid #dddddd; }

.marketo_field.col div {
  position: relative; }

.marketo_field.radio.col input,
.marketo_field.checkbox.col input {
  height: 25px; }

.marketo_field.radio.col label,
.marketo_field.checkbox.col label {
  top: 5px; }

.marketo_field.radio.col > label,
.marketo_field.checkbox.col > label {
  position: relative;
  top: auto;
  left: auto;
  display: block;
  padding: 10px; }

.lp-post-type #hero-banner {
  height: 280px; }

.lp-post-type .v-middle-inner {
  text-align: left; }

.hero-title {
  padding: 40px 20px; }

.hero-title h1 {
  color: white; }

.attend-event .main-body {
  max-width: 1200px;
  margin: 0 auto; }
  .attend-event .main-body a, .attend-event .main-body a:visited {
    color: #38abe4; }
.attend-event .hero-text {
  width: 60%;
  padding: 40px; }
.attend-event .event-description {
  padding: 40px;
  font-size: 24px;
  font-weight: 300; }
.attend-event #outer-frame {
  position: relative;
  overflow: hidden;
  height: 425px; }
.attend-event #inner-frame {
  position: absolute;
  top: -415px;
  height: 900px; }
.attend-event h1, .attend-event h2, .attend-event .hero-text #event_details, .attend-event .event-description {
  font-family: "Roboto Condensed", Helvetica Neue, Helvetica, Arial, sans-serif; }
.attend-event h1 {
  margin: 0px 0 20px 0;
  font-weight: 600;
  line-height: 60px;
  font-size: 60px;
  text-transform: uppercase; }
.attend-event h2#reg {
  margin: 40px 0 0 0; }
.attend-event .page-summary {
  margin-bottom: 50px; }
.attend-event #event-map {
  border: 0px; }
.attend-event #event_details {
  margin: 20px 0; }
  .attend-event #event_details p {
    margin: 0;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
    font-size: 24px; }

@media only screen and (max-width: 900px) {
  .attend-event .hero-text #event_details {
    font-size: 24px; }
  .attend-event h1 {
    font-size: 36px;
    line-height: 42px; }
  .attend-event .hero-text {
    width: 100%;
    padding: 20px; }
  .attend-event .event-description {
    padding: 20px; } }
/* we-slider */
.we-slider {
  width: 100%;
  height: auto;
  overflow: hidden; }
  .we-slider:after {
    display: block;
    content: "";
    clear: both; }
  .we-slider .slider {
    float: left;
    width: 1000000px;
    height: 100%;
    overflow: hidden; }
    .we-slider .slider .item {
      position: relative;
      float: left;
      overflow: hidden; }
      .we-slider .slider .item .bg-img {
        height: 100%; }
        .we-slider .slider .item .bg-img img {
          position: absolute;
          width: 100%;
          height: auto;
          transition: none; }
  .we-slider .slider-nav {
    position: absolute;
    bottom: 26px;
    left: 50%;
    -moz-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
    .we-slider .slider-nav .we-btn {
      position: absolute;
      top: 0;
      width: 100%; }
      .we-slider .slider-nav .we-btn.grey .prev,
      .we-slider .slider-nav .we-btn.grey .next {
        background: #dad9d6; }
        .we-slider .slider-nav .we-btn.grey .prev:hover,
        .we-slider .slider-nav .we-btn.grey .next:hover {
          background: #3bb7da; }
      .we-slider .slider-nav .we-btn .prev,
      .we-slider .slider-nav .we-btn .next {
        position: absolute;
        top: -6px;
        cursor: pointer;
        height: 24px;
        width: 24px;
        border-radius: 50%;
        background: white;
        overflow: hidden; }
        .we-slider .slider-nav .we-btn .prev:hover,
        .we-slider .slider-nav .we-btn .next:hover {
          background: #b1b2b4; }
      .we-slider .slider-nav .we-btn .prev {
        left: -34px; }
      .we-slider .slider-nav .we-btn .next {
        right: -24px; }
    .we-slider .slider-nav span {
      background-color: white;
      border-radius: 50%;
      float: left;
      width: 12px;
      height: 12px;
      margin-right: 9px;
      cursor: pointer; }
    .we-slider .slider-nav .active {
      background-color: #b1b2b4; }

/* Solution details we-slider */
#case-study .we-slider {
  padding-bottom: 52px; }
  #case-study .we-slider .slider-nav {
    bottom: 20px; }
    #case-study .we-slider .slider-nav span {
      border: 1px solid #dad9d6; }
      #case-study .we-slider .slider-nav span.active {
        background: #dad9d6; }
    #case-study .we-slider .slider-nav .next,
    #case-study .we-slider .slider-nav .prev {
      background: #dad9d6;
      border: 1px solid #dad9d6; }
      #case-study .we-slider .slider-nav .next:hover,
      #case-study .we-slider .slider-nav .prev:hover {
        background: white; }

#case-study {
  height: auto; }
  #case-study .item {
    height: 384px; }
  #case-study .item-content {
    padding: 0 20px;
    text-align: left;
    vertical-align: bottom; }
    #case-study .item-content h6,
    #case-study .item-content p,
    #case-study .item-content a {
      color: white; }
    #case-study .item-content .item-caption {
      background-color: #3bb7da;
      float: left;
      padding: 4px 10px;
      position: absolute;
      top: 0;
      left: 20px; }
      #case-study .item-content .item-caption h6 {
        font-size: 14px;
        line-height: 22px;
        text-transform: uppercase; }
    #case-study .item-content .text-container {
      border-left: 2px solid #3db5e6;
      padding: 0 20px;
      transform: translatey(-25px); }
      #case-study .item-content .text-container p {
        font-size: 16px;
        margin: 20px 0px 25px; }
      #case-study .item-content .text-container .learn-more {
        font-size: 16px; }
        #case-study .item-content .text-container .learn-more:before {
          background: white; }
        #case-study .item-content .text-container .learn-more:after {
          background: url(../images/more-arrow-wht.png) no-repeat; }
        @media screen and (max-width: 767px) {
          #case-study .item-content .text-container .learn-more {
            font-size: 14px; } }
        @media screen and (max-width: 480px) {
          #case-study .item-content .text-container .learn-more {
            font-size: 12px; } }

/* Quote slider we-slider */
.quote-slider {
  height: 523px; }
  .quote-slider .slider-nav {
    bottom: 48px; }
  .quote-slider .item {
    height: 523px; }
  .quote-slider .bg-img img {
    width: 100%;
    height: auto; }
  .quote-slider p,
  .quote-slider h4 {
    color: white; }
  .quote-slider .item-content {
    position: relative;
    width: 884px;
    margin: 0 auto; }
    .quote-slider .item-content p {
      position: relative;
      font-size: 40px;
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 300;
      line-height: 48px;
      padding-bottom: 17px; }
      .quote-slider .item-content p:before {
        content: "";
        background: url("../images/quote-start.png");
        display: inline-block;
        width: 39px;
        height: 29px;
        margin-right: 10px; }
      .quote-slider .item-content p:after {
        content: "";
        background: url("../images/quote-close.png");
        display: inline-block;
        width: 39px;
        height: 29px;
        bottom: 26px;
        margin-left: 10px; }
    .quote-slider .item-content .person-img {
      width: 66px;
      height: 66px;
      border-radius: 50%;
      margin: 0 auto;
      overflow: hidden;
      margin-top: 12px;
      margin-bottom: 9px; }
    .quote-slider .item-content h4 {
      font-size: 18px;
      text-transform: capitalize; }

/* Webinar Slider */
#webinar-slider {
  height: 343px; }
  #webinar-slider .item {
    height: 343px; }
    #webinar-slider .item .black-overlay {
      background: rgba(0, 0, 0, 0.7); }
  #webinar-slider h1,
  #webinar-slider h3 {
    color: white;
    text-transform: uppercase;
    font-weight: 700; }
  #webinar-slider h1 {
    font-size: 50px;
    line-height: 50px;
    padding: 18px 15px 0; }
  #webinar-slider h3 {
    display: inline-block;
    font-size: 20px;
    line-height: 15px;
    padding-bottom: 3px; }
    #webinar-slider h3:first-child {
      border-right: 2px solid white;
      padding-right: 27px;
      margin-right: 27px; }
  #webinar-slider .links {
    font-size: 0;
    padding-bottom: 41px; }
    #webinar-slider .links a:first-child {
      margin-right: 8px; }

/* Press-release slider */
#press-release-slider {
  height: 499px; }
  #press-release-slider .item {
    height: 499px; }
  #press-release-slider h1 {
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 50px;
    line-height: 61px;
    padding-bottom: 3px; }
  #press-release-slider .item-content {
    display: block;
    width: 960px;
    margin: 0 auto; }

/* Career page - video slider */
.video-slider {
  overflow: hidden; }
  .video-slider h5,
  .video-slider h6,
  .video-slider p {
    color: white; }
  .video-slider .we-slider {
    height: 382px;
    overflow: visible; }
    .video-slider .we-slider .slider-nav {
      bottom: 52px; }
      .video-slider .we-slider .slider-nav span {
        border: 1px solid #b1b2b4; }
    .video-slider .we-slider .item {
      height: 382px; }
      .video-slider .we-slider .item .v-middle {
        vertical-align: bottom;
        text-align: left; }
      .video-slider .we-slider .item .video-block {
        position: relative;
        width: 68.5%;
        height: 100%;
        float: left;
        border-right: 1px solid #e8e8e8;
        overflow: hidden; }
        .video-slider .we-slider .item .video-block .item-caption {
          position: absolute;
          top: 0;
          left: 20px;
          background-color: #3bb7da;
          float: left;
          padding: 4px 10px; }
          .video-slider .we-slider .item .video-block .item-caption h6 {
            font-size: 14px;
            line-height: 22px;
            text-transform: uppercase; }
        .video-slider .we-slider .item .video-block .text-container {
          display: block;
          border-left: 2px solid #3db5e6;
          padding: 0 20px;
          z-index: 0;
          transform: translateY(-25px); }
          .video-slider .we-slider .item .video-block .text-container h5 {
            line-height: normal; }
          .video-slider .we-slider .item .video-block .text-container p {
            font-size: 16px;
            padding-top: 12px; }
      .video-slider .we-slider .item .dual-boxes {
        width: 31.5%;
        float: left; }
        .video-slider .we-slider .item .dual-boxes .upper-box,
        .video-slider .we-slider .item .dual-boxes .lower-box {
          overflow: hidden;
          border-right: 1px solid #e8e8e8;
          height: 191px; }
          .video-slider .we-slider .item .dual-boxes .upper-box img,
          .video-slider .we-slider .item .dual-boxes .lower-box img {
            width: auto;
            max-width: initial;
            height: 100%; }
        .video-slider .we-slider .item .dual-boxes .lower-box {
          border-top: 1px solid #e8e8e8; }

/* multi section slider */
.multi-section-slider {
  width: 100%;
  height: auto; }
  .multi-section-slider:after {
    display: block;
    content: "";
    clear: both; }
  .multi-section-slider .slider {
    float: left;
    width: 10000px;
    height: 100%;
    overflow: hidden; }
    .multi-section-slider .slider .item {
      position: relative;
      float: left;
      border-left: 1px solid #c7c7c7; }
      .multi-section-slider .slider .item:first-child {
        border: 0; }
      .multi-section-slider .slider .item .bg-img {
        height: 100%; }
        .multi-section-slider .slider .item .bg-img img {
          position: absolute;
          transition: none; }
  .multi-section-slider .slider-nav {
    position: absolute;
    bottom: 26px;
    left: 50%;
    -moz-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }
    .multi-section-slider .slider-nav .we-btn {
      position: absolute;
      top: 0;
      width: 100%; }
      .multi-section-slider .slider-nav .we-btn.grey .prev,
      .multi-section-slider .slider-nav .we-btn.grey .next {
        background: #dad9d6; }
        .multi-section-slider .slider-nav .we-btn.grey .prev:hover,
        .multi-section-slider .slider-nav .we-btn.grey .next:hover {
          background: #3bb7da; }
      .multi-section-slider .slider-nav .we-btn .prev,
      .multi-section-slider .slider-nav .we-btn .next {
        position: absolute;
        top: -6px;
        cursor: pointer;
        height: 24px;
        width: 24px;
        border-radius: 50%;
        background: white;
        overflow: hidden;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease; }
        .multi-section-slider .slider-nav .we-btn .prev:hover,
        .multi-section-slider .slider-nav .we-btn .next:hover {
          background: #b1b2b4; }
      .multi-section-slider .slider-nav .we-btn .prev {
        left: -34px; }
      .multi-section-slider .slider-nav .we-btn .next {
        right: -24px; }
    .multi-section-slider .slider-nav span {
      background-color: white;
      border-radius: 50%;
      float: left;
      width: 12px;
      height: 12px;
      margin-right: 9px;
      cursor: pointer;
      border: 1px solid #b1b2b4; }
    .multi-section-slider .slider-nav .active {
      background-color: #b1b2b4; }

/* Webcast Slider */
#webcast-slider {
  overflow: hidden; }
  #webcast-slider p,
  #webcast-slider h5 {
    color: white; }
  #webcast-slider .item {
    width: 640px;
    height: 359px;
    border-right: 1px solid white;
    overflow: hidden; }
  #webcast-slider .wrapper {
    padding: 0 60px; }
    #webcast-slider .wrapper .bg-img img {
      width: 100%;
      height: auto; }
    #webcast-slider .wrapper .black-overlay {
      background-color: rgba(0, 0, 0, 0.3); }
    #webcast-slider .wrapper .v-middle {
      padding: 0 20px;
      text-align: left;
      vertical-align: bottom; }
    #webcast-slider .wrapper a {
      width: 100%;
      float: left;
      margin-bottom: 15px; }
    #webcast-slider .wrapper .item-caption {
      position: absolute;
      top: 0;
      left: 20px;
      background-color: #3bb7da;
      float: left;
      padding: 4px 15px; }
      #webcast-slider .wrapper .item-caption p {
        font-size: 14px;
        line-height: 22px;
        text-transform: uppercase;
        font-weight: 700; }
    #webcast-slider .wrapper .text-container {
      display: block;
      width: 100%;
      border-left: 2px solid #3db5e6;
      padding: 0 20px;
      margin-bottom: 25px;
      z-index: 0; }
      #webcast-slider .wrapper .text-container h5 {
        display: inline-block;
        line-height: normal;
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 700; }
      #webcast-slider .wrapper .text-container p {
        font-size: 16px;
        padding-top: 18px; }
  #webcast-slider .slider-nav {
    bottom: 52px; }
    #webcast-slider .slider-nav .we-btn .prev,
    #webcast-slider .slider-nav .we-btn .next {
      background: #e8e8e8;
      border-radius: 50%;
      height: 24px;
      width: 24px; }
      #webcast-slider .slider-nav .we-btn .prev:hover,
      #webcast-slider .slider-nav .we-btn .next:hover {
        background: #1fa4d4; }
    #webcast-slider .slider-nav span {
      border: 1px solid #e8e8e8; }
      #webcast-slider .slider-nav span.active {
        background: #e8e8e8; }

/* Video carousel */
.video-carousel {
  overflow: hidden; }
  .video-carousel .video-wrapper {
    height: 337px;
    overflow: hidden; }
  .video-carousel .item {
    height: 337px; }
  .video-carousel .col-three {
    width: auto; }
  .video-carousel .v-middle-wrapper {
    background: rgba(0, 0, 0, 0.6); }
  .video-carousel h2 {
    margin-bottom: 34px; }
  .video-carousel h4 {
    color: white; }

.sol-carousel {
  padding: 54px 0 94px; }
  .sol-carousel .video-wrapper {
    height: 384px; }
  .sol-carousel .slider-nav {
    bottom: 45px; }
  .sol-carousel h2 {
    margin-bottom: 36px; }
  .sol-carousel .item {
    height: 384px; }

/* partner-block with grid slider */
.partner-block {
  font-family: "Roboto Condensed", sans-serif; }
  .partner-block .multi-section-slider .slider-nav {
    bottom: 55px; }
    .partner-block .multi-section-slider .slider-nav .we-btn .prev,
    .partner-block .multi-section-slider .slider-nav .we-btn .next {
      background: #e8e8e8;
      border-radius: 50%;
      height: 24px;
      width: 24px; }
      .partner-block .multi-section-slider .slider-nav .we-btn .prev:hover,
      .partner-block .multi-section-slider .slider-nav .we-btn .next:hover {
        background: #1fa4d4; }
    .partner-block .multi-section-slider .slider-nav span {
      border: 1px solid #e8e8e8; }
      .partner-block .multi-section-slider .slider-nav span.active {
        background: #e8e8e8; }
  .partner-block .partner-text {
    max-width: 860px;
    margin: 0 auto; }
  .partner-block h2 {
    font-weight: 700;
    margin: 0 0 27px 0; }
  .partner-block p {
    line-height: 28px; }
  .partner-block .multi-section-slider {
    margin: 28px 0;
    overflow: hidden;
    border-right: 1px solid #c7c7c7; }
  .partner-block .slider {
    float: left;
    width: 9999px; }
    .partner-block .slider .item {
      float: left;
      width: 20%; }
      .partner-block .slider .item:nth-child(n) {
        border-left: 1px solid #c7c7c7; }
      .partner-block .slider .item ul {
        border-bottom: 1px solid #c7c7c7; }
      .partner-block .slider .item:first-child {
        border-left: 1px solid #c7c7c7; }
      .partner-block .slider .item li {
        float: none;
        width: 100%;
        border: 1px solid #c7c7c7;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        height: 264px;
        display: table;
        text-align: center;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        padding: 0 15px; }
        .partner-block .slider .item li span > a img {
          max-width: 180px; }
        .partner-block .slider .item li:hover {
          box-shadow: 0px 0px 0px 3px #3db5e6 inset; }

/* Scroll Slider */
.scroll-slider {
  background: white;
  position: relative;
  padding: 0; }
  .scroll-slider .text {
    position: absolute;
    top: 0;
    width: 100%;
    text-align: center;
    background: white;
    z-index: 2;
    padding-top: 92px;
    box-shadow: 0px 46px 40px -12px white;
    margin: 0;
    font-weight: 700; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .scroll-slider .text {
        box-shadow: none;
        padding: 50px 0;
        position: relative; } }
    @media screen and (max-width: 767px) {
      .scroll-slider .text {
        box-shadow: none;
        padding: 25px 0;
        position: relative; } }
  .scroll-slider .mask {
    overflow: hidden;
    height: 615px; }
    @media screen and (max-width: 1023px) {
      .scroll-slider .mask {
        height: auto; } }
    .scroll-slider .mask.fixed-mode .animated_image {
      background-attachment: fixed !important;
      background-position: calc(50% - 270px) 254px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .scroll-slider .mask.fixed-mode .animated_image {
          background-position: calc(50% - 200px) 254px; } }
  .scroll-slider .animated-screen {
    height: 615px;
    padding: 0;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 1023px) {
      .scroll-slider .animated-screen {
        height: auto; } }
    .scroll-slider .animated-screen > .inner-container {
      width: 100%;
      margin: 0px auto;
      max-width: 1400px;
      padding: 0 20px;
      height: 100%; }
    .scroll-slider .animated-screen .animated_content {
      min-height: 1px;
      position: relative;
      display: table;
      height: 615px;
      float: right;
      z-index: 1;
      max-width: 660px;
      padding: 0 20px;
      width: 45%; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .scroll-slider .animated-screen .animated_content {
          width: 42%;
          padding-right: 0; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .scroll-slider .animated-screen .animated_content {
          display: block;
          width: 100%;
          max-width: inherit;
          float: none;
          height: auto;
          margin-bottom: 25px; } }
      @media screen and (max-width: 767px) {
        .scroll-slider .animated-screen .animated_content {
          padding: 0;
          display: block;
          width: 100%;
          max-width: inherit;
          float: none;
          height: auto;
          margin-bottom: 25px; } }
      .scroll-slider .animated-screen .animated_content .center {
        display: table-cell;
        vertical-align: middle;
        padding-bottom: 1%; }
        .scroll-slider .animated-screen .animated_content .center.first {
          vertical-align: middle;
          padding-top: 33.8%; }
          @media screen and (max-width: 1023px) and (min-width: 768px) {
            .scroll-slider .animated-screen .animated_content .center.first {
              padding: 20px;
              display: block; } }
          @media screen and (max-width: 767px) {
            .scroll-slider .animated-screen .animated_content .center.first {
              padding: 20px 0;
              display: block; } }
  .scroll-slider .animated_image {
    min-height: 1px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-color: transparent;
    background-repeat: no-repeat;
    background-attachment: scroll !important;
    background-position: calc(50% - 270px) 229px; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .scroll-slider .animated_image {
        background-position: calc(50% - 200px) 229px;
        background-size: 54%; } }
    @media screen and (max-width: 1023px) {
      .scroll-slider .animated_image {
        position: static;
        background-image: none !important; } }
    .scroll-slider .animated_image img {
      display: none; }
      @media screen and (max-width: 1023px) {
        .scroll-slider .animated_image img {
          display: inline-block; } }
  .scroll-slider h3 {
    font-size: 28px;
    line-height: 38px;
    margin: 0 0 15px;
    text-transform: capitalize;
    font-family: "Roboto Condensed", sans-serif; }
    @media screen and (max-width: 1399px) and (min-width: 1280px) {
      .scroll-slider h3 {
        font-size: 24px;
        line-height: 28px; } }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .scroll-slider h3 {
        font-size: 22px;
        line-height: 24px; } }
    @media screen and (max-width: 1023px) and (min-width: 767px) {
      .scroll-slider h3 {
        text-align: center;
        font-size: inherit;
        line-height: inherit; } }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .scroll-slider h3 {
        text-align: center;
        font-size: 20px;
        line-height: 24px; } }
    @media screen and (max-width: 767px) {
      .scroll-slider h3 {
        text-align: center;
        font-size: 16px;
        line-height: 20px; } }
  .scroll-slider .bulleted-list {
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    padding: 0; }
    .scroll-slider .bulleted-list li {
      display: block;
      position: relative;
      width: 100%;
      padding: 0 10px 0px 42px;
      margin-bottom: 20px; }
      @media screen and (max-width: 767px) {
        .scroll-slider .bulleted-list li {
          padding: 0 0 0 30px; } }
      .scroll-slider .bulleted-list li:last-of-type {
        margin-bottom: 0; }
      .scroll-slider .bulleted-list li:before {
        content: "";
        position: absolute;
        left: 0px;
        top: 3px;
        width: 24px;
        height: 24px;
        background: url(../images/bullet.png) no-repeat; }
        @media screen and (max-width: 767px) {
          .scroll-slider .bulleted-list li:before {
            top: 2px;
            width: 18px;
            height: 18px;
            background-size: cover; } }
      .scroll-slider .bulleted-list li a:after {
        top: 6px; }
      .scroll-slider .bulleted-list li p {
        font-size: 16px;
        line-height: 22px; }
        @media screen and (max-width: 1399px) and (min-width: 1280px) {
          .scroll-slider .bulleted-list li p {
            line-height: 20px; } }
        @media screen and (max-width: 1279px) and (min-width: 768px) {
          .scroll-slider .bulleted-list li p {
            font-size: 15px;
            line-height: 18px; } }
        @media screen and (max-width: 767px) {
          .scroll-slider .bulleted-list li p {
            font-size: 14px;
            line-height: 18px; } }
        .scroll-slider .bulleted-list li p strong {
          display: block;
          font-weight: 700; }

@media screen and (min-width: 1280px) and (max-width: 1399px) {
  .video-slider .we-slider .slider-nav {
    bottom: 35px; } }
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .video-slider .we-slider .slider-nav {
    bottom: 35px; } }
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .video-slider .we-slider {
    height: 400px;
    margin-bottom: 22px; }
    .video-slider .we-slider .item {
      height: 400px; }
    .video-slider .we-slider .slider-nav {
      bottom: 35px; }

  .quote-slider {
    height: 400px; }
    .quote-slider .slider-nav {
      bottom: 48px; }
    .quote-slider .item {
      height: 400px; }
    .quote-slider .item-content {
      width: 100%; }
      .quote-slider .item-content p {
        font-size: 30px;
        line-height: 35px;
        padding: 0 10px 17px; }
      .quote-slider .item-content .person-img {
        margin-top: 3px;
        margin-bottom: 7px; }

  #webinar-slider h3 {
    font-size: 18px;
    line-height: 15px;
    padding-bottom: 0px; }
    #webinar-slider h3:first-child {
      padding-right: 15px;
      margin-right: 15px; }
  #webinar-slider h1 {
    font-size: 40px;
    padding: 3px 15px 0; }
  #webinar-slider .links a {
    margin-top: 11px; }

  #webcast-slider .wrapper .text-container h3 {
    line-height: 24px; }
  #webcast-slider .item {
    height: 300px; }
  #webcast-slider .slider-nav {
    bottom: 25px; }

  .partner-block .slider .item li {
    height: 200px; }
  .partner-block .multi-section-slider .slider-nav {
    bottom: 40px; }

  #press-release-slider {
    height: 400px; }
    #press-release-slider .item {
      height: 400px; }
    #press-release-slider h1 {
      font-size: 40px;
      line-height: 49px; }
    #press-release-slider .item-content {
      width: 100%;
      padding: 0 20px; }

  .video-carousel.feature .three-col-row {
    height: 250px; }
    .video-carousel.feature .three-col-row h2 {
      font-size: 18px;
      margin-bottom: 3px; }
    .video-carousel.feature .three-col-row p {
      font-size: 15px;
      line-height: 19px; }
    .video-carousel.feature .three-col-row .col-three:hover .hover-btn {
      -moz-transform: translateY(-100px);
      -o-transform: translateY(-100px);
      -ms-transform: translateY(-100px);
      -webkit-transform: translateY(-100px);
      transform: translateY(-100px); }
  .video-carousel .video-wrapper {
    height: 250px; }
  .video-carousel .item {
    height: 250px; } }
/* 481px to 767px */
@media screen and (max-width: 767px) {
  .video-slider .we-slider {
    height: 600px;
    margin-bottom: 30px; }
    .video-slider .we-slider .item {
      height: 600px; }
      .video-slider .we-slider .item .video-block {
        height: 300px;
        width: 100%; }
        .video-slider .we-slider .item .video-block .item-caption {
          padding: 0px 15px;
          left: 20px; }
          .video-slider .we-slider .item .video-block .item-caption h6 {
            font-size: 12px;
            line-height: 20px; }
        .video-slider .we-slider .item .video-block .text-container {
          bottom: 10px;
          left: 20px;
          border-left: 1px solid #3db5e6;
          padding-left: 20px; }
          .video-slider .we-slider .item .video-block .text-container p {
            font-size: 14px;
            line-height: 17px;
            padding-top: 8px; }
        .video-slider .we-slider .item .video-block a img {
          width: 50px;
          height: 50px; }
      .video-slider .we-slider .item .dual-boxes {
        width: 100%; }
        .video-slider .we-slider .item .dual-boxes .upper-box,
        .video-slider .we-slider .item .dual-boxes .lower-box {
          height: 150px; }
          .video-slider .we-slider .item .dual-boxes .upper-box img,
          .video-slider .we-slider .item .dual-boxes .lower-box img {
            width: 100%;
            height: auto; }
    .video-slider .we-slider .slider-nav {
      bottom: 33px; }

  .quote-slider {
    height: 350px; }
    .quote-slider .slider-nav {
      bottom: 48px; }
    .quote-slider .item {
      height: 350px; }
    .quote-slider .item-content {
      width: 100%; }
      .quote-slider .item-content p {
        font-size: 20px;
        line-height: 24px;
        padding: 0 10px 15px; }
        .quote-slider .item-content p:after, .quote-slider .item-content p:before {
          width: 20px;
          height: 15px;
          background-size: cover;
          background-repeat: no-repeat; }
        .quote-slider .item-content p:before {
          margin-right: 5px; }
      .quote-slider .item-content h4 {
        font-size: 14px; }
      .quote-slider .item-content .person-img {
        margin-top: 1px;
        margin-bottom: 5px; }

  #webinar-slider h3 {
    font-size: 16px;
    line-height: 20px;
    padding-bottom: 0px;
    width: 100%; }
    #webinar-slider h3:first-child {
      padding-right: 0px;
      margin-right: 0px;
      border: none; }
  #webinar-slider h1 {
    font-size: 30px;
    line-height: 37px;
    padding: 3px 15px 0; }
  #webinar-slider .links a {
    margin-top: 11px; }

  #webcast-slider .wrapper {
    padding: 0 15px; }
    #webcast-slider .wrapper .item-caption {
      padding: 0px 15px;
      left: 20px; }
      #webcast-slider .wrapper .item-caption h6 {
        font-size: 12px;
        line-height: 20px; }
    #webcast-slider .wrapper a img {
      width: 50px;
      height: 50px; }
    #webcast-slider .wrapper .text-container {
      left: 20px;
      padding-left: 20px;
      bottom: 10px; }
      #webcast-slider .wrapper .text-container h3 {
        line-height: 22px; }
  #webcast-slider .item {
    height: 300px; }
  #webcast-slider .slider-nav {
    bottom: 18px; }

  .partner-block .multi-section-slider .slider-nav {
    bottom: 35px; }

  #press-release-slider {
    height: 350px; }
    #press-release-slider .item {
      height: 350px; }
    #press-release-slider h1 {
      font-size: 30px;
      line-height: 37px; }
    #press-release-slider .item-content {
      width: 100%;
      padding: 0 20px; }

  .content-carousel .we-slider {
    width: 100%; }
    .content-carousel .we-slider .slider .item {
      height: 300px; }
      .content-carousel .we-slider .slider .item .slide-content .text-container h3 {
        font-size: 18px;
        line-height: 21px;
        padding-top: 7px;
        padding-bottom: 17px; }
      .content-carousel .we-slider .slider .item .slide-content .text-container p {
        font-size: 14px;
        line-height: 17px; }
      .content-carousel .we-slider .slider .item .slide-content .links {
        margin-top: 13px; }
      .content-carousel .we-slider .slider .item .caption {
        padding: 0px 15px;
        left: 20px; }
        .content-carousel .we-slider .slider .item .caption h6 {
          font-size: 12px;
          line-height: 20px; }
      .content-carousel .we-slider .slider .item .slide-content {
        left: 20px;
        padding-left: 20px; }
  .content-carousel .partner-links {
    width: 100%;
    padding-bottom: 50px; }
    .content-carousel .partner-links .blue-box {
      height: 170px;
      padding: 24px 20px; }
      .content-carousel .partner-links .blue-box .inner-content {
        padding-left: 20px; }
        .content-carousel .partner-links .blue-box .inner-content p {
          font-size: 14px;
          line-height: 17px;
          padding: 0; }
    .content-carousel .partner-links h3 {
      line-height: 20px; }

  .video-carousel.feature .three-col-row h2 {
    font-size: 18px;
    margin-bottom: 3px; }
  .video-carousel.feature .three-col-row p {
    font-size: 15px;
    line-height: 19px; }
  .video-carousel.feature .three-col-row .col-three {
    height: 200px; }
    .video-carousel.feature .three-col-row .col-three:hover .hover-btn {
      -moz-transform: translateY(-80px);
      -o-transform: translateY(-80px);
      -ms-transform: translateY(-80px);
      -webkit-transform: translateY(-80px);
      transform: translateY(-80px); }
  .video-carousel .video-wrapper {
    height: 200px; }
  .video-carousel .item {
    height: 200px; }
  .video-carousel .multi-section-slider .slider-nav {
    bottom: 15px; } }
/* max-width-667 */
@media screen and (max-width: 667px) {
  #webcast-slider .multi-section-slider {
    margin-bottom: 15px; }
  #webcast-slider .slider-nav {
    bottom: 20px; } }
@media screen and (max-width: 480px) {
  .partner-block .multi-section-slider .slider-nav {
    bottom: 25px;
    left: 30%;
    -moz-transform: translate(-20%, 0);
    -o-transform: translate(-20%, 0);
    -ms-transform: translate(-20%, 0);
    -webkit-transform: translate(-20%, 0);
    transform: translate(-20%, 0); }
    .partner-block .multi-section-slider .slider-nav span {
      margin-right: 5px; } }
#resources {
  padding-top: 80px; }
  #resources h2 {
    margin-bottom: 38px; }

.partner-title {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  color: #1fa4d4;
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.01em; }

.slide-item .slide-img img {
  width: 100%; }
.slide-item .v-middle-wrapper .v-middle-inner {
  max-width: 1140px;
  margin: auto;
  padding: 0px 20px; }

.slide-logo {
  max-width: 265px;
  width: 24%; }
  .slide-logo img {
    width: 100%;
    max-width: 265px; }

.slide-text-center.slide-text h1 {
  text-align: center; }

.slide-text {
  padding-left: 56px; }
  .slide-text h1 {
    font-size: 65px;
    font-family: "Roboto Condensed", sans-serif;
    color: white;
    line-height: 65px;
    text-align: left; }
  .slide-text .slide-caption {
    max-width: 580px;
    position: relative;
    margin: 10px 0 0 2px;
    padding: 0 42px 0 0; }
    .slide-text .slide-caption .caption-text {
      display: block;
      background: white;
      color: #222222;
      border: 0;
      height: 39px;
      font-size: 16px;
      line-height: 26px;
      font-weight: 500;
      padding: 8px 10px 11px 15px;
      overflow: hidden; }
    .slide-text .slide-caption a {
      display: block;
      position: absolute;
      min-width: 42px;
      width: 42px;
      height: 39px;
      border: 0;
      right: 0;
      top: 0;
      margin-left: -4px;
      margin-top: 0;
      font-size: 18px;
      line-height: 39px;
      vertical-align: top;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: white;
      background: #3fae2a;
      padding: 0 15px;
      -webkit-transition: background 0.3s, color 0.3s;
      transition: background 0.3s, color 0.3; }
      .slide-text .slide-caption a .icon {
        display: block; }
      .slide-text .slide-caption a .icon:before {
        content: "";
        background-image: url("../images/right-arrow.png");
        height: 17px;
        width: 16px;
        top: 11px;
        left: 12px;
        position: absolute; }

/* hero-slider */
.home-page-slider {
  min-height: 363px;
  max-height: 495px; }

.hero-slider {
  position: relative;
  height: 100% !important;
  width: 100%;
  overflow: hidden; }
  .hero-slider:hover .prev,
  .hero-slider:hover .next {
    opacity: 1 !important; }
  .hero-slider .item-wrapper:first-of-type .slide-item:first-child {
    position: absolute;
    left: 100vw; }
    .hero-slider .item-wrapper:first-of-type .slide-item:first-child .slide-logo {
      display: none; }
  .hero-slider h3 {
    font-weight: 300;
    line-height: 34px;
    color: white;
    text-align: left; }
  .hero-slider .button-default, .hero-slider .button-white, .hero-slider .button-green, .hero-slider .button-orange {
    float: left; }
  .hero-slider .slide-text-center .button-default, .hero-slider .slide-text-center .button-white, .hero-slider .slide-text-center .button-green, .hero-slider .slide-text-center .button-orange {
    float: none; }
  .hero-slider .item-wrapper {
    float: left;
    position: relative;
    width: 9999px;
    height: 100%;
    margin-left: 0; }
    .hero-slider .item-wrapper:after {
      display: block;
      content: "";
      clear: both; }
    .hero-slider .item-wrapper .slide-item {
      float: left;
      position: absolute;
      left: 0;
      width: 0;
      height: 100%;
      overflow: hidden; }
      .hero-slider .item-wrapper .slide-item .slide-content {
        text-align: center;
        opacity: 0;
        -webkit-transition: opacity 1s ease 0.3s;
        transition: opacity 1s ease 0.3s; }
      .hero-slider .item-wrapper .slide-item .slide-img {
        height: inherit; }
        .hero-slider .item-wrapper .slide-item .slide-img img {
          width: 100%;
          position: relative;
          height: inherit; }
    .hero-slider .item-wrapper .active .slide-content {
      opacity: 1; }
  .hero-slider .hero-nav {
    position: absolute;
    z-index: 2;
    bottom: 18px;
    text-align: center; }
    .hero-slider .hero-nav .pagination,
    .hero-slider .hero-nav li {
      display: inline-block;
      vertical-align: middle;
      padding: 0 3px 3px 3px; }
      .hero-slider .hero-nav .pagination a,
      .hero-slider .hero-nav li a {
        display: block;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: white;
        overflow: hidden;
        text-indent: 101%;
        white-space: nowrap; }
    .hero-slider .hero-nav .pagination span {
      background-color: white;
      border-radius: 50%;
      float: left;
      width: 12px;
      height: 12px;
      margin-right: 9px;
      cursor: pointer;
      text-indent: 94%;
      overflow: hidden; }
    .hero-slider .hero-nav .pagination .active a {
      background: #b1b2b4; }
    .hero-slider .hero-nav .prev,
    .hero-slider .hero-nav .next {
      display: inline-block;
      position: absolute;
      top: -4px;
      cursor: pointer;
      opacity: 0;
      -webkit-transition: background 0.3s, opacity 0.5s;
      transition: background 0.3s, opacity 0.5s;
      background: white;
      border-radius: 50%; }
    .hero-slider .hero-nav .prev {
      left: -25px; }
    .hero-slider .hero-nav .next {
      right: -25px; }

.hero-nav:hover .prev, .hero-nav:hover .next {
  opacity: 1; }
.hero-nav .prev:hover {
  background: #b1b2b4; }
.hero-nav .next:hover {
  background: #b1b2b4; }

.hero-slider .item-wrapper:first-of-type .slide-item:first-child .slide-logo {
  display: none; }

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .hero-slider .slide-text h1 {
    font-size: 58px;
    line-height: 60px; }
  .hero-slider .slide-logo {
    max-width: 220px; }
    .hero-slider .slide-logo img {
      max-width: 220px; } }
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .hero-slider .slide-text h1 {
    font-size: 52px;
    line-height: 54px; }
  .hero-slider .slide-logo {
    max-width: 180px; }
    .hero-slider .slide-logo img {
      max-width: 180px; } }
.hero-slider .slide-text {
  padding: 0 56px; }

@media screen and (min-width: 480px) and (max-width: 767px) {
  .hero-slider .slide-text h1 {
    font-size: 38px;
    line-height: 40px; } }
@media screen and (min-width: 480px) and (max-width: 666px) {
  .hero-slider .slide-text {
    padding: 0 25px; } }
@media screen and (max-width: 767px) {
  .hero-slider .slide-content .v-middle-inner {
    padding: 0 20px; }
  .hero-slider .slide-logo {
    display: none; }
  .hero-slider h3 {
    line-height: 22px;
    margin-top: 5px;
    text-align: center; }
  .hero-slider .button-default, .hero-slider .button-white, .hero-slider .button-green, .hero-slider .button-orange {
    float: none; }

  .slide-text h1 {
    text-align: center; } }
@media screen and (max-width: 480px) {
  .hero-slider .slide-text h1 {
    font-size: 34px;
    line-height: 36px; }
  .hero-slider .slide-text {
    padding: 0; } }
/* Common Style for Filter tabs */
.tab-filter .filter-tab {
  width: 100%; }
  .tab-filter .filter-tab:after {
    display: block;
    content: "";
    clear: both; }
  .tab-filter .filter-tab .toggle-tab {
    display: none;
    width: 100%;
    height: 40px;
    background: #e8e8e8;
    padding: 0 15px;
    cursor: pointer;
    text-transform: uppercase;
    text-align: left;
    font-family: "roboto", sans-serif;
    font-size: 14px;
    line-height: 18px;
    font-weight: 700;
    color: #404041; }
  .tab-filter .filter-tab .tabsets {
    float: left;
    width: 100%;
    display: block;
    height: 42px; }
    .tab-filter .filter-tab .tabsets ul {
      padding-left: 0;
      float: left;
      font-size: 0;
      display: table;
      min-height: 42px;
      width: 100%;
      height: 42px; }
      .tab-filter .filter-tab .tabsets ul li {
        display: table-cell;
        position: relative;
        width: 20%;
        background-color: white;
        height: auto;
        border-top: 1px solid #c7c7c7;
        border-bottom: 1px solid #c7c7c7;
        vertical-align: middle;
        padding: 0 5px; }
        .tab-filter .filter-tab .tabsets ul li a {
          font-size: 14px;
          line-height: 16px;
          color: #404041;
          display: inline-block;
          width: 100%;
          font-weight: 700;
          text-transform: uppercase;
          padding: 0px 0; }
        .tab-filter .filter-tab .tabsets ul li.active {
          background-color: #456b7e;
          border-top: 1px solid #456b7e;
          border-bottom: 1px solid #456b7e;
          border-left: 1px solid #456b7e;
          border-right: 1px solid #456b7e; }
          .tab-filter .filter-tab .tabsets ul li.active a {
            color: white; }
          .tab-filter .filter-tab .tabsets ul li.active:after {
            content: "";
            background: url(../images/down-arrow-blue.png) no-repeat;
            width: 16px;
            height: 9px;
            position: absolute;
            left: calc(50% - 8px);
            bottom: -14px;
            -moz-transform: translate(0%, -50%);
            -o-transform: translate(0%, -50%);
            -ms-transform: translate(0%, -50%);
            -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%); }
        .tab-filter .filter-tab .tabsets ul li:first-child {
          border-left: 1px solid #c7c7c7; }
        .tab-filter .filter-tab .tabsets ul li:last-child {
          border-right: 1px solid #c7c7c7; }
  .tab-filter .filter-tab .sort-by {
    float: left; }
    .tab-filter .filter-tab .sort-by .select-list {
      float: left;
      height: 42px;
      width: 56%; }
      .tab-filter .filter-tab .sort-by .select-list:nth-child(2) {
        width: 43%;
        margin-left: 1%; }
      .tab-filter .filter-tab .sort-by .select-list .options {
        top: 40px;
        width: 100%; }

/* filter-press-release */
.filter-press-release .filter-tab .tabsets {
  width: 76%; }
.filter-press-release .filter-tab .sort-by {
  width: 24%; }
.filter-press-release .filter-container {
  padding-top: 30px; }
  .filter-press-release .filter-container:after {
    display: block;
    content: "";
    clear: both; }
.filter-press-release .filter-elements {
  border-top: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7; }
  .filter-press-release .filter-elements .item {
    height: 384px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #c7c7c7;
    border-right: 1px solid #c7c7c7; }
    .filter-press-release .filter-elements .item bg-img img {
      width: 100%;
      height: auto; }
    .filter-press-release .filter-elements .item .v-middle-inner {
      text-align: left; }
    .filter-press-release .filter-elements .item .item-content {
      padding-right: 20px;
      padding-left: 20px;
      vertical-align: bottom; }
      @media screen and (max-width: 479px) {
        .filter-press-release .filter-elements .item .item-content {
          padding-left: 0; } }
      .filter-press-release .filter-elements .item .item-content .item-caption {
        background-color: #3bb7da;
        float: left;
        padding: 4px 10px;
        position: absolute;
        top: 0; }
        .filter-press-release .filter-elements .item .item-content .item-caption h6 {
          font-size: 14px;
          line-height: 22px;
          text-transform: uppercase;
          color: white; }
      .filter-press-release .filter-elements .item .item-content .text-container {
        float: left;
        width: 100%;
        margin-bottom: 63px; }
        .filter-press-release .filter-elements .item .item-content .text-container .news-date {
          font-weight: 700;
          font-size: 18px; }
        .filter-press-release .filter-elements .item .item-content .text-container h5 {
          color: #404041;
          font-size: 22px;
          line-height: normal;
          font-family: "Roboto Condensed", sans-serif;
          font-weight: 700;
          margin-top: 28px; }
          @media screen and (max-width: 1023px) and (min-width: 768px) {
            .filter-press-release .filter-elements .item .item-content .text-container h5 {
              font-size: 20px;
              line-height: 22px; } }
          @media screen and (max-width: 767px) and (min-width: 480px) {
            .filter-press-release .filter-elements .item .item-content .text-container h5 {
              font-size: 18px;
              line-height: 20px; } }
          @media screen and (max-width: 479px) {
            .filter-press-release .filter-elements .item .item-content .text-container h5 {
              font-size: 16px;
              line-height: 18px; } }
      .filter-press-release .filter-elements .item .item-content .learn-more {
        position: absolute;
        bottom: 28px;
        left: 20px;
        font-size: 16px; }
        @media screen and (max-width: 767px) and (min-width: 480px) {
          .filter-press-release .filter-elements .item .item-content .learn-more {
            font-size: 14px; } }
        @media screen and (max-width: 479px) {
          .filter-press-release .filter-elements .item .item-content .learn-more {
            font-size: 14px; } }
      .filter-press-release .filter-elements .item .item-content.black-overlay {
        position: relative;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7); }
        .filter-press-release .filter-elements .item .item-content.black-overlay .news-date,
        .filter-press-release .filter-elements .item .item-content.black-overlay h5 {
          color: white; }
    .filter-press-release .filter-elements .item.col-seven .v-middle-wrapper {
      left: initial;
      right: 0;
      width: 50%; }
    .filter-press-release .filter-elements .item.col-seven .black-overlay {
      width: 100%; }
.filter-press-release .filter-sidebar {
  background-image: url("../images/gradient.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 768px;
  float: right;
  overflow: auto;
  border-top: 1px solid #c7c7c7;
  text-transform: uppercase;
  box-sizing: content-box; }
  .filter-press-release .filter-sidebar h6 {
    color: white;
    font-size: 20px;
    line-height: 22px;
    font-family: "roboto", sans-serif;
    font-weight: 700;
    padding-bottom: 39px; }
  .filter-press-release .filter-sidebar .filter-sidebar-padding {
    padding: 43px 10px 10px 30px; }
  .filter-press-release .filter-sidebar ol {
    list-style-type: decimal;
    padding-right: 20px;
    padding-left: 17px; }
    .filter-press-release .filter-sidebar ol li {
      position: relative;
      margin-bottom: 56px;
      list-style-type: none;
      counter-increment: list;
      padding-left: 10px; }
      .filter-press-release .filter-sidebar ol li .sidebar-links {
        position: relative;
        display: inline-block;
        color: white;
        font-size: 16px;
        font-weight: 700;
        line-height: 17px;
        padding-left: 15px; }
        .filter-press-release .filter-sidebar ol li .sidebar-links:before {
          content: "";
          width: 2px;
          height: calc(100% - 8px);
          background: white;
          position: absolute;
          top: 5px;
          left: 0; }
        .filter-press-release .filter-sidebar ol li .sidebar-links span {
          display: inline-block;
          background: url(../images/more-arrow-wht.png) no-repeat;
          width: 6px;
          height: 10px;
          margin-left: 9px;
          margin-right: -9px; }
      .filter-press-release .filter-sidebar ol li:after {
        content: "";
        opacity: 0;
        background: white;
        width: calc(100% - 26px);
        height: 2px;
        position: absolute;
        right: 0px;
        bottom: -15px;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease; }
      .filter-press-release .filter-sidebar ol li:before {
        content: counter(list) "";
        position: absolute;
        left: -18px;
        top: 4px;
        text-align: right;
        color: white;
        font-size: 16px;
        font-weight: 700; }
      .filter-press-release .filter-sidebar ol li:hover:after {
        opacity: 1;
        bottom: -9px; }
      .filter-press-release .filter-sidebar ol li:last-child {
        margin-bottom: 0; }
.filter-press-release .button-default, .filter-press-release .button-white, .filter-press-release .button-green, .filter-press-release .button-orange {
  margin-top: 60px; }

/* Filter videos */
.filter-videos .tab-filter .filter-tab .tabsets {
  width: 100%; }
  .filter-videos .tab-filter .filter-tab .tabsets ul li {
    width: 14.28%; }
.filter-videos .tab-filter .filter-tab .sort-by {
  width: 15.5%;
  display: none; }
  .filter-videos .tab-filter .filter-tab .sort-by .select-list {
    width: 100%; }
    .filter-videos .tab-filter .filter-tab .sort-by .select-list .options {
      width: 100%; }
.filter-videos h5 {
  color: white; }
.filter-videos .filter-elements {
  padding-top: 30px; }
  .filter-videos .filter-elements:after {
    display: block;
    content: "";
    clear: both; }
  .filter-videos .filter-elements .item {
    position: relative;
    height: 384px;
    border-bottom: 1px solid #c7c7c7;
    overflow: hidden; }
    .filter-videos .filter-elements .item:nth-child(even) {
      border-left: 1px solid #c7c7c7; }
    .filter-videos .filter-elements .item .black-overlay {
      background-color: rgba(0, 0, 0, 0.5); }
  .filter-videos .filter-elements .v-middle {
    padding: 0 0;
    text-align: left;
    vertical-align: bottom; }
    .filter-videos .filter-elements .v-middle img {
      margin-bottom: 15px; }
    .filter-videos .filter-elements .v-middle .item-caption {
      position: absolute;
      top: 0;
      left: 20px;
      background-color: #3bb7da;
      float: left;
      padding: 4px 10px; }
      .filter-videos .filter-elements .v-middle .item-caption p {
        font-size: 14px;
        line-height: 22px;
        text-transform: uppercase;
        font-weight: 700;
        color: white; }
    .filter-videos .filter-elements .v-middle .text-container {
      display: block;
      width: 100%;
      border-left: 2px solid #3db5e6;
      padding: 0 20px;
      margin-bottom: 25px;
      z-index: 0; }
      .filter-videos .filter-elements .v-middle .text-container h5 {
        line-height: normal;
        font-family: Roboto Condensed; }
    .filter-videos .filter-elements .v-middle:nth-child(odd) {
      border-right: 1px solid white; }
.filter-videos .pagination {
  position: absolute;
  bottom: 48px;
  left: 50%;
  -moz-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0); }
  .filter-videos .pagination .page-btn {
    position: absolute;
    top: 0;
    width: 100%; }
    .filter-videos .pagination .page-btn .prev,
    .filter-videos .pagination .page-btn .next {
      position: absolute;
      top: -2px;
      cursor: pointer; }
    .filter-videos .pagination .page-btn .prev {
      left: -34px; }
    .filter-videos .pagination .page-btn .next {
      right: -34px; }
  .filter-videos .pagination span {
    font-size: 18px;
    padding: 5px 8px;
    color: #404041;
    font-weight: 700;
    border-bottom: 4px solid white;
    margin: 0 12px;
    cursor: pointer; }
  .filter-videos .pagination .active {
    color: #3fae2a;
    border-bottom: 4px solid #3fae2a; }

/* Hadoop Projects */
.hdf-hadoop .content-870 p,
.hdp-hadoop .content-870 p {
  line-height: 28px;
  margin: 5px 0 53px; }
.hdf-hadoop .filter-container,
.hdp-hadoop .filter-container {
  padding-top: 60px; }
.hdf-hadoop .filter-elements,
.hdp-hadoop .filter-elements {
  border-bottom: none; }
  .hdf-hadoop .filter-elements .item,
  .hdp-hadoop .filter-elements .item {
    height: auto;
    border-top: none;
    text-align: center;
    border-right: 1px solid #c7c7c7; }
    .hdf-hadoop .filter-elements .item:nth-child(4n),
    .hdp-hadoop .filter-elements .item:nth-child(4n) {
      border-right: none !important; }
    .hdf-hadoop .filter-elements .item .item-content,
    .hdp-hadoop .filter-elements .item .item-content {
      padding: 0;
      margin: 0 40px;
      border-bottom: 1px solid #c7c7c7; }
      .hdf-hadoop .filter-elements .item .item-content .text-container,
      .hdp-hadoop .filter-elements .item .item-content .text-container {
        margin-top: 0; }
        .hdf-hadoop .filter-elements .item .item-content .text-container h5,
        .hdp-hadoop .filter-elements .item .item-content .text-container h5 {
          color: #3fae2a;
          font-family: "Roboto Condensed", sans-serif;
          text-transform: uppercase; }
        .hdf-hadoop .filter-elements .item .item-content .text-container p,
        .hdp-hadoop .filter-elements .item .item-content .text-container p {
          line-height: 28px;
          font-weight: normal;
          margin-top: 4px; }
      .hdf-hadoop .filter-elements .item .item-content .img-container,
      .hdp-hadoop .filter-elements .item .item-content .img-container {
        display: table;
        height: 137px;
        width: 100%;
        vertical-align: middle; }
        .hdf-hadoop .filter-elements .item .item-content .img-container .hdp-img,
        .hdp-hadoop .filter-elements .item .item-content .img-container .hdp-img {
          display: table-cell;
          vertical-align: middle; }
      .hdf-hadoop .filter-elements .item .item-content .learn-more,
      .hdp-hadoop .filter-elements .item .item-content .learn-more {
        position: relative;
        bottom: auto;
        left: auto;
        margin: 20px 0; }

.hdp-hadoop .tab-filter .filter-tab .tabsets ul li {
  width: 16.6%; }

.hdf-hadoop .tab-filter .filter-tab .tabsets ul li {
  width: 25%; }

@media screen and (max-width: 1399px) {
  .tab-filter .filter-tab .sort-by .select-list {
    padding: 0 15px !important; }
    .tab-filter .filter-tab .sort-by .select-list .options li {
      padding: 10px 15px; }

  .filter-videos .filter-elements .item {
    height: 330px; }
    .filter-videos .filter-elements .item .bg-img img {
      height: auto;
      width: 100% !important; } }
@media screen and (max-width: 1279px) {
  .tab-filter .filter-tab .tabsets {
    width: 100%;
    float: none;
    margin-bottom: 30px; }
    .tab-filter .filter-tab .tabsets ul li a {
      font-size: 13px; }
  .tab-filter .filter-tab .sort-by {
    width: 400px;
    float: none;
    margin: 0 auto; }

  .filter-press-release .filter-tab .tabsets {
    width: 100%; }

  .filter-videos .tab-filter .filter-tab .tabsets {
    width: 100%; }
  .filter-videos .tab-filter .filter-tab .sort-by {
    width: 100%; }
    .filter-videos .tab-filter .filter-tab .sort-by .select-list {
      width: 200px;
      margin: 0 auto;
      float: none; }
  .filter-videos .filter-elements .item .bg-img img {
    height: 100%;
    width: auto !important; }
  .filter-videos .pagination {
    bottom: 30px; } }
@media screen and (max-width: 1023px) {
  .hdf-hadoop .filter-elements .item .item-content,
  .hdp-hadoop .filter-elements .item .item-content {
    height: auto;
    padding-bottom: 15px;
    margin: 0 20px; }
    .hdf-hadoop .filter-elements .item .item-content .text-container p,
    .hdp-hadoop .filter-elements .item .item-content .text-container p {
      line-height: 26px; }

  .filter-press-release .filter-sidebar h4 {
    font-size: 18px;
    padding-bottom: 15px; }
  .filter-press-release .filter-sidebar ol {
    padding: 0 7px; }
    .filter-press-release .filter-sidebar ol li {
      margin-bottom: 20px;
      padding-left: 0; }
      .filter-press-release .filter-sidebar ol li:before {
        font-size: 14px;
        left: -13px; }
      .filter-press-release .filter-sidebar ol li:after {
        width: calc(100% - 12px); }
      .filter-press-release .filter-sidebar ol li .sidebar-links {
        font-size: 14px;
        padding-left: 13px; }
  .filter-press-release .filter-elements .col-three {
    width: 50%; }
  .filter-press-release .filter-elements .col-seven {
    width: 100%; }

  .filter-videos .filter-elements .item {
    height: 300px; }
    .filter-videos .filter-elements .item .bg-img img {
      height: 300px;
      width: auto !important; }
  .filter-videos .pagination {
    bottom: 25px; }
    .filter-videos .pagination span {
      font-size: 16px;
      padding: 5px; } }
@media screen and (max-width: 767px) {
  .tab-filter .filter-tab {
    position: relative; }
    .tab-filter .filter-tab .toggle-tab {
      display: block; }
      .tab-filter .filter-tab .toggle-tab:hover {
        background: #d8d8d8; }
      .tab-filter .filter-tab .toggle-tab:after {
        content: "";
        position: absolute;
        background-image: url("../images/down-arrow.png");
        background-size: cover;
        background-repeat: no-repeat;
        width: 11px;
        height: 9px;
        top: 18px;
        right: 16px; }
    .tab-filter .filter-tab .tabsets {
      display: none;
      position: absolute;
      width: 100% !important;
      margin-right: 1%;
      z-index: 3; }
      .tab-filter .filter-tab .tabsets ul {
        border: none; }
        .tab-filter .filter-tab .tabsets ul li {
          display: block;
          width: 100% !important;
          border: none;
          text-align: left;
          background: #e8e8e8;
          padding: 0; }
          .tab-filter .filter-tab .tabsets ul li:hover {
            background: #cccccc; }
          .tab-filter .filter-tab .tabsets ul li.active {
            background: #e8e8e8;
            border: none; }
            .tab-filter .filter-tab .tabsets ul li.active a {
              color: #404041;
              background: #cccccc; }
          .tab-filter .filter-tab .tabsets ul li a {
            padding: 12px 13px; }
    .tab-filter .filter-tab .sort-by {
      width: 100% !important;
      margin-top: 10px; }

  .hdf-hadoop .filter-elements .item,
  .hdp-hadoop .filter-elements .item {
    width: 50%; }
    .hdf-hadoop .filter-elements .item .item-content .learn-more,
    .hdp-hadoop .filter-elements .item .item-content .learn-more {
      margin-top: 10px; }

  .hdp-hadoop .tab-filter .filter-tab .tabsets {
    float: none;
    margin: 0 auto; }

  .hdf-hadoop .tab-filter .filter-tab .tabsets {
    float: none;
    margin: 0 auto; }

  .filter-videos .filter-elements .item {
    width: 50%;
    height: 270px; }
    .filter-videos .filter-elements .item .bg-img img {
      height: 270px;
      width: auto !important; }
    .filter-videos .filter-elements .item .text-container {
      left: 13px;
      bottom: 20px;
      padding-left: 13px;
      padding-right: 20px; }
  .filter-videos .pagination {
    bottom: 15px; }
    .filter-videos .pagination span {
      font-size: 16px;
      padding: 0 5px 5px;
      margin: 0 2px; }

  .filter-press-release .filter-sidebar {
    float: none;
    width: 100%;
    height: auto !important;
    padding-bottom: 40px;
    overflow: visible; }
    .filter-press-release .filter-sidebar h4 {
      font-size: 16px;
      padding-bottom: 15px; }
    .filter-press-release .filter-sidebar ol {
      padding: 0 20px 10px; }
      .filter-press-release .filter-sidebar ol li:before {
        left: -20px;
        top: 2px; }
      .filter-press-release .filter-sidebar ol li .sidebar-links {
        padding-left: 20px; }
  .filter-press-release .col-eight {
    width: 100%; }
  .filter-press-release .filter-elements .col-three {
    width: 50%; }
  .filter-press-release .filter-elements .col-seven {
    width: 100%; }
  .filter-press-release .filter-elements .item {
    height: 270px; }
    .filter-press-release .filter-elements .item .item-content .learn-more {
      bottom: 20px; }
    .filter-press-release .filter-elements .item .item-content .text-container {
      margin-top: 30px; }
      .filter-press-release .filter-elements .item .item-content .text-container p {
        margin-top: 20px;
        font-size: 18px; }
  .filter-press-release .button-default, .filter-press-release .button-white, .filter-press-release .button-green, .filter-press-release .button-orange {
    margin-top: 30px; } }
@media screen and (max-width: 666px) {
  .filter-videos .filter-elements .item {
    width: 100%;
    height: 245px; }
    .filter-videos .filter-elements .item .bg-img img {
      height: auto;
      width: 100% !important; } }
@media screen and (max-width: 480px) {
  .tab-filter .filter-tab .toggle-tab {
    font-size: 12px; }
  .tab-filter .filter-tab .tabsets ul li a {
    font-size: 12px; }
  .tab-filter .filter-tab .sort-by .select-list .options p {
    font-size: 12px; }
  .tab-filter .filter-tab .sort-by .select-list .v-middle-inner {
    padding: 0; }
    .tab-filter .filter-tab .sort-by .select-list .v-middle-inner p {
      font-size: 12px; }

  .hdf-hadoop .filter-elements .item,
  .hdp-hadoop .filter-elements .item {
    width: 100%; }

  .filter-press-release .col-eight {
    width: 100%; }
  .filter-press-release .filter-elements .col-three {
    width: 100%; }
  .filter-press-release .filter-elements .item {
    width: 100%;
    height: 220px; }
    .filter-press-release .filter-elements .item.col-seven .black-overlay {
      width: 100%; }
    .filter-press-release .filter-elements .item .item-content .text-container p {
      font-size: 16px; }

  .filter-videos .tab-filter .filter-tab .sort-by .select-list {
    width: 100%; }
  .filter-videos .filter-elements .item {
    width: 100%;
    height: auto; }
    .filter-videos .filter-elements .item .bg-img img {
      height: auto;
      width: 100% !important; }
    .filter-videos .filter-elements .item .v-middle a img {
      width: 35px;
      height: 35px; }
  .filter-videos .pagination {
    bottom: 0; }
    .filter-videos .pagination span {
      display: none; }
      .filter-videos .pagination span:nth-child(1), .filter-videos .pagination span:nth-child(2), .filter-videos .pagination span:nth-child(3), .filter-videos .pagination span:nth-child(4) {
        display: inline-block; } }
.top-navigation {
  background-color: #e8e8e8;
  float: left;
  width: 100%; }

.top-menu {
  float: right;
  font-size: 0;
  margin: 0;
  padding: 0; }
  .top-menu li {
    display: inline-block;
    padding: 0px 25px;
    vertical-align: top;
    line-height: inherit; }
    .top-menu li a {
      color: #55585b;
      font-family: "roboto", sans-serif;
      font-size: 11px;
      line-height: 30px;
      letter-spacing: 0.3px;
      text-transform: uppercase; }
      .top-menu li a:hover {
        color: #1fa4d4; }
  .top-menu .search {
    cursor: pointer;
    padding-top: 7px; }
    .top-menu .search .search-cover {
      height: 16px;
      overflow: hidden; }
    .top-menu .search:hover img {
      margin-top: -16px; }
  .top-menu li:last-of-type {
    border-left: 1px solid #c2c2c4;
    border-right: 1px solid #c2c2c4;
    padding: 0px 29px; }

.main-navigation {
  position: relative;
  float: left;
  width: 100%;
  border-bottom: 1px solid #40424a; }

.logo {
  max-width: 154px;
  padding-top: 15px;
  float: left;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: translate3d(0, 0, 0); }

.menu-wrapper {
  background: #323543;
  padding-left: 20px; }

nav {
  float: right; }
  nav .main-menu {
    margin: 0;
    padding: 0; }
    nav .main-menu > li {
      display: inline-block;
      vertical-align: middle;
      padding: 0;
      line-height: inherit;
      margin-right: -4px; }
      nav .main-menu > li > a {
        color: #0199d1;
        position: relative;
        padding: 3px 18px 30px;
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 300;
        font-size: 20px; }
        nav .main-menu > li > a:hover {
          color: #0199d1; }
          nav .main-menu > li > a:hover:after {
            bottom: 0px;
            opacity: 1;
            height: 6px;
            -webkit-transition: all 0.2s ease-in-out;
            -moz-transition: all 0.2s ease-in-out;
            -o-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
            -webkit-transform: translate3d(0, 0, 0); }
        nav .main-menu > li > a:after {
          content: "";
          height: 0px;
          background: #0199d1;
          position: absolute;
          bottom: 0px;
          width: 70%;
          width: calc(100% - 36px);
          left: 18px;
          opacity: 0;
          -webkit-transition: all 0.2s ease-in-out;
          -moz-transition: all 0.2s ease-in-out;
          -o-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out;
          -webkit-transform: translate3d(0, 0, 0); }
      nav .main-menu > li > a.active {
        color: #0199d1; }
        nav .main-menu > li > a.active:after {
          bottom: 0px;
          opacity: 1;
          height: 6px;
          transition: none; }
        nav .main-menu > li > a.active.arrow-menu:hover:before {
          content: "";
          background: url(../images/active_menu_arrow.png) no-repeat;
          position: absolute;
          bottom: -1px;
          width: 23px;
          height: 11px;
          left: 40%;
          left: calc(50% - 12px); }
        nav .main-menu > li > a.active.arrow-menu:hover:after {
          bottom: 0px;
          opacity: 0;
          height: 6px; }
      nav .main-menu > li:last-of-type {
        padding: 20px 0px 21px 18px;
        margin: 0; }
      nav .main-menu > li.fix-search {
        display: none; }
      nav .main-menu > li.view-all {
        display: none; }
      nav .main-menu > li .button-default, nav .main-menu > li .button-white, nav .main-menu > li .button-green, nav .main-menu > li .button-orange {
        margin-top: 0;
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 400;
        font-size: 16px;
        width: 152px;
        height: 43px;
        padding: 0;
        cursor: pointer; }
        @media screen and (min-width: 768px) and (max-width: 1023px) {
          nav .main-menu > li .button-default, nav .main-menu > li .button-white, nav .main-menu > li .button-green, nav .main-menu > li .button-orange {
            width: 130px;
            font-size: 15px; } }
        @media screen and (max-width: 767px) {
          nav .main-menu > li .button-default, nav .main-menu > li .button-white, nav .main-menu > li .button-green, nav .main-menu > li .button-orange {
            width: 280px;
            height: 51px;
            font-size: 14px;
            font-weight: 51px;
            font-weight: 300; } }
    nav .main-menu .arrow-menu:hover > a:after {
      opacity: 0;
      bottom: 0;
      height: 6px; }
    nav .main-menu .arrow-menu:hover > a:before {
      content: "";
      background: url(../images/active_menu_arrow.png) no-repeat;
      position: absolute;
      bottom: -1px;
      width: 23px;
      height: 11px;
      left: calc(50% - 12px); }
    nav .main-menu .arrow-menu > a:hover:after {
      opacity: 0;
      bottom: 0;
      height: 6px; }
    nav .main-menu .arrow-menu > a:hover:before {
      content: "";
      background: url(../images/active_menu_arrow.png) no-repeat;
      position: absolute;
      bottom: -1px;
      width: 23px;
      height: 11px;
      left: calc(50% - 12px); }

.drop-menu {
  display: none;
  position: absolute;
  width: 100%;
  background: white;
  padding: 55px 60px 70px;
  /*border-top: 1px solid #dad9d6 */
  left: 0;
  top: 85px;
  z-index: 6; }

.menu-column .submenu-head > a {
  display: inline-block;
  position: relative;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  line-height: 41px;
  color: #404041;
  text-transform: capitalize;
  font-weight: 700; }
  .menu-column .submenu-head > a:before {
    content: "";
    background: url(../images/subhead_arrow.png) no-repeat;
    width: 10px;
    height: 16px;
    position: absolute;
    right: -15px;
    top: 13px;
    opacity: 0;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-transform: translate3d(0, 0, 0); }
    @media screen and (max-width: 767px) {
      .menu-column .submenu-head > a:before {
        top: 8px; } }
  .menu-column .submenu-head > a:after {
    content: "";
    background: #3db5e6;
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 2px;
    opacity: 0;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-transform: translate3d(0, 0, 0); }
  .menu-column .submenu-head > a:hover:before {
    opacity: 1; }
  .menu-column .submenu-head > a:hover:after {
    opacity: 1;
    bottom: 2px; }
.menu-column .submenu {
  margin-top: 15px; }
  .menu-column .submenu ul {
    border-left: 1px solid #dad9d6;
    padding-left: 21px; }
  .menu-column .submenu li {
    margin-bottom: 19px; }
    .menu-column .submenu li:last-of-type {
      margin-bottom: 0;
      padding-right: 20px;
      margin-bottom: 10px; }
    .menu-column .submenu li a {
      display: inline-block;
      position: relative;
      font-family: "roboto", sans-serif;
      font-size: 16px;
      line-height: 18px;
      color: #404041;
      text-transform: capitalize;
      font-weight: 300; }
      .menu-column .submenu li a:after {
        content: "";
        background: #3db5e6;
        position: absolute;
        left: 0;
        bottom: -10px;
        opacity: 0;
        width: 100%;
        height: 2px;
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        transition: all 0.2s ease;
        -webkit-transform: translate3d(0, 0, 0); }
      .menu-column .submenu li a:before {
        content: "";
        background: url(../images/submenu_arrow.png) no-repeat;
        width: 8px;
        height: 12px;
        position: absolute;
        right: -15px;
        top: 4px;
        opacity: 0;
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        transition: all 0.2s ease;
        -webkit-transform: translate3d(0, 0, 0); }
        @media screen and (max-width: 767px) {
          .menu-column .submenu li a:before {
            top: 9px; } }
      .menu-column .submenu li a:hover:after {
        bottom: -5px;
        opacity: 1; }
      .menu-column .submenu li a:hover:before {
        opacity: 1;
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        transition: all 0.2s ease;
        -webkit-transform: translate3d(0, 0, 0); }

nav .main-menu > li.mobile-only {
  display: none; }

/* css after menu fixed */
.mobile-link,
.toggle {
  display: none; }
  .mobile-link a,
  .toggle a {
    display: inline-block;
    position: relative;
    font-family: "roboto", sans-serif;
    font-size: 16px;
    line-height: 18px;
    color: #404041;
    text-transform: capitalize;
    font-weight: 700; }
    .mobile-link a:after,
    .toggle a:after {
      content: "";
      background: #3db5e6;
      position: absolute;
      left: 0;
      bottom: -10px;
      opacity: 0;
      width: 100%;
      height: 2px;
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      transition: all 0.2s ease;
      -webkit-transform: translate3d(0, 0, 0); }
    .mobile-link a:before,
    .toggle a:before {
      content: "";
      background: url(../images/submenu_arrow.png) no-repeat;
      width: 8px;
      height: 12px;
      position: absolute;
      right: -15px;
      top: 4px;
      opacity: 0;
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      transition: all 0.2s ease;
      -webkit-transform: translate3d(0, 0, 0); }
      @media screen and (max-width: 767px) {
        .mobile-link a:before,
        .toggle a:before {
          top: 9px; } }
    .mobile-link a:hover:after,
    .toggle a:hover:after {
      bottom: -5px;
      opacity: 1; }
    .mobile-link a:hover:before,
    .toggle a:hover:before {
      opacity: 1;
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      transition: all 0.2s ease;
      -webkit-transform: translate3d(0, 0, 0); }

.main-nav.off-canvas {
  position: fixed;
  border-bottom: 1px solid #40424a;
  width: 100%;
  background: #323543;
  z-index: 11;
  -webkit-transition: top 0.5s ease;
  -moz-transition: top 0.5s ease;
  -o-transition: top 0.5s ease;
  transition: top 0.5s ease;
  -webkit-transform: translate3d(0, 0, 0); }

.main-nav.off-canvas {
  top: -106px; }
  .main-nav.off-canvas.fixed {
    top: 0; }
  .main-nav.off-canvas .fix-search {
    display: inline-block;
    vertical-align: top;
    padding: 18px 40px 13px 21px !important; }
    .main-nav.off-canvas .fix-search .search-cover {
      width: 27px;
      height: 26px;
      overflow: hidden;
      cursor: pointer; }
      .main-nav.off-canvas .fix-search .search-cover:hover img {
        margin-top: -27px; }
    .main-nav.off-canvas .fix-search img {
      width: 100%; }
  .main-nav.off-canvas .logo {
    width: 115px;
    overflow: hidden; }
  .main-nav.off-canvas .menu-wrapper {
    padding: 0; }
  .main-nav.off-canvas nav .main-menu {
    font-size: 0; }
    .main-nav.off-canvas nav .main-menu > li {
      padding: 21px 0px;
      margin: 0 0 0; }
      .main-nav.off-canvas nav .main-menu > li > a:after {
        bottom: 11px; }
      .main-nav.off-canvas nav .main-menu > li > a:hover:after {
        bottom: 11px; }
      .main-nav.off-canvas nav .main-menu > li:last-of-type {
        padding: 0; }
      .main-nav.off-canvas nav .main-menu > li .button-default, .main-nav.off-canvas nav .main-menu > li .button-white, .main-nav.off-canvas nav .main-menu > li .button-green, .main-nav.off-canvas nav .main-menu > li .button-orange {
        height: 64px;
        margin-bottom: -1px;
        font-weight: 300; }
      .main-nav.off-canvas nav .main-menu > li .drop-menu {
        top: 64px; }
    .main-nav.off-canvas nav .main-menu .arrow-menu:hover > a:before {
      bottom: 10px; }
    .main-nav.off-canvas nav .main-menu .arrow-menu > a:hover:before {
      bottom: 10px; }
    .main-nav.off-canvas nav .main-menu .arrow-menu > a:hover:after {
      opacity: 0; }

.search-overlay,
.newsletter-overlay {
  background: url(../images/footer-overlay-bg.jpg) repeat;
  display: none;
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  z-index: 11; }
  @media screen and (max-width: 767px) {
    .search-overlay,
    .newsletter-overlay {
      top: 0px; } }
  .search-overlay .wrapper,
  .newsletter-overlay .wrapper {
    position: relative; }
  .search-overlay .search-box,
  .search-overlay .nws-box,
  .newsletter-overlay .search-box,
  .newsletter-overlay .nws-box {
    display: table; }
    .search-overlay .search-box img,
    .search-overlay .nws-box img,
    .newsletter-overlay .search-box img,
    .newsletter-overlay .nws-box img {
      float: left;
      padding-top: 25px; }
      @media screen and (max-width: 767px) {
        .search-overlay .search-box img,
        .search-overlay .nws-box img,
        .newsletter-overlay .search-box img,
        .newsletter-overlay .nws-box img {
          width: 20px;
          padding-top: 20px; } }
    .search-overlay .search-box .top-search-input,
    .search-overlay .nws-box .top-search-input,
    .newsletter-overlay .search-box .top-search-input,
    .newsletter-overlay .nws-box .top-search-input {
      width: 85%;
      width: calc(100% - 130px);
      max-width: 830px;
      background: transparent;
      float: left;
      border: none;
      font-family: "Roboto Condensed", sans-serif;
      font-size: 40px;
      line-height: 41px;
      color: white;
      font-weight: 300; }
      @media screen and (max-width: 1399px) and (min-width: 768px) {
        .search-overlay .search-box .top-search-input,
        .search-overlay .nws-box .top-search-input,
        .newsletter-overlay .search-box .top-search-input,
        .newsletter-overlay .nws-box .top-search-input {
          width: 80%;
          width: calc(100% - 140px);
          font-size: 30px; } }
      @media screen and (max-width: 767px) {
        .search-overlay .search-box .top-search-input,
        .search-overlay .nws-box .top-search-input,
        .newsletter-overlay .search-box .top-search-input,
        .newsletter-overlay .nws-box .top-search-input {
          font-size: 18px;
          width: 75%;
          width: calc(100% - 95px);
          padding: 18px 15px 5px;
          line-height: 32px;
          height: 38px; } }
      @media screen and (max-width: 480px) {
        .search-overlay .search-box .top-search-input,
        .search-overlay .nws-box .top-search-input,
        .newsletter-overlay .search-box .top-search-input,
        .newsletter-overlay .nws-box .top-search-input {
          width: 65%; } }
      .search-overlay .search-box .top-search-input ::-webkit-input-placeholder,
      .search-overlay .search-box .top-search-input ::-moz-placeholder,
      .search-overlay .search-box .top-search-input ::-ms-input-placeholder,
      .search-overlay .nws-box .top-search-input ::-webkit-input-placeholder,
      .search-overlay .nws-box .top-search-input ::-moz-placeholder,
      .search-overlay .nws-box .top-search-input ::-ms-input-placeholder,
      .newsletter-overlay .search-box .top-search-input ::-webkit-input-placeholder,
      .newsletter-overlay .search-box .top-search-input ::-moz-placeholder,
      .newsletter-overlay .search-box .top-search-input ::-ms-input-placeholder,
      .newsletter-overlay .nws-box .top-search-input ::-webkit-input-placeholder,
      .newsletter-overlay .nws-box .top-search-input ::-moz-placeholder,
      .newsletter-overlay .nws-box .top-search-input ::-ms-input-placeholder {
        color: white;
        font-family: "Roboto Condensed", sans-serif; }
  .search-overlay .top-search,
  .search-overlay .nws-search,
  .newsletter-overlay .top-search,
  .newsletter-overlay .nws-search {
    display: table-cell;
    vertical-align: middle; }
    .search-overlay .top-search .search-wrap,
    .search-overlay .top-search .nws-wrap,
    .search-overlay .nws-search .search-wrap,
    .search-overlay .nws-search .nws-wrap,
    .newsletter-overlay .top-search .search-wrap,
    .newsletter-overlay .top-search .nws-wrap,
    .newsletter-overlay .nws-search .search-wrap,
    .newsletter-overlay .nws-search .nws-wrap {
      border-bottom: 2px solid #5e5e60; }
    .search-overlay .top-search .form-btn,
    .search-overlay .top-search .nws-btn,
    .search-overlay .nws-search .form-btn,
    .search-overlay .nws-search .nws-btn,
    .newsletter-overlay .top-search .form-btn,
    .newsletter-overlay .top-search .nws-btn,
    .newsletter-overlay .nws-search .form-btn,
    .newsletter-overlay .nws-search .nws-btn {
      color: white;
      background: #3fae2a;
      font-family: "roboto", sans-serif;
      font-size: 14px;
      line-height: 1;
      font-weight: 700;
      text-transform: uppercase;
      padding: 13px 20px;
      float: right;
      letter-spacing: 0.05em;
      margin-top: 6px;
      cursor: pointer;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      -webkit-transform: translate3d(0, 0, 0); }
      .search-overlay .top-search .form-btn:hover,
      .search-overlay .top-search .nws-btn:hover,
      .search-overlay .nws-search .form-btn:hover,
      .search-overlay .nws-search .nws-btn:hover,
      .newsletter-overlay .top-search .form-btn:hover,
      .newsletter-overlay .top-search .nws-btn:hover,
      .newsletter-overlay .nws-search .form-btn:hover,
      .newsletter-overlay .nws-search .nws-btn:hover {
        background: #3b8740;
        border-color: #3b8740;
        color: white; }
      @media screen and (max-width: 767px) {
        .search-overlay .top-search .form-btn,
        .search-overlay .top-search .nws-btn,
        .search-overlay .nws-search .form-btn,
        .search-overlay .nws-search .nws-btn,
        .newsletter-overlay .top-search .form-btn,
        .newsletter-overlay .top-search .nws-btn,
        .newsletter-overlay .nws-search .form-btn,
        .newsletter-overlay .nws-search .nws-btn {
          font-size: 12px;
          padding: 8px 10px;
          margin-top: 8px;
          float: right; } }
  .search-overlay .f-close-btn,
  .newsletter-overlay .f-close-btn {
    right: 22px;
    top: 30px; }

.content-970 {
  width: 100%;
  max-width: 970px;
  margin: 0 auto; }

.no-menu .search-overlay,
.no-menu .newsletter-overlay {
  top: 0px; }
.no-menu.fx-menu .search-overlay,
.no-menu.fx-menu .newsletter-overlay {
  top: 0px; }
  @media screen and (max-width: 767px) {
    .no-menu.fx-menu .search-overlay,
    .no-menu.fx-menu .newsletter-overlay {
      top: 0px; } }

@media screen and (max-width: 767px) {
  nav .main-menu > li.mobile-only {
    display: block; }

  .mobile-link,
  .toggle {
    display: block; }

  .mobile-link {
    margin-bottom: 10px; }

  .main-navigation {
    height: 71px; }
    .main-navigation .wrapper {
      padding: 0px 19px; }

  .logo {
    width: 110px; }

  .top-navigation {
    display: none; }

  .toggle {
    display: block;
    position: relative;
    width: 30px;
    float: right;
    margin-top: 26px;
    cursor: pointer; }
    .toggle span {
      display: block;
      width: 30px;
      height: 4px;
      background: #3fae2a;
      margin-bottom: 3px;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      -webkit-transform: translate3d(0, 0, 0); }
      .toggle span:last-of-type {
        margin-bottom: 0; }
    .toggle.active span {
      position: absolute; }
      .toggle.active span:nth-child(1) {
        -moz-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        top: 7px; }
      .toggle.active span:nth-child(2) {
        opacity: 0;
        top: 6px; }
      .toggle.active span:last-of-type {
        position: absolute;
        -moz-transform: rotate(-135deg);
        -o-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg);
        top: 7px; }

  .menu-wrapper {
    display: block;
    background: white;
    width: 100%;
    position: absolute;
    left: 0;
    top: 71px;
    z-index: 9;
    padding-left: 0;
    overflow: scroll; }

  nav {
    width: 100px;
    float: right; }
    nav .wrapper {
      padding: 0 20px; }
    nav .main-menu {
      background: #e8e8e8;
      /*width: 100% */
      margin: 0;
      margin-bottom: 30px; }
      nav .main-menu > li {
        display: block;
        float: none;
        padding: 14px 0px;
        margin: 0; }
        nav .main-menu > li:last-of-type {
          background: white;
          text-align: center;
          padding-left: 0; }
        nav .main-menu > li > a {
          margin-left: 20px;
          padding: 3px 0 14px;
          font-size: 18px;
          line-height: 24px; }
          nav .main-menu > li > a:after {
            bottom: 8px !important; }
        nav .main-menu > li > a.active {
          padding: 3px 0 14px 0; }
          nav .main-menu > li > a.active:after {
            height: 2px;
            bottom: 8px;
            width: 100%;
            left: 0; }
        nav .main-menu > li .button-default, nav .main-menu > li .button-white, nav .main-menu > li .button-green, nav .main-menu > li .button-orange {
          margin-top: 20px; }
        nav .main-menu > li.view-all {
          display: block; }
        nav .main-menu > li:hover > a:after {
          content: "";
          height: 0px;
          background: #3fae2a;
          position: absolute;
          bottom: 8px;
          width: 100%;
          left: 0;
          height: 2px;
          opacity: 1; }
      nav .main-menu .arrow-menu > a:hover:before {
        bottom: 0px; }
      nav .main-menu .arrow-menu:hover > a:before {
        opacity: 0; }
      nav .main-menu .arrow-menu:hover > a:after {
        opacity: 1;
        height: 2px; }
      nav .main-menu .submenu-head > a {
        font-size: 16px;
        line-height: 28px; }

  .menu-column .submenu {
    margin-top: 8px;
    margin-bottom: 28px; }
    .menu-column .submenu ul {
      border: 0;
      padding: 0; }
      .menu-column .submenu ul li {
        margin-bottom: 10px; }

  .drop-menu {
    position: relative;
    width: auto;
    top: 14px;
    padding: 20px 0px;
    border: 0;
    margin: 0; }
    .drop-menu .col-five,
    .drop-menu .col-two,
    .drop-menu .col-three,
    .drop-menu .col-four {
      width: 100%; }

  .menu-column .submenu li a {
    font-weight: 300; }

  .main-nav.off-canvas.fixed {
    height: 49px; }
  .main-nav.off-canvas .logo {
    width: 100px;
    height: 37px;
    padding: 14px 0; }
  .main-nav.off-canvas .toggle {
    margin-top: 16px; }
  .main-nav.off-canvas .menu-wrapper {
    top: 49px; }
  .main-nav.off-canvas .fix-search {
    display: none; }
  .main-nav.off-canvas nav .main-menu > li {
    padding: 14px 0; }
    .main-nav.off-canvas nav .main-menu > li > a {
      padding-bottom: 16px; }
      .main-nav.off-canvas nav .main-menu > li > a:hover:after {
        bottom: 8px; }
    .main-nav.off-canvas nav .main-menu > li .drop-menu {
      top: 14px; }
    .main-nav.off-canvas nav .main-menu > li:hover > a:after {
      bottom: 8px; }
    .main-nav.off-canvas nav .main-menu > li.arrow-menu > a:hover:before {
      bottom: 0; } }
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .menu-wrapper {
    padding: 0; }

  .main-nav.off-canvas .logo {
    width: 125px;
    height: 45px;
    margin-left: -15px; }

  .top-menu .search {
    padding: 7px 17px 0 7px; }

  nav .main-menu > li {
    padding: 0; }
    nav .main-menu > li a {
      font-size: 18px;
      padding: 3px 10px 32px;
      padding-bottom: 32px;
      line-height: 22px; }
      nav .main-menu > li a:after {
        left: 10px;
        width: calc(100% - 20px); }
    nav .main-menu > li:last-of-type {
      padding: 20px 0px 21px 0px; }

  .main-nav.off-canvas nav .main-menu > li {
    padding: 21px 0; }
    .main-nav.off-canvas nav .main-menu > li .button-orange {
      margin-bottom: 0;
      border-bottom: 3px solid #e17000; }
  .main-nav.off-canvas nav .main-menu .fix-search {
    padding: 23px 10px 13px !important; }
    .main-nav.off-canvas nav .main-menu .fix-search .search-cover {
      width: 19px;
      height: 18px; }
      .main-nav.off-canvas nav .main-menu .fix-search .search-cover:hover img {
        margin-top: -19px; }
  .main-nav.off-canvas nav .main-menu .arrow-menu > a:hover:before {
    bottom: 11px; }
  .main-nav.off-canvas nav .main-menu > li:last-of-type {
    margin-left: 5px; }

  .drop-menu {
    padding: 35px 0 33px; }

  .menu-column .submenu-head > a {
    font-size: 16px;
    line-height: 20px;
    padding-bottom: 18px; }
    .menu-column .submenu-head > a:before {
      background-size: cover;
      width: 8px;
      height: 14px;
      top: 4px; }
    .menu-column .submenu-head > a:after {
      bottom: 9px !important; }
  .menu-column .submenu {
    margin-top: 10px; }
    .menu-column .submenu li {
      margin-bottom: 10px;
      padding-right: 20px; }
      .menu-column .submenu li a {
        font-size: 14px;
        line-height: 17px;
        font-weight: 300;
        padding-bottom: 0px; } }
.footer-overlay {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  background: url(../images/footer-overlay-bg.jpg) repeat;
  width: 100%;
  height: 100%;
  float: left;
  z-index: 12;
  overflow-y: auto; }
  @media screen and (max-width: 767px) {
    .footer-overlay {
      height: 100% !important; } }
  .footer-overlay .footer-expand-menu {
    display: table;
    width: 100%;
    margin: 90px auto 0px;
    overflow-y: auto; }
    @media screen and (max-width: 767px) {
      .footer-overlay .footer-expand-menu {
        display: block;
        float: left; } }
    .footer-overlay .footer-expand-menu .f-menu-holder {
      width: 100%;
      padding: 20px 33px;
      display: table-cell;
      vertical-align: middle;
      float: left; }
      @media screen and (max-width: 1399px) and (min-width: 768px) {
        .footer-overlay .footer-expand-menu .f-menu-holder {
          padding: 20px 0; } }
      @media screen and (max-width: 767px) {
        .footer-overlay .footer-expand-menu .f-menu-holder {
          padding: 0;
          display: block;
          vertical-align: inherit; } }
      .footer-overlay .footer-expand-menu .f-menu-holder .f-main-menu {
        margin-bottom: 40px; }
        @media screen and (max-width: 767px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .f-main-menu {
            margin-bottom: 20px; } }
        .footer-overlay .footer-expand-menu .f-menu-holder .f-main-menu > li > a {
          display: block;
          font-family: "Roboto Condensed", sans-serif;
          font-size: 28px;
          line-height: 41px;
          color: white;
          text-transform: capitalize;
          position: relative;
          padding-bottom: 10px; }
          @media screen and (max-width: 1399px) and (min-width: 768px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-main-menu > li > a {
              font-size: 22px;
              line-height: 26px; } }
          @media screen and (max-width: 768px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-main-menu > li > a {
              font-size: 16px;
              line-height: 20px; } }
          .footer-overlay .footer-expand-menu .f-menu-holder .f-main-menu > li > a:after {
            content: "";
            background: white;
            width: 100%;
            height: 1px;
            position: absolute;
            left: 0;
            bottom: 0; }
      .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu {
        margin-top: 6px; }
        @media screen and (max-width: 767px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu {
            display: none;
            padding-left: 10px; } }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu > li {
            float: left;
            margin-right: 10px; } }
        .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu > li > a {
          font-family: "roboto", sans-serif;
          font-size: 14px;
          line-height: 36px;
          color: white;
          text-transform: capitalize;
          position: relative; }
          @media screen and (max-width: 767px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu > li > a {
              line-height: 24px; } }
          .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu > li > a:after {
            content: "";
            background: white;
            width: 100%;
            height: 1px;
            position: absolute;
            left: 0;
            bottom: -7px;
            opacity: 0;
            -webkit-transition: all 0.3s ease;
            -moz-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease; }
          .footer-overlay .footer-expand-menu .f-menu-holder .f-sub-menu > li > a:hover:after {
            opacity: 1;
            bottom: -2px; }
      .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li {
        margin-bottom: 20px; }
        @media screen and (max-width: 1279px) and (min-width: 1024px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li {
            float: left;
            margin-right: 20px;
            margin-bottom: 10px; } }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li {
            float: left;
            margin-right: 15px;
            margin-bottom: 10px; } }
        @media screen and (max-width: 767px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li {
            margin-bottom: 10px; } }
        .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li > a {
          font-family: "Roboto Condensed", sans-serif;
          font-size: 26px;
          line-height: 41px;
          color: white;
          text-transform: capitalize; }
          @media screen and (max-width: 1399px) and (min-width: 1280px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li > a {
              font-size: 24px; } }
          @media screen and (max-width: 1279px) and (min-width: 1024px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li > a {
              font-size: 22px;
              line-height: 30px; } }
          @media screen and (max-width: 1023px) and (min-width: 768px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li > a {
              font-size: 20px;
              line-height: 26px; } }
          @media screen and (max-width: 767px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .f-side-menu > li > a {
              font-size: 16px;
              line-height: 24px; } }
      .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col {
        max-width: 466px;
        float: left;
        margin-right: 60px;
        width: 100%; }
        @media screen and (max-width: 1399px) and (min-width: 1280px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col {
            margin-right: 40px; } }
        @media screen and (max-width: 1279px) and (min-width: 1024px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col {
            margin: 0 40px;
            width: calc(50% - 80px); } }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col {
            max-width: 100%;
            margin-right: 0; } }
        @media screen and (max-width: 767px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col {
            max-width: 100%;
            margin: 0; } }
        .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col .col-two {
          padding-right: 30px; }
          @media screen and (max-width: 767px) {
            .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col .col-two {
              padding-right: 0; } }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col .f-sub-head {
            width: 100%; } }
        .footer-overlay .footer-expand-menu .f-menu-holder .two-up-col .f-sub-head > a {
          font-weight: 700;
          text-transform: uppercase; }
    .footer-overlay .footer-expand-menu .single-col {
      max-width: 204px;
      float: left;
      margin-right: 61px;
      width: 100%; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .footer-overlay .footer-expand-menu .single-col {
          margin-right: 0px;
          width: 25%;
          max-width: inherit; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .footer-overlay .footer-expand-menu .single-col {
          max-width: 100%;
          margin-right: 0; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .footer-overlay .footer-expand-menu .single-col {
          margin-right: 20px; } }
      @media screen and (max-width: 767px) {
        .footer-overlay .footer-expand-menu .single-col {
          max-width: 100%;
          margin: 0;
          width: 100%; } }
      .footer-overlay .footer-expand-menu .single-col:last-of-type {
        margin-right: 0;
        max-width: 198px; }
        @media screen and (max-width: 1279px) and (min-width: 1024px) {
          .footer-overlay .footer-expand-menu .single-col:last-of-type {
            max-width: 100%;
            width: 100%;
            float: none; } }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          .footer-overlay .footer-expand-menu .single-col:last-of-type {
            max-width: 100%; } }
        @media screen and (max-width: 767px) {
          .footer-overlay .footer-expand-menu .single-col:last-of-type {
            max-width: 100%; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .footer-overlay .footer-expand-menu .single-col .f-sub-head {
          width: 100%; } }
      .footer-overlay .footer-expand-menu .single-col .f-sub-head > a {
        font-weight: 700;
        text-transform: uppercase; }
  .footer-overlay .f-mbl-link {
    display: none; }
    @media screen and (max-width: 767px) {
      .footer-overlay .f-mbl-link {
        display: block;
        font-family: "Roboto Condensed", sans-serif;
        font-size: 14px;
        line-height: 24px;
        color: white;
        text-transform: uppercase;
        font-weight: 700; } }
  .footer-overlay .f-mobile:before {
    content: "";
    background: url(../images/footer-menu-arrow.png) no-repeat;
    width: 15px;
    height: 13px;
    position: absolute;
    right: 10px;
    top: 10px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .footer-overlay .f-mobile.arrow_change:before {
    content: "";
    -moz-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg); }

.f-black-bar {
  width: 100%;
  padding: 22px 0;
  background: #323334; }
  @media screen and (max-width: 767px) {
    .f-black-bar {
      padding: 10px 0; } }
  .f-black-bar .lic-number {
    float: left;
    padding-top: 12px; }
    @media screen and (max-width: 767px) {
      .f-black-bar .lic-number {
        width: 100%;
        float: none; } }
    .f-black-bar .lic-number li {
      font-family: "roboto", sans-serif;
      display: inline-block;
      padding-right: 14px;
      border-right: 1px solid white; }
      .f-black-bar .lic-number li:last-of-type {
        border: none;
        padding-left: 10px;
        padding-right: 0; }
  .f-black-bar a {
    color: white;
    font-size: 16px;
    line-height: 24px;
    color: white; }
    @media screen and (max-width: 767px) {
      .f-black-bar a {
        font-size: 14px; } }
  .f-black-bar .media-part {
    float: right; }
    @media screen and (max-width: 767px) {
      .f-black-bar .media-part {
        float: none;
        width: 100%;
        margin-top: 20px; } }
    .f-black-bar .media-part .select-list {
      width: 160px;
      height: 48px; }
      @media screen and (max-width: 767px) {
        .f-black-bar .media-part .select-list {
          height: 40px;
          width: 140px;
          margin-left: 0; } }
      .f-black-bar .media-part .select-list p {
        font-size: 16px;
        font-weight: 300; }
      @media screen and (max-width: 767px) {
        .f-black-bar .media-part .select-list .selected .v-middle-inner {
          padding: 0; } }
      .f-black-bar .media-part .select-list .selected:after {
        background-image: url("../images/up-arrow-dark.png");
        width: 16px;
        height: 10px;
        top: 19px; }
        @media screen and (max-width: 767px) {
          .f-black-bar .media-part .select-list .selected:after {
            top: 14px; } }
      .f-black-bar .media-part .select-list .options {
        top: auto;
        bottom: 48px;
        width: 100%; }
    .f-black-bar .media-part > ul > li {
      float: left;
      position: relative;
      width: 48px;
      height: 48px;
      margin-left: 6px;
      text-align: center;
      cursor: pointer;
      padding: 0; }
      @media screen and (max-width: 767px) {
        .f-black-bar .media-part > ul > li {
          width: 40px;
          height: 40px; } }
      .f-black-bar .media-part > ul > li a {
        display: block;
        line-height: 48px; }
        @media screen and (max-width: 767px) {
          .f-black-bar .media-part > ul > li a {
            line-height: 36px; } }
        .f-black-bar .media-part > ul > li a img {
          vertical-align: middle; }

.f-close-btn {
  position: fixed;
  top: 30px;
  right: 22px;
  background: white url(../images/close-icon.png);
  height: 36px;
  width: 36px;
  border-radius: 50%;
  text-indent: -9999px;
  background-position: 0 36px;
  cursor: pointer; }
  .f-close-btn:hover {
    background-position: 0 0; }
  @media screen and (max-width: 767px) {
    .f-close-btn {
      top: 20px; } }

.overlay-elephant-logo {
  position: absolute;
  top: 30px;
  left: 40px; }
  @media screen and (max-width: 1399px) {
    .overlay-elephant-logo {
      left: 20px; } }
  @media screen and (max-width: 1023px) {
    .overlay-elephant-logo {
      width: 100px;
      top: 20px;
      left: 20px; } }

.nws-wrap label.optin {
  display: none; }

.fixed-links {
  text-align: center; }

.stick {
  background: #3d4050;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 6; }

.fixed-links.stick {
  -webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35);
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.35); }

.cta {
  color: white;
  overflow: hidden; }
  .cta .v-middle-inner {
    padding: 0 20px;
    max-width: 1400px;
    margin: 0 auto; }
  .cta .bg-img {
    max-height: 326px; }
    .cta .bg-img img {
      width: 100%;
      position: relative; }
  .cta h5 {
    line-height: 1.4;
    font-weight: 300;
    max-width: 760px;
    margin: 0 auto; }

@media screen and (max-width: 767px) and (min-width: 481px) {
  .info-block .col-two {
    width: 50%; } }
.info-block .col-two:first-of-type {
  padding-right: 42px; }
  @media screen and (max-width: 1023px) {
    .info-block .col-two:first-of-type {
      padding-right: 20px; } }
.info-block .col-two:last-of-type {
  padding-left: 42px; }
  @media screen and (max-width: 1023px) {
    .info-block .col-two:last-of-type {
      padding-left: 20px; } }
@media screen and (max-width: 767px) {
  .info-block .col-two .text-center img {
    width: 100px; } }
.info-block .col-two:last-of-type:before {
  content: "";
  background: #dad9d6;
  width: 1px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }
.info-block .col-two h2 {
  margin-top: 36px; }
.info-block h3 {
  color: #404041;
  margin-bottom: 6px;
  margin-top: 38px; }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .info-block h3 {
      margin-top: 20px; } }
.info-block p.green-text {
  font-weight: 700; }
.info-block p {
  line-height: 28px;
  max-width: 500px;
  margin: 0 auto;
  color: #d4d4d7; }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .info-block p {
      line-height: 20px; } }

.home-page .col-two h2 {
  margin-top: 36px;
  margin-bottom: 6px; }
.home-page .col-two p.green-text {
  font-weight: 700; }
.home-page .col-two p {
  font-weight: 300; }

.intro-block .content-960 {
  max-width: 960px;
  margin: 0 auto; }
.intro-block h2 {
  color: #d4d4d7;
  margin-bottom: 12px; }
.intro-block h5 {
  line-height: 27px;
  color: #3e3e3e;
  font-weight: 300; }
.intro-block img {
  margin-top: 65px; }

.slate-grey-block {
  background: #44697d;
  color: white; }
  @media screen and (max-width: 767px) {
    .slate-grey-block .col-two {
      width: 100%;
      text-align: center; } }
  .slate-grey-block .col-two:first-of-type {
    padding-right: 42px; }
    @media screen and (max-width: 1279px) and (min-width: 768px) {
      .slate-grey-block .col-two:first-of-type {
        padding-right: 20px; } }
    @media screen and (max-width: 767px) {
      .slate-grey-block .col-two:first-of-type {
        padding: 0; } }
  .slate-grey-block .col-two:last-of-type {
    padding-left: 42px; }
    @media screen and (max-width: 1279px) and (min-width: 768px) {
      .slate-grey-block .col-two:last-of-type {
        padding-left: 20px; } }
    @media screen and (max-width: 767px) {
      .slate-grey-block .col-two:last-of-type {
        padding: 0;
        padding-top: 20px; } }
  .slate-grey-block h1 {
    line-height: 70px;
    font-weight: 700; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .slate-grey-block h1 {
        line-height: 62px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .slate-grey-block h1 {
        line-height: 50px; } }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .slate-grey-block h1 {
        line-height: 46px; } }
    @media screen and (max-width: 480px) {
      .slate-grey-block h1 {
        line-height: 32px; } }
  .slate-grey-block h5 {
    line-height: 38px;
    font-weight: 400; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .slate-grey-block h5 {
        line-height: 32px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .slate-grey-block h5 {
        line-height: 32px; } }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .slate-grey-block h5 {
        line-height: 28px; } }
    @media screen and (max-width: 480px) {
      .slate-grey-block h5 {
        line-height: 24px; } }

.info-detail-block .wrapper > h2 {
  margin-bottom: 80px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .info-detail-block .wrapper > h2 {
      margin: 30px 0 50px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .info-detail-block .wrapper > h2 {
      margin: 25px 0 40px; } }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .info-detail-block .wrapper > h2 {
      margin: 20px 0 30px; } }
  @media screen and (max-width: 480px) {
    .info-detail-block .wrapper > h2 {
      margin: 20px 0 0; } }
.info-detail-block .col-two h2 {
  color: #456b7e;
  line-height: 32px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .info-detail-block .col-two h2 {
      line-height: 32px;
      margin-top: 20px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .info-detail-block .col-two h2 {
      line-height: 28px;
      margin-top: 15px; } }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .info-detail-block .col-two h2 {
      line-height: 24px;
      margin-top: 10px; } }
.info-detail-block .col-two p {
  font-weight: 400;
  color: #404041; }

.row-inner {
  position: relative;
  padding-top: 50px;
  padding-bottom: 10px;
  margin-top: 70px;
  width: 100%; }
  @media screen and (max-width: 1399px) and (min-width: 1280px) {
    .row-inner {
      padding-top: 45px;
      padding-bottom: 10px;
      margin-top: 50px; } }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .row-inner {
      padding-top: 40px;
      padding-bottom: 10px;
      margin-top: 40px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .row-inner {
      padding-top: 30px;
      padding-bottom: 10px;
      margin-top: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .row-inner {
      padding-top: 25px;
      padding-bottom: 10px;
      margin-top: 25px; } }
  @media screen and (max-width: 480px) {
    .row-inner {
      padding-top: 0px;
      padding-bottom: 10px;
      margin-top: 20px; } }
  .row-inner > .col-two:first-of-type {
    padding-right: 22px; }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .row-inner > .col-two:first-of-type {
        padding-right: 0;
        padding-bottom: 20px; } }
  .row-inner > .col-two:last-of-type {
    padding-left: 22px; }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .row-inner > .col-two:last-of-type {
        padding: 0; } }
    @media screen and (max-width: 480px) {
      .row-inner > .col-two:last-of-type {
        border: 0 !important; } }
    .row-inner > .col-two:last-of-type:before {
      background: none; }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .row-inner > .col-two {
      width: 100%; } }
  .row-inner h5 {
    margin-bottom: 20px;
    text-transform: uppercase;
    color: #404041; }
    @media screen and (max-width: 480px) {
      .row-inner h5 {
        margin-bottom: 10px; } }
  .row-inner p {
    font-size: 16px;
    line-height: 20px; }
  .row-inner .learn-more {
    margin-top: 12px;
    font-weight: 700; }

.row-inner:before {
  content: "";
  background: #dad9d6;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 0; }

.row-inner .col-two:first-of-type:after {
  background: none; }

.promo-block .three-col-row {
  background: url(../images/promo-bg.jpg) no-repeat;
  background-size: cover;
  width: 100%;
  height: 177px; }
.promo-block .col-three {
  cursor: pointer;
  overflow: hidden;
  -moz-transform: translateY(0px);
  -o-transform: translateY(0px);
  -ms-transform: translateY(0px);
  -webkit-transform: translateY(0px);
  transform: translateY(0px); }
  .promo-block .col-three:nth-of-type(2):after, .promo-block .col-three:nth-of-type(2):before {
    content: "";
    width: 2px;
    height: 100%;
    position: absolute;
    right: 0px;
    top: 0px;
    border-left: 1px solid #626a74; }
    @media screen and (max-width: 767px) {
      .promo-block .col-three:nth-of-type(2):after, .promo-block .col-three:nth-of-type(2):before {
        width: 100%;
        height: 1px;
        background: #626a74;
        top: auto;
        bottom: 0; } }
  .promo-block .col-three:nth-of-type(2):before {
    left: 0px;
    right: auto; }
    @media screen and (max-width: 767px) {
      .promo-block .col-three:nth-of-type(2):before {
        top: 0; } }
  .promo-block .col-three .v-middle-inner {
    max-width: 340px;
    margin: 0 auto;
    padding: 0 20px;
    -moz-transform: translateY(0px);
    -o-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .promo-block .col-three .hover-btn {
    margin: 0;
    opacity: 0;
    -moz-transform: translateY(0px);
    -o-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .promo-block .col-three p.bold {
    font-weight: 500;
    letter-spacing: 0em; }
  .promo-block .col-three p {
    font-weight: 300;
    letter-spacing: 0.05em;
    color: white; }
.promo-block .col-three:hover .v-middle-inner {
  -moz-transform: translateY(-23px);
  -o-transform: translateY(-23px);
  -ms-transform: translateY(-23px);
  -webkit-transform: translateY(-23px);
  transform: translateY(-23px);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
.promo-block .col-three:hover .hover-btn {
  opacity: 1;
  -moz-transform: translateY(-80px);
  -o-transform: translateY(-80px);
  -ms-transform: translateY(-80px);
  -webkit-transform: translateY(-80px);
  transform: translateY(-80px);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.fixed-anchor {
  width: 100%;
  padding-top: 48px; }
  .fixed-anchor ul {
    font-size: 0; }
    .fixed-anchor ul li {
      display: inline-table;
      vertical-align: top;
      width: 149px;
      height: 51px;
      /*padding: 0 0 16px */
      position: relative;
      margin: 0px -4px 0 0;
      /*white-space: nowrap */
      text-align: center;
      border-bottom: 4px solid #dad9d6; }
      .fixed-anchor ul li.active {
        border-bottom: 4px solid #23a087; }
      .fixed-anchor ul li a {
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #fff;
        font-size: 12px;
        line-height: 14px;
        display: table-cell;
        vertical-align: middle;
        padding: 0; }
  @media screen and (min-width: 768px) and (max-width: 1023px) {
    .fixed-anchor {
      padding-top: 20px; } }
  @media screen and (max-width: 767px) {
    .fixed-anchor {
      display: none; } }

.benefits {
  height: 384px;
}

.architecture {
  height: 200px;
}

.feature .three-col-row {
  background: none;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .feature .three-col-row {
      height: auto; } }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .feature .three-col-row .col-three {
      width: 100%;
      height: 300px; } }
  @media screen and (max-width: 480px) {
    .feature .three-col-row .col-three {
      height: 220px; } }
  .feature .three-col-row .v-middle-wrapper {
    background: none; }
    .feature .three-col-row .v-middle-wrapper .v-middle-inner {
      max-width: 340px;
      margin: auto; }
  .feature .three-col-row .feature-bg img {
    width: 100%;
    position: relative; }
  .feature .three-col-row h4 {
    font-weight: 700;
    color: white;
    margin-bottom: 22px;
    line-height: 30px; }
    @media screen and (max-width: 480px) {
      .feature .three-col-row h4 {
        margin-bottom: 10px; } }
  .feature .three-col-row p {
    font-weight: 500;
    color: white; }

.feature .three-col-row .col-three {
  cursor: pointer;
  overflow: hidden; }
  .feature .three-col-row .col-three .move-up {
    padding: 0 10px;
    -moz-transform: translateY(0px);
    -o-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .feature .three-col-row .col-three .hover-btn {
    opacity: 0;
    -moz-transform: translateY(-60px);
    -o-transform: translateY(-60px);
    -ms-transform: translateY(-60px);
    -webkit-transform: translateY(-60px);
    transform: translateY(-60px);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    @media screen and (max-width: 480px) {
      .feature .three-col-row .col-three .hover-btn {
        -moz-transform: translateY(-30px);
        -o-transform: translateY(-30px);
        -ms-transform: translateY(-30px);
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px); } }
    .feature .three-col-row .col-three .hover-btn .button-default, .feature .three-col-row .col-three .hover-btn .button-white, .feature .three-col-row .col-three .hover-btn .button-green, .feature .three-col-row .col-three .hover-btn .button-orange {
      margin: 0; }
  .feature .three-col-row .col-three:hover .move-up {
    -moz-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  .feature .three-col-row .col-three:hover .hover-btn {
    opacity: 1;
    -moz-transform: translateY(-120px);
    -o-transform: translateY(-120px);
    -ms-transform: translateY(-120px);
    -webkit-transform: translateY(-120px);
    transform: translateY(-120px); }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .feature .three-col-row .col-three:hover .hover-btn {
        -moz-transform: translateY(-90px);
        -o-transform: translateY(-90px);
        -ms-transform: translateY(-90px);
        -webkit-transform: translateY(-90px);
        transform: translateY(-90px); } }
    @media screen and (max-width: 480px) {
      .feature .three-col-row .col-three:hover .hover-btn {
        -moz-transform: translateY(-75px);
        -o-transform: translateY(-75px);
        -ms-transform: translateY(-75px);
        -webkit-transform: translateY(-75px);
        transform: translateY(-75px); } }

.hero-second-level h1 {
  color: white;
  line-height: 56px; }
  @media screen and (max-width: 767px) {
    .hero-second-level h1 {
      line-height: inherit; } }
.hero-second-level .v-middle-wrapper {
  background: none; }
  .hero-second-level .v-middle-wrapper .v-middle-inner {
    max-width: 1400px;
    padding: 0 20px;
    margin: 0 auto; }
.hero-second-level .bg-img {
  max-height: 344px;
  overflow: hidden; }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .hero-second-level .bg-img {
      max-height: 280px; } }
  .hero-second-level .bg-img img {
    width: 100%;
    position: relative; }
.hero-second-level a.play-video {
  display: inline-block;
  position: relative;
  color: white;
  text-transform: uppercase;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 65px;
  margin-top: 47px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .hero-second-level a.play-video:hover {
    color: #1fa4d4; }
  .hero-second-level a.play-video .video-btn {
    display: inline-block;
    margin: 0 7px; }
.hero-second-level .bnr-img-top {
  margin-top: 60px;
  margin-bottom: 20px; }
  @media screen and (max-width: 480px) {
    .hero-second-level .bnr-img-top img {
      width: 40%; } }

.cta-bar {
  background-color: #2ec093;
  background-image: -webkit-linear-gradient(to left, #2ec093, #3bb7d9);
  background-image: -moz-linear-gradient(to left, #2ec093, #3bb7d9);
  background-image: -ms-linear-gradient(to left, #2ec093, #3bb7d9);
  background-image: -o-linear-gradient(to left, #2ec093, #3bb7d9);
  background-image: linear-gradient(to left, #2ec093, #3bb7d9);
  padding: 19px 20px 15px 20px; }
  @media screen and (max-width: 480px) {
    .cta-bar {
      padding: 15px 0; } }
  .cta-bar p {
    font-weight: 700;
    color: white;
    display: inline-block;
    margin-right: 10px; }
    @media screen and (max-width: 480px) {
      .cta-bar p {
        display: block;
        margin: 0;
        margin-bottom: 0; } }
  .cta-bar span img {
    vertical-align: middle;
    margin-right: 5px; }
  .cta-bar .button-default, .cta-bar .button-white, .cta-bar .button-green, .cta-bar .button-orange {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    padding: 10px 16px 9px 21px; }

.get-started {
  background-color: #2ec093;
  background-image: -webkit-linear-gradient(to right, #2ec093, #3bb7d9);
  background-image: -moz-linear-gradient(to right, #2ec093, #3bb7d9);
  background-image: -ms-linear-gradient(to right, #2ec093, #3bb7d9);
  background-image: -o-linear-gradient(to right, #2ec093, #3bb7d9);
  background-image: linear-gradient(to right, #2ec093, #3bb7d9);
  padding: 53px 0 50px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .get-started {
      padding: 40px 0; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .get-started {
      padding: 30px 0; } }
  @media screen and (max-width: 767px) {
    .get-started {
      padding: 20px 0; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .get-started .v-middle-inner {
      table-layout: fixed; } }
  .get-started .v-middle {
    text-align: left; }
    @media screen and (max-width: 1279px) {
      .get-started .v-middle {
        text-align: center;
        padding: 0 15px; } }
    @media screen and (max-width: 767px) {
      .get-started .v-middle {
        display: block;
        margin-bottom: 15px;
        width: 100%;
        text-align: center; } }
    .get-started .v-middle:last-of-type {
      margin: 0; }
    .get-started .v-middle h5 {
      font-family: "Roboto Condensed", sans-serif;
      color: white; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .get-started .v-middle p {
        font-size: 16px; } }
    @media screen and (max-width: 1023px) {
      .get-started .v-middle p {
        font-size: 14px; } }
    .get-started .v-middle p a {
      color: white;
      font-weight: 700;
      line-height: 30px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .get-started .v-middle p a {
          line-height: 20px; } }
      .get-started .v-middle p a .anchor-text:after {
        position: absolute;
        bottom: -5px;
        left: 0;
        background: white;
        height: 2px;
        content: "";
        width: 100%;
        opacity: 0;
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        transition: all 0.2s ease; }
      .get-started .v-middle p a:hover .anchor-text:after {
        opacity: 1;
        bottom: 0; }
    .get-started .v-middle p span {
      margin-right: 5px;
      display: inline-block;
      position: relative; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .get-started .v-middle p span {
          margin-bottom: 5px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .get-started .v-middle p span {
          margin-right: 2px; } }
      .get-started .v-middle p span:last-of-type {
        margin-right: 0; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .get-started .v-middle p span img {
          width: 30px;
          vertical-align: middle; } }
      @media screen and (max-width: 767px) {
        .get-started .v-middle p span img {
          width: 28px;
          vertical-align: middle; } }

.events {
  padding: 54px 0 55px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .events {
      padding: 40px 0 42px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .events {
      padding: 30px 0 32px; } }
  @media screen and (max-width: 767px) {
    .events {
      padding: 20px 0 22px; } }
  .events h2 {
    margin-bottom: 32px; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .events h2 {
        margin-bottom: 28px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .events h2 {
        margin-bottom: 24px; } }
    @media screen and (max-width: 767px) {
      .events h2 {
        margin-bottom: 20px; } }
  .events .title-bar {
    background: #44697d; }
    .events .title-bar p {
      font-family: "Roboto Condensed", sans-serif;
      line-height: 38px;
      font-weight: 700;
      text-transform: uppercase;
      color: white;
      padding: 7px 20px; }
  .events .event-head {
    background: #e9e7e4;
    padding: 0px 20px; }
    .events .event-head .img-icon p,
    .events .event-head .ev-name p,
    .events .event-head .ev-address p,
    .events .event-head .ev-time p {
      font-family: "roboto", sans-serif;
      font-size: 14px;
      line-height: 30px;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0; }
  .events .v-middle-inner .event-list {
    width: 100%;
    border-bottom: 1px solid #dad9d6;
    padding: 43px 20px 53px 20px; }
    .events .v-middle-inner .event-list:last-of-type {
      border-bottom: none;
      padding-bottom: 0; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .events .v-middle-inner .event-list {
        padding: 30px 15px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .events .v-middle-inner .event-list {
        padding: 15px; } }
    @media screen and (max-width: 767px) {
      .events .v-middle-inner .event-list {
        padding: 15px 0; } }
  @media screen and (max-width: 767px) {
    .events .v-middle {
      display: block; } }
  .events .v-middle.img-icon {
    width: 15%;
    float: left;
    text-align: left;
    padding-right: 20px; }
    @media screen and (max-width: 767px) {
      .events .v-middle.img-icon {
        width: 100%;
        padding-right: 0;
        float: none; } }
  .events .ev-name.web-name {
    width: 62%; }
    @media screen and (max-width: 767px) {
      .events .ev-name.web-name {
        width: 100%; } }
  .events .ev-name {
    width: 51.4%;
    text-align: left;
    padding-right: 20px;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .events .ev-name {
        width: 100%;
        padding-right: 0; } }
    .events .ev-name h5 {
      font-family: "Roboto Condensed", sans-serif;
      line-height: 26px;
      font-weight: 700;
      padding: 2px 0 0; }
      @media screen and (max-width: 1279px) and (min-width: 768px) {
        .events .ev-name h5 {
          line-height: 26px;
          font-size: 18px; } }
      @media screen and (max-width: 767px) {
        .events .ev-name h5 {
          font-size: 16px;
          line-height: 24px; } }
    .events .ev-name p {
      font-family: "roboto", sans-serif;
      font-size: 16px;
      line-height: 22px;
      font-weight: 400;
      margin-bottom: 9px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .events .ev-name p {
          font-size: 15px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .events .ev-name p {
          font-size: 14px;
          line-height: 20px; } }
      @media screen and (max-width: 767px) {
        .events .ev-name p {
          font-size: 14px;
          line-height: 18px; } }
    .events .ev-name .learn-more {
      font-weight: 700; }
  .events .ev-address {
    width: 11.8%;
    padding: 0 20px;
    position: relative; }
    @media screen and (max-width: 1399px) {
      .events .ev-address {
        vertical-align: top; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .events .ev-address {
        padding-right: 10px; } }
    @media screen and (max-width: 767px) {
      .events .ev-address {
        width: 100%;
        text-align: left;
        padding: 10px 0 0; } }
    @media screen and (max-width: 480px) {
      .events .ev-address {
        text-align: center; } }
    .events .ev-address:before {
      content: "LOCATION:";
      font-size: 14px;
      font-weight: bold; }
      @media screen and (min-width: 768px) {
        .events .ev-address:before {
          content: " "; } }
    .events .ev-address p {
      font-family: "roboto", sans-serif;
      font-size: 16px;
      font-weight: 700;
      text-transform: capitalize; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .events .ev-address p {
          font-size: 15px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .events .ev-address p {
          font-size: 14px; } }
      @media screen and (max-width: 767px) {
        .events .ev-address p {
          font-size: 14px; } }
  .events .ev-time {
    width: 7%;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .events .ev-time {
        width: 84px;
        margin: 10px 0 0;
        text-align: left; } }
    @media screen and (max-width: 480px) {
      .events .ev-time {
        margin: 10px auto 0;
        text-align: center; } }
    .events .ev-time .date-time-inner {
      background: #e8e8e8;
      padding: 17px 11px 26px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .events .ev-time .date-time-inner {
          padding: 18px 0; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .events .ev-time .date-time-inner {
          padding: 10px 0; } }
      @media screen and (max-width: 767px) {
        .events .ev-time .date-time-inner {
          padding: 10px 0;
          text-align: center;
          margin-top: 3px; } }
      @media screen and (max-width: 480px) {
        .events .ev-time .date-time-inner {
          text-align: center; } }
    .events .ev-time .month {
      font-size: 16px;
      text-transform: uppercase;
      font-family: "Roboto Condensed", sans-serif; }
    .events .ev-time .date {
      font-size: 30px;
      line-height: 32px;
      font-family: "Roboto Condensed", sans-serif; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .events .ev-time .date {
          font-size: 26px;
          line-height: 28px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .events .ev-time .date {
          font-size: 22px;
          line-height: 24px;
          padding-top: 5px; } }
      @media screen and (max-width: 768px) {
        .events .ev-time .date {
          font-size: 20px;
          padding-top: 5px;
          line-height: 22px; } }
    .events .ev-time:before {
      content: "DATE:";
      font-family: "roboto", sans-serif;
      font-size: 14px;
      font-weight: bold; }
      @media screen and (min-width: 768px) {
        .events .ev-time:before {
          content: " "; } }
  .events .ev-btn {
    width: 11.8%;
    text-align: right;
    padding-left: 20px;
    vertical-align: top; }
    .events .ev-btn .button-default, .events .ev-btn .button-white, .events .ev-btn .button-green, .events .ev-btn .button-orange {
      font-family: "roboto", sans-serif;
      margin: 0;
      /*padding: 8px 13px 8px 12px */ }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .events .ev-btn .button-default, .events .ev-btn .button-white, .events .ev-btn .button-green, .events .ev-btn .button-orange {
          padding: 10px; } }
      @media screen and (max-width: 767px) {
        .events .ev-btn .button-default, .events .ev-btn .button-white, .events .ev-btn .button-green, .events .ev-btn .button-orange {
          padding: 10px; } }
    @media screen and (max-width: 767px) {
      .events .ev-btn {
        width: 100%;
        text-align: left;
        padding: 10px 0; } }
    @media screen and (max-width: 480px) {
      .events .ev-btn {
        text-align: center; } }

.grid-text.doc-section {
  padding: 82px 0 0; }
  @media screen and (min-width: 1024px) and (max-width: 1279px) {
    .grid-text.doc-section {
      padding: 70px 0 0; } }
  @media screen and (min-width: 768px) and (max-width: 1023px) {
    .grid-text.doc-section {
      padding: 60px 0 0; } }
  @media screen and (max-width: 767px) {
    .grid-text.doc-section {
      padding: 50px 0 0; } }
  @media screen and (max-width: 480px) {
    .grid-text.doc-section {
      padding: 40px 0 0; } }
  .grid-text.doc-section .col-three-outer .col-three h5 {
    text-transform: uppercase;
    line-height: 24px; }
  .grid-text.doc-section .links-list {
    margin-bottom: 7px; }
    .grid-text.doc-section .links-list .text-container {
      padding-bottom: 21px; }
      @media screen and (max-width: 767px) {
        .grid-text.doc-section .links-list .text-container {
          padding-bottom: 10px; } }
      .grid-text.doc-section .links-list .text-container h4 {
        margin-bottom: 0; }
.grid-text .col-three-outer {
  margin-left: -40px;
  margin-right: -40px; }
  @media screen and (max-width: 1399px) {
    .grid-text .col-three-outer {
      margin-left: -20px;
      margin-right: -20px; } }
  @media screen and (max-width: 767px) {
    .grid-text .col-three-outer {
      margin: 0; } }
  .grid-text .col-three-outer .col-three {
    padding: 40px 40px 0px;
    border-right: 1px solid #c7c7c7; }
    @media screen and (min-width: 769px) {
      .grid-text .col-three-outer .col-three:nth-child(-n+3) {
        padding-top: 5px; } }
    @media screen and (max-width: 767px) {
      .grid-text .col-three-outer .col-three:last-of-type {
        border-bottom: 0 !important; } }
    @media screen and (max-width: 767px) {
      .grid-text .col-three-outer .col-three:last-of-type.no-border {
        border-bottom: 1px solid #c7c7c7 !important; } }
    @media screen and (max-width: 1399px) and (min-width: 1280px) {
      .grid-text .col-three-outer .col-three {
        padding: 30px 30px 0px; } }
    @media screen and (max-width: 1279px) and (min-width: 768px) {
      .grid-text .col-three-outer .col-three {
        padding: 25px 20px 0px; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .grid-text .col-three-outer .col-three {
        padding: 20px 15px 0px;
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid #c7c7c7 !important; } }
    @media screen and (max-width: 667px) {
      .grid-text .col-three-outer .col-three {
        padding: 10px 10px 0px;
        border-right: 0;
        border-bottom: 1px solid #c7c7c7 !important; } }
    .grid-text .col-three-outer .col-three h5 {
      font-family: "Roboto Condensed", sans-serif;
      color: #404041;
      margin-bottom: 21px;
      line-height: 26px; }
      @media screen and (max-width: 1279px) and (min-width: 1280px) {
        .grid-text .col-three-outer .col-three h5 {
          margin-bottom: 20px; } }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .grid-text .col-three-outer .col-three h5 {
          margin-bottom: 15px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .grid-text .col-three-outer .col-three h5 {
          margin-bottom: 10px; } }
      @media screen and (max-width: 767px) and (min-width: 667px) {
        .grid-text .col-three-outer .col-three h5 {
          margin-bottom: 10px; } }
      @media screen and (max-width: 667px) {
        .grid-text .col-three-outer .col-three h5 {
          margin-bottom: 5px;
          line-height: 20px; } }
    .grid-text .col-three-outer .col-three p {
      font-size: 16px;
      line-height: 22px;
      margin-bottom: 30px; }
      @media screen and (max-width: 1399px) and (min-width: 1280px) {
        .grid-text .col-three-outer .col-three p {
          margin-bottom: 30px; } }
      @media screen and (max-width: 1279px) and (min-width: 768px) {
        .grid-text .col-three-outer .col-three p {
          margin-bottom: 25px; } }
      @media screen and (max-width: 767px) {
        .grid-text .col-three-outer .col-three p {
          margin-bottom: 10px;
          font-size: 14px; } }
    .grid-text .col-three-outer .col-three hr {
      position: absolute;
      width: calc(100% - 80px);
      bottom: 0; }
      @media screen and (max-width: 1399px) and (min-width: 1280px) {
        .grid-text .col-three-outer .col-three hr {
          width: calc(100% - 60px); } }
      @media screen and (max-width: 1279px) and (min-width: 768px) {
        .grid-text .col-three-outer .col-three hr {
          width: calc(100% - 40px); } }
      @media screen and (max-width: 767px) {
        .grid-text .col-three-outer .col-three hr {
          display: none; } }
  .grid-text .col-three-outer:last-child .col-inner .col-three {
    padding: 40px 40px 0px; }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .grid-text .col-three-outer:last-child .col-inner .col-three {
        padding: 20px 15px 0px; } }
    @media screen and (max-width: 667px) {
      .grid-text .col-three-outer:last-child .col-inner .col-three {
        padding: 10px 10px 0px; } }

.media-detail {
  padding-bottom: 53px; }

.media-inner {
  max-width: 830px;
  margin: 0 auto; }
  .media-inner .media-video {
    position: relative;
    cursor: pointer; }
    .media-inner .media-video .video-link {
      position: relative;
      display: block; }
      .media-inner .media-video .video-link .video-btn {
        position: absolute;
        top: 41%;
        left: 46%;
        top: calc(50% - 33px);
        left: calc(50% - 33px); }
        @media screen and (max-width: 767px) {
          .media-inner .media-video .video-link .video-btn {
            top: 32%;
            left: 37%;
            top: calc(50% - 33px);
            left: calc(50% - 33px); } }
  .media-inner p {
    line-height: 28px;
    margin-top: 5px;
    margin-bottom: 22px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .media-inner p {
        line-height: 26px; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .media-inner p {
        line-height: 24px; } }
    @media screen and (max-width: 666px) and (min-width: 480px) {
      .media-inner p {
        line-height: 22px; } }
    @media screen and (max-width: 479px) {
      .media-inner p {
        line-height: 20px; } }

.top-label {
  position: absolute;
  top: 0;
  left: 20px;
  text-align: left;
  width: 100%; }

@media screen and (max-width: 767px) {
  .image-detail .col-three {
    width: 100%; } }
.image-detail .col-seven {
  padding-left: 65px; }
  @media screen and (max-width: 1399px) and (min-width: 768px) {
    .image-detail .col-seven {
      padding-left: 25px; } }
  @media screen and (max-width: 767px) {
    .image-detail .col-seven {
      width: 100%;
      margin-top: 25px;
      text-align: center;
      padding-left: 0px; } }
  .image-detail .col-seven h2 {
    line-height: 38px;
    margin-bottom: 14px; }
    @media screen and (max-width: 767px) {
      .image-detail .col-seven h2 {
        line-height: 30px; } }
  .image-detail .col-seven p {
    line-height: 27px;
    color: #606060; }

@media screen and (min-width: 768px) {
  .sol-img-detail {
    display: table; }
    .sol-img-detail .col-three,
    .sol-img-detail .col-seven {
      display: table-cell;
      float: none; }
    .sol-img-detail .col-seven {
      vertical-align: middle; } }

.grid {
  width: 100%;
  float: left;
  margin: 40px 0; }
  @media screen and (max-width: 767px) {
    .grid {
      margin: 20px 0 0; } }
  .grid > ul.icon-tab {
    position: relative;
    font-size: 0; }
  .grid > ul > li {
    display: inline-block;
    position: relative;
    vertical-align: top;
    border: 1px solid #c7c7c7;
    text-align: center;
    margin-top: -1px;
    width: calc(20% + 1px);
    height: 265px;
    margin-left: -1px; }
    @media screen and (max-width: 1399px) and (min-width: 1024px) {
      .grid > ul > li {
        width: calc(25% + 1px); } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .grid > ul > li {
        width: calc(33% + 1px);
        height: 200px; } }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .grid > ul > li {
        width: calc(50% + 1px);
        height: 150px; } }
    @media screen and (max-width: 480px) {
      .grid > ul > li {
        width: calc(100% + 1px);
        height: 150px; } }
  .grid li .tab-logo {
    display: block;
    padding: 26px 30px 40px;
    text-align: center;
    font-size: 22px;
    font-family: "Roboto Condensed", sans-serif;
    line-height: 24px;
    font-weight: 700;
    color: #404041;
    height: 100%;
    cursor: pointer; }
    @media screen and (max-width: 1399px) and (min-width: 1024px) {
      .grid li .tab-logo {
        padding: 20px;
        font-size: 20px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .grid li .tab-logo {
        padding: 15px;
        font-size: 18px; } }
    @media screen and (max-width: 767px) and (min-width: 481px) {
      .grid li .tab-logo {
        padding: 10px;
        height: 150px;
        font-size: 16px; } }
    @media screen and (max-width: 480px) {
      .grid li .tab-logo {
        padding: 10px;
        font-size: 16px; } }
    .grid li .tab-logo span.icons {
      display: block;
      height: 100px;
      margin: 47px auto 28px; }
      @media screen and (max-width: 1023px) and (min-width: 481px) {
        .grid li .tab-logo span.icons img {
          height: 100%; } }
      @media screen and (max-width: 1399px) and (min-width: 1024px) {
        .grid li .tab-logo span.icons {
          height: 90px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .grid li .tab-logo span.icons {
          height: 65px;
          margin: 25px auto; } }
      @media screen and (max-width: 767px) and (min-width: 481px) {
        .grid li .tab-logo span.icons {
          height: 60px;
          margin: 20px auto 15px; } }
      @media screen and (max-width: 480px) {
        .grid li .tab-logo span.icons {
          height: auto;
          width: 40px;
          margin: 20px auto 15px; } }
  .grid li.current {
    box-shadow: 0px 0px 0px 4px #3db5e6 inset;
    border: 1px solid #3db5e6;
    position: relative; }
    .grid li.current:before, .grid li.current:after {
      content: "";
      display: block;
      position: absolute;
      left: calc(50% - 20px);
      width: 0;
      height: 0;
      border-color: transparent transparent #e8e8e8 transparent;
      border-style: solid;
      border-width: 20px;
      bottom: -4px; }
      @media screen and (max-width: 767px) and (min-width: 481px) {
        .grid li.current:before, .grid li.current:after {
          border-width: 16px;
          bottom: 1px; } }
    .grid li.current:before {
      border-color: transparent transparent #3db5e6 transparent;
      border-width: 26px;
      left: calc(50% - 26px);
      bottom: -2px; }
      @media screen and (max-width: 767px) and (min-width: 481px) {
        .grid li.current:before {
          border-width: 20px;
          bottom: 2px; } }
  .grid li:hover {
    box-shadow: 0px 0px 0px 3px #3db5e6 inset;
    border: 1px solid #3db5e6; }
    .grid li:hover:after {
      bottom: -2px; }
  .grid li.no-hover:hover {
    box-shadow: none;
    border-color: #c7c7c7; }
  .grid li.no-hover .tab-logo {
    cursor: auto; }
  .grid li.no-hover.current {
    box-shadow: none;
    border-color: #c7c7c7; }
    .grid li.no-hover.current:after, .grid li.no-hover.current:before {
      border: 0; }
  .grid li .tabs-content {
    display: none;
    background: #e8e8e8;
    padding: 40px;
    float: left;
    width: 100%;
    border: 1px solid #c7c7c7;
    border-top: 0;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    margin-top: 1px; }
    @media screen and (max-width: 767px) {
      .grid li .tabs-content {
        padding: 25px; } }
    @media screen and (max-width: 479px) {
      .grid li .tabs-content {
        padding: 15px 15px; } }
  .grid li .tab-text {
    padding-right: 40px;
    text-align: left;
    height: auto; }
    @media screen and (max-width: 1023px) {
      .grid li .tab-text {
        width: 100%;
        padding: 0; } }
    .grid li .tab-text p {
      color: #606060;
      line-height: 27px;
      margin-bottom: 26px; }
      @media screen and (max-width: 767px) {
        .grid li .tab-text p {
          line-height: 20px;
          margin-bottom: 10px; } }
    .grid li .tab-text ul li {
      padding: 0 0 0 25px;
      position: relative;
      font-size: 18px;
      line-height: 27px;
      margin-bottom: 10px;
      position: relative;
      text-transform: capitalize;
      color: #606060; }
      @media screen and (max-width: 1023px) and (min-width: 667px) {
        .grid li .tab-text ul li {
          font-size: 16px;
          line-height: 22px; } }
      @media screen and (max-width: 666px) {
        .grid li .tab-text ul li {
          font-size: 14px;
          line-height: 18px;
          margin-bottom: 5px; } }
      .grid li .tab-text ul li:before {
        content: "";
        position: absolute;
        width: 8px;
        height: 8px;
        top: 8px;
        left: 0;
        background-color: #3fae2a;
        border-radius: 50%; }
        @media screen and (max-width: 666px) {
          .grid li .tab-text ul li:before {
            top: 5px; } }
      .grid li .tab-text ul li:hover {
        box-shadow: none;
        border: 0; }
    .grid li .tab-text .button-default, .grid li .tab-text .button-white, .grid li .tab-text .button-green, .grid li .tab-text .button-orange {
      margin: 0; }
      @media screen and (max-width: 1023px) {
        .grid li .tab-text .button-default, .grid li .tab-text .button-white, .grid li .tab-text .button-green, .grid li .tab-text .button-orange {
          margin-bottom: 20px; } }
  .grid li .sub-tab-content {
    background: white;
    height: auto; }
    @media screen and (max-width: 1023px) {
      .grid li .sub-tab-content {
        width: 100%; } }
    .grid li .sub-tab-content .col-two {
      overflow: hidden;
      height: 384px;
      border: 1px solid #c7c7c7; }
      .grid li .sub-tab-content .col-two:first-of-type {
        border-right: none; }
      @media screen and (max-width: 1023px) {
        .grid li .sub-tab-content .col-two img {
          min-width: 100%; } }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .grid li .sub-tab-content .col-two {
          height: 300px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .grid li .sub-tab-content .col-two {
          height: 250px; } }
      @media screen and (max-width: 767px) {
        .grid li .sub-tab-content .col-two {
          height: 200px; } }
      .grid li .sub-tab-content .col-two .v-middle-inner {
        padding: 0 20px;
        text-align: left; }
      .grid li .sub-tab-content .col-two .v-middle-wrapper {
        background: rgba(0, 0, 0, 0.8); }
        .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle {
          vertical-align: bottom; }
          .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle .blog-date {
            font-size: 18px;
            font-weight: 700;
            color: white;
            display: inline-block;
            margin-bottom: 28px; }
            @media screen and (max-width: 767px) {
              .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle .blog-date {
                margin: 20px auto 10px;
                font-size: 14px; } }
          .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle h5 {
            font-family: "Roboto Condensed", sans-serif;
            line-height: normal;
            font-weight: 700;
            margin-bottom: 63px;
            color: white; }
          .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle .learn-more {
            position: absolute;
            bottom: 27px;
            font-size: 16px; }
            @media screen and (max-width: 767px) {
              .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle .learn-more {
                font-size: 14px; } }
            @media screen and (max-width: 480px) {
              .grid li .sub-tab-content .col-two .v-middle-wrapper .v-middle .learn-more {
                font-size: 12px; } }
      .grid li .sub-tab-content .col-two.white-bg .v-middle-wrapper {
        background: white; }
        .grid li .sub-tab-content .col-two.white-bg .v-middle-wrapper .blog-date,
        .grid li .sub-tab-content .col-two.white-bg .v-middle-wrapper h5 {
          color: #404041; }

.certification .content-870 img {
  margin-bottom: 21px;
  margin-top: 8px; }
.certification .content-870 p {
  line-height: 28px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .certification .content-870 p {
      line-height: 26px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .certification .content-870 p {
      line-height: 22px; } }
  @media screen and (max-width: 479px) {
    .certification .content-870 p {
      line-height: 20px; } }
.certification.academic-section {
  padding: 99px 0 60px; }

.cource-list {
  width: 100%;
  float: left; }
  .cource-list .col-three {
    border-right: 1px solid #c7c7c7;
    padding: 0 60px; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .cource-list .col-three:nth-of-type(4) {
        clear: both; } }
    .cource-list .col-three:last-of-type {
      border: none !important; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .cource-list .col-three {
        padding: 0 30px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .cource-list .col-three {
        /*height: 290px */
        padding: 0 20px; } }
    @media screen and (max-width: 767px) {
      .cource-list .col-three {
        width: 100%;
        padding: 20px 0;
        border-right: 0;
        border-bottom: 1px solid #c7c7c7 !important; } }
    .cource-list .col-three .cource-img {
      /*height: 113px */
      margin-bottom: 27px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .cource-list .col-three .cource-img {
          width: 90px;
          margin: 0 auto; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .cource-list .col-three .cource-img {
          height: 70px;
          margin: 0 auto 15px; } }
      @media screen and (max-width: 767px) {
        .cource-list .col-three .cource-img {
          width: 60px;
          height: auto;
          margin: 0 auto 10px; } }
      @media screen and (max-height: 767px) and (min-height: 667px) {
        .cource-list .col-three .cource-img {
          height: 200px;
          width: 100%; } }
      @media screen and (max-height: 666px) {
        .cource-list .col-three .cource-img {
          height: 165px;
          width: 100%; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .cource-list .col-three .cource-img img {
          height: 100%; } }
      @media screen and (max-height: 767px) {
        .cource-list .col-three .cource-img img {
          height: 100%; } }
    .cource-list .col-three h3 {
      color: #3fae2a; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .cource-list .col-three h3 {
          line-height: 30px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .cource-list .col-three h3 {
          line-height: 26px; } }
    .cource-list .col-three p {
      line-height: 28px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .cource-list .col-three p {
          line-height: 24px; } }
      @media screen and (max-width: 767px) {
        .cource-list .col-three p {
          line-height: 20px; } }
    .cource-list .col-three .divider {
      width: 100%;
      border: 0;
      border-top: 1px solid #cecece;
      margin: 60px 0;
      height: 0; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .cource-list .col-three .divider {
          margin: 30px 0; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .cource-list .col-three .divider {
          margin: 20px 0; } }
      @media screen and (max-width: 767px) {
        .cource-list .col-three .divider {
          display: none; } }

.learning-block > .wrapper > h2 {
  margin: 53px 0; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .learning-block > .wrapper > h2 {
      margin: 40px 0; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .learning-block > .wrapper > h2 {
      margin: 30px 0; } }
  @media screen and (max-width: 767px) {
    .learning-block > .wrapper > h2 {
      margin: 10px 0; } }
.learning-block .col-three {
  padding: 0 20px;
  border-right: 1px solid #c7c7c7; }
  @media screen and (max-width: 767px) {
    .learning-block .col-three {
      width: 100%;
      border-right: 0;
      border-bottom: 1px solid #c7c7c7;
      padding: 25px 0; } }
  .learning-block .col-three .col-inner {
    padding: 0 20px; }
    @media screen and (max-width: 1399px) and (min-width: 768px) {
      .learning-block .col-three .col-inner {
        padding: 0; } }
    .learning-block .col-three .col-inner .learn-img {
      height: 105px;
      margin-bottom: 32px; }
      @media screen and (max-width: 1399px) and (min-width: 1280px) {
        .learning-block .col-three .col-inner .learn-img {
          height: 90px;
          margin: 0 auto 25px; } }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .learning-block .col-three .col-inner .learn-img {
          margin: 0 auto 20px;
          height: 70px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .learning-block .col-three .col-inner .learn-img {
          margin: 0 auto 15px;
          height: 60px; } }
      @media screen and (max-width: 767px) {
        .learning-block .col-three .col-inner .learn-img {
          width: 50px;
          margin: 0 auto 15px;
          height: auto; } }
      @media screen and (max-width: 1399px) and (min-width: 768px) {
        .learning-block .col-three .col-inner .learn-img img {
          height: 100%; } }
    .learning-block .col-three .col-inner h3 {
      color: #3fae2a; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        .learning-block .col-three .col-inner h3 {
          line-height: 32px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .learning-block .col-three .col-inner h3 {
          line-height: 30px; } }
    .learning-block .col-three .col-inner p {
      line-height: 28px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .learning-block .col-three .col-inner p {
          line-height: 24px; } }
      @media screen and (max-width: 767px) {
        .learning-block .col-three .col-inner p {
          line-height: 20px; } }
    .learning-block .col-three .col-inner .button-default, .learning-block .col-three .col-inner .button-white, .learning-block .col-three .col-inner .button-green, .learning-block .col-three .col-inner .button-orange {
      margin-top: 20px; }
    .learning-block .col-three .col-inner .learning-menu {
      padding: 25px 42px 25px; }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        .learning-block .col-three .col-inner .learning-menu {
          padding: 20px 0px 20px; } }
      @media screen and (max-width: 767px) {
        .learning-block .col-three .col-inner .learning-menu {
          padding: 15px 0px 15px; } }
  @media screen and (max-width: 767px) and (min-width: 481px) {
    .learning-block .col-three .comming-soon {
      width: 80%;
      margin: auto; } }
  .learning-block .col-three .comming-soon .learning-menu {
    padding: 18px 20px 30px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .learning-block .col-three .comming-soon .learning-menu {
        padding: 10px 20px 20px; } }
    @media screen and (max-width: 767px) {
      .learning-block .col-three .comming-soon .learning-menu {
        padding: 10px 10px 15px; } }

.learning-menu li {
  margin-bottom: 11px; }
  @media screen and (max-width: 767px) {
    .learning-menu li {
      margin-bottom: 5px; } }
  .learning-menu li:last-of-type {
    margin: 0; }
  .learning-menu li a {
    display: inline-block;
    position: relative;
    color: #1fa4d4;
    font-family: "roboto", sans-serif;
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase;
    font-weight: 700; }
    .learning-menu li a:before {
      content: "";
      width: 100%;
      height: 2px;
      background: #56badf;
      position: absolute;
      left: 0;
      bottom: -6px;
      opacity: 0;
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      transition: all 0.2s ease; }
    .learning-menu li a:hover:before {
      opacity: 1;
      bottom: -2px; }
    .learning-menu li a:after {
      content: "";
      background: url(../images/more_arrow.png) no-repeat;
      width: 6px;
      height: 10px;
      position: absolute;
      bottom: 3px;
      margin-left: 7px; }

.feature .col-three:nth-of-type(even):before, .feature .col-three:nth-of-type(even):after,
.video-carousel .col-three:nth-of-type(even):before,
.video-carousel .col-three:nth-of-type(even):after {
  content: "";
  background: #8f8f8f;
  width: 1px;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .feature .col-three:nth-of-type(even):before, .feature .col-three:nth-of-type(even):after,
    .video-carousel .col-three:nth-of-type(even):before,
    .video-carousel .col-three:nth-of-type(even):after {
      width: 100%;
      height: 1px; } }
.feature .col-three:nth-of-type(even):after,
.video-carousel .col-three:nth-of-type(even):after {
  right: 0px;
  left: auto; }
  @media screen and (max-width: 767px) {
    .feature .col-three:nth-of-type(even):after,
    .video-carousel .col-three:nth-of-type(even):after {
      bottom: 0;
      top: auto; } }

.showmenu .drop-menu {
  display: block; }

.feature .text-center h2 {
  margin: 0 auto 38px; }

.customer-search {
  position: absolute;
  right: 8px;
  bottom: 8px;
  cursor: pointer;
  pointer-events: none; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .customer-search {
      max-width: 80px; } }
  @media screen and (max-width: 767px) and (min-width: 480px) {
    .customer-search {
      max-width: 50px; } }

.open {
  background: #323334;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media screen and (max-width: 1399px) {
    .open {
      /*margin-left: 0!important */ } }
  .open .hamburger span {
    background: white !important; }
  .open p {
    color: white !important; }

.overlay {
  position: fixed !important;
  bottom: 0; }

.f-mbl-link {
  display: none; }

.answer-section .blue-boxes .col-three {
  border-left: 1px solid white; }
  .answer-section .blue-boxes .col-three:first-child {
    border-left: none; }
  .answer-section .blue-boxes .col-three .learn-more {
    font-size: 16px; }

.events-section {
  padding: 54px 0; }
  .events-section .text-center h2 {
    margin: 0 auto 32px; }
  .events-section .text-center .button-default, .events-section .text-center .button-white, .events-section .text-center .button-green, .events-section .text-center .button-orange {
    margin-top: 30px; }

.partner-intro {
  padding: 62px 0; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .partner-intro {
      padding: 52px 0; } }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .partner-intro {
      padding: 42px 0; } }
  @media screen and (max-width: 666px) and (min-width: 480px) {
    .partner-intro {
      padding: 32px 0; } }
  @media screen and (max-width: 479px) {
    .partner-intro {
      padding: 30px 0; } }
  .partner-intro .content-960 h2 {
    margin-bottom: 5px; }
  .partner-intro .content-960 p {
    line-height: 28px; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .partner-intro .content-960 p {
        line-height: 26px; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .partner-intro .content-960 p {
        line-height: 24px; } }
    @media screen and (max-width: 666px) and (min-width: 480px) {
      .partner-intro .content-960 p {
        line-height: 22px; } }
    @media screen and (max-width: 479px) {
      .partner-intro .content-960 p {
        line-height: 20px; } }
  .partner-intro .content-960 .button-default, .partner-intro .content-960 .button-white, .partner-intro .content-960 .button-green, .partner-intro .content-960 .button-orange {
    margin-top: 34px; }
    @media screen and (max-width: 767px) {
      .partner-intro .content-960 .button-default, .partner-intro .content-960 .button-white, .partner-intro .content-960 .button-green, .partner-intro .content-960 .button-orange {
        margin-top: 20px; } }

/*media query css */
@media screen and (max-width: 1100px) {
  .footer .footer-wht .sub-nav .lic-number {
    float: left;
    margin-top: 20px;
    width: 100%; } }
@media screen and (max-width: 767px) {
  .event-wrapper {
    width: 100%; }
    .event-wrapper .event-head {
      display: none; }

  header .menu-wrapper {
    display: none; }

  .promo-block .three-col-row {
    height: 443px; }
    .promo-block .three-col-row .col-three {
      width: 100%;
      height: 147px; }

  .footer .footer-wht .sub-nav {
    padding: 24px 0 20px; }
    .footer .footer-wht .sub-nav .nav-menus {
      text-align: center; }
      .footer .footer-wht .sub-nav .nav-menus li {
        float: none;
        display: inline-block;
        padding: 0 10px 10px 10px; }
        .footer .footer-wht .sub-nav .nav-menus li a {
          font-size: 16px; } }
        @media screen and (max-width: 767px) and (max-width: 479px) {
          .footer .footer-wht .sub-nav .nav-menus li a {
            font-size: 14px; } }
@media screen and (max-width: 767px) {
    .footer .footer-wht .sub-nav .lic-number {
      float: left;
      width: 100%;
      margin-top: 10px; }
      .footer .footer-wht .sub-nav .lic-number ul {
        padding-left: 0px; }
        .footer .footer-wht .sub-nav .lic-number ul:before {
          left: 0;
          width: 30px;
          background-size: 100%; }
        .footer .footer-wht .sub-nav .lic-number ul li p {
          font-size: 14px; }
  .footer .footer-wht .trademarks {
    padding: 20px 0; }
    .footer .footer-wht .trademarks .content-part {
      width: 100%;
      padding-right: 0; }
      .footer .footer-wht .trademarks .content-part p {
        font-size: 14px;
        padding-top: 0; }
    .footer .footer-wht .trademarks .media-part {
      width: 100%;
      float: left;
      margin-top: 20px; }
      .footer .footer-wht .trademarks .media-part > ul {
        width: 50%;
        float: left; } }
      @media screen and (max-width: 767px) and (max-width: 480px) {
        .footer .footer-wht .trademarks .media-part > ul {
          width: 100%;
          margin-bottom: 10px; } }
@media screen and (max-width: 767px) {
        .footer .footer-wht .trademarks .media-part > ul > li {
          margin: 0;
          margin-right: 5px;
          text-align: center;
          width: 36px;
          height: 36px; }
          .footer .footer-wht .trademarks .media-part > ul > li:last-of-type {
            margin-right: 0; }
          .footer .footer-wht .trademarks .media-part > ul > li a {
            line-height: 36px;
            display: block; }
            .footer .footer-wht .trademarks .media-part > ul > li a img {
              vertical-align: middle; }
        .footer .footer-wht .trademarks .media-part > ul .select-list {
          width: 150px;
          height: 36px; } }
        @media screen and (max-width: 767px) and (max-width: 480px) {
          .footer .footer-wht .trademarks .media-part > ul .select-list {
            width: 110px; } }
@media screen and (max-width: 767px) {
          .footer .footer-wht .trademarks .media-part > ul .select-list p {
            font-size: 14px; }
          .footer .footer-wht .trademarks .media-part > ul .select-list .selected:after {
            top: 14px; } }
          @media screen and (max-width: 767px) and (max-width: 480px) {
            .footer .footer-wht .trademarks .media-part > ul .select-list .selected:after {
              right: -25px; } }
@media screen and (max-width: 767px) {
          .footer .footer-wht .trademarks .media-part > ul .select-list .options {
            bottom: 36px; } }
        @media screen and (max-width: 767px) and (max-width: 480px) {
          .footer .footer-wht .trademarks .media-part > ul .select-list .v-middle-inner {
            padding: 0; } }
@media screen and (max-width: 767px) {
  .footer .footer-dark {
    padding: 15px 20px;
    text-align: center; }
    .footer .footer-dark .copyright {
      width: 100%; }
      .footer .footer-dark .copyright p {
        padding: 0; }
    .footer .footer-dark .policy-terms {
      float: left;
      width: 100%;
      padding: 0;
      margin-top: 10px; }
      .footer .footer-dark .policy-terms ul {
        text-align: center; }
        .footer .footer-dark .policy-terms ul li {
          float: none;
          display: inline-block; } }
@media screen and (max-width: 480px) {
  .info-block .col-two:first-of-type, .info-block .col-two:last-of-type {
    padding: 20px 0; }
  .info-block .col-two:last-of-type {
    border-top: 1px solid #dad9d6;
    padding-bottom: 0; }
    .info-block .col-two:last-of-type:before {
      background: none; }
  .info-block .col-two h2 {
    margin-top: 10px; }
  .info-block p {
    line-height: 18px; }

  .learn-more {
    font-size: 12px; } }
.events .v-middle-inner {
  padding: 0; }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .events .event-head .img-icon {
    width: 14%; } }
@media screen and (max-width: 767px) {
  .events .event-head .img-icon {
    width: 13%; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .events .event-head .ev-name {
    width: 48%; } }
@media screen and (max-width: 767px) {
  .events .event-head .ev-name {
    width: 48%; } }
@media screen and (max-width: 767px) {
  .events .event-head .ev-address {
    width: 13%; } }
@media screen and (max-width: 767px) {
  .events .event-head .ev-time {
    width: 10%; } }
@media screen and (max-width: 767px) {
  .events .event-head .ev-btn {
    width: 14%; } }

.training-learning-block.learning-block {
  padding: 52px 0 22px; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .training-learning-block.learning-block {
      padding: 42px 0 22px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .training-learning-block.learning-block {
      padding: 32px 0 18px; } }
  @media screen and (max-width: 767px) {
    .training-learning-block.learning-block {
      padding: 22px 0 22px; } }
  .training-learning-block.learning-block > .wrapper > h2 {
    margin: 2px 0 58px; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .training-learning-block.learning-block > .wrapper > h2 {
        margin: 0 0 40px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .training-learning-block.learning-block > .wrapper > h2 {
        margin: 0 0 30px; } }
    @media screen and (max-width: 767px) {
      .training-learning-block.learning-block > .wrapper > h2 {
        margin: 0 0 10px; } }
  .training-learning-block.learning-block .col-three .col-inner .learn-img {
    margin: 0 auto 27px; }
    @media screen and (max-width: 1399px) and (min-width: 1280px) {
      .training-learning-block.learning-block .col-three .col-inner .learn-img {
        margin: 0 auto 25px; } }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .training-learning-block.learning-block .col-three .col-inner .learn-img {
        margin: 0 auto 20px; } }
    @media screen and (max-width: 1023px) {
      .training-learning-block.learning-block .col-three .col-inner .learn-img {
        margin: 0 auto 15px; } }
  .training-learning-block.learning-block .col-three .col-inner .comming-soon .blue-label {
    font-size: 14px;
    padding: 4px 10px; }
  .training-learning-block.learning-block .col-three .col-inner .comming-soon .learning-menu {
    padding: 14px 20px 30px; }
  .training-learning-block.learning-block .col-three .comming-soon {
    border-top: solid 1px #c7c7c7;
    padding-top: 20px; }
    .training-learning-block.learning-block .col-three .comming-soon.no-brdr {
      border: none; }
    .training-learning-block.learning-block .col-three .comming-soon h4 {
      text-transform: uppercase;
      font-size: 21px; }

/* firefix specific css  */
@-moz-document url-prefix() {
  .grid-content .tabs-list li.current:before {
    bottom: 0; }
  .grid-content .tabs-list li.current:after {
    bottom: -1px; }

  .tab-content .tab .image-holder img {
    width: 100%; }

  .events .event-list .img-icon img {
    width: 100%; }

  .partner-block .slider .item li span > a img {
    width: 100%; } }
#horton-webcast-slider {
  overflow: hidden; }

@media screen\0 {
  img {
    border: 0; }

  .get-started .v-middle p span img {
    vertical-align: middle; }

  .events .v-middle.img-icon img {
    width: 100%; }

  .f-close-btn {
    right: 42px; } }
.grid-customers .sub-tab-content .resources-default .bg-img img {
  width: 100% !important;
  height: auto !important; }

@media screen and (min-width: 1280px) and (max-width: 1399px) {
  .solutions-menu .drop-menu {
    right: 50px; }

  .products-menu .drop-menu {
    right: 50px; } }
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .training-menu .drop-menu {
    width: 100%;
    right: 0;
    left: auto; }

  .services-menu .drop-menu {
    width: 850px; }

  .solutions-menu .drop-menu {
    width: 100%;
    right: 0;
    left: auto; }

  .products-menu .drop-menu {
    width: 100%;
    right: 0;
    left: auto; } }
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .products-menu .drop-menu {
    padding: 35px 0 50px;
    left: auto;
    right: 0;
    width: 100%; }

  .services-menu .drop-menu {
    padding: 35px 0 50px;
    left: auto;
    right: 0;
    width: 100%; }

  .training-menu .drop-menu {
    padding: 35px 0 50px;
    left: auto;
    right: 0;
    width: 100%; }

  .solutions-menu .drop-menu {
    padding: 35px 0 50px;
    width: 100%;
    right: 0;
    left: auto; }

  .menu-column .submenu ul {
    padding-left: 5px; } }
.breadcrumb {
  float: left;
  padding: 10px 0 0 8px;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 12px;
  letter-spacing: 0.049em;
  font-weight: 700; }
  .breadcrumb a {
    color: #1fa4d4;
    text-decoration: underline;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .breadcrumb a:hover {
      color: #5b5e61; }

.logo a {
  display: block; }
  .logo a img {
    width: 100%; }

.bold {
  font-weight: 700; }

.less-padding {
  padding: 23px 0 0; }

.body-content .green-bg {
  background: #3fae2a; }
.body-content .pad-30 {
  padding: 30px 0; }
.body-content .clear {
  clear: both; }

#life {
  padding: 40px 0 98px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    #life {
      padding: 40px 0 50px; } }
  @media screen and (max-width: 767px) {
    #life {
      padding: 40px 0; } }
  #life .grid-section .heading-career {
    margin-bottom: 83px; }
  #life .cource-list .col-three {
    padding: 45px 35px 65px; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      #life .cource-list .col-three {
        padding: 25px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      #life .cource-list .col-three {
        padding: 20px; } }
    @media screen and (max-width: 767px) {
      #life .cource-list .col-three {
        padding: 20px 0; } }
    @media screen and (max-width: 767px) {
      #life .cource-list .col-three:last-of-type {
        padding-bottom: 0; } }
    #life .cource-list .col-three p {
      line-height: 28px;
      font-weight: 400;
      text-transform: none; }
      @media screen and (max-width: 1399px) and (min-width: 1280px) {
        #life .cource-list .col-three p {
          line-height: 26px; } }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        #life .cource-list .col-three p {
          line-height: 24px; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        #life .cource-list .col-three p {
          line-height: 22px; } }
      @media screen and (max-width: 767px) {
        #life .cource-list .col-three p {
          line-height: 20px; } }
    #life .cource-list .col-three .cource-img {
      margin-bottom: 38px; }
      @media screen and (max-width: 1279px) and (min-width: 1024px) {
        #life .cource-list .col-three .cource-img {
          width: auto; } }
      @media screen and (max-width: 1023px) and (min-width: 768px) {
        #life .cource-list .col-three .cource-img {
          margin-bottom: 10px; } }
      @media screen and (max-width: 768px) {
        #life .cource-list .col-three .cource-img {
          margin-bottom: 10px; } }

.get-started {
  text-transform: uppercase; }

.product-tabs {
  display: table;
  width: 100%;
  background-color: #3f9ec7;
  background-image: -webkit-linear-gradient(to right, #3f9ec7, #42809d);
  background-image: -moz-linear-gradient(to right, #3f9ec7, #42809d);
  background-image: -ms-linear-gradient(to right, #3f9ec7, #42809d);
  background-image: -o-linear-gradient(to right, #3f9ec7, #42809d);
  background-image: linear-gradient(to right, #3f9ec7, #42809d); }
  .product-tabs:after {
    clear: both; }

.tabset {
  display: table-cell;
  width: 305px;
  background: #44697d;
  vertical-align: top;
  color: white; }
  @media screen and (max-width: 1279px) and (min-width: 768px) {
    .tabset {
      width: 250px; } }
  @media screen and (max-width: 767px) {
    .tabset {
      width: 100%;
      display: block; } }
  .tabset li a {
    color: white;
    display: block;
    background: #44697d;
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 14px;
    line-height: 28px;
    font-weight: 700;
    padding: 14px 39px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    letter-spacing: 0.049em; }
    @media screen and (max-width: 1399px) and (min-width: 1280px) {
      .tabset li a {
        padding: 14px 30px; } }
    @media screen and (max-width: 1279px) and (min-width: 768px) {
      .tabset li a {
        padding: 14px 25px; } }
    @media screen and (max-width: 767px) {
      .tabset li a {
        padding: 10px 20px; } }
    @media screen and (max-width: 480px) {
      .tabset li a {
        padding: 10px 20px;
        line-height: 18px;
        text-align: center; } }
    .tabset li a:hover {
      background: #3bb7da; }
    .tabset li a.active {
      background: #3bb7da; }
  .tabset .tab-list {
    margin: 17px 0; }
    @media screen and (max-width: 767px) {
      .tabset .tab-list {
        margin: 0; } }

.tab-content {
  display: table-cell;
  color: white;
  padding: 34px 3%; }
  @media screen and (max-width: 767px) {
    .tab-content {
      width: 100%;
      display: block;
      padding: 20px; } }
  .tab-content .tab {
    display: none; }
    .tab-content .tab.active {
      display: block; }
    .tab-content .tab h3 {
      margin-bottom: 10px; }
    .tab-content .tab p {
      color: white;
      font-size: 16px;
      margin-bottom: 14px; }
      @media screen and (max-width: 767px) {
        .tab-content .tab p {
          font-size: 14px; } }
      .tab-content .tab p:last-of-type {
        margin-bottom: 0; }
    .tab-content .tab .image-holder {
      float: left;
      padding: 6px 4.3% 6px 0;
      max-width: 50%; }
      @media screen and (max-width: 1279px) and (min-width: 768px) {
        .tab-content .tab .image-holder {
          float: none;
          max-width: 100%;
          padding: 0;
          margin-top: 20px; } }
      @media screen and (max-width: 767px) {
        .tab-content .tab .image-holder {
          float: none;
          width: 100%;
          max-width: inherit;
          text-align: center;
          padding: 0;
          margin-top: 20px; } }
      .tab-content .tab .image-holder img {
        width: 100%;
        height: auto; }
        @media screen and (max-width: 1279px) {
          .tab-content .tab .image-holder img {
            width: 100%; } }
    .tab-content .tab .text-holder,
    .tab-content .tab .full-text-holder {
      float: left;
      max-width: 50%;
      padding: 0 3% 0 0; }
      @media screen and (max-width: 1279px) and (min-width: 768px) {
        .tab-content .tab .text-holder,
        .tab-content .tab .full-text-holder {
          float: none;
          max-width: 100%;
          padding: 0; } }
      @media screen and (max-width: 767px) {
        .tab-content .tab .text-holder,
        .tab-content .tab .full-text-holder {
          float: none;
          max-width: inherit;
          padding: 0;
          width: 100%;
          text-align: center; } }
    .tab-content .tab .full-text-holder {
      max-width: 100%;
      padding: 0; }
    .tab-content .tab .more-info {
      margin-bottom: 10px; }
      .tab-content .tab .more-info p {
        font-size: 16px;
        line-height: 23px;
        text-transform: uppercase;
        padding: 28px 0 5px;
        font-weight: 700; }
        @media screen and (max-width: 767px) {
          .tab-content .tab .more-info p {
            font-size: 14px;
            padding: 15px 0 5px; } }
      .tab-content .tab .more-info li {
        display: inline;
        margin-right: 22px; }
        .tab-content .tab .more-info li .learn-more {
          color: #66d8fc;
          font-size: 20px;
          line-height: 38px;
          text-transform: capitalize; }
          @media screen and (max-width: 1279px) and (min-width: 768px) {
            .tab-content .tab .more-info li .learn-more {
              font-size: 18px;
              line-height: 30px; } }
          @media screen and (max-width: 767px) {
            .tab-content .tab .more-info li .learn-more {
              font-size: 16px;
              line-height: 22px; } }
          .tab-content .tab .more-info li .learn-more:after {
            background: url(../images/more-arrow-wht.png) no-repeat;
            top: 16px; }
            @media screen and (max-width: 1279px) and (min-width: 768px) {
              .tab-content .tab .more-info li .learn-more:after {
                top: 12px; } }
            @media screen and (max-width: 767px) {
              .tab-content .tab .more-info li .learn-more:after {
                top: 7px; } }
          .tab-content .tab .more-info li .learn-more:before {
            background: white;
            bottom: -5px; }
          .tab-content .tab .more-info li .learn-more:hover:before {
            bottom: -2px; }

.tabular-block .fixed-anchor {
  margin: 30px 0 40px; }

.hadoop {
  padding: 72px 0 95px; }
  .hadoop .fixed-anchor {
    margin: 40px 0; }
  .hadoop .content-960 h2 {
    margin: 0 auto 4px;
    max-width: 500px; }
  .hadoop h3 {
    background-color: #44697d;
    color: white;
    font-weight: bold;
    font-family: "Roboto Condensed", sans-serif;
    padding: 13px 20px 12px;
    margin-bottom: 34px; }
  .hadoop p {
    font-size: 18px;
    line-height: 28px; }

.intro-block.hdp-projects {
  padding: 92px 0 54px; }
  .intro-block.hdp-projects h2 {
    margin-bottom: 5px; }
  .intro-block.hdp-projects p {
    line-height: 28px; }
.intro-block.company-intro h2 {
  margin-bottom: 5px; }
.intro-block.company-intro p {
  line-height: 28px; }

.info-hadoop h2 {
  margin: 0 0 46px 0; }

.inner-wrapper {
  padding: 0 20px; }

.service-dtl {
  padding: 39px 0 0; }
  .service-dtl .title-bar p {
    font-size: 22px;
    line-height: 38px;
    text-transform: capitalize;
    padding: 5px 20px 4px; }
  .service-dtl .service-data {
    padding: 35px 20px 0px 20px; }
    .service-dtl .service-data > p {
      font-size: 16px;
      line-height: 22px;
      margin-bottom: 35px; }
  .service-dtl .footnote p {
    line-height: 19px; }

.tabular-box a.link {
  color: #1fa4d4;
  position: relative; }
  .tabular-box a.link:after {
    content: "";
    background: url(../images/more_arrow.png) no-repeat;
    width: 6px;
    height: 10px;
    margin-left: 8px;
    display: inline-block; }
  .tabular-box a.link:before {
    content: "";
    opacity: 0;
    background: #1fa4d4;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0px;
    bottom: -15px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .tabular-box a.link:hover:before {
    bottom: -5px;
    opacity: 1; }
.tabular-box .row-head {
  background-color: #e9e7e4;
  border-bottom: 1px solid #efedeb;
  width: 100%;
  font-size: 14px;
  font-weight: bold;
  margin-top: 35px;
  text-transform: uppercase; }
  .tabular-box .row-head div {
    padding: 8px 18px 7px; }
  .tabular-box .row-head .active-col {
    background: #3db5e6;
    color: white;
    position: relative;
    padding: 0 18px 15px; }
    .tabular-box .row-head .active-col:before {
      content: " ";
      position: absolute;
      background: #3db5e6;
      border-radius: 6px 6px 0 0;
      width: 100%;
      height: 22px;
      top: -22px;
      left: 0; }
.tabular-box .row-sub-head {
  background-color: #3b8740;
  width: 100%;
  color: white;
  font-size: 16px;
  font-weight: bold;
  padding: 13px 18px;
  border-right: 1px solid #dad9d6;
  text-align: left; }
.tabular-box .row-data {
  width: 100%;
  font-size: 16px; }
  .tabular-box .row-data div {
    padding: 27px 18px 28px;
    border-bottom: 1px solid #dad9d6;
    border-right: 1px solid #dad9d6; }
    .tabular-box .row-data div:first-of-type {
      font-weight: bold; }
      @media screen and (max-width: 666px) {
        .tabular-box .row-data div:first-of-type {
          line-height: 18px;
          padding-top: 15px; } }
  .tabular-box .row-data .active-col {
    background: #d8f0fa; }

.footnote {
  padding: 25px 18px !important;
  width: 100%;
  background-color: #e9e7e4;
  border-right: 1px solid #dad9d6; }
  .footnote p {
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    margin-bottom: 0; }
    @media screen and (max-width: 666px) {
      .footnote p {
        margin-bottom: 10px; } }

.service-intro {
  padding-bottom: 0; }
  .service-intro .content-960 {
    max-width: 820px; }
    .service-intro .content-960 h2 {
      max-width: 610px;
      margin: 0 auto 6px; }
    .service-intro .content-960 p {
      line-height: 28px; }

.service-two-up h2 {
  margin: 0 auto 55px; }
.service-two-up .col-two h3 {
  margin-top: 35px; }

.services h2 {
  margin: 0 !important;
  line-height: 34px; }
.services .button-default, .services .button-white, .services .button-green, .services .button-orange {
  margin-top: 33px; }

.services-block .fixed-anchor {
  margin: 30px 0; }
.services-block .content-870 h1 {
  margin: 93px auto 6px;
  max-width: 630px; }
.services-block .content-870 p {
  line-height: 28px; }
.services-block .grid-text {
  margin-bottom: 40px; }
  .services-block .grid-text .col-three-outer {
    padding: 55px 0; }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .services-block .grid-text .col-three-outer {
        padding: 45px 0; } }
    @media screen and (max-width: 767px) and (min-width: 480px) {
      .services-block .grid-text .col-three-outer {
        padding: 0; } }
    @media screen and (max-width: 479px) {
      .services-block .grid-text .col-three-outer {
        padding: 0; } }
    .services-block .grid-text .col-three-outer .col-three {
      padding: 0 30px;
      height: auto !important; }
      @media screen and (max-width: 767px) {
        .services-block .grid-text .col-three-outer .col-three {
          padding: 30px;
          border-bottom: 0px solid black !important; } }
      .services-block .grid-text .col-three-outer .col-three p {
        padding-bottom: 0;
        font-size: 18px;
        line-height: 28px;
        margin-bottom: 0; }
        @media screen and (max-width: 1023px) and (min-width: 768px) {
          .services-block .grid-text .col-three-outer .col-three p {
            font-size: 16px;
            line-height: 26px; } }
        @media screen and (max-width: 767px) and (min-width: 667px) {
          .services-block .grid-text .col-three-outer .col-three p {
            font-size: 14px;
            line-height: 24px; } }
        @media screen and (max-width: 666px) and (min-width: 480px) {
          .services-block .grid-text .col-three-outer .col-three p {
            line-height: 22px;
            font-size: 14px; } }
        @media screen and (max-width: 479px) {
          .services-block .grid-text .col-three-outer .col-three p {
            font-size: 14px;
            line-height: 20px; } }
      .services-block .grid-text .col-three-outer .col-three:last-of-type {
        border-right: none; }
    .services-block .grid-text .col-three-outer hr {
      border-top: none; }

.sub-text .sub {
  font-size: 16px; }

.info-three-block h2 {
  margin-bottom: 57px;
  margin-top: 0; }
.info-three-block .col-three {
  padding: 0 30px; }
  @media screen and (max-width: 767px) {
    .info-three-block .col-three {
      padding: 10px 30px; } }
  .info-three-block .col-three h3 {
    margin: 27px 0 3px; }
  .info-three-block .col-three p {
    padding-bottom: 0;
    font-size: 18px;
    line-height: 28px;
    font-weight: 400; }
  .info-three-block .col-three .button-default, .info-three-block .col-three .button-white, .info-three-block .col-three .button-green, .info-three-block .col-three .button-orange {
    margin-top: 33px; }
  .info-three-block .col-three:before {
    content: "";
    background: #c7c7c7;
    width: 1px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
    @media screen and (max-width: 666px) {
      .info-three-block .col-three:before {
        width: 0; } }
  .info-three-block .col-three:first-of-type:before {
    width: 0px; }
.info-three-block .cta-img {
  margin-top: 70px; }

.support-arch h2 {
  margin-bottom: 43px; }
.support-arch p {
  color: #404041;
  line-height: 28px;
  margin-top: 42px; }

.service-support h2 {
  margin-bottom: 30px; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .service-support h2 {
      margin-bottom: 25px; } }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .service-support h2 {
      margin-bottom: 20px; } }
  @media screen and (max-width: 666px) {
    .service-support h2 {
      margin-bottom: 15px; } }
.service-support p {
  font-size: 40px;
  line-height: 78px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 100;
  display: inline-block; }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .service-support p {
      font-size: 36px;
      line-height: 74px; } }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .service-support p {
      font-size: 34px;
      line-height: 72px; } }
  @media screen and (max-width: 666px) and (min-width: 480px) {
    .service-support p {
      font-size: 30px;
      line-height: 70px; } }
  @media screen and (max-width: 479px) {
    .service-support p {
      font-size: 28px;
      line-height: 66px; } }
.service-support .select-box {
  display: inline-block;
  vertical-align: top; }
.service-support .select-list {
  width: 305px;
  height: 78px;
  padding: 0 0 0 15px; }
  .service-support .select-list:hover {
    background: none;
    cursor: pointer; }
  .service-support .select-list .selected:after {
    background-image: none; }
  .service-support .select-list .selected p:first-of-type {
    text-transform: none;
    color: #3db5e6;
    background: url(../images/dot.png) repeat-x;
    background-position: 100% 100%;
    position: relative;
    font-weight: normal;
    padding-right: 25px;
    line-height: 65px; }
  .service-support .select-list .selected p:after {
    content: "";
    background: url(../images/more-icon.png) no-repeat;
    width: 16px;
    height: 10px;
    position: absolute;
    top: 34px;
    right: 0; }
  .service-support .select-list .options {
    top: 65px;
    background: white;
    width: 285px;
    border: 1px solid #dad9d6;
    border-top: none; }
    .service-support .select-list .options p {
      line-height: 34px; }

.downloads-container .fixed-anchor {
  padding: 20px 0 40px; }
.downloads-container .footnote {
  padding: 35px 40px !important; }
  .downloads-container .footnote p {
    font-size: 16px;
    line-height: 22px; }
    .downloads-container .footnote p a {
      display: block;
      margin-top: 20px;
      color: #1fa4d4; }

.downloads {
  padding: 0 20px; }
  .downloads hr {
    margin: 20px 0; }
  .downloads .title-bar {
    background: #44697d;
    margin: 0 -20px 20px; }
    .downloads .title-bar p {
      font-family: "Roboto Condensed", sans-serif;
      font-size: 22px;
      line-height: 38px;
      font-weight: 700;
      color: white;
      padding: 5px 20px 4px; }
  .downloads .item {
    padding: 10px 0 20px; }
    .downloads .item p {
      font-size: 16px; }
    .downloads .item h5 {
      font-family: "Roboto Condensed", sans-serif;
      line-height: 38px;
      margin-bottom: 12px; }
    .downloads .item h6 {
      margin-bottom: 5px; }
      .downloads .item h6.head-space {
        margin-top: 25px; }
    .downloads .item ul {
      padding: 9px 0; }
      .downloads .item ul li {
        padding: 0 19px;
        display: inline-block;
        position: relative; }
        .downloads .item ul li:before {
          content: "";
          position: absolute;
          width: 2px;
          height: 13px;
          left: 0;
          top: 5px;
          background-color: #626162; }
        .downloads .item ul li:first-child {
          padding-left: 0; }
          .downloads .item ul li:first-child:before {
            width: 0; }
        .downloads .item ul li a {
          font-size: 16px;
          line-height: 22px;
          color: #1fa4d4;
          text-decoration: none;
          position: relative; }
          .downloads .item ul li a:hover:before {
            opacity: 1;
            bottom: -3px; }
          .downloads .item ul li a:before {
            content: "";
            opacity: 0;
            background: #1fa4d4;
            width: 100%;
            height: 2px;
            position: absolute;
            left: 0px;
            bottom: -13px;
            -webkit-transition: all 0.3s ease;
            -moz-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease; }
    .downloads .item .beige-bg {
      padding: 9px 10px;
      border-bottom: 1px solid white;
      display: table;
      width: 100%;
      min-height: 61px; }
      .downloads .item .beige-bg .text-container {
        display: table-cell;
        width: 100%;
        padding: 0 10px;
        vertical-align: top; }
        .downloads .item .beige-bg .text-container p {
          padding-top: 8px; }
      .downloads .item .beige-bg .btn-container {
        display: table-cell;
        min-width: 335px;
        text-align: right; }
        .downloads .item .beige-bg .btn-container.double {
          min-width: 510px; }
        .downloads .item .beige-bg .btn-container.wide {
          min-width: 1050px; }
          .downloads .item .beige-bg .btn-container.wide .top {
            margin-bottom: 8px; }
        .downloads .item .beige-bg .btn-container ul {
          padding: 0; }
          .downloads .item .beige-bg .btn-container ul li {
            display: inline-block;
            padding: 0;
            border: 0;
            margin-left: 4px; }
            .downloads .item .beige-bg .btn-container ul li:before {
              width: 0; }
            .downloads .item .beige-bg .btn-container ul li a:hover:before {
              opacity: 0; }
        .downloads .item .beige-bg .btn-container .button-default, .downloads .item .beige-bg .btn-container .button-white, .downloads .item .beige-bg .btn-container .button-green, .downloads .item .beige-bg .btn-container .button-orange {
          margin: 0;
          padding: 10px 13px 10px 12px;
          min-width: 240px;
          font-family: "roboto", sans-serif; }
  .downloads .accordion {
    margin-bottom: 40px; }
    .downloads .accordion .opener {
      display: block;
      border: 2px solid #e9e7e4;
      padding: 17px 20px 18px;
      cursor: pointer;
      height: 60px; }
      .downloads .accordion .opener p {
        font-size: 16px;
        line-height: 22px;
        float: left; }
      .downloads .accordion .opener .display {
        float: right;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        position: relative;
        padding-right: 20px; }
        .downloads .accordion .opener .display:after {
          content: "";
          background: url(../images/down-arrow.png) no-repeat;
          width: 11px;
          height: 9px;
          position: absolute;
          right: 0;
          top: 6px;
          -moz-transform: rotate(180deg);
          -o-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }
        .downloads .accordion .opener .display.close {
          display: none; }
        .downloads .accordion .opener .display:last-child:after {
          -moz-transform: rotate(0deg);
          -o-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
          -webkit-transform: rotate(0deg);
          transform: rotate(0deg); }
    .downloads .accordion .item {
      padding: 30px 20px; }
    .downloads .accordion hr {
      margin: 20px; }
    .downloads .accordion .accordion-content {
      display: none;
      clear: both;
      border-left: 2px solid #e9e7e4;
      border-bottom: 2px solid #e9e7e4;
      border-right: 2px solid #e9e7e4; }

.other-products h2 {
  margin-bottom: 34px; }
.other-products h5 {
  font-family: "Roboto Condensed", sans-serif;
  color: white; }

.customer-resources {
  padding-top: 70px; }

.service-table {
  border-collapse: collapse; }
  .service-table .row-head .cell-four,
  .service-table .row-head .cell-three {
    padding: 8px 18px;
    text-align: left; }
  .service-table .row-data .cell-four {
    width: 25%;
    border-right: 1px solid #dad9d6;
    border-bottom: 1px solid #dad9d6;
    padding: 27px 18px 28px; }
    .service-table .row-data .cell-four:first-of-type {
      font-weight: 700; }
  .service-table .row-data .cell-three {
    width: 33.33%;
    border-right: 1px solid #dad9d6;
    border-bottom: 1px solid #dad9d6;
    padding: 27px 18px 28px; }
    .service-table .row-data .cell-three:first-of-type {
      font-weight: 700; }

@media screen and (min-width: 1280px) and (max-width: 1399px) {
  .programs-section {
    padding: 80px 0; }

  .developer-quick-links.tutorials-section {
    padding: 80px 0; }

  .wrapper {
    padding: 0 20px; }

  .downloads .item .beige-bg .btn-container.wide {
    min-width: 750px; }
    .downloads .item .beige-bg .btn-container.wide ul {
      float: left;
      width: 50%; }
      .downloads .item .beige-bg .btn-container.wide ul li {
        display: block;
        padding-bottom: 8px; }
        .downloads .item .beige-bg .btn-container.wide ul li:last-child {
          padding-bottom: 0; }
    .downloads .item .beige-bg .btn-container.wide.single {
      min-width: 335px; }
      .downloads .item .beige-bg .btn-container.wide.single ul {
        width: 100%; } }
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  section,
  .slate-grey-block,
  .partner-resource,
  #resources,
  .programs-section,
  .contact-links,
  .contact-form {
    padding: 70px 0; }

  .developer-quick-links.tutorials-section {
    padding: 70px 0; }

  .wrapper {
    padding: 0 20px; }

  .downloads .item .beige-bg .btn-container {
    min-width: 270px; }
    .downloads .item .beige-bg .btn-container.wide {
      min-width: 750px; }
      .downloads .item .beige-bg .btn-container.wide ul {
        float: left;
        width: 50%; }
        .downloads .item .beige-bg .btn-container.wide ul li {
          display: block;
          padding-bottom: 8px; }
          .downloads .item .beige-bg .btn-container.wide ul li:last-child {
            padding-bottom: 0; }
      .downloads .item .beige-bg .btn-container.wide.single {
        min-width: 270px; }
        .downloads .item .beige-bg .btn-container.wide.single ul {
          width: 100%; } }
@media screen and (min-width: 768px) and (max-width: 1023px) {
  section,
  .slate-grey-block,
  .partner-resource,
  .padding70,
  #resources,
  .programs-section,
  .contact-links,
  .contact-form {
    padding: 60px 0; }

  .developer-quick-links.tutorials-section {
    padding: 60px 0; }

  .wrapper {
    padding: 0 20px; }

  h1 {
    font-size: 40px; }

  h2 {
    font-size: 30px;
    line-height: 36px; }

  h3 {
    font-size: 26px;
    line-height: 30px; }

  h4 {
    font-size: 24px;
    line-height: 28px; }

  h5 {
    font-size: 20px;
    line-height: 22px; }

  p {
    font-size: 16px;
    line-height: 20px; }

  .hero-second-level a.play-video {
    margin-top: 30px; }

  .cta-block h1 {
    font-size: 40px; }

  .downloads .item p {
    margin-bottom: 10px; }
  .downloads .item .beige-bg .text-container {
    display: block; }
  .downloads .item .beige-bg .btn-container {
    display: block;
    text-align: left; }
    .downloads .item .beige-bg .btn-container.wide {
      min-width: 0; }
      .downloads .item .beige-bg .btn-container.wide ul {
        float: left;
        width: 50%; }
        .downloads .item .beige-bg .btn-container.wide ul li {
          display: block;
          padding: 0 0 8px 0; }
          .downloads .item .beige-bg .btn-container.wide ul li:last-child {
            padding-bottom: 0; }

  .tabular-box .row-data {
    font-size: 15px; }
  .tabular-box .row-data div {
    padding: 20px 15px 20px; } }
@media screen and (min-width: 667px) and (max-width: 767px) {
  .wrapper {
    padding: 0 20px; }

  h1 {
    font-size: 34px; }

  h2 {
    font-size: 28px;
    line-height: 34px; }

  h3 {
    font-size: 24px;
    line-height: 28px; }

  h4 {
    font-size: 22px;
    line-height: 26px; }

  h5 {
    font-size: 18px; }

  .cta-block h1 {
    font-size: 34px; }

  p {
    font-size: 16px;
    line-height: 20px; }

  .button-default, .button-white, .button-green, .button-orange,
  .cta-bar .button-default,
  .cta-bar .button-white,
  .cta-bar .button-green,
  .cta-bar .button-orange,
  .certification.padding30 .button-default,
  .certification.padding30 .button-white,
  .certification.padding30 .button-green,
  .certification.padding30 .button-orange {
    padding: 9px 11px;
    font-size: 12px;
    line-height: 12px; }

  .hero-second-level a.play-video {
    margin-top: 20px; } }
@media screen and (min-width: 480px) and (max-width: 666px) {
  .wrapper {
    padding: 0 20px; }

  h1 {
    font-size: 30px; }

  h2 {
    font-size: 26px;
    line-height: 32px; }

  h3 {
    font-size: 22px;
    line-height: 26px; }

  h4 {
    font-size: 20px;
    line-height: 24px; }

  h5 {
    font-size: 18px;
    line-height: 20px; }

  h6 {
    font-size: 14px; }

  .cta-block h1 {
    font-size: 30px; }

  p {
    font-size: 14px;
    line-height: 18px; }

  .col-two, .col-three, .col-five, .col-seven {
    width: 100%; }

  .resources-default {
    margin-bottom: 20px; }

  .button-default, .button-white, .button-green, .button-orange,
  .cta-bar .button-default,
  .cta-bar .button-white,
  .cta-bar .button-green,
  .cta-bar .button-orange,
  .certification.padding30 .button-default,
  .certification.padding30 .button-white,
  .certification.padding30 .button-green,
  .certification.padding30 .button-orange {
    padding: 9px 11px;
    font-size: 12px;
    margin-top: 15px;
    line-height: 12px; }

  .cta h3 {
    line-height: 24px;
    margin-top: 10px; }
  .cta .bg-img img {
    width: auto; }
  .cta .button-default, .cta .button-white, .cta .button-green, .cta .button-orange {
    margin-top: 20px; }

  .hero-second-level a.play-video {
    margin-top: 20px;
    line-height: inherit; }
  .hero-second-level .bg-img {
    height: 250px; }
    .hero-second-level .bg-img img {
      width: auto; }

  .video-btn img {
    vertical-align: middle;
    width: 40px;
    height: 40px; } }
@media screen and (max-width: 767px) {
  section,
  .slate-grey-block,
  .events-section,
  .partner-resource,
  .padding70,
  #resources,
  .sol-carousel,
  .partner-intro,
  .programs-section,
  .contact-links,
  .contact-form {
    padding: 50px 0; }

  .resources-default {
    margin-bottom: 20px; }

  .developer-quick-links.steps-section,
  .developer-quick-links.tutorials-section {
    padding: 50px 0; }
    .developer-quick-links.steps-section h2,
    .developer-quick-links.tutorials-section h2 {
      margin-bottom: 20px; }

  .padding40 {
    padding: 30px 0; }

  .downloads {
    padding: 0; }
    .downloads hr {
      margin: 10px 0; }
    .downloads .item h5 {
      line-height: 20px; }
    .downloads .item p {
      margin-bottom: 10px; }
    .downloads .item ul li {
      display: block; }
      .downloads .item ul li:before {
        width: 0; }
      .downloads .item ul li:first-child {
        padding: 0 19px; }
      .downloads .item ul li a {
        font-size: 14px; }
    .downloads .item .beige-bg {
      text-align: center; }
      .downloads .item .beige-bg .text-container {
        display: block; }
      .downloads .item .beige-bg .btn-container {
        display: block;
        text-align: center;
        min-width: 0; }
        .downloads .item .beige-bg .btn-container.double {
          min-width: 0; }
        .downloads .item .beige-bg .btn-container.wide {
          min-width: 0; }
          .downloads .item .beige-bg .btn-container.wide ul {
            float: left;
            width: 50%; }
            .downloads .item .beige-bg .btn-container.wide ul li {
              display: block;
              padding: 0 0 8px 0; }
              .downloads .item .beige-bg .btn-container.wide ul li:last-child {
                padding-bottom: 0; }
          .downloads .item .beige-bg .btn-container.wide.single ul {
            width: 100%; }
        .downloads .item .beige-bg .btn-container .button-default, .downloads .item .beige-bg .btn-container .button-white, .downloads .item .beige-bg .btn-container .button-green, .downloads .item .beige-bg .btn-container .button-orange {
          min-width: 210px; }
    .downloads .item h6.head-space {
      margin-top: 15px; }
    .downloads .accordion hr {
      margin: 10px 0; }
    .downloads .accordion .opener p {
      font-size: 14px; }
    .downloads .accordion .item {
      padding: 10px; }

  .downloads-container .footnote {
    padding: 25px 20px !important; }
    .downloads-container .footnote p {
      font-size: 14px;
      line-height: 20px; }
      .downloads-container .footnote p a {
        margin-top: 10px; }

  .featured-section .text-center h2,
  .events-section .text-center h2 {
    margin: 0 auto 20px; }

  #resources h2,
  .other-products h2,
  .sol-carousel h2 {
    margin: 0 auto 20px; }

  .tabular-box .row-data {
    font-size: 14px; }
  .tabular-box .row-data div {
    padding: 15px 10px 15px; }
  .tabular-box .row-head {
    margin-top: 20px; }
  .tabular-box .row-sub-head {
    font-size: 14px;
    padding: 10px 13px; }

  .service-dtl .service-data {
    padding: 20px 0 0 0; }

  .footnote {
    padding: 20px 15px !important; } }
.services .button-default, .services .button-white, .services .button-green, .services .button-orange {
  margin-top: 20px; }
.services.info-block .col-two:last-child {
  padding-bottom: 0; }
.services.info-block .col-two:first-child {
  padding-top: 0; }

@media screen and (max-width: 666px) {
  .downloads .item .beige-bg .btn-container ul li {
    display: block; }
    .downloads .item .beige-bg .btn-container ul li:first-child {
      padding-bottom: 8px; }
  .downloads .item .beige-bg .btn-container.wide ul {
    float: none;
    width: 100%; }

  .service-dtl .service-data p {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 20px; }
  .service-dtl .title-bar p {
    font-size: 18px;
    line-height: 24px;
    text-align: center; }

  .inner-wrapper {
    padding: 0; }

  .service-data {
    overflow: auto;
    position: relative; }

  .scrollable {
    overflow-y: hidden;
    overflow-x: scroll; }
    .scrollable .service-table {
      margin-left: 35%; }
    .scrollable .row-data .cell-four,
    .scrollable .row-data .cell-three,
    .scrollable .row-head .cell-four,
    .scrollable .row-head .cell-three {
      white-space: nowrap; }
      .scrollable .row-data .cell-four:first-of-type,
      .scrollable .row-data .cell-three:first-of-type,
      .scrollable .row-head .cell-four:first-of-type,
      .scrollable .row-head .cell-three:first-of-type {
        display: none; }
    .scrollable .row-sub-head {
      text-align: left; }
    .scrollable .table2 .row-data .cell-four {
      padding: 10px; }
    .scrollable .premium-table .row-data .cell-three {
      padding: 20px 15px; }
      .scrollable .premium-table .row-data .cell-three img {
        width: 14px;
        height: 14px; }

  .table-wrapper {
    position: relative; }

  .pinned {
    position: absolute;
    left: 0;
    top: 0px;
    background: white;
    width: 35%;
    overflow: hidden;
    overflow-x: scroll;
    border-right: 1px solid #dad9d6; }
    .pinned .cell-four,
    .pinned .cell-three {
      white-space: nowrap; }
      .pinned .cell-four:first-of-type,
      .pinned .cell-three:first-of-type {
        border-right: 0; }
    .pinned .row-sub-head {
      text-indent: -9999px;
      border-right: 0; }
    .pinned .table2 .row-data .cell-four:first-of-type {
      padding: 15px; }
    .pinned .premium-table .row-data .cell-three:first-of-type {
      padding: 20px 15px; } }
@media screen and (max-width: 480px) {
  section,
  .slate-grey-block,
  .events-section,
  .partner-resource,
  .padding50,
  .padding70,
  #resources,
  .sol-carousel,
  .partner-intro,
  .programs-section,
  .contact-links,
  .contact-form {
    padding: 40px 0; }

  .developer-quick-links.steps-section,
  .developer-quick-links.tutorials-section {
    padding: 40px 0; }

  .padding40 {
    padding: 25px 0; }

  .wrapper {
    padding: 0 20px; }

  h1 {
    font-size: 26px; }

  h2 {
    font-size: 24px;
    line-height: 30px; }

  h3 {
    font-size: 20px;
    line-height: 24px; }

  h4 {
    font-size: 18px;
    line-height: 22px; }

  h5 {
    font-size: 16px;
    line-height: 18px; }

  h6 {
    font-size: 14px; }

  p {
    font-size: 14px;
    line-height: 18px; }

  .col-two, .col-three, .col-five, .col-seven {
    width: 100%; }

  .button-default, .button-white, .button-green, .button-orange,
  .cta-bar .button-default,
  .cta-bar .button-white,
  .cta-bar .button-green,
  .cta-bar .button-orange,
  .certification.padding30 .button-default,
  .certification.padding30 .button-white,
  .certification.padding30 .button-green,
  .certification.padding30 .button-orange {
    padding: 8px 10px;
    font-size: 12px;
    margin-top: 15px;
    line-height: 12px; }

  .v-middle-inner {
    padding: 0 20px; }

  .cta-block h1 {
    font-size: 26px; }

  .cta h3 {
    line-height: 24px;
    margin-top: 10px; }
  .cta .bg-img {
    min-height: 250px; }
    .cta .bg-img img {
      width: auto; }
  .cta .button-default, .cta .button-white, .cta .button-green, .cta .button-orange {
    margin-top: 20px; }

  .hero-second-level a.play-video {
    margin-top: 20px;
    line-height: inherit; }
  .hero-second-level .bg-img {
    height: 265px; }
    .hero-second-level .bg-img img {
      width: auto; }

  .video-btn img {
    vertical-align: middle;
    width: 40px;
    height: 40px; }

  .downloads .accordion .opener {
    height: 45px;
    padding: 10px 20px;
    overflow: hidden; }
    .downloads .accordion .opener .display {
      width: 0;
      text-indent: 9999px; }

  .info-product-page {
    padding: 7px 0 30px; }
    .info-product-page .row-inner {
      padding-top: 10px; }

  .content-carousel .partner-links {
    padding-bottom: 40px; }

  .footer .legacy.language-form {
    float: left; } }
@media screen and (min-width: 1400px) {
  section {
    padding: 92px 0 100px; }

  .info-block.home-page {
    padding: 100px 0; }

  .info-three-block {
    padding: 95px 0; }

  .m10 img {
    margin-top: 10px; }

  .sol-grid-content {
    padding: 81px 0 0px;
    padding: 100px 0; }
    .sol-grid-content .grid {
      margin: 55px auto 40px; }

  .filter-videos {
    padding: 100px 0; } }
@media screen and (min-width: 1280px) {
  .main-nav .wrapper {
    position: relative; }

  .training-menu .drop-menu {
    padding: 55px 0 70px 30px;
    right: 0;
    width: 1175px;
    left: auto; }

  .services-menu .drop-menu {
    padding: 55px 0 70px 30px;
    right: 0;
    width: 930px;
    left: auto; }

  .solutions-menu .drop-menu {
    padding: 55px 0 70px 30px;
    right: 100px;
    width: 1175px;
    left: auto; }

  .products-menu .drop-menu {
    padding: 55px 0 70px 30px;
    right: 100px;
    width: 1175px;
    left: auto; } }
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .services-menu .drop-menu {
    padding: 55px 0 70px 30px;
    right: 0;
    left: auto; } }
@media screen and (max-height: 767px) {
  #quote-banner {
    height: 420px; }
    #quote-banner .item-content .banner-logo {
      margin-bottom: 40px; } }
.view-btn-right {
  display: inline;
  margin-left: 5px; }

.partner-result-block.info-block {
  padding: 100px 108px; }
  .partner-result-block.info-block h2 {
    margin-bottom: 62px;
    margin-top: 0; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .partner-result-block.info-block h2 {
        margin-bottom: 40px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .partner-result-block.info-block h2 {
        margin-bottom: 30px; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .partner-result-block.info-block h2 {
        margin-bottom: 25px; } }
    @media screen and (max-width: 666px) {
      .partner-result-block.info-block h2 {
        margin-bottom: 20px; } }
  .partner-result-block.info-block .col-three h5 {
    margin-top: 23px;
    font-weight: 300;
    font-size: 24px;
    line-height: 28px;
    font-family: "roboto", sans-serif; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .partner-result-block.info-block .col-three h5 {
        font-size: 20px;
        margin-top: 20px; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .partner-result-block.info-block .col-three h5 {
        font-size: 18px;
        line-height: 24px;
        margin-top: 20px; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .partner-result-block.info-block .col-three h5 {
        font-size: 16px;
        margin-top: 20px;
        line-height: 24px; } }
    @media screen and (max-width: 666px) {
      .partner-result-block.info-block .col-three h5 {
        font-size: 16px;
        margin: 20px auto; } }

.partner-result-block .loader {
  border: 30px solid #0697b5;
  border-radius: 50%;
  border-top: 30px solid #28c4d7;
  width: 273px;
  height: 273px; }
.partner-result-block .loader-block {
  position: relative; }
.partner-result-block .chart-data {
  position: relative;
  text-align: center; }
.partner-result-block .text-center {
  position: relative;
  padding: 0 20px; }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .partner-result-block .text-center {
      padding: 0 10px; } }
  .partner-result-block .text-center canvas {
    width: 273px;
    height: 273px; }
    @media screen and (max-width: 1279px) and (min-width: 1024px) {
      .partner-result-block .text-center canvas {
        width: 260px !important;
        height: 260px !important; } }
    @media screen and (max-width: 1023px) and (min-width: 768px) {
      .partner-result-block .text-center canvas {
        width: 200px !important;
        height: 200px !important; } }
    @media screen and (max-width: 767px) and (min-width: 667px) {
      .partner-result-block .text-center canvas {
        width: 170px !important;
        height: 170px !important; } }
    @media screen and (max-width: 666px) {
      .partner-result-block .text-center canvas {
        width: 120px !important;
        height: 120px !important; } }
.partner-result-block .v-middle-inner span {
  font-size: 88px;
  font-weight: 700;
  color: #6c6d70;
  font-family: "Roboto Condensed", sans-serif; }
  @media screen and (max-width: 1279px) and (min-width: 1024px) {
    .partner-result-block .v-middle-inner span {
      font-size: 80px; } }
  @media screen and (max-width: 1023px) and (min-width: 768px) {
    .partner-result-block .v-middle-inner span {
      font-size: 60px; } }
  @media screen and (max-width: 767px) and (min-width: 667px) {
    .partner-result-block .v-middle-inner span {
      font-size: 40px; } }
  @media screen and (max-width: 666px) {
    .partner-result-block .v-middle-inner span {
      font-size: 20px; } }
.partner-result-block .v-middle-inner p {
  font-size: 18px;
  font-weight: 700;
  color: #6c6d70;
  line-height: 22px;
  max-width: 109px;
  font-family: "Roboto Condensed", sans-serif; }
  @media screen and (max-width: 1023px) and (min-width: 667px) {
    .partner-result-block .v-middle-inner p {
      font-size: 16px; } }
  @media screen and (max-width: 666px) {
    .partner-result-block .v-middle-inner p {
      font-size: 14px; } }

.body-content .gsc-results-wrapper-visible {
  font-family: "roboto", sans-serif; }
  .body-content .gsc-results-wrapper-visible table tr td {
    background: none;
    border: none; }
.body-content .gsc-control-cse .gsc-table-result {
  font-family: "roboto", sans-serif; }

.body-content .gsc-option-menu-container .gsc-selected-option-container {
  width: 100% !important; }
.body-content .gs-webResult.gs-result a.gs-title:link,
.body-content .gs-webResult.gs-result a.gs-title:link b,
.body-content .gs-imageResult a.gs-title:link,
.body-content .gs-imageResult a.gs-title:link b,
.body-content .gs-webResult.gs-result a.gs-title:visited,
.body-content .gs-webResult.gs-result a.gs-title:visited b,
.body-content .gs-imageResult a.gs-title:visited,
.body-content .gs-imageResult a.gs-title:visited b {
  text-decoration: none;
  color: #1fa4d4;
  font-size: 18px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: normal; }
.body-content .gsc-resultsHeader {
  display: none; }
.body-content .gsc-results .gsc-cursor-box {
  margin: 10px auto;
  text-align: center; }
.body-content .gsc-results .gsc-cursor-box .gsc-cursor-current-page,
.body-content .gsc-results .gsc-cursor-box .gsc-cursor-page {
  color: #404041;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  font-size: 16px;
  border: none;
  background: none;
  margin-right: 15px; }
  .body-content .gsc-results .gsc-cursor-box .gsc-cursor-current-page:hover,
  .body-content .gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    color: #3eae2b;
    text-decoration: none; }
.body-content .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
  color: #3eae2b;
  border: none;
  border-bottom: 2px solid #3eae2b; }
.body-content .gsc-table-result tbody tr td {
  padding: 5px 0; }
.body-content .gs-webResult div.gs-visibleUrl,
.body-content .gs-imageResult div.gs-visibleUrl {
  color: #6e6e70;
  font-size: 14px; }

.search-wrap {
  border-bottom: 1px solid #676767; }
  .search-wrap img {
    float: left;
    padding-top: 18px; }
    @media screen and (max-width: 767px) {
      .search-wrap img {
        width: 20px;
        padding-top: 15px; } }
  .search-wrap .top-search-input {
    width: calc(100% - 130px);
    background: transparent;
    float: left;
    border: none;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 40px;
    line-height: 41px;
    color: #676767;
    font-weight: 300;
    text-transform: capitalize;
    padding: 0 0 0 20px; }
    @media screen and (max-width: 1399px) and (min-width: 768px) {
      .search-wrap .top-search-input {
        width: calc(100% - 140px);
        font-size: 30px; } }
    @media screen and (max-width: 767px) {
      .search-wrap .top-search-input {
        font-size: 18px;
        width: calc(100% - 95px);
        padding: 18px 0px 5px 5px;
        line-height: 32px;
        height: 38px; } }
    @media screen and (max-width: 480px) {
      .search-wrap .top-search-input {
        font-size: 14px; } }
    .search-wrap .top-search-input ::-webkit-input-placeholder,
    .search-wrap .top-search-input ::-moz-placeholder,
    .search-wrap .top-search-input ::-ms-input-placeholder {
      color: #676767;
      font-family: "Roboto Condensed", sans-serif; }
  .search-wrap .form-btn {
    color: white;
    background: #3fae2a;
    font-family: "roboto", sans-serif;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    padding: 13px 20px;
    float: right;
    letter-spacing: 0.05em;
    margin-top: 0px;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .search-wrap .form-btn {
        font-size: 12px;
        padding: 8px 10px;
        margin-top: 6px; } }
		
	.darken {
		background: #1f212a;
		}
    .disclaimer{
      font-size:13px;
    }
    .apache-logo button {
      background: transparent;
      border-color: transparent;
      color: transparent;
    }
    .downloads{
      margin-top: 25px;
    }
    .downloads h4, .mailing-list h4{
      margin: 12px 0px;
    }
    .downloads a, .mailing-list a {
      color: #0199d1;
    }
