* {
  padding: 0;
  margin: 0;
}
a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
ul li {
  list-style-type: none;
}
hr {
  border: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-weight: normal;
  font-size: 1rem;
}
mark {
  background: none;
}
html {
  font-family: georgia, serif;
  background-color: #fff;
  color: #000;
  font-size: 12px;
}
@media (min-width: 600px) {
  html {
    font-size: 13px;
  }
}
@media (min-width: 900px) {
  html {
    font-size: 14px;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 15px;
  }
}
@media (min-width: 1800px) {
  html {
    font-size: 16px;
  }
}
article figure,
.agenda figure {
  width: 100%;
}
article img,
.agenda img {
  width: 100%;
}
main,
header,
footer {
  margin: 0 1rem;
}
@media (min-width: 600px) {
  main,
  header,
  footer {
    margin: 0 20% 0 2%;
  }
}
@media (min-width: 900px) {
  main,
  header,
  footer {
    margin: 0 30% 0 5%;
  }
}
@media (min-width: 1200px) {
  main,
  header,
  footer {
    margin: 0 40% 0 8%;
  }
}
@media (min-width: 1800px) {
  main,
  header,
  footer {
    margin: 0 50% 0 10%;
  }
}
header {
  margin-top: 1rem;
}
main {
  margin-top: 10rem;
}
hr {
  margin: 5rem 0;
}
hr.xs {
  margin: 1rem 0;
}
hr.sm {
  margin: 3rem 0;
}
hr.md {
  margin: 6rem 0;
}
hr.lg {
  margin: 15rem 0;
}
hr.xl {
  margin: 20rem 0;
}
hr.agenda-space {
  margin: 0.5rem 0;
  width: 10%;
  border: 1px solid #aaa;
}
.ending-space {
  margin: 10rem 0;
}
@font-face {
  font-family: 'Retiro Logo';
  src: url("../fonts/retiro-logo.woff2") format('woff2'), url("../fonts/retiro-logo.woff") format('woff');
}
@font-face {
  font-family: 'Retiro';
  src: url("../fonts/retiro-base.woff2") format('woff2'), url("../fonts/retiro-base.woff") format('woff');
}
@font-face {
  font-family: 'alt2';
  src: url("../fonts/retiro-alt1.woff2") format('woff2'), url("../fonts/retiro-alt1.woff") format('woff');
}
@font-face {
  font-family: 'alt1';
  src: url("../fonts/retiro-alt2.woff2") format('woff2'), url("../fonts/retiro-alt2.woff") format('woff');
}
@font-face {
  font-family: 'alt3';
  src: url("../fonts/retiro-alt3.woff2") format('woff2'), url("../fonts/retiro-alt3.woff") format('woff');
}
* {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
.display {
  font-family: 'garamond-premier-pro-display';
  font-weight: 300;
  letter-spacing: -1px;
  font-size: 4.25rem;
  line-height: 0.9625;
}
@media (min-width: 600px) {
  h1,
  h2,
  .display {
    font-size: 4.25rem;
    line-height: 0.9625;
  }
}
h3,
.subhead {
  font-family: 'garamond-premier-pro-subhead';
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1.1;
}
p,
h4,
.regular {
  font-family: 'garamond-premier-pro';
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.21;
}
header,
h5,
h6,
figcaption,
.caption {
  font-family: 'garamond-premier-pro-caption';
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 1rem;
  line-height: 1.54;
}
h6 {
  font-variant-caps: all-small-caps;
  -moz-font-feature-settings: 'c2sc', 'smcp';
  -webkit-font-feature-settings: 'c2sc', 'smcp';
  font-feature-settings: 'c2sc', 'smcp';
}
* {
  font-variant-numeric: oldstyle-nums;
}
figure {
  margin: 3rem 0;
}
hgroup {
  text-transform: uppercase;
}
hgroup .sc {
  text-transform: lowercase;
}
hgroup h1,
hgroup h2 {
  font-size: 4.25rem;
  margin-top: 0.625rem;
  margin-bottom: -0.625rem;
  line-height: 0.875;
}
hgroup h1.sc,
hgroup h2.sc {
  margin-top: -0.85rem;
}
@media (min-width: 600px) {
  hgroup h1.sc,
  hgroup h2.sc {
    margin-top: -1.02rem;
  }
}
@media (min-width: 900px) {
  hgroup h1.sc,
  hgroup h2.sc {
    margin-top: -1.19rem;
  }
}
@media (min-width: 1200px) {
  hgroup h1.sc,
  hgroup h2.sc {
    margin-top: -1.36rem;
  }
}
@media (min-width: 1800px) {
  hgroup h1.sc,
  hgroup h2.sc {
    margin-top: -1.53rem;
  }
}
hgroup h3 {
  font-size: 2.5rem;
  margin-top: 0.45rem;
  margin-bottom: -0.45rem;
  line-height: 1;
}
hgroup h3.sc {
  margin-top: -0.5rem;
}
@media (min-width: 600px) {
  hgroup h3.sc {
    margin-top: -0.6rem;
  }
}
@media (min-width: 900px) {
  hgroup h3.sc {
    margin-top: -0.7rem;
  }
}
@media (min-width: 1200px) {
  hgroup h3.sc {
    margin-top: -0.8rem;
  }
}
@media (min-width: 1800px) {
  hgroup h3.sc {
    margin-top: -0.9rem;
  }
}
hgroup h4,
hgroup p {
  font-size: 1.8rem;
  margin-top: 0.38rem;
  margin-bottom: -0.38rem;
  line-height: 1.1;
}
hgroup h4.sc,
hgroup p.sc {
  margin-top: -0.36rem;
}
@media (min-width: 600px) {
  hgroup h4.sc,
  hgroup p.sc {
    margin-top: -0.432rem;
  }
}
@media (min-width: 900px) {
  hgroup h4.sc,
  hgroup p.sc {
    margin-top: -0.504rem;
  }
}
@media (min-width: 1200px) {
  hgroup h4.sc,
  hgroup p.sc {
    margin-top: -0.576rem;
  }
}
@media (min-width: 1800px) {
  hgroup h4.sc,
  hgroup p.sc {
    margin-top: -0.648rem;
  }
}
hgroup h5,
hgroup h6 {
  font-size: 1rem;
  margin-top: 0.3rem;
  margin-bottom: -0.3rem;
  line-height: 1.4;
}
hgroup h5.sc,
hgroup h6.sc {
  margin-top: -0.2rem;
}
@media (min-width: 600px) {
  hgroup h5.sc,
  hgroup h6.sc {
    margin-top: -0.24rem;
  }
}
@media (min-width: 900px) {
  hgroup h5.sc,
  hgroup h6.sc {
    margin-top: -0.28rem;
  }
}
@media (min-width: 1200px) {
  hgroup h5.sc,
  hgroup h6.sc {
    margin-top: -0.32rem;
  }
}
@media (min-width: 1800px) {
  hgroup h5.sc,
  hgroup h6.sc {
    margin-top: -0.36rem;
  }
}
em,
i,
.italic {
  font-style: italic;
}
strong,
b,
.bold {
  font-weight: 700;
}
abbr,
.sc,
.sm-cap {
  font-variant-caps: all-small-caps;
  -moz-font-feature-settings: 'c2sc', 'smcp';
  -webkit-font-feature-settings: 'c2sc', 'smcp';
  font-feature-settings: 'c2sc', 'smcp';
}
.ac,
.all-cap {
  text-transform: capitalize;
}
.retiro {
  font-family: 'Retiro';
  font-weight: 400;
  font-style: normal;
  font-size: 4.5rem;
}
.retiro-logo {
  font-family: 'Retiro Logo';
  font-weight: 400;
  font-style: normal;
  text-transform: lowercase;
  font-size: 4.5rem;
}
.retiro-logo-big {
  font-family: 'Retiro Logo';
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  font-size: 12rem;
}
h1,
h2 {
  hyphens: auto;
}
@media (min-width: 600px) {
  h1,
  h2 {
    hyphens: none;
  }
}
menu li {
  font-family: 'garamond-premier-pro-display';
  font-weight: 300;
}
menu .fa {
  letter-spacing: 1rem;
}
article a {
  text-decoration: underline;
}
header a {
  text-decoration: underline;
}
article p {
  margin: 1rem 0;
}
body.up {
  overflow-y: hidden;
}
#button {
  position: fixed;
  z-index: 102;
  border: none;
  outline: none;
  -webkit-backface-visibility: hidden;
  background-color: #fff;
  box-shadow: 0px 0px 40px -10px #000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  bottom: 2rem;
  right: 2rem;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  -webkit-transition: background-color 300ms, box-shadow 300ms;
  transition: background-color 300ms, box-shadow 300ms;
}
@media (min-width: 600px) {
  #button {
    width: 80px;
    height: 80px;
    bottom: 3rem;
    right: 3rem;
  }
}
@media (min-width: 1200px) {
  #button {
    width: 100px;
    height: 100px;
    bottom: 4rem;
    right: 4rem;
  }
}
#button:hover {
  cursor: pointer;
  box-shadow: 0px 0px 60px -10px #000;
}
#button.up {
  box-shadow: none;
  background-color: #000;
  -webkit-transition: background-color 300ms, box-shadow 300ms;
  transition: background-color 300ms, box-shadow 300ms;
}
.bar1,
.bar2 {
  width: 30px;
  height: 2px;
  background-color: #000;
  margin: 4px 0;
  transition: 300ms;
}
.up .bar1 {
  -webkit-transform: rotate(-45deg) translate(-3px, 3px);
  transform: rotate(-45deg) translate(-3px, 3px);
  background-color: #fff;
}
.up .bar2 {
  -webkit-transform: rotate(45deg) translate(-4px, -4px);
  transform: rotate(45deg) translate(-4px, -4px);
  background-color: #fff;
}
#nav {
  position: fixed;
  z-index: 101;
  left: 0;
  right: 0;
  bottom: 0;
  top: 100%;
  color: #000;
  text-align: right;
  padding-right: 4rem;
  padding-top: 4rem;
  overflow-y: scroll;
  opacity: 0;
  -webkit-transition: top 300ms ease-in, opacity 300ms;
  transition: top 300ms ease-in, opacity 300ms;
}
#nav.up {
  opacity: 1;
  top: 0;
  -webkit-transition: top 300ms ease-out, opacity 300ms;
  transition: top 300ms ease-out, opacity 300ms;
}
#nav-background {
  background-color: #eee;
  z-index: 100;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 100%;
  opacity: 0;
  transition: opacity 300ms, top 0ms linear 300ms;
}
#nav-background.up {
  top: 0;
  opacity: 1;
  transition: opacity 300ms;
}
.portrait {
  border-radius: 50%;
}
.dot:after {
  content: "";
  display: block;
}
@media (min-width: 600px) {
  .dot:after {
    display: inline;
    content: " · ";
  }
}
[v-cloak] {
  display: none;
}
