/* ====================================================================== */
/* =========================== Default Screen =========================== */
/* ====================================================================== */

*,
*::after,
*::before {
	background-position: 000% 000%;
	background-repeat: no-repeat;
	box-sizing: border-box;
	background-size: cover;
}

:root {
	--main-color: #25281B;
	--font-color: rgb(255, 250, 245);
	--alts-color: rgb(255, 094, 072);
	--back-color: rgb(117, 030, 041);
}

html {
	height: 100%;
	font-family: 'Robert', Helvetica, Arial, sans-serif;
	scroll-behavior: smooth;
	font-size: 0.6945vw;
	overflow-y: scroll;
	font-weight: 400;
	cursor: default;
}
	
body {
	width: 100%;
	height: 100%;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-size-adjust: none !important;
	font-smoothing: antialiased !important;	
	background: var(--main-color);
	color: var(--font-color);
	position: absolute;
	line-height: 0;
	padding: 0;
	margin: 0;
	top: 0;
}

.setWrapper {
	width: calc(100% - 9.6rem);
	margin: 7.2rem auto;
	position: relative;
}

body.isDone {
    overflow: hidden;
}

/* ---------------------------------------- */
/* ----- >>> Preloader -------------------- */
/* ---------------------------------------- */

.isLoader {
	width:  100vw;
	height: 100vh;
	background: var(--main-color);
	color: var(--font-color);
	justify-content: center;
	text-align: center;
	align-items: center;
	position: fixed;
	z-index: 99999;
	display: flex;
	left: 0;
	top: 0;
}

.isLoader p {
	width:  10.0rem;
	font-size: 1.8rem;
	text-align: left;
}

.isLoader p:after {
	overflow: hidden;
	display: inline-block;
	vertical-align: bottom;
	-webkit-animation: ellipsis steps(4,end) 900ms infinite;
	animation: ellipsis steps(4,end) 900ms infinite;
	content: "\2026";
	width: 0px;
}

@keyframes ellipsis {
  to { width: 1.25em;  }
}

/* ---------------------------------------- */
/* ----- >>> Structure -------------------- */
/* ---------------------------------------- */

header,
footer,
section {
	width: 100%;
	position: relative;
	overflow: hidden;
}

header {
	width: 100%;
	transition: all 0.5s ease-in-out;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
}

footer  {
	background: var(--main-color);
}

/* ---------------------------------------- */
/* ----- >>> Styles ----------------------- */
/* ---------------------------------------- */

h1				{ font: 400 06.4rem/1.10em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.000rem; }
h2				{ font: 400 04.8rem/1.10em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.000rem; }
h3				{ font: 400 03.1rem/1.23em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.050rem; }
h4				{ font: 400 02.1rem/1.25em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.000rem; }
h4				{ font: 400 02.1rem/1.25em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.000rem; }
p, dd 		{ font: 400 02.1rem/1.50em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.000rem; }
small 		{ font: 400 02.1rem/1.25em 'Robert', sans-serif; margin-bottom: 2.4rem; letter-spacing: +0.000rem; }
blockquote 	{ font: 400 9.0rem/1.00em 'Robert', sans-serif; margin-bottom: 9.6rem; letter-spacing: -0.100rem; }
a 			{ text-decoration: none;}

em {
	display: inline-block;
	text-transform: none;
	font-size: 3.2rem;
}

h1 > em {
	transform: translateY(-2.4rem);
}

h1.isDSB,
h1.isDSA {
	line-height: 1.25em;
	font-size: 5.0rem;
	font-weight: 300;
}

p.isAlt {
	width: 100%;
	justify-content: space-between;
	display: flex !important;
	align-items: center;
	margin-top: 1.6rem;
}

small.isAlt {
	opacity: 0.5;
	margin-top: 3.0rem;
	font-size: 1.8rem;
}

blockquote.isAlt {
	line-height: 1.05em;
	font-size: 9.6rem;
}

