/* ----- Unforgettable Entertainment ----- */

/* ----- Global Settings -------------------------------------------------------------------------------- START */

@import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,700,900&display=swap');

:root {
  --packshotLeftWidth: 2112px;
  --packshotRightWidth: 2112px;
  --siteLogo: 512px;
  --siteLogoOffset: 384px;
}

* {
  font-family: 'Montserrat', sans-serif;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  min-width: 320px;
  overflow-x: hidden;
  width: 100vw;
  height: 100%;
}

body {
  max-width: 100vw;
  height: 100vh;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  margin: 0;
  background-color: rgb(216, 216, 216);
  font-size: 16px;
  line-height: 1.5em;
  color: rgb(33, 33, 33);
}

.wrapper {
  margin: 0 auto;
  max-width: 768px;
  padding: 0 2rem 2rem 2rem;
}

main {
  flex-grow: 1;
}

.align.center {
  text-align: center;
  flex-shrink: 0;
}

.infoPage #siteLogo {
  width: 512px;
  margin: 3rem auto 0 !important;
}

.infoPage .mainBackground {
  background-attachment: fixed;
}

a.button,
footer a {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  color: white;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  padding: 12px 24px 12px;
  transition: all 0.3s;
  margin-bottom: 8px;
  border: none;
}

a.button:hover,
footer a:hover {
  background-color: rgba(255, 255, 255, 1);
  color: rgb(64, 36, 87);
}

/* ----- Global Settings -------------------------------------------------------------------------------- END */

.boxed-text {padding: 24px; border: 1px solid black;}

/* ----- Top Block ------------------------------------------------------------------------------------- START */

.mainBackground {
  background-image: url(images/backgrounds/background.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
}
/*
@media (orientation: landscape) {
  .mainBackground {
    background-image: url(images/backgrounds/background-landscape.jpg);
  }
}
@media (orientation: portrait) {
  .mainBackground {
    background-image: url(images/backgrounds/background-portrait.jpg);
  }
}
*/
#topText {
  max-width: 712px;
  margin: 0 auto;
}

#topText h2 {
  text-align: center;
  font-size: 1.6rem;
  text-transform: uppercase;
}

#topText h3 {
  text-align: center;
  font-size: 1.4rem;
}

#topIntro {
  font-size: 1rem;
  padding: 0 2.5rem 3rem;
}

#topIntro h1 {
  text-transform: uppercase;
  text-align: center;
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 900;
  letter-spacing: 0.24rem;
}

sup {
  font-size: 1rem;
}

#stepList {
  margin: 0;
  padding: 0;
  list-style: none;
}

#stepList p {
  /*padding-left: 0%;
  padding-right: 1%;*/
  margin-top: 0;
}

#stepList > li {
  /* background-color: rgba(255, 255, 255, 0.05);
  border-radius: 8px; */
  padding: 0rem;
  margin-bottom: 2rem;
}
#stepList .h2 {
  margin: 0;
  font-weight: bold;
}

#stepList h3 {
  font-size: 1.2rem;
  /* width: 64px;
  height: 64px;
  line-height: 64px;
  padding-left: 1%;
  padding-right: 1%; */
  border-radius: 50%;
  margin: 0 auto;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
}

#stepList #retailers {
  margin-bottom: 1rem;
}

#stepsBullets {
  margin: 4rem 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

#stepsBullets li h2 {
  margin: 0;
  font-size: 1.5rem;
}

#stepsBullets li:last-child h2 {
  font-size: 1.8rem;
  margin-bottom: 2rem;
}

.cta {
  text-align: center;
  padding: 1rem 0 0rem;
}

.button-primary {
  background-color: #333333;
  border-radius: 8px;
  color: #d8b23b;
  text-decoration: none;
  text-transform: uppercase;
  padding: 0.7rem 2rem 0.6rem 2rem;
  font-weight: 700;
}

/* ----- Tagline -------------------------------------------------------------------------------------------- START */

#tagline {
  text-align: center;
  text-transform: uppercase;
  padding: 1rem 0 0 0;
  margin: 0;
}

#tagline h2 {
  font-size: 2.5rem;
  line-height: 1.25em;
}

/* ----- Tagline -------------------------------------------------------------------------------------------- END */

