﻿@import url('https://fonts.googleapis.com/css2?family=Modak&family=Oxygen:wght@300;400;700&family=Quicksand:wght@300..700&family=Ultra&display=swap');

body {
	font-family: Oxygen, sans-serif;
	background-color: rgba(0,0,0,.025);
	footer {
		/*margin-top: 10% !important;*/
	}
}
header {
	align-items: center; 
	justify-content: space-evenly; 
	display: flex; 
	flex-direction: column;
	height: auto; 
	min-height: 80vh;
	background: darkblue url('../assets/img/fundo.png') no-repeat 100% 80%;
	background-size: contain;
	> div.container {
		filter: drop-shadow(1px 1px 1px black);
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.sined {
		filter: drop-shadow(1px 2px 4px black);
		padding-top: 15px;
	}
	.sined img {
		object-fit: contain;
		width: 80%;
		max-width: 1000px;
	}
	> div.sined::after {
		content: "Centralidade do Estudante: Caminhos para uma Educação Mais Humana e Eficaz";		
		color: #fff;
		text-align: center;
		font-size: clamp(7px, 1.2vw + 0.25rem, 16px);
		text-transform: uppercase;
		background-color: #00923f;
		letter-spacing: clamp(3px, .25vw + 0.25rem, 7px);
		padding: 2px;
		width: 80%;
		display: block;
		max-width: 1000px;
	}
}

nav, .nav {
	display: flex;
	min-height: 50px;
	height: 10dvh;
	max-height: 80px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 9999;
	padding: 5px 0;
	> div {
		display: flex;
		flex-wrap: nowrap;
		width: 100%;
		align-items: center;
		justify-content: space-between;
	}
	.logo {
		position: relative;
		height: 100%;
	}
	.logo img {
		object-fit: contain;
		height: 100%;
	}
	ul {
		display: flex;
		width: max-content;
		flex-flow: row nowrap;
		gap: 15px;
		text-decoration: none;
		margin: 0;
		text-align: center;
		align-items: center;
		justify-content: center;
		list-style: none;
		text-transform: uppercase;
		font-family: 'Lato',serif;
		font-weight: 700;
		font-size: clamp(12px, 1vw, 15px);
	}
	li { display: block; }
	li:first-child {
		font-size: calc(1em + 4px);
		/*font-weight: 700;*/
	}
	a {
		text-decoration: none;
	}
	li:last-child {
		a {
			background-color: blue;
			display: flex;
			flex-flow: row nowrap;
			align-items: center;
			text-align: center;
			padding: 7.5px;
			border-radius: 15px;
			box-shadow: 1px 1px 3px black;
			color: white !important; 
			gap: 5px;
		}
		a:hover, a:focus, a:active { box-shadow: -1px -1px 3px black; color: #f8c300 !important; }
	}
	.hamburguer {
		display: none;
	}
}

nav {
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	background-color: white;
	transition: all 1s;
	animation: nav-scroll ease-in-out forwards;
	animation-timeline: scroll();
	animation-range: 0 35dvh;
	transform-origin: bottom;
	.logo img { max-height: 7.5vh; }
	a:hover, a:focus, a:active {
		color: #00783e !important;
		font-weight: bolder;
	}
}

.nav {
	justify-content: center;
	> div { align-items: center; justify-content: center; color: white; }
	> div a { color: white; }
	transition: all 1s;
	animation: nav-scroll ease-in-out forwards;
	animation-direction: reverse;
	animation-timeline: scroll();
	animation-range: 0 35dvh;
	transform-origin: bottom;
	transition: all 1.5s;
	a:hover, a:focus, a:active {
		color: #f8c300 !important;
		font-weight: bolder;
	}
	li:last-child {
		a {
			background-color: #00913f;
			color: white; 
		}
		a:hover, a:focus, a:active { color: #f8c300; }
	}
}

.open {
	height: 100dvh;
	max-height: 100%;
	width: 25dvw;
	right: 0;
	background-color: darkblue;
	min-width: 200px;
	display: flex;
	animation-range: 0 0;
	> div {
		flex-direction: column-reverse;
		width: 100%;
		align-items: center;
		justify-content: space-around;
		max-width: 100%;
		min-width: 100%;
		position: relative;
	}
	.logo {
		height: 7.5vmin;
		max-height: 7.5vmin;		
	}
	.logo img { content: url('../assets/img/logo5.png'); max-height: 7.5vmin; }
	.navegacao { visibility: visible; }
	ul {
		padding: 0;
		flex-direction: column;
	}
	a { color: white; }
	li:first-child a::after {
		content: ' Home';
		font-size: clamp(12px, 1vw, 15px);

	}
	.fa-bars::before { content: '\f00d'; }
}

.open + .nav {
	.hamburguer a { display: none; }
}

nav + .nav {
	.hamburguer a { display: block; }
}



.addtocalendar {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	span {
		font-size: min(3vmin, 24px);
		color: white;
		font-family: "Modak", system-ui;
		display: flex;
		align-items: center;
		text-align: center;
		height: 5vmax;
		max-height: 50px;
		line-height: 1.2;
	}
	img {
		object-fit: contain;
		background-color: white;
		border-radius: 100%;
		padding: 15%;
		height: 4vmax;
		max-height: 50px;
		width: 4vmax;
		max-width: 50px;
	}
}

section {
	scroll-margin-top: min(10dvh,80px);
	padding-top: 5%;
	> h2, > h6 {
		text-transform: uppercase;
		margin: 10px;
		text-align: center;
	}
	> h2 {
		animation: scrolling linear forwards;
		animation-timeline: view();
		animation-range: -150px 450px;
		transform-origin: bottom;
		font-family: 'Quicksand', cursive;
		font-weight: bold;
	}
	> h6 {
		color: rgba(0,104,168,1);
		font-weight: 500;
		animation: scrolling linear forwards;
		animation-timeline: view();
		animation-range: -150px 150px;
		transform-origin: top;
		z-index: -1
	}
}


#palestrantes {
	height: fit-content;
	width: 100dvw;
	background-color: rgba(0,0,0,.07);
	text-align: center;
	text-transform: uppercase;	
	padding-bottom: 5%;
}

.slide {
	overflow: hidden; 
	display: inline-block;							
	position: relative;
	width: 100%;
	white-space: nowrap;
	height: clamp(100px, 13vw, 250px); /* Igual ao .pics-row */
}
.slide:before, .slide:after {
	position: absolute;
	top: 0;
	width: 20dvw;
	height: 100%;
	content: "";
	z-index: 1;
}
.slide:before {
	left: 0;
	background: linear-gradient(to left, rgba(255,255,255,0), #e8e8e8);
}
.slide:after {
	right: 0;
	background: linear-gradient(to right, rgba(255,255,255,0), #e8e8e8);
}

.slide:hover .pics-row {
	animation-play-state: paused;
}

.pics-row {
	height: clamp(100px, 13vw, 250px);
	display: inline-flex;
	position: relative;
	width: fit-content;
	flex-shrink: 0;
	gap: 0;
	/*margin-right: 0;
	transition: margin-right .5s;
	/*animation: sidescroll linear;
	flex-flow: row nowrap;
	animation-timeline: scroll(root);*/
	animation: 15s giralogos infinite linear;
	overflow: hidden;


.pic {
  display: flex;
  position: relative;
  width: clamp(100px, 13vw, 250px);
  height: 100%;
  overflow: hidden;
  margin-right: 0;
  transition: width 0.3s ease, flex-grow 0.3s ease;
  cursor: pointer;
  flex-shrink: 0; /* Impede que os cards encolham */
  h3, h4 { text-align: center; }
  p { text-align: justify; text-transform: none; }
}
.foto {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*.foto {
  width: clamp(100px, 12.5vw, 200px)
  height: 100%;
  flex-shrink: 0; 
}

.foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bio {
  width: 0; 
  opacity: 0;
  padding: 0;
  overflow: auto;
  transition: opacity 0.3s ease 0.1s, padding 0.3s ease 0.1s;
  font-size: 75%;
  white-space: normal;  
}

.pic:hover {
  width: calc(clamp(100px, 12.5vw, 200px) * 2);
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  z-index: 10;
}

.pic:hover .foto {
  width: 40%;
}

.pic:hover .bio {
  opacity: 1;
  padding: 20px;
  width: 60%;
}

	/*.pic {
		position: relative;
		height: 100%;
		font-size: 10px;
		flex: 1 1 auto;
		min-width: clamp(100px, 12.5vw, 200px);
		transition: flex-grow 2s ease, transform 1s ease;
		display: flex;
		flex-flow: row nowrap;
		max-width: 400px;
		align-items: stretch;
	}
	.pic:hover, .pic:focus, .pic:active {
		transform: scale(1.2);
		z-index: 999;
		box-shadow: 0 10px 20px rgba(0,0,0,0.7);
		margin: 0 -5px 0 5px;
		filter: grayscale(0.5);
		flex-grow: 3;
		z-index: 2;
	}
	.pic img {
		object-fit: cover;
		width: 40%;
	}
	.pic p {
		text-transform: none;	
		text-align: justify;
		padding: 2px 5px;
		font-size: calc(.5vw + .25rem);
	}
	.pic > div {
		position: absolute;
		bottom: 0;
		color: white;
		height: 0;
		background-color: rgba(0,0,0,.5);
		position: relative;
		opacity: 0;
		visibility: hidden;
		transition: opacity .5s, visibility .5s, height .5s;
		overflow: auto;
		font-size: 75%;
		width: 100%;
		white-space: normal;
	}
	.pic > div::-webkit-scrollbar {
		width:5px;
		background-color: rgba(0,0,0,.5);
	} 	
	.pic > div::-webkit-scrollbar-track{
		background-color: rgba(0,0,0,.5);
		border-radius:7px;
	}
	.pic > div::-webkit-scrollbar-thumb{
		background-color: #e8e8e8;
		border-radius: 0 0 7px 7px;
	}
	.pic > div::-webkit-scrollbar-thumb:hover{
		background-color:#BF4649;
		border:1px solid #333333;
	}
	.pic > div::-webkit-scrollbar-thumb:active{
		background-color:#A6393D;
		border:1px solid #333333;
	} 
	.pic:hover > div, .pic:focus > div, .pic:active > div {
		opacity: 1;
		visibility: visible;
		height: 96%;
		padding: 7.5% 2.5%;
	}
	.pic > div h4 {
		font-size: calc(.8vw + .25rem);
		text-transform: none;
	}*/
}


#modal {
	position: fixed;
	display: flex;
	flex-flow: nowrap row;
	text-align: center;
	height: 40lvh;
	max-height: 350px;
	width: 85lvw;
	min-width: 300px;
	max-width: 600px;
	background: darkblue url('../assets/img/fundo.png') no-repeat center left;
	background-size: cover;
	color: black;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 3;
	border-radius: 30px 0 30px 30px;
	visibility: hidden;
	box-shadow: 1px 1px 15px #888888;
}

#modal::before {
	background-color: black;
	position: absolute;
}


#modal:target {
	visibility: visible;
	.pic-wrapper .imagem {
		transform: translateX(20%);
	}
	.perfilinfo > h4,
	.perfilinfo > h6
	{
		transform: scaleY(100%);
	}
	.perfilinfo > p {
		opacity: 1;
	}				
}

.bg {
	/*position: absolute; 
	top: 0; 
	left: 0; 
	right: 0; 
	bottom: 0; 
	background: darkblue url('../assets/img/fundo.png') no-repeat center left;
	background-size: cover;
	z-index: -1;
	border-radius: 30px;
	opacity: .666;*/
}

.btnfechar {
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	position: absolute;
	border: 4px solid darkblue;
	z-index: 4;
	border-radius: 60px;
	width: 30px;
	height: 30px;
	top: -15px;
	right: -15px;
	background: white;
	color: black;	
	box-shadow: 0px 0px 2px white;		
	i {
		font-size: 1rem;
		color: darkblue;
	}
}
.pic-wrapper {
	position: relative; 
	height: 100%; 
	width: 40%; 
	min-width: 150px;	
	border-top-left-radius: 30px;	
	top: 0;
	float: left;
}
.imagem {
	position: relative; 
	height: 100%; 
	width: 100%; 
	border-top-left-radius: 30px;	
	border-bottom-left-radius: 30px;	
	top: 0;
	float: left;
	/*left: -250%;*/
	transition: transform 1s ease-in-out;
}
.perfilinfo {
	position: relative; 
	height: 100%; 
	width: 60%; 
	min-width: 150px;
	padding: 10px;
	color: white;
	text-transform: none;
	float: right;
	display: flex;
	flex-flow: nowrap column;
	align-items: stretch;
	h4, h6 {
		font-weight: bold;
		margin: 0 0 min(1vmax,10px);
	}
	h4 {
		font-size: min(2vmax,18px);
	}
	h6 {
		font-size: min(1.25vmax,14px);
	}
	p {
		font-size: min(1.25vmax,12px);
		overflow: auto;
		word-wrap: break-word;
		line-height: 1.2;
		text-align: justify;
		padding: 5px;
	}
}

.invert {
	animation-direction: reverse !important;
}

#agenda {
	text-align: center;
	height: fit-content;
	> * {
		margin: 10px 0;
	}
}

#menu-agenda {
	/*columns: 3 150px; 
	display: flex; 
	text-align: center; 
	align-items: center; 
	justify-content: space-evenly;*/
	gap: 10px;
	list-style-type: none;
	a {
		text-decoration: none;
		color: black;
	}
	a:not(.selected):hover {
		border-bottom: solid 1px darkblue;
		display: block;
		/*width: 100%;	*/
	}
	a > span {
		font-size: 1.25rem;
	}
}

