body { background: var(--white); }
body > .wrap {  }



span[class*="shape-"] { background: var(--dark); position: absolute; overflow: hidden; top: 0; left: 0; width: 100%; height: 100%; }
span[class*="shape-"] img { width: 100%; }
span.shape-1  { object-fit: cover; clip-path: polygon(50% 0%, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); }
span.shape-2  { object-fit: cover; clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0% 50%); }
span.shape-3  { object-fit: cover; clip-path: polygon(50% 0%, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); }
span.shape-4  { object-fit: cover; clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0% 50%); }
span.shape-5  { object-fit: cover; clip-path: polygon(100% 95%, 0% 95%, 50% 5%); }
span.shape-6  { object-fit: cover; clip-path: polygon(5% 100%, 5% 0%, 95% 50%); }
span.shape-7  { object-fit: cover; clip-path: polygon(95% 100%, 5% 50%, 95% 0%); }
span.shape-8  { object-fit: cover; clip-path: polygon(50% 95%, 0% 5%, 100% 5%); }
span.shape-9,
span.shape-10,
span.shape-11,
span.shape-12 { }
span.shape-13,
span.shape-14,
span.shape-15,
span.shape-16 { border-radius: 50%; }





#headerLAYOUT {  }
#headerLAYOUT > .wrap {  }






#footerLAYOUT {  }
#footerLAYOUT .wrap {  }






#contentLAYOUT { overflow: hidden; }
#contentLAYOUT > .wrap {  }




#contentLAYOUT .loading { background-color: var(--white); background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; }
#contentLAYOUT .loading > .wrap { display: table; width: 100%; height: 100%; }
/*#contentLAYOUT .loading .instructions { display: table-cell; vertical-align: middle; text-align: center; font-weight: 100; }*/

/*#contentLAYOUT .loading .roles { margin: max(2.5vw, 20px) max(5vw, 40px); font-weight: 700; color: var(--raul); font-size: max(4vw, 32px); line-height: max(5vw, 40px);  }
#contentLAYOUT .loading .roles span { font-weight: 200; }*/

#contentLAYOUT .loading .layer_one { margin: max(5vw, 40px); overflow: hidden; display: none; }
#contentLAYOUT .loading .layer_one span { font-size: 800%; margin-top: 40px; line-height: 100%; /*font-weight: 700;*/ }
#contentLAYOUT .loading .layer_two { position: absolute; top: 0; left: 0; display: none; }
#contentLAYOUT .loading .layer_two .noload { background: var(--beige); }
#contentLAYOUT .loading .layer_two .noload.zero { height: 36vh; width: 100vw; margin-left: 0vw; background: transparent; }
#contentLAYOUT .loading .layer_two .noload.one { height: 4vh; width: 50vw; margin-left: 50vw; }
#contentLAYOUT .loading .layer_two .noload.two { height: 12vh; width: 75vw; margin-left: 25vw; }
#contentLAYOUT .loading .layer_two .noload.three { height: 48vh; width: 100vw; margin-left: 0vw; }
#contentLAYOUT .loading button { font-size: max(2vw, 16px); line-height: 100%; font-weight: 700; color: var(--dark); position: absolute; top: max(2.5vw, 20px); left: 0; width: max(5vw, 40px); }
#contentLAYOUT .loading button span { writing-mode: vertical-rl; }




#contentLAYOUT > .wrap > button { font-size: max(2vw, 16px); line-height: 100%; font-weight: 700; color: var(--dark); position: absolute; top: max(2.5vw, 20px); left: 0; width: max(5vw, 40px); }
#contentLAYOUT > .wrap > button span { writing-mode: vertical-rl; }

#contentLAYOUT button.contacts {  }
#contentLAYOUT button.index { display: none; }
#contentLAYOUT button.works { display: none; }
#contentLAYOUT button.projects { display: none; }
#contentLAYOUT button.scrolltop { font-size: 0px !important; line-height: 0px; font-weight: 400; position: absolute; bottom: max(1vw, 8px); right: max(1vw, 8px); display: none; }
#contentLAYOUT button.scrolltop img { width: max(2vw, 16px); }









#contentLAYOUT .unslider-nav { display: none; }
#contentLAYOUT .unslider-nav ol {  }
#contentLAYOUT .unslider-nav ol li {  }
#contentLAYOUT .unslider-nav ol li.unslider-active {  }
#contentLAYOUT .unslider-nav ol li:hover {  }
#contentLAYOUT .unslider-arrow { top: 46%;
	font-size: max(1vw, 8px);
	line-height: max(5vw, 40px);
	font-weight: 300; display: none; left: 0;
	width: max(5vw, 40px); }
#contentLAYOUT .unslider-arrow font { writing-mode: vertical-rl; }
#contentLAYOUT .unslider-arrow.next { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); left: inherit; right: max(0.5vw, 4px); }
#contentLAYOUT .unslider-arrow.prev {  }








#contentLAYOUT .slides {  }
#contentLAYOUT .slides > ul > li { overflow: hidden; overflow-y: auto !important; position: relative; height: 100%; width: 100%; box-sizing: border-box; }
#contentLAYOUT .slides > ul > li > .wrap { padding: max(2.5vw, 20px) max(5vw, 40px) max(5vw, 40px) max(5vw, 40px); }

#contentLAYOUT .slides > ul > li mark { background-color: var(--raul); color: var(--dark); padding: max(0.25vw, 2px); border-radius: max(0.25vw, 2px); }

#contentLAYOUT .slides ul li section.title { font-weight: 700; color: var(--raul); font-size: max(1vw, 8px); line-height: max(1vw, 8px); margin-bottom: max(2.5vw, 20px); width: fit-content; }
#contentLAYOUT .slides ul li section.title > .wrap {  }
#contentLAYOUT .slides ul li section.title span,
#contentLAYOUT .slides ul li section.title button { font-size: max(1vw, 8px); line-height: max(1vw, 8px); margin-right: max(1vw, 8px); padding: 0px; display: inline-block; }
#contentLAYOUT .slides ul li section.title span { color: var(--dark); }
#contentLAYOUT .slides ul li section.title button { font-size: max(1vw, 8px); }
#contentLAYOUT .slides ul li section.title button:hover { text-decoration: underline; }

#contentLAYOUT .slides ul li section.subtitle { font-weight: 700; color: var(--raul); font-size: max(2vw, 16px); line-height: max(2vw, 16px); margin-bottom: max(2.5vw, 20px); position: relative; z-index: 1; width: fit-content; }
#contentLAYOUT .slides ul li section.subtitle span { font-weight: 700; color: var(--raul); font-size: max(2vw, 16px); line-height: max(2vw, 16px); }

#contentLAYOUT .slides ul li section.info { color: var(--raul); font-size: max(2vw, 16px); line-height: max(2vw, 16px); position: relative; width: fit-content; }
#contentLAYOUT .slides ul li section.info button { font-weight: 700; color: var(--raul); font-size: max(2vw, 16px); line-height: max(2vw, 16px); }


