.bg {
	opacity: 0;
	background-size: cover;
	background-position: center;
	filter: brightness(40%) blur(4px);
	width: 100%;
	display: grid;
	height: 100vh;
	z-index: -1;
	position: fixed;
	transition: opacity 1s;
}

desc {
	content: "";
}

body {
	box-sizing: border-box;
	background-color: #000;
	font-family: 'PT Sans', sans-serif;
	margin: 0;
	color: #fff;
	box-sizing: border-box;
	margin: 0px;
	background-color: #000;
	z-index: 0;
	align-items: center;
}

.overlay p {
    color: white;
    text-align: center;
    text-shadow: 2px 2px black;
    font-variant: small-caps;
    letter-spacing: 5px;
    margin-top: 3vh;
    font-size: 2vh;
}

.overlay > span > img {
		width: 700px;
}

.undertitle span {
    color: white;
	text-align: left;
    text-shadow: 2px 2px black;
    font-variant: small-caps;
    letter-spacing: 50px;
    font-size: 2vh;
	width: calc(100% - 90px);
}

.undertitle span:after {
   content:"";
   margin-left: -50px;
}

.overlay {
	text-align: center;
	height: 100vw;
	width: 100vw;
	position: absolute;
	top: 0;
	align-content: center;
	height: 100vh;
	min-height: 700px;
}

.mainsite {
	min-height: calc(100vw/2);
	width: 100vw
}

.overlay > a > img,
.overlay > div > img {
	filter: saturate(1);
	width: 700px;
}

.footer-special {
	display: grid;
	grid-template-columns: 1fr 1fr
}
/*
@media only screen and (min-width: 801px) {
	.overlay span img,
	.overlay > div > img {
		margin-top: 5vh
	}
} */

@media only screen and (max-width: 800px) {
	.overlay span img,
	.overlay > div > img {
		width: 70%
	}

	.undertitle span {
	    color: white;
	    text-align: center;
	    text-shadow: 2px 2px black;
	    font-variant: small-caps;
	    letter-spacing: 5vw;
		margin-right: -5vw;
	    font-size: 3vw;
	}
}

@media only screen and (max-width: 600px) {
	.logo {
		margin-top: 15vh;
		width: 50%
	}
}

.logo:hover,
.overlay > a > img:hover,
.overlay > div > img:hover {
	animation: zoom-out-in 1s ease-in-out;
}

@keyframes zoom-out-in {
		0% {
			transform: scale(1);
			filter: saturate(1);
		}
		50% {
			transform: scale(1.1);
			filter: saturate(1.75);
		}
}

h2 {
	font-weight: 700
}

footer {
	position: fixed;
	bottom: 0;
	display: inline-block;
	text-align: center;
	background: #0009;
	width: 100vw;
	left: 0;
	font-size: initial
}

footer p {
	display: inline-block;
	margin: 25px 0
}



.WIDEBUTTON {
	overflow: hidden
}

.WIDEBUTTON img {
	width: 100vw;
	height: auto;
	background-size: 100%;
	transition: filter .3s ease-in-out;
	filter: grayscale(100%)
}

.WIDEBUTTON img:hover {
	filter: none
}

html {
	overflow-x: hidden
}

object {
	pointer-events: none
}

.halftone-left {
	animation: slide 10s linear infinite;
}
.halftone {
    pointer-events:none;
    content: "";
    float: left;
    height: 100vh;
    width: 50%;
	background-size: 50%;
    background-image: url("images/halftone.svg");
	position: fixed;
    mix-blend-mode: overlay;
    background-repeat: repeat-y;
    z-index: -1;
}
.halftone-right {
    top: 0;
    right: 0;
    transform: rotate(180deg);
	animation: slideR 10s linear infinite;
}

@keyframes sheen {
	0% {
		transform: skewY(-45deg) translateX(0)
	}

	100% {
		transform: skewY(-45deg) translateX(12.5em)
	}
}

@keyframes slide {
  0% {
    background-position: 0px 0px;
  }
  100% {
	background-position: 0px -142px; /* The image width */
  }
}
@keyframes slideR {
    0% {
	  background-position: 0px 142px;
    }
    100% {
      background-position: 0px 0px; /* The image width */
  }
}
