/* 
Theme Name:		 Isoclima Group Elementor
Theme URI:		 https://www.designbystructure.com/
Description:	 The Isoclima Group 2025 Starter Theme (Elementor-ready)
Author:			 Design by Structure
Author URI:		 https://www.designbystructure.com/
Template:		 genesis-block-theme
Version:		 1.0.9
Text Domain:	 genesis-block-theme-child
*/

/*
    Add your custom styles here
*/

/* Contact Form Loader css */
.btn-cf7-form {
	width: 100%;
	display: flex;
}

.cf7-loader img {
	width: 40px !important;
}

#page.container {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

/* Match container width to page templates (1320px) */
@media (min-width: 1200px) {
	.container,
	.section-spacing .container {
		max-width: 1320px;
	}
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDemo-Black.otf')
		format('opentype');
	font-weight: 900;
	/* Black weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDemo-BlackItalic.otf')
		format('opentype');
	font-weight: 900;
	/* Black weight */
	font-style: italic;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BWGradualDemo-Bold.otf')
		format('opentype');
	font-weight: 700;
	/* Bold weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-BoldItalic.otf')
		format('opentype');
	font-weight: 700;
	/* Bold weight */
	font-style: italic;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-ExtraBold.otf')
		format('opentype');
	font-weight: 800;
	/* ExtraBold weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-ExtraBoldItalic.otf')
		format('opentype');
	font-weight: 800;
	/* ExtraBold weight */
	font-style: italic;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-Light.otf')
		format('opentype');
	font-weight: 300;
	/* Light weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-LightItalic.otf')
		format('opentype');
	font-weight: 300;
	/* Light weight */
	font-style: italic;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-Medium.otf')
		format('opentype');
	font-weight: 500;
	/* Medium weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-MediumItalic.otf')
		format('opentype');
	font-weight: 500;
	/* Medium weight */
	font-style: italic;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-Regular.otf')
		format('opentype');
	font-weight: 400;
	/* Regular weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-RegularItalic.otf')
		format('opentype');
	font-weight: 400;
	/* Regular weight */
	font-style: italic;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-Thin.otf')
		format('opentype');
	font-weight: 100;
	/* Thin weight */
	font-style: normal;
}

@font-face {
	font-family: 'BWGradualDemo';
	src: url('includes/assets/fonts/Bw-Gradual-DEMO/BwGradualDEMO-ThinItalic.otf')
		format('opentype');
	font-weight: 100;
	/* Thin weight */
	font-style: italic;
}

body {
	font-family: BWGradualDemo, sans-serif;
}

/* Common style for blocks START */
.bg-navy {
	background-color: #05202e;
}

.bg-gold {
	background-color: #e9a23e;
}

.bg-offwhite {
	background-color: #fbf7ef;
}

.font-navy {
	color: #05202e;
}

.font-gold {
	color: #e9a23e;
}

.section-title {
	margin-bottom: 30px;
}

.border-bottom-grey {
	border-bottom: 1px solid #bfc9cf !important;
}

.link-style {
	border-bottom: 1px solid #05202e;
	margin-top: 20px;
}

.section-description {
	font-size: 16px;
	font-weight: 300;
	margin-bottom: 30px;
	width: 100%;
}

/* Common style for blocks END  */

/* 404 css start*/
.error-link {
	text-decoration: none;
	font-size: 16px;
	font-weight: 300;
	color: #05202e;
	border-bottom: 1px solid #05202e;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
		border-color 0.15s ease-in-out;
}

.error-text {
	max-width: 875px;
	width: 100%;
}

/* 404 css End*/

/* full image start */
.wp-block-image img {
	height: auto;
	object-fit: cover !important;
}

/* full image end */
p {
	margin: 0;
}

sup {
	top: auto;
}

.site-content ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

li.no-list-style {
	display: block !important;
}

li.no-list-style::before {
	content: none !important;
}

.site-content li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 300;
}

.site-content li::before {
	content: '';
	display: block;
	min-width: 5px;
	height: 5px;
	border-radius: 1px;
	background-color: #e9a23e;
}

