/*
 * Do not add any actual CSS definitions outside of variables and mixins.
 * Since this file is imported in multiple places in this project any
 * actual definitions will result in duplicated styles.
 */
/*
 * Do not add any actual CSS definitions outside of variables and mixins.
 * Since this file is imported in multiple places in this project any
 * actual definitions will result in duplicated styles.
 */
/* Clear fix */
/* Size */
/* hr psuedo */
/* Vertical Align Mixin */
/* Flexbox*/
/* Vertical Align Mixin */
/*
 * Do not add any actual CSS definitions outside of variables and mixins.
 * Since this file is imported in multiple places in this project any
 * actual definitions will result in duplicated styles.
 */
body,
.footer-cta {
  background: #f2f2f3; }

header#product {
  background-color: white;
  color: #595458;
  padding: 1rem 0;
  margin-bottom: 1rem;
  padding-bottom: 0;
  padding-top: 0;
  margin-bottom: 0;
  margin-top: 0 !important; }
  header#product h1 {
    font-family: 'Nunito Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size: 1.75rem;
    color: #18171c;
    font-weight: 700;
    line-height: 2.375rem;
    letter-spacing: -.025rem; }
    @media all and (max-width: 599px) {
      header#product h1 {
        font-family: 'Nunito Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
        font-size: 1.5rem;
        color: #18171c;
        font-weight: 700;
        line-height: 2.125rem;
        letter-spacing: -.0125rem;
        margin-bottom: .25rem; } }
  header#product section {
    margin-top: 0 !important;
    height: initial; }
    header#product section > .row > div {
      padding-top: 0; }

.card.product-overview-container p.ui p {
  margin-bottom: 1.5rem;
  font-family: 'Nunito Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 1rem;
  color: #2b303b;
  font-weight: 400;
  line-height: 1.5rem; }

.product-overview {
  margin-top: 1.25rem; }
  .product-overview .gallery .caption {
    height: initial !important; }
  .product-overview .product-overview-text {
    padding-right: 1rem; }
    @media all and (max-width: 599px) {
      .product-overview .product-overview-text {
        padding-right: 0; } }
    .product-overview .product-overview-text .button.default {
      font-size: 1rem;
      width: 100%; }
  .product-overview span.operating-system {
    font-size: .875rem; }
  .product-overview .product-overview-gallery {
    padding-left: 1rem;
    padding-right: 0; }
  .product-overview .product-overview-text .overlay {
    display: none; }
  @media all and (max-width: 599px) {
    .product-overview .product-overview-text.collapsed {
      height: 30vh;
      overflow: hidden;
      margin-bottom: 4vh;
      position: relative; }
      .product-overview .product-overview-text.collapsed .overlay {
        display: block;
        position: absolute;
        bottom: 0rem;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(10%, rgba(255, 255, 255, 0.9)), to(white));
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 10%, white 100%);
        height: 5rem;
        width: 100%;
        text-align: center; }
        .product-overview .product-overview-text.collapsed .overlay .overlay-close {
          margin-top: 1.875rem; } }

.product-info .product-score {
  text-align: center; }
  .product-info .product-score .new-stars {
    /* !flex-start!, flex-end, center, space-between, space-around */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-transform-origin: center;
            transform-origin: center;
    margin: 0 auto; }
  .product-info .product-score .rank {
    margin-top: .25rem; }
    .product-info .product-score .rank .rank-link {
      color: #083cf7;
      text-decoration: none;
      background-color: transparent;
      -webkit-transition: all 100ms;
      transition: all 100ms; }
      .product-info .product-score .rank .rank-link:hover {
        color: #18171c;
        text-decoration: underline;
        cursor: pointer; }

.reviews-overview {
  margin-bottom: 2rem; }

h3.review-stats-header {
  margin-bottom: 2rem;
  margin-top: 2rem; }

@media (max-width: 999px) {
  .review-stats {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; } }

