@font-face {
  font-family: "MPR";
  font-display: swap;
  src: local("MPR"), local("MYRIADPRO-REGULAR"), url("fonts/MYRIADPRO-REGULAR.woff") format("woff");
  font-weight: "400";
}
:root {
  --white: #FFFFFF;
  --logo: #f9d0c1;
  --purple: #b158a1;
  --orange: #fe5728;
  --black: #010000;
  --body: #1c2730;
  --max-screen: 1920px;
  --max-w: 1440px;
  --max-980: 980px;
  --hh: 124px;
  --pd-60: 60px;
  --mg-120: 120px;
  --mg-60: 60px;
  --mg-48: 48px;
  --mg-36: 36px;
  --mg-24: 24px;
  --mg-12: 12px;
  --anim40: 40px;
  --anim20: 20px;
}

@media only screen and (max-width: 1600px) {
  :root {
    --mg-120: 100px;
  }
}
@media only screen and (max-width: 1440px) {
  :root {
    --pd-60: 48px;
    --mg-120: 90px;
  }
}
@media only screen and (max-width: 1180px) {
  :root {
    --pd-60: 36px;
    --mg-120: 80px;
  }
}
@media only screen and (max-width: 979px) {
  :root {
    --hh: 114px;
    --mg-120: 60px;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --hh: 94px;
    --pd-60: 24px;
    --mg-120: 50px;
    --mg-60: 48px;
  }
}
@media only screen and (max-width: 479px) {
  :root {
    --mg-120: 40px;
    --mg-60: 36px;
  }
}
@media only screen and (max-width: 375px) {
  :root {
    --mg-120: 30px;
  }
}
/* NEW MIXIN */
html, body, div, span, applet, object, iframe, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font,
ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  vertical-align: baseline;
}