h3 ~ i {
	display: block;
	transition: transform .5s ease-in-out;
	/*will-change: transform;*/
}

#agenda a:not(.collapsed)  i {
	transform: rotate(45deg) scale(1.5);	
}

li a[aria-selected="true"] {
	color: darkblue !important;
	font-weight: 800;
}

.tabs_panel {
	display: flex;
	flex-flow: row nowrap;
	> div {
		width: 100%;
	}
}

.accordion-item::after, li a[aria-selected="true"] {
	content: "";
	border-bottom: solid 1px darkblue;
	display: block;
	width: 100%;
}

.accordion-item::after {
	border-bottom: solid 1px lightblue;
}

.accordion-item {
	border: none;
}

.accordion-header > a {
	gap: 20px;
}

.accordion-header {
	padding: 10px;
	> a {
		text-decoration: none;
		cursor: pointer;
		color: inherit;
		width: 100%;
	}
	> a > div {
		width: 100%;		
	}
}

.header-time {
	color: darkblue;
	min-width: 50px;
}

.header-title {
	width: 100%;
}

.content-description {
	padding: 5px 0 5px 80px;
	text-align: justify;
}

.members-container {
	gap: min(2dvw, 20px);
}
.member-card {
	display: flex;
	flex-flow: row nowrap;
	filter: grayscale(.9);
	transition: filter .5s;
	position: relative;
	img {
		height: clamp(75px, 20vw, 100px);
		width: clamp(75px, 20vw, 100px);
		border-radius: 100%;
		object-fit: cover;
		object-position: top;
		background-color: lightgrey;
	}
	&:hover {
		filter: grayscale(0);
	}
	&::after {
		/*opacity: 0;
		transition: opacity .5s;*/
  content: attr(data-name);
  position: absolute;
  top: 65%; /* mostra acima */
  /*left: 50%;
  transform: translateX(-50%);*/
  
  /* Layout controlado */
  max-width: 220px;
  padding: 3px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: clamp(8px,2vw,10px);
  line-height: 1.3;
  border-radius: 5px;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);

  z-index: 9999;
text-align: center;
min-width: clamp(75px, 20vw, 100px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
	}
	&:hover::after, &:focus::after, &:active::after {
		/*content: attr(data-name);
		background-color: lightyellow;
		border: solid 1px black;
		position: absolute;
		right: 0;
		bottom: -10px;
		font-size: clamp(8px,2vw,10px);
		padding: 3px;
		z-index: 9999;*/
		opacity: 1;
	}
	&:first-child::after {
		left: 50%;
	}
	&[data-mediador="true"]::after {
		left: 40%;		
	}
}

