@font-face {
	font-family: "ligth";
	src: url(../fonts/Sofia_Pro_Light_Az.otf);
}
@font-face {
	font-family: "medium";
	src: url(../fonts/Sofia_Pro_Medium_Az.otf);
}

@font-face {
	font-family: "bold";
	src: url(../fonts/Sofia_Pro_Bold_Az.otf);
}

:root {
	--font-ligth: "ligth";
	--font-medium: "medium";
	--font-bold: "bold";
	--color-verde: #5c6e2e;
	--color-rojo: #af2323;
	--color-negro: #000001;
	--color-gris: #e7eae8;
	--color-blanco: #ffffff;
}

* {
	min-width: 0;
	font-family: var(--font-text);
	color: var(--color-text);
	margin: 0;
	padding: 0;
	transition: 0.3s;

	&,
	&::after,
	&::before {
		box-sizing: border-box;
	}
}
body,
html {
	scrollbar-gutter: auto;
	scroll-behavior: smooth;
	color: var(--color-negro);
}
@keyframes show {
	from {
		opacity: 0;
		scale: 25%;
	}
	to {
		opacity: 1;
		scale: 100%;
	}
}
img,
svg,
video {
	display: block;
	height: 100%;
	width: 100%;
}
img {
	object-fit: cover;
	object-position: center;
	border-radius: 3px;

	view-timeline-name: --image;
	view-timeline-axis: block;

	animation-timeline: --image;
	animation-name: show;

	animation-range: entry 0% cover 30%;
	animation-fill-mode: both;
}
p,
span {
	font-family: var(--font-ligth);
	text-wrap: pretty;
	color: var(--color-negro);
}
h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}
.row {
	max-width: 1200px;
	width: 90%;
}
header {
	background-color: var(--color-gris);
}
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 80px;
	margin: auto;
}
.header .header_image {
	max-width: 300px;
	width: 90%;
}
.header a {
	background-color: var(--color-verde);
	width: fit-content;
	height: 40px;
	border-radius: 5px;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	font-family: var(--font-ligth);
	padding: 0 20px;
	color: var(--color-blanco);
}
main {
	width: 1200px;
	margin: 50px auto;
	position: relative;
	display: flex;
	justify-content: space-around;
	gap: 30px;
	align-items: flex-start;
	min-height: 100dvh;
}
article {
	margin-bottom: 40px;
}
.right {
	width: 70%;
}
.left {
	width: 30%;
	position: sticky;
	top: 110px;
}

.banner img {
	aspect-ratio: 1337/744;
	border-radius: 20px;
}

.invitado {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	padding: 30px 50px;
	background-color: var(--color-gris);
	border-radius: 20px;
}
.invitado > div {
	flex: 1;
}
.invitado_image img {
	mask-image: linear-gradient(black 90%, transparent);
}
.invitado_text h2 {
	font-family: var(--font-bold);
	color: var(--color-verde);
	font-size: clamp(20px, 3vw, 40px);
	line-height: 1;
	margin-bottom: 10px;
}

.agendamiento {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}
.agendamiento_text {
	margin-bottom: 20px;
}
.agendamiento_text p {
	color: var(--color-verde);
}

.agendamiento_title {
	background-color: var(--color-rojo);
	height: 60px;
	line-height: 60px;
	border-radius: 30px;
	padding: 0 60px;
	text-align: center;
	margin-bottom: 20px;
}
.agendamiento_title h2 {
	color: var(--color-blanco);
	font-family: var(--font-bold);
	font-size: 1.5rem;
	line-height: inherit;
}