/* ---------------------------------------- */
/* ----- >>> Navegation ------------------- */
/* ---------------------------------------- */

header .setWrapper,
footer .setWrapper {
	margin: 3.2rem auto;
}

header nav {
	justify-content: space-between;
	align-items: center;
	display: flex;
}

header nav > ul {
	font: 400 1.8rem/1.50em 'Robert', sans-serif;
	display: flex;
	gap: 3.2rem;
}

header nav > ul{
	width: 40%;
}

header nav > ul:nth-of-type(2){
	  justify-content: end;
}

header .logoCont{
	width: 9.6rem;;
}

header nav > ul > li > a {
	position: relative;
}

header nav > ul:last-of-type {
	flex-direction: row;
	position: absolute;
	font-size: 1.4rem;
	bottom: 1.6rem;
	display: none;
	gap: 2.4rem;
}

header nav > ul:last-of-type > li > a:after {
	margin-left: 0.6rem;
	content: "→";
}

/* ---------------------------------------- */

footer > .setWrapper > div {
	flex-direction: column;
	display: flex;
	gap: 4.8rem;
}

footer > .setWrapper > div > * {
	justify-content: space-between;
	display: flex;
}


footer > .setWrapper > div > * p {
	width: 100%;
	position: relative;
	line-height: 1.0em;
	font-size: 6.4rem;
}

footer > .setWrapper > div > * ul {
	font: 400 2.1rem/1.50em 'Robert', sans-serif;
	display: flex;
	gap: 4.8rem;
}

footer > .setWrapper > div > * > *:last-child {
	min-width: 36rem;
}

footer > .setWrapper > div  form * p {
	padding-bottom: 1.1rem;
	font-size: 3.2rem;
}


footer > .setWrapper > div:first-child > div:first-child {
	flex-direction: column-reverse;
}

footer > .setWrapper > div:first-child > div:first-child > * {
	width: 100%;
	position: relative;
	flex-direction: row;
	gap: 1.6rem;
}

footer > .setWrapper > div:first-child > div:first-child > small > a {
	position: absolute;
	right: 0;
	top: 0;
}

/* ---------------------------------------- */

.setExtra {
	width: 100%;
	margin-top: 2.0rem;
}


.setExtra p {
	letter-spacing: unset !important;
	text-transform: none !important;
	line-height: 1.2em !important;
	font-size: 1.5rem !important;
	margin-bottom: 0.0rem;
	opacity: 0.5;
}

.setExtra > p > span { 
	padding-right: 3.2rem;
	position: relative;
	cursor: pointer;
	font-size: 2.2rem;
}

.setExtra > p > span:after {
	font: 300 2.0rem/2.4rem 'Robert', sans-serif;
	transition: all 0.25s ease-in-out;
	position: absolute;
	right: 0.0rem;
	content: "↓";
	top: 0.0rem;
}

.setExtra > p.isActive > span:after {
	transform: rotate(180deg);
}

.setExtra > div {
	display: none;
}

/* ---------------------------------------- */

header.onTop {
	top: -10rem;
}

/* ---------------------------------------- */
/* ----- >>> Section: Home ---------------- */
/* ---------------------------------------- */

.setBND {
	width: 110%;
	margin: 10vh -5% 6.4rem -5%;
	position: fixed;
	top: 0;
}

.isTAC.isMB064 {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
}

.setBND > li {
	transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
	transform: translateY(000.000%);
	animation-delay: 100ms;
	float: left;
}

body:not(.isDone) .setBND > li:nth-child(1) {width: 25%; animation: 30s isS01 1s forwards; }
body:not(.isDone) .setBND > li:nth-child(2) {width: 25%; animation: 30s isS02 1s forwards; }
body:not(.isDone) .setBND > li:nth-child(3) {width: 25%; animation: 30s isS03 1s forwards; }
body:not(.isDone) .setBND > li:nth-child(4) {width: 25%; animation: 30s isS04 1s forwards; }