.members-container > div:first-child::before, .member-card[data-mediador="true"]::before {
	content: "Participantes";
	align-self: flex-start;
	margin-right: 5px;
	position: relative;
}
.member-card[data-mediador="true"]::before {
	content: "Mediador";	
	position: relative;
}

@keyframes scrolling { 
      0% { 
	opacity: 0;
        transform: translateY(200%); 
    } 
    100% { 
	opacity: 1;
        transform: translateY(0%); 
    } 
}

@keyframes nav-scroll { 
      0% { 
	opacity: 0;
        transform: translateY(-100%); 
    } 
    100% { 
	opacity: 1;
        transform: translateY(0); 
    } 
}

@keyframes sidescroll {
	from { transform: translate(calc(-50% + 0.5rem)); }
	to { transform: translate(calc(50% + 0.5rem)); }
}

@media (orientation: portrait) {
	header {
		justify-content: center;
		gap: 5vmax;
		background-position: 80% 100%;
	}
	.accordion-header > a:first-child {
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: start !important;
		gap: 0;
	}
	.content-description {
		padding: 5px 0 5px 10px;
	}
}

.logos img {
	height: 15vmin;
	max-height: 80px;
	margin: 0 min(5vmin,40px);
}

@media (min-width: 1200px) {
	.video-text { justify-content: center !important; }
}
@media screen and (max-width: 599px) {
	/*.nav:not(.open) li {
		display: none !important;		
	}*/
	.nav .navegacao{ display: none !important; }
	.nav .hamburguer { display: flex !important; justify-content: flex-end; padding: 20px 20px 0;}
	.nav .hamburguer a { 
		border: solid 3px darkblue; 
		background-color: white; 
		color: darkblue; 
		border-radius: 100%; 
		padding: 6px;
		box-shadow: 0px 0px 4px white;
	}
	.nav .hamburguer a { box-shadow: 0px -2px 8px white; }
}