.review-stats .review-stats-title {
  margin-bottom: .5rem; }
  @media all and (min-width: 320px) and (max-width: 599px) {
    .review-stats .review-stats-title {
      display: none; } }

.review-stats .product-score {
  position: relative;
  top: .25rem;
  float: left;
  min-width: 9.063rem; }

.review-stats .review-stats-average {
  display: inline-block;
  margin-bottom: 0;
  float: left; }
  @media all and (min-width: 320px) and (max-width: 599px) {
    .review-stats .review-stats-average {
      position: relative;
      top: .125rem; } }

.review-stats .review-stats-button {
  display: inline-block;
  padding: 1rem 2rem .25rem; }
  @media (max-width: 999px) {
    .review-stats .review-stats-button {
      padding: 0 0 0rem 0rem;
      position: relative;
      top: -.25rem; } }
  @media all and (min-width: 320px) and (max-width: 599px) {
    .review-stats .review-stats-button {
      display: none; } }

.ratings-container .ratings p,
.ratings-container .ratings div {
  display: inline-block; }

.review-note div {
  padding-top: 0;
  padding-bottom: 0; }
  .review-note div p {
    margin-top: 1rem;
    margin-bottom: 1rem; }

.filtering {
  padding-top: .5rem;
  padding-bottom: 0;
  margin-bottom: 0; }
  .filtering p.ui {
    margin-bottom: .5rem; }
    .filtering p.ui.filtering-title--sorting {
      text-align: right; }
      @media (max-width: 599px) {
        .filtering p.ui.filtering-title--sorting {
          text-align: left; } }
  .filtering select {
    width: 100%; }

.review-snapshot {
  margin-top: 1.5rem; }
  .review-snapshot p.ui {
    margin-bottom: 1rem; }
  .review-snapshot .review-snapshot-features .Grid .ranking-pills-label {
    white-space: nowrap; }
  .review-snapshot .review-snapshot-features .Grid .ranking-pills-container {
    max-width: 8rem; }
    .review-snapshot .review-snapshot-features .Grid .ranking-pills-container .ranking-pills {
      min-width: 8rem;
      margin-bottom: 0; }
  .review-snapshot .review-snapshot-features .Grid .ranking-pills-number {
    margin-left: .5rem; }
  .review-snapshot .review-snapshot-likelihood .likelihood {
    display: -webkit-box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    /* Combination of flex-direction AND flex-wrap, default is row AND nowrap */
    -ms-flex-flow: row nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row nowrap;
    max-width: 12rem; }
    .review-snapshot .review-snapshot-likelihood .likelihood p {
      -webkit-box-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
      flex: 1 0 auto; }
      .review-snapshot .review-snapshot-likelihood .likelihood p:first-child {
        text-align: left; }
      .review-snapshot .review-snapshot-likelihood .likelihood p:last-child {
        text-align: right; }
  @media (max-width: 999px) {
    .review-snapshot {
      display: none; } }

.review-snapshot > .Grid > .Grid-cell {
  position: relative; }
  .review-snapshot > .Grid > .Grid-cell::after {
    content: "";
    display: block;
    border-right: 0.0625rem solid #dee7e7;
    height: calc(100% + 2rem);
    position: absolute;
    top: -1rem;
    width: .0625rem;
    right: 0; }
  .review-snapshot > .Grid > .Grid-cell:last-child::after {
    display: none; }

.review-snapshot.no-spectrum .review-snapshot-ratings::after {
  border-right: 0; }

.review-snapshot.no-spectrum .review-snapshot-likelihood .content {
  display: none; }

section.summary-container {
  width: calc(100vw - 2rem); }

section.reviews-container {
  width: calc(100vw - 2rem); }

.reviews-wrapper {
  padding-bottom: 1rem;
  margin-bottom: 0; }

section.reviews {
  margin-top: 0;
  margin-bottom: 2rem; }

.review {
  margin-top: 2rem;
  border-bottom: 1px solid #dee7e7;
  padding-bottom: 1rem; }
  @media (max-width: 999px) {
    .review {
      padding: 0 0 1rem;
      margin-top: 1rem; } }