@keyframes isS01 {
	000% { transform: translateY(000.000%); }
	010% { transform: translateY(030.000%); }
	020% { transform: translateY(024.000%); }
	040% { transform: translateY(028.000%); }
	060% { transform: translateY(024.000%); }
	080% { transform: translateY(026.000%); }
	100% { transform: translateY(024.000%); }
}

@keyframes isS02 {
	000% { transform: translateY(000.000%); }
	010% { transform: translateY(006.000%); }
	020% { transform: translateY(000.000%); }
	040% { transform: translateY(004.000%); }
	060% { transform: translateY(000.000%); }
	080% { transform: translateY(002.000%); }
	100% { transform: translateY(000.000%); }
}

@keyframes isS03 {
	000% { transform: translateY(000.000%); }
	010% { transform: translateY(-36.000%); }
	020% { transform: translateY(-30.000%); }
	040% { transform: translateY(-34.000%); }
	060% { transform: translateY(-30.000%); }
	080% { transform: translateY(-32.000%); }
	100% { transform: translateY(-30.000%); }
}

@keyframes isS04 {
	000% { transform: translateY(000.000%); }
	010% { transform: translateY(030.000%); }
	020% { transform: translateY(024.000%); }
	040% { transform: translateY(028.000%); }
	060% { transform: translateY(024.000%); }
	080% { transform: translateY(026.000%); }
	100% { transform: translateY(024.000%); }
}

.isGRD {
	margin-bottom: 0.0rem !important;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	margin-top: 12.8rem;
	display: flex;
}

.isGRD > li {
	background: rgba(255, 0, 0, 0);
	padding-top: 12.8rem;
	max-width: 50rem;
}

.isGRD > li:nth-child(1) { transform: translate(-030%, +000%); }
.isGRD > li:nth-child(2) { transform: translate(+080%, -010%); }
.isGRD > li:nth-child(3) { transform: translate(-080%, -000%); 
	margin-bottom: 25.6rem;
	margin-top: -48rem; 
}

/* ---------------------------------------- */

.setWrapper.isAlt {
	width:  calc(100% - 09.6rem);
	height: calc(100% - 09.6rem);
	flex-direction: column;
	position: absolute;
	display: flex;
	left: 4.8rem;
	top: 4.8rem;
	margin: 0;
}

.setWrapper.isAlt h1 {
	max-width: 72rem;
}

.setWrapper.isAlt.isV02 em {
	text-transform: uppercase;
}

.setWrapper.isAlt.isV02 > *:last-child {
	margin-top: auto;
}

.setWrapper.isAlt.isV02 .isDSB > span:first-of-type:before {
	content: "/ ";
}

/* ---------------------------------------- */

.isINT {
	justify-content: space-between;
	margin-bottom: -1.8rem;
	display: flex;
}

.isINT > div:first-of-type { width: 40%; }
.isINT > div:last-of-type  { width: 60%; }

.isINT > div > p {
	position: relative;
	max-width: 54rem;
}

.isINT > div > p > span {
	position: absolute;
	left: -6.4rem;
}

.isSRC {
	width: 100%;
	margin: 0 auto -6.4rem auto !important;
	position: relative;
	max-width: 54rem;
}

.isSRC > img {
	border-radius: 50%;
	overflow: hidden;
}

.isSRC > img:last-of-type {
	clip-path: inset(50% 0 0 0);
	position: absolute;
	bottom: 0;
}

.isSRC:before,
.isSRC:after {
	font: 500 1.8rem/1.0em 'Robert', sans-serif;
	text-transform: uppercase;
	position: absolute;
	text-align: left;
}

.isSRC:before { top: 30%; color: var(--main-color); content: "Hongo";   left:  -4.8rem; transform: translate(-100%, -50%);}
.isSRC:after  { top: 60%; color: var(--font-color); content: "Micelio"; right: -4.8rem; transform: translate(100%, -50%); }

#Material {
	background: rgb(041, 045, 031);
}

/* ---------------------------------------- */

