﻿.freetrial-page .content {
  color: #FFFFFF;
}

/* On some pages, replace the background with a tiled image. */
.landing-page main,
.billing-page main,
.complete-page main {
  background-size: 1105px 600px;
  background-position: center top;
  background-color: #313131; /* Fallback in case of background-image rendering issues */
}

/* On pages with the tiled image, use a normal weight headline. */
.landing-page main .headline,
.billing-page main .headline,
.complete-page main .headline {
  font-weight: 400;
}


/* Specific overrides for the sake of resetpw and processing-timeout, since it currently conflicts with existing CR defs */
body.main-page {
  background-color: #FFFFFF;
}

#message_box {
  background-color: #F2F2F2;
  padding: 1.5rem 1rem 0rem;
}


/* Landing Page-specific */
.landing-page main {
  padding: 0;
}

.landing-page main > .content {
  max-width: 76.7rem;
}

.landing-page main > .content > header {
  padding-bottom: 3rem;
  text-align: center;
}

.landing-page main > .content > header p {
  margin: 0;
}

.landing-page main > .content > header small {
  font-size: 1.2rem;
  font-weight: 300;
}


.landing-page .hero-container {
  display: none;
  margin: 2rem 2rem 0 0;
}

.landing-page .hero-container img {
  max-width: 100%;
  height: auto;
  display: block;
}


.landing-page .form-area {
  max-width: 27.5rem;
}




/* Billing Page-specific */
.billing-page main {
  padding: 0;
}

.billing-page main > .content {
  max-width: 58.3rem;
  padding-bottom: 2.9rem;
}

.billing-page main .headline {
  margin-bottom: 2.3rem;
}

.billing-page .content .payment-methods {
  list-style: none;
}

.billing-page .content .payment-methods > li {
  margin-bottom: 1.5rem;
}

.billing-page .form-area {
  border-radius: 0px 0px 5px 5px;
}

.payment-method > a {
  display: block;
  text-decoration: none;
}

.payment-method a:focus,
.payment-method a:hover {
  text-decoration: none;
}

.payment-method a:focus .method-name,
.payment-method a:hover .method-name {
  background-color: #F2F2F2;
  -webkit-transition: 400ms background-color;
  -moz-transition: 400ms background-color;
  -o-transition: 400ms background-color;
  transition: 400ms background-color;
}

/* Specifically overwrite the transition behavior to not exist when already open */
.payment-method.open a .method-name {
  background-color: #FFFFFF;
  color: #606060;
}

.payment-method .method-name {
  font-size: 1.3rem;
  margin: 0;
  padding: 2.2rem 3.2rem;
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  text-align: left;
  font-weight: normal;
  color: #606060;
  background-color: #FFFFFF;
  background-image: url('/i/freetrial/billing/caret_right.png');
  background-size: 8px 16px;
  background-repeat: no-repeat;
  background-position: right 1.8em center;
}


.payment-method.paypal .method-name {
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
  padding-left: 2.5rem;
}

.payment-method.paymentez .method-name {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  padding-left: 2.5rem;
}

.payment-method.open .method-name {
  border-radius: 5px 5px 0px 0px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  background-image: url('/i/freetrial/billing/caret_down.png');
  background-size: 16px 8px;
  background-position: right 2rem center;
}

.payment-method .payment-method-content {
  display: none;
  overflow: hidden;
  padding-left: 1.25em;
  padding-right: 1.25em;
}

.payment-method.open .payment-method-content {
  display: block;
}


.payment-method .paypal-logo {
  width: 106px;
  height: 26px;
}

.payment-method .paymentez-logo {
  width: 111px;
  height: 32px;
}


.payment-method-content .cvv-field {
  padding-right: 3.9em;
  background-image: url('/i/freetrial/billing/cvv.png');
  background-size: 34px 23px;
  background-repeat: no-repeat;
  background-position: right 0.7em center;
}


/* A bunch of breakpoint-specific border changes */
.payment-method-content .country-field {
  border-bottom: none;
}

.payment-method-content .expiration-month-field {
  border-right-width: 0;
}

.payment-method-content .expiration-month-field,
.payment-method-content .expiration-year-field {
  border-top: none;
}

.payment-method-content .cvv-field {
  border-top: none;
}


.payment-method p:first-of-type {
  margin-top: 0;
}