app-review-item:last-child .review {
  border-bottom: 0; }

.review-profile {
  padding: 0; }
  @media (max-width: 599px) {
    .review-profile .review-person {
      display: none; } }
  .review-profile .review-person .Grid.Grid--center {
    margin-bottom: 1rem; }
  .review-profile .review-profile-avatar {
    display: block;
    background: #f2f2f3;
    border-radius: 6.25rem;
    width: 2.5rem;
    height: 2.5rem;
    text-align: center;
    margin-right: 1rem; }
    .review-profile .review-profile-avatar::after {
      content: url("data:image/svg+xml;charset=UTF-8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Ctitle%3Eicon%3C%2Ftitle%3E%3Cpath%20d%3D%22M10.89%2C8.68a4.7%2C4.7%2C0%2C1%2C0-5.78%2C0A6.37%2C6.37%2C0%2C0%2C0%2C.3%2C15a.7.7%2C0%2C0%2C0%2C1.4%2C0c0-2.56%2C1.65-5.3%2C6.3-5.3s6.3%2C2.74%2C6.3%2C5.3a.7.7%2C0%2C0%2C0%2C1.4%2C0A6.37%2C6.37%2C0%2C0%2C0%2C10.89%2C8.68ZM4.7%2C5A3.3%2C3.3%2C0%2C1%2C1%2C8%2C8.3%2C3.3%2C3.3%2C0%2C0%2C1%2C4.7%2C5Z%22%20fill%3D%22%23595458%22%2F%3E%3C%2Fsvg%3E");
      display: block;
      position: relative;
      top: .6875rem;
      left: .75rem;
      width: 1rem;
      height: 1rem; }

.verified::after {
  content: url("data:image/svg+xml;charset=UTF-8, %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ctitle%3Eicon%3C%2Ftitle%3E%3Cpath%20d%3D%22M22.22%2C0H1.77A1.75%2C1.75%2C0%2C0%2C0%2C0%2C1.73V22.27A1.75%2C1.75%2C0%2C0%2C0%2C1.77%2C24H22.22A1.76%2C1.76%2C0%2C0%2C0%2C24%2C22.27V1.73A1.75%2C1.75%2C0%2C0%2C0%2C22.22%2C0Z%22%20fill%3D%22%230065a1%22%2F%3E%3Cpath%20d%3D%22M3.56%2C9H7.12V20.45H3.56ZM5.34%2C3.3A2.07%2C2.07%2C0%2C1%2C1%2C3.27%2C5.37%2C2.07%2C2.07%2C0%2C0%2C1%2C5.34%2C3.3%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M9.35%2C9h3.42v1.56h0a3.75%2C3.75%2C0%2C0%2C1%2C3.37-1.85c3.6%2C0%2C4.27%2C2.37%2C4.27%2C5.46v6.28H16.89V14.88c0-1.33%2C0-3-1.85-3s-2.13%2C1.45-2.13%2C2.95v5.66H9.35Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
  display: inline-block;
  position: relative;
  top: .3125rem;
  left: .25rem;
  -webkit-transform: scale(0.75, 0.75);
          transform: scale(0.75, 0.75); }

.review .tooltip {
  margin-bottom: 0; }

.review-ranking {
  max-width: 11rem;
  margin-bottom: 0; }
  .review-ranking p.small {
    margin-bottom: 0; }
  .review-ranking > div:last-child .ranking-pills {
    margin-bottom: 0; }
  .review-ranking .ranking-pills {
    margin-bottom: .75rem;
    max-width: initial; }
    .review-ranking .ranking-pills .ranking-pills-number p {
      line-height: .5rem;
      margin-left: .5rem;
      margin-bottom: 0; }
  @media (max-width: 999px) {
    .review-ranking {
      max-width: 25rem;
      margin-bottom: 2rem;
      display: -webkit-box;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      /* Combination of flex-direction AND flex-wrap, default is row AND nowrap */
      -ms-flex-flow: row wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-flow: row wrap; }
      .review-ranking > * {
        -webkit-box-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        width: calc(50% - 2rem);
        margin-right: 2rem; } }

.review-title.review-title-desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 999px) {
    .review-title.review-title-desktop {
      display: none; } }