#Particulas canvas {
	width: 	100%;
	height: 125vh;
	filter: drop-shadow(0.0rem 0.0rem 0.2rem var(--font-color));
	position: relative;
	z-index: 100;
}

#Particulas .isFIX {
	position: absolute;
	bottom: 9.6rem;
	left: 4.0rem;
}

#Particulas .isFIX:first-of-type {
	mix-blend-mode: difference;
	color: var(--font-color);
	z-index: 200;
}

#Particulas #isMSK {
	filter: hue-rotate(180deg) brightness(110%);
	color: var(--alts-color);
	z-index: 000;
}

/* ---------------------------------------- */

.isCNT {
	margin: 0.0rem auto 3.2rem auto;
	position: relative;
	width: 80%;
}

.isCNT span {
	font: 400 72rem/1.0em 'Robert', sans-serif;
	transform: translate(-55%,-55%);
	position: absolute;
	text-align: center;
	z-index: 0;
	left: 50%;
	top: 50%;
}

.isCNT > img {
	z-index: 100;
}

.isFCS {
	width: 100%;
	text-transform: uppercase;
	font-size: 1.8rem;
}

.isFCS > li {
	border-bottom: 0.15rem solid currentColor;
	justify-content: space-between; 
	padding: 2.0rem 0.0rem;
	white-space: nowrap;
	display: flex;
	gap: 12.8rem;
}

.isFCS > li > span {
	display: inline-block;
	line-height: 1.0em;
}

.isFCS:not(.isAlt) > li:first-of-type {
	text-transform: none;
	font-size: 2.1rem;
}

.isFCS > li > span > em {
	letter-spacing: 0.3em;
	display: inline-block;
	margin-right: 0.8rem;
	font-size: 100%;
}

.isFCS.isAlt {
	margin-top: 12.8rem;
}

.isFCS.isAlt,
.isFCS.isAlt > li:last-child {
	border: none;
}

.isFCS.isAlt > li {
	padding: 1.2rem 0.0rem;
}

.isFCS.isAlt > li:nth-child(1) { justify-content: flex-start;   }
.isFCS.isAlt > li:nth-child(2) { justify-content: space-around; }
.isFCS.isAlt > li:nth-child(3) { justify-content: space-around; }
.isFCS.isAlt > li:nth-child(4) { justify-content: space-between;}
.isFCS.isAlt > li:nth-child(5) { justify-content: space-around; }

/* ---------------------------------------- */

.isIMG > .setItems > .setItem {
	position: relative;
}

.isIMG > .setItems > .setItem > img {
	border-radius: 50%;
}

.isIMG > .setItems > .setItem > span {
	font: 500 1.6rem/1.0em 'Robert', sans-serif;
	letter-spacing: 0.25em;
	position: absolute;
	bottom: 0;

}

/* ---------------------------------------- */

.isEQU {
	margin: 6.4rem auto;
	position: relative;
}

.isEQU,
.isEQU > li {
	font: 600 1.6rem/1.1em 'Robert', sans-serif;
	text-transform: uppercase;
	justify-content: center;
	letter-spacing: 0.05em;
	align-items: center;
	display: flex;
	gap: 2.4rem;	
}

.isEQU > li {
	gap: 1.2rem;
}

.isEQU > li > img {
	border-radius: 50%;
	max-width: 10.0rem;
}

/* ---------------------------------------- */
/* ----- >>> Scroll Video ----------------- */
/* ---------------------------------------- */

/*
#Compost {
	width: 100%;
	height: 250vh;
	margin-top: -12.8rem;
	position: relative;
	z-index: 100;
}

#Compost > canvas {
	transform: translateX(-50%);
	position: relative;
	max-width:  100vw;
	max-height: 100vh;
	left: 50%;
}

/* ---------------------------------------- */
/* ----- >>> General ---------------------- */
/* ---------------------------------------- */

img,
video,
picture {
	width: 100%;
	height: auto !important;
	position: relative;
	display: block;
}