/* ----- Top Left & Right Packshots -------------------------------------------------------------------------------- START */
#topLogoAndPackshots {
  width: calc(var(--packshotLeftWidth) + var(--packshotRightWidth) + var(--siteLogo));
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-wrap: nowrap;
  padding-top: 3rem;
}

#siteLogo {
  width: var(--siteLogo);
  margin: 0 auto;
}

#siteLogo img {
  height: auto;
  margin: 0rem auto 1rem;
  display: block;
  cursor: pointer;
  width: 80%;
  transition: width 0.3s;
}

#siteLogo h1 {
  margin-top: -1.5rem;
}

#packshotsLeft {
  display: flex;
  width: var(--packshotLeftWidth);
}

#packshotsRight {
  display: flex;
  width: var(--packshotRightWidth);
}

#packshotsLeft div {
  margin-right: 16px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}

#packshotsRight div {
  margin-left: 16px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}

#packshotsMobile {
  display: none;
}

/* ----- Top Left & Right Packshots -------------------------------------------------------------------------------- END */

.arrow {
  position: relative;
  bottom: -2rem;
  left: 50%;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  background-image: url(images/arrow_down.svg);
  background-size: contain;
  fill: red;
}

.arrow .svg {
  fill: white;
}

.bounce {
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}

/* ----- Top Block --------------------------------------------------------------------------------------------- END */

/* ----- Retailer logos ---------------------------------------------------------------------------------------- START */

.retailers {
  margin: 1rem auto 2rem auto;
}

#retailerLogos {
  margin: 0 auto;
  padding: 0;
  font-size: 0;
  list-style: none;
  max-width: 768px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#retailerLogos li {
  display: inline-block;
  box-sizing: border-box;
  margin: 0.5%;
  padding: 0;
  width: 32%;
  height: 64px;
  border-radius: 8px;
  text-align: center;
  overflow: hidden;
  cursor: pointer;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  background-size: 100% auto;
  background-color: rgb(220, 220, 220);
  background-repeat: no-repeat;
  background-position: center center;
  transition: box-shadow 0.3s;
}

#retailerLogos li:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* ----- Retailer logos -------------------------------------------------------------------------------- END */

/* ----- Scrolling Packshots --------------------------------------------------------------------------- START */

#scrollingPackshotsContainer {
  width: 100%;
  overflow: hidden;
  position: relative;
}

#photobanner {
  height: 480px;
  width: calc(22 * 160px);
  overflow: hidden;
}

#photobanner .packshotsCol {
  height: 480px;
  width: 160px;
  display: inline-block;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.packshotsCol div,
#packshotsLeft div,
#packshotsRight div {
  width: 160px;
  height: 240px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.packshotsCol div {
  margin: 10px 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
  margin: 0;
  box-shadow: none;
}

.packshotsCol div.offset {
  margin-left: 0;
}

#photobanner > div > img {
  height: 240px;
  width: auto;
  display: block;
}

.first {
  -webkit-animation: bannermove 60s linear infinite;
  -moz-animation: bannermove 60s linear infinite;
  -ms-animation: bannermove 60s linear infinite;
  -o-animation: bannermove 60s linear infinite;
  animation: bannermove 60s linear infinite;
}

@keyframes bannermove {
  0% {
    margin-left: 0px;
  }
  100% {
    margin-left: calc(-160px * 11);
  }
}

@-moz-keyframes bannermove {
  0% {
    margin-left: 0px;
  }
  100% {
    margin-left: calc(-160px * 11);
  }
}

@-webkit-keyframes bannermove {
  0% {
    margin-left: 0px;
  }
  100% {
    margin-left: calc(-160px * 11);
  }
}

@-ms-keyframes bannermove {
  0% {
    margin-left: 0px;
  }
  100% {
    margin-left: calc(-160px * 11);
  }
}

@-o-keyframes bannermove {
  0% {
    margin-left: 0px;
  }
  100% {
    margin-left: calc(-160px * 11);
  }
}

/* ----- Scrolling Packshots ----------------------------------------------------------------------- END */

/* ----- Copyrights -------------------------------------------------------------------------------- START */

