/* GENERAL */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 100%;
  font: inherit;
  /* outline: solid 1px rgba(0,0,0,.4); */
}

html {
  transition: filter .2s;
}

html, body {
  height: 100%;
}

body {
  font-family: "Scope";
  font-variation-settings: "wght" 60, "wdth" 500;
  font-size: 16px;
  line-height: 110%;

  transition: filter .2s;
}

.focus *:not(.contenteditable):focus {
  outline: dotted 1px #666 !important;
}

section {
  display: block;

  background: #fff;
  color: #000;

  /* outline: solid 1px red; */
  /* min-height: 100%; */
}

.container {
  width: 100%;
  height: 100%;
  /* outline: solid 1px blue; */
  padding: 120px 40px 160px 40px;
  position: relative;
}

.col-50 {
  width: 50%;
  float: left;
  /* outline: solid 1px red; */
  padding-right: 10px;
}

.col-50+.col-50 {
  padding-right: 0;
  padding-left: 10px;
}

.cf {
  display: block;
  clear: both;
}

.marker {
  position: absolute;
  width: auto;
  min-width: 40px;
  padding-left: 40px;
  height: 40px;
  /* background: red; */
  border-top: solid 2px #000;
  font-size: 24px !important;
  line-height: 28px;
  font-variation-settings: "wght" 75, "wdth" 500;
  /* font-feature-settings: 'tnum'; */
}

.contenteditable:focus {
  outline: none;
  background: #eee;
}

.btn {
  border: none;
  background: none;
  cursor: pointer;
}

.btn:hover {
  transform: scale(.9);
}

.btn-topright {
  pointer-events: none;
  opacity: 0;
  position: fixed;
  width: 25px;
  height: 25px;
  right: 10px;
  top: 40px;
  background: #ccc;
  border-radius: 100%;
  text-align: center;
  font-size: 22px;
  text-align: center;
  font-variation-settings: "wght" 60, "wdth" 500;
  transition: all .1s;
}

.btn-topright--visible {
  opacity: 1;
  pointer-events: auto;
}

.btn-topright span {
  /* outline: solid 1px red; */
  position: absolute;
  display: block;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 20px;
  top: 0; right: 0;
}

.btn-reset span {
  right: -1px;
}

.btn-close span {
  /* top: -2.5px; */
  font-variation-settings: "wght" 60, "wdth" 600;
  transform-origin: center center;
  display: block;
  transform: rotate(0deg);
  font-size: 20px;
  transition: all .2s;
  font-size: 27px;
  right: 1px;
}

.btn-topright--visible.btn-close span {
  transform: rotate(-45deg);
  font-variation-settings: "wght" 60, "wdth" 600;
}

.btn-topright:focus {
  outline: none;
}

::selection {
  background: #000;
  /* background: rgba(0,0,0,.99); */
  color: #fff;
}

.noscroll {
  overflow: hidden;
}

.text {
  font-size: 4vw;
  line-height: 4.4vw;
  padding-right: 80px;
}

.text p, p.text {
  margin-bottom: 4.4vw;
}

.text a {
  color: #000;
  text-decoration: none;
  border-bottom: solid .25vw #000;
  transition: all .2s;
}

.text a:hover {
  text-decoration: none;
  border-bottom: solid .2vw transparent;
  transition: all .1s;
}


/* purchase btn */

.btn-purchase {
  /* width: 25px; */
  height: 25px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  /* -webkit-font-smoothing: antialiased; */
  /* line-height: 18px; */
  padding: 4px 12px;
  border-radius: 25px;
  background: #000;
  display: block;
  position: fixed;
  top: 10px;
  /* right: 45px; */
  right: 40px;
  border: none;
  z-index: 900;
  transition: all .1s;
  color: #fff;
  font-variation-settings: "wght" 60, "wdth" 500;
  text-decoration: none;
  z-index: 700;
  /* border: solid 1px #fff; */
  /* box-shadow: rgba(250,250,250,.4) 0px 2px 2px; */
}

.invert .btn-purchase {
  font-smoothing: initial;
  -webkit-font-smoothing: initial;
  -moz-osx-font-smoothing: initial;
}



/* invert */

.btn-invert {
  width: 25px;
  height: 25px;
  background: #000;
  display: block;
  position: fixed;
  top: 10px;
  right: 10px;
  border-radius: 100%;
  border: none;
  z-index: 900;
  transition: all .1s;
}