a:empty {
	width:  100%;
	height: 100%;
	display: block;
}


.isTAL { text-align: left;   }
.isTAC { text-align: center; }
.isTAR { text-align: right;  }

.isTTU { text-transform: uppercase; }

.isDSA,
.isDSB {
	text-transform: uppercase;
	display: flex;
}

.isDSA.isDSK,
.isDSB.isDSK {
	display: flex !important;
}

.isLMT {
	margin-right: auto;
	margin-left: auto;
	max-width: 72rem;
}

.isDSA { justify-content: space-around; }
.isDSB { justify-content: space-between; }

.isDSK { display: block !important; }
.isMBL { display: none  !important; }

/* ---------------------------------------- */

.isFull { width: calc(100% - 00.0rem); margin: 0 auto; }
.isAuto { width: calc(100% - 06.4rem); }
.isThir { width: calc(075% - 00.0rem); }
.isHalf { width: calc(050% - 00.0rem); }

.isWide {
	width: 100%;
}

.isWide > *:not(video) {
	width: calc(100% - 9.6rem);
	margin-right: auto;
	margin-left: auto;
}

/* ---------------------------------------- */

.isMRG00 { margin:   000rem auto !important;  }

.isMTA00 { margin-top:	  auto	!important; }
.isMT000 { margin-top:	  00.0rem !important; }
.isMT008 { margin-top:	  00.8rem !important; }
.isMT016 { margin-top:	  01.6rem !important; }
.isMT032 { margin-top:	  03.2rem !important; }
.isMT024 { margin-top:	  02.4rem !important; }
.isMT048 { margin-top:	  04.8rem !important; }
.isMT064 { margin-top:	  06.4rem !important; } 
.isMT072 { margin-top:	  07.2rem !important; }
.isMT080 { margin-top:	  08.0rem !important; }
.isMT096 { margin-top:	  09.6rem !important; }
.isMT112 { margin-top:	  11.2rem !important; }
.isMT128 { margin-top:	  12.8rem !important; }
.isMT144 { margin-top:	  14.4rem !important; }
.isMT160 { margin-top:	  16.0rem !important; }
.isMT256 { margin-top:	  25.6rem !important; }

.isMB000 { margin-bottom: 00.0rem !important; }
.isMB004 { margin-bottom: 00.4rem !important; }
.isMB008 { margin-bottom: 00.8rem !important; }
.isMB016 { margin-bottom: 01.6rem !important; }
.isMB032 { margin-bottom: 03.2rem !important; }
.isMB048 { margin-bottom: 04.8rem !important; }
.isMB054 { margin-bottom: 05.4rem !important; }
.isMB064 { margin-bottom: 06.4rem !important; }
.isMB072 { margin-bottom: 07.2rem !important; }
.isMB080 { margin-bottom: 08.0rem !important; }
.isMB096 { margin-bottom: 09.6rem !important; }
.isMB112 { margin-bottom: 11.2rem !important; }
.isMB128 { margin-bottom: 12.8rem !important; }
.isMB144 { margin-bottom: 14.4rem !important; }
.isMB160 { margin-bottom: 16.0rem !important; }
.isMB256 { margin-bottom: 25.6rem !important; }

/* ---------------------------------------- */

.setGrid {
	margin-bottom: 3.2rem;
}

.setGrid,
.setGrid .setItems {
	width: 100%;
}

.setGrid:not(.setSwiper) .setItems {
	flex-wrap: wrap;
	display: flex;
}

.setGrid[data-max="2"] .setItems > .setItem  { width: calc(50.000000% - 0.20rem); }
.setGrid[data-max="3"] .setItems > .setItem  { width: calc(33.323232% - 0.27rem); }
.setGrid[data-max="4"] .setItems > .setItem  { width: calc(25.000000% - 0.30rem); }
.setGrid[data-max="5"] .setItems > .setItem  { width: calc(20.000000% - 0.32rem); }
.setGrid[data-max="6"] .setItems > .setItem  { width: calc(16.666666% - 0.33rem); }
.setGrid[data-max="7"] .setItems > .setItem  { width: calc(14.285714% - 0.34rem); }
.setGrid[data-max="8"] .setItems > .setItem  { width: calc(12.500000% - 0.35rem); }
.setGrid[data-max="9"] .setItems > .setItem  { width: calc(11.111111% - 0.36rem); }
.setGrid[data-max="10"] .setItems > .setItem { width: calc(10.000000% - 0.36rem); }