.payment-method.credit-card .terms{
  padding-right: 0;
}


.floating-label-input :focus,
.floating-label-input .focus,
.floating-label-input .validated {
  padding-top: 1.5em;
  padding-bottom: 0.7em;
}

.floating-label-input .label {
  top: 8px;
  left: 20px;
  font-size: 0.8rem;
  color: #AAAAAA;
}

.method-name img {
  display: inline-block;
  vertical-align: middle;
  margin: 0 .2rem;
}

.payment-method p.method-text {
  margin: 0 .2rem;
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  line-height: 2.5rem;
}

.payment-method p.method-footnote-marker {
  margin: 0;
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  line-height: 2.5rem;
}


.page-content-footer .norton-icon {
  width: 105px;
  max-width: 85%;
  float: right;
  margin: 0 0.8rem 0 0;
}

.page-content-footer .ssl-icon {
  width: 122px;
  max-width: 85%;
  float: left;
  margin: 1.25rem 0 0 0.8rem;
}


/* Login/ResetPW page-specific */
.login-page .forgot-password-link {
  float: right;
}


.login-page .or-divider {
  display: block;
  position: relative;
  margin: 1.7em 0;
  text-align: center;
  color: #BBBBBB;
}

/* Lines on both sides of the word "or" */
.login-page .or-divider:before,
.login-page .or-divider:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  width: 52%;
  border-bottom: 1px solid #BBBBBB;
}

.login-page .or-divider:before {
  left: -24px;
}

.login-page .or-divider:after {
  right: -24px;
}


.login-page .fb-login-link {
  background-color: #3B5A96;
  padding-left: 3.6em;
  border: 0;
  text-decoration: none;
  background-image: url('/i/freetrial/login/logo_fb_sq_white.png');
  background-repeat: no-repeat;
  background-position: 0.5em;
  background-size: 2em;
}

.login-page .fb-login-link:hover,
.login-page .fb-login-link:focus {
  background-color: #3B4B87;
  -webkit-transition: 400ms background-color;
  -moz-transition: 400ms background-color;
  -o-transition: 400ms background-color;
  transition: 400ms background-color;
}


.login-page .form-area footer p {
  text-align: center;
  margin-bottom: 0;
}


/* Specific overrides for resetpw's sake, since it currently conflicts with existing CR defs */
body.main-page {
  background-color: #FFFFFF;
}

.resetpw-page main {
  background: #F2F2F2;
}

#template_scroller {
  margin: auto;
}

#template_container {
  margin: auto;
  max-width: inherit;
}

#template_body {
  padding-bottom: 0;
}

#footer {
  margin-top: 0;
  background-color: inherit;
}

#footer_menu {
  background-color: inherit;
  border-top: none;
}

.freetrial-page .error {
  text-align: center;
  padding: 3em;
}

.freetrial-page p {
  margin: 1.5em 0;
}

.freetrial-page h1 {
  line-height: initial;
}


.resetpw-page main,
.login-page main {
  padding: 0;
}

.resetpw-page input {
  display: inline;
  margin: 0;
}

.resetpw-page .ie-hidden-submit {
  width: 0;
  height: 0;
  border: 0;
  padding: 0;
}

.login-page .form-area,
.resetpw-page .form-area {
  padding: 0;
  background-color: inherit;
  box-shadow: none;
}

.login-page .content,
.resetpw-page .content {
  max-width: 100%;
  padding: 2em 1em;
  background: transparent;
}

.resetpw-page header > h1 {
  margin-bottom: 0.67em;
}

.resetpw-page .message-container {
  margin: 0.5rem 0;
  max-width: none;
  text-align: center;
}

.resetpw-message-box {
  display: none;
}

.processing-timeout-page main,
.payment-error-page main {
  background: #F2F2F2;
}

.processing-timeout-page .form-area,
.payment-error-page .form-area,
.pp-fail-page .form-area,
.orderlanding-page .form-area {
  background: #FFFFFF;
}

.processing-timeout-page .form-area h1,
.payment-error-page .form-area h1,
.pp-fail-page .form-area h1,
.orderlanding-page .form-area h1 {
  margin-bottom: 0.75em;
}

.processing-timeout-page .content img,
.payment-error-page .content img,
.pp-fail-page .content img,
.orderlanding-page .content img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  margin: 0 auto 2em auto;
}

