/* ----------- topbanner ---------- */
.topbanner {
  color: #fff;
  padding-top: 75px;
  position: relative; }
  .topbanner > div {
    background-image: url("../images/red_bg.jpg");
    background-position: 50% 100%; }
  .topbanner section {
    padding: 110px 12px 180px;
    position: relative; }
  .topbanner img {
    position: absolute;
    top: 100px;
    right: 50%;
    width: 853px;
    margin-right: -730px; }
  .topbanner .copy-container h2 {
    padding: 0 12px; }
  .topbanner .copy-container p {
    max-width: 540px;
    margin-top: 24px;
    padding: 0 12px; }
  @media only screen and (max-width: 1200px) {
    .topbanner {
      background-size: auto 84%; }
      .topbanner section {
        padding: 55px 24px 105px; }
      .topbanner img {
        width: 500px;
        margin-right: -410px; }
      .topbanner .copy-container p {
        max-width: 320px; } }
  @media only screen and (max-width: 749px) {
    .topbanner {
      background-image: url("../images/red_bg_m.jpg");
      background-position: 0% 80%;
      background-size: auto 100%; }
      .topbanner section {
        padding: 40px 8px 260px; }
      .topbanner img {
        right: 0;
        margin-right: 0;
        top: 56%;
        width: 370px; }
      .topbanner .copy-container p {
        margin-top: 30px; } }

/* ----------- whymacys ---------- */
.whymacys {
  overflow: hidden; }
  .whymacys sup {
    vertical-align: top; }
  .whymacys h4 {
    padding: 170px 12px 120px;
    max-width: 1300px; }
  .whymacys .single {
    display: inline-block;
    vertical-align: top;
    width: 25%;
    padding: 0 12px 70px; }
    .whymacys .single img {
      width: 100%; }
    .whymacys .single p:first-of-type {
      padding-bottom: 24px; }
  .whymacys p.smaller {
    font-size: 14px; }
  @media only screen and (min-width: 1201px) {
    .whymacys {
      background-image: url("../images/ico-top.png"), url("../images/ico-bottom.png");
      background-position: right 30px top 30px, left 30px bottom 30px;
      background-repeat: no-repeat, no-repeat; }
      .whymacys h4 {
        font-size: 35px; }
      .whymacys .container {
        padding-bottom: 90px; } }
  @media only screen and (max-width: 1200px) {
    .whymacys h3 {
      padding-top: 60px;
      padding-bottom: 10px; }
    .whymacys h4 {
      max-width: 630px;
      padding: 60px 12px 50px;
      padding-bottom: 0; }
    .whymacys .container {
      background-image: url("../images/ico-top.png");
      background-size: 72px;
      background-position: right 15px top;
      background-repeat: no-repeat; }
    .whymacys .single {
      width: 50%;
      padding-top: 30px;
      padding-bottom: 70px; } }
  @media only screen and (max-width: 749px) {
    .whymacys h4 {
      padding: 150px 12px 80px; }
    .whymacys .single {
      width: 100%;
      padding-bottom: 40px; } }