#contentLAYOUT .slides ul li section.shapes {  }
#contentLAYOUT .slides ul li section.shapes > .wrap { display: flex; justify-content: space-between; gap: max(5vw, 40px); flex-wrap: wrap;  }
#contentLAYOUT .slides ul li section.shapes .element {  width: 20%; flex-grow: 1; min-height: max(10vw, 80px); aspect-ratio: 1/1; position: relative; overflow: hidden;}
/*	#contentLAYOUT .slides ul li section.shapes .element span { background: var(--dark); position: absolute; overflow: hidden; top: 0; left: 0; width: 100%; height: 100%; }
	#contentLAYOUT .slides ul li section.shapes .element span img { width: 100%; }*/


#contentLAYOUT .slides ul li.index { color: var(--dark); }
#contentLAYOUT .slides ul li.index > .wrap {  }






#contentLAYOUT section.message { position: absolute; top: 0px; left: 0px; }
#contentLAYOUT section.message > .wrap { padding: 0; }
#contentLAYOUT section.message #bcPaint { font-size: 0; line-height: 0; }
#contentLAYOUT section.message #bcPaint canvas {  }
#contentLAYOUT section.message #bcPaint-menu { position: absolute; bottom: max(5vw, 40px); right: max(5vw, 40px); }
#contentLAYOUT section.message #bcPaint-menu button { position: relative; height: 40px; width: 40px; border-radius: 50%; display: block; margin-top: 16px; background-color: transparent; color: var(--dark); line-height: 0; background-color: var(--beige); }
#contentLAYOUT section.message #bcPaint-menu button span { display: inline-block; vertical-align: middle; }
#contentLAYOUT section.message #bcPaint-menu button div.alt { color: var(--dark); font-style: italic; font-size: max(1vw, 8px); font-weight: 200; line-height: normal; display: flex; align-items: center; height: 40px;  right: 48px; position: absolute; bottom: 0; text-align: right; width: max-content; }
#contentLAYOUT section.message #bcPaint-menu button[id="bcPaint-media"] { /*background-color: var(--dark); color: var(--raul);*/ /*margin-top: 40px; /*border: 1px solid var(--dark);*/ }
#contentLAYOUT section.message #bcPaint-menu button[id^="bcPaint-media-"] { background-color: var(--green-2); border: none; }
#contentLAYOUT section.message #bcPaint-menu button[id="bcPaint-handgesture"] { background-color: transparent; }
#contentLAYOUT section.message #bcPaint-menu button[id="bcPaint-clear"] { /*background-color: var(--raul);*/ margin-top: 40px; }
#contentLAYOUT section.message #bcPaint-menu button[id="bcPaint-send"] { /*background-color: var(--raul);*/ }

#contentLAYOUT section.message #bcPaint-menu button.primary { background-color: var(--raul); color: var(--dark); border: none; }
#contentLAYOUT section.message #bcPaint-menu button.secondary {  }
/*#contentLAYOUT section.message #bcPaint-menu button:hover { background-color: var(--beige); }
#contentLAYOUT section.message #bcPaint-menu button.primary:hover { background-color: var(--raul); color: var(--dark); border: none; }*/


#contentLAYOUT section.message > button { position: fixed; top: max(4vw, 32px); right: max(4vw, 32px); width: 40px; height: 40px; border-radius: 20px; border: 1px solid #000000; }
#contentLAYOUT section.message > button span { display: inline-block; vertical-align: middle; }
#contentLAYOUT section.message > button:hover { background-color: #000000; color: #FFFFFF; }


#contentLAYOUT .slides ul li.index section.media { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
#contentLAYOUT .slides ul li.index section.media > .wrap { position: relative; width: 100%; height: 100%; overflow: hidden; }
#contentLAYOUT .slides ul li.index section.media canvas.filter,
#contentLAYOUT .slides ul li.index section.media img.filter { filter:contrast(100%) saturate(0%); mix-blend-mode: multiply; }
#contentLAYOUT .slides ul li.index section.media video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 0; }
#contentLAYOUT .slides ul li.index section.media video.filter { filter: contrast(200%) saturate(0%); mix-blend-mode: multiply; }
#contentLAYOUT .slides ul li.index section.media .noise { background-image: url(https://raulstefanati.com/_media/noise.svg); background-repeat: repeat; background-size: 100px; mix-blend-mode: overlay; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#contentLAYOUT .slides ul li.index section.media #video-menu { position: absolute; bottom: max(5vw, 40px); right: max(5vw, 40px); }
#contentLAYOUT .slides ul li.index section.media #video-menu button { height: 40px; width: 40px; border-radius: 50%; display: block; background: var(--raul); margin-top: 16px; color: var(--dark); line-height: 0; }
#contentLAYOUT .slides ul li.index section.media #video-menu button span { display: inline-block; vertical-align: middle; }








#contentLAYOUT .slides ul li.index section.title { position: relative; z-index: 1; margin-bottom: max(1vw, 8px); line-height: normal; color: var(--dark); }
#contentLAYOUT .slides ul li.index section.title span { font-weight: 200; white-space: inherit; }

#contentLAYOUT .slides ul li.index section.subtitle { font-weight: 400; }

#contentLAYOUT .slides ul li.index section.menu { display: none; margin-top: max(2vw, 16px); }
#contentLAYOUT .slides ul li.index section.menu > .wrap {  }
#contentLAYOUT .slides ul li.index section.menu .title { font-weight: 700; color: var(--raul); font-size: max(1vw, 8px); line-height: max(1vw, 8px); margin-bottom: max(1.5vw, 12px); }
#contentLAYOUT .slides ul li.index section.menu .title span { display: block; }
#contentLAYOUT .slides ul li.index section.menu ul {  }
#contentLAYOUT .slides ul li.index section.menu ul li { width: fit-content; }
#contentLAYOUT .slides ul li.index section.menu button { font-size: max(5vw, 40px); line-height: max(5vw, 40px); font-weight: 800; color: var(--color-dark); position: relative; }
#contentLAYOUT .slides ul li.index section.menu button:hover {  }
#contentLAYOUT .slides ul li.index section.menu button.small { font-weight: 300;
	font-size: max(2vw, 16px);
	line-height: max(2vw, 16px);
	vertical-align: top;
	margin-left: max(1vw, 8px); }
#contentLAYOUT .slides ul li.index section.menu button[slide-goto-label="about"],
#contentLAYOUT .slides ul li.index section.menu button[slide-goto-label="contacts"] { font-weight: 300; font-size: max(4vw, 32px); line-height: max(4vw, 32px); }
#contentLAYOUT .slides ul li.index section.menu button[data-href] { font-weight: 300; font-size: max(1vw, 8px); line-height: max(1vw, 8px); vertical-align: top; margin-top: max(4vw, 32px); font-style: italic; }



