@font-face {
  font-family: "Sofia Pro";

  src: url("../fonts/SofiaPro-SemiBold.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Sofia ProLight";

  src: url("../fonts/SofiaPro-Light.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Wulcan Bold";

  src: url("../fonts/wulcan_display_bold.woff") format("woff");

  font-weight: 400;

  font-style: normal;
}

@font-face {
  font-family: "Wulcan LightItalic";

  src: url("../fonts/wulcan_display_light_italic.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Wulcan Regular";

  src: url("../fonts/wulcan_display_regular.woff") format("woff");

  font-weight: normal;

  font-style: normal;
}

@font-face {
  font-family: "Lab Antiqua";

  src: url("../fonts/LabAntiqua-Small.woff2") format("woff");

  font-weight: 400;

  font-style: normal;
}

/* Reset CSS

 * --------------------------------------- */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  padding: 0;

  margin: 0;
}

html {
  height: 100%;
}

body {
  background-color: black;

  height: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  padding: 0;

  margin: 0;
}

a {
  text-decoration: none;
}

table {
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-weight: normal;

  font-style: normal;
}

strong {
  font-weight: bold;
}

ol,
ul {
  list-style: none;

  margin: 0;

  padding: 0;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;

  font-size: 100%;

  margin: 0;

  padding: 0;

  color: #444;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
}

.wrap {
  margin-left: auto;

  margin-right: auto;

  width: 960px;

  position: relative;
}

h1 {
  font-size: 6em;
}

p {
  font-size: 2em;
}

.intro p {
  width: 50%;

  margin: 0 auto;

  font-size: 1.5em;
}

.section {
  text-align: center;
}

#menu li {
  display: inline-block;

  margin: 10px;

  color: #000;

  background: #fff;

  background: rgba(255, 255, 255, 0.5);

  -webkit-border-radius: 10px;

  border-radius: 10px;
}

#menu li.active {
  background: #666;

  background: rgba(0, 0, 0, 0.5);

  color: #fff;
}

#menu li a {
  text-decoration: none;

  color: #000;
}

#menu li.active a:hover {
  color: #000;
}

#menu li:hover {
  background: rgba(255, 255, 255, 0.8);
}

#menu li a,
#menu li.active a {
  padding: 9px 18px;

  display: block;
}

#menu li.active a {
  color: #fff;
}

#menu {
  position: fixed;

  top: 0;

  left: 0;

  height: 40px;

  z-index: 70;

  width: 100%;

  padding: 0;

  margin: 0;
}

.twitter-share-button {
  position: fixed !important;

  z-index: 99;

  right: 149px;

  top: 9px;
}

#infoMenu {
  height: 20px;

  color: #f2f2f2;

  position: fixed;

  z-index: 70;

  bottom: 0;

  width: 100%;

  text-align: right;

  font-size: 0.9em;

  padding: 8px 0 8px 0;
}

#infoMenu ul {
  padding: 0 40px;
}

#infoMenu li a {
  display: block;

  margin: 0 22px 0 0;

  color: #333;
}

#infoMenu li a:hover {
  text-decoration: underline;
}

#infoMenu li {
  display: inline-block;

  position: relative;
}

#examplesList {
  display: none;

  background: #282828;

  -webkit-border-radius: 6px;

  -moz-border-radius: 6px;

  border-radius: 6px;

  padding: 20px;

  float: left;

  position: absolute;

  bottom: 29px;

  right: 0;

  width: 822px;

  text-align: left;
}

#examplesList ul {
  padding: 0;
}

#examplesList ul li {
  display: block;

  margin: 5px 0;
}

#examplesList ul li a {
  color: #bdbdbd;

  margin: 0;
}

#examplesList ul li a:hover {
  color: #f2f2f2;
}

#examplesList .column {
  float: left;

  margin: 0 20px 0 0;
}