@media screen and (max-width: 992px) {
	nav .hamburguer { display: block !important; }
	nav:not(.open) li {
		display: none !important;		
	}
	nav.open ~ div.nav {
		/*display: none;*/
	}
}
@media screen and (max-width: 767px) {
	.grid { 
		grid-template-columns: 1fr !important;  
		> div, br {
			border-right: none !important;
			border-bottom: 1px solid #ccc;
		}
	}
	nav:not(.open) > div { min-width: 100vw; padding: 0 20px; margin: 0; }
	#realizacao, #apoio {
		flex-wrap: wrap !important;
		> div { 
			gap: 10px; 
			padding: 10px;
		}
	}
	#realizacao {
		border-right: solid 1px rgba(0,0,0,0.05);
	}
}

@media (max-width: 720px) {
	.countdown { background: darkblue !important; }
}

@media screen and (max-width: 599px) {
	#realizacao, #apoio {
		flex-wrap: wrap !important;
		> div { 
			gap: 10px; 
			padding: 10px;
			flex-wrap: wrap !important;
		}
	}
	#realizacao {
		border-right: solid 1px rgba(0,0,0,0.05);
	}
}

@media (max-width: 392px) {
	#realizacao, #apoio { flex: 5 !important; }
}

@media (max-width: 445px) {
	.members-container { flex-wrap: wrap; }
	.member-card[data-mediador="true"]::before { margin-right: 6dvw; }
}