#contentLAYOUT .slides ul li.index section.submenu { display: none; position: absolute; top: max(2.5vw, 20px); right: max(5vw, 40px); text-align: right; }
#contentLAYOUT .slides ul li.index section.submenu > .wrap {  }
#contentLAYOUT .slides ul li.index section.submenu .subtitle { font-weight: 700; font-size: max(1vw, 8px); line-height: normal; margin-bottom: max(2vw, 16px); }
#contentLAYOUT .slides ul li.index section.submenu .subtitle span { font-size: max(1vw, 8px); line-height: normal; vertical-align: middle; }
#contentLAYOUT .slides ul li.index section.submenu ul {  }
#contentLAYOUT .slides ul li.index section.submenu ul li { font-size: max(1.5vw, 12px); line-height: normal; margin-top: max(2vw, 16px); }
#contentLAYOUT .slides ul li.index section.submenu ul li a { font-size: max(1.5vw, 12px); line-height: normal; font-style: italic; }
#contentLAYOUT .slides ul li.index section.submenu ul li a span { font-size: max(1.5vw, 12px); line-height: normal; vertical-align: middle; }


#contentLAYOUT .slides ul li.index .job { margin: max(2.5vw, 20px) max(5vw, 40px); font-size: max(1vw, 8px); line-height: 160%; font-weight: 300; color: var(--dark); }
#contentLAYOUT .slides ul li.index .job > .wrap {  }
#contentLAYOUT .slides ul li.index .job .payoff { font-weight: 700; }
#contentLAYOUT .slides ul li.index .job a { line-height: 160%; border-bottom: 1px var(--dark) dashed; }
#contentLAYOUT .slides ul li.index .job a:hover { border-bottom: 1px var(--dark) solid; }

#contentLAYOUT .slides ul li.index #response { display: none; z-index: 9; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--raul); color: var(--beige); font-size: max(5vw, 40px); line-height: max(5vw, 40px); font-weight: 800; }
#contentLAYOUT .slides ul li.index #response > .wrap { padding: 0; height: 100%; display: flex; align-items: center; justify-content: center; }








#contentLAYOUT section.message-send {
	display:none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:var(--raul);
	color:var(--dark);
	z-index:20;
}

#contentLAYOUT section.message-send > .wrap {
	box-sizing:border-box;
	height:100%;
	max-width:480px;
	margin:0 auto;
	padding:max(5vw,40px);

	display:flex;
	flex-direction:column;
	justify-content:center;
}

#contentLAYOUT section.message-send .field {
	position:relative;
	margin-bottom:max(3vw,24px);
}

#contentLAYOUT section.message-send .field .label {
	font-size:max(1vw,8px);
	line-height:160%;
	font-weight:700;
	margin-bottom:6px;
}

#contentLAYOUT section.message-send input,
#contentLAYOUT section.message-send textarea {
	width:100%;
	box-sizing:border-box;

	background:transparent;
	border:none;
	border-bottom:max(.25vw,2px) solid var(--dark);

	color:var(--dark);

	font-size:max(2vw,16px);
	line-height:160%;

	padding:max(.5vw,4px) 0;
	outline:none;
}

#contentLAYOUT section.message-send textarea {
	min-height:max(8vw,64px);
	resize:vertical;
}

#contentLAYOUT section.message-send .action {
	margin-top:max(2vw,16px);
}

#contentLAYOUT section.message-send .action button {
	width:100%;
	padding:10px;

	background:transparent;
	border:max(.25vw,2px) solid var(--dark);

	color:var(--dark);

	font-size:max(2vw,16px);
	font-weight:700;

	cursor:pointer;

	transition:.25s;
}

#contentLAYOUT section.message-send .action button:hover {
	background:var(--dark);
	color:var(--beige);
}

#contentLAYOUT section.message-send .action.back button {
	background:none;
	border:none;
	text-decoration:underline;
	font-size:max(1.5vw,12px);
	font-weight:400;
	padding:0;
}

#contentLAYOUT section.message-send .action.back{
	text-align:center;
	margin-top:16px;
}

#contentLAYOUT section.message-send .action.back button{
	display:inline-block;
	width:auto;
}














#contentLAYOUT .slides ul li.portfolio {  }
#contentLAYOUT .slides ul li.portfolio > .wrap {  }
#contentLAYOUT .slides ul li.portfolio .encrypted {  }



#contentLAYOUT .slides ul li.portfolio section.title { margin-bottom: max(1vw, 8px); }


#contentLAYOUT .slides ul li.portfolio section .row { border-bottom: 1px solid var(--dark); overflow-x: clip; position: relative; font-weight: 200; cursor: default; }
#contentLAYOUT .slides ul li.portfolio section .row.subtitle { font-size: max(1vw, 8px); line-height: 160%; border-top: none; font-weight: 700; }
#contentLAYOUT .slides ul li.portfolio section .row.subtitle span { font-weight: 300; }


#contentLAYOUT .slides ul li.portfolio section.lines .row.template { position: absolute; top: -1000px; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.template span { display: block; }


#contentLAYOUT .slides ul li.portfolio section.video { margin-top: max(10vw, 80px); height: 64vh; font-size: 0px; line-height: 0px; overflow: hidden; z-index: -2; position: relative; background-color: var(--beige); }
#contentLAYOUT .slides ul li.portfolio section.video > .wrap { position: relative; width: 100%; height: 100%; overflow: hidden; }
#contentLAYOUT .slides ul li.portfolio section.video iframe { aspect-ratio: 4 / 3; }
#contentLAYOUT .slides ul li.portfolio section.video video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 0; filter: contrast(200%) saturate(0%); mix-blend-mode: multiply; }
#contentLAYOUT .slides ul li.portfolio section.video .actions { position: absolute; bottom: 0; left: 0; width: 100%; text-align: left; display: none; }
#contentLAYOUT .slides ul li.portfolio section.video .actions button { display: inline-block; line-height: normal; font-size: max(1vw, 8px); text-transform: uppercase; padding: max(0.75vw, 6px); text-align: center; background: var(--dark); color: var(--beige); font-weight: 700; }
#contentLAYOUT .slides ul li.portfolio section.video .noise { background-image: url(https://raulstefanati.com/_media/noise.svg); background-repeat: repeat; background-size: 100px; mix-blend-mode: overlay; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }




#contentLAYOUT .slides ul li.portfolio section.collaborations { position: relative; margin-top: max(10vw, 80px); }
#contentLAYOUT .slides ul li.portfolio section.collaborations > .wrap {  }
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li { font-size: max(2vw, 16px); line-height: max(2vw, 16px); font-weight: 200; border-top: 1px solid; color: var(--dark); }
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li > .wrap { margin: max(1vw,8px) 0px max(5vw,40px) 0px; }
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li .company,
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li .company button { font-family: 'Playfair Display', serif; font-size: max(8vw, 64px); line-height: max(8vw, 64px); text-transform: lowercase; }
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li .company sup,
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li .company sup a { color: var(--raul); font-size: max(1vw, 8px); top: -5.3em; color: var(--dark); }
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li .company sup a { margin-left: max(1vw, 8px); }
#contentLAYOUT .slides ul li.portfolio section.collaborations ul li:first-child { border-top: none; }