div, span, nav, ul, li, img, header, footer, section, article, a, h1, h2, h3, h4 {
  width: auto;
  height: auto;
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

body {
  background-color: var(--body);
}

.color-white {
  color: var(--white);
}

.mgb-60 {
  margin-bottom: var(--mg-60);
}

.mgb-48 {
  margin-bottom: var(--mg-48);
}

.mgb-36 {
  margin-bottom: var(--mg-36);
}

.mgb-24 {
  margin-bottom: var(--mg-24);
}

.mgb-12 {
  margin-bottom: var(--mg-12);
}

.mgt-60 {
  margin-top: var(--mg-60);
}

.mgt-48 {
  margin-top: var(--mg-48);
}

.mgt-36 {
  margin-top: var(--mg-36);
}

.mgt-24 {
  margin-top: var(--mg-24);
}

.mgt-12 {
  margin-top: var(--mg-12);
}

.max-980 {
  max-width: var(--max-980);
}

/*****************************************************************************/
/*                                Fonts                                      */
/*****************************************************************************/
.strong {
  font-weight: 500;
}

.italic {
  font-style: italic;
}

.uppercase {
  text-transform: uppercase;
}

.centre {
  text-align: center;
}

.hover {
  transition: 0.5s;
}

.title-font {
  font-family: "MPR";
  font-size: 21px;
  font-weight: 400;
  letter-spacing: 0.5px;
  line-height: 130%;
  margin: 0;
}
@media screen and (max-width: 1600px) {
  .title-font {
    font-size: 21px;
  }
}
@media screen and (max-width: 1440px) {
  .title-font {
    font-size: 21px;
  }
}
@media screen and (max-width: 1180px) {
  .title-font {
    font-size: 21px;
  }
}
@media screen and (max-width: 979px) {
  .title-font {
    font-size: 18px;
    text-align: center;
  }
  .title-font br {
    display: none;
  }
}
@media screen and (max-width: 374px) {
  .title-font {
    font-size: 17px;
  }
}

.project-description {
  font-family: "MPR";
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.5px;
  line-height: 130%;
}
@media screen and (max-width: 1600px) {
  .project-description {
    font-size: 30px;
  }
}
@media screen and (max-width: 1440px) {
  .project-description {
    font-size: 28px;
  }
}
@media screen and (max-width: 1180px) {
  .project-description {
    font-size: 24px;
  }
}
@media screen and (max-width: 979px) {
  .project-description {
    font-size: 22px;
  }
}
@media screen and (max-width: 374px) {
  .project-description {
    font-size: 20px;
  }
}

article {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  color: var(--white);
}
article p {
  font-family: "Rubik";
  font-size: 18px;
  font-weight: 300;
  line-height: 150%;
  margin-bottom: var(--mg-12);
  margin-top: var(--mg-12);
  color: var(--text-grey);
}
article p strong {
  font-weight: 500;
}
article p em, article p i {
  font-style: italic;
}

/* header menu */
header {
  top: var(--pd-60);
  right: var(--pd-60);
  position: absolute;
  width: 80px;
  height: 152px;
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
@media only screen and (max-width: 767px) {
  header {
    position: relative;
    width: 100%;
    height: var(--hh);
    justify-content: center;
    top: auto;
    right: auto;
  }
}
header nav {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  header nav {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
}
header nav .button-lang {
  width: 80px;
  height: 64px;
  display: block;
  transition: 0.5s;
  cursor: pointer;
}
@media screen and (max-width: 979px) {
  header nav .button-lang {
    width: 64px;
    height: 51px;
  }
}
header nav .button-lang svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
header nav .button-lang svg .text {
  fill: var(--white);
}
header nav .button-lang svg .active-lang {
  fill: var(--black);
}
header nav .button-lang svg .change-lang {
  fill: var(--purple);
}
header nav .button-lang:first-child {
  margin-bottom: var(--mg-24);
}
@media only screen and (max-width: 767px) {
  header nav .button-lang:first-child {
    margin-bottom: 0px;
    margin-right: var(--mg-24);
  }
}
header nav .button-lang:hover {
  transition: 0.5s;
}
header nav .button-lang:hover svg .text {
  fill: var(--white);
}
header nav .button-lang:hover svg .active-lang {
  fill: var(--purple);
}
header nav .button-lang:hover svg .change-lang {
  fill: var(--purple);
}

.section-wrap {
  width: 100%;
  max-width: var(--max-screen);
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px var(--pd-60) 0px var(--pd-60);
  overflow: hidden;
  z-index: 50;
}
.section-wrap .section {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.first-screen-wrap {
  height: 100vh;
  height: 100dvh;
}
@media only screen and (max-width: 767px) {
  .first-screen-wrap {
    height: calc( 100vh - var(--hh) );
    height: calc( 100dvh - var(--hh) );
  }
}
.first-screen-wrap .first-screen {
  height: 100vh;
  height: 100dvh;
}
@media only screen and (max-width: 767px) {
  .first-screen-wrap .first-screen {
    height: calc( 100vh - var(--hh) );
    height: calc( 100dvh - var(--hh) );
    justify-content: space-between;
  }
}

.image-wrap {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: calc( 100vh );
  height: calc( 100dvh );
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: var(--black);
  z-index: 1;
}
.image-wrap picture {
  width: 100%;
  height: 100%;
  display: flex;
}
.image-wrap picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left;
  display: block;
}
@media only screen and (max-width: 979px) {
  .image-wrap picture img {
    object-fit: cover;
    object-position: right;
  }
}

.image-once-wrap {
  position: absolute;
  top: calc( 12vh );
  left: 0px;
  width: 100%;
  height: calc( 30vh );
  height: calc( 30dvh );
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .image-once-wrap {
    width: 50%;
    height: auto;
  }
}
.image-once-wrap picture {
  width: 100%;
  height: 100%;
  display: flex;
}
.image-once-wrap picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left;
  display: block;
}
@media only screen and (max-width: 767px) {
  .image-once-wrap picture img {
    height: auto;
  }
}

.image-song-wrap {
  position: fixed;
  top: 0px;
  right: 0px;
  width: 100%;
  height: calc( 100vh );
  height: calc( 100dvh );
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 1;
}
@media only screen and (max-width: 1279px) {
  .image-song-wrap {
    display: none;
  }
}
.image-song-wrap picture {
  width: 100%;
  height: 100%;
  display: flex;
}
.image-song-wrap picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right;
  display: block;
}
@media only screen and (max-width: 979px) {
  .image-song-wrap picture img {
    object-fit: cover;
    object-position: right;
  }
}

.title-wrap {
  width: 100%;
  max-width: 100%;
  height: 20vh;
  height: 20dvh;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-top: 6vh;
  padding-top: 6dvh;
  padding-left: 20%;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .title-wrap {
    height: auto;
    justify-content: center;
    padding-top: 0;
    padding-left: 0;
  }
}
.title-wrap svg {
  width: auto;
  height: 20vh;
  height: 20dvh;
  object-fit: contain;
  display: block;
}
@media only screen and (max-width: 767px) {
  .title-wrap svg {
    height: auto;
  }
}
.title-wrap svg .title-color {
  fill: var(--logo);
}

.project-wrap {
  width: 100%;
  max-width: 100%;
  height: 12vh;
  height: 12dvh;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 45vh;
  padding-top: 45dvh;
  padding-right: 15%;
  z-index: 2;
}
@media only screen and (max-width: 1279px) {
  .project-wrap {
    padding-right: 0%;
  }
}
@media only screen and (max-width: 767px) {
  .project-wrap {
    height: auto;
    justify-content: center;
    padding-top: 0;
    padding-right: 0;
    padding-left: 20%;
    margin-bottom: 10vh;
    margin-bottom: 10dvh;
  }
}
.project-wrap svg {
  width: auto;
  height: 12vh;
  height: 12dvh;
  object-fit: contain;
  display: block;
}
@media only screen and (max-width: 767px) {
  .project-wrap svg {
    height: auto;
  }
}
.project-wrap svg .title-color {
  fill: var(--white);
}

@media screen and (max-width: 979px) {
  .section-footer {
    flex-direction: column;
    justify-content: center;
  }
}
.section-footer span {
  font-family: "MPR";
  font-size: 16px;
  line-height: 100%;
  color: var(--orange);
  margin-right: 12px;
}
.section-footer .email {
  display: flex;
  align-items: center;
}
.section-footer .email a {
  font-family: "MPR";
  font-size: 16px;
  line-height: 100%;
  text-decoration: none;
  transition: 0.5s;
  color: var(--orange);
}
.section-footer .email a::before {
  content: "";
  width: 100%;
  height: 2px;
  background: var(--white);
  position: absolute;
  bottom: -2px;
  z-index: 1;
}
.section-footer .email a:hover {
  color: var(--white);
}
.section-footer .copy {
  font-family: "MPR";
  font-size: 16px;
  line-height: 100%;
  text-decoration: none;
  transition: 0.5s;
  color: var(--orange);
}

.symbol {
  width: 148px;
  height: 200px;
  display: flex;
  justify-content: center;
  margin-top: var(--mg-120);
  margin-bottom: var(--mg-120);
}
@media screen and (max-width: 979px) {
  .symbol {
    width: 88px;
    height: 120px;
  }
}
.symbol svg {
  object-fit: contain;
}
.symbol svg .logo-color {
  fill: var(--white);
}

.image-rabbit-wrap {
  position: fixed;
  bottom: calc( 2vh );
  right: var(--pd-60);
  width: 100%;
  height: calc( 12vh );
  height: calc( 12dvh );
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .image-rabbit-wrap {
    height: auto;
    display: none;
  }
}
.image-rabbit-wrap picture {
  width: 100%;
  height: 100%;
  display: flex;
}
.image-rabbit-wrap picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right;
  display: block;
}
@media only screen and (max-width: 767px) {
  .image-rabbit-wrap picture img {
    height: auto;
  }
}

