/*
CTC Separate Stylesheet
Updated: 2026-05-28 09:48:05
*/

html,
body {
	background: #000;
}

body {
	animation: fadeIn 1s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.hero-video{
	height: 100vh;
}
	.hero-video figure{
		position:relative;
		width:100%;
		height:100%;
	}
		.hero-video figure video{
			object-fit:cover;
			position:absolute;
			width:100%;
			height:100%;
		}
		
/* LANG SWITCH */
.lang-switch{
	cursor:pointer;
}
.lang-switch:hover, .lang-switch.active {
  color: #f4d03f;
}
/* Default state */
.about-eng,
.research-eng {
	display: block;
}

.about-esp,
.research-esp {
	display: none;
}

/* FOOTER */
.ct-footer{
	z-index: 999;
	background-color: transparent!important;
}

/* MENU SMOOTH */
#menu-main li.active > a {
	color:#f4d03f;
}


/* VIDEO HOME */
.hero-reel video {
	cursor: pointer;
}

.video-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	padding: 20px;
	background: rgba(0, 0, 0, 0.85);

	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;

	opacity: 0;
	transition: opacity 250ms ease;
}

.video-modal.is-visible {
	opacity: 1;
}

.video-modal-player {
	width: 100%;
	height: 100%;
	max-width: calc(100vw - 40px);
	max-height: calc(100vh - 40px);
	object-fit: contain;
	border-radius: 20px;
	background: #000;

	transform: scale(0.98);
	transition: transform 250ms ease;
}

.video-modal.is-visible .video-modal-player {
	transform: scale(1);
}

.video-modal-close {
	position: fixed;
	top: 30px;
	right: 30px;
	z-index: 1000000;

	width: 44px;
	height: 44px;

	border: 0;
	border-radius: 50%;

	background: rgba(0, 0, 0, 0.65);
	cursor: pointer;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;
}

.video-modal-close span {
	display: block;
	color: #fff;
	font-size: 34px;
	line-height: 1;

	/* Fine-tune if needed */
	transform: translateY(-2px);
}

.video-modal-open {
	overflow: hidden;
}


/* PROJECTS / MASONRY */

.project-gallery .ct-query-template-grid,
.project-gallery .wp-block-post-template {
	display: block !important;
	position: relative !important;
	width: 100% !important;
}

.project-gallery .wp-block-post {
	display: block !important;
	position: absolute;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

.project-gallery .ct-dynamic-media {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	margin: 0 !important;
	z-index: 1;
}

.project-gallery .ct-dynamic-media img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

/* TITLE OVERLAY */

.project-gallery .ct-dynamic-data.projects-gallery {
	position: absolute !important;
	inset: 0 !important;
	z-index: 5;

	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 20px !important;
	box-sizing: border-box;

	background: transparent;
	text-align: center;

	opacity: 0;
	pointer-events: none;

	transition: opacity 250ms ease;
}

.project-gallery .ct-dynamic-data.projects-gallery a {
	font-size: 12px;
	color: #FFF !important;
	text-decoration: none !important;
}

.project-gallery .wp-block-post:hover .ct-dynamic-data.projects-gallery {
	opacity: 1;
}

.project-gallery .wp-block-post {
	margin-bottom: 10px !important;
	box-sizing: border-box;
}

/* BACK BUTTON */
.project-back-button {
	display: inline-block;
	font-size: 12px;
	text-decoration: none;
	color: inherit;
	font-size:14px;
}
body:not(.single-project) .project-back-button {
	display: none;
}

/* Vimeo fix */
.wp-block-embed-vimeo iframe {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
}