/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  GeneratePress child theme
 Author:       Market3
 Author URI:   https://www.market3.net
 Template:     generatepress
 Version:      1.0
*/


html {
	scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

a {
    text-decoration: none;
}

@media only screen and (min-width: 981px) {
:root {
    --wp--preset--font-size--medium: 24px;
	--wp--preset--font-size--x-large: 56px;
}
}

@media only screen and (max-width: 981px) {
:root {
    --wp--preset--font-size--medium: 13px;
	--wp--preset--font-size--x-large: 29px;
}
}

p.has-x-large-font-size {
    line-height: 1.2;
}




/*--------------------------------------------------------------
# Font Faces
--------------------------------------------------------------*/

@font-face {
	font-family: 'Stolzl';
	src: url('assets/fonts/Stolzl-Book.ttf') format('truetype');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'Stolzl';
	src: url('assets/fonts/Stolzl-Regular.ttf') format('truetype');
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: 'Stolzl';
	src: url('assets/fonts/Stolzl-Medium.ttf') format('truetype');
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: 'Stolzl';
	src: url('assets/fonts/Stolzl-Bold.ttf') format('truetype');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}



/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/



/*--------------------------------------------------------------
# Container
--------------------------------------------------------------*/

@media only screen and (min-width: 981px) {
.one-container .site-content {
    padding-left: 130px;
    padding-right: 130px;
}
.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull {
    margin-left: -130px;
    width: calc(100% + 260px);
    max-width: calc(100% + 260px) !important;
}
.site-main .wp-block-group__inner-container {
    padding: 40px 130px;
}
}

.entry-content ul {
    margin-left: 1.4em;
}

@media only screen and (max-width: 981px) {
.one-container .site-content {
    padding-left: 38px;
    padding-right: 38px;
}
.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull {
    margin-left: -38px;
    width: calc(100% + 76px);
    max-width: calc(100% + 76px) !important;
}
.site-main .wp-block-group__inner-container {
    padding: 26px 38px;
}
}



/*--------------------------------------------------------------
# FAQ
--------------------------------------------------------------*/

.faq .wp-block-group {
    width: 100%;
}

@media only screen and (min-width: 981px) {
.faq .wp-block-group p:first-child {
	margin-left: -130px;
    width: calc(100% + 260px);
    max-width: calc(100% + 140px) !important;
}
.faq .wp-block-group p:not(:first-child), .faq .wp-block-group p:first-child strong {
    max-width: 80%;
}
}

.faq .wp-block-group p:first-child {
	background-color: var(--contrast);
	color: #fff;
	margin-top: 36px;
    margin-bottom: 36px;
	background-image: url(assets/icons/arrow-up-right.png);
    background-repeat: no-repeat;
    background-position-x: 97%;
    background-position-y: 50%;
    background-size: 18px;
    border-top-right-radius: 36px;
    border-bottom-right-radius: 36px;
}

.color-verde .faq .wp-block-group p:first-child {
	background-color: var(--accent);
}

.faq .wp-block-group p:first-child strong {
	padding: 23px 130px;
	display: block;
    font-weight: normal;
}

@media only screen and (max-width: 981px) {
.faq {
    font-size: 11px;
}
.faq .wp-block-group p:first-child {
    margin-left: -38px;
    width: calc(100% + 76px);
    max-width: calc(100% + 56px) !important;
	margin-top: 22px;
    margin-bottom: 22px;
	background-position-x: 95%;
    background-size: 12px;
    border-top-right-radius: 22px;
    border-bottom-right-radius: 22px;
}
.faq .wp-block-group p:first-child strong {
	padding: 7px 38px;
    line-height: 1.1;
    height: 38px;
    display: flex;
    align-items: center;
}
}


/*--------------------------------------------------------------
# Main menu
--------------------------------------------------------------*/

.main-navigation .main-nav ul li a {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background-color: var(--contrast);
    line-height: 40px;
    border-radius: 40px;
    margin-left: 20px;
}

.main-navigation .main-nav ul li a:hover {
    color: #fff !important;
}


@media only screen and (max-width: 981px) {
nav#site-navigation {
    flex-basis: auto !important;
    margin-top: 0 !important;
}
.inside-navigation.grid-container {
    width: fit-content;
}	
.main-navigation .main-nav {
    flex-basis: auto;
}
nav#mobile-menu-control-wrapper {
    display: none;
}
.main-navigation ul {
	display: block !important;
}
.main-navigation .main-nav ul li a {
    margin-left: 0;
}
}



/*--------------------------------------------------------------
# Home
--------------------------------------------------------------*/

.home h1.wp-block-heading {
    font-size: 72px;
    font-weight: 600;
}

.cajas {
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
	margin-top: 3em;
}