@keyframes giralogos {
	from { transform: translateX(0); }
	to   { transform: translateX(-100%); }
}

#foguetinho {
	animation: sidescroller linear;
	animation-direction: alternate;
	animation-timeline: scroll(root);
	z-index: -10;
}

@keyframes sidescroller {
	67% { bottom: 17px; }
	100% { bottom: 35%; transform: translate(100vw,100%); }
}

footer, .countdown {
	background-color: #fafad2;
	height: fit-content;
	min-height: 15dvh;
}

#realizacao, #apoio {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-evenly;
	height: fit-content;
	flex: 3;
	padding: 10px;
	/*filter: brightness(0) invert(1);*/
	> h6 { 
		font-size: min(1.75vmax, 14px); 
		font-family: 'Oxygen',sans-serif;
		font-weight: 700;
	}
	> div, > div > div {
		position: relative;
		height: 100%;
		width: 100%;
		max-width: 100px;
	}
	> div {
		max-width: 100%;
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: space-evenly;
	}
	> div > div {
		min-width: 50px;
		min-height: 100px;
	}
	> div > div::after {
		content: "";
		position: absolute;
		height: 100%;
		width: 100%;
		background: transpar;
		mix-blend-mode: multiply;
	}
}

#apoio {
	flex-wrap: nowrap;
	flex: 7;
}