#examplesList h3 {
  color: #f2f2f2;

  font-size: 1.2em;

  margin: 0 0 15px 0;

  border-bottom: 1px solid rgba(0, 0, 0, 0.4);

  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);

  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);

  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);

  padding: 0 0 5px 0;
}

/* Demos Menu

 * --------------------------------------- */

#demosMenu {
  position: fixed;

  bottom: 10px;

  right: 10px;

  z-index: 999;
}

/* Buttons

 * --------------------------------------- */

#download a {
  text-decoration: none;
}

#download,
#download:hover {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.button {
  margin: 20px 0 0 0;

  vertical-align: middle;

  display: inline-block;
}

.button a {
  color: #fff;

  background: rgba(0, 0, 0, 0.4);

  padding: 15px 30px;

  border-radius: 5px;

  display: inline-block;
}

.button a:hover {
  color: #316f68;

  background-color: #fff;
}

/* Extensions preview menu

 * --------------------------------------- */

.preview-extensions-menu {
  position: fixed;

  top: 0;

  right: 0;

  z-index: 99;

  border-top: 0;

  box-shadow: 1px 0px 3px rgba(0, 0, 0, 0.8);
}

.preview-extensions-menu li {
  display: inline-block;

  margin: 0;
}

.preview-extensions-menu li a {
  padding: 15px 25px;

  display: block;
}

.preview-buy-extension {
  background: #3cc63c;
}

.preview-more-extensions {
  background: #fff;
}

.preview-buy-extension a {
  color: #fff;
}

.preview-buy-extension:hover {
  background-color: #1a961a;
}

.preview-more-extensions a {
  color: #333;
}

.code {
  background: rgba(255, 255, 255, 0.7);

  padding: 0px 5px;

  line-height: 25px;
}

/* custom css */

.fp-watermark {
  display: none;
}

.title {
  text-align: center;

  width: 100vw;

  color: white;

  text-shadow: 0.5px 0.5px 1px rgb(0 0 0 / 20%);

  z-index: 1;

  -webkit-transform: translate3d(0, 0, 0);

  -ms-transform: translate3d(0, 0, 0);

  transform: translate3d(0, 0, 0);

  display: none;

  top: 50%;

  position: absolute;

  transform: translateY(-50%);
}

.video-title {
  font-family: "Wulcan Bold", Arial, Helvetica, sans-serif;

  font-weight: normal;

  font-style: normal;

  text-decoration: none;

  line-height: 1.4em;

  cursor: pointer;

  display: inline-block;

  z-index: 1;

  display: none;

  display: flex;

  justify-content: center;

  /* -moz-transition: all 0.3s;

	transition: all 0.3s; */
}

.video-title span.down {
  font-family: "Wulcan LightItalic", Arial, Helvetica, sans-serif;

  text-transform: uppercase;
}

.video-title span.up {
  font-family: "Wulcan Regular", Arial, Helvetica, sans-serif;

  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);

  position: relative;

  text-transform: uppercase;
}

.video-title span.up::before {
  transform: scaleX(0);

  transform-origin: left;
}

.video-title span.up::before,
.video-title span.up::after {
  position: absolute;

  content: "";

  left: 0;

  bottom: 0;

  display: block;

  width: 100%;

  height: 2px;

  background: #f2f2f2;

  transition: 1.1s var(--ease-out-expo);
}

.video-title span.up::after {
  transform-origin: right;

  transition-delay: 0.25s;
}

.video-title span.up,
.video-title span.down {
  letter-spacing: -3px;
  display: block;
  transform: scaleY(0.88);
}

#slide1 span.up {
  font-size: 72px;
  line-height: 72px;
}

#slide1 span.down {
  font-size: 40px;
  line-height: 40px;
  margin-top: -4px;
}

#slide2 span.up {
  font-size: 50px;
  line-height: 50px;
}

#slide2 span.down {
  font-size: 70px;
  padding-top: 15px;
}