.caja {
	display: flex;
    flex-direction: column;
    justify-content: center;
    width: 30.66%;
    border-radius: 40px;
    height: 296px;
    margin-bottom: 4%;
    padding: 3.5%;
}

.caja figure {
    width: 100%;
}

.caja figure img {
    height: 72px;
    width: auto;
}

.caja h3 {
    font-size: 36px;
    font-weight: 600;
    line-height: 1.1;
    margin: 0.3em 0 0.15em;
}

.caja span {
    font-size: 22px;
    line-height: 1.2;
	display: block;
}

.caja-color-azul, .caja-color-azul a, .caja-color-azul a:hover {
	color: var(--accent);
	background-color: var(--contrast);
}

.caja-color-verde, .caja-color-verde a, .caja-color-verde a:hover {
	color: var(--contrast);
	background-color: var(--accent);
}

.caja-color-verde img { filter: invert(12%) sepia(31%) saturate(3294%) hue-rotate(207deg) brightness(91%) contrast(90%); }
.caja-color-azul img { filter: invert(61%) sepia(96%) saturate(1131%) hue-rotate(120deg) brightness(83%) contrast(101%); }

@media only screen and (max-width: 981px) {
.home.one-container .site-content {
    padding-left: 24px;
    padding-right: 24px;
}
.home h1.wp-block-heading {
    font-size: 29px;
    margin-bottom: 1.1em;
}
#contactanos {
    justify-content: center;
}
.home h2.wp-block-heading {
    font-size: 18px;
    text-align: center;
}
.cajas {
    gap: 5%;
}
.caja {
    width: 47.5%;
    border-radius: 14px;
    height: 120px;
    margin-bottom: 5.5%;
    padding: 10px;
}
.caja figure img {
    height: 28px;
}
.caja h3 {
    font-size: 16px;
	margin: 0.15em 0;
}
.caja span {
    font-size: 11px;
    line-height: 1.2;
}

}




/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

header.entry-header {
    overflow: hidden;
    margin-left: -140px;
	margin-bottom: 60px;
	margin-top: 100px;
}

h1.entry-title {
    font-size: 54px;
    color: #fff;
    background-color: var(--contrast);
    width: fit-content;
    font-weight: 500;
    line-height: 1.18;
    padding: 43px 220px 43px 215px;
    border-radius: 150px;
    background-image: url(assets/icons/arrow-up-right.png);
    background-repeat: no-repeat;
    background-position-x: 93%;
    background-position-y: 50%;
    margin-left: -85px;
}

span.subtitulo {
    display: block;
    font-size: 29px;
    font-weight: 400;
}

h2.wp-block-heading {
    font-size: 30px;
}

.color-verde h2.wp-block-heading {
	color: var(--accent);
}

@media only screen and (min-width: 981px) {
h1.titulo-largo.entry-title {
    font-size: 39px;
}
}

@media only screen and (max-width: 981px) {
header.entry-header {
    overflow: hidden;
    margin-left: -45px;
    margin-bottom: 0;
    margin-top: 0;
}
h1.entry-title {
    font-size: 1.2em;
    padding: 18px 60px 18px 75px;
    border-radius: 50px;
    margin-left: -35px;
    background-size: 15px;
}
span.subtitulo {
    font-size: 0.8em;
}
h2.wp-block-heading {
    font-size: 18px;
}	
}

.color-verde h1.entry-title {
    background-color: var(--accent);
}



/*--------------------------------------------------------------
# Custom
--------------------------------------------------------------*/

/*
.texto-icono .wp-block-column:last-child svg {
    max-height: 380px;
}
*/

.texto-icono .wp-block-column:last-child img {
    filter: opacity(0.05);
    max-height: 380px;
    width: auto;
}

@media only screen and (min-width: 981px) {
.texto-icono .wp-block-column:first-child {
    flex-basis: 60%;
    margin-top: 50px;
}
.texto-icono .wp-block-column:last-child {
    flex-basis: 40%;
	align-self: center;
}
}

.wp-block-columns.texto-icono {
    margin-bottom: 3.5em;
	gap: 4em;
}

.wp-block-group.alignwide.has-contrast-background-color .wp-block-group__inner-container {
    padding-top: 65px;
}


#cta-whatsapp {
    color: var(--whatsapp);
    display: flex;
    gap: 30px;
    margin-top: 23px;
}

#cta-whatsapp p {
    font-size: 22px;
	margin-bottom: 9px;
}

#cta-whatsapp a.wp-block-button__link.wp-element-button {
    background-color: var(--whatsapp);
}