/* ---------------------------------------- */

.setSwiper {
	z-index: 9000;
	position: relative;
	overflow: hidden;
}

.setSwiper .setItems .setItem {
	margin-bottom: 0;
}

.setPrev,
.setNext {
	width:  3.2rem;
	height: 3.2rem;
	background: url(../assets/SVG/SVG_ARW.svg?00002) no-repeat 0 0 / 200% 100%;
	border: thin solid rgba(0, 0, 0, 1.0);
	margin-bottom: 2.4rem;
	border-radius: 50%;
	cursor: pointer;
	z-index: 9999;
}

.setPrev { left:  0.0rem; background-position: 000% 000%; float: left; }
.setNext { right: 0.0rem; background-position: 100% 000%; float: right; }

.setDots {
	justify-content: center;
	align-items: center;
	margin-top: 3.2rem;
	display: flex;
	gap: 1.6rem;
}

/* ---------------------------------------- */

dl, dt , dd {
	width: 100%;
}

dl {
	border-bottom: 0.1rem solid currentColor;
	max-width: 78rem;
	margin: 0 auto;
}


dl > dt {
	font: 500 1.8rem/1.50em 'Robert', sans-serif;
	text-transform: uppercase;
	padding: 2.4rem 0.0rem;
	position: relative;
	cursor: pointer;
}

dl > dt:not(:first-of-type) {
	border-top: 0.15rem solid currentColor;
}

dl > dt > span { 
	display: inline-block;
	margin-right: 1.6rem;
	font-size: 125%;
}

dl > dt:after {
	width:  2.4rem;
	height: 2.4rem;
	font: 300 2.4rem/2.4rem 'Robert', sans-serif;
	transition: all 0.25s ease-in-out;
	transform: translateY(-50%);
	text-align: center;
	position: absolute;
	right: 0.0rem;
	content: "↓";
	top: 50%;
}

dl > dd {
	padding-bottom: 3.20rem;
	margin-bottom: 0;
	display: none;
}

dl > dd > p:last-child {
	margin-bottom: 0;
	padding: 0;
}

dl.isAlt {
	border-bottom: unset;
	max-width: unset;
}

dl.isAlt > dt {
	border-top: 0.15rem solid currentColor;
	font-size: 4.8rem;
	font-weight: 300;
}

dl.isAlt > dt > span { 
	margin-right: 3.2rem;
	font-size: 100%;
}

dl.isAlt > dt:after {
	width:  4.8rem;
	height: 4.8rem;
	font: 300 4.0rem/4.0rem 'Robert', sans-serif;
	transition: all 0.25s ease-in-out;
	border: 0.2rem solid currentColor;
	transform: translateY(-50%);
	border-radius: 50%;
	text-align: center;
	position: absolute;
	right: 1.6rem;
	content: "↓";
	top: 50%;
}

dl > dt.isActive:after {
	transform: rotate(180deg) translateY(50%);
}

dl.isAlt > dd {
	padding: 1.6rem 12.8rem 2.4rem 25.6rem;
	display: none;
}

dl.isAlt > dd > div {
	width: 100%;
	display: flex;
	gap: 6.4rem;
}

dl.isAlt > dd > div > img {
	width: calc(35% - 3.2rem);
}

dl.isAlt > dd > div > ul {
	width: calc(64% - 3.2rem);
	flex-direction: column;
	display: flex;
	gap: 1.6rem;
}

dl.isAlt > dd > div > ul > li {
	list-style: numeric;
}

