/*
	Theme Name: MaluvaGreen
	Theme URI: http://maluvagreen.com.mx
	Description: MaluvaGreen WordPress Theme
	Version: 2.0
	Author: Hector Felan (@boostmonitor)
	Author URI: http://boostmonitor.com
	Tags: maluva green, maluvagreen, HTML5, CSS3, PHP

	License: Boostmonitor
	License URI: https://boostmonitor.com/boostmonitor-proprietary-license
*/

/*------------------------------------*\
    ROOT COLORS
\*------------------------------------*/
:root {
	--maluva-grayscale-1: #000000;
	--maluva-grayscale-2: #4a4a4a;
	--maluva-grayscale-3: #808080;
	--maluva-grayscale-4: #acacac;
	--maluva-grayscale-5: #d3d3d3;
	--default-clear-color: #FFFFFF;
	--body-background-color: #FFFFFF;

	--maluvagreen-color-1: #028bda;
	--maluvagreen-color-2: #289ca4;
	--maluvagreen-color-3: #4dae6e;
	--maluvagreen-color-4: #72c037;
	--maluvagreen-color-5: #98d101;
	--maluvagreen-color-6: #b2da01;
	--maluvagreen-color-7: #cce301;
	--maluvagreen-color-8: #e5ec00;
	--maluvagreen-color-9: #fff500;
}
/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing: antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-family: 'Figtree', sans-serif;
	background-color: var(--default-clear-color);
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	-webkit-tap-highlight-color: transparent;
}
.modal-open {
	overflow: hidden;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

/*------------------------------------*\
    TEXT SETTINGS
\*------------------------------------*/
h1 {
	line-height: 1.15;
}
h2, h3, h4, h5 {
	line-height: 1.3;
}
p, li {
	font-size: 16px;
	line-height: 1.5;
}
.pre-title {
	font-size: 20px;
	font-weight: 700;
}
.pre-title-with-icon {
	display: flex;
	align-items: flex-start;
	font-size: 20px;
	font-weight: 700;
}
.pre-title-with-icon i {
	font-size: 24px;
}
/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	max-width: 1680px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
/* header */
.header {
	position: fixed;
	top: 0;
	left: 0;
	max-width: 1680px;
	width: 100%;
	padding: 15px 20px;
	z-index: 10;
	background-color: var(--default-clear-color);
	transition: 0.5s ease-in-out;
}
.header-default-background {
	background-color: var(--default-clear-color) !important;
}
.header > .flex {
	max-width: 1280px;
	width: 100%;
	position: relative;
	margin: 0 auto;
}
/* logo */
.logo {
	width: 180px;
	height: auto;
	flex-shrink: 0;
}
.logo-img {
	width: 180px;
	height: auto;
	object-fit: contain;
}
/* nav */
.nav {
	display: none;
}
#mobile-menu-button {
	display: block;
}
.nav ul {
	display: flex;
	gap: 20px;
	list-style: none;
}
.nav ul li a {
	font-size: 18px;
	font-weight: 600;
	padding-bottom: 10px;
	border-bottom: 1px solid transparent;
	transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.nav ul li a:hover {
	color: var(--maluvagreen-color-1);
	border-bottom: 1px solid var(--maluvagreen-color-1);
}
/* language selector */
.bm-language-selector {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 20px;
}
.bm-language-selector li a {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase
}
.bm-language-selector li a img {
	height: 20px;
	width: 20px;
	object-fit: cover;
	object-position: center center;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}
#main-content-wrapper {
	transition: 0.5s ease-in-out;
}
/* sidebar */
.sidebar {

}
/* footer */
.footer {
	display: block;
	position: relative;
	transition: 0.5s ease-in-out;
	padding: 50px 0;
	background: linear-gradient(0deg, var(--maluvagreen-color-1) 0%, var(--default-clear-color) 100%);
}
p.copyright {
	display: block;
	text-align: center;
	font-size: 16px;
}
.footer svg {
	width: 130px;
	height: auto;
	object-fit: contain;
	position: relative;
	top: 5px;
}
main {
	width: 100%;
}
section {
	max-width: 1280px;
	width: 100%;
	position: relative;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
.narrow-section {
	max-width: 1100px;
}

/*------------------------------------*\
    Mobile Menu
\*------------------------------------*/
#mobile-menu-button {
	position: relative;
	width: 35px;
	height: 20px;
	cursor: pointer;
}
#mobile-menu-button span {
	position: absolute;
	width: 100%;
	height: 3px;
	border-radius: 3px;
	background-color: var(--maluva-grayscale-2);
	opacity: 1;
	transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