@media only screen and (max-width: 981px) {
.texto-icono .wp-block-column:first-child {
    margin-top: 20px;
}
.texto-icono .wp-block-column:last-child {
    display: none;
}
.wp-block-columns.texto-icono {
    margin-bottom: 1.5em;
}
.wp-block-group.alignwide.has-contrast-background-color .wp-block-group__inner-container {
    padding-top: 35px;
}
#cta-whatsapp {
    gap: 0;
    position: relative;
    display: flex;
    align-items: flex-start;
}
#cta-whatsapp figure.wp-block-image.size-full {
    position: absolute;
}
#cta-whatsapp figure.wp-block-image.size-full img {
    width: 55px;
    top: 0;
    left: 37%;
    position: relative;
}
#cta-whatsapp .wp-block-group {
    display: flex;
    align-items: center;
}
#cta-whatsapp p {
    font-size: 18px;
    margin-bottom: 24px;
    padding-left: 37%;
    line-height: 1.2;
}
}



/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

.m3form p {
    margin-bottom: 2.5em;
}

.m3form input[type="text"], .m3form input[type="email"], .m3form textarea {
    width: 100%;
    border: none;
    padding: 0 0 2.5em 0;
    border-bottom: 2px solid;
    background-color: transparent;
    color: var(--contrast);
}

.m3form input[type="text"]:focus-visible, .m3form input[type="email"]:focus-visible, .m3form textarea:focus-visible {
    outline: none;
}

.m3form input[type="submit"] {
    border-radius: 2em;
    background-color: var(--contrast);
    margin-top: 0.5em;
}

.m3f-success-msg {
    background-color: var(--contrast);
    color: var(--accent);
    padding: 1em 1.6em;
    border-radius: 30px;
    font-size: 1.2em;
    font-weight: 600;
}

#m3f-overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.75);
    z-index: 2;
    cursor: pointer;
}

#m3f-overlay div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    background: url(assets/img/spinner.gif) no-repeat;
    background-size: 50px 50px;
    height: 50px;
    width: 50px;
}

#m3f-overlay-b {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,0.9);
    z-index: 2;
}




/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.color-verde .footer-widgets {
    background-color: var(--accent);
}

div#footer-widgets-filauno.footer-widgets {
    color: inherit;
    background: transparent;
}

.footer-widgets-container {
    padding: 90px 130px;
}

@media only screen and (min-width: 981px) {
div#footer-widgets-filauno.footer-widgets .footer-widget-1 {
    flex-basis: 60%;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
div#footer-widgets-filauno.footer-widgets .footer-widget-2 {
    flex-basis: 40%;
}
#footer-widgets .inside-footer-widgets {
    display: flex;
    align-items: center;
}
}

@media only screen and (max-width: 981px) {
.footer-widgets-container {
    padding: 30px 38px 60px;
}
div#footer-widgets-filauno.footer-widgets .footer-widget-1 {
    display: flex;
    flex-direction: column-reverse;
    gap: 50px;
}
#footer-widgets .inside-footer-widgets {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8%;
    align-items: center;
}
#footer-widgets .inside-footer-widgets > div {
    flex: auto;
}
#footer-widgets .footer-widget-1 {
    width: 52%;
}
#footer-widgets .footer-widget-2 {
    width: 40%;
}
#footer-widgets .footer-widget-3 {
    width: 100%;
    font-size: 0.9em;
}
#footer-widgets h2.widget-title {
    font-size: 16px;
}
}



/*--------------------------------------------------------------
# Custom stuff
--------------------------------------------------------------*/

.padding-zero, .inner-padding-zero > div {
	padding: 0 !important;
}

