body {
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	letter-spacing: normal;
	font-kerning: normal;
	-moz-font-feature-settings: "kern=1";
	-ms-font-feature-settings: "kern" 1;
	text-rendering: optimizeLegibility;
	font-variant-ligatures: common-ligatures;
	-moz-font-feature-settings: "liga", "dlig";
	-ms-font-feature-settings: "liga", "dlig";
	-webkit-font-feature-settings: "liga", "dlig";
	-o-font-feature-settings: "liga", "dlig";
	font-feature-settings: "liga", "dlig";

    font-size: 1.4rem;
	line-height: 1.8rem;
    
    font-family: 'monument';
    -moz-font-feature-settings: "ss02";
    -webkit-font-feature-settings: "ss02";
    font-feature-settings: "ss02";
    
	color: black;
	background-color: #ffffff;
}

.t_small {
    font-size: 0.7rem;
    line-height: 0.9rem;
}

.constr,
.constr * {
    color: rgba(200,200,200,1) !important;
    pointer-events: none !important;
}


html {
    overflow-x: hidden;
    overflow-y: scroll;
}

button, a, li, p, label {
    -webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
    color: #000;
}

button {
    text-decoration: none;
    box-shadow: none;
    border: none; 
    background: none;
    outline: none;
}
a {    
    position: relative;
    text-decoration: none;
    white-space: nowrap;
}
.font {
    white-space: inherit;
}
a span {    
    white-space: nowrap;
}


@media screen and (min-width: 1000px){
    a:not(.font):not(.close) {
        font-family: 'monument_gx';
        -moz-font-feature-settings: "ss02", "ss04";
        -webkit-font-feature-settings: "ss02", "ss04";
        font-feature-settings: "ss02", "ss04";
        font-variation-settings: 'mono' 0;
        transition: font-variation-settings .5s;
    }
    a:not(.font):not(.close):hover{
        font-variation-settings: 'mono' 100;
    }
}


a::after{
    content:'';
    position:absolute;
    width: 100%;
    height: 0;    
    left:0;
}

a:not(.font):hover::after{
    bottom: 0px;
    border-bottom: 2px solid;
}
.t_small a:hover::after{
    bottom: 0px;
    border-bottom: 1.5px solid;  
}





.project.unfinished {
    pointer-events: none;
}


li {
    list-style: none;
}
html ::selection {
    background: rgb(200,200,200);
    color: white;
}
a ::selection {
    background: rgb(200,200,200);
    color: white;
}
li ::selection {
    background: rgb(200,200,200);
    color: white;
}
p ::selection {
    background: rgb(200,200,200);
    color: white;
}
.quote ::selection {
    background: rgb(200,200,200);
    color: white;
} 
a, button {
    user-select: none;
}

img {
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}
span, a, li {
    text-indent: 0 !important;
}

html {
    cursor: url(../cursor/cursor.png) 0 0, auto;
}
a, label:hover, #header div, .sliderinp, .fontblock:not(.active) {
    cursor: url(../cursor/pointer.png) 8 0, auto !important;
}




/* GENERAL CLASSES 
----------------------------------------------------------- */

.fullsize {
    height: 100vh;
}
.top, #header div {
    position: absolute;
    top: 18px;
}
.left {
    left: 20px;
}
.right {
    right: 20px;
    text-align: right;
    float: right;
    white-space: nowrap;
}
.right p:first-child {
    margin-right: -7px;
}
.nowrap {
    white-space: nowrap;
}
.nopointerevent {
    pointer-events: none;
}
.stick {
    position: fixed !important;
    top: 0;
}



/* ???
----------------------------------------------------------- */

section {
    z-index: 0;
}
#header div {
    z-index: 100;
    position: fixed;
}
.logo img {
    height: 1.4rem;
    margin-top: 0.17rem;
    transform: translate(-0.1rem,0);
    left: 0;
}
#logo .bright {
    display: none;
}
#logo .dark {
    display: block;
}

#logo.inv .bright {
    display: block;
}
#logo.inv .dark {
    display: none;
}


        
#close-typo {
    z-index: 30;
}

.skew {
    display: inline-block;
}

.hidden {
    display: none;
}
.invisible {
    opacity: 0;
}









.onlymobile {
    display: none;
}



.header_bg {
    background-color: white;
    position: fixed;
    top: 0;
    width: 100%;
    height: 65px;
    z-index: 1;
}



@media screen and (max-width: 1000px){
    
    a:not(.font)::after{
        bottom: 1px;
        border-bottom: 2px dotted;
    }
    a:not(.font):hover::after{
        bottom: 1px;
        border-bottom: 2px solid;
    }
    .constr a:not(.font)::after{
        bottom: 1px;
        border-bottom: none;
    }
    
    .t_small a::after{
        bottom: -1px;
        border-bottom: 1px dotted;  
    }
    .t_small a:hover::after{
        bottom: -1px;
        border-bottom: 1px solid;  
    }
    
    .nomobile {
        display: none;
    }
    .onlymobile {
        display: block;
    }
    
    .top, #header div {
        top: 13px;
    }
    .left {
        left: 15px;
    }
    .right {
        right: 15px;
    }

    .header_bg {
        height: 55px;
    }

}







