/* Convert px to rem
** Usage:
** font-size: rem(23);
*/
/* A small function allowing skipping base64 encoding
** and simply pasting the SVG markup right in the CSS.
** @author Jakob Eriksen
** @link http://codepen.io/jakob-e/pen/doMoML
** @param {String} $svg - SVG image to encode
** @return {String} - Encoded SVG data uri
*/
/* Replace `$search` with `$replace` in `$string`
** @author Hugo Giraudel
** @link http://sassmeister.com/gist/1b4f2da5527830088e4d
** @param {String} $string - Initial string
** @param {String} $search - Substring to replace
** @param {String} $replace ('') - New value
** @return {String} - Updated string
*/
/* Replace substring 'fillColor' to real color from variables */
/* Convert px to rem
** Usage:
** font-size: rem(23);
*/
/* A small function allowing skipping base64 encoding
** and simply pasting the SVG markup right in the CSS.
** @author Jakob Eriksen
** @link http://codepen.io/jakob-e/pen/doMoML
** @param {String} $svg - SVG image to encode
** @return {String} - Encoded SVG data uri
*/
/* Replace `$search` with `$replace` in `$string`
** @author Hugo Giraudel
** @link http://sassmeister.com/gist/1b4f2da5527830088e4d
** @param {String} $string - Initial string
** @param {String} $search - Substring to replace
** @param {String} $replace ('') - New value
** @return {String} - Updated string
*/
/* Replace substring 'fillColor' to real color from variables */
/* Mixin for button animation,
    use: @include button-animation(); for .btn-primary-dark--white-bg button
*/
/* Mixin for arrow link animation,
    use: @include arrow-link-animation(); for .btn-tertiary-dark--white-bg button
*/
/* Mixin for link animation,
    use: @include link-animation(); for .btn-link-dark--white-bg button
*/
/* Mixin for button background animation,
    use: @include hoverBgEffect($primary-slate, $scale: 1.4, $speed: 0.4s);
*/
/**
 * Mixin for adding gradient line to the bottom.
 * @param {$side-colors} color.
 */
/**
 * Mixin for adding text underline.
 */
/**
 * Mixin for cropping the text.
 * @param {$line-clamp} number of visible lines.
 */
.family-devices-tile-carousel:not(.slick-initialized) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  opacity: 0;
}
.family-devices-tile-carousel .slick-track {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.family-devices-tile-carousel .slick-slide {
  height: inherit !important;
  margin: 0 0.25rem;
}
.family-devices-tile-carousel .slick-slide:first-child {
  margin-left: 1rem;
}
.family-devices-tile-carousel .slick-slide:last-child {
  margin-right: 1rem;
}
@media (min-width: 1024px) {
  .family-devices-tile-carousel .slick-slide {
    margin: 0 0.5rem;
  }
}
.family-devices-tile-carousel .slick-slide > div {
  height: 100%;
}
.family-devices-tile-carousel .slick-dots li button::before {
  font-size: 1.875rem;
}
.family-devices-tile-carousel .slick-track,
.family-devices-tile-carousel .slick-list {
  direction: inherit;
}
.family-devices-tile-carousel.slick-dotted {
  margin-bottom: 3.5rem;
}
.family-devices-tile-carousel.slick-dotted .slick-dots {
  bottom: -2.5rem;
}

.family-devices-title {
  font-size: 2rem;
  line-height: 2.75rem;
  margin-bottom: 2rem;
  font-weight: bold;
  margin-left: 1rem;
}
@media (min-width: 1024px) {
  .family-devices-title {
    font-size: 2.75rem;
  }
}

.family-devices-tile {
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
@media (min-width: 1024px) {
  .family-devices-tile {
    border-radius: 2.5rem;
    padding: 3rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.family-devices-tile-wrapper {
  border-radius: 1rem;
  height: 100%;
}
@media (min-width: 1024px) {
  .family-devices-tile-wrapper {
    border-radius: 2.5rem;
  }
}
.family-devices-tile-top-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  padding: 0 1rem;
}
@media (min-width: 1024px) {
  .family-devices-tile-top-content {
    gap: 1rem;
    padding: 0 0 0 3rem;
  }
}
.family-devices-tile-bottom-content {
  padding: 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 1024px) {
  .family-devices-tile-bottom-content {
    padding: 0 0 0 3rem;
  }
}
.family-devices-tile-badge {
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.5rem;
  border-radius: 0.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.family-devices-tile-subtitle {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media (min-width: 1024px) {
  .family-devices-tile-subtitle {
    font-size: 1.25rem;
  }
}
.family-devices-tile-title {
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 2.75rem;
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  .family-devices-tile-title {
    font-size: 2.75rem;
  }
}
.family-devices-tile-notes {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .family-devices-tile-notes {
    margin-bottom: 0.5rem;
  }
}
.family-devices-tile-image {
  max-height: 25rem;
  -ms-flex-item-align: self-end;
      align-self: self-end;
}
@media (min-width: 1024px) {
  .family-devices-tile-image {
    max-height: 32.375rem;
    grid-row: span 2;
    justify-self: self-end;
  }
}
.family-devices-tile-button {
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 1024px) {
  .family-devices-tile-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