/* ---------------------------------------- */
/* ----- >>> Media Form ------------------- */
/* ---------------------------------------- */

form {
	width: 100%;
	flex-direction: column;
	position: relative;
	flex-wrap: wrap;
	display: flex;
}

.isInput {
	width: 100%;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	display: flex;
	gap: 1.6rem;
}

.isInput:last-child {
	justify-content: flex-end;
	padding-bottom: 0;
}

.isWrong {
	border-bottom: thin solid rgba(255, 0, 0, 0.5);
	color: rgba(255, 0, 0, 1);
}

.isOutput {
	width: 100%;
	font: 300 2.1rem/1.5em 'Robert', sans-serif;
	margin-top: 1.6rem;
	text-align: left;
}

::-webkit-input-placeholder { opacity: 0.5; color: inherit; }
:-ms-input-placeholder		{ opacity: 0.5; color: inherit; }
::-moz-placeholder			{ opacity: 0.5; color: inherit; }
:-moz-placeholder			{ opacity: 0.5; color: inherit; }

input, textarea, select, button {
	box-shadow: none !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-appearance: none;
	box-sizing: border-box
}

input, select, textarea, button {
	all: unset;
	width: 100%;
	font: 300 2.1rem/1.5em 'Robert', sans-serif;
	border-bottom: thin solid rgba(255, 255, 255, 0.5);
	transition: all 0.25s ease-in-out;
	background: transparent;
	color: var(--font-color);
	padding: 1.6rem 0.0rem;
	position: relative;
	resize: none;
}

textarea {
	height: 5.4rem;
}

button {
	width: auto;
	margin-top: 1.6rem;
	border: none;
	padding: 0;

}

/* ---------------------------------------- */
/* ----- >>> Icon Sets -------------------- */
/* ---------------------------------------- */

.isICN {
	width:  4.8rem;
	height: 4.8rem;
	background: url(../assets/SVG/SVG_ICN.svg?00001) no-repeat 000% 000% / 1200% 100%;
	transform: translateY(-5%);
	vertical-align: middle;
	display: inline-block;
	margin-right: 2.4rem;
}

.isBND {
	width: 9.6rem;
	aspect-ratio: 5.3333 / 1;
	background: url(../assets/SVG/SVG_BND.svg?00001) no-repeat 000% 000% / 100% 100%;
	display: inline-block;
}

.isSYM {
	width:  3.2rem;
	height: 9.6rem;
	background-image: url(../assets/SVG/SVG_SYD.svg);
}

.isMTH {
	width:  4.8rem;
	height: 4.8rem;
	background-image: url(../assets/SVG/SVG_MTD.svg);
	border: 0.15rem solid currentColor;
	border-radius: 50%;
}

.setWrapper > .isBND {
	display: none;
}

.isP01 { background-position: 000.000% 000.000% }
.isP02 { background-position: 009.090% 000.000% }
.isP03 { background-position: 018.181% 000.000% }
.isP04 { background-position: 027.272% 000.000% }
.isP05 { background-position: 036.363% 000.000% }
.isP06 { background-position: 045.454% 000.000% }
.isP07 { background-position: 054.545% 000.000% }
.isP08 { background-position: 063.636% 000.000% }
.isP09 { background-position: 072.727% 000.000% }
.isP10 { background-position: 081.818% 000.000% }
.isP11 { background-position: 090.909% 000.000% }
.isP12 { background-position: 100.000% 000.000% }

.isP21 { background-position: 000.000% 000.000% }
.isP22 { background-position: 100.000% 000.000% }


/* ---------------------------------------- */
/* ----- >>> Menu Animation --------------- */
/* ---------------------------------------- */

.setMenu {
	position: absolute;
	padding: 0.8rem;
	display: none;
	z-index: 9990;
	right: 0.6rem;
	top: 0.6rem;
}

.setMenu .setIcon {
	width:  1.8rem;
	height: 1.8rem;
	position: relative;
	padding: 0.6rem;
	cursor: pointer;
	float: right;
}