#apresentacao {
	position: relative;
	height: fit-content;
	width: 100%;
	display: flex;
	flex-flow: column nowrap;
}
.grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	place-content: center;
	text-align: center;
	height: fit-content;
	/*max-width: 600px;*/
	margin: auto;
	box-sizing: border-box;
	> div, br {
		background: transparent;
		padding: 1rem;
		transition: transform 0.2s ease;
		text-align: center;
		word-wrap: break-word;
		overflow-wrap: break-word;
		min-width: 0; /* essencial para evitar overflow com grid */
	}
	> div:hover {
		transform: translateY(-4px);
		background: #eaf0f9;
	}
	i {
		font-size: 40px;
		padding: 5px;
	}
	h3, p {
		max-width: 100%;
		word-break: break-word;
	}
	p {
		line-height: 1;
		font-size: clamp(12px, 1vw, 14px);
	}
	> div:not(:last-child), br {
		border-right: 1px solid #ccc;
	}
	/* Adiciona borda à direita nos itens da primeira coluna (1 e 3) */
	/*> div:nth-child(1), > div:nth-child(3) {
		border-right: 1px solid #ccc;
	}*/

	/* Adiciona borda inferior nos itens da primeira linha (1 e 2) */
	/*> div:nth-child(1), > div:nth-child(2) {
		border-bottom: 1px solid #ccc;
	}*/
}

.countdown {
	position: relative;
	display: inline-flex;
	flex-flow: row wrap;
	align-items: end;
	justify-content: center;
	background: linear-gradient(to top, darkblue 45%, transparent 60%);
	padding: 2% 5% 0;
	> div { flex: 1; width: 100%; min-width: 250px; }
	> div#img {
		background: transparent url('../assets/img/estudante2.png') no-repeat center center;
		background-size: contain;
		min-height: 235px;
		max-width: 275px;	
	}
}
.timer {
	flex-flow: row nowrap;
	> div {
		position: absolute;
		/*bottom: 0;*/
		padding: 5px;
		display: flex;
		flex-flow: row nowrap;
	}
}
#text {
	flex-flow: column nowrap;
}
#texto {
	color: white;
	display: flex;
	flex-flow: row wrap;
	position: relative;
	font-family: 'Handlee', sans-serif;
	min-height: 150px;
	text-align: center;
	align-items: center;
	justify-content: space-evenly;
	gap: 20px;
	div {
		/*background-color: white;*/
		font-size: min(5vmax, 32px);
		line-height: 1.5;
		font-weight: 800;
		align-items: center;
	}
	.separador {
		font-size: min(5vmax, 32px);
	}
	h6 { line-height: 2; }
	#dias { margin: 0 15px; font-size: min(10vmax, 60px); }
}

@media (max-width: 720px) {
	#texto > div { flex-direction: column; }
}

#sergipe {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;	
}

.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-shadow: 0px 1px 5px black;
  height: 100%;
  max-height: 100%;
  overflow: auto;
}