.btn-invert--invert {
  background: #fff;
}

.btn-invert:focus {
  outline: none;
}

.invert {
  filter: invert(100%);
}

.invert * {
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}




/* no support for variable fonts */

.no-variable-fonts {
}

.no-variable-fonts .examples-links {
  cursor: not-allowed;
}

.no-variable-fonts .examples-row {
}

.no-variable-fonts .examples-link {
  pointer-events: none;
  opacity: .4;
}

.no-variable-fonts .slider-1.slider--visible, .no-variable-fonts .slider-2.slider--visible {
  cursor: not-allowed;
  opacity: .4;
}

.no-variable-fonts .slider-1 input[type="range"], .no-variable-fonts .slider-2 input[type="range"] {
  pointer-events: none;
}

.no-variable-fonts .slider-1 .slider-value, .no-variable-fonts .slider-2 .slider-value {
  cursor: not-allowed;
}

.no-variable-fonts .cover-desktop-note-x, .no-variable-fonts .cover-desktop-note-y, .cover-mobile-note {
  display: none;
}



/* section.cover */
section.cover {
  height: 100%;
}

h1.mainheading {
  font-size: 15vw;
  line-height: 120%;
  /* um unterlängen anzuzeigen */
  font-variation-settings: "wght" 60, "wdth" 500;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  /* min-height: 20.5vw; */
  max-height: 100%;
  overflow: hidden;
  /* padding-top: 2vw;
  padding-bottom: 2vw; */
  margin-top: -2.2vw;
}




/* section.intro */
/* section.intro {
  font-size: 4vw;
  line-height: 110%;
  padding-right: 80px;
} */




/* section.examples */
section.examples {
}

.examples .marker {
}

.examples .container {
}

.examples-popup {
  display: block;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 800;
  z-index: -1;
  pointer-events: none;

  transition: all .4s;
  opacity: 0;
}

.examples-popup--visible {
  opacity: 1;
  pointer-events: auto;
  z-index: 800;
  transition: all .2s;
}

.examples-popup-loading {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #000;
  top: 0; right: 0; left: 0; bottom: 0;
  transition: all .4s;
  opacity: 0;
  pointer-events: none;
}

.examples-popup-loading--visible {
  opacity: 1;
  transition: all 0s;
}

.examples-popup iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.examples-links {
}

.examples-row {
  display: flex;
  flex-direction: row;
}

.examples-link {
  /* outline: solid 1px red; */
  flex: 1;
  margin: 5px;
  height: 19vw;
  padding: 1vw;

  background: #eee;
  background-size: cover;
  background-position: center;

  text-indent: -99999px;
}

.examples-row :first-child {
  margin-left: 0px;
}

.examples-row :last-child {
  margin-right: 0px;
}

.cover-mobile-note {
  display: none;
  position: absolute;
  bottom: 10vh;
  left: 0;
  text-align: center;
  width: 100%;
  padding: 0;
  animation: fadeout .8s 8s forwards;
}

