.sr-only {
  border:0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  padding:0;
  height: 1px;
  margin: -1px;
  width: 1px;
  overflow: hidden;
  position: absolute !important;
  word-wrap:normal !important;
}
a,
a:visited,
a:focus {
  color: currentColor;
  text-decoration: none;
}
a.styled,
a.styled:visited{
  text-decoration: none;
  font-weight: inherit;
  position: relative;
  transition: background-size 0.3s ease;
  background-image: linear-gradient(to right, currentColor, currentColor);
  background-size: 0% 0px;
  background-position: 20% min(100%, calc(0.5lh + .5em));
  background-repeat: no-repeat;
}
a.styled.line{
  background-size: 100% 1px;
}
a.styled:focus{
  outline:0;
}
a.styled:hover,
a.styled:focus{
  background-size: 100% 1px;
}
a.styled.line:hover,
a.styled.line:focus{
  background-size: 100% 2px;
}
@media (prefers-reduced-motion) {
  a.styled,
  a.visited{
    transition:none;
  }
}

a.styled::before{
  content:'';
  display:block;
  position: absolute;
  bottom:0;
  left:0;
  width:1px;
  height:1px;
  background-color:var(--black);
  transition:all ease .3s
}
article,
section {
  display:block;
}

/* Headings */
h1, .h1 {
  font-family:"Neue Plak W01 Black";
  font-weight:100;
  line-height:1;
  color:var(--white);
  margin:0 auto;
  padding:0;
  text-transform:uppercase;
  font-size:65px;
}

h2, .h2 {
  font-family:"Neue Plak W01 Black";
  font-weight:100;
  line-height:1;
  color:var(--black);
  margin:0;
  padding:0;
  font-size:32px;
}
h3, .h3 {
  font-family:"Neue Plak W01 Black";
  font-weight:100;
  line-height:1;
  color:var(--black);
  margin:0;
  padding:0;
  text-transform:uppercase;
  font-size:40px;
  padding-bottom:35px;
}
h4, .h4,
h5, .h5 {
  font-family: "NeueHelveticaPro55Roman";
  font-weight:100;
  line-height:1;
  color:var(--black);
  margin:.25em 0 0 0;
  text-transform:uppercase;
  font-size:32px;
  padding-top:20px;
  padding-bottom:20px;
  font-weight:400;
}
h5, .h5 {
  font-family: "NeueHelveticaPro75Bold";
  font-size:20px;
  font-weight:bold;
}

@media screen and (min-width:834px) {
  h2, .h2{
    font-size:40px;
  }
  h3, .h3 {
    font-size:62px;
  }
  h4, .h4 {
    font-size:40px;
    padding-bottom:28px;
  }
}
p,.p {
  padding:0;
  margin:0;
  line-height:1.3;
}
.text-medium{
  font-size:16px;
}
.nw{
  white-space: nowrap;
}
.container,
.content{
  display:block;
  position:relative;
  padding:0;
  margin:0 auto;
  width:100%;
  max-width:min(calc(100vw - var(--dist-h)), var(--content-max-width));
}
.content{
  /* padding:var(--dist-v) 0; */
  text-align:left;
}
@media (min-width: 660px) {
  .content{
    /* padding:var(--dist-v) calc(var(--dist-h) / 2); */
    padding:0 calc(var(--dist-h) / 2);
  }
}

.content .container,
.content .content{
  max-width:100%;
}
.container.split,
.content.split{
  display: flex;
  flex-direction: column;
}
@media (min-width: 660px) {
  .container.split,
  .content.split{
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
    grid-gap: var(--columngap);
  }
}
.block{
  margin:var(--block-margin) 0;
}
/* leave room for the top bar */
.target{
  scroll-padding-top:100px;
  scroll-margin-top:100px;
}
.block.slim{
  margin:var(--block-margin-slim) 0;
}
.block.half{
  margin:calc(var(--block-margin)/2) 0;
}
.block.slim.half{
  margin:calc(var(--block-margin-slim)/2) 0;
}
.block.top{
  margin-bottom:0;
}
.block.bottom{
  margin-top:0;
}
.block:not(.top) + .block{
  margin-top:0;
}
a.teaser{
  display:block;
  color:var(--black);
  background:var(--teal);
  padding:30px;
}


