/* -------------------------------
           GENERAL STYLES 
-------------------------------- */

:root {
	font-size: 16px;
	--link-translate-x: 3rem;
	--transition-speed: 0;
	--transition-step: 0;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-weight: normal;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

a,
a:hover,
a:active,
a:focus,
a:visited,
button,
button:hover,
button:active,
button:focus,
button:visited {
	text-decoration: none;
	background: transparent;
}

ol, /*ol= ordered lists, ul=unordered lists*/
ul {
	list-style: none;
}

body {
	/* Hintergrund von magicpattern.design */
	font-family: GapSans;
	background-color: #937738;
	background-image: linear-gradient(#d1c5ab 1px, transparent 0px), linear-gradient(90deg, #d1c5ab 1px, transparent 0px), linear-gradient(#d1c5ab 0.7px, transparent 0px);
	background-size: 40px 40px, 26vw 26vw, 8px 8px, 5px 5px;
	background-position: -0.5px -2px, -3px -3px, -2px -2px, -0.5px -0.5px;
	color: #f2f0e3;
}

/* -------------------------------
         LOGO & TITLE
------------------------------- */

.logo {
	top: 1.5rem;
	left: 1.5rem;
	position: fixed;
	font-size: calc(0.5rem + 5vmin);
	line-height: calc(0.5rem + 5.5vmin);
	z-index: 9999;
}

/* ------------------------------
          OVERLAY
--------------------------------*/
#overlay {
	position: fixed;
	top: 0;
	margin: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease;
	-webkit-transition: opacity 1s ease;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	align-content: space-around;
}

#male-work,
svg {
	width: 8vw;
	position: relative;
	margin: 0.5vw 0.5vw;
}

img {
	width: 100%;
	height: 100%;
}

.hidden {
	display: none;
}

#overlay.finally-loaded {
	visibility: visible;
	opacity: 1;
	transition: opacity 1s ease;
	-webkit-transition: opacity 1s ease;
}

.touch-button #male-work {
	animation: pixels 1s linear !important;
}

.img-wrapper:hover {
	/* filter: url("#pixelate1"); */
	animation: pixels 1s linear !important;
}

@keyframes pixels {
	0% {
		transform: scale(1);
		filter: url("#pixelate2");
	}
	50% {
		filter: url("#pixelate3");
	}
	100% {
		transform: scale(0.9);
		filter: url("#pixelate4");
	}
}

/* -------------------------------
        SCROLL SECTION
------------------------------- */

section {
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: calc(0.5rem + 3.5vmin);
	line-height: calc(0.5rem + 5vmin);
	position: relative;
	z-index: -3;
}

p {
	width: 35rem;
}

.text-highlight {
	color: #87d047;
	font-size: calc(0.5rem + 6vmin);
}

span {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.text-background {
	font-family: Rym;
	color: transparent;
	font-size: calc(0.5rem + 70vmin);
	margin-left: -10vw;
	position: absolute;
	letter-spacing: -0.085em;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: #fff;
}

.opacity {
	opacity: 0;
}
.fadeIn {
	opacity: 1;
	transition: opacity 1.5s;
}

/* ------------------------------
            COUNTDOWN
--------------------------------*/

.countdown-wrapper {
	position: static;
	height: 100%;
}

.countdown {
	position: relative;
	height: 40vh;
	padding: 20vh 0 25vh 0;
	justify-content: flex-end;
	font-family: Rym;
	color: transparent;
	text-align: center;
	font-size: calc(0.5rem + 60vmin);
	margin-left: -10vw;
	letter-spacing: -0.085em;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: #fff;
}

.countdown-handles {
	position: absolute;
	bottom: 0;
	font-family: GapSans;
	margin-left: -5rem;
	font-size: calc(0.5rem + 3.5vmin);
	line-height: calc(0.5rem + 5vmin);
	letter-spacing: normal;
	color: #fff;
	-webkit-text-stroke-width: 0px;
	-webkit-text-stroke-color: #fff;
}

/* ------------------------------
        PIE CHART ANIMATION
--------------------------------*/

figure {
	margin: 0 auto;
	position: absolute;
	width: 40vw;
	height: 40vw;
}
.pie-chart {
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	overflow: visible;
}
circle {
	fill: transparent;
	stroke-width: 31.8309886184;
	stroke-dasharray: 0, 0, 0, 100;
	stroke-dashoffset: 25;
	-webkit-animation: pie1 3s infinite ease both;
	animation: pie1 6s infinite ease both;
}
.pie1 {
	stroke: #87d047;
	transform: rotate(90deg);
	transform-origin: center;
}
.pie2 {
	stroke: transparent;
	-webkit-animation-name: pie2;
	animation-name: pie2;
	transform-origin: center;
	transform: rotate(90deg);
}

/*
 pie percentage made by stroke-dasharray.
 stroke-dasharray format is...

 keyframe 100% : 0 offset this-percentage rest

 I added keyframe 50% for infinite presentation.
*/

/* 1st pie is 98.5% */
@-webkit-keyframes pie1 {
	100% {
		stroke-dasharray: 98.5, 1.5, 0, 0;
	}
	50% {
		stroke-dasharray: 50, 50, 0, 0;
	}
	0% {
		stroke-dasharray: 98.5, 1.5, 0, 0;
	}
}

/* 2nd pie is 1.5% */
@-webkit-keyframes pie2 {
	100% {
		stroke-dasharray: 0, 0, 1.5, 98.5;
	}
	50% {
		stroke-dasharray: 0, 50, 50, 0;
	}
	0% {
		stroke-dasharray: 0, 0, 1.5, 98.5;
	}
}

/* ------------------------------
          MEDIA QUERY'S
--------------------------------*/
/* SMALLER THAN */

@media (max-width: 1100px) {
	.text-background {
		font-size: calc(0.5rem + 70vmin);
	}
}

/* SMALLER THAN */
@media (max-width: 750px) {
	p {
		width: 20rem;
	}
	.text-background {
		font-size: calc(0.5rem + 37vmin);
		margin-top: -60vw;
	}
	.countdown {
		height: 2vh;
		font-size: calc(0.5rem + 30vmin);
		padding: 10vh 0 15vh 0;
	}
	.countdown-handles {
		margin-left: -4rem;
		font-size: calc(0.5rem + 2vmin);
	}
	figure {
		width: 60vw;
		height: 60vh;
	}
	#male-work {
		width: 10vh;
		margin: 0.5vw 0.5vw;
	}
	body {
		background-image: linear-gradient(#d1c5ab 1px, transparent 0px), linear-gradient(90deg, #d1c5ab 1px, transparent 0px), linear-gradient(#d1c5ab 0.7px, transparent 0px);
		background-size: 40px 40px, 35vw 35vw, 8px 8px, 5px 5px;
		background-position: -0.5px -2px, -3px -3px, -2px -2px, -0.5px -0.5px;
	}
}

/* ------------------------------
           FONT EMBEDS 
--------------------------------*/

@font-face {
	font-family: GapSans;
	src: url("../fonts/gapsans-webfont.woff2");
}

@font-face {
	font-family: Rym;
	src: url("../fonts/RYM-Regular.woff2");
}
