/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ==== GENERAL RESET / BASE ==== */
body, html {
    margin: 0;
    padding: 0;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 20px;
    line-height: 1.65;
    color: #333;
    background-color: #FAFAFA;
}

/* ==== HEADINGS ==== */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Source Sans 3', sans-serif!important;
    font-weight: 700!important;
    color: #161617!important;
}

h1 {
    font-size: 48px!important;
    line-height: 1.1!important;
}

h2 {
    font-size: 40px!important; 
    line-height: 1.1!important;
}

h3 {
    font-size: 24px!important;
    line-height: 1.1!important;
}

h4 {
    font-size: 20px!important; /* 24px */
	line-height: 1.1!important;
}

h5 {
    font-size: 16px!important; /* 20px */
	line-height: 1.1!important;
}

h6 {
    font-size: 8px!important; /* 16px */
	line-height: 1.1!important;
}

/* ==== PARAGRAPHS ==== */
p {
    font-family: "Source Sans 3";
    font-size: 20px!important;
    line-height: 1.65!important;
    color: #48484C;
}

/* ==== LINKS ==== */
a {
    color: #CD172D;
    text-decoration: none;
    transition: 0.3s ease;
	border-bottom: 1px solid #CD172D;
}

a:hover, a:focus {
    color: #CD172D;
	border-bottom: 1px solid transparent;
	transition: 0.3s ease;
}

.wp-block-button{
	width: fit-content!important;
}

/* ==== BUTTONS ==== */
button,
input[type="submit"],
.elementor-button,
a.wp-block-button__link
{
    background-color: #CD172D!important;
    color: #FAFAFA!important;
    padding: 10px 24.5px!important;
    border: 1px solid #CD172D!important;
    border-radius: 4px;
    font-size: 20px!important;
    font-weight: 700!important;
    cursor: pointer;
    transition: background-color 0.3s ease;
	line-height: 1.65!important;
	font-family: "Source Sans 3"!important;
}

.secondary a.wp-block-button__link,
.secondary .elementor-button{
	background-color: #FAFAFA!important;
	color: #CD172D!important;
	border: 1px solid #CD172D!important;
}

.secondary a.wp-block-button__link:hover,
.secondary .elementor-button:hover{
	background-color: #CD172D!important;
	color: #FAFAFA!important;
	border: 1px solid #FAFAFA!important;
}

button:hover,
input[type="submit"]:hover,
.elementor-button:hover,
a.wp-block-button__link:hover{
    background-color: #FAFAFA!important;
	color: #CD172D!important;
	text-decoration: none;
}

/* ==== LISTS ==== */
ul, ol {
    padding-left: 1.5rem;
    margin-bottom: 1.5rem;
}

li {
	font-family: "Source Sans 3"!important;
	font-size: 20px;
	line-height: 1.65;
	color: #48484C;
}

li::marker{
	color: #ED5F70;
}

/* ==== FORMS ==== */
.elementor-form{
	padding: 32px;
	border: 1px solid #E0E0E0;
	border-radius: 4px;
	box-shadow: 0px 16px 32px #00000014;
	background-color: #FAFAFA;
}


input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	border: 1px solid #E0E0E0!important;
	padding: 6px 8px!important;
	background-color: #FFF;
	font-weight: unset!important;
	
	margin-bottom: 16px!important;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder,
select::placeholder{
	font-family: "Source Sans 3"!important;
	font-size: 20px!important;
	line-height: 1.65!important;
	opacity: 1;
	color: #E0E0E0!important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #ED5F70!important;
}

.elementor-field-label{
	font-weight: 700!important;
	font-family: "Source Sans 3"!important;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 16px;
	margin-bottom: 8px;
	color: #48484C!important;
}

/* ==== IMAGES ==== */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==== CONTAINERS ==== */
.container, .elementor-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* ==== SECTIONS ==== */
section, .elementor-section {
    padding: 4rem 0;
}

/* ==== FOOTER ==== */
footer {
    background: #f7f7f7;
    color: #666;
    padding: 2rem 0 0;
    font-size: 0.9rem;
    text-align: center;
}


/*Custom Classes*/

.text-white .elementor-heading-title,
.text-white p{
	color: #FAFAFA!important;
}

.text-red{
	color: #CD172D!important;
}

.figueras p{
	font-family: 'Source Sans 3'!important;
	font-size: 44px;
	font-weight: 700!important;
	line-height: 54px;
	color: #48484C!important;
}

.eyebrow span.elementor-heading-title:before{
	content: '';
	width: 16px;
	height: 16px;
	display: block;
	background: #ED5F70;
	border-radius: 4px;
}

.eyebrow span.elementor-heading-title,
.eyebrow-2 span.elementor-heading-title{
	color: #48484C;
	font-size: 12px;
	line-height: 16px;
	text-transform:  uppercase;
	letter-spacing:  0.5px;
	display: flex;
	gap: 8px;
	font-family: 'Source Sans 3'!important;
}

.eyebrow span a{
	border-bottom: unset;
}

.p-bold p{
	font-weight: 700;
	color: #48484C;
}

ul.hovered-grid{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
	padding: 0px;
}