.citacion {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}
.citacion div {
	text-align: left;
	/* background-color: red; */
	padding: 0 30px;
}
.citacion span {
	color: var(--color-verde);
}
.citacion p {
	font-family: var(--font-bold);
	color: var(--color-verde);
}
.citacion .fecha,
.citacion .hora {
	border-right: 1px solid var(--color-negro);
}
.falta {
	background-color: var(--color-gris);
	border-radius: 20px;
	margin-bottom: 20px;
	padding: 30px;
}
.falta h2 {
	color: var(--color-rojo);
	font-family: var(--font-bold);
}
.falta .cronometro {
	margin-top: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.falta .cronometro .crono_item {
	border: 1px solid var(--color-verde);
	border-radius: 10px;
	text-align: center;
	width: 100px;
	height: 120px;
}
.falta .cronometro .crono_item p {
	font-size: 65px;
	font-family: var(--font-bold);
}
.youtube {
	margin-bottom: 50px;
}
.youtube p {
	color: var(--color-rojo);
}
.youtube a {
	text-decoration: none;
	background-color: var(--color-rojo);
	color: var(--color-blanco);
	font-family: var(--font-medium);
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 40px;
	border-radius: 10px;
	line-height: 40px;
	width: fit-content;
	padding: 5px 30px;
	margin: 20px auto 0;
	gap: 10px;
	transition: 0.3s;
}
.youtube a:hover {
	scale: 1.1;
}
.youtube a svg {
	fill: var(--color-blanco);
}
.cierre h2 span {
	display: block;
	line-height: 55px;
}
.cierre h2 span:first-child {
	font-family: var(--font-ligth);
	font-size: clamp(40px, 6vw, 55px);
	font-weight: lighter;
}
.cierre h2 span:nth-child(2),
.cierre h2 span:last-child {
	font-family: var(--font-medium);
	color: var(--color-verde);
}
.cierre h2 span:nth-child(2) {
	font-size: clamp(40px, 6vw, 55px);
}
.cierre h2 span:last-child {
	font-size: clamp(40px, 6vw, 80px);
}

.form_title {
	background-color: var(--color-gris);
	padding: 20px;
	border-radius: 20px 20px 0 0;
	text-align: center;
}
.form_title h2 {
	font-size: 16px;
	font-family: var(--font-ligth);
}
.form {
	padding: 20px;
	border: 3px solid var(--color-gris);
	border-radius: 0 0 20px 20px;
}
.form div {
	margin-bottom: 10px;
}
.form label,
.form input,
.form select {
	display: block;
	font-family: var(--font-medium);
	width: 100%;
	font-size: 14px;
}
.form label {
	color: var(--color-verde);
}
.form input,
.form select {
	height: 40px;
	padding: 0 10px;
	border-radius: 5px;
	border: 1px solid var(--color-gris);
}
.form input::placeholder,
.form select::placeholder {
	color: #00000150;
}
.form .form_checkbox,
.form-check {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.form .form_checkbox label,
.form-check label {
	font-size: 12px;
	color: #00000190;
}
.form .form_checkbox input[type="checkbox"],
.form-check input[type="checkbox"] {
	cursor: pointer;
	height: 15px;
	width: 15px;
}
.form div button {
	border: 0;
	background-color: var(--color-verde);
	color: var(--color-blanco);
	width: 100%;
	height: 40px;
	text-align: center;
	border-radius: 5px;
	font-family: var(--font-ligth);
	cursor: pointer;
	border: 1px solid var(--color-verde);
}
.form div button:hover {
	background-color: var(--color-blanco);
	color: var(--color-verde);
	font-weight: bold;
}
.form .error {
	display: none;
	font-size: 14px;
	color: #af2323;
}

.loading,
.envioExistoso {
	padding: 20px;
	border: 3px solid var(--color-gris);
	border-radius: 0 0 20px 20px;
	text-align: center;
}
.loading span,
.envioExistoso span {
	color: var(--color-verde);
	font-size: 30px;
	margin-bottom: 10px;
}

footer {
	background-color: #262b2e;
	color: var(--color-blanco);
	text-align: center;
	padding: 20px 40px;
	font-family: var(--font-ligth);
}

@media screen and (max-width: 1250px) {
	main {
		width: 1000px;
	}
	.right {
		width: 60%;
	}
	.left {
		width: 40%;
	}
	.invitado {
		gap: 20px;
	}
}

@media screen and (max-width: 1050px) {
	main {
		width: 800px;
	}
	.invitado {
		flex-direction: column;
	}
}

@media screen and (max-width: 850px) {
	main {
		width: 600px;
		flex-direction: column;
		gap: 0;
	}
	.right,
	.left {
		width: 100%;
	}
	.invitado_image img {
		width: 300px;
	}
}

@media screen and (max-width: 650px) {
	main {
		max-width: 380px;
		width: 90%;
		flex-direction: column;
	}
	.header {
		justify-content: center;
	}
	.header a {
		display: none;
	}
	.falta .cronometro .crono_item {
		width: 100%;
		height: 80px;
	}
	.falta .cronometro .crono_item p {
		font-size: 40px;
	}
	.falta .cronometro .crono_item span {
		font-size: 12px;
	}
	.cierre h2 span {
		line-height: 1;
	}
}
