/* --------------------------------------------------
   reset
-------------------------------------------------- */

* { 
  box-sizing:border-box;
  outline:0;
}

html { 
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,
b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

ol, ul { list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0;
}

::selection { background:black; color:white; }
::-moz-selection { background:black; color:white; }





  /* --------------------------------------------------
     variables
  -------------------------------------------------- */

  :root {
      --color-purple-main : #2d2243;
      --color-purple-light : #473b61;
      --color-pink-main : #e63784;
      --color-pink-light : #f27fb2;
  }








/* --------------------------------------------------
   font import
-------------------------------------------------- */

/* zilla-slab-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zilla Slab';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/zilla-slab-v11-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zilla-slab-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zilla Slab';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/zilla-slab-v11-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zilla-slab-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zilla Slab';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/zilla-slab-v11-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zilla-slab-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zilla Slab';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/zilla-slab-v11-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* typefesse */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Typefesse';
  font-style: normal;
  font-weight:normal;
  src: url('fonts/typefesse-pleine.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}








/* --------------------------------------------------
   typography
-------------------------------------------------- */

html {
  font-size:17px;
}

  @media only screen and (min-width :  600px) { html { font-size:18px; } }
  @media only screen and (min-width :  800px) { html { font-size:19px; } }
  @media only screen and (min-width : 1000px) { html { font-size:20px; } }
  @media only screen and (min-width : 1200px) { html { font-size:21px; } }

body {
  font-family:'Zilla Slab','Times New Roman',serif;
  font-size:1rem;
  line-height:1.6;
  color:#000;
}

h1,h2,h3 {
  line-height: 1.1;
}

h1 {
  font-size:4rem;
  margin-bottom:3rem;
}

h2 {
    font-size:2.4rem;
    margin-bottom: 3rem;
}

h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.typefesse {
  font-family:'Typefesse';
  font-weight:normal;
  font-style:normal;
}

p {
  margin:1.6rem 0;
}

p:first-child {
  margin-top:0;
}

p:last-child {
  margin-bottom:0;
}

a {
  color:inherit;
  text-decoration:underline;
}

strong {
    font-weight:600;
}

em {
  font-style:italic;
}

.small {
  font-size:80%;
}

.important {
  color:var(--color-pink-main);
  font-weight:bold;
}

.button {
  display: inline-block;
  font-weight:600;
  border:none;
  border-radius: .5rem;
  padding:1rem;
  font-size:.8rem;
  color:black;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none;
  margin:0;
}

.button:hover { 
}





/* --------------------------------------------------
   header
-------------------------------------------------- */

header {

}

  header .language {
    position:fixed;
    top:.5rem;
    right: .5rem;
    padding: .5rem;
    font-size:.8rem;
    font-weight:bold;
    color:white;
    border:2px solid white;
    background:rgba(0,0,0,.6);
    opacity:.75;
    transition:all .3s ease;
    text-decoration: none;
  }

  header .language:hover {
    opacity:1;
  }







/* --------------------------------------------------
   sections
-------------------------------------------------- */

section {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap:3rem;
  padding: 2.5rem 1.5rem;
  background:var(--color-purple-main);
  color:white;
}

  section .typefesse {
    color:var(--color-pink-main);
  }

section:nth-child(even) {
  background:var(--color-pink-light);
  color:black;
}

  section:nth-child(even) .typefesse {
    color:var(--color-purple-light);
  }

  section h2 {
    text-align: center;
    position:relative;
    padding-top:3rem;
  }

    section h2 span {
      z-index:2;
      position:relative;
      padding:2rem 0;
      color:white;
      text-transform:uppercase;
      letter-spacing:.3rem;
      font-weight:600;
    }

    section h2 .typefesse {
      position:absolute;
      width:100%;
      z-index:1;
      font-size:450%;
      padding:0;
      bottom:-2.5rem;
      text-transform:none;
      font-weight:normal;
    }

  section div {
    max-width:32rem;
  }


@media only screen and (min-width :  800px) { 
  section {
    padding: 2.5rem;
    flex-direction: row;
  }
}








/* --------------------------------------------------
   hero
-------------------------------------------------- */

.hero {
  text-align: center;
}

  .hero h2 {
    margin-bottom:0;
  }

    .hero h2 span {
      display:block;
    }

    .hero h2 .typefesse {
      top:2.5rem;
      bottom:unset;
    }

  .hero p {
    margin-top:0;
  }



@media only screen and (min-width :  800px) { 
  .hero {
    flex-direction:column;
  }
}



/* --------------------------------------------------
   footer
-------------------------------------------------- */

footer {
  background: #333;
  color: white;
  padding: 2rem 1rem;
  text-align:center;
  font-size:.8rem;
}