#contentLAYOUT .slides ul li.portfolio section.projects { position: relative; margin-top: max(10vw, 80px); }
#contentLAYOUT .slides ul li.portfolio section.projects > .wrap {  }
#contentLAYOUT .slides ul li.portfolio section.projects ul li { font-size: max(2vw, 16px); line-height: max(2vw, 16px); font-weight: 200; border-top: 1px solid; color: var(--dark); }
#contentLAYOUT .slides ul li.portfolio section.projects ul li > .wrap { margin: max(1vw,8px) 0px max(5vw,40px) 0px; }
#contentLAYOUT .slides ul li.portfolio section.projects ul li .title,
#contentLAYOUT .slides ul li.portfolio section.projects ul li .title button { font-family: 'Playfair Display', serif; font-size: max(8vw, 64px); line-height: max(8vw, 64px); text-transform: lowercase; }
#contentLAYOUT .slides ul li.portfolio section.projects ul li .title sup,
#contentLAYOUT .slides ul li.portfolio section.projects ul li .title sup a { color: var(--raul); font-size: max(1vw, 8px); top: -5.3em; color: var(--dark); }
#contentLAYOUT .slides ul li.portfolio section.projects ul li .title sup a { margin-left: max(1vw, 8px); }








#contentLAYOUT .slides ul li.portfolio section.lines { margin-top: max(10vw, 80px); }
#contentLAYOUT .slides ul li.portfolio section.lines > .wrap {  }
#contentLAYOUT .slides ul li.portfolio section.lines .row { border-bottom: 1px solid var(--dark); overflow-x: clip; position: relative; font-weight: 200; cursor: default; }
#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap { white-space: nowrap; }
#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap a,
#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button { font-weight: 200; position: relative; }
/*#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button span.title { font-weight: 400; }*/


#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span { background: var(--raul); display: inline-block; width: max(1vw, 8px); height: max(1vw, 8px); padding: 0; }
/*esagon         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-1 { object-fit: cover; clip-path: polygon(50% 0%, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); }
/*esagon         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-2 { object-fit: cover; clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0% 50%); }
/*esagon         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-3 { object-fit: cover; clip-path: polygon(50% 0%, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); }
/*esagon         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-4 { object-fit: cover; clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0% 50%); }
/*triangle up    */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-5 { object-fit: cover; clip-path: polygon(100% 95%, 0% 95%, 50% 5%); }
/*triangle right */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-6 { object-fit: cover; clip-path: polygon(5% 100%, 5% 0%, 95% 50%); }
/*triangle left  */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-7 { object-fit: cover; clip-path: polygon(95% 100%, 5% 50%, 95% 0%); }
/*triangle down  */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-8 { object-fit: cover; clip-path: polygon(50% 95%, 0% 5%, 100% 5%); }
/*square         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-9,
						/*square         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-10,
						/*square         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-11,
						/*square         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-12 {  }
/*circle         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-13,
						/*circle         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-14,
						/*circle         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-15,
						/*circle         */ #contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button sup span.shape-16 { border-radius: 50%; }