.setMenu .setIcon span {
	width:  100%;
	height: 0.2rem;
	display: block;
	transition: .25s;
	background: var(--font-color);
	transform: rotate(0deg);
	border-radius: 3.2rem;
	position: absolute;
	opacity: 1;
	left: 0;
}

.setMenu .setIcon span:nth-child(1) { top: 025%; }
.setMenu .setIcon span:nth-child(2) { top: 060%; }

.isOpen .setMenu .setIcon span {
	background: var(--main-color);
	top: 0.8rem
}

.isOpen .setMenu .setIcon span:nth-child(1) {
	transform: rotate(+45deg);
}

.isOpen .setMenu .setIcon span:nth-child(2) {
	transform: rotate(-45deg);
}

/* ---------------------------------------- */
/* ----- >>> Animations ------------------- */
/* ---------------------------------------- */

a,
button,
a > span {
	transition: all 0.25s ease-in-out;
}

a > u {
	padding-bottom: 0.6rem;
	text-decoration: none;
	position: relative;
}

a > u:before,
button:before {
	width:  100.0%;
	height: 1px;
	transition: transform 0.25s ease-in-out;
	background: currentColor;
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
}

a > u:before,
a > u:hover:before{
	transform-origin: 0 50%;
	transform: scaleX(1);
	background: currentColor;
	display: block;
	z-index: 1;
}

a > u:before{
	transform-origin: 100% 50%;
	transform: scaleX(0);
}

button:hover:before,
a > u.isAlt:before,
a > u.isAlt:hover:before {
	transform-origin: 100% 50%;
	transform: scaleX(0);
}

button:before,
a > u.isAlt:before {
	transform-origin: 0 50%;
	transform: scaleX(1);
}

a:hover > span {
	opacity: 0.5;
}

/* ---------------------------------------- */
/* ----- >>> Color Scheme ----------------- */
/* ---------------------------------------- */

.isF01 { color: var(--main-color); }

.isSVG {
	stroke-miterlimit: 10;
	stroke-width: 1; 
	stroke: #FFF9F5; 
	fill: none;
}


section:nth-of-type(1) {
	padding-top: 75vh;
}

section:nth-of-type(2) {
	display: none !important;
}

section:nth-of-type(7):before {
	width:  100%;
	height: 27.7rem;
	background: var(--main-color);
	position: absolute;
	content: "";
	bottom: 0;
}

section:nth-of-type(11) { 
	color: var(--alts-color);
}

section:nth-of-type(2),
section:nth-of-type(4),
section:nth-of-type(7),
section:nth-of-type(12),
section:nth-of-type(13){ 
	background: var(--font-color);
	color: var(--main-color);
}

/* ---------------------------------------- */
/* ----- >>> CSS Hacks -------------------- */
/* ---------------------------------------- */

video::-webkit-media-controls-start-playback-button {
    display: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type=number] {
	-moz-appearance: textfield;
}

* html .setClearfix{ 
	height: 1%;
}

.setClearfix{ 
	display: inline-block; 
}

.setClearfix:after {
	content: "\00A0";
	visibility: hidden;
	line-height: 0;
	display: block;
	clear: both;
	height: 0;
}

*:last-child:not(.setWrapper) {
	margin-bottom: 0;
}

/* ---------------------------------------- */
/* ----- >>> Dev Tools -------------------- */
/* ---------------------------------------- */

.isDev * {
	box-shadow: inset 0rem 0rem 0rem 0.05rem #FF1DFF;
}

.isDev .setWrapper {
	background: rgba(255, 0, 0, 0.1);
}

.isDev header:before,
.isDev header:after {
	width: 0.1rem;
	height: 100vh;
	background: rgba(255, 0, 0, 1.0);
	position: fixed;
	z-index: 9999;
	content: "";
	top: 0;
}

.isDev header:before { left:  50%; }
.isDev header:after  { right: 4.8rem; }