#slide3 span.up {
  font-size: 60px;

  line-height: 60px;
}

#slide3 span.down {
  font-size: 42px;

  padding-top: 5px;
}

#slide4 span.up {
  font-size: 70px;

  line-height: 70px;
}

#slide4 span.down {
  font-size: 50px;

  padding-top: 9px;
}

#slide5 span.up {
  font-size: 73px;
  line-height: 75px;
  padding-left: 3px;
}

#slide5 span.down {
  font-size: 52px;
  margin-top: 4px;
}

#slide5 span.up::after,
#slide5 span.up::before {
  bottom: 4px !important;
}

#slide6 span.up {
  font-size: 100px;

  line-height: 100px;
}

#slide6 span.down {
  font-size: 46px;
}

#slide6 span.up::after,
#slide6 span.up::before {
  bottom: 5px !important;
}

#slide7 span.up {
  font-size: 60px;

  line-height: 60px;
}

#slide7 span.down {
  font-size: 105px;

  line-height: 105px;

  margin-top: -14px;
}

#slide8 span.up::after,
#slide8 span.up::before {
  bottom: 4px !important;
}

#slide8 span.up {
  font-size: 93px;

  line-height: 93px;

  padding: 0px 4px;
}

#slide8 span.down {
  font-size: 42px;
}

.video-title > span:hover span.up::before {
  transform: scaleX(1);

  transition-delay: 0.25s;
}

.video-title > span:hover span.up::after {
  transform: scaleX(0);

  transition-delay: 0s;
}

video {
  width: 100vw;

  height: 100vh;

  object-fit: cover;

  z-index: 0;
}

.video-title-wrapper {
  margin-bottom: 25px;
}

.video-title-list {
  text-decoration: none;

  cursor: pointer;

  display: flex;

  justify-content: center;

  z-index: 1;

  padding-bottom: 5px;

  width: 100%;
}

.video-title-list > div {
  line-height: normal;
}

.categories {
  font-family: "Sofia Pro", Arial, Helvetica, sans-serif;

  font-weight: normal;

  font-style: italic;

  font-size: 20px;

  letter-spacing: 1px;

  color: white;

  z-index: 1;

  text-align: center;

  margin-top: 15px;

  margin-bottom: 35px;
}

.video-title-list a:hover {
  cursor: default !important;
}

.swipebox:hover {
  cursor: pointer;
}

.video-title-leftclip {
  font-size: 20px;

  line-height: 20px;

  text-align: center;

  font-family: "Wulcan Regular", Arial, Helvetica, sans-serif;

  transform: scaleY(0.88);

  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);

  position: relative;

  text-transform: uppercase;
}

.video-title-leftclip::before,
.video-title-leftclip::after {
  position: absolute;

  content: "";

  left: 0;

  bottom: 1px;

  display: block;

  width: 100%;

  height: 1px;

  background: #f2f2f2;

  transition: 1.1s var(--ease-out-expo);
}

.video-title-leftclip::before {
  transform: scaleX(0);

  transform-origin: left;
}

.video-title-leftclip::after {
  transform-origin: right;

  transition-delay: 0.25s;
}

.video-title-list > span:hover .video-title-leftclip::before {
  transform: scaleX(1);

  transition-delay: 0.25s;
}

.video-title-list > span:hover .video-title-leftclip::after {
  transform: scaleX(0);

  transition-delay: 0s;
}

.video-title > span:hover {
  opacity: 0.8;

  transition: all 0.5s ease-in-out;
}

.video-title-list > span:hover {
  opacity: 0.6;
}

.video-title-rightclip {
  line-height: 21px;

  font-size: 21px;

  display: block;

  text-align: center;

  font-family: "Wulcan LightItalic", Arial, Helvetica, sans-serif;

  transform: scaleY(0.88);

  text-transform: uppercase;
}

#slide1 {
  opacity: 0;
}