#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio .wrap h3 { opacity: 0; display: inline-block; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio .wrap h3 button { font-weight: 200; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio .wrap h3 button .title { font-weight: 400; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio .wrap h3 button sup { color: var(--raul); margin-right: 4px; /*font-size: 100%;*/ }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio .wrap h3 span { font-weight: 300; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio .wrap h3:nth-child(1) { opacity: 1; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio:hover .wrap { position: absolute; white-space: nowrap; will-change: transform; animation: marquee1 24s linear infinite; }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio:hover .wrap h3 { display: inline-block; margin-right: 6vw; opacity: 1; font-weight: 300; color: var(--dark); }
#contentLAYOUT .slides ul li.portfolio section.lines .row.portfolio:hover .wrap h3 button { /*font-weight: 700; color: var(--dark);*/ }
@keyframes marquee1 { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes marquee2 { from { transform: translateX(0); } to { transform: translateX(+50%); } }





/*#contentLAYOUT .slides ul li.portfolio section.cards { margin-top: max(10vw, 80px); }
#contentLAYOUT .slides ul li.portfolio section.cards > .wrap {  }
#contentLAYOUT .slides ul li.portfolio section.cards ul { font-size: 0px; line-height: 0px; border-left: 1px solid var(--dark); }
#contentLAYOUT .slides ul li.portfolio section.cards ul li { width: 20%; aspect-ratio: 1 / 1; display: inline-block; vertical-align: top; position: relative; }

#contentLAYOUT .slides ul li.portfolio section.cards ul li > .wrap { border-right: 1px solid var(--dark); border-bottom: 1px solid var(--dark); padding: 16px; height: -webkit-fill-available; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li .left { width: 40%; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li .right { width: 55%; height: inherit; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li .logo { height: -webkit-fill-available;
    text-align: right;
    position: relative; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li .logo img { max-width: 100%; width: 100%;
    max-height: 100%;
    bottom: 0px;
    display: block;
    position: absolute; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li .company { font-family: 'Playfair Display', serif; font-size: max(3vw, 24px); line-height: 160%; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li .position { font-size: max(1vw, 8px); line-height: 160%; }
#contentLAYOUT .slides ul li.portfolio section.cards ul li button { position: absolute; top: 0px; right: 0px; padding: 0; }*/


#contentLAYOUT .slides ul li.portfolio .background { position: fixed; z-index: -1; opacity: 1; filter: invert(1) opacity(0.1); display: none; }
#contentLAYOUT .slides ul li.portfolio .background img { width: 100%; height: 100%; }
#contentLAYOUT .slides ul li.portfolio svg,
#contentLAYOUT .slides ul li.portfolio svg path { fill:var(--raul); }






/* CHAPTER */
#contentLAYOUT .slides ul li.chapter { background: var(--white); color: var(--raul); }
#contentLAYOUT .slides ul li.chapter > .wrap {  }
#contentLAYOUT .slides ul li.chapter .text { position: absolute; top: 70%; left: 15%; font-size: 60px; font-weight: 700; }




/* PORTFOLIO_SINGLE */
#contentLAYOUT .slides ul li.portfolio_single { background: var(--white); }
#contentLAYOUT .slides ul li.portfolio_single > .wrap {  }
#contentLAYOUT .slides ul li.portfolio_single section {  }


#contentLAYOUT .slides ul li.portfolio_single section.title { font-weight: 300; }
#contentLAYOUT .slides ul li.portfolio_single section.title span.title { font-weight: 600; }
#contentLAYOUT .slides ul li.portfolio_single section.shapes { margin-bottom: max(5vw, 40px); }
#contentLAYOUT .slides ul li.portfolio_single section.shapes .element.logo {  }
#contentLAYOUT .slides ul li.portfolio_single section.shapes .element.logo span { background-color: transparent; }

#contentLAYOUT .slides ul li.portfolio_single section.shapes .element.image {  }
#contentLAYOUT .slides ul li.portfolio_single section.shapes .element.image span { background-color: var(--white); }
#contentLAYOUT .slides ul li.portfolio_single section.shapes .element.image span img{ filter: contrast(200%) saturate(0%); mix-blend-mode: multiply; width: 100%; object-fit: cover; height: 100%; }
#contentLAYOUT .slides ul li.portfolio_single section.shapes .element.image:hover span img { filter: initial; mix-blend-mode: initial; }

#contentLAYOUT .slides ul li.portfolio_single section.description { font-size: max(0.75vw, 6px); line-height: max(0.75vw, 6px); font-weight: 300; }
#contentLAYOUT .slides ul li.portfolio_single section.description p { margin: 0; }
#contentLAYOUT .slides ul li.portfolio_single section.content { margin-bottom: max(5vw, 40px); font-size: max(4vw, 32px); line-height: max(5vw, 40px); font-weight: 700; }
#contentLAYOUT .slides ul li.portfolio_single section.content p { margin: 0; }

/*#contentLAYOUT .slides ul li.portfolio_single section.row-client { font-size: max(1vw, 8px); line-height: 160%; margin-bottom: max(2.5vw, 20px); font-weight: 300; }*/

#contentLAYOUT .slides ul li.portfolio_single section.row-content { margin-bottom: max(5vw, 40px); font-weight: 400; }
#contentLAYOUT .slides ul li.portfolio_single section.row-content p { margin: 0; }


#contentLAYOUT .slides ul li.portfolio_single section.url { width: 100%; margin-bottom: max(5vw, 40px); border-top: 1px solid var(--dark); }
#contentLAYOUT .slides ul li.portfolio_single section.url a { font-family: 'Playfair Display', serif; font-size: max(12vw, 96px); line-height: max(12vw, 96px); }
#contentLAYOUT .slides ul li.portfolio_single section.url a span { display: inline-block;  }


#contentLAYOUT .slides ul li.portfolio_single section.work-label { margin-bottom: max(5vw, 40px); border-top: 1px solid var(--dark); font-size: max(1vw, 8px); line-height: max(1vw, 8px); }
#contentLAYOUT .slides ul li.portfolio_single section.work-label > .wrap { padding-top: max(1vw, 8px); }

#contentLAYOUT .slides ul li.portfolio_single section.work-intro { font-size: max(4vw, 32px); line-height: max(5vw, 40px); color: var(--raul); }
#contentLAYOUT .slides ul li.portfolio_single section.work-intro .title { font-weight: 700; }

#contentLAYOUT .slides ul li.portfolio_single section.work { margin-bottom: max(5vw, 40px); margin-top: max(1vw, 8px); }
#contentLAYOUT .slides ul li.portfolio_single section.work ul { font-size: 0; column-count: 2; column-gap: max(2vw, 16px); }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li { break-inside: avoid; margin-bottom: max(2vw, 16px); }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li > .wrap {  }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li iframe { width: 100%; vertical-align: middle; aspect-ratio: 1/1; }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li video { width: 100%; }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li img { width: 100%; vertical-align: middle; }

#contentLAYOUT .slides ul li.portfolio_single section.work ul li.images img { display: none; width: 100%; height: auto; }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li.images img.active { display: block; }

#contentLAYOUT .slides ul li.portfolio_single section.work ul li.video { column-span: all; break-inside: avoid; width: 100%; }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li.video video { width: 100%; }

#contentLAYOUT .slides ul li.portfolio_single section.work ul li.iframe { column-span: all; break-inside: avoid; width: 100%; }
#contentLAYOUT .slides ul li.portfolio_single section.work ul li.iframe iframe { width: 100%; }









/* EXPERIENCE */
#contentLAYOUT .slides ul li.about { background: var(--white); font-size: max(2vw, 16px); line-height: 160%; }
#contentLAYOUT .slides ul li.about > .wrap { padding: max(2.5vw, 20px) max(5vw, 40px) max(5vw, 40px) max(5vw, 40px) }

#contentLAYOUT .slides ul li.about section.title { }
#contentLAYOUT .slides ul li.about section.intro { margin-bottom: max(8vw, 64px); }
#contentLAYOUT .slides ul li.about section.intro > .wrap {  }
#contentLAYOUT .slides ul li.about section.interests { margin-bottom: max(8vw, 64px); }
#contentLAYOUT .slides ul li.about section.skills { margin-bottom: max(8vw, 64px); }
#contentLAYOUT .slides ul li.about section.experiences {  }
#contentLAYOUT .slides ul li.about section.experiences > .wrap {  }
#contentLAYOUT .slides ul li.about section.text {  }
#contentLAYOUT .slides ul li.about section.text > .wrap {  }
#contentLAYOUT .slides ul li.about section.experiences {  }
#contentLAYOUT .slides ul li.about section.experiences > .wrap {  }
#contentLAYOUT .slides ul li.about section.experiences em { text-decoration: underline; }




/* BITS */
#contentLAYOUT .slides ul li.bits { background: var(--white); font-size: max(2vw, 16px); line-height: 160%; }
#contentLAYOUT .slides ul li.bits > .wrap {  }

#contentLAYOUT .slides ul li.bits section.list { position: relative; margin-top: max(10vw, 80px); }
#contentLAYOUT .slides ul li.bits section.list > .wrap {  }
#contentLAYOUT .slides ul li.bits section.list ul li { font-size: max(2vw, 16px); line-height: max(2vw, 16px); font-weight: 200; border-top: 1px solid; color: var(--dark); position: relative; }
#contentLAYOUT .slides ul li.bits section.list ul li > .wrap { margin: max(1vw,8px) 0px max(5vw,40px) 0px; }
#contentLAYOUT .slides ul li.bits section.list ul li .title { font-family: 'Playfair Display', serif; font-size: max(8vw, 64px); line-height: max(8vw, 64px); text-transform: lowercase;
	padding: max(2vw, 16px);     color: var(--raul); min-height: 64vw;
	z-index: 2;
	position: relative; }
#contentLAYOUT .slides ul li.bits section.list ul li .title sup,
#contentLAYOUT .slides ul li.bits section.list ul li .title sup a { color: var(--raul); font-size: max(1vw, 8px); top: -5.3em; color: var(--dark); }
#contentLAYOUT .slides ul li.bits section.list ul li .title sup a { margin-left: max(1vw, 8px); }
#contentLAYOUT .slides ul li.bits section.list ul li .media { width: 100%; font-size: 0px; line-height: 0; position: absolute;
	top: 0; overflow: hidden; }