/* Mantém proporção 16:9 */
.video-aspect {
  position: relative;
  width: 100%;
  /*padding-top: 56.25%; /* 16:9 ratio */
  aspect-ratio: 16 / 9;
  video { width: 100%; aspect-ratio: 16 / 9; }
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none; /* impede interação com o vídeo */
}

/* Overlay escuro */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: auto;
  filter: drop-shadow(1px 2px 4px black);
  z-index: 1;
  color: white;
}

.video-text {
    height: 90%;
    overflow: auto;
    box-sizing: border-box;
    text-align: justify;
    align-items: start;
    justify-content: start;
    display: flex;
    flex-flow: column;
    padding: 15px 10px;
}

.video-text h2 {
  color: #fff;
  font-size: 2rem;
  margin-bottom: 1rem;
  align-self: center;
}

.video-text p {
  color: #fff;
  font-size: 1.2rem;
  text-align: justify;
  font-size: clamp(9px, 2.5vw, 16px);
}

#recomendacoes {
	padding-top: 10px;
	/*background: transparent url('../assets/img/hoteis_img_notext.jpg') no-repeat 100% 80%;
	background-size: cover;*/
	h2, h6 {
		text-transform: uppercase;
		margin: 10px;
		text-align: center;
	}
	h2 {
		font-family: 'Quicksand', cursive;
		font-weight: bold;
	}
	h6 {
		color: rgba(0,104,168,1);
		font-weight: 500;
		z-index: -1
	}
	.grid {
		margin: 20px;
		grid-template-columns: 1fr 1fr;
	}
	p {
		text-align: start;
	}
}

.recomend {
	display: flex;
	flex-flow: row wrap;
	text-align: center;
	align-items: center;
	justify-content: center;
	flex: 1 1 250px;
	padding: 20px 0;
	gap: 20px;	
	> div { padding: 10px; box-shadow: 0px 1px 5px black; background-color: rgba(255,255,255,.95); }
}

#sonic-runner {
  position: fixed;
  bottom: 0;
  width: 100px;
  height: auto;
  z-index: 9999;
  pointer-events: none;
  display: none;
}

.run-left {
  animation: run-left 3s linear forwards;
  transform: scaleX(1);
  left: -120px;
  right: auto;
}

.run-right {
  animation: run-right 3s linear forwards;
  transform: scaleX(-1);
  right: -120px;
  left: auto;
}

@keyframes run-left {
  from { left: -120px; }
  to { left: 100vw; }
}

@keyframes run-right {
  from { right: -120px; }
  to { right: 100vw; }
}

@keyframes shake {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-5px, 5px); }
  40% { transform: translate(5px, -5px); }
  60% { transform: translate(-5px, -5px); }
  80% { transform: translate(5px, 5px); }
  100% { transform: translate(0, 0); }
}

.shake-screen {
  animation: shake 0.6s ease-in-out;
}

.fade-out-all * {
  animation: fadeOut 1.5s forwards;
}

@keyframes fadeOut {
  0% { opacity: 1; transform: scale(1) rotate(0deg); }
  100% { opacity: 0; transform: scale(0.2) rotate(720deg); }
}

     #chamada { margin-bottom: 20px; }

    .video-container {
      position: relative;
      /*width: 100%;
      max-width: 800px;
      margin: 10px auto 5vh;*/
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
    }

    .video-container video {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      display: block;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 20px 15px 10px rgba(0, 0, 0, 0.15);
      background: white;
      padding: 5px;
	max-width: 500px;
	margin-bottom: 20px;
    }

    .video { position: relative; }

    .video::before {
    content: '20+';
    position: absolute;
    bottom: -15px;
    right: -10px;
    width: 230px;
    height: 80px;
    background-color: white;
    shape-outside: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    word-spacing: 99999px;
    display: flex;
    font-size: 2rem;
    text-align: center;
    align-items: center;
    justify-content: start;
    padding: 0 50px;
    line-height: 2;
    font-weight: 700;
    z-index: 2;
    color: darkblue;
	}

    .video::after {
	content: 'palestrantes';
    position: absolute;
    right: 20px;
    bottom: 9px;
    word-spacing: 99999px;
    width: 90px;
    display: flex;
    font-size: 1rem;
    justify-content: center;
    line-height: 2;
    font-weight: 700;
    z-index: 2;
    color: darkblue;

	}

    .texto-final {
       p { font-size: min(2vmax, 1rem); }
    }    


    @media (max-width: 600px) {
 /* .video-container {
    max-width: 100%;
  }

  .video-container::before,
  .video-container::after {
    right: 0;
    width: 70px;
  }

  .video-container::before {
    height: 100px;
    font-size: 1.5rem;
  }

  .video-container::after {
    top: calc(20% + 100px + 5px);
    font-size: 0.875rem;
  }*/
    }