/* Order Landing page-specific */
.orderlanding-page main > .content {
  max-width: 40rem;
  padding: 0 1.7rem
}

.orderlanding-page .form-area {
  text-align: center;
}

/* PayPal Fail Page-specific */
/* This page does not have a background image in the design */

.pp-fail-page .form-area {
  max-width: 46.7rem;
  text-align: center;
}

.pp-fail-page .error-icon {
  display: block;
  width: 6.7rem;
  height: 6.7rem;
  margin: 0 auto;
  background: black;
}


/* Complete Page-specific */
.complete-page main {
  padding-bottom: 0;
}

.complete-page main > .content {
  padding: 0;
}

.complete-page main > .content > header {
  max-width: 40rem;
  margin: 0 auto;
  padding: 0 1.3rem 1.3rem 1.3rem;
  text-align: center;
}

.complete-page main > .content > header p {
  font-size: 1.2rem;
  font-weight: 300;
}

/* Add spacing so the relative device image doesn't mess with its positioning. */
.complete-page > footer {
  margin-top: 1.7rem;
}


.complete-page p {
  text-align: center;
}


.complete-page .page-content {
  background: #F2F2F2;
}


/* Popular Shows */
.complete-page .popular-shows {
  display: block;
  max-width: 13.3rem;
  margin: 0 auto;
  padding: 0.8rem 0 0 0;
  position: relative;
  overflow: hidden;
}

.complete-page .popular-shows li {
  display: none;
  margin-left: 0.7rem;
  float: left;
  position: relative;
}

/* Show only the first 3. */
.complete-page .popular-shows li:nth-child(-n+3) {
  display: block;
}


.complete-page .popular-shows .show {
  box-shadow: 0px 1px 1px rgba(0,0,0,0.2);
  border-collapse: separate;
}

.complete-page .popular-shows .show:hover {
  box-shadow: 0px 1px 3px rgba(0,0,0,0.55);
  border-collapse: separate;
}


.complete-page .popular-shows .show a {
  width: 10.6rem;
  display: block;
  background: #FFFFFF;
  padding: 0.8em;
  margin-bottom: 1rem;
  position: relative;
  color: #3f3f3f;
}

.complete-page .popular-shows .show a:hover {
  color: #0A6DA4;
  cursor: pointer;
  text-decoration: none;
}

.complete-page .popular-shows .show a:active {
  background: #ececec !important;
}


.complete-page .popular-shows .show img {
  width: 125px;
  height: 187px;
  display: block;
  margin-bottom: 0.7em;
}


.complete-page .popular-shows .show-title,
.complete-page .popular-shows .show-data {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.complete-page .popular-shows .show-title {
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.5em;
  display: block;
  margin-bottom: 0;
}

.complete-page .popular-shows .show-data {
  font-size: 0.9rem;
  color: #808080;
}


/* App Links */
.complete-page .app-links {
  margin-top: 3.3rem;
  font-weight: 300;
  background: #F78C25;
}

.complete-page .app-links > .content {
  max-width: 76.7rem;
  padding: 0 1.2rem;
}


.complete-page .app-links .device-photo {
  display: block;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  position: relative;
  top: -16px;
}


.complete-page .app-links .info {
  padding: 0 0 1.7rem 0;
}


.complete-page .app-links p,
.complete-page .other-links p {
  margin: 0;
}

.complete-page .app-links p + p {
  margin-top: 1em;
}


.complete-page .app-links a {
  display: block;
  color: #FFFFFF;
  text-decoration: underline;
}


.complete-page .other-links {
  padding-top: 1.2rem;
  background: #FFFFFF;
}


/* Overrides for mobile/tablet app links. */
.complete-page .touch-apps .app-links > .content {
  max-width: 45rem
}

.complete-page .touch-apps .app-links .device-photo {
  top: -35px;
}

.complete-page .touch-apps .app-links .app-link {
  display: block;
  margin-top: 1.7rem;
}

.complete-page .touch-apps .app-links .app-link img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}




/* CSS for high-resolution devices */
@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
  .login-page .fb-login-link {
    background-image: url('/i/freetrial/login/logo_fb_sq_white@2x.png');
  }
}



