/* Slider */
.cd-hero {
  position: relative; }

.cd-hero__slider {
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden; }

.cd-hero__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Force Hardware Acceleration */
  -webkit-transform: translateZ(0px);
  transform: translateZ(0px);
  will-change: transform;
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-size: cover !important;
  background-repeat: no-repeat !important; }

.cd-hero__slide.cd-hero__slide--selected {
  /* this is the visible slide */
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }

.cd-hero__slide.cd-hero__slide--move-left {
  /* slide hidden on the left */
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.cd-hero__slide.cd-hero__slide--is-moving,
.cd-hero__slide.cd-hero__slide--selected {
  /* the cd-hero__slide--is-moving class is assigned to the slide which is moving outside the viewport */
  -webkit-transition: -webkit-transform 1.5s;
  transition: -webkit-transform 1.5s;
  transition: transform 1.5s;
  transition: transform 1.5s, -webkit-transform 1.5s; }

@media only screen and (min-width: 768px) {
  .cd-hero__slider {
    height: 500px; } }

@media only screen and (min-width: 1170px) {
  .cd-hero__slider {
    height: 680px; } }

/* Slide style */
.cd-hero__slide {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat; }

.cd-hero__content.cd-hero__content--full-width,
.cd-hero__content.cd-hero__content--half-width {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  /* this padding is used to align the text */
  padding-top: 100px;
  text-align: center;
  /* Force Hardware Acceleration */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform; }

.cd-hero__content h2, .cd-hero__content p, .cd-hero__content--img img {
  /* Force Hardware Acceleration */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform; }

.cd-hero__content.cd-hero__content--img {
  /* hide image on mobile device */
  display: none; }

.cd-hero__content--img img {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.cd-hero__content.cd-hero__content--bg-video {
  /* hide video on mobile device */
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.cd-hero__content--bg-video video {
  /* you won't see this element in the html, but it will be injected using javascript */
  display: block;
  min-height: 100%;
  min-width: 100%;
  max-width: none;
  height: auto;
  width: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.cd-hero__content h2, .cd-hero__content p {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  line-height: 1.2;
  margin: 0 auto 14px;
  color: #ffffff;
  width: 90%;
  max-width: 400px; }

.cd-hero__content h2 {
  font-size: 2.4rem; }

.cd-hero__content p {
  font-size: 16px;
  line-height: 1.4; }

@media only screen and (min-width: 768px) {
  .cd-hero__content.cd-hero__content--full-width,
  .cd-hero__content.cd-hero__content--half-width {
    padding-top: 150px; }
  .cd-hero__content.cd-hero__content--bg-video {
    display: block; }
  .cd-hero__content.cd-hero__content--half-width {
    width: 45%; }
  .cd-hero__content.cd-hero__content--half-width:first-of-type {
    left: 5%; }
  .cd-hero__content.cd-hero__content--half-width:nth-of-type(2) {
    right: 5%;
    left: auto; }
  .cd-hero__content.cd-hero__content--img {
    display: block; }
  .cd-hero__content h2, .cd-hero__content p {
    max-width: 520px; }
  .cd-hero__content h2 {
    font-size: 2.4em;
    font-weight: 300; } }

@media only screen and (min-width: 1170px) {
  .cd-hero__content.cd-hero__content--full-width,
  .cd-hero__content.cd-hero__content--half-width {
    padding-top: 220px; }
  .cd-hero__content h2, .cd-hero__content p {
    margin-bottom: 20px; }
  .cd-hero__content h2 {
    font-size: 3.2em; } }

/* Single slide animation */
@media only screen and (min-width: 768px) {
  .cd-hero__content.cd-hero__content--half-width {
    opacity: 0;
    -webkit-transform: translateX(40px);
    -ms-transform: translateX(40px);
    transform: translateX(40px); }
  .cd-hero__slide--move-left .cd-hero__content.cd-hero__content--half-width {
    -webkit-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    transform: translateX(-40px); }
  .cd-hero__slide--selected .cd-hero__content.cd-hero__content--half-width {
    /* this is the visible slide */
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  .cd-hero__slide--is-moving .cd-hero__content.cd-hero__content--half-width {
    /* this is the slide moving outside the viewport
    wait for the end of the transition on the <li> parent before set opacity to 0 and translate to 40px/-40px */
    -webkit-transition: opacity 0s 0.5s, -webkit-transform 0s 0.5s;
    transition: opacity 0s 0.5s, -webkit-transform 0s 0.5s;
    transition: opacity 0s 0.5s, transform 0s 0.5s;
    transition: opacity 0s 0.5s, transform 0s 0.5s, -webkit-transform 0s 0.5s; }
  .cd-hero__slide--from-left.cd-hero__slide--selected .cd-hero__content.cd-hero__content--half-width:nth-of-type(2),
  .cd-hero__slide--from-right.cd-hero__slide--selected .cd-hero__content.cd-hero__content--half-width:first-of-type {
    /* this is the selected slide - different animation if it's entering from left or right */
    -webkit-transition: opacity 0.4s 2s ease-in, -webkit-transform 0.5s 1s;
    transition: opacity 0.4s 2s ease-in, -webkit-transform 0.5s 1s;
    transition: opacity 0.4s 2s ease-in, transform 0.5s 1s;
    transition: opacity 0.4s 2s ease-in, transform 0.5s 1s, -webkit-transform 0.5s 1s; }
  .cd-hero__slide--from-left.cd-hero__slide--selected .cd-hero__content.cd-hero__content--half-width:first-of-type,
  .cd-hero__slide--from-right.cd-hero__slide--selected .cd-hero__content.cd-hero__content--half-width:nth-of-type(2) {
    /* this is the selected slide - different animation if it's entering from left or right */
    -webkit-transition: opacity 0.4s 2s ease-in, -webkit-transform 0.5s 1s;
    transition: opacity 0.4s 2s ease-in, -webkit-transform 0.5s 1s;
    transition: opacity 0.4s 2s ease-in, transform 0.5s 1s;
    transition: opacity 0.4s 2s ease-in, transform 0.5s 1s, -webkit-transform 0.5s 1s; }
  .cd-hero__content--full-width h2,
  .cd-hero__content--full-width p {
    -webkit-transform: translateX(100px);
    -ms-transform: translateX(100px);
    transform: translateX(100px); }
  .cd-hero__slide--move-left .cd-hero__content--full-width h2,
  .cd-hero__slide--move-left .cd-hero__content--full-width p {
    -webkit-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    transform: translateX(-100px); }
  .cd-hero__slide--selected .cd-hero__content--full-width h2,
  .cd-hero__slide--selected .cd-hero__content--full-width p {
    /* this is the visible slide */
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  .cd-hero__slide--is-moving .cd-hero__content--full-width h2,
  .cd-hero__slide--is-moving .cd-hero__content--full-width p {
    /* this is the slide moving outside the viewport
    wait for the end of the transition on the li parent before set translate to 100px/-100px */
    -webkit-transition: -webkit-transform 0s 0.5s;
    transition: -webkit-transform 0s 0.5s;
    transition: transform 0s 0.5s;
    transition: transform 0s 0.5s, -webkit-transform 0s 0.5s; }
  .cd-hero__slide--selected h2 {
    -webkit-transition: -webkit-transform 0.5s 0.2s;
    transition: -webkit-transform 0.5s 0.2s;
    transition: transform 0.5s 0.2s;
    transition: transform 0.5s 0.2s, -webkit-transform 0.5s 0.2s; }
  .cd-hero__slide--selected p {
    -webkit-transition: -webkit-transform 0.5s 0.3s;
    transition: -webkit-transform 0.5s 0.3s;
    transition: transform 0.5s 0.3s;
    transition: transform 0.5s 0.3s, -webkit-transform 0.5s 0.3s; } }

/* Slider navigation */
.cd-hero__nav {
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: 2;
  text-align: center; }

.cd-hero__nav nav, .cd-hero__nav ul, .cd-hero__nav li, .cd-hero__nav a {
  height: 100%; }

.cd-hero__nav nav {
  display: inline-block;
  position: relative; }

.cd-hero__nav li {
  display: inline-block; }

.cd-hero__nav .cd-selected a {
  background-color: #fff; }

.cd-hero__nav .cd-selected a:hover {
  background-color: #fff; }

.cd-hero__nav a {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: rgba(0, 1, 1, 0.5);
  border: 2px solid #fff; }

.cd-hero__nav a:hover {
  background-color: transparent; }

@media only screen and (min-width: 768px) {
  .cd-hero__nav {
    height: 80px; } }

/* Javascript disabled */
.no-js .cd-hero__slide {
  display: none; }

.no-js .cd-hero__slide.cd-hero__slide--selected {
  display: block; }

.no-js .cd-hero__nav {
  display: none; }

@media only screen and (max-width: 760px) {
  .cd-hero__slide {
    background-position: center center !important; } }

.cd-hero__content h2 {
  text-align: left;
  color: #030303;
  font-family: 'Poppins', 'sans-serif';
  margin-left: 20px;
  font-size: 30px;
  font-weight: 400;
  padding-bottom: 8px !important; }

.cd-hero__content.cd-hero__content--full-width, .cd-hero__content.cd-hero__content--half-width {
  padding-top: 0; }

.cd-hero__content.cd-hero__content--full-width, .cd-hero__content.cd-hero__content--half-width {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column; }

.hero-cta-button {
  text-align: left;
  margin-left: 20px !important; }
  .hero-cta-button a {
    text-decoration: none;
    background-color: #FF8A00;
    color: #FFFFFF;
    font-size: 12px;
    font-family: 'Poppins','sans-serif';
    border-radius: 8px;
    border-color: #FF8A00;
    font-weight: 300; }

.audio-guide-mobile {
  justify-content: flex-end !important;
  align-items: flex-end !important; }

.cd-hero__slider {
  list-style-type: none; }

.cd-hero__slider .background {
  background: white;
  background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%); }

@media only screen and (max-width: 768px) {
  .audio-guide-mobile img {
    height: 50%; }
  .audio-guide-mobile {
    text-align: right; }
  .content-description-hero-slider {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-top: 80px !important;
    text-align: center;
    z-index: 2;
    height: 70% !important; }
    .content-description-hero-slider h2, .content-description-hero-slider .hero-cta-button {
      text-align: center; }
    .content-description-hero-slider h2 {
      font-size: 18px !important;
      width: 100%;
      margin: 0 auto;
      padding: 0 15px;
      margin-top: 8px;
      padding-bottom: 16px !important;
      font-weight: 600; }
    .content-description-hero-slider p {
      max-width: 100% !important; }
  .cd-hero__slider .background {
    background: white;
    background: linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%); } }

@media only screen and (min-width: 768px) {
  .cd-hero__content.cd-hero__content--half-width:first-of-type {
    left: 0;
    padding-left: 5%; } }

.hero-description {
  text-align: left;
  color: #030303 !important;
  width: 100% !important;
  line-height: 26px !important;
  margin: 0 24px !important;
  margin-bottom: 20px !important; }

@media only screen and (max-width: 767px) {
  .hero-description {
    padding-right: 35px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical; } }