/* ----------- ourcustomers ---------- */
.ourcustomers {
  background-color: #DB3700;
  color: #fff;
  padding: 102px 0; }
  .ourcustomers h4 {
    padding: 12px;
    max-width: 72%; }
  .ourcustomers .title {
    font-size: 72px;
    font-family: 'Helvetica Neue LT Std 65 Medium', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
  .ourcustomers p.smaller {
    padding: 12px 12px 46px;
    font-size: 14px; }
  .ourcustomers section {
    background-image: url("../images/index/ourcustomers_bg.png");
    background-position: 100% 20%;
    background-size: 27% auto;
    background-repeat: no-repeat; }
  .ourcustomers .numbers {
    padding: 50px 12px 30px; }
    .ourcustomers .numbers .single {
      display: inline-block;
      position: relative;
      text-align: center;
      padding: 5px 5%;
      vertical-align: top; }
      .ourcustomers .numbers .single .delimiter {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 1px;
        background-color: #fff; }
    .ourcustomers .numbers .single:first-of-type {
      padding-left: 0; }
      .ourcustomers .numbers .single:first-of-type .delimiter {
        display: none; }
  @media only screen and (max-width: 1200px) {
    .ourcustomers {
      padding: 56px 0 0; }
      .ourcustomers section {
        background-position: 18% 78%;
        background-size: 31% auto; }
        .ourcustomers section h3 {
          padding: 20px 12px; }
        .ourcustomers section > * {
          display: inline-block;
          width: 48%;
          vertical-align: top; }
      .ourcustomers h4 {
        max-width: 100%; }
      .ourcustomers .numbers {
        padding: 0 12px 40px;
        width: 36%;
        margin-left: 10%; }
        .ourcustomers .numbers .single {
          display: block;
          padding: 40px 3% 40px; }
          .ourcustomers .numbers .single .title {
            font-size: 56px; }
          .ourcustomers .numbers .single .delimiter {
            left: 0;
            right: 0;
            top: 0;
            bottom: auto;
            height: 1px;
            width: auto; }
      .ourcustomers .desktop-large {
        display: none; } }
  @media only screen and (min-width: 750px) and (max-width: 1200px) {
    .ourcustomers section {
      padding-bottom: 200px; }
      .ourcustomers section p.smaller {
        margin-left: 65%; } }
  @media only screen and (max-width: 749px) {
    .ourcustomers section {
      background-position: 50% 93%;
      background-size: 66% auto; }
      .ourcustomers section > * {
        display: block;
        width: 100%; }
      .ourcustomers section .numbers {
        width: 75%;
        text-align: center;
        margin: 0 auto;
        padding-bottom: 0; }
        .ourcustomers section .numbers > div:last-of-type {
          padding-bottom: 0; }
      .ourcustomers section p.smaller {
        text-align: center;
        padding-bottom: 450px; } }

/* ----------- whatweoffer ---------- */
.whatweoffer .single {
  display: inline-block;
  vertical-align: top;
  width: 25%;
  padding: 0 12px 50px; }
  .whatweoffer .single img {
    width: 100%; }
  .whatweoffer .single p {
    max-width: 300px; }

@media only screen and (min-width: 1201px) {
  .whatweoffer h3 {
    padding-bottom: 50px; }
  .whatweoffer .container {
    padding-top: 100px;
    padding-bottom: 150px; } }

@media only screen and (max-width: 1200px) {
  .whatweoffer h3 {
    padding-bottom: 10px; }
  .whatweoffer .container {
    padding: 40px 0 100px; }
  .whatweoffer .single {
    width: 50%;
    padding-top: 30px;
    padding-bottom: 60px; } }

@media only screen and (max-width: 749px) {
  .whatweoffer .single {
    width: 100%; }
    .whatweoffer .single p {
      max-width: 100%; } }

/* ----------- midbanner ---------- */
.midbanner img {
  width: 100%; }

/* ----------- brands ---------- */
.brands {
  padding-bottom: 70px; }
  .brands h4 {
    padding: 150px 12px 90px; }
  .brands .container {
    padding: 12px 12px 100px; }
    .brands .container span {
      vertical-align: middle;
      text-align: center;
      display: inline-block;
      width: 11.5%;
      margin: 0 1%;
      padding: 20px 0; }
      .brands .container span img {
        max-width: 85%; }
  .brands sup {
    vertical-align: top; }
  .brands p.smaller {
    font-size: 14px;
    padding: 0 12px; }
  @media only screen and (min-width: 1201px) {
    .brands .container span:nth-of-type(7n+1) {
      width: 10%;
      margin-left: 0; }
    .brands .container span:nth-of-type(7n+3) {
      width: 15%; }
    .brands .container span:nth-of-type(7n+4) {
      width: 12%; }
    .brands .container span:nth-of-type(7n+6) {
      width: 13%; }
    .brands .container span:nth-of-type(7n) {
      margin-right: 0; } }
  @media only screen and (min-width: 750px) and (max-width: 1200px) {
    .brands h4 {
      padding-top: 70px;
      padding-bottom: 10px; }
    .brands .container {
      padding-bottom: 40px; }
      .brands .container span {
        width: 17%;
        margin: 0 1.5%; }
        .brands .container span:nth-of-type(5n+1) {
          margin-left: 0; }
        .brands .container span:nth-of-type(5n) {
          margin-right: 0; }
        .brands .container span img {
          transform: scale(0.75);
          max-width: 98%; }
        .brands .container span:nth-of-type(1) img, .brands .container span:nth-of-type(14) img {
          transform: scale(0.82); }
        .brands .container span:nth-of-type(10) img, .brands .container span:nth-of-type(11) img, .brands .container span:nth-of-type(24) img {
          transform: scale(1); }
        .brands .container span:nth-of-type(19) img, .brands .container span:nth-of-type(20) img, .brands .container span:nth-of-type(25) img {
          transform: scale(0.9); } }
  @media only screen and (max-width: 749px) {
    .brands h4 {
      padding-top: 80px;
      padding-bottom: 30px; }
    .brands .container {
      padding-bottom: 40px; }
      .brands .container span {
        width: 49%;
        margin: 0;
        padding: 18px 0; }
        .brands .container span img {
          transform: scale(0.7);
          max-width: 98%; }
        .brands .container span:nth-of-type(13), .brands .container span:nth-of-type(14) {
          padding: 5px 0; }
        .brands .container span:nth-of-type(17), .brands .container span:nth-of-type(18), .brands .container span:nth-of-type(19), .brands .container span:nth-of-type(20) {
          padding: 10px 0; }
        .brands .container span:nth-of-type(23), .brands .container span:nth-of-type(24) {
          padding: 24px 0; } }

/* ----------- signup ---------- */
.signup {
  background-color: #F8F8F8; }
  .signup .copy_container,
  .signup .form_container {
    display: inline-block;
    padding: 12px;
    /* width: 50%; */
    width: 100%;
    text-align: center;
    vertical-align: top; }
  .signup h4 {
    padding: 0 0 36px; }
  .signup select:invalid {
    color: #707070; }
  .signup .button {
    width: 335px;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    font-family: 'Helvetica Neue LT Std 65 Medium', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background-color: #8D0109;
    display: block;
    color: #fff;
    margin: 40px auto 0;
    border-radius: 5px; }
    .signup .button:hover {
      background-color: #FF4000; }
  .signup form {
    float: right; }
    .signup form > * {
      display: block;
      font-size: 14px; }
    .signup form > input,
    .signup form > select {
      width: 586px;
      height: 50px;
      margin: 18px 0;
      border: 1px solid #cccccc;
      border-radius: 5px;
      padding: 0 12px; }
    .signup form > p:first-of-type {
      font-size: 12px; }
    .signup form input#submit {
      border: none;
      background-color: #8D0109;
      color: #fff;
      font-family: 'Helvetica Neue LT Std 65 Medium', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
      .signup form input#submit:not(.disable):hover {
        cursor: pointer;
        background-color: #DB3700; }
    .signup form #error_messages {
      color: #DB3700;
      font-size: 16px; }
  @media only screen and (min-width: 1201px) {
    .signup {
      padding: 170px 0 140px;
      background-image: url("../images/ico-top.png"), url("../images/ico-bottom.png");
      background-position: right 30px top 30px, left 30px bottom 30px;
      background-repeat: no-repeat, no-repeat; } }
  @media only screen and (max-width: 1200px) {
    .signup {
      background-image: url("../images/ico-top.png");
      background-size: 72px;
      background-position: right 15px top 15px;
      background-repeat: no-repeat;
      padding: 60px 0 80px; }
      .signup h4 {
        padding-bottom: 20px; }
      .signup form > input,
      .signup form > select {
        width: 335px; } }
  @media only screen and (max-width: 749px) {
    .signup {
      display: block;
      width: 100%; }
      .signup .copy_container,
      .signup .form_container {
        display: block;
        width: 100%;
        text-align: left; }
        .signup .copy_container span,
        .signup .form_container span {
          display: block; }
        .signup .copy_container .button,
        .signup .form_container .button {
          text-align: center; }
      .signup form {
        float: none; } }

/* ----------- thank-you ---------- */
.thank-you {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  background-color: rgba(0, 0, 0, 0.7);
  overflow: auto;
  overflow-x: hidden;
  cursor: pointer; }
  .thank-you .overlay-inner {
    max-width: 950px;
    width: 74%;
    margin: 0 auto;
    top: 40%;
    transform: translateY(-50%);
    position: relative; }
    .thank-you .overlay-inner .overlay-content {
      width: 100%;
      height: 0;
      padding-top: 65.3%; }
      .thank-you .overlay-inner .overlay-content .overlay-content-inner {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background-color: #fff;
        background-image: url("../images/ico-top.png"), url("../images/ico-bottom.png");
        background-position: right 30px top 30px, left 30px bottom 30px;
        background-repeat: no-repeat, no-repeat;
        display: flex;
        justify-content: center;
        align-items: center; }
        .thank-you .overlay-inner .overlay-content .overlay-content-inner .container {
          text-align: center;
          margin-top: 5%; }
          .thank-you .overlay-inner .overlay-content .overlay-content-inner .container p {
            padding: 5% 0 10%; }
          .thank-you .overlay-inner .overlay-content .overlay-content-inner .container .close {
            font-size: 36px;
            font-family: "Helvetica Neue LT Std 25 Ultra Light", 'Helvetica Neue', Helvetica, Arial, sans-serif;
            font-weight: bold; }
  @media only screen and (max-width: 1200px) {
    .thank-you .overlay-inner .overlay-content .overlay-content-inner {
      background-size: auto 26%;
      background-position: right 16px top 16px, left 16px bottom 16px; }
      .thank-you .overlay-inner .overlay-content .overlay-content-inner .container {
        margin-top: 10%; }
      .thank-you .overlay-inner .overlay-content .overlay-content-inner h4 {
        font-size: 35px; } }
  @media only screen and (max-width: 749px) {
    .thank-you .overlay-inner {
      width: calc(100% - 40px);
      top: 50%; }
      .thank-you .overlay-inner .overlay-content {
        padding-top: 150%; }
        .thank-you .overlay-inner .overlay-content .overlay-content-inner {
          background-size: auto 13%; } }
