.fancy-description table, .tiles-description table {
  width: 100%;
  border-collapse: collapse;
}
.fancy-description table tr :first-child, .tiles-description table tr :first-child {
  text-align: left;
}
.fancy-description table tr th, .tiles-description table tr th {
  font-weight: bold;
}
.fancy-description table tr th, .fancy-description table tr td, .tiles-description table tr th, .tiles-description table tr td {
  text-align: right;
  border-bottom: 1px solid #C7C7C7;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.fancy-description table thead th, .fancy-description table thead td, .tiles-description table thead th, .tiles-description table thead td {
  border-bottom: 1px solid #303030;
}
.fancy-description .specs, .tiles-description .specs {
  width: 100%;
}
.fancy-description .specs tr th, .fancy-description .specs tr td, .tiles-description .specs tr th, .tiles-description .specs tr td {
  text-align: left;
}
.fancy-description .stacked, .tiles-description .stacked {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
}
.fancy-description .stacked img, .tiles-description .stacked img {
  grid-row: 3;
  aspect-ratio: 16/12;
}

.fancy-description {
  display: flex;
  flex-direction: column;
  padding-left: calc((100% - 1366px) / 2);
  padding-right: calc((100% - 1366px) / 2);
}
.fancy-description h2, .fancy-description h3 {
  margin-bottom: 0.5rem;
}
.fancy-description p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.fancy-description .align-top {
  align-items: start;
}
.fancy-description .align-centre {
  align-items: center;
}
.fancy-description .align-bottom {
  align-items: bottom;
}
.fancy-description .black {
  background-color: black;
  color: white;
}
.fancy-description .black thead > tr > th {
  border-bottom-color: white !important;
}
.fancy-description .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: center;
}
.fancy-description .row .text {
  display: block;
  margin: 4rem;
  align-items: unset;
  justify-self: stretch;
}
.fancy-description .row .text img {
  width: 60px;
  height: 60px;
  margin-bottom: 0.5rem;
}
.fancy-description .row .cols {
  column-count: 2;
  column-gap: 2rem;
}
.fancy-description .row ol {
  list-style: none;
  counter-reset: item;
  margin-top: 0;
  padding-left: 0;
}
.fancy-description .row ol li {
  counter-increment: item;
  margin-left: 2.5rem;
  margin-bottom: 1rem;
}
.fancy-description .row ol li:before {
  content: counter(item);
  background-color: #303030;
  border-radius: 50%;
  color: white;
  font-weight: bold;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: absolute;
  margin-left: -2.5rem;
  width: 1.75rem;
  aspect-ratio: 1/1;
  align-items: center;
  justify-items: center;
}
.fancy-description .row img {
  width: 100%;
  object-fit: contain;
}
.fancy-description .row blockquote {
  margin-left: 0;
  margin-right: 0;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  font-size: 1.5rem;
  font-style: italic;
}
.fancy-description .full {
  display: block;
}
.fancy-description .triple {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  justify-items: stretch;
}
.fancy-description .triple img {
  object-fit: cover;
}
.fancy-description .youtube {
  display: flex;
  flex-direction: column;
  aspect-ratio: 16/9;
}
.fancy-description .youtube div {
  width: 100%;
}
.fancy-description .youtube div iframe {
  position: absolute;
}

@media screen and (max-width: 720px) {
  .fancy-description .row {
    grid-template-columns: 1fr;
  }
  .fancy-description img {
    order: 1;
  }
  .fancy-description .text {
    order: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .fancy-description .cols {
    column-count: 1 !important;
    column-gap: 0 !important;
  }
}
.tiles-description {
  padding-left: calc((100% - 1366px) / 2);
  padding-right: calc((100% - 1366px) / 2);
}
.tiles-description .block {
  display: grid;
  padding: 2rem;
  width: 100%;
  row-gap: 2rem;
  column-gap: 2rem;
}
.tiles-description .block img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
.tiles-description .block .text {
  display: flex;
  flex-direction: column;
  justify-items: center;
  justify-content: center;
}
.tiles-description .block .text h2 {
  margin-bottom: 1rem;
}
.tiles-description .cols1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.tiles-description .cols2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tiles-description .cols3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tiles-description .span1 {
  grid-column: span 1;
}
.tiles-description .span2 {
  grid-column: span 2;
}
.tiles-description .span3 {
  grid-column: span 3;
}

@media screen and (max-width: 720px) {
  .tiles-description .cols3 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: 0;
  }
  .tiles-description .cols2 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: 0;
  }
  .tile-description .span3 {
    grid-column: span 1 !important;
  }
  .tile-description .span2 {
    grid-column: span 1 !important;
  }
}
.carousel {
  position: relative;
  overflow: hidden;
}
.carousel .carousel-inner {
  display: grid;
  grid-auto-columns: 100%;
  grid-template-rows: 1fr;
  height: 100%;
}
.carousel .carousel-inner .item {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  color: white;
}
.carousel .carousel-inner .item div {
  padding: 2rem;
  align-self: end;
}
.carousel .carousel-inner .item * {
  grid-row: 1;
  grid-column: 1;
}
.carousel .carousel-inner img {
  object-fit: cover;
}
.carousel .carousel-inner * {
  grid-row: 1;
}
.carousel .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: white;
  display: grid;
  align-items: end;
}
.carousel .overlay div {
  padding: 2rem;
}
.carousel .controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 4rem 1fr 4rem;
}
.carousel .controls .chevron {
  width: 2rem;
  height: 2rem;
  align-self: center;
  justify-self: center;
  border-left: 0.3rem solid rgba(255, 255, 255, 0.7);
  border-bottom: 0.3rem solid rgba(255, 255, 255, 0.7);
  transform: rotate(45deg);
  pointer-events: none;
}
.carousel .controls .right {
  transform: rotate(225deg);
}
.carousel .controls .prev {
  grid-column: 1;
  align-content: center;
  padding-left: 2rem;
}
.carousel .controls .next {
  grid-column: 3;
  align-content: center;
  padding-right: 2rem;
}

/*# sourceMappingURL=description.css.map */