#copyrights {
  font-size: 0.7rem;
  text-align: center;
  color: rgba(33, 33, 33, 0.5);
  margin: 1rem auto 3.25rem;
}

#copyrights span {
  display: inline-block;
  margin: 0 8px;
}

/* ----- Copyrights -------------------------------------------------------------------------------- END */

/* ----- Footer ------------------------------------------------------------------------------------ START */

footer {
  background-color: rgb(33, 33, 33);
  font-size: 0.75rem;
  font-weight: 500;
  color: white;
  margin: 0;
  padding: 12px 16px;
  overflow: auto;
  flex-shrink: 0;
  text-align: center;
}

footer ul {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

footer ul li {
  display: inline-block;
  margin-right: 8px;
}

footer ul li:last-child {
  padding: 3px 0;
  margin: 0;
  width: 100%;
}

footer ul li a {
  font-size: 0.75rem;
  text-decoration: none;
  color: white;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  padding: 6px 24px;
  transition: all 0.3s;
  margin-bottom: 8px;
}

footer ul li a:hover,
#home #home-button,
#impressum #impressum-button,
#privacy #privacy-button,
#terms #terms-button,
#cookies #cookies-button {
  background-color: rgba(255, 255, 255, 1);
  color: rgb(64, 36, 87);
}

/* ----- Footer -------------------------------------------------------------------------------- END */

/* ----- Privacy, Terms & Cookies -------------------------------------------------------------------------------- START */

.text-page {
  padding: 0 0 4rem;
}

.text-page h2 {
  margin: 3rem 0 1rem;
  line-height: 1.8rem;
}

.text-page p {
  margin: 1rem 0;
}

.text-page a {
  color: rgb(33, 33, 33);
  text-decoration: underline;
  font-weight: 700;
}

/* ----- Privacy, Terms & Cookies ----------------------------------------------------------------------- END */

/* ----- Media Queries ----- */

@media screen and (max-width: 1366px) {
  :root {
    --packshotLeftWidth: 2112px;
    --packshotRightWidth: 2112px;
    --siteLogo: 512px;
  }
  /*
  #siteLogo img {
    margin: 1rem auto 1rem;
    width: 80%;
  }*/
}

@media screen and (max-width: 1024px) {
  :root {
    --packshotLeftWidth: 2112px;
    --packshotRightWidth: 2112px;
    --siteLogo: 480px;
  }
  #siteLogo img {
    margin: 0.5rem auto 1rem;
    width: 80%;
  }
}

@media screen and (max-width: 640px) {
  :root {
    --packshotLeftWidth: 2112px;
    --packshotRightWidth: 2112px;
    --siteLogo: 480px;
  }

  main.wrapper {
    padding-top: 0;
  }

  .infoPage #siteLogo {
    width: 100%;
    margin: 3rem auto 0 !important;
  }

  #topBlock {
    padding: 0 1rem 2rem;
  }

  #topIntro {
    padding: 0 1rem 3rem;
  }

  #topLogoAndPackshots {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: initial;
    left: auto;
    top: 0;
    transform: none;
    padding-top: 0;
  }

  #packshotsLeft,
  #packshotsRight {
    display: none;
  }

  #packshotsMobile {

    display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 100%;
  }

  #packshotsMobile div {
   

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
width: 33.33333%;
padding-top: 50%;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;

  }

  #siteLogo img {
    margin: 3.5rem auto 2rem;
    width: 80%;
  }

  #retailerLogos li {
    width: 49%;
    background-size: 90% auto;
  }
  #retailerLogos li.badge {
    background-size: 70% auto;
  }
}

@media screen and (max-width: 512px) {
  #retailerLogos li {
    width: 49%;
    background-size: 90% auto;
  }
  #retailerLogos li.badge {
    background-size: 80% auto;
  }
}

@media screen and (max-width: 414px) {
  #retailerLogos li {
    width: 49%;
    background-size: 100% auto;
    height: 48px;
  }
  #retailerLogos li.badge {
    background-size: 90% auto;
  }
}

@media screen and (max-width: 320px) {
  #retailerLogos li {
    width: 49%;
    background-size: 100% auto;
    height: 48px;
  }
  #retailerLogos li.badge {
    background-size: 110% auto;
  }
}