.texto-sined { display: flex; gap: 20px; flex-wrap: wrap; flex-direction: row-reverse; }
.texto-apresentacao { flex: 1 1 500px; text-align: justify; margin: auto 0; }
.carrossel-css {
  flex: 1 1 400px;
  /*width: 100%;*/
  max-width: 400px;
  overflow: hidden;
  /*border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);*/
  margin: auto;
}

.carrossel-css .fotos {
  display: flex;
  width: 100%; /* 4 imagens */
  animation: slide 16s infinite;
  border-radius: 20px;
}

.carrossel-css img {
  width: 100%;
  flex: 1 0 100%;
  object-fit: contain;
  transition: transform 0.5s ease;
}

.legenda-fixa {
  margin: 5px auto 0;
  font-size: 12px;
  font-weight: 600;
  color: #333;
  text-align: center;
}

/* Animação */
@keyframes slide {
  0%    { transform: translateX(0%); }
  20%   { transform: translateX(0%); }

  25%   { transform: translateX(-100%); }
  45%   { transform: translateX(-100%); }

  50%   { transform: translateX(-200%); }
  70%   { transform: translateX(-200%); }

  75%   { transform: translateX(-300%); }
  95%   { transform: translateX(-300%); }

  100%  { transform: translateX(0%); }
}

.risco-container {
  position: relative;
  /*width: 100%;
  height: 100%;
  margin: 80px auto;*/
  transform: rotate(0deg);
  /*transform-origin: bottom left;*/
}

.risco-svg {
  width: 300px;
  height: 100px;
}

.risco-svg path {
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  animation: desenhar-linha 3s ease-in-out forwards, apagar-linha 3s ease-in-out forwards;
  animation-iteration-count: infinite
}

.lapis {
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  offset-path: path("M0,50 Q50,0 100,50 T200,50 T300,50");
  offset-rotate: auto;
  animation: mover-lapis 3.0s ease-in-out infinite;
}

@keyframes desenhar-linha {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes apagar-linha {
  to {
    stroke-dashoffset: 1200;
  }
}

@keyframes mover-lapis {
  0%   { offset-distance: 0%; }
  50%  { offset-distance: 100%; }
  100% { offset-distance: 0%; }
}

#faleconosco {
	background-color: #00783e;
	height: fit-content;
	padding: 5% 0;
	h2, h6 { color: white; }
	> div {
		background-color: white;
		color: #00783e;
		border-radius: 30px;		
		border: solid 2px rgba(0,255,0,.3);
		box-shadow: 0 3px 10px black;
		height: 100%;
	}
	iframe {
		width: 100%;
		min-height: 700px;
		margin: 30px 0;
	}
	form { 
		display: flex; 
		align-items: normal; 
		text-align: start; 
		justify-content: center; 
		flex-flow: column nowrap; 
		padding: 5%;
	}
	label { font-weight: bold; }
	textarea { margin: 0 0 20px 0; }
	button {
		background-color: blue;
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		text-align: center;
		justify-content: center;
		align-self: end;
		padding: 7.5px;
		border-radius: 15px;
		box-shadow: 0 1px 1px black;
		color: white !important;
		gap: 5px;
		font-family: 'Lato', serif;
		font-weight: bold;
		width: 100px;
	}
	button:hover {
		color: #f8c300 !important;
		box-shadow: 0 1px 5px black;
	}
}

@media (min-width: 1200px) {
	#faleconosco iframe { min-height: 600px !important; }
}