.padding-tb-zero, .inner-padding-tb-zero > div {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.margin-zero {
	margin: 0 !important;
}

.top-banner-page .site-content {
	padding-top: 0;
}

.margin-bottom-zero {
	margin-bottom: 0;
}

.line-height-10 {
	line-height: 1;
}

.opacity-0 {
    opacity: 0;
}

@media only screen and (min-width: 981px) {
.gap-2 { gap: 2em; }
.gap-3 { gap: 3em; }
.gap-4 { gap: 4em; }
.gap-5 { gap: 5em; }
.gap-6 { gap: 6em; }
.gap-8 { gap: 8em; }
}

ul.alineada {
    margin-left: 1.2em;
}


span.padding-1, p.padding-1, .wp-block-group.padding-1 .wp-block-group__inner-container, div.padding-1:not(.wp-block-group) {
    padding: 1.2em 1.5em !important;
}

.columna-central {
    margin-left: auto;
    margin-right: auto;
}

.max-width-250 { max-width: 250px; }
.max-width-300 { max-width: 300px; }
.max-width-350 { max-width: 350px; }
.max-width-400 { max-width: 400px; }
.max-width-450 { max-width: 450px; }
.max-width-500 { max-width: 500px; }
.max-width-550 { max-width: 550px; }
.max-width-600 { max-width: 600px; }
.max-width-700 { max-width: 700px; }
.max-width-800 { max-width: 800px; }
.max-width-900 { max-width: 900px; }
.max-width-1000 { max-width: 1000px; }
.max-width-1100 { max-width: 1100px; }


@media only screen and (max-width: 981px) {
.mobile-reverse {
    flex-direction: column-reverse;
}
}



/*--------------------------------------------------------------
# Icons
--------------------------------------------------------------*/

.accent::before, .accent > li::before, .accent > a::before { filter: invert(70%) sepia(85%) saturate(4712%) hue-rotate(355deg) brightness(98%) contrast(83%); }
.white-f::before, .white-f > li::before, .white-f > a::before { filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(138deg) brightness(103%) contrast(101%); z-index: 1; }

.accent-bg::after, .accent-bg li::after { background-color: var(--accent) !important; }

.custom-list {
    list-style: none;
    padding: 0;
	margin: 0;
}

.custom-list li {
    position: relative;
    padding-left: 2.6em;
    margin-bottom: 1.6em !important;
    line-height: 1.4;
}

.custom-list.small li {
    padding-left: 1.6em;
	margin-bottom: 0.65em;
}

.custom-list.rounded li {
    padding-left: 2.9em;
    margin-bottom: 1.2em;
}

.custom-list.rounded.small li {
    padding-left: 2.1em;
    margin-bottom: 0.9em;
}

.custom-list li:before {
    content: '';
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    background-image: url(assets/icons/bullet.png);
    background-size: cover;
    background-position: center;
    left: 0;
    top: -0.05em;
}

.custom-list.small li:before {
    width: 1.1em;
    height: 1.1em;
    top: 0.1em;
}

.custom-list.rounded li:before {
    width: 2.2em;
    height: 2.2em;
    background-size: 50%;
    top: -0.35em;
    background-repeat: no-repeat;
}

.custom-list.rounded.small li:before {
    width: 1.5em;
    height: 1.5em;
    top: -0.05em;
}

.custom-list.rounded li:after {
	content: '';
    width: 2.2em;
    height: 2.2em;
	position: absolute;
    top: -0.35em;
	left: 0;
    background-color: var(--contrast);
    border-radius: 1.5em;
}

.custom-list.rounded.small li:after {
    width: 1.5em;
    height: 1.5em;
    top: -0.05em;
}


ul.wp-block-list.custom-list.white-f.rounded {
    margin-top: 1.8em;
}


.custom-list.icon-marker li::before, .custom-list li.icon-marker::before { background-image: url(assets/icons/marker.png); }
.custom-list.icon-whatsapp li::before, .custom-list li.icon-whatsapp::before { background-image: url(assets/icons/whatsapp.png); }
.custom-list.icon-email li::before, .custom-list li.icon-email::before { background-image: url(assets/icons/email.png); }



.btn-icon {
	position: relative;
}

.btn-icon a.wp-block-button__link.wp-element-button {
    padding: 0.6em 1.3em 0.6em 3.5em;
}

.btn-icon a:before, button.btn-icon:before {
    content: '';
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    background-image: url(assets/icons/bullet.png);
    background-size: cover;
    background-position: center;
    left: 1.2em;
    top: 0.52em;
}

button.btn-icon.btn-icon-left {
    padding-left: 3.3em !important;
}

button.btn-icon.btn-icon-right {
    padding-right: 3.3em !important;
}

button.btn-icon.btn-icon-right:before {
    left: unset !important;
    right: 1.2em;
}

button.btn-icon.small:before {
    width: 1.15em;
    height: 1.15em;
    left: 1.2em;
    top: 0.72em 
}

button.btn-icon.small.btn-icon-left {
    padding-left: 3.1em !important;
}

button.btn-icon.small.btn-icon-right {
    padding-right: 3.1em !important;
}

.btn-icon-right-arrow a:before, button.btn-icon-right-arrow:before { background-image: url(assets/icons/right-arrow.png); }
.btn-icon-left-arrow a:before, button.btn-icon-left-arrow:before { background-image: url(assets/icons/left-arrow.png); }
.btn-icon-marker a:before, button.btn-icon-marker:before { background-image: url(assets/icons/marker.png); }
.btn-icon-email a:before, button.btn-icon-email:before { background-image: url(assets/icons/email.png); }
.btn-icon-phone a:before, button.btn-icon-phone:before { background-image: url(assets/icons/phone.png); }
.btn-icon-whatsapp a:before, button.btn-icon-whatsapp:before { background-image: url(assets/icons/whatsapp.png); }


@media only screen and (max-width: 981px) {
.btn-icon a.wp-block-button__link.wp-element-button {
    font-size: 0.75em !important;
}
}