.background-music-video,
.background-commercial {
  background-position: center center;

  background-size: cover;

  height: 100vh;

  width: 100vw;

  mix-blend-mode: screen;

  position: fixed;

  overflow: hidden;

  z-index: -1;

  background-color: black;

  top: 0;

  opacity: 0;

  -moz-transition: all 0.4s;

  transition: all 0.4s;
}

#slide9.active,
#slide10.active,
#slide11.active {
  transition: all 1s ease-in-out !important;
}

.blended {
  opacity: 0.4 !important;

  z-index: 1 !important;
}

.thumbnail-visible {
  opacity: 1 !important;
}

.all {
  font-family: "Sofia Pro", Arial, Helvetica, sans-serif;

  font-weight: normal;

  font-style: normal;

  font-size: 14px;

  letter-spacing: 1px;

  color: white;

  position: fixed;

  z-index: 5;

  bottom: 13px;

  cursor: pointer;

  left: 17px;

  padding: 0.25rem;

  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

  border-radius: 5px;
}

.all:hover,
.diary-contact:hover,
.back:hover {
  opacity: 0.5 !important;
}

.contact {
  right: 17px;

  bottom: 13px;
}

.diary-contact {
  font-family: "Sofia Pro", Arial, Helvetica, sans-serif;

  font-weight: normal;

  font-style: normal;

  font-size: 13px;

  letter-spacing: 1px;

  color: white;

  position: fixed;

  z-index: 5;

  cursor: pointer;

  padding: 0.25rem;

  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

  border-radius: 5px;
}

.diary {
  left: 30px;

  bottom: 30px;
}

.back {
  font-family: "Sofia Pro", Arial, Helvetica, sans-serif;

  font-weight: bold;

  font-style: normal;

  font-size: 14px;

  letter-spacing: 1px;

  color: white;

  position: fixed;

  z-index: 5;

  bottom: 13px;

  cursor: pointer;

  left: 17px;

  display: none;

  padding: 0.25rem;

  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

  border-radius: 5px;
}

#fullpage {
  display: none;
}

.fullpage-fix {
  -webkit-transition: all 700ms ease !important;

  transition: all 700ms ease !important;
}

.diary-active {
  left: 0 !important;
}

.move-left {
  right: 100% !important;

  left: -100% !important;
}

.move-right {
  left: 100% !important;

  right: -100% !important;
}

.move-left-0 {
  left: 0% !important;
}

.contact-page {
  width: 100vw;

  height: 100vh;

  z-index: 4;

  position: relative;

  -moz-transition: all 0.4s ease;

  transition: all 0.4s ease;

  font-family: "Sofia ProLight", Arial, Helvetica, sans-serif;
}

.contact-active {
  right: 0 !important;
}

.contact-page video {
  width: 100vw;

  height: 100%;

  top: 0;

  left: 0;

  object-fit: cover;

  z-index: 0;

  position: absolute;
}

.contact-wrapper {
  color: white;

  text-align: center;

  /* top: 50%; */

  position: relative;

  /* transform: translateY(-50%); */

  line-height: 2;

  width: 64%;

  max-width: 1000px;

  margin-left: auto;

  margin-right: auto;

  z-index: 999999;
}

.contact-wrapper > div {
  display: flex;
}

.contact-label {
  text-align: left;

  width: 60%;
}

.contact-form {
  width: 40%;

  text-align: left;

  padding-left: 40px;
}

.contact-desc {
  line-height: 24px;

  font-size: 15px;
}

.contact-text {
  font-size: 80px;

  font-weight: bold;

  text-shadow: 3px 1px 2px #008068;

  font-family: "Wulcan Bold", Arial, Helvetica, sans-serif !important;

  transform: scaleY(0.88);
}

.loading-wrapper {
  height: 100%;

  width: 100%;

  display: flex;

  justify-content: center;

  z-index: 999;

  position: relative;
}