@keyframes fadeout {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.cover-desktop-note-x {
  width: 100%;
  height: 50%;
  border-bottom: dashed 1px #000;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 95vh;
  text-align: right;
  padding-right: 10px;
  pointer-events: none;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  /* outline: solid 1px red; */
  /* animation: fadeout .8s 4s forwards; */
}

.cover-desktop-note-y {
  width: 50.6%;
  height: 100%;
  border-left: dashed 1px #000;
  /* outline: solid 1px red; */
  position: absolute;
  top: 0;
  right: 0;
  padding-left: 10px;
  padding-top: 5px;
  pointer-events: none;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  /* animation: fadeout .8s 4s forwards; */
}




/* sliders */
.sliders {
  position: fixed;
  height: 65px;
  bottom: 0;
  /* top: calc(100% - 65px); */
  z-index: 400;
  /* outline: solid 1px red; */
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.slider {
  height: 55px;
  background: rgba(0,0,0,.9);
  background: #000;
  color: #fff;
  flex: 1;
  pointer-events: auto;
  position: relative;
  bottom: -60px;
  padding: 15px;
  opacity: 0;
  transition: all .4s;
  border-radius: 3px;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variation-settings: "wght" 100, "wdth" 500;
}

.slider--visible {
  bottom: 0px;
  opacity: 1;
  transition: all .2s;
}

.slider input[type="range"] {
  display: block;
  width: 100%;
  -webkit-appearance: none;
  background: #666;
  height: 2px;
  margin-top: 2px;
  /* outline: solid 1px red; */
}

.slider input[type=range]:focus {
  outline: none;
  background: #fff;
}
/* add :focus states for all elements, but only after tab key usage? */

.slider input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  display: block;
  height: 15px;
  width: 15px;
  border-radius: 100%;
  background: #fff;
}

.slider input[type=range]::-ms-track {
}

.slider-value {
  /* outline: solid 1px green; */
  margin-top: 11px;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.slider-1 {
  margin-right: 5px;
  z-index: 400;
}

.slider-2 {
  margin-left: 5px;
  margin-right: 5px;
  z-index: 400;
}

.slider-3 {
  margin-left: 5px;
  z-index: 350;
}




/* section.typetester */
.typetester-textarea {
  margin: -20px;
  position: relative;
}

.typetester-textarea .contenteditable {
  padding: 20px;
  font-size: 40px;
  line-height: 110%;
  overflow: hidden;
}

.contenteditable-corner {
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
}

.contenteditable-corner-topleft {
  top: 0;
  left: 0;
  border-top: solid 2px #000;
  border-left: solid 2px #000;
}

.contenteditable-corner-topright {
  top: 0;
  right: 0;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
}

.contenteditable-corner-bottomright {
  bottom: 0;
  right: 0;
  border-bottom: solid 2px #000;
  border-right: solid 2px #000;
}

.contenteditable-corner-bottomleft {
  bottom: 0;
  left: 0;
  border-bottom: solid 2px #000;
  border-left: solid 2px #000;
}




/* section.glyphs */

section.glyphs {

}

ul.glyphs-list {
  /* outline: solid 1px red; */
  margin-left: -1.4vw;
  margin-right: -1.4vw;
}

li.glyphs-list-item {
  /* outline: solid 1px blue; */
  text-align: center;
  display: block;
  list-style-type: none;
  width: 5%;
  height: 5vw;
  float: left;
  font-size: 25px;
  font-size: 3vw;
  line-height: 5vw;
  cursor: pointer;
}

li.glyphs-list-item:hover {
  /* background: red; */
}

.glyph-zoom {
  position: fixed;
  width: 150px;
  height: 150px;
  opacity: 0;
  transition: all .4s;
  right: 40px;
  bottom: -60px;
  text-align: center;
  line-height: 145px;
  font-size: 100px;
  pointer-events: none;
  background: #000;
  color: #fff;
  border-radius: 3px;
  z-index: 500;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.glyph-zoom--visible {
  bottom: 10px;
  opacity: 1;
  transition: all .2s;
}

.tf {
  font-feature-settings: 'tnum';
}

.lig {
  font-variant-ligatures: discretionary-ligatures;
  font-feature-settings: "dlig" 1;
}

.update-191104 {
  /* background: #eee; */
  /* border-radius: 100%; */
}

.note {
  font-size: 24px !important;
  line-height: 28px;
  font-variation-settings: "wght" 75, "wdth" 500;
  margin-bottom: 56px;
  max-width: 900px;
}

.note a {
  text-decoration: underline;
  color: #000;
}

.note a:hover {
  text-decoration: none;
}



/* section.eula & .trial */
section.subpage {
  /* padding-top: 40px; */
}

.subpage .container {
  padding: 3em 40px 160px 40px;
}

.subpage-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  /* outline: solid 1px red; */
  z-index: 400;
  border-bottom: solid 2px #000;
  background: #fff;
}

.subpage-header .container {
  padding: 0;
}

.subpage-header a {
  border-bottom: none;
  color: #000;
  display: block;
  padding: 10px 40px;
}

.subpage-header a:hover {
  border-bottom: none;
  font-variation-settings: "wght" 60, "wdth" 600; 
}

h2.subpage-heading {
  font-variation-settings: "wght" 100, "wdth" 600;
  letter-spacing: .1vw;
  /* font-size: 5vw; */
}

h3.subpage-subheading {
  font-variation-settings: "wght" 90, "wdth" 500;
}

input[type="checkbox"] {
  display: inline-block;
  /* outline: solid 1px red; */
  height: 3vw;
  width: 3vw;
  cursor: pointer;
  /* line-height: 4.4vw; */
  /* -webkit-appearance: none; */
}

a.download {
  background: #000;
  color: #fff;
  border-bottom: none;
  /* margin-left: 1.6vw; */
  margin-top: 8px;
  padding: 8px 30px 12px 30px;
  display: inline-block;
  border-radius: 80px;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a.download:hover {
  border-bottom: none;
  opacity: .8;
}

a.download--inactive, a.download--inactive:hover {
  opacity: .2;
  cursor: not-allowed;
}





/* BREAKPOINTS */

@media (max-width: 600px) {
  .container {
    padding: 60px 20px 80px 20px;
  }

  .marker {
    min-width: 20px;
    padding-left: 20px;
    font-variation-settings: "wght" 75, "wdth" 400;
  }

  .text {
    font-size: 6vw;
    line-height: 6.6vw;
  }

  .text p, p.text {}

  section.intro {
    padding: 0;
    font-size: inherit;
    line-height: inherit;
  }

  .examples-row {
    display: block;
  }

  .examples-link {
    width: 100%;
    display: block;
    margin: 10px 0;
    height: 57vw;
  }

  .sliders {
    display: block;
    height: 180px;
    width: 100%;
    padding-top: 0;
    pointer-events: none;
    background: #000;
  }

  .slider {
    margin: 0;
    height: 60px;
    width: 100%;
    position: fixed;
    left: 0;
    border-radius: 0;
    /* background: red; */
    /* border-top: solid 1px black; */
  }

  .slider input[type="range"] {
    /* outline: solid 1px red; */
    margin-top: 5px;
    background: #fff;
  }

  .slider input[type=range]::-webkit-slider-thumb {
    width: 25px;
    height: 25px;
  }

  .slider-value {
    /* outline: solid 1px green; */
    margin-top: 12px;
  }

  .slider-1 {
    bottom: 70px;
  }

  .slider-2 {
    bottom: 10px;
  }

  .slider-3 {
    bottom: 130px;
  }

  /* bottom slider mobile fix */
  .slider-2:after {
    display: block;
    content: '';
    height: 20px;
    width: 100%;
    background: #000;
    color: #fff;
    position: fixed;
    bottom: 0;
    left: 0;
    margin-bottom: -100%;
    transition: all .8s;
    z-index: 300;
  }

  .slider-2.slider--visible:after {
    margin-bottom: 0;
    transition: all .4s;
  }

  .sliders {
    width: 0;
    height: 0;
    padding: 0;
  }

  .slider:not(.slider--visible) {
    margin-bottom: -100%;
    transition: all .8s;
  }

  .slider--visible {
    transition: all .4s;
  }

  ul.glyphs-list {
    margin-left: -3.5vw;
    margin-right: -3.5vw;
  }

  li.glyphs-list-item {
    width: 20%;
    height: 20vw;
    float: left;
    font-size: 10vw;
    line-height: 20vw;
  }

  .glyph-zoom {
    display: none !important;
  }

  .text a {
    border-bottom: solid .4vw #000;
  }

  .subpage-header a, .subpage-header a:hover {
    border-bottom: none;
    padding: 10px 20px;
  }

  input[type="checkbox"] {
    transform: scale(2);
    margin-left: 4px;
    margin-right: 4px;
    position: relative;
    top: -4px;
  }


  a.download {
    border: none;
    padding: 8px 20px;
  }

  .subpage .container {
    /* padding: 60px 20px 80px 20px; */
    padding: 3em 20px 80px 20px;
  }

  .subpage-header .container {
    padding: 0;
  }
}


@media (any-pointer: coarse) {
  .examples-popup {
    display: none;
  }

  .examples-popup--visible {
    display: block;
  }

  /* .sliders {
    width: 0;
    height: 0;
    padding: 0;
  } */

  .slider:not(.slider--visible) {
    margin-bottom: -100%;
    transition: all .8s;
  }

  .slider--visible {
    transition: all .4s;
  }

  .cover-mobile-note {
    /* display: block; */
    display: none;
  }

  .cover-desktop-note-x, .cover-desktop-note-y {
    /* display: none; */
  }

}
