:root {
	--primary-color: #002f58;
	--primary-color: #00427c;
	--primary-dark-color: #002f58;
	--secondary-color: #14b7e0;
	--primary-color-hex: #00427c;
	--secondary-color-hex: #14b7e0;
	/*--secondary-color: 20, 183, 224;*/

	--dark-color: #001f3a;
	--light-color: #ffffff;

	--dark-color: #004b6b;
	--text-color: #002f58;
	--base-color: #004b6b;
}
.frase-section > :is(.content, .content-fluid) {
	min-height: 70px;
	align-items: center;
}
.gray-bg {
	background-color: #efefef;
}
.section-slider {
	
	.images-slider {
		margin-left: -15px;
		width: calc(100% + 30px);

		.slide {
			aspect-ratio: 5 / 2;
		}
	}
}
.images-slider {
	
	.swiper-button-next, .swiper-button-prev {
		--swiper-navigation-size: 20px;
		background: #fff;
		width: 55px;
		height: auto;
		aspect-ratio: 1;
		font-size: 10px;
		padding: 10px;
		box-sizing: border-box;
		border-radius: 50%;

		&::after {
			font-weight: bold;
		}
	}
	.title {
		width: fit-content;
		margin-bottom: 25px;
		padding: 8px 16px;
		font-family: Kanit;
		font-weight: 500;
		line-height: 1.2;
		color: #fff;
		/*background-color: rgba(var(--secondary-color), 0.6);*/
		background-color: color-mix(in srgb, var(--secondary-color-hex) 70%, transparent);
		border-radius: 10px;
	}
	.description {
		font-family: Kanit;
		font-weight: 400;
		color: #fff;
	}
	.link {		
		padding: 15px 40px;
		line-height: 1;
		font-family: Kanit;
		color: #fff;
		border-radius: 10px;
		background-color: var(--primary-color);
	}
}
.institute-careers-ctas {

	.call-to-action {
		overflow: hidden;
		position: relative;
		align-items: flex-end;
		border-radius: 10px;

		.cta_image {
			width: 100%;
			position: absolute;
			inset: 0;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			&::after {
				content: '';
				position: absolute;
				inset: 0;
				background-image: linear-gradient(0deg, var(--primary-color) -20%, transparent 100%);
			}
		}
		.cta_content {
			position: relative;
			text-align: center;

			.title, .description, a {
				font-family: Kanit;
				font-weight: 400;
				color: #fff;
			}
			.actions a {
				padding: 0.6em 1.8em;
				font-size: 14px;
				font-weight: 600;
				border: 2px solid var(--secondary-color);
				background-color: transparent;
				border-radius: 10px;
				transition: 0.4s all;
				text-transform: uppercase;
			}			
		}
	}
}
[data-block="card-group"] {
	width: 100%;
}
.cards-style_image-background {	

	.card {
		position: relative;
		align-items: center;
		min-height: 250px;
		overflow: hidden;
		border-radius: 10px;

		.card_image {
			width: 100%;
			height: 100%;
			position: absolute;
			inset: 0;
			z-index: 0;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			&::after {
				content: '';
				position: absolute;
				inset: 0;
				background-image: linear-gradient(0deg, var(--primary-color) -20%, transparent 100%);
			}
		}
		.card_content {
			position: relative;
			justify-content: flex-end;
			text-align: center;

			.title, .description, a {
				font-family: Kanit;
				font-weight: 400;
				color: #fff;
			}
			.description {
				margin: 0;
			}
			.actions a {
				padding: 0.6em 1.8em;
				font-size: 14px;
				font-weight: 600;
				border: 2px solid var(--secondary-color);
				background-color: transparent;
				border-radius: 10px;
				transition: 0.4s all;
				text-transform: uppercase;
			}			
		}
	}
}
.breadcrumb {
	display: flex;
	gap: 10px;
	align-items: center;
	padding-block: 20px;

	a {
		text-decoration: none;
	}
	
	i {
		color: var(--light-color);
	}

	:is(a, span) {
		flex-shrink: 0;
		color: var(--light-color);
		font-family: Roboto Flex;
		font-size: 17px;
	}

	@media (width > 768px) {
	
		:is(a, span) {
			display: -webkit-box;
			-webkit-line-clamp: 1;
			-webkit-box-orient: vertical;
			overflow: hidden;
		}
	}
}
.section.section-navigation {
	position: relative;
	z-index: 1000;
}
.navigation {

	nav {
		li {
			transition: background-color .4s;

			&:hover {
				z-index: 10;
			}	
		}
		a {
		    font-family: Kanit;
		}
		ul ul li:hover {
			background-color: var(--primary-color);

			a {
				color: #fff;
			}
		}
		@media(width > 992px) {

			ul ul {
				display: flex;
				opacity: 0;
				visibility: hidden;
				transition: all .5s;
				transform: translateY(-20px);
			}
			ul li:hover > ul {
				opacity: 1;
				visibility: visible;
				transform: translateY(0px);
			}
		}
	}
}
/*nav > ul > li:hover > ul {
	display: block;
	z-index: 10;
}*/
.heading {
	position: relative;

	&::before {
		content: "";
		position: absolute;
		top: 0px;
		width: 4px;
		height: 100%;
		background-color: var(--secondary-color);
	}
	:is(h1, h2, h3, h4, h5) {
		padding-left: 15px;
		font-family: Kanit;
		color: #2c4258;
	}
}
.section.row-space-between-y > :is(.content, .content-fluid) {
	justify-content: space-between;
}
.section.row-left-y > :is(.content, .content-fluid) {
	justify-content: flex-start;
}
.section.row-center-y > :is(.content, .content-fluid) {
	align-items: center;
}
.section.row-right-y > :is(.content, .content-fluid) {
	justify-content: flex-end;
}
.theme-bg {
	background-color: var(--primary-color);

	:is(h1, h2, h3, h4, h5, h6, p, span, i, .description) {
		color: #fff;
	}
}
.card {
	padding: 15px;
	border-radius: 10px;
}
.page-banner, .page-header {
	/*aspect-ratio: 4.5 / 1;
	aspect-ratio: 3 / 1;
	min-height: 100px;
	background-size: cover;
	background-position: center;*/

	> .content {
		align-items: center;
		height: 100%;
		min-height: inherit;
	}

	:is(h1, h2, h3, h4) {
		font-size: clamp(28px, 6vw, 40px);
		color: #fff;
	}
}
.section .background .image {
	height: 100%;
	background-size: cover;
	background-position: center;
}
.section.page-banner {
	aspect-ratio: 4 / 1;
	min-height: 100px;
	
	:is(.content, .content-fluid) {
		height: 100%;
		min-height: inherit;
		align-items: center;
	}

	.background {
		z-index: -1;

		&::after {
			content: '';
			position: absolute;
			inset: 0;
			background-image: linear-gradient(90deg, #02020270);
			/*background-image: linear-gradient(90deg, #0f0f0f2f 25%, #00000000 85%);*/
		}
	}
}
.testimonials-carousel {

	.swiper-wrapper {
		align-items: stretch;
	}
	.swiper-slide {

		.content {
			border-radius: 10px;
		}
		&.swiper-slide-active {
			
			.content {
				border-color: var(--primary-color);
				background-color: var(--primary-color);
				color: #fff;
			}
		}
	}
}
.dark-icon-box-group {

	.icon-box {
		padding: 15px;
		background-color: var(--primary-dark-color);
		border-radius: 10px;
		color: #fff;

		.title {
			font-family: Kanit;
			font-weight: 500;
		}
		.description {
			font-family: Kanit;
			font-weight: 300;
		}
	}
}
.posts-slider .post {
	border-radius: 10px;
}
.button {
	margin-top: 20px;
	
	a {
		background-color: var(--secondary-color);
		border-color: var(--secondary-color);
		color: #fff;
	}
}
.image {

	img {
		border-radius: 10px;
	}
}
.contact-container {
	padding: 20px;
	border-radius: 10px;
}
.section-enlaces-institucionales {
    .card {
        .card_image {
            aspect-ratio: 3 / 1;
            
            img {
                object-fit: contain;
        }
    }
}
/*.section > :first-child:not(.content, .content-fluid)::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: #001f3a;
}*/

/*==== BEGIN MARATON ====*/
/*.video-text-1 {
	margin: 0 !important;
	color: #fff;
	text-shadow: 2px 2px 2px #000000;
}
.video-text-2 {
	margin: 0 !important;
	padding: 15px;
	color: #fff;
	background-color: #e51237b3;
	text-shadow: 2px 2px 2px #4f5b4b;
}
.homepage-hero {
	min-height: 100vh;
}

.logo-maraton {
	margin-block: 15px !important;
}
.section-navigation {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	background: #2121217d;
	z-index: 100;
	
	> .content {
		align-items: center;
		justify-content: space-between;
	}
	
	nav {
		a {
			color: #fff;
			font-size: 18px;
		}
		ul li:hover {
			background: #232323;
		}
	}
}
.section-features {
	
	> .content {
		min-height: 300px;
		align-items: center;
	}
	.icon-box-group {
		
		.icon-box {
			padding: 20px;
			background: #3b3b3bf7;
			border-radius: 10px;
			
			i {
				color: #c9d600;
				color: #06b204;
				font-size: 50px;
			}
			.title {
				color: #fff;
				font-size: 20px;
			}
			.description {
				color: #fff;
			}
		}
	}
}
.section-footer {
	background: #212121;
	
	.title {
		color: #fff;
		margin: 20px;
	}
	.icons-list li {
		color: #fff;
	}
}

.section .background .image {
	height: 100%;
	background-size: cover;
	background-position: center;
}

.section.section-features, .section.section-testimonials {

	.background {
		z-index: -1;

		&::after {
			content: '';
			position: absolute;
			inset: 0;
			background-image: linear-gradient(90deg, #F37D2473 25%, #90BB1675 85%);
		}
	}
}
.section.section-hero {

	:is(.content, .content-fluid) {
		min-height: inherit;
		align-items: center;
	}

	.background {
		z-index: -1;

		&::after {
			content: '';
			position: absolute;
			inset: 0;
			background-image: linear-gradient(90deg, #F37D2473 25%, #90BB1675 85%);
		}

		:is(.content, .content-fluid) {
			min-height: inherit;
			align-items: center;
		}
	}
}

.theme-title {
	position: relative;
	padding: 20px;

	&::before {
		content: none;
	}

	.title {
		font-weight: 600;
		color: #fff;
		padding: 0px;

		&::before {
			content: '';
			position: absolute;
			top: 0;
			right: -120px;
			bottom: 0;
			left: -100vw;
			-webkit-transform: skew(-21deg);
			transform: skew(-21deg);
			background-color: #e51237;
			z-index: -1;
		}
	}
}
.heading {
	margin-bottom: 20px !important;

	&::before {
		width: 5px;
		background-color: #06b204;
	}
}
.section-countdown .content {
	justify-content: center;
}
.countdown-timer {
	background: #e51237;
	padding: 20px;
	font-size: 40px;
	font-weight: 700;
	color: #fff;
	margin-top: -20px;
}
.button a {
	padding: 15px 20px;
	background: #e51237;
	display: inline-block;
	color: #fff;
	text-decoration: none;
	border-radius: 10px;
}

.testimonials-carousel {

	.content {
		border-color: #3b3b3bf7;
		background-color: #3b3b3bf7;
		color: #fff;
	}
	.profile {
		border-color: #06b204;
	}
}

.section-social-network .icon-box {
	border: 2px solid #e51237;
    border-radius: 5px;
    text-decoration: none;
    color: #595959;
}

.icon-box {
	text-decoration: none;
}

.image img {
	border-radius: 10px;
}
.video video {
	border-radius: 10px;
}*/