footer {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  padding: var(--pd-60) var(--pd-60) var(--pd-60) var(--pd-60);
  background-color: var(--purple-dark);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  footer {
    padding: calc( var(--pd-60)*2 ) var(--pd-60) var(--pd-60) var(--pd-60);
  }
}
footer .section {
  width: 100%;
  max-width: var(--max-w);
  height: auto;
  display: flex;
}
@media screen and (max-width: 767px) {
  footer .section {
    flex-direction: column;
    align-items: center;
  }
}
footer .section .payment {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  footer .section .payment {
    width: 100%;
  }
}
footer .section .payment h3 {
  width: 100%;
}
footer .section .payment .visa {
  width: 100px;
  height: 60px;
  display: block;
}
footer .section .payment .visa .st0 {
  fill: #fff;
}
footer .section .payment .master {
  width: 100px;
  height: 60px;
  display: block;
  margin-left: 48px;
}
footer .section .payment .master .masterst0 {
  fill: #ff5f00;
}
footer .section .payment .master .masterst1 {
  fill: #eb001b;
}
footer .section .payment .master .masterst2 {
  fill: #f79e1b;
}
footer .section .payment .master .masterst3 {
  fill: #fff;
}
footer .section .footer-menu {
  width: 50%;
  display: flex;
}
@media screen and (max-width: 767px) {
  footer .section .footer-menu {
    width: 100%;
  }
}
footer .section .footer-menu .mobile__menu ul {
  margin-top: 0px;
}
footer .section .footer-menu .mobile__menu ul li {
  font-weight: 300;
  margin: 12px 0px 12px 0px;
}
footer .section .footer-menu .mobile__menu ul li a {
  color: var(--white);
}
footer .section .footer-menu .mobile__menu ul li a::after {
  background-color: var(--purple-dark);
}
footer .section .footer-menu .mobile__menu ul li a:hover {
  color: var(--purple-light);
}
footer .section .footer-menu .mobile__menu ul li a:hover::after {
  background-color: var(--purple-light);
}
footer .section .footer-menu .mobile__menu ul li.current-menu-item a,
footer .section .footer-menu .mobile__menu ul li.active a {
  color: var(--purple-light);
}