#mobile-menu-button:hover span {
	background-color: var(--maluvagreen-color-1);
}
#mobile-menu-button span:nth-child(1) {
	top: 0;
}
#mobile-menu-button span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
#mobile-menu-button span:nth-child(3) {
	bottom: 0;
}
#mobile-menu-button.active span {
	background-color: var(--maluvagreen-color-1);
}
#mobile-menu-button.active span:nth-child(1) {
	top: calc(50% - 1px);
	transform: translateY(-50%) rotate(45deg);
}
#mobile-menu-button.active span:nth-child(2) {
	opacity: 0;
}
#mobile-menu-button.active span:nth-child(3) {
	bottom: calc(50% - 1px);
	transform: translateY(-50%) rotate(-45deg);
}
#mobile-menu-container {
	position: fixed;
	z-index: 9;
	top: 0%;
	right: -100%;
	width: 100%;
	height: 100vh;
	background-color: var(--maluvagreen-color-1);
	transition: 0.5s ease-in-out;
}
.mobile-menu-container-show {
	right: calc(0% - 75px) !important;
}
.header-hidden {
	left: calc(-100% + 75px);
}
.mobile-menu-active {
	transform: translateX(calc(-100% + 75px));
}
#mobile-menu-container h3 {
	color: var(--default-clear-color);
	padding-left: 20px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--default-clear-color);
}
#mobile-menu-container ul {
	padding: 0;
	list-style: none;
}
#mobile-menu-container ul li {
	display: block;
	width: 100%;
}
#mobile-menu-container ul li a {
	display: block;
	padding: 5px 20px;
	color: var(--default-clear-color);
	font-size: 20px;
	font-weight: 700;
}
/*------------------------------------*\
    HOME PAGE
\*------------------------------------*/
	/* Hero Section */
	#hero-section {
		position: relative;
		z-index: 0;
		padding: 130px 0px 340px 0px;
		background-color: #fffed7;
	}
	#hero-section-image {
		position: absolute;
		z-index: -1;
		right: 0;
		bottom: -70%;
		transform: translateY(0);
		height: auto;
		width: auto;
		object-fit: contain;
	}
	#hero-section-bottom-divisor {
		position: absolute;
		z-index: -1;
		left: 50%;
		transform: translateX(-50%);
		bottom: -130px;
		max-width: 1680px;
		min-width: 1680px;
		height: auto;
		object-fit: contain;
	}
	/* #hero-section::before {
		content: '';
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(20deg, #028bda 0%, #72c037 50%, #fff500 100%);
		opacity: 0.8;
	}
	#hero-section::after {
		content: '';
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--maluva-grayscale-1);
		opacity: 0.5;
	} */
	#hero-section #hero-section-content {
		position: relative;
		z-index: 3;
	}
	#hero-section-content h1 {
		max-width: 700px;
		font-size: 35px;
		color: var(--maluva-grayscale-1);
		font-weight: 800;
		/* text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3); */
	}
	#hero-section-content p {
		max-width: 600px;
		font-size: 16px;
		color: var(--maluva-grayscale-1);
		font-weight: 600;
		margin-bottom: 40px;
	}

	/* Home page about us section */
	#home-page-about-us {
		padding: 100px 0 0px 0;
	}
	#home-page-about-us-img {
		border-radius: 30px;
		overflow: hidden;
	}

	/* mission-vision-values */
	#mission-vision-values {
		padding: 0px 0 50px 0;
		background: linear-gradient(0deg, #f1f1f1 0%, var(--default-clear-color) 100%);
	}
	.nested-container {
		position: relative;
		padding: 20px;
		background-color: var(--default-clear-color);
		border-radius: 15px;
		height: 100%;
		box-shadow: 0px 20px 20px -10px rgba(0, 0, 0, 0.1);
	}
	.nested-container-icon {
		font-size: 70px;
		color: var(--maluvagreen-color-4);
		display: block;
		margin-bottom: 17px;
	}

	/* Home Services */
	#home-services {
		position: relative;
		padding: 50px 0 50px 0;
	}
	#home-services::before {
		content: '';
		position: absolute;
		z-index: -2;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg, #028bda 0%, #72c037 50%, #fff500 100%);
		opacity: 0.2;
	}
	#home-services::after {
		content: '';
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 50%,#f1f1f1 100%);
	}
	#home-services .bm-row:first-of-type {
		margin-bottom: 0px;
	}
	#customers-carousel {
		display: flex;
		align-items: center;
		gap: 25px;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		margin-top: 50px;
		padding: 0;
	}
	#customers-carousel li {
		flex-shrink: 0;
		position: relative !important;
		display: inline-block;
	}
	#customers-carousel li img {
		width: auto;
		height: 40px;
		object-fit: contain;
		filter: grayscale(100%);
		opacity: 0.8;
		transition: 0.15s ease-in-out;
	}
	#customers-carousel li:hover img {
		opacity: 1;
		filter: grayscale(0%);
	}

	/* Contact form section */
	#contact-form-section {
		padding: 50px 0;
	}
	#form-submit-response {
		display: block;
		font-weight: 600;
	}
	.contact-form-success-response {
		color: var(--maluvagreen-color-3);
	}
	.contact-form-error-response {
		color: red
	}
	.input-error {
		border-color: red !important;
	}
	#contact-form-google-map-link {
		color: var(--maluvagreen-color-1);
		padding: 0;
		margin: 0;
	}
	#contact-form-google-map-link:after {
		content: '\f08e';
		font-family: 'Font Awesome 6 Pro';
		margin-left: 8px;
		font-weight: 700;
	}