.site-content .elementor-element-edit-mode li::before {
	content: none;
	display: initial;
	min-width: none;
	height: unset;
	border-radius: none;
	background-color: none;
}

.link-style {
	border-bottom: 1px solid #05202e;
	margin-top: 20px;
}

/* popup design start*/
.mfp-wrap {
	position: fixed !important;
	top: 0 !important;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
	color: #000 !important;
	background-color: #e9a23e !important;
	padding-right: 0 !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50%;
	border: 1px solid #000 !important;
	opacity: 1 !important;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* popup design end */

/* Sliding underline link animations START */

/* Light underline - gold color, for dark backgrounds (footer) */
/* Apply directly to a link, OR add to container to affect all links inside */
a.light_ul {
	position: relative;
}

a.light_ul:before {
	background-color: #e9a23e;
	bottom: -0.1em;
	content: '';
	height: 1px;
	left: 0;
	min-height: 1px;
	position: absolute;
	right: 0;
	z-index: 2;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

a.light_ul:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

/* When class is on a container, target links inside */
.light_ul a,
.light_ul .elementor-item {
	position: relative !important;
	display: inline-block;
	text-decoration: none !important;
}

.light_ul a::after,
.light_ul .elementor-item::after {
	background-color: #e9a23e !important;
	bottom: 0 !important;
	content: '' !important;
	height: 1px !important;
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	position: absolute !important;
	z-index: 10 !important;
	transform: scaleX(0) !important;
	transform-origin: right !important;
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
	transition-property: transform !important;
	opacity: 1 !important;
}

.light_ul a:hover::after,
.light_ul .elementor-item:hover::after {
	transform: scaleX(1) !important;
	transform-origin: left !important;
}

/* Remove Elementor's default underline */
.light_ul .elementor-item::before,
.light_ul.e--pointer-underline .elementor-item::before,
.light_ul .e--pointer-underline .elementor-item::before {
	display: none !important;
	content: none !important;
}

/* Dark underline - navy color, for light backgrounds (header) */
/* Apply directly to a link, OR add to container to affect all links inside */
a.dark_ul {
	position: relative;
}

a.dark_ul:before {
	background-color: #05202e;
	bottom: -0.1em;
	content: '';
	height: 1px;
	left: 0;
	min-height: 1px;
	position: absolute;
	right: 0;
	z-index: 2;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

a.dark_ul:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

/* When class is on a container, target links inside */
.dark_ul a,
.dark_ul .elementor-item {
	position: relative !important;
	display: inline-block;
	text-decoration: none !important;
}

.dark_ul a::after,
.dark_ul .elementor-item::after {
	background-color: #05202e !important;
	bottom: 0 !important;
	content: '' !important;
	height: 1px !important;
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	position: absolute !important;
	z-index: 10 !important;
	transform: scaleX(0) !important;
	transform-origin: right !important;
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
	transition-property: transform !important;
	opacity: 1 !important;
}

.dark_ul a:hover::after,
.dark_ul .elementor-item:hover::after {
	transform: scaleX(1) !important;
	transform-origin: left !important;
}

/* Remove Elementor's default underline */
.dark_ul .elementor-item::before,
.dark_ul.e--pointer-underline .elementor-item::before,
.dark_ul .e--pointer-underline .elementor-item::before {
	display: none !important;
	content: none !important;
}

/* Sliding underline link animations END */

/* Operational page */
.custom-content .section-spacing {
	padding: 0;
}

/* single article page start */
.single-article-card .article-profile {
	width: 328px;
	aspect-ratio: 1/1;
}

.social-article-icons a:hover svg {
	fill: #e9a23e;
}

.single-article-content h5 {
	font-size: 28px;
	line-height: 32px;
	font-weight: 300;
}

.single-article-content p {
	line-height: 20px;
	font-weight: 300;
}

.single-article-content .wp-block-image img,
.single-article-content .featured-image {
	height: auto !important;
	aspect-ratio: 16/9;
}

.single-article-content .wp-block-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.single-article-content ol li::before {
	content: none;
}

.single-article-content ol {
	padding-left: 18px;
}

.single-article-content ol li {
	display: list-item !important;
	font-weight: 300;
}

.single-article-content a,
.single-article-content p a {
	padding-bottom: 2px;
	border-bottom: 1px solid #05202e;
	color: #05202e !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.single-article-content a:hover,
.single-article-content p a:hover {
	color: #e9a23e !important;
	border-bottom: 1px solid #e9a23e;
}

.single-article-content img {
	border-radius: 4px;
}

.single-article-content .post-image-wrap {
	margin-bottom: 10px;
}

.single-post .content-wrap {
	gap: 109px;
}

.linkcopy-post {
	cursor: pointer;
}

.article-link:hover {
	color: #e9a23e;
	border-bottom: 1px solid #e9a23e;
}

.article-card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.article-card-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.single-content-wrap {
	padding-top: 40px !important;
}

.card-image-wrap {
	margin-bottom: 10px;
}

/* single article page end */

@media (max-width: 1025px) {
	.single-post .content-wrap {
		gap: 74px;
	}
}

@media (max-width: 769px) {
	.single-article-card .article-profile {
		width: 102px;
	}

	.single-article-content h5 {
		font-size: 20px;
		line-height: 26px;
	}

	.single-post .content-wrap {
		gap: 40px;
	}
}

/* Article Category Banner slider Css Start */
.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		270deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.247905) 48.75%,
		rgba(255, 255, 255, 0.5) 98.33%
	);
	z-index: 0;
}

.carousel-item {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.carousel-item .section-spacing {
	padding: 73px;
}

.single-hero-banner,
.carousel-inner,
.carousel-item {
	min-height: calc(100vh - 80px);
}

.carousel-content-inner {
	background: #ffffffbf;
	padding: 54px;
}

.carousel-content-heading {
	font-size: 72px;
	line-height: 74px;
}

.carousel-content-description {
	border-top: 1px solid #bfc9cf;
}

.carousel-indicators {
	margin-bottom: 40px;
	margin-left: 10%;
}

.carousel-indicators [data-bs-target] {
	background-color: #18252e;
	width: 16px !important;
	height: 4px !important;
	border-radius: 16px;
	border: none !important;
	opacity: 1 !important;
}

.carousel-indicators .active {
	background-color: #e9a23e;
	width: 32px !important;
	height: 4px !important;
}

.slide-title {
	position: absolute;
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	margin-right: 15%;
	margin-left: 11%;
	margin-bottom: 50px;
}

.language-dropdown ul.dropdown-menu {
	min-width: 50px;
}

.language-dropdown ul.dropdown-menu li {
	text-align: center;
}

.hero-btn button {
	margin-top: 40px;
	transition: all 0.3s ease-in-out;
}

a.hero-btn:hover button {
	background-color: #05202e;
	color: #e9a23e !important;
}

@media (max-width: 1200px) {
	.carousel-indicators {
		margin-left: 40%;
	}

	.slide-title {
		margin-left: 45%;
	}
}

@media (max-width: 1023px) {
	.carousel-content-inner {
		border: none;
	}
}

@media (max-width: 1025px) {
	.hero-overlay {
		background: linear-gradient(
			360deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.247905) 49.58%,
			rgba(255, 255, 255, 0.5) 100%
		);
	}

	#carouselExampleCaptions,
	.carousel-inner,
	.carousel-item {
		min-height: 700px;
	}

	.hero-fluid {
		position: static !important;
	}
}

@media (max-width: 769px) {
	.carousel-indicators {
		margin-left: 29%;
	}

	.slide-title {
		margin-left: 36%;
	}

	.carousel-content-heading {
		font-size: 35px;
		line-height: 44px;
	}

	.carousel-item .section-spacing {
		padding: 24px;
	}

	.carousel-content-inner {
		padding: 24px;
	}

	.hero-btn button {
		margin-top: 24px;
	}
}

@media (max-width: 426px) {
	.carousel-indicators,
	.slide-title {
		left: 16px;
		right: auto;
		justify-content: start;
		margin-left: 0;
	}
}

.hide {
	display: none !important;
}

/* Article Category Banner slider Css End */

/* Category Cards Shortcode Styles */
.category-cards-section {
	padding: 0 !important;
}

.category-cards-section .container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.category-cards-section .category-card-item {
	transition: transform 0.3s ease;
}

.category-cards-section .category-card-item a {
	display: block;
}

.category-cards-section .card-image-wrap {
	overflow: hidden;
	border-radius: 4px;
}

.category-cards-section .card-image-wrap img {
	transition: transform 0.4s ease;
}

.category-cards-section .category-card-item:hover .card-image-wrap img {
	transform: scale(1.05);
}

.category-cards-section .category-card-title {
	color: #05202E;
}

.category-cards-section .category-card-description {
	color: #05202E;
	font-size: 1rem;
	line-height: 1.4;
}

.category-cards-section .link-style {
	border-bottom: 1px solid #05202E;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.category-cards-section .category-card-item:hover .link-style {
	color: #E9A23E;
	border-color: #E9A23E;
}

/* Category Cards Shortcode Styles End */

/* ========================================
   Dynamic Content for Elementor - Posts Widget
   Match ACF articles block styling
   ======================================== */

/* Category tag and date - inline layout wrapper */
.dce-post-block {
    display: block;
}

.dce-posts-container .dce-post-item .dce-post-block {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
}

.dce-post-block .dce-item.dce-item_image {
    width: 100% !important;
    flex-basis: 100% !important;
}

.dce-post-block .dce-item.dce-item_termstaxonomy {
    flex-shrink: 0 !important;
}

.dce-post-block .dce-item.dce-item_date {
    flex-shrink: 0 !important;
    margin-left: 12px !important;
}

.dce-post-block .dce-item.dce-item_title,
.dce-post-block .dce-item.dce-item_content,
.dce-post-block .dce-item.dce-item_readmore {
    width: 100% !important;
    flex-basis: 100% !important;
}

/* Category tag styling - gold rounded pill */
.dce-post-terms {
    display: inline-block !important;
}

.dce-post-terms .dce-terms-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    gap: 8px !important;
}