.loading-wrapper img {
  width: 100px;
}

.contact-page input,
.contact-page textarea {
  width: 100%;

  background: transparent;

  border: none;

  border-bottom: 2px solid #686868;

  padding: 5px;

  padding-left: 0px;

  outline: none;

  color: #686868;

  caret-color: #686868;

  font-size: 17px;

  font-family: "Sofia ProLight";
}

.submit-btn {
  font-size: 15px;

  color: white;

  height: 30px;

  outline: none;

  text-align: center;

  width: 130px;

  border-radius: 40px;

  background: transparent;

  border: 2px solid white;

  color: white;

  letter-spacing: 2px;

  text-shadow: 0;

  font-size: 12px;

  font-weight: bold;

  cursor: pointer;

  transition: all 0.25s ease;
}

.submit-btn:hover {
  color: black;

  background: white;
}

.submit-btn:active {
  letter-spacing: 2px;
}

.submit-btn:after {
  content: " Submit ";
}

.submit-btn-onclick {
  width: 30px;

  border-color: #4a4a4a;

  border-width: 3px;

  font-size: 0;

  border-left-color: white;

  -webkit-animation: rotating 2s 0.25s linear infinite;

  animation: rotating 2s 0.25s linear infinite;
}

.submit-btn-onclick:after {
  content: "";
}

@-webkit-keyframes rotating {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes rotating {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.submit-wrapper hr {
  width: 20px;

  display: inline-block;
}

.submit-wrapper {
  text-align: center;

  margin-top: 8px;

  display: flex;

  flex-flow: row;

  justify-content: center;

  align-items: center;
}

.submit-wrapper:hover {
  opacity: 0.8;
}

.fp-controlArrow {
  display: none !important;
}

.control-arrow {
  -webkit-user-select: none;

  -moz-user-select: none;

  -khtml-user-select: none;

  -ms-user-select: none;

  position: absolute;

  z-index: 4;

  top: 50%;

  width: 20px;

  cursor: pointer;

  border-style: solid;

  margin-top: -38px;

  -webkit-transform: translate3d(0, 0, 0);

  -ms-transform: translate3d(0, 0, 0);

  transform: translate3d(0, 0, 0);

  opacity: 0.25;

  transition: opacity ease 0.5s;

  padding: 16px;
}

.control-arrow:hover {
  opacity: 1;
}

#contact_button {
  opacity: 1;
}

.move-right-arrow {
  right: 0px;
}

.move-left-arrow {
  left: 0px;
}

.music-active {
  display: inline;

  right: 0;
}

#slide9 {
  position: relative;
}

#slide10 video {
  transform: rotateY(180deg);

  -webkit-transform: rotateY(180deg);

  -moz-transform: rotateY(180deg);
}

.swal-modal.success {
  background-color: #000;
}

.swal-title {
  padding-bottom: 13px !important;

  font-family: "Wulcan Regular", Arial, Helvetica, sans-serif;
}

.swal-modal.success {
  width: 350px;
}

.swal-modal.success .swal-title {
  color: white !important;
}

.swal-modal.success img {
  width: 75px;
}

.swal-modal.success .swal-icon {
  margin-bottom: 0px;
}

.form-group textarea {
  height: 22px !important;

  margin-top: 10px;
}

.commercial-part {
  position: absolute;

  top: 50%;

  right: 100%;

  -moz-transition: all 0.7s ease;

  transition: all 0.7s ease;

  left: 0%;
}

.music-part {
  top: 50%;

  right: 100%;

  -moz-transition: all 0.7s ease;

  transition: all 0.7s ease;
}

.hidden {
  visibility: hidden !important;
}

