:root {
  --font-size-header: 12px;
  --font-size-click-box: 20px;
  --font-size-type-text: auto;
  --font-size-email-button: 20px;
  --email-button-border: 1.5px;
  --padding-texts: 8px;
  --line-height-var: 115%;
  --email-button-margin: 24vw;
  --type-text-side-margins: 30px;
}

*{
    margin: 0px;
    padding: 0px;
}

@font-face {
    font-family: 'Exercise';
    src: url(00_SOURCES/00_TYPEFACES/ExerciseGrotesk-Regular.woff2) format('woff2');
}

@font-face {
    font-family: 'ExerciseThin';
    src: url(00_SOURCES/00_TYPEFACES/ExerciseGrotesk-Thin.woff2) format('woff2');
}

@font-face {
    font-family: 'ExerciseBold';
    src: url(00_SOURCES/00_TYPEFACES/ExerciseGrotesk-Bold.woff2) format('woff2');
}

@font-face {
    font-family: 'MFBOHM';
    font-weight: 400;
    src: url(00_SOURCES/00_TYPEFACES/MFBohm-Regular.woff2) format('woff2');
}

@font-face {
    font-family: 'MFBOHM-RAZOR';
    font-weight: 10;
    src: url(00_SOURCES/00_TYPEFACES/MFBohm-Razor.woff2) format('woff2');
}

@font-face {
    font-family: 'MFBOHM-MONO';
    font-weight: 10;
    src: url(00_SOURCES/00_TYPEFACES/MFBohm-MonoRegular.woff2) format('woff2');
}


body{
    font-family: 'Exercise';
    background-color: white;
}

a:link{
    color: black;
    text-decoration: none;
}
a:visited{
    color: black;
    text-decoration: none;
}

a:hover{
    color: #d9b2f6;
    text-decoration: none;
}

.click-box {
    box-sizing: border-box;
    width: 1fr;
    height: 100%;
    font-size: var(--font-size-click-box);
    text-align: left;
    justify-content: center;
    align-content: center;
}

.mf-bohm{
    font-family: 'MFBOHM';
}

.mf-mono{
    font-family: 'MFBOHM-MONO';
}

.MF-Box{
    font-family: 'MFBOHM';
}

.grid-v{
    display: flex;
    flex-direction: column;
}

.grid-v-hp{
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.grid-h{
    display: grid;
    height: 100%;
    grid-template-columns: 1fr 1fr;
    padding: var(--padding-texts);
}

.grid-h-3{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: var(--padding-texts);
}

.grid-h p{
    hyphens: none;
}
.grid-h-3 p{
    hyphens: none;
}

.header-hp{
    align-self: flex-start;
}
.header-hp p{
    padding: var(--padding-texts);
}

.header{
    display: flex;
    position: sticky;
    top: 0;
    justify-content: space-between;
}

.img-border img{
    border: 1px solid black;
}

.header p {
    padding: var(--padding-texts);
}

.footer{
    margin-top: auto;
    padding: var(--padding-texts);
}

.pt-text{
    padding: var(--padding-texts);
    display: flex;
    flex-direction: column;
}

.about-stuff{
    line-height: var(--line-height-var);
}

.credits{
    padding: var(--padding-texts);
}

.manifest-notes{
    padding: var(--padding-texts);
}

.intro-text{
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 100vh;
    font-size: 38px;
}

.exercise-intro-text{
    font-family: 'ExerciseThin';
}

.mfbohm-intro-text{
    font-family: 'MFBOHM-RAZOR';
}

.big-svg{
    width: 1fr;
}

.font-in-use{
    width: 1fr;
    text-align: center;
}
.font-in-use img{
    width: 100%;
    object-fit: contain;
}

.font-in-use p{
    padding: var(--padding-texts);
}

::selection {
    color: #d9b2f6;
  }

.big-svg img{
    width: 100%;
    object-fit: contain;
}

.sticky-element{
    position: sticky;
    top: 0;
    /* padding: var(--padding-texts); */
}

.email-button{
    display: flex;
    margin-top: 50px;
    margin-bottom: 50px;
    margin-left: var(--email-button-margin);
    margin-right: var(--email-button-margin);
    padding: 40px;
    background-color: black;
    border: var(--email-button-border) solid black;
    justify-content: center;
    text-align: center;
}

.email-button:hover{
    background-color: white;
    border: var(--email-button-border) solid #d9b2f6;
}

.email-button p{
    font-size: var(--font-size-email-button);
    color: white;
}

.email-button:hover p{
    color: #d9b2f6;
}

.type-text{
    margin: var(--type-text-side-margins);
    font-size: var(--font-size-type-text);
    justify-content: center;
    text-align: left;
}

.text-bold{
    font-family: 'ExerciseBold';
}

.ss-01{
    font-feature-settings: "ss01" 1;
}

.opentype-features > .grid-h{
    padding: 0px;
}

.bottom-technical-shit{
/* code borrowed from https://stackoverflow.com/questions/14387690/how-can-i-show-only-corner-borders thank you very much!*/
  --b: 1.5px;   /* thickness of the border */
  --c: #d9b2f6;   /* color of the border */
  --w: 40px;  /* width of border */
  
  border: var(--b) solid #0000; /* space for the border */
  --_g: #0000 90deg,var(--c) 0;
  --_p: var(--w) var(--w) border-box no-repeat;
  background:
    conic-gradient(from 90deg  at top    var(--b) left  var(--b),var(--_g)) 0    0    / var(--_p),
    conic-gradient(from 180deg at top    var(--b) right var(--b),var(--_g)) 100% 0    / var(--_p),
    conic-gradient(from 0deg   at bottom var(--b) left  var(--b),var(--_g)) 0    100% / var(--_p),
    conic-gradient(from -90deg at bottom var(--b) right var(--b),var(--_g)) 100% 100% / var(--_p);
    
  margin: 10px;
  padding: var(--padding-texts);
  line-height: var(--line-height-var);
}
