@charset "utf-8";
/*! CSS Document */
/*! ================================== HEADER/BANNERS =================================== */
/* ------------ Homepage Banner ------------ */
.homepageBanner {
  background-image: url(/files/Images/Top_banner_image.png);
  background-position: center center;
  background-size: cover;
  height: 600px;
  margin-top: 100px;
}
div#homeSlider {
  display: none;
}
.homeProductsHold h2 {
  display: none;
}
.homeProdContent {
  display: none;
}
.homeProducts {
  display: none;
}
.homeFeature .icon {
  width: 68px;
  float: none;
  margin: 0 auto;
  text-align: center;
}
.homeFeatureTitle {
  font-size: 1em;
  font-weight: 300;
  color: #000;
  margin: 3px 0 12px 0;
}
.home.bannerHold h1 {
    color:#FFF;
    font-size:2.500em;
    background-image:url(/images/structure/headerUnderline.gif);
    background-repeat:no-repeat;
    background-position:bottom center;
    padding:0 0 20px 0;
    margin:0 0 30px 0;
    font-weight:300;
}
.home.bannerHold .bannerContent {
    padding:125px 0 50px 0;
    position:relative;
    z-index:999;
}
.home.bannerHold .bannerContent p {
    font-size:1.125em;
    color:#ffffff;
    font-weight:300;
}
.homepageOverviewBanner img.topBanner {
    width: 100%;
    display: block;
    margin-top: 100px;
    max-height: 800px;
}
.home .bannerInside {
    padding:0 20% 0 19%;
}
.french .home .bannerInside {
    padding:0;
}
#home_play_container {
    width: 50px;
    height: 50px;
    margin: 0 auto;
}
#home_play_container {
    padding:30px 0 0 0;
}
#home_play_container img{
    width:50px;
}
.homepageBanner  .blue.btn {
    padding:15px 31px 15px 63px;
    text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4);
    margin:77px 0 0 0;
    background-image:url(/images/structure/homeVidBtn.png);
    background-repeat:no-repeat;
    background-position:17px center;
}
#homepageArrow {
    display:block;
    margin:65px auto 0 auto;
    width:18px;
    height:8px;
    padding: 10px;
    cursor: pointer;
    opacity: 1;
    -moz-transition: 0.23s opacity linear;
    -webkit-transition: 0.23s opacity linear;
    -o-transition: 0.23s opacity linear;
    transition: 0.23s opacity linear;
}
#homepageArrow:hover {
    opacity: 0.5;
}
.french #homepageArrow {
    margin:40px auto 0 auto;
}
#homeWistia, #chinaWistia, #embedVideo {
    z-index:0;
    position:absolute;
    width:1700px;
    height:700px;
    top:0;
    left:0;
}
#homeWistia2 {
    display:none;
}
#chinaWistia video, #embedVideo video {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    text-align:left;
}
.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
    z-index:0;
    text-align:left;
}
.videoWrapper object,
.videoWrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 1700px;
    height: 700px;
    z-index:0;
}
.videos-wrapper {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 30px;
    margin: 0 auto;
    text-align: center;
    max-width: 940px;
}
.video-container {
    width: 460px;
    margin: auto;
    margin-bottom: auto;
    margin-bottom: 30px;
    background-color: #ffffff;
    transition: box-shadow 0.3s ease-in-out;
}
.video-introduction {
    position: relative;
    margin: 0 auto;
    text-align: center;
    width: 90%;
}
.video-introduction h3 {
    font-weight: 100;
    font-size: 26px;
    color: #2a2f39;
    margin: 0 0 20px 0;
    text-align: center;
}
section.video p {
    text-align: center;
    line-height: 24px;
    color: #000;
    font-size: 1em;
}
.video-caption {
    font-size: 0.85em;
}
.french .clientTitle, .portuguese .clientTitle {
    font-size:14px;
}
.homeClientLogos {
  float: left;
  width: 797px;
}
.homeClientLogos span {
    display:inline-block;
    width:124px;
}
.homeClientLogos img {
    margin:0 0 0 0.5%;
    max-width:100%;
}
.embeded-video video {
  width: 100%;
}
/*! ================================== PRODUCTS/FEATURES =================================== */
section.homeProductsHold {
    text-align:center;
    padding:68px 0 74px 0;
}

.homeProdContent {
    padding:0 20% 0 20%;
    color:#000;
    font-size:0.875em;
    line-height:180%;
}