ul.hovered-grid li{
	list-style-type: none;
	text-align: center;
	padding: 14px 0px;
	background-color: #F4F4F4;
	width: 100%;
	border-radius: 8px;
	border: 1px solid #F4F4F4;
	margin-bottom: 0px;
	transition: 0.4s;
	color: #48484C;
	font-family: "Source Sans 3";
}

ul.hovered-grid li:hover{
	border: 1px solid #ED5F70;
	transition: 0.4s;
}


.clamp-3{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-clamp: 3;
}


/*Accordion*/

.elementor-widget-n-accordion .e-n-accordion-item-title{
	border-width: 0px!important;
	padding-top: 16px!important;
	padding-left: 16px!important;
	padding-bottom: 16px!important;
	gap: 24px!important;
}

.elementor-widget-n-accordion .e-n-accordion-item{
	margin-bottom: 8px!important;
}

.elementor-widget-n-accordion .e-n-accordion-item > div{
	border-width: 0px!important;
	padding-left: 54px
}

.elementor-widget-n-accordion details{
	background: #FAFAFA;
	transition: 0.4s;
}

.elementor-widget-n-accordion details:hover{
	background: #FCE8EB;
	border-radius: 8px;
	transition: 0.4s;
}

.elementor-widget-n-accordion details[open]{
	background: #FCE8EB;
	border-radius: 8px;
	transition: 0.4s;
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-header{
	font-weight: 700;
	font-size: 20px;
	line-height: 1.65;
	color: #48484C;
}


.mobile-slide-menu{
	display: none;
	width: 100%;
	max-width: 400px;
	position: fixed;
	height: 100%;
	top: 0px;
	right: 0px;
	background-color: #FFF;;
	z-index: 100000;
	box-shadow: -4px 0 4px 0 #0000000D;
}

.mobile-slide-menu.show{
	display: block;
}

.mobile-slide-menu ul{
	list-style-type: none;
	padding: 0px;
	margin: 0px;
	display: block!important;
}

.mobile-slide-menu ul li{
	height: 40px;
	margin-bottom: 8px;
}

.mobile-slide-menu ul li a{
	color: #CD172D;
	font-size: 22px;
}

.mobile-slide-menu .mobile-slide-menu-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px;
}

.mobile-slide-menu .mobile-slide-menu-body{
	padding: 16px;
}

.mobile-slide-menu-mask{
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgb(0, 0, 0, 50%);
	z-index: 100000;
}

.mobile-slide-menu-mask.show{
	display: block;
}

.elementor-widget-form .elementor-message{
	font-family: "Source Sans 3";
    margin-top: 24px;
}

.item-blog-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 12px;
    margin-top: 200px;
    row-gap: 160px;
}

.item-blog {
    background-color: #f5f5f5;
    padding: 16px;
    border-radius: 4px;
    height: 320px;
}

.item-blog img{
    border-radius: 4px;
    width: 100%;
    height: 184px;
    object-fit: cover;
}

.item-blog h3{
	margin-top: 25px;
	margin-bottom: 3px;
	line-height: 28px!important;
}

.item-blog h3 a{
	/* height: 54px; */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	line-clamp: 2;
}

.item-blog a{
	border-bottom: unset;
	font-size: 20px;
	line-height: 1.65;
	color: #48484C;	
}

.item-blog:hover a:has(img){
	margin-top: -140px;
}

.item-blog:hover a{
	color: #ED5F70;
}

.item-blog a:has(img){
	margin-top: -144px;
	display: block;
}

.item-blog .description{
	margin-bottom: 32px;
}

.item-blog .learn-more-link{
	font-weight: 700;
	font-size: 14px;
}

.postid-838 .elementor-537 .featured-image.elementor-element.elementor-element-b250a61 > .elementor-widget-container,
.postid-852 .elementor-537 .featured-image.elementor-element.elementor-element-b250a61 > .elementor-widget-container{
	margin: 0px;
}

@media(max-width: 1024px){
	.item-blog {
	    height: 312px;
	}
}


@media(max-width: 767px){
	h1, h2{
		font-size: 30px!important;
		line-height: 38px!important
	}

	button,
	input[type="submit"],
	.elementor-button {
		width: 100%!important;
	}

	ul.hovered-grid{
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 0px;
	}

	.elementor-form{
		padding: 16px;
	}

	.item-blog{
		height: 256px;
	}

	.item-blog .description{
		display: none;
	}

	.item-blog-wrapper {
	    grid-template-columns: 1fr 1fr;
		margin-top: 120px;
	}

	.item-blog h3 a{
		-webkit-line-clamp: 4;
		line-clamp: 4;
		height: unset;
		margin-bottom: 12px;
	}

	body,html{
		font-size: 16px!important;
	}

	p, li{
		font-size: 16px!important;
	}


	h1 {
	    font-size: 32px!important;
	    line-height: 1.1!important;
	}
	
	h2 {
	    font-size: 28px!important; 
	    line-height: 1.1!important;
	}
	
	h3 {
	    font-size: 24px!important;
	    line-height: 1.1!important;
	}
	
	h4 {
	    font-size: 20px!important; /* 24px */
		line-height: 1.1!important;
	}
	
	h5 {
	    font-size: 16px!important; /* 20px */
		line-height: 1.1!important;
	}
	
	h6 {
	    font-size: 16px!important; /* 16px */
		line-height: 1.1!important;
	}
}
