html {
  height: 100%;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}
* {
  margin: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* ==========================================================================
   Fonts
   ========================================================================== */
@font-face {
  font-family: 'garamond';
  src:  url('../fonts/AGaramondPro-Regular.woff2') format('woff2'),
        url('../fonts/AGaramondPro-Regular.woff') format('woff');
  font-style: normal;
}
/* ==========================================================================
   Styles
   ========================================================================== */
body {
  font-family: 'garamond';
  font-size: 20px;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  background-color: #040102;
  /* width: 100%; */
  height: 100%;
  overflow-x: hidden;
}

/* links */
a {
  color: #9b774d;
  text-decoration: none;
  position: relative;
}
a.animated:before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #9b774d;
  transform-origin: 50% 50%;
  opacity: .5;
  transform: scaleX(0);
  transition: opacity,transform .5s cubic-bezier(.25,.46,.45,.94);
  display: inline-block;
}
a.animated:hover:before {
  transform: scaleX(1);
}

/* footer always on the bottom */
.wrapper {
  min-height: 100%;
  margin-bottom: -50px; /* the bottom margin is the negative value of the footer's height */
  position: relative;
}
.wrapper:after {
  content: '';
  display: block;
}
footer,
.wrapper:after {
  height: 40px;
}

.wrapper:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  z-index: 1;
  pointer-events: none;
  /* background: radial-gradient(circle, transparent 50%, rgba(4,1,2,1) 80%); */
  background: linear-gradient(0deg,transparent,#040102);
}
/* header */
header {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  padding: 20px;
  position: relative;
  z-index: 1;
}
header .logo {
  width: 150px;
}
header .left,
header .right {
  flex: 1;
}
header .lang {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  font-size: 16px;
}
header .lang li {
  margin-left: 12px;
}
header .lang li:before {
  content: '/';
  padding-right: 10px;
  color: #9b774d;
}
header .lang li:first-child:before {
  display: none;
}
header .lang a {
  text-transform: uppercase;
  opacity: 0.5;
}
header .lang a.active {
  pointer-events: none;
  cursor: default;
  opacity: 1;
}

/* background */
.background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 0;
  overflow: hidden;
}
.background-image {
  height: 100%;
  text-align: center;
  position: relative;
}
.background-image img {
  position: absolute;
  top: 0;
  left: 50%;
  /* margin-top: -180px; */
  width: 100%;
  min-width: 2120px;
  /* height: 130%; */
  object-fit: cover;
  transform: translateX(-50%) scale(0.8);
}
.background canvas {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/* Content container */
.content-container {
  position: relative;
  z-index: 1;
  /* margin-top: 310px; */
  text-align: center;
}
.content-container:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: linear-gradient(0deg,#040102,transparent);
}
.content-container h1 {
  color: #e9e8e3;
  font-size: 17px;
  letter-spacing: 5.2px;
  text-transform: uppercase;
  margin: 0;
  position: relative;
  z-index: 1;
  max-width: 840px;
  padding: 0 20px;
  margin: 0 auto;
  margin-bottom: 40px;
}
.content-container p {
  color: rgba(233,232,227,.6);
  opacity: 1;
  position: relative;
  z-index: 1;
  max-width: 840px;
  padding: 0 20px;
  margin: 0 auto;
  margin-bottom: 10px;
}

/* contact */
.contact {
  z-index: 1;
  text-align: center;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  padding: 23px 0 23px 0;
  background-image: linear-gradient(transparent, #040102, #040102, #040102, #040102);
  /* margin-bottom: 20px; */
}
.contact a {
  font-size: 24px;
  /* text-transform: uppercase; */
  letter-spacing: 2px;
}
.contact a.animated:before {
  width: 97%;
}

/* footer */
footer {
  position: relative;
  z-index: 1;
  padding: 0 20px;
  font-size: 14px;
  display: flex;
  align-items: center;
}
footer ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  margin-top: 40px;
}
footer li {
  margin: 4px 0;
  /* width: max-content; */
}

/* wrong orientation screen */
.wrong-orientation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #040102;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.wrong-orientation svg {
  max-width: 300px;
  margin-bottom: 20px;
}
.wrong-orientation svg path {
  fill: #FFF;
}
.wrong-orientation svg path.cls-wrong {
  fill:none;
  stroke:#FFF;
}
.wrong-orientation p {
  color: #FFF;
  font-size: 20px;
}
@media screen and (orientation: landscape) and (max-device-width: 768px) {
  header .logo {
    width: 150px;
  }
  .wrong-orientation {
    display: flex;
  }
}

.content-text-container {
  position: relative;
  z-index: 1;
  max-width: 800px;
  padding: 0 20px;
  margin: 100px auto 40px auto;
  text-align: left;
}
.content-text-container h1 {
  color: #e9e8e3;
  font-size: 17px;
  letter-spacing: 5.2px;
  text-transform: uppercase;
  margin: 0;
  margin-bottom: 40px;
  text-align: center;
}
.content-text-container p {
  color: rgba(233,232,227,.6);
  opacity: 1;
  margin: 0;
  margin-bottom: 10px;
}
.content-text-container p span {
  display: block;
  margin-bottom: 12px;
}

.important-word {
  white-space: nowrap;
}

iframe {
  opacity: 0;
}

/* ---------------------------------------------- */
/* responsive rules */
/* ---------------------------------------------- */
.background canvas {
  margin-top: -100px;
}
.content-container {
  margin-top: 40vh;
}
.background-image img {
  margin-top: -180px;
  height: 130%;
}

@media only screen and (max-width: 350px) {
  header .logo {
    width: 100px;
  }
  .background-image img {
    margin-top: -120px;
  }
  .background canvas {
    margin-top: -60px;
  }
}
@media only screen and (min-height: 768px) {
  .background-image img {
    margin-top: -80px;
    height: 100%;
  }
}
@media only screen and (min-height: 1000px) {
  .content-container {
    margin-top: 50vh;
  }
}
@media only screen and (min-height: 1200px) {
  .content-container {
    margin-top: 55vh;
  }
}

@media only screen and (min-width: 768px) {
  header .logo {
    width: 150px;
  }
  footer ul {
    margin-top: 20px;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
  }
  footer li {
    margin-right: 40px;
  }
  .content-container p span.line {
    display: block;
  }
}

@media only screen and (min-width: 1600px) {
  header .logo {
    width: 150px;
    margin-top: 50px;
  }
  .content-container {
    margin-top: 45vh;
  }
  .background-image img {
    min-width: 2470px;
  }
}


/* fix stats display (remove bottom margin) */
img[width="1"], iframe {
  position: absolute;
}