/*------------------------------------*\
    BUTTONS
\*------------------------------------*/
.button {
	display: inline-block;
	position: relative;
	margin-right: 10px;
	margin-bottom: 10px;
	border-radius: 5px;
	z-index: 1;
	cursor: pointer;
}
.hero-button {
	padding: 12px 18px;
	font-size: 18px;
	font-weight: 700;
}
.hero-button-primary {
	background-color: var(--maluvagreen-color-1);
	color: var(--default-clear-color);
	transition: 150ms ease-in-out;
}
.hero-button-primary:hover {
	color: var(--default-clear-color);
	background-color: var(--maluvagreen-color-4);
}
.button-right-arrow::after {
	content: '\f061';
	font-family: 'Font Awesome 6 Pro';
	margin-left: 8px;
	font-weight: 700;
}
.button-contact-form {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	background-color: var(--maluvagreen-color-3);
	border: 1px solid var(--maluvagreen-color-3);
	border-radius: 5px;
	height: 45px;
	color: var(--default-clear-color);
	margin-top: 15px;
}
.button-right-send::after {
	content: '\f1d8';
	font-family: 'Font Awesome 6 Pro';
	margin-left: 8px;
	font-weight: 700;
}
.button-right-icon i {
	margin-left: 8px;
}
/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Figtree';
	src:url('fonts/Figtree/Figtree-VariableFont_wght.ttf');
}