/* RESPONSIVE: VERY SMALL (Phone) */
@media only screen and (min-width: 320px) {
  .complete-page > footer {
    margin-top: 6.8rem;
  }


  .complete-page .popular-shows {
    max-width: 26.5rem;
  }

  /* Show only the first 6. */
  .complete-page .popular-shows li:nth-child(-n+6) {
    display: block;
  }


  .complete-page .touch-apps.tablet .app-links .device-photo {
    max-width: 245px;
  }


  .complete-page .touch-apps.mobile .app-links .device-photo {
    max-width: 120px;
    float: left;
    margin-right: 2.5rem;
  }

  .complete-page .touch-apps.mobile .app-links .info {
    padding: 2rem 0;
  }

  .complete-page .touch-apps.mobile .app-links p,
  .complete-page .touch-apps.mobile .other-links p {
    text-align: left;
  }

  /* Remove margin so mobile app link image aligns to the left. */
  .complete-page .touch-apps.mobile .app-links .app-link img {
    margin: 0;
  }


  .billing-page .external-method button,
  .billing-page .external-method .button-link {
    margin: 0; /* Because IE doesn't support 'initial' and will ignore the 2nd definition. */
    margin: initial;
  }
}


/* RESPONSIVE: SMALL (Tablet) */
@media only screen and (min-width: 568px) {

  .landing-page .content > header {
    padding-bottom: 4.2rem;
  }

  .billing-page .content {
    padding-bottom: 2rem;
  }

  .billing-page main .headline {
    margin-bottom: 2.5rem;
  }

  .billing-page .content .payment-methods > li {
    margin-bottom: 2.9rem;
  }

  .billing-page input,
  .billing-page select {
    font-size: 1.15rem;
  }


  .login-page .content,
  .resetpw-page .content {
    max-width: 25rem;
    background-color: transparent;
  }

  .login-page .form-area,
  .resetpw-page .form-area {
    padding: 2em;
    background-color: #FFFFFF;
    box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2);
  }


  .complete-page .popular-shows {
    max-width: 38.75rem;
  }

  /* Show only the first 9. */
  .complete-page .popular-shows li:nth-child(-n+9) {
    display: block;
  }


  .complete-page .all-devices .app-links .info {
    padding: 1.7em 1.7em 1.7em 0;
  }

  .complete-page .other-links p {
    text-align: left;
  }


  .complete-page .touch-apps.tablet .app-links .device-photo {
    float: left;
    margin-right: 2.5em;
    top: -45px;
  }

  .complete-page .touch-apps.tablet .app-links .info {
    padding: 3.75em 0 6.25em 0;
  }

  .complete-page .touch-apps.tablet .app-links p,
  .complete-page .touch-apps.tablet .other-links p {
    text-align: left;
  }

  .complete-page .touch-apps.tablet .app-links .info {
    font-size: 1.3rem;
  }

  /* Remove margin so both mobile and tablet app link images align to the left. */
  .complete-page .touch-apps .app-links .app-link img {
    margin: 0;
  }


  /* Minor override because ResetPW currently uses a different footer: */
  body.responsive .freetrial-page > main {
    min-height: calc( 100vh - ( 10rem + 30rem ));
  }


  .pp-fail-page .button-link {
    margin: 2rem auto;
  }
}


/* RESPONSIVE: MEDIUM (Tablet) */
@media only screen and (min-width: 768px) {

  .processing-timeout-page .content {
    max-width: 47rem;
  }

  .payment-error-page .content {
    max-width: 47rem;
  }


  .complete-page .popular-shows {
    max-width: 51.7rem;
  }

  /* Show only the first 12. */
  .complete-page .popular-shows li:nth-child(-n+12) {
    display: block;
  }


  .complete-page .app-links .device-photo {
    float: left;
    margin-right: 2.5em;
  }


  .complete-page .all-devices .app-links .info {
    padding: 3.3em 5.8em 3.3em 0;
  }
}




/* RESPONSIVE: LARGE (Desktop) */
@media only screen and (min-width: 992px) {

  .landing-page .hero-container {
    display: block;
  }


  .complete-page .popular-shows {
    max-width: 77.5rem;
  }

  /* Show only the first 18. */
  .complete-page .popular-shows li:nth-child(-n+18) {
    display: block;
  }


  .complete-page .app-links .device-photo {
    max-width: 430px;
  }


  .complete-page .app-links .info {
    font-size: 1.3rem;
  }
}