.review-title.review-title-tablet {
  display: none; }
  @media (max-width: 999px) {
    .review-title.review-title-tablet {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .review-title.review-title-tablet .new-stars-rank {
        top: .25rem; } }

.review-title .review-score .stars .star {
  margin: 0;
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5); }
  .review-title .review-score .stars .star::after {
    width: 1.5rem;
    height: 1.5rem; }

.review-title .review-date {
  text-align: right; }

.review-copy-container p {
  margin-bottom: 2rem; }
  .review-copy-container p.review-copy-header {
    margin-bottom: 1.5rem; }
  .review-copy-container p.review-copy-pros, .review-copy-container p.review-copy-cons {
    margin-bottom: .5rem; }
  @media (max-width: 599px) {
    .review-copy-container p:last-child {
      margin-bottom: 0; } }
  .review-copy-container p em {
    background-color: lightgoldenrodyellow !important;
    font-style: normal !important; }

@media (max-width: 599px) {
  .review-response {
    display: none; } }

.review-response.card {
  padding: 1.5rem;
  margin-bottom: 0;
  background: #f2f2f3; }

.review-response .review-response-logo img {
  width: 100%;
  max-width: 2.5rem;
  max-height: 2.5rem; }

.review-response .review-response-date {
  text-align: right; }

.review-response .review-response-content {
  margin: .9375rem 0 0;
  white-space: pre-line; }

.footer-cta {
  padding: 2rem 1rem; }
  .footer-cta p:first-child {
    margin-bottom: 1rem; }

.product-screens {
  position: relative;
  margin: 0 0 1rem 0; }
  .product-screens img.product-screens-lead {
    border: .0625rem solid #bebbbe;
    z-index: 1;
    max-height: 25rem;
    max-width: 35rem;
    display: block;
    margin: 0 auto; }
    @media all and (max-width: 599px) {
      .product-screens img.product-screens-lead {
        max-height: auto;
        width: 100%; } }
  .product-screens a.view-more {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    z-index: 2; }

.product-screens-thumbs {
  padding-top: 1rem;
  margin: 0; }
  .product-screens-thumbs figcaption {
    cursor: pointer; }
  .product-screens-thumbs .col-4 {
    padding-top: 1rem;
    margin-bottom: .5rem; }
    .product-screens-thumbs .col-4 div {
      width: 100%;
      overflow: hidden;
      border: .0625rem solid #bebbbe;
      position: relative;
      height: 9.375rem; }
      @media all and (max-width: 599px) {
        .product-screens-thumbs .col-4 div {
          height: 3.438rem; } }
      @media all and (min-width: 320px) and (max-width: 599px) {
        .product-screens-thumbs .col-4 div {
          height: 5.313rem; } }
      @media all and (min-width: 600px) and (max-width: 999px) {
        .product-screens-thumbs .col-4 div {
          height: 8.438rem; } }
      @media all and (min-width: 1000px) and (max-width: 1649px) {
        .product-screens-thumbs .col-4 div {
          height: 9.375rem; } }
      .product-screens-thumbs .col-4 div img {
        opacity: .4;
        width: 185%;
        position: absolute; }
        @media all and (min-width: 600px) and (max-width: 999px) {
          .product-screens-thumbs .col-4 div img {
            width: 155%; } }
        @media all and (min-width: 1000px) and (max-width: 1649px) {
          .product-screens-thumbs .col-4 div img {
            width: 195%; } }
    .product-screens-thumbs .col-4 .active-thumb img {
      opacity: 1; }
      .product-screens-thumbs .col-4 .active-thumb img:hover {
        cursor: default; }
    .product-screens-thumbs .col-4:hover div img {
      cursor: pointer;
      opacity: 1; }