#contentLAYOUT .slides ul li.bits section.list ul li .media iframe { width: 100%; mix-blend-mode: luminosity; }
#contentLAYOUT .slides ul li.bits section.list ul li .media video { width: 100%; mix-blend-mode: luminosity; }
#contentLAYOUT .slides ul li.bits section.list ul li .media .noise { background-image: url(https://raulstefanati.com/_media/noise.svg); background-repeat: repeat; background-size: 100px; mix-blend-mode: color-dodge; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }


#contentLAYOUT .slides ul li.bits section.list ul li:nth-child(1) .media video { width: calc(100% + 2px); }





#contentLAYOUT .slides ul li.contacts { background: var(--white); font-size: max(2vw, 16px); line-height: 160%; }
#contentLAYOUT .slides ul li.contacts section.form { width: 100%; display: table; color: var(--dark); position: relative; }
#contentLAYOUT .slides ul li.contacts section.form .bg { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
#contentLAYOUT .slides ul li.contacts section.form .bg img { filter: contrast(200%) saturate(0%) opacity(0.9); mix-blend-mode: multiply; width: 100%; object-fit: cover; height: 100%; }
#contentLAYOUT .slides ul li.contacts section.form a { color: var(--dark); }
#contentLAYOUT .slides ul li.contacts section.form > .wrap { display: flex ; justify-content: center; align-items: center; flex-direction: column; height: 100%; }
#contentLAYOUT .slides ul li.contacts section.form .register_form { width: 40%; min-width: 240px; text-align: left; z-index: 1; background: var(--raul); margin: max(5vw, 40px) 0; }
#contentLAYOUT .slides ul li.contacts section.form .register_form > .wrap { padding: max(5vw, 40px); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .title { font-size: max(5vw, 40px); line-height: max(5vw, 40px); font-weight: 900; margin-bottom: 8px;}
#contentLAYOUT .slides ul li.contacts section.form .register_form .title span {  }
#contentLAYOUT .slides ul li.contacts section.form .register_form .subtitle { font-size: max(2vw, 16px); margin-bottom: max(5vw, 40px); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .subtitle a { text-decoration: underline; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .text { font-size: max(1.5vw, 12px); line-height: max(2vw, 16px); margin-top: max(4vw, 32px); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .text a { font-size: max(1.5vw, 12px); line-height: max(2.5vw, 20px); text-decoration: underline; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field { position: relative; margin-bottom: max(3vw, 24px); font-size: 0; line-height: 0; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field .label { font-size: max(1vw, 8px); line-height: 160%; font-weight: 700; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field .line { position: absolute; bottom: 0px; border: max(0.25vw, 2px) solid var(--dark); border-top: none; width: calc(100% - 4px); height: max(1vw, 8px); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field input,
#contentLAYOUT .slides ul li.contacts section.form .register_form .field textarea { border: none; width: calc(100% - 16px); padding: max(0.5vw, 4px) max(1vw, 8px); font-weight: 300; font-size: max(2vw, 16px); line-height: 160%; background-color: transparent; color: var(--dark); z-index: 2; position: relative; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy { margin: max(3vw, 24px) 0 0 0; font-size: max(1.5vw, 12px); line-height: 100%; text-align: center; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy input { width: auto; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy span { font-size: max(1.5vw, 12px); display: inline-block; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy a { text-decoration: underline; font-size: max(1.5vw, 12px); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy input[type=checkbox] + label span.true { display: none; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy input[type=checkbox] + label span.false { display: inline-block; filter: grayscale(1); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy input[type=checkbox]:checked + label span.true { display: inline-block; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.privacy-policy input[type=checkbox]:checked + label span.false { display: none; }


#contentLAYOUT .slides ul li.contacts section.form .register_form .field.error {  }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.error .label { color: #F84F31; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .field.error .line { border: max(0.25vw, 2px) solid #F84F31; border-top: none; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .action { width: 100%; margin-top: max(5vw, 40px); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .action > .wrap {  }
#contentLAYOUT .slides ul li.contacts section.form .register_form .action.submit button { padding: 8px; width: 100%; font-size: max(2vw, 16px); line-height: 160%; color: var(--dark); background-color: transparent; border: max(0.25vw, 2px) solid var(--dark); font-weight: 500; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .action.submit button:hover { background: var(--dark); color: var(--beige); }
#contentLAYOUT .slides ul li.contacts section.form .register_form .result { display: none; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .resultsent { background: #23C552; }
#contentLAYOUT .slides ul li.contacts section.form .register_form .result.failed { background: #F84F31; }


#contentLAYOUT .slides ul li.contacts section.share { width: 100%; display: table; color: var(--dark); position: relative; }
#contentLAYOUT .slides ul li.contacts section.share > .wrap { display: flex ; justify-content: center; align-items: center; flex-direction: column; height: 100%; }

#contentLAYOUT .slides ul li.contacts section.share .qrcode { width: 40%; min-width: 240px; text-align: left; z-index: 1; /*background: var(--beige);*/ margin: max(5vw, 40px) 0; }
#contentLAYOUT .slides ul li.contacts section.share .qrcode > .wrap { padding: max(5vw, 40px); }
#contentLAYOUT .slides ul li.contacts section.share .title { margin-bottom: max(2vw, 16px);
	font-size: max(4vw, 32px);
	line-height: max(5vw, 40px);
	font-weight: 700; }
#contentLAYOUT .slides ul li.contacts section.share img { max-width: 100%; }
#contentLAYOUT .slides ul li.contacts section.share svg { max-width: 100%; height: auto; max-height: 100%; }
#contentLAYOUT .slides ul li.contacts section.share svg rect,
#contentLAYOUT .slides ul li.contacts section.share svg path { fill: var(--dark); }

















section[class*="fragment"] { position: relative;
	overflow-wrap: anywhere; }
section[class*="fragment"] > .wrap { position: relative; padding: var(--fs-16) 0; }
section[class*="fragment"] > .wrap.columns { display: grid; grid-template-columns: 2fr 3fr; gap: var(--fs-32); }
section[class*="fragment"] > .wrap.columns .column {
	display: flex;
	flex-direction: column;
	gap: var(--fs-16);
}
/*section[class*="fragment"] > .wrap.columns .column:nth-child(1) { padding-right: var(--fs-32); }*/

section[class*="fragment"] .column.columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fs-16); }

section[class*="fragment"].border-top { margin-top: var(--fs-16); border-top: 1px solid var(--dark); }

