/*
  FONTS
*/

@font-face {
  font-family: 'Cervo';
  font-weight: normal;
  font-style: normal;
  src: url('../fonts/cervo-medium-webfont.woff2') format('woff2'),
       url('../fonts/cervo-medium-webfont.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Garamond Premier Pro';
  font-weight: normal;
  font-style: normal;
  src: url('../fonts/garamondpremrpro-subh-webfont.woff2') format('woff2'),
       url('../fonts/garamondpremrpro-subh-webfont.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Garamond Premier Pro';
  font-weight: bold;
  font-style: normal;
  src: url('../fonts/garamondpremrpro-smbdsubh-webfont.woff2') format('woff2'),
       url('../fonts/garamondpremrpro-smbdsubh-webfont.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Garamond Premier Pro';
  font-weight: bold;
  font-style: italic;
  src: url('../fonts/garamondpremrpro-smbditsubh-webfont.woff2') format('woff2'),
       url('../fonts/garamondpremrpro-smbditsubh-webfont.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Garamond Premier Pro';
  font-weight: 300;
  font-style: normal;
  src: url('../fonts/garamondpremrpro-itsubh-webfont.woff2') format('woff2'),
       url('../fonts/garamondpremrpro-itsubh-webfont.woff') format('woff');
  font-display: swap;
}

@font-face {
  font-family: 'Garamond Premier Pro';
  font-weight: 300;
  font-style: italic;
  src: url('../fonts/garamondpremrpro-ltitdisp-webfont.woff2') format('woff2'),
       url('../fonts/garamondpremrpro-ltitdisp-webfont.woff') format('woff');
  font-display: swap;
}

/*
	NORMALIZE
*/

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
}

audio, canvas, video {
  display: inline-block;
}

:root {
  font-size: 62.5%;
  --layout: 104rem;
  --white: #FFFFFF;
  --gold: #967B60;
  --black: #171517;
  --grey: #BBBBBB;
  --grey-light: #E7E7E9;
  --almost-white: #F4F4F4;
}

body {
  margin: 0;
  padding: 0;
  color: var(--black);
  text-align: center;
  font-family: 'Garamond Premier Pro', serif;
  background-color: var(--black);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

a {
  text-decoration: none;
}

a:hover, a:focus, a:active {
  text-decoration: none;
  outline: none;
}

b, strong {
  font-weight: bold;
}

code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

small {
  font-size: 80%;
}

img {
  border: 0;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

ul, ol {
  padding: 0;
  margin: 0;
}

ul, li {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 0;
  margin-top: 0;
}

ol li {
  list-style-type: decimal;
}

p {
  line-height: 1em;
  margin-bottom: 0;
  margin-top: 0;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  margin-top: 0;
  margin-bottom: 0;
}

blockquote {
  margin: 0;
  padding: 0;
}


/*
  COMPONENTS
*/

.logo {
  display: block;
  background-image: url('../images/logo-elcapricho.png');
  background-position: center left;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -6666rem;
  overflow: hidden;
  width: 11.1rem;
  height: 6.4rem;
}

[class*=ico-] {
  display: inline-block;
  vertical-align: middle;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -6666rem;
  overflow: hidden;
  width: 3.26rem;
  height: 3.26rem;
  font-size: 0;
}

.ico-facebook {
  background-image: url('../images/ico-facebook.svg');
}

.ico-twitter {
  background-image: url('../images/ico-twitter.svg');
}

.ico-instagram {
  background-image: url('../images/ico-instagram.svg');
}

.ico-youtube {
  background-image: url('../images/ico-youtube.svg');
}

.container {
  width: 100%;
  max-width: var(--layout);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.button {
  display: inline-block;
  vertical-align: middle;
  border: none;
  background-color: transparent;
  position: relative;
  margin-top: 4rem;
  margin-bottom: 4rem;
  transform: translateX(-2.8rem);
}

.button span {
  font-family: 'Cervo';
  font-style: normal;
  font-weight: 400;
  color: var(--white);
  font-size: 1.8rem;
  line-height: 1.8rem;
  text-transform: uppercase;
  display: block;
  transform: translateY(0.5rem) translateX(-0.5rem);
  transition: transform 0.5s;
}

.button:hover span {
  transform: translateY(0.5rem) translateX(0rem);
}

.button:before {
  content: '';
  display: block;
  width: 7rem;
  height: 7rem;
  border-top: 0.2rem solid var(--gold);
  border-right: 0.2rem solid var(--gold);
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: calc(50% - 1rem);
  left: calc(100% - 5.5rem);
  animation: dance 1.5s infinite ease;
  transition: transform 0.5s;
}

.button:hover:before {
  transform: rotate(45deg) translateY(-50%) scale(0.6);
  animation: none;
}

.submit {
  display: inline-block;
  vertical-align: middle;
  border: none;
  background-color: transparent;
  font-family: 'Cervo';
  font-weight: normal;
  font-style: normal;
  color: var(--black);
  font-size: 1.8rem;
  line-height: 1.8rem;
  text-transform: uppercase;
  padding: 0 0.3rem 0.2rem;
  border-bottom: 1px solid var(--gold);
}

.nav li {
  font-family: 'Cervo';
  font-style: normal;
  font-weight: 400;
  color: var(--white);
  font-size: 2.2rem;
  line-height: 2.6rem;
  text-transform: uppercase;
}

.nav li a {
  color: var(--white);
}

.nav-main {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gold);
}

.nav-main ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-main li {
  font-size: 1.4rem;
  line-height: 1.6rem;
  text-align: center;
}

.nav-social {
  margin-bottom: 3.7rem;
}

.nav-social ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-social li {
  margin: 0 1.5rem;
}

.nav-simple ul {
  flex-wrap: wrap;
}

.nav-simple li {
  font-size: 1.8rem;
  line-height: 2.4rem;
  text-align: center;
}

.description {
  font-size: 1.4rem;
  line-height: 1.866rem;
}

.field {
  position: relative;
  /* margin-top: 3rem; */
  margin-top: 1rem;
}

.field label {
  /*
  color: var(--grey);
  font-size: 1.8rem;
  line-height: 1.9rem;
  font-weight: normal;
  font-style: normal;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  padding: 1.6rem;
  pointer-events: none;
  transition: all 0.25s ease;
  transform: translateY(0);
  height: 100%;
  display: flex;
  align-items: center;
  */
  display: none;
}

.field input {
  color: var(--grey);
  font-size: 1.8rem;
  line-height: 1.9rem;
  font-family: 'Garamond Premier Pro';
  font-weight: normal;
  font-style: normal;
  outline: none;
  border: none;
  padding: 1.6rem;
  margin: 0;
  position: relative;
  width: 100%;
  background-color: var(--white);
}
/*
.field input:focus + label,
.field.has label {
  color: var(--black);
  transform: translateY(-100%);
  padding-left: 0;
}
*/
.check {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 0.8rem;
  margin-bottom: 2.5rem;
}

.check input {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}

.check label {
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.check.error label {
  color: red;
}

.up {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 16;
  opacity: 1;
  visibility: visible;
  transition: opacity 1s;
  background-color: var(--gold);
  border-radius: 100%;
  text-align: left;
  text-indent: -6666rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 3.26rem;
  height: 3.26rem;
}

.up:before {
  content: '';
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 1px solid var(--black);
  border-right: 1px solid var(--black);
  transform: rotate(-45deg);
  margin-top: 0.5rem;
}

.up span {
  display: block;
  opacity: 0;
  visibility: hidden;
}

.hidden {
  display: none !important;
}



/*
  HEADER
*/

.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 0.6rem;
  z-index: 10;
}

.header_logo {
  margin: 0 auto 1.6rem;
}


/*
  MAIN
*/

main {
  position: relative;
  z-index: 12;
}


/*
  HERO
*/

.hero {
  overflow: hidden;
  position: relative;
  background-color: var(--black);
}

.hero:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.hero .container {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  padding-top: 15.3rem;
  z-index: 2;
}

.hero_description {
  order: -1;
  color: var(--white);
  text-align: left;
  width: calc(100% - 12.5rem);
  margin-left: auto;
  margin-right: 1.5rem;
  margin-bottom: 2.8rem;
  opacity: 0;
  visibility: hidden;
  animation: opacity 1.5s forwards 0.5s;
}

.hero_title {
  font-weight: 300;
  font-style: italic;
  color: var(--gold);
  text-align: left;
  text-transform: uppercase;
  font-size: 6.4rem;
  line-height: 4.8rem;
  width: calc(100% - 4rem);
  margin: 0 auto;
}

.hero_title strong {
  font-weight: 300;
  font-style: italic;
  color: var(--white);
}

.hero_title em {
  display: block;
  animation: up 1.5s forwards;
}

.hero_title em:nth-of-type(1) {
  transform: translateY(300%);
}

.hero_title em:nth-of-type(2) {
  transform: translateY(200%);
}

.hero_title em:nth-of-type(3) {
  transform: translateY(100%);
}

.hero_button {
  margin: 11rem auto;
  opacity: 0;
  visibility: hidden;
  animation: opacity 1s forwards 1.25s;
}

.hero_media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero_media img,
.hero_media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


/*
  NEWS
*/

.news {
  background-image: url('../images/bg-m.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-top: 7.6rem;
  overflow: hidden;
}

.news_title {
  color: var(--gold);
  font-weight: normal;
  font-size: 3.4rem;
  line-height: 3.4rem;
  text-align: center;
  margin-bottom: 1.6rem;
}

.news_description {
  color: var(--white);
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.news .news_title,
.news .news_description {
  opacity: 0;
  visibility: hidden;
  transform: translateY(3rem);  
  transition: all 1s;
}

.news.active .news_title,
.news.active .news_description {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); 
}

.article {
  margin-bottom: 7.6rem;
  padding-left: 3rem;
  padding-right: 3rem;
}

.article:nth-of-type(1) {
  margin-top: 7.6rem;
  border-top: 1px solid var(--gold);
  padding-top: 7.6rem;
}

.article_title {
  font-weight: 300;
  font-style: italic;
  color: var(--white);
  text-transform: uppercase;
  font-size: 4rem;
  line-height: 4rem;
  text-align: left;
  margin-bottom: 1rem;
}

.article:nth-of-type(2) .article_title {
  max-width: 25rem;
}

.article_title em {
  display: block;
}

.article_text {
  position: relative;
  z-index: 1;
}

.article_description {
  color: var(--white);
  text-align: left;
  margin-bottom: 2rem;
}

.article_closely {
  display: block;
  color: var(--gold);
  font-family: 'Cervo';
  font-weight: normal;
  font-style: normal;
  font-size: 1.8rem;
  line-height: 1.8rem;
  text-align: left;
  text-transform: uppercase;
}

.article_media {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.article_media img {
  display: block;
}

.article_media img.next {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  opacity: 0;
}

.article:nth-of-type(1) .article_media {
  max-width: 40rem;
  margin-top: -14rem;
  transform: translateX(5rem);
  margin-left: auto;
}

.article:nth-of-type(4) .article_media {
  margin-top: -14rem;
  transform: translateX(5rem);
}

.article:nth-of-type(2) .article_media {
  margin-bottom: 2rem;
}

.article:nth-of-type(3) .article_media {
  margin-bottom: 2rem;
}

.article_media img {
  display: block;
}

.article .article_title,
.article .article_description,
.article .article_closely,
.article .article_media {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s, visibility 1s;
}

.article .article_description,
.article .article_closely {
  transition-delay: 0.15s;
}

.article.active .article_title,
.article.active .article_description,
.article.active .article_closely,
.article.active .article_media {
  opacity: 1;
  visibility: visible;
}


/*
  ABOUT
*/

.about {
  background-color: var(--almost-white);
  padding-top: 7.6rem;
  padding-bottom: 7.6rem;
  overflow: hidden;
}

.about_title {
  font-weight: 300;
  font-style: italic;
  text-transform: uppercase;
  font-size: 7rem;
  line-height: 6rem;
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

.about_title em:nth-of-type(1) {
  font-weight: 300;
  font-style: italic;
  font-size: 4rem;
  line-height: 4rem;
  margin-left: auto;
  margin-right: 7rem;
}

.about_title em {
  display: inline-block;
}

.about .about_title,
.about .about_description {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s, visibility 1s;
}

.about.active .about_title,
.about.active .about_description {
  opacity: 1;
  visibility: visible;
}

.about_description {
  max-width: 49.8rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}

.about_button {
  margin-bottom: 6rem;
}

.about_button span {
  color: var(--black);
}

.about_media {
  
}

.about_media div {
  
}

.about_media div img {
  display: block;
}


/*
  HISTORY
*/

.history {
  background-color: var(--white);
  padding-top: 7.6rem;
  padding-bottom: 7.6rem;
  overflow: hidden;
}

.history_media {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s;
}

.history.active .history_media {
  opacity: 1;
  visibility: visible;
}

.history_media img {
  display: block;  
}

.history_title {
  font-weight: 300;
  font-style: italic;
  text-transform: uppercase;
  color: var(--gold);
  font-size: 6rem;
  line-height: 5rem;
  text-align: left;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}

.history_title em {
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s;
}

.history.active .history_title em {
  opacity: 1;
  visibility: visible;
}

.history_description {
  text-align: left;
  margin-left: 3rem;
  margin-right: 3rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(2rem);
  transition: all 1s;
}

.history_description.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.history_description + .history_description {
  margin-top: 2rem;
}


/*
  NEWSLETTER
*/

.newsletter {
  background-color: var(--grey-light);
  padding-top: 7.6rem;
  padding-bottom: 7.6rem;
  padding-left: 3rem;
  padding-right: 3rem;
}

.newsletter_title {
  font-weight: normal;
  color: var(--black);
  font-size: 4.4rem;
  line-height: 4rem;
  text-align: left;
  max-width: 32rem;
  margin-bottom: 2rem;
}

.newsletter_form {
  display: flex;
  flex-direction: column;
}

.newsletter .submit {
  margin-left: auto;
}

.newsletter p {
  font-size: 1.4rem;
  line-height: 1.866rem;
  text-align: left;
}

.newsletter #success {
  font-size: 2rem;
}

.newsletter p span {
  display: block;
}

.newsletter button + p {
  margin-top: 2rem;
}


/*
  PAGE
*/

.page {
  background-color: var(--black);
  padding-top: 11.3rem;
  text-align: center;
}

.page section {
  background-color: var(--white);
  padding: 6rem 3rem;
  color: var(--black);
}

.page .container {
  text-align: left;
}

.page main h1 {
  font-weight: 300;
  font-style: italic;
  color: var(--gold);
  text-align: left;
  text-transform: uppercase;
  font-size: 5rem;
  line-height: 0.9;
  margin-bottom: 4rem;
}

.page main h2 {
  font-size: 1.8rem;
  line-height: 2.2rem;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
  margin-bottom: 1.5rem;
  margin-top: 3rem;
}

.page main p,
.page main li {
  font-size: 1.6rem;
  line-height: 2.2rem;
  text-align: left;
  margin-bottom: 1.5rem;
}

.page main li {
  margin-bottom: 0;
  list-style: disc inside;
}

.page main ul {
  margin-bottom: 1.5rem;
}

.page main p a,
.page main li a {
  color: var(--black);
  text-decoration: underline;
}


/*
  FOOTER
*/

.footer {
  background-color: var(--black);
  padding: 7.6rem 2rem;
  color: var(--white);
}

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


/*
  MOBILE
*/

@media (max-width: 767px){

  .about_title em:nth-of-type(1),
  .about_title span {
    display: block;
  }

  .button span {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }

  .button:before {
    width: 6rem;
    height: 6rem;
    top: calc(50% - 0.5rem);
  }

  .article {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .article_title {
    font-size: 4.8rem;
    line-height: 6rem;
  }

  .article_title em {
    overflow: hidden;
  }

  .article_description {
    margin-bottom: 3.5rem;
  }

  .article_closely {
    font-size: 1.4rem;
    line-height: 1.8rem;
    text-align: right;
  }

  .article:nth-of-type(1),
  .article:nth-of-type(4) {
    display: flex;
    flex-direction: column;
  }

  .article:nth-of-type(1) .article_media,
  .article:nth-of-type(4) .article_media {
    order: -1;
    width: calc(100% - 3.5rem);
    margin: 0 0 -4.7rem auto;
    transform: none;
    max-width: 24.6rem;
  }

  .article:nth-of-type(2) .article_title {
    max-width: 30rem;
    line-height: 4.4rem;
    margin-bottom: -1.8rem;
    position: relative;
    z-index: 1;
  }

  .article:nth-of-type(3) .article_title {
    line-height: 4.4rem;
    margin-top: -2.8rem;
    position: relative;
    z-index: 1;
  }

  .article:nth-of-type(4) .article_title {
    line-height: 4.4rem;
    margin-bottom: 4rem;
  }

  .article:nth-of-type(4) .article_media {
    margin-left: 0;
    margin-right: auto;
  }

  .article:nth-of-type(4) .article_description {
    margin-top: -2.5rem;
  }

}

@media (max-width: 425px){

  .article:nth-of-type(1) .article_title {
    transform: rotate(-90deg) translateX(15.4rem) translateY(-10.8rem);
  }
  
  .article:nth-of-type(4) .article_title {
    transform: rotate(-90deg) translateX(17.4rem) translateY(13.5rem);
  }

}


/*
  TABLET
*/

@media (min-width: 768px){
  
  .logo {
    width: 17.7rem;
    height: 10.2rem;
  }

  .nav:not(.nav-simple) {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .nav ul {
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  .nav-social ul,
  .nav-simple ul {
    justify-content: center;
  }

  .nav-main {
    padding-bottom: 2.3rem;
  }

  .nav-main li {
    width: auto;
    font-size: 2.2rem;
    line-height: 2.6rem;
  }

  .nav-simple li:not(:first-child):before {
    content: '|';
    display: inline-block;
    margin-left: 2.9rem;
    margin-right: 2.9rem;
  }

  .description,
  .newsletter p:not(#success) {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }

  .field {
    margin-top: 0.9rem;
  }

  .header {
    padding-top: 1.5rem;
  }

  .header_logo {
    margin-bottom: 2.4rem;
  }

  .hero .container {
    padding-top: 23rem;
  }

  .hero_title {
    font-size: 11rem;
    line-height: 8.8rem;
    max-width: 69rem;
    margin-top: 0;
    margin-bottom: -2rem;
    margin-right: auto;
  }

  .hero_description {
    width: calc(100% - 33rem);
    margin-right: 13.5rem;
  }

  .news {
    background-image: url('../images/bg.jpg');
    padding-top: 11.6rem;
    padding-bottom: 18.3rem;
  }

  .news_title {
    font-size: 4.8rem;
    line-height: 4.8rem;
  }

  .article {
    overflow: hidden;
    clear: both;
  }

  .article:nth-of-type(1) {
    padding-top: 14.9rem;
  }

  .article_title {
    font-size: 10rem;
    line-height: 8rem;
    margin-bottom: 2rem;
  }

  .article:nth-of-type(2) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .article:nth-of-type(4) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .article:nth-of-type(2) .article_title {
    max-width: 61rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -3rem;
    position: relative;
    z-index: 1;
  }

  .article:nth-of-type(2) .article_media {
    width: 60%;
    margin-bottom: 0;
  }

  .article:nth-of-type(2) .article_text {
    width: 40%;
    display: flex;
    flex-direction: column;
    padding-left: 4rem;
  }

  .article:nth-of-type(2) .article_closely {
    order: -1;
    margin-bottom: 2rem;
  }

  .article:nth-of-type(2) .article_description {
    margin-bottom: -0.75rem;
  }
  
  .article_description {
    max-width: 41rem;
    margin-bottom: 4rem;
  }

  .article_media {
    max-width: 59rem;
  }

  .article:nth-of-type(1) .article_media {
    max-width: 59rem;
    margin-top: -31rem;
    float: right;
  }

  .article:nth-of-type(3) .article_media {
    max-width: 100%
  }

  .article:nth-of-type(4) .article_media {
    max-width: 49.9rem;
    width: 55%;
    order: -1;
    margin: 0;
    transform: none;
  }

  .article:nth-of-type(4) .article_title {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }

  .article:nth-of-type(4) .article_text {
    width: 45%;
    padding-left: 4rem;
    margin-bottom: 8rem;
  }

  .article:nth-of-type(4) .article_title em:nth-of-type(2) {
    display: block;
    transform: translateX(-100%);
  }

  .newsletter {
    padding-top: 10.6rem;
    padding-bottom: 7.1rem;
  }

  .newsletter .container {
    display: flex;
  }
  
  .newsletter_title {
    font-size: 4.8rem;
    margin-bottom: 0;
  }

  .newsletter_form {
    width: 50%;
    max-width: 50rem;
    margin-left: auto;
  }

  .newsletter #success {
    width: 50%;
    max-width: 50rem;
    margin-top: 1rem;
    text-align: right;
  }

  .about {
    padding-top: 12.3rem;
    padding-bottom: 19rem;
  }

  .about_description {
    margin-left: 0;
    text-align: left;
  }

  .about_title {
    font-size: 11rem;
    line-height: 8.8rem;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
  }

  .about_title em:nth-of-type(1) {
    font-size: 8rem;
    line-height: 6.8rem;
    margin-right: 8.5rem;
  }

  .about_button {
    margin-bottom: 4rem;
    margin-top: 0rem;
    transform: translateX(23rem);
  }

  .about_media {
    max-width: 52.5rem;
  }

  .history_media {
    max-width: 66rem;
    margin-left: auto;
    margin-right: auto;
  }

  .history_title {
    font-size: 10rem;
    line-height: 8rem;
    max-width: 66rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 6rem;
  }

  .history_description {
    max-width: 68rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30rem;
  }

  .page {
    padding-top: 19.1rem;
  }

  .page main p,
  .page main li {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }

  .page main h2 {
    font-size: 2.4rem;
  }
  
  .footer {
    padding: 12.8rem 2rem 7.2rem;
  }

}


/*
  DESKTOP
*/

@media (min-width: 1024px){
  
  .nav:not(.nav-simple) {
    padding-left: 10rem;
    padding-right: 10rem;
  }

  .hero_title {
    font-size: 14.5vw;
    line-height: 0.7;
    max-width: 80%;
    margin-top: 0;
    margin-left: -1vw;
    margin-bottom: -3.4vh !important;
  }

  .hero_description {
    margin-top: auto;
    margin-right: auto;
    max-width: 59rem;
  }

  .hero_button {
    position: absolute;
    transform: translateX(-100%);
    animation: right 1s forwards 1.25s, opacity 1s forwards 1.25s;
    bottom: 11.4vw;
    left: 80vw;
  }

  .article {
    overflow: visible;
  }

  .article:after {
    content: '';
    display: block;
    clear: both;
  }

  .about_media {
    max-width: 77rem;
    display: flex;
  }

  .about_media div {
    display: block;
    overflow: hidden;
    border-radius: 400px;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
  }

  .about_media div img {
    display: block;
    width: 770px;
    height: 372px;
    max-width: 770px;
  }

}

@media (min-width: 1220px){
 
  .container {
    padding-left: 0;
    padding-right: 0;
  }

  .article_title {
    font-size: 12rem;
    line-height: 9rem;
  }

  .article:nth-of-type(2) {
    padding-top: 0.8rem;
  }

  .article:nth-of-type(2) .article_title {
    max-width: 73rem;
  }

}

@media (min-width: 1440px){
  
  .button:before {
    width: 9rem;
    height: 9rem;
    left: calc(100% - 7.5rem);
    animation-name: danceDesktop;
  }

  .hero .container {
    padding-top: 24rem;
  }

  .article {
    padding-left: 0;
    padding-right: 0;
  }

  .article:nth-of-type(1) {
    margin-bottom: 17.1rem;
  }

  .article:nth-of-type(1) .article_text {
    padding-top: 4.1rem
  }

  .article:nth-of-type(1) .article_media {
    max-width: 64rem;
    margin-top: -32.9rem;
  }

  .article:nth-of-type(2) {
    margin-bottom: 19.6rem;
  }

  .article:nth-of-type(2) .article_title {
    max-width: 73.5rem;
    margin-top: 0;
    margin-bottom: -3.75rem;
    transform: translateX(2.7rem);
  }

  .article:nth-of-type(2) .article_closely {
    margin-bottom: 4.3rem;
  }

  .article:nth-of-type(3) {
    margin-bottom: 6.8rem;
  }

  .article:nth-of-type(3) .article_media {
    margin-bottom: 4rem;
  }

  .article:nth-of-type(3) .article_title {
    margin-bottom: 1rem;
  }

  .article:nth-of-type(3) .article_description,
  .article:nth-of-type(3) .article_closely {
    max-width: 41rem;
    margin-left: auto;
  }

  .article:nth-of-type(4) .article_text {
    margin-bottom: 0;
  }

  .article:nth-of-type(4) .article_title em:nth-of-type(2) {
    margin-left: -25rem;
  }

  .article:nth-of-type(4) .article_title {
    line-height: 10rem;
    margin-bottom: 1rem;
    align-items: center;
    max-width: 100%;
  }

  .article:nth-of-type(4) .article_description {
    max-width: 42rem;
  }

  .article:nth-of-type(4) .article_closely {
    margin-bottom: 0.3rem;
  }

  .newsletter_title {
    margin-left: 9rem;
  }

  .about {
    padding-bottom: 19rem;
  }

  .about_description {
    transform: translateX(9rem);
  }

  .about_title {
    font-size: 20rem;
    line-height: 14.5rem;
    max-width: 100%;
    margin-top: -5.3rem;
    transform: translateX(3.6rem);
  }

  .article_title em {
    overflow: hidden;
    padding-top: 0.4rem;
  }
  
  .about_title em:nth-of-type(1) {
    font-size: 12rem;
    line-height: 11.4rem;
    margin-right: 24.4rem;
  }

  .about_title span {
    display: block;
    transform: translateX(-7.4rem);
  }

  .about_button {
    margin-bottom: 4.8rem;
    margin-top: -0.5rem;
    transform: translateX(32.5rem);
  }

  .about_media {
    max-width: 77rem;
  }

  .history {
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 16.8rem;
  }

  .history_media {
    max-width: 100%;
    margin-top: -1rem;
  }

  .history_title {
    margin-top: -5.3rem;
    font-size: 12rem;
    line-height: 9rem;
    max-width: calc(100% - 18rem);
    padding-left: 0;
    margin-bottom: 2.5rem;
  }

  .history_description {
    padding-left: 0;
    margin-right: 0;
  }

}


/*
  KEYFRAMES
*/

@keyframes opacity {
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes up {
  100% {
    transform: translateY(0);
  }
}

@keyframes right {
  100% {
    transform: translateX(0);
  }
}

@keyframes dance {
  0%, 100% {
    left: calc(100% - 5.5rem);
  }
  50% {
    left: calc(100% - 4.5rem);
  }
}

@keyframes danceDesktop {
  0%, 100% {
    left: calc(100% - 7.5rem);
  }
  50% {
    left: calc(100% - 6.5rem);
  }
}