#homeMainProdImg {
    display:block;
    margin:0 auto;
}
/* ------------ Product Image Section ------------ */
.homeProdTitle {
    font-size:1.625em;
    font-weight: 500;
    color:#000;
    margin:0 0 16px 0;
}
.homeProducts {
    padding:0 0 80px 0;
    position:relative;
    text-align:center;
}

.plusHover {
    vertical-align:top;
    display:inline-block;
    text-align:right;
    margin:25px 18px 0 18px;
}
.plusHover a {
    font-family:"Gotham A","Gotham B",Arial,sans-serif;
    font-weight:300;
    font-style:normal;
    text-decoration:none;
    font-size:0.875em;
    color:#000;
    transition: linear 0s;
}
.plusHover a:hover {
    color:#afc322;
}
.plusHover:hover .plus {
    background-position:top;
}
.plusHover:hover a {
    color:#afc322;
}
.plusTxt {
    padding:15px 0 0 0;
}
.plus {
    width:29px;
    height:29px;
    display:inline-block;
    background-image:url(/images/structure/icon-plus.png);
    background-size:29px 58px;
    background-repeat:no-repeat;
    background-position:bottom;
    position:relative;
    top:9px;
    -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;
}
/* ------------ 3 Feature Columns ------------ */
.homeFeatureTitle {
    font-size:1.188em;
    font-weight: 300;
    color:#000;
    margin:3px 0 12px 0;
    text-align: center;
}
.homeFeature {
    width:36%;
    float:left;
    text-align:left;
    padding:0 2% 0 0;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
.homeFeature.noMargin{
    padding:0;
}
.homeFeature.smallFeature {
    width:32%;
}
.homeFeature .icon {
    width: auto;
    float: none;
    padding: 0 6px;
}
.homeFeature .icon img {
    max-width:100%;
}
.featContent {
    float: left;
    width: auto;
    padding: 0 6px;
}
.featContent p {
    color:#000;
    font-size: .96em;
    line-height:150%;
    text-align: left;
}
#mobVidThumb1, #mobVidThumb2 {
    height: inherit;
    width: 100%;
}
#homeSlider .backgroundImage {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#homeSlider .backgroundImage img {
    max-height: 701px;
}
/* ----- EMBEDED VIDEO SECTION ----- */
section.video {
  border-top: 3px solid #ccc;
  padding-top: 30px;
}
section.video .leftProd {
  margin-top: 20px;
  padding-bottom: 18px;
  max-width: 630px;
  margin: auto;
}
section.video .leftProd .prodIcon {
text-align: center;
}
section.video .leftProd .prodCont h3 {
text-align: center;
}
section.video p {
    text-align: center;
}
section.video .rightProd {
  padding-bottom: 60px;
}
section.video .rightProd .prodCaption {
  text-align: center;
}
/*! ============================================== GLOBAL MEDIA QUERIES =========================================== */
@media only screen and (min-width:100px) and (max-width:1399px) {
    /*! ================================== HEADER/BANNERS =================================== */
    .homepageBanner.banner {
        height:auto;
        min-height:700px;
    }
    #homeWistia, #chinaWistia, #embedVideo {
        width:1400px;
    }
    .videoWrapper object,
    .videoWrapper embed {
        width: 1400px;
    }
    /*! ================================== NEWS FEED =================================== */
    .newsHome.btn {
        width:8%;
        padding:5px 0 5px 0;
    }
    .french .newsHome.btn, .portuguese .newsHome.btn {
        width:15%;
    }
    /*! ================================== CLIENTS =================================== */
    .homeClientLogos img {
        margin: 0;
    }
    .homeClientLogos {
        float: left;
        width: 690px;
    }
    .homeClientLogos span {
        display: inline-block;
        width: 106px;
    }
    /*! ================================== PRODUCTS =================================== */
    .plusHover.giftCardsPlus {
        left: 113px;
    }
    .plusHover.vexilorPlus {
        left: 161px;
    }
    .plusHover.loyaltyPlus {
        right: 71px;
    }
}
@media only screen and (min-width:100px) and (max-width:940px) {
    /*! ================================== HEADER/BANNERS (homepage and subpages) =================================== */
    .home.bannerHold .bannerContent {
        padding: 54px 0 30px 0;
        overflow:hidden;
    }
    .homepageOverviewBanner img.topBanner {
        margin-top: 0;
    }
    .homepageBanner.banner {
        min-height:440px;
        margin-top: 0px;
    }
    #homeWistia {
        width:940px;
    }
    .chinese .blue.btn.fancybox {
        display:none;
    }
    /*! ================================== NEWS FEED =================================== */
    .homeNewsOutput {
        padding:3px 10px 0 39px;
        width:60%;
    }
    .btn.newsHome {
        font-size: 14px;
    }
    /*! ================================== CLIENTS =================================== */
    .clientTitle, .homeClientLogos {
        width:100%;
        float:none;
        padding:0;
        text-align:center;
    }
    .clientTitle {
        font-size:1.3em;
        padding:30px 0 10px 0;
    }
    .clientTitle  br{
        display:none;
    }
    .homeClientLogos img {
        margin: 0;
    }
    .homepageOverviewBanner {
        margin-top: 0px;
    }
    .homepageOverviewBanner img#topBanner {
        margin-top: 0px;
    }
    /*! ================================== PRODUCTS =================================== */
    section.homeProductsHold {
        padding: 31px 0 22px;
    }
    .homeProducts {
        padding: 0 0 47px 0;
    }
    .homeFeaturesHold {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding:0 6% 0 6%;
    }
    .homeFeature .icon {
        width: 50px;
    }
    .homeFeature .icon img {
        width:100%;
    }
    .homeFeature {
        padding:0;
    }
    .plusHover {
        position:static;
    }
    .plusHover a {
        font-size: 14px;
    }
    .homeProducts img {
        display:block;
        max-width:100%;
        margin:0 auto;
    }
    .homeProducts img {
        padding:0 0 30px 0;
    }
    .plusHover.vexilorPlus {
        padding: 0 10px 0 0;
    }
    .homeFeature, .homeFeature.smallFeature {
        width:100%;
        float:none;
    }
    /*! ================================== TESTIMONIALS =================================== */
    .bx-viewport {
        width: 100% !important;
    }
    #homeTestOverlay, .bx-controls-direction {
        display:none;
    }
    .homeTestimonials {
        padding: 23px 0 15px 0;
    }
    .bx-wrapper {
        margin: 0 auto 41px auto;
    }
    .testQuote, .testName {
        font-size:1.2em;
        line-height:140%;
    }
    .testLeft {
        margin:15px 0 0 6%;
    }
}
@media only screen and (min-width:100px) and (max-width:750px) {
    .homeNewsOutput {
        padding: 3px 10px 0 27px;
    }
    .newsHome.btn {
        width: 9%;
    }
    .french .newsHome.btn, .portuguese .newsHome.btn  {
        width: 15%;
    }
    .homeClientLogos img {
        width:auto;
    }
    .homeProdContent {
        padding: 0 10% 30px;
    }
}
@media only screen and (min-width:100px) and (max-width:650px) {
    .newsHome.btn {
        width: 10%;
    }
    .french .newsHome.btn, .portuguese .newsHome.btn {
        width: 21%;
    }
}
@media only screen and (min-width:100px) and (max-width:570px) {

    /*! ================================== HEADER/BANNERS (homepage and subpages) =================================== */
    .homeNewsOutput, .homeLearnMore {
        font-size:14px;
    }
    .homepageBanner.banner {
        min-height:300px;
    }
    .home .bannerInside {
        padding: 0 10% 0 9%;
    }
    .portuguese .home .bannerInside {
        padding: 0 5% 0;
    }
    .homepageBanner .blue.btn {
        font-size:1em;
        padding: 15px 13px;
        background-image:none;
    }
    .homeNewsOutput {
        padding:3px 10px 0 18px;
    }
    .testQuote, .testName {
        font-size:1.3em;
        line-height:150%;
    }
    .newsHome.btn {
        font-size:11px;
    }
    #mobVidThumb1, #mobVidThumb2 {
        display: block !important;
    }
}
@media only screen and (min-width:100px) and (max-width:430px) {
    /*! ================================== HEADER/BANNERS (homepage and subpages) =================================== */
    .homepageBanner.banner {
        min-height:200px;
    }
    .home.bannerHold h1 {
        font-size:2em;
    }
    #homepageArrow {
        margin:35px auto 0;
    }
    .newsHome.btn {
        font-size:10px;
    }
    .homeFeature .icon {
        width: 36px;
    }
}
@media only screen and (min-width:100px) and (max-width:385px) {
    .newsHome.btn {
        display:none;
    }
}
@media only screen and (min-width:100px) and (max-width:350px) {
    .homeNewsOutput {
        padding: 3px 10px 0 11px;
        width: 58%;
    }
    .homeFeatureTitle {
        margin: 3px 0 6px 0;
    }
    .homeFeaturesHold {
        padding: 0 10% 0 10%;
    }
}