section[class*="fragment"][class*="colored"] > .wrap { padding: /*var(--fs-32)*/ var(--fs-16); }
section[class*="fragment"][class*="colored"].border-top { margin-top: 0; }
section[class*="fragment"].colored { background: var(--raul); }
section[class*="fragment"].colored-white    { background: var(--white); }
section[class*="fragment"].colored-beige    { background: var(--beige); }
section[class*="fragment"].colored-yellow   { background: var(--yellow); }
section[class*="fragment"].colored-green-1  { background: var(--green-1); }
section[class*="fragment"].colored-green-2  { background: var(--green-2); }
section[class*="fragment"].colored-green-3  { background: var(--green-3); }
section[class*="fragment"].colored-red-1    { background: var(--red-1); }
section[class*="fragment"].colored-red-2    { background: var(--red-2); }
section[class*="fragment"].colored-red-3    { background: var(--red-3); }
section[class*="fragment"].colored-violet-1 { background: var(--violet-1); }
section[class*="fragment"].colored-violet-2 { background: var(--violet-2); }
section[class*="fragment"].colored-violet-3 { background: var(--violet-3); }
section[class*="fragment"].colored-raul-yellow { background: var(--raul-yellow); }




section[class*="fragment"] .chapter  { font-size: var(--fs-48); font-weight: 700; line-height: var(--fs-56); color: var(--dark); }
section[class*="fragment"] .title    { font-size: var(--fs-24); font-weight: 700; line-height: var(--fs-32); }
section[class*="fragment"] .subtitle { font-size: var(--fs-16); font-weight: 600; line-height: 160%; margin-bottom: var(--fs-8); }
section[class*="fragment"] .text     { font-size: var(--fs-16); line-height: 160%; }
section[class*="fragment"] .info     { font-size: var(--fs-8);  line-height: 160%; }
section[class*="fragment"] .label    { font-size: var(--fs-8);  line-height: 160%; font-weight: 700; }
section[class*="fragment"] .number   { font-size: var(--fs-8);  line-height: 160%; font-weight: 700; }
section[class*="fragment"] .source   { font-size: var(--fs-8);  line-height: 160%; font-style: italic; font-weight: 100; }
section[class*="fragment"] .image img  { width: 100%; }
section[class*="fragment"] .images img  { width: 100%; }

section[class*="fragment"] .subtitle.border-bottom { border-bottom: 1px solid var(--dark); padding-bottom: var(--fs-8); margin-bottom: var(--fs-8); }


section[class*="fragment"] .shape { }





section[class*="fragment"] .chart { margin-bottom: var(--fs-16); }

/* legend (sibling di .chart) */
section[class*="fragment"] .legend { display: flex; gap: var(--fs-16); flex-wrap: wrap; margin-bottom: var(--fs-16); }
section[class*="fragment"] .legend .legend-item { display: flex; align-items: center; gap: var(--fs-8); font-size: var(--fs-8); line-height: 160%; color: var(--dark); }
section[class*="fragment"] .legend .legend-dot  { width: var(--fs-8); height: var(--fs-8); flex-shrink: 0; }

/* list */
section[class*="fragment"] .chart ul.list { }
section[class*="fragment"] .chart ul.list li.list-item { display: grid; grid-template-columns: 1fr 4fr; gap: var(--fs-16); border-bottom: 1px dashed var(--dark); padding: var(--fs-8) 0; }
section[class*="fragment"] .chart ul.list li.list-item .label       { font-size: var(--fs-12); line-height: 160%; font-weight: 700; }
section[class*="fragment"] .chart ul.list li.list-item .label-small { font-size: var(--fs-8);  line-height: 160%; font-weight: 700; }
section[class*="fragment"] .chart ul.list li.list-item .number      { font-size: var(--fs-8);  line-height: 160%; font-weight: 700; }
section[class*="fragment"] .chart ul.list li.list-item .shape       { position: relative; }
section[class*="fragment"] .chart ul.list li.list-item .shape span  { background: var(--dark); position: absolute; overflow: hidden; top: 0; left: 0; width: var(--fs-8); height: auto; aspect-ratio: 1/1; }

/* stat */
section[class*="fragment"] .chart .stat { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: var(--dark); padding-bottom: 1px; }
section[class*="fragment"] .chart .stat-item { background: var(--white); padding: var(--fs-8); }
section[class*="fragment"] .chart .stat-item .num   { font-size: var(--fs-32); font-weight: 600; line-height: var(--fs-32); color: var(--dark); margin-bottom: var(--fs-40); }
section[class*="fragment"] .chart .stat-item .subtitle { margin-bottom: var(--fs-8); }
section[class*="fragment"] .chart .stat-item .label { font-size: var(--fs-16); line-height: 160%; color: var(--dark); font-weight: 400; }
section[class*="fragment"] .chart .stat-item .sub   { font-size: var(--fs-8);  line-height: 160%; color: var(--dark); font-style: italic; margin-top: var(--fs-8); }

