* {
  box-sizing: border-box;
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */
}

html {
  font-size: 1.9vmin;
}

body {
  width: 100vw;
  height: 100vh;
  font-family: 'Cinzel', sans-serif;
  color: whitesmoke;
  background: #402918; /* fallback for old browsers */
  background: -webkit-linear-gradient(to bottom, #402918, #190c0c); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to bottom, #402918, #190c0c); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  overflow: hidden;
}

.farewell-page-background {
  position: relative;
  width: 100%;
  height: 100%;
}

.video-background {
  position: fixed;
  height: 100vh;
  width: 100vw;
  left: 0;
  top: 0;
  overflow: hidden;
}

.video-background__video {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover; /*contain*/
}

.video-background__mask {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.65);
}

.farewell-page {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  max-width: 960px;
  width: 75vw;
  height: 100vh;
  padding-top: 5vh;
}

.farewell-page__logo {
  position: relative;
  max-width: 60%;
  left: 50%;
  transform: translateX(-50%);
}

.farewell-page__scroll-container {
  min-height: 43vh;
  max-height: 68vh;
  overflow-x: hidden;
  overflow-y: auto;
}

.farewell-page__description-title {
  cursor: pointer;
  text-align: center;
  border-top: whitesmoke thin solid;
  border-bottom: whitesmoke thin solid;
  font-size: 1.8rem;
  transition: all 0.5s;
}

.farewell-page__description-title:hover {
  color: #ef6b00;
  border-color: #ef6b00;
}

.farewell-page__description {
  position: relative;
  cursor: pointer;
  font-family: 'Kavivanar', cursive;
  font-size: 1.4rem;
  transition: all 0.5s;
}

.farewell-page__description-paragraph {
  padding: 0 0.5vw 0 2vw;
}

.farewell-page__description-paragraph:hover {
  transition: all 0.5s;
  background-color: #ef6b00;
}

.recommendation-list {
  position: relative;
  width: 100%;
}

.recommendation-list__list {
  list-style-type: none;
  padding: 0 0 0 3vw;
}

.recommendation-list__element {
  cursor: pointer;
  font-size: 1.5rem;
  transition: all 0.5s;
  border-bottom: whitesmoke thin solid;
}

.recommendation-list__element:hover {
  color: #ef6b00;
}

.recommendation-list__element-header {
  padding: 0;
}

.recommendation-list__element-pointer {
  font-family: 'Font Awesome 5 Free', sans-serif;
  font-weight: 900;
  width: 1.3em; /* same as padding-left set on li */
}

.recommendation-list__element:nth-child(even) .recommendation-list__element-pointer {
  color: #ef6b00;
}

.recommendation-list__header {
  text-align: center;
  border-top: whitesmoke thin solid;
  border-bottom: whitesmoke thin solid;
  font-size: 1.8rem;
  cursor: pointer;
  transition: all 0.5s;
}

.recommendation-list__header:hover {
  color: #ef6b00;
  border-color: #ef6b00;
}

.recommendation-list__description {
  position: relative;
  transition: all 0.5s;
  font-family: 'Kavivanar', cursive;
  color: whitesmoke;
}

.recommendation-list__description-paragraph {
  transition: all 0.5s;
  padding: 0 0.5vw;
}

.recommendation-list__description-paragraph:hover {
  background-color: #ef6b00;
}

.global--in-active, .global--in-active * {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.farewell-page-footer {
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  font-family: 'Kavivanar', cursive;
  border-top: whitesmoke thin solid;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 2.5vh 0 1vh 0;
}

.farewell-page-footer__text {
  position: relative;
  width: 100%;
  text-align: center;
  flex: 0 0 auto;
  padding: 0;
  margin: 0;
}

.farewell-page-footer__heart {
  font-family: 'Font Awesome 5 Free', sans-serif;
  font-weight: 900;
  font-size: 0.8em;
}

.farewell-page-footer__signature {
  position: relative;
  width: 100%;
  text-align: right;
  color: #ef6b00;
  flex: 0 0 auto;
  padding: 0;
  margin: 0;
}

.certificate {
  position: relative;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 40%;
  max-width: 256px;
}

.certificate__image {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.certificate__link {
  display: block;
  position: relative;
  width: 100%;
  text-align: center;
  color: #ef6b00;
  padding: 1vh 0;
  text-decoration: none;
  transition: all 0.5s;
}

.certificate__link:hover {
  text-decoration: underline;
  transform: scale(1.05);
}

.certificate__link-icon {
  display: inline-block;
  font-family: 'Font Awesome 5 Free', sans-serif;
  font-weight: 900;
  text-decoration: none;
}

.farewell-page__scroll-container {
  scrollbar-color: #ef6b00 grey; /*handle track*/
  scrollbar-width: auto; /*auto | thin | none */
}

/* width */
::-webkit-scrollbar {
  width: 18px;
}

/* handle */
::-webkit-scrollbar-thumb {
  background: #ef6b00;
}

/* track */
::-webkit-scrollbar-track {
  background: grey;
}

/* handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #086438;
}

@media screen and (max-width: 50em) {
  html {
    font-size: 3.8vmin;
  }

  .farewell-page {
    max-width: none;
    width: 95vw;
  }

  .farewell-page__scroll-container {
    max-height: none;
    height: 72vh;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .recommendation-list__list {
    padding: 0;
  }

  .certificate {
    width: 100%;
  }

  .farewell-page-footer {
    position: relative;
    width: 100%;
    font-size: 1.3rem;
  }

  @media screen and (orientation: portrait) {
    .video-background {
      position: fixed;
      height: calc(1.3 * 100vw);
      width: 100vw;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      overflow: hidden;
    }
  }

  @media screen and (orientation: landscape) {
    html {
      font-size: 3vmin;
    }

    .farewell-page__scroll-container {
      height: 66vh;
    }

    .farewell-page__logo {
      height: 48px;
    }

    .farewell-page__description-title, .recommendation-list__header {
      margin: 0.2em 0;
    }

    .certificate {
      width: 30%;
    }
  }
}

@media screen and (min-width: 2048px) {
  .farewell-page {
    max-width: 1200px;
  }
}

@media screen and (min-width: 3656px) {
  .farewell-page {
    max-width: 1920px;
  }
}