.dce-post-terms .dce-term-item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Only show first tag */
.dce-post-terms .dce-term-item:not(:first-child) {
    display: none !important;
}

.dce-post-terms .dce-term-item::before {
    display: none !important;
    content: none !important;
}

.dce-post-terms .dce-term {
    display: inline-block !important;
}

.dce-post-terms .dce-term a,
.elementor-widget-dce-dynamicposts-v2 .dce-post-terms .dce-term a,
[class*="elementor-repeater-item"] .dce-post-terms .dce-term a {
    display: inline-block !important;
    padding: 5px 15px !important;
    background-color: #F5D399 !important;
    border-radius: 0.25rem !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 16px !important;
    color: #05202E !important;
    text-decoration: none !important;
}

.dce-post-terms .dce-term a:hover,
.elementor-widget-dce-dynamicposts-v2 .dce-post-terms .dce-term a:hover,
[class*="elementor-repeater-item"] .dce-post-terms .dce-term a:hover {
    color: #05202E !important;
    background-color: #F5D399 !important;
}

/* Date styling */
.dce-post-date {
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: #05202E !important;
}

/* Content character limit with ellipsis */
.dce-post-content {
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Button - reset all styling */
.dce-post-button .elementor-button,
.dce-post-button .dce-button,
.dce-post-button a {
    all: unset !important;
    cursor: pointer !important;
    display: inline-block !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    color: #05202E !important;
    border-bottom: 1px solid #05202E !important;
    background: none !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transition: color 0.3s ease, border-color 0.3s ease !important;
}

.dce-post-button .elementor-button:hover,
.dce-post-button .dce-button:hover,
.dce-post-button a:hover {
    color: #E9A23E !important;
    border-color: #E9A23E !important;
    background: none !important;
    background-color: transparent !important;
}

/* DCE Posts Widget Styles End */