@media only screen and (min-width: 180px) and (max-width: 480px) {
  .commercial-part .title {
    margin-top: -30px !important;
  }

  .contact-page .contact-wrapper {
    margin-top: -40px !important;
  }

  #slide1 span.down {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0px;
  }

  .video-title-wrapper {
    margin-bottom: 8px;
  }

  #slide1 span.up {
    font-size: 45px;

    line-height: 45px;
  }

  #slide2 span.up {
    font-size: 37px;
    line-height: 40px;
  }

  #slide2 span.down {
    font-size: 50px;
    line-height: 45px;
    margin-top: -4px;
    padding-top: 0px;
  }

  #slide2 .video-title {
    margin-top: -36px;
  }

  #slide3 span.up {
    font-size: 48px;

    line-height: 48px;
  }

  #slide3 span.down {
    font-size: 27px;
    padding-top: 0px;
    letter-spacing: 0px;
  }

  #slide3 .video-title {
    margin-top: -40px;
  }

  #slide4 span.up {
    font-size: 41px;
    line-height: 42px;
  }

  #slide4 span.down {
    font-size: 24px;
    padding-top: 4px;
    margin-top: -5px;
    letter-spacing: 0px;
  }

  #slide4 .video-title {
    margin-top: -43px;
  }

  #slide5 span.up {
    font-size: 49px;
    line-height: 56px;
  }

  #slide5 span.down {
    font-size: 31px;
    margin-top: -3px;
    letter-spacing: 0px;
  }

  #slide5 .video-title {
    margin-top: -59px;
  }

  #slide6 span.up {
    font-size: 62px;
    line-height: 68px;
  }

  #slide6 span.down {
    font-size: 25px;
    margin-top: -7px;
    letter-spacing: 0px;
  }

  #slide6 .video-title {
    margin-top: -60px;
  }

  #slide7 span.up {
    font-size: 42px;
    line-height: 46px;
  }

  #slide7 span.down {
    font-size: 72px;
    line-height: 72px;
    margin-top: -10px;
  }

  #slide7 .video-title {
    margin-top: 6px;
  }

  #slide8 span.up {
    font-size: 62px;
    line-height: 62px;
  }

  #slide8 span.down {
    font-size: 24px;
    margin-top: -7px;
    letter-spacing: 0px;
  }

  #slide8 .video-title {
    margin-top: -60px;
  }

  .move-left-arrow {
    left: -8px;
  }

  .move-right-arrow {
    right: -8px;
  }

  #contact_button {
    right: 10px;

    bottom: 6px;
  }

  .all {
    left: 10px;

    bottom: 6px;
  }

  .video-title-list {
    font-size: 27px;

    padding-bottom: 0px;
  }

  .categories {
    margin-bottom: 15px;

    margin-top: 0px;
  }

  .video-title-leftclip {
    font-size: 18px;

    line-height: 18px;
  }

  .video-title-rightclip {
    font-size: 18px;

    line-height: 18px;
  }

  .video-title-leftclip::before,
  .video-title-leftclip::after {
    bottom: -2px;
  }
}

@media only screen and (min-width: 180px) and (max-width: 800px) {
  .contact-wrapper > div {
    display: flex;

    flex-direction: column;
  }

  .contact-label {
    width: 100%;

    text-align: center;
  }

  .contact-text {
    font-size: 40px;
  }

  .contact-desc {
    line-height: 20px;

    font-size: 16px;

    margin-top: 15px !important;

    text-align: left;
  }

  .contact-form {
    margin-top: 25px;

    width: 100%;

    text-align: left;

    padding-left: 0px;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1000px) and (orientation: landscape) {
  .video-title {
    font-size: 50px;
  }

  .contact-page {
    margin-top: -30px;
  }

  .contact-text {
    font-size: 45px;
  }

  .contact-desc {
    line-height: 20px;

    font-size: 17px;
  }

  .video-title-list {
    font-size: 20px;

    width: 60%;
  }

  .video-title-leftclip {
    font-size: 20px;
  }

  .video-title-rightclip {
    font-size: 20px;
  }

  .video-title-middleclip {
    font-size: 20px;
  }
}