.nav ul li a {
	font-family: 'Figtree', sans-serif;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:406px) {
	#hero-section {
		padding: 130px 0px 450px 0px;
	}
	#hero-section-image {
		bottom: -100%;
	}
}
@media only screen and (min-width:480px) {
	#hero-section {
		padding: 130px 0px 450px 0px;
	}
	#hero-section-image {
		bottom: -100%;
	}
}
@media only screen and (min-width:768px) {
	p, li {
		font-size: 18px;
	}
	.header {
		position: relative;
	}
	.nav {
		display: inline;
	}
	#mobile-menu-button {
		display: none;
	}
	#hero-section {
		padding: 50px 0px 200px 0px !important;
	}
	#hero-section-image {
		width: 50%;
		bottom: -50% !important;
	}
	#mission-vision-values {
		padding: 0px 0 100px 0;
	}
	#home-services {
		padding: 100px 0 100px 0;
	}
	#home-services .bm-row:first-of-type {
		margin-bottom: 50px;
	}
	#contact-form-section {
		padding: 100px 0;
	}
	#customers-carousel {
		gap: 50px;
	}
	#customers-carousel li img {
		height: 50px;
	}
	form {
		padding: 30px 30px !important;
	}
}
@media only screen and (min-width:1024px) {
	#hero-section {
		padding: 80px 0px 140px 0px !important;
	}
	#hero-section-image {
		right: 0;
		bottom: 50% !important;
		transform: translateY(50%);
		width: 45%;
		height: auto;
	}
	#hero-section-content h1 {
		font-size: 55px;
	}
	#hero-section-content p {
		max-width: 600px;
		font-size: 18px;
	}
	#home-page-about-us {
		padding: 150px 0 100px 0;
	}
}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/
.check-list li {
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
}
.check-list li::marker {
	content: '\f00c';
	font-family: 'Font Awesome 6 Pro';
	color: var(--maluvagreen-color-4);
	font-size: 20px;
	font-weight: 900;
}
.check-list-bold li {
	font-weight: 700;
}
.check-list p {
	margin: 0;
	text-align: left !important;
}
.maluvageen-icon-color-4 i {
	color: var(--maluvagreen-color-4);
}
.bm-columns-2 {
	columns: 2;
}
label {
	display: block;
	font-weight: 700;
	margin-top: 5px;
	margin-bottom: 5px;
}
::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    FORMS
\*------------------------------------*/
form {
	display: block;
	width: 100%;
	padding: 15px 15px;
	background: linear-gradient(0deg, #f1f1f1 0%, var(--default-clear-color) 100%);
	border: 1px solid var(--maluva-grayscale-5);
	border-radius: 5px;
	box-shadow: 0px 20px 20px -10px rgba(0, 0, 0, 0.1);
}
form .bm-row {
	margin-left: -5px;
	margin-right: -5px;
}
form .bm-row > * {
	padding: 5px;
}
form input[type="text"],
form input[type="tel"],
form input[type="email"],
form input[type="number"] {
	display: block;
	width: 100%;
	height: 45px;
	border: 1px solid var(--maluva-grayscale-5);
	border-radius: 5px;
	padding: 0 10px;
	font-size: 16px;
}
form textarea {
	display: block;
	width: 100%;
	border: 1px solid var(--maluva-grayscale-5);
	border-radius: 5px;
	padding: 10px 10px;
	font-size: 16px;
	resize: none;
	font-family: 'Figtree', sans-serif;
	outline: none !important;
}
form input[type="text"]:focus,
form input[type="tel"]:focus,
form input[type="email"]:focus,
form input[type="number"]:focus,
form textarea:focus {
	outline: none !important;
}
form input[name="first-name"],
form input[name="last-name"],
form input[name="subject"] {
	text-transform: capitalize
}
/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    Hero screen width variants
\*------------------------------------*/

@media only screen and (min-width:511px) {
	#hero-section {
		padding: 130px 0px 500px 0px;
	}
	#hero-section-image {
		bottom: -120%;
	}
}
@media only screen and (min-width:544px) {
	#hero-section {
		padding: 130px 0px 550px 0px;
	}
	#hero-section-image {
		bottom: -140%;
	}
}
@media only screen and (min-width:574px) {
	#hero-section {
		padding: 130px 0px 600px 0px;
	}
	#hero-section-image {
		bottom: -160%;
	}
}
@media only screen and (min-width:626px) {
	#hero-section {
		padding: 130px 0px 650px 0px;
	}
	#hero-section-image {
		bottom: -180%;
	}
}
@media only screen and (min-width:738px) {
	#hero-section {
		padding: 130px 0px 700px 0px;
	}
	#hero-section-image {
		bottom: -200%;
	}
}
/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