/* stacked bar */
section[class*="fragment"] .chart .stacked-bar-pcts { display: flex; justify-content: space-between; font-size: var(--fs-8); line-height: 160%; color: #999; margin-bottom: var(--fs-4); font-weight: 100; }
section[class*="fragment"] .chart .stacked-bar { display: flex; height: var(--fs-40); overflow: hidden; }
section[class*="fragment"] .chart .sb-daily { background: #FF5520; flex: 75; }
section[class*="fragment"] .chart .sb-weekly { background: #f5956a;       flex: 16; }
section[class*="fragment"] .chart .sb-once { background: #f7c4a8;       flex: 4;  }
section[class*="fragment"] .chart .sb-monthly { background: #e8e8e8;       flex: 3;  }
section[class*="fragment"] .chart .sb-rarely { background: #d0d0d0;       flex: 2;  }
section[class*="fragment"] .chart .stacked-legend { display: flex; gap: var(--fs-16); flex-wrap: wrap; margin-top: var(--fs-8); margin-bottom: var(--fs-8); }
section[class*="fragment"] .chart .stacked-legend-item { display: flex; align-items: center; gap: var(--fs-4); font-size: var(--fs-8); line-height: 160%; color: var(--dark); }
section[class*="fragment"] .chart .stacked-legend-dot { width: var(--fs-8); height: var(--fs-8); border-radius: 50%; flex-shrink: 0; }

/* xy scatter */
section[class*="fragment"] .chart .xy-chart { position: relative; width: 100%; height: auto; aspect-ratio: 1/1; margin-bottom: var(--fs-16); }
section[class*="fragment"] .chart .axis-x { position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--dark); }
section[class*="fragment"] .chart .axis-y { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--dark); }
section[class*="fragment"] .chart .x-label,
section[class*="fragment"] .chart .y-label { position: absolute; font-weight: 100; font-size: var(--fs-8); line-height: 160%; }
section[class*="fragment"] .chart .x-left { left: 0; top: calc(50% + var(--fs-4));  writing-mode: vertical-rl; }
section[class*="fragment"] .chart .x-right { right: 0; top: calc(50% + var(--fs-4));  writing-mode: vertical-rl; }
section[class*="fragment"] .chart .y-top { left: calc(50% + var(--fs-4)); top: 0; }
section[class*="fragment"] .chart .y-bottom { left: calc(50% + var(--fs-4)); bottom: 0; }
section[class*="fragment"] .chart .chart-point { position: absolute; width: var(--fs-32); height: var(--fs-32); /*border-radius: 50%; background: var(--white);*/ transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: var(--fs-8); }
section[class*="fragment"] .chart .chart-point img { width: 100%; height: 100%; object-fit: contain; }

/* yoy bars */
section[class*="fragment"] .chart .yoy-bars { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fs-8); }
section[class*="fragment"] .chart .yoy-bar { display: flex; flex-direction: column; justify-content: space-between; border-left: 1px solid var(--dark); }
section[class*="fragment"] .chart .yoy-bar:first-child { border-left: none; }
section[class*="fragment"] .chart .yoy-bar-val { font-size: var(--fs-8); line-height: 160%; margin-left: var(--fs-4); margin-bottom: var(--fs-4); }
section[class*="fragment"] .chart .yoy-bar-track { width: 100%; position: relative; }
section[class*="fragment"] .chart .yoy-bar-track .yoy-bar-year { font-size: var(--fs-8); line-height: 160%; position: absolute; bottom: var(--fs-4); left: var(--fs-4); }

/* horizontal bar */
section[class*="fragment"] .chart .hbar-list { display: flex; flex-direction: column; row-gap: var(--fs-8); }
section[class*="fragment"] .chart .hbar-item { border-bottom: 1px solid var(--dark) !important; }
section[class*="fragment"] .chart .hbar-name { font-size: var(--fs-8); line-height: 160%; margin-bottom: var(--fs-4); }
section[class*="fragment"] .chart .hbar-bar  { display: flex; flex-direction: row; align-items: center; gap: var(--fs-8); }
section[class*="fragment"] .chart .hbar-bar .hbar-fill { display: block; height: var(--fs-12); width: 100%; background: var(--raul); }
section[class*="fragment"] .chart .hbar-bar .hbar-fill-orange { background: #FF5520; }
section[class*="fragment"] .chart .hbar-bar .hbar-fill-purple { background: #c5b4e3; }
section[class*="fragment"] .chart .hbar-bar .hbar-fill-blue { background: #7ab0d4; }
section[class*="fragment"] .chart .hbar-bar .hbar-pct { font-size: var(--fs-8); line-height: 160%; color: var(--dark); text-align: right; white-space: nowrap; }


section.fragment-chapter { display: flex; flex-direction: column; justify-content: flex-end; min-height: var(--fs-64); border-top: 1px solid var(--dark); }
section.fragment-chapter.colored { border-top: 0; }

section.fragment-title { }

section.fragment-text { }

section.fragment-chart { }

section.fragment-media > .wrap { line-height: 0; /*padding: 0;*/ }
section.fragment-media > .wrap > * { min-height: 40vw; }
section.fragment-media video { width: 100%; height: 100%; background-color: var(--raul); }
section.fragment-media img   { width: 100%; height: auto; background-color: var(--raul); }
section.fragment-media > .wrap.columns .column:nth-child(1) { padding-right: 0; }
section.fragment-media.colored > .wrap { padding: 0; }




























@media screen and (min-width: 1025px) {

}

@media screen and (max-width: 1024px) {


}

@media screen and (max-width: 768px) {

	#contentLAYOUT .unslider-arrow { display: none; }


	/*#contentLAYOUT .slides ul li.portfolio section.cards ul li { width: 25%; }*/

}

@media screen and (max-width: 667px) {


	#contentLAYOUT .media > .wrap {  }
	#contentLAYOUT .media .item {  }
	#contentLAYOUT .media .description,
	#contentLAYOUT .media img,
	#contentLAYOUT .media video {  }
	#contentLAYOUT .media button {  }

	#contentLAYOUT .slides ul li section.shapes .element { width: 40%; }


	#contentLAYOUT .slides ul li.portfolio section.cards ul li { width: 50%; }


	#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap span,
	#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap a,
	#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap button { padding-top: 8px; padding-bottom: 8px; }
	#contentLAYOUT .slides ul li.portfolio section.lines .row .wrap span:after { background-size: 8px 8px; width: 8px; height: 8px; }


	#contentLAYOUT .slides ul li.portfolio_single {  }
	#contentLAYOUT .slides ul li.portfolio_single > .wrap {  }

	#contentLAYOUT .slides ul li.portfolio_single section.work {  width: 100%; }
	#contentLAYOUT .slides ul li.portfolio_single section.work span.cover {  }
	#contentLAYOUT .slides ul li.portfolio_single section.work span.url { }
	#contentLAYOUT .slides ul li.portfolio_single section.work span.content {  }
	#contentLAYOUT .slides ul li.portfolio_single section.work span.content iframe { width: 100%; height: 60vh; }
	#contentLAYOUT .slides ul li.portfolio_single section.archive { width: 100%; text-align: left; }
	#contentLAYOUT .slides ul li.portfolio_single section.archive > .wrap { margin: 0px; }



	/*#contentLAYOUT .slides ul li.portfolio_single section.row-cover .element { width: 40%; }*/


	#contentLAYOUT .slides ul li.portfolio_single section.work ul { column-count: initial; column-gap: initial; }
	#contentLAYOUT .slides ul li.portfolio_single section.work ul li { break-inside: initial; margin-bottom: max(2vw, 16px); }


	/* TIPS */
	#contentLAYOUT .slides ul li.tips > .background {  }



	/* EXPERINCE */


	/* CONTACTS */
	#contentLAYOUT .slides ul li.contacts section.text { float: inherit; width: 100%; margin: 0px 0px 80px 0px; }
	#contentLAYOUT .slides ul li.contacts section.qrcode {  float: inherit; width: 100%; margin: 0px; }


	/* SIGNUP */
	#contentLAYOUT .slides ul li.signup section.form { float: inherit; width: 100%; margin: 0px 0px 80px 0px; }
	#contentLAYOUT .slides ul li.signup section.qrcode {  float: inherit; width: 100%; margin: 0px; }


	#contentLAYOUT .slides ul li.bits section.list ul li .media iframe { width: 100%; height: 100vh !important;}
	#contentLAYOUT .slides ul li.bits section.list ul li .media video {  }







	section[class*="fragment"] > .wrap.columns { grid-template-columns: 1fr; }

}




@media print {

	body { height: auto !important; background: var(--beige); color: var(--dark); }

	#contentLAYOUT {  }
	#contentLAYOUT > .wrap {  }
	#contentLAYOUT .slides {  }
	#contentLAYOUT .slides ul {  }
	#contentLAYOUT .slides ul li { position: relative; }
	#contentLAYOUT .slides ul li.curriculum { height: 1000px; z-index: 9999; opacity: 1; top: inherit; left: inherit; overflow: auto !important; z-index: 9999; }

	#contentLAYOUT .unslider-arrow { display: none; }

	/*#contentLAYOUT .menu_button { display: none; }*/
	#contentLAYOUT .raulstefanati { display: none; }
	#contentLAYOUT .portfolio { display: none; }
	#contentLAYOUT .index { display: none; }

}
