/*
 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--small: 15px;
    --wp--preset--font-size--medium: 32px;
    --wp--preset--font-size--large: 43px;
    --wp--preset--font-size--x-large: 54px;
}	
}

@media (min-width: 1000px) and (max-width:1400px) {
:root {
    --wp--preset--font-size--small: 14px;
    --wp--preset--font-size--medium: 26px;
    --wp--preset--font-size--large: 39px;
    --wp--preset--font-size--x-large: 47px;
}
body, button, input, select, textarea {
    font-size: 18px;
}
}

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




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

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-Light.otf') format('opentype');
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-Book.otf') format('opentype');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-Medium.otf') format('opentype');
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-Bold.otf') format('opentype');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-Black.otf') format('opentype');
	font-style: normal;
	font-weight: 800;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-LightItalic.otf') format('opentype');
	font-style: italic;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-BookItalic.otf') format('opentype');
	font-style: italic;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-MediumItalic.otf') format('opentype');
	font-style: italic;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-BoldItalic.otf') format('opentype');
	font-style: italic;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: 'Circular';
	src: url('assets/fonts/CircularStd-BlackItalic.otf') format('opentype');
	font-style: italic;
	font-weight: 800;
	font-display: swap;
}



/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

.top-cover .site-content {
    padding-top: 0;
	padding-bottom: 0;
}

.bottomless .site-content {
    padding-bottom: 0;
}

h2.wp-block-heading {
    font-weight: 600;
}




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

.main-navigation .main-nav ul li a {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 3px;
}

@media only screen and (min-width: 981px) {
.main-navigation .main-nav > ul {
    gap: 48px;
}
.main-navigation .main-nav ul li a {
    padding-left: 0;
    padding-right: 0;
	position: relative;
}
.main-navigation .main-nav ul li a::after {
	content: '';
    position: absolute;
    height: 5px;
	width: 0;
	background-color: var(--accent);
    left: 50%;
    bottom: -21px;
	transition: all 0.3s ease-out;
}
.main-navigation .main-nav ul li a:hover::after {
	left: 0;
    width: 100%;
}
}


@media only screen and (max-width: 981px) {
.site-header .header-image {
    width: 170px;
}
.site-branding {
    display: none;
}
.main-navigation .main-nav ul li a {
    line-height: 48px;
    background-color: #070707;
}
.main-navigation .main-nav ul li:not(:last-child) a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}	
}



/*--------------------------------------------------------------
# Hero
--------------------------------------------------------------*/

@media only screen and (min-width: 981px) {
.wp-block-cover.alignfull.hero {
    min-height: calc(100vh - 103px) !important;
}
.admin-bar .wp-block-cover.alignfull.hero {
    min-height: calc(100vh - 135px) !important;
}
.hero.wp-block-cover.alignfull .wp-block-cover__inner-container {
    max-width: 1620px;
}
.hero.wp-block-cover h1.wp-block-heading {
    font-size: 5.3em !important;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -3px;
    max-width: 1200px;
}
.hero p.has-medium-font-size {
    max-width: 77%;
}
}


#hero-scroll-down {
    position: absolute;
    bottom: 25px;
    width: 50px;
    left: calc(50% - 25px);
    cursor: pointer;
}

#hero-scroll-down img {
    filter: invert(1);
	transition: all 0.35s ease-out;
}

#hero-scroll-down img:hover {
    filter: invert(60%) sepia(67%) saturate(271%) hue-rotate(3deg) brightness(99%) contrast(88%);
	
}

@media (min-width: 1000px) and (max-width:1400px) {
.hero.wp-block-cover h1.wp-block-heading {
    font-size: 4.5em !important;
}
}

@media only screen and (max-width: 981px) {
.wp-block-cover.alignfull.hero {
    min-height: calc(100vh - 170px) !important;
	padding: 30px;
}
.hero.wp-block-cover.alignfull .wp-block-cover__inner-container {
    padding: 0 10px 0 0;
}
.hero h1.wp-block-heading {
    font-weight: 600;
	font-size: 2.6em;
}
.hero p.has-medium-font-size {
    font-size: 1.2em !important;
}
#hero-scroll-down {
    width: 36px;
    left: calc(50% - 18px);
}
}


/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/


h2.wp-block-heading:after {
    position: absolute;
    content: '';
    bottom: -1.46em;
    left: 0;
    width: 2em;
    height: 5px;
    background-color: var(--accent);
}

h2.wp-block-heading {
    font-size: 1.55em;
    position: relative;
    margin-bottom: 2.8em;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 2px;
}

p.has-medium-font-size.page-intro {
	border-left: 120px solid var(--accent);
    padding-left: 2em;
    font-weight: bold;
	position: relative;
}

p.page-intro:before {
    position: absolute;
    content: '';
    left: -600px;
    top: 0;
    width: 460px;
    height: 100%;
    background-color: rgba(196, 165, 98, 0.2);
}

@media only screen and (max-width: 981px) {
p.has-medium-font-size.page-intro {
	border-left: none;
    padding-left: 1em;
    padding-right: 0.5em;
    font-size: 1.15em !important;
}
p.page-intro:before {
    width: 600px;
    background-color: rgba(196, 165, 98, 0.3);
}
}


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

body.home {
    background-image: url(assets/img/bg-home-2.jpg);
	background-repeat: no-repeat;
    background-size: cover;
	background-attachment: fixed;
}

body.home div#page {
	background-color: transparent;
}

.product-grid-1 h2 {
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.product-grid-1 h2:after {
	bottom: -1em;
    height: 4px;
    background-color: var(--accent);
}

/*
.product-grid-1 .wp-block-columns {
    border-top: 2px solid rgba(255, 255, 255, 0.2);
    padding-top: 1.5em;
}
*/

.product-grid-1 p.has-base-color {
    color: var(--contrast-3) !important;
}

.product-grid-1 a.wp-block-button__link.wp-element-button {
    padding: 0;
    background-color: transparent;
    text-transform: uppercase;
    font-size: 0.7em;
    font-weight: 700;
    letter-spacing: 4px;
    position: relative;
    padding-right: 1.6em;
    line-height: 1.2;
	transition: all 0.35s ease-out;
}

.product-grid-1 a.wp-block-button__link.wp-element-button:after {
    content: '';
    width: 18px;
    height: 18px;
    position: absolute;
    background-image: url(assets/img/arrow-right-c.png);
    background-size: cover;
    background-position: center;
    right: -0.7em;
    top: -0.07em;
	transition: all 0.35s ease-out;
	filter: invert(60%) sepia(67%) saturate(271%) hue-rotate(3deg) brightness(99%) contrast(88%);
}

.product-grid-1 a.wp-block-button__link.wp-element-button:hover {
    padding-right: 2.3em;
}

.product-grid-1 .wp-block-spacer {
    height: 70px !important;
}

@media only screen and (max-width: 981px) {
.product-grid-1 .wp-block-columns {
    gap: 3em;
}
.product-grid-1 .wp-block-spacer {
    height: 38px !important;
}
.product-grid-1 a.wp-block-button__link.wp-element-button:after {
    right: -1.1em;
    top: -0.4em;
}
}



/*--------------------------------------------------------------
# Producto
--------------------------------------------------------------*/

.producto .wp-block-columns {
    gap: 2.5em;
}

/*
.producto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:first-child {
    background-color: #efefef;
}
*/

.producto .wp-block-group__inner-container > .wp-block-columns > .wp-block-column:first-child img {
    /* filter: brightness(0.9) contrast(1.1); */
	border-right: 5px solid var(--base);
    padding-right: 2.5em;
}

.producto .wp-block-column:last-child p {
    font-weight: 400;
    font-size: 1.2em;
    margin-bottom: 2.5em;
}


section.wp-block-group.alignfull.producto.has-contrast-color.has-base-3-background-color.has-text-color.has-background.has-link-color:nth-child(odd) img {
    filter: brightness(0.9) contrast(1.1);
}

section.wp-block-group.alignfull.producto.has-contrast-color.has-base-3-background-color.has-text-color.has-background.has-link-color:nth-child(odd) {
    background-color: #efefef !important;
}

section.wp-block-group.alignfull.producto.has-contrast-color.has-base-3-background-color.has-text-color.has-background.has-link-color:nth-child(odd) h2.wp-block-heading:after {
    /* background-color: #dfdfdf; */
}

.producto .wp-block-gallery figure {
    margin-bottom: inherit !important;
}

.producto .wp-block-gallery figure img {
    transform: scale(1);
	transition: all 0.5s ease-out;
}

.producto .wp-block-gallery figure:hover img {
    transform: scale(1.1);
}




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

.wp-block-cover.alignfull .wp-block-cover__inner-container {
    max-width: 1320px;
	padding: 40px;
}

section.wp-block-group .wp-block-group__inner-container {
    padding-top: 5.5em;
    padding-bottom: 5.5em;
}



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

.m3contacts input[type="submit"] {
    background-color: var(--accent);
    text-transform: uppercase;
    font-size: 0.75em;
    font-weight: 700;
    letter-spacing: 3px;
    width: 100%;
    padding: 1.5em;
    line-height: 1;
}


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

.footer-widgets {
    border-top: 2px solid rgba(255, 255, 255, 0.5);
}

.footer-widgets-container.grid-container {
    padding-top: 5em;
    padding-bottom: 4em;
}

.inside-footer-widgets {
    gap: 2em;
}

footer.site-info {
    border-top: 2px solid rgba(255, 255, 255, 0.5);
}

h2.widget-title {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    /* border-bottom: 2px solid rgba(255, 255, 255, 0.5); */
}


@media only screen and (max-width: 981px) {
.footer-widget-1 aside {
    text-align: center;
    margin-bottom: 0 !important;
}
.footer-widget-1 aside#block-9 img {
    width: 130px !important;
}
.footer-widget-1 aside#block-14 ul {
    justify-content: center;
}

}



.footer-bar .widget_nav_menu > div > ul {
    text-transform: uppercase;
    font-size: 0.8em;
    letter-spacing: 1px;
    gap: 2em;
}

.footer-bar .widget_nav_menu > div > ul li {
    position: relative;
}

@media only screen and (min-width: 981px) {
.footer-widget-2 {
    max-width: 25%;
}
.footer-bar .widget_nav_menu > div > ul li:not(:first-child):before {
    position: absolute;
    content: '';
    width: 0.6em;
    height: 0.6em;
    background-color: var(--accent);
    border-radius: 0.6em;
    top: 0.4em;
    left: -2em;
}
}

@media only screen and (max-width: 981px) {
.footer-bar .widget_nav_menu > div > ul {
    font-size: 0.7em;
    letter-spacing: 0;
    gap: 1.2em;
}
.footer-bar .widget_nav_menu > div > ul li {
	padding: 0;
	margin: 0;
}
}


/*--------------------------------------------------------------
# Dotted
--------------------------------------------------------------*/

.dotted {
    position: fixed;
    right: 0;
    width: 60px;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 1000;
}

.dotted ul {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
    width: 100%;
    float: left;
}

.dotted ul > li {
    width: 100%;
    float: left;
}

.dotted ul > li > a {
    display: inline-block;
    cursor: pointer;
    width: 18px;
    height: 18px;
    position: relative;
    border-radius: 50%;
    padding: 0;
	cursor: auto;
}

.dotted ul > li.current > a {
    border: 2px solid var(--accent);
}

.dotted ul > li > a span {
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent);
    left: 50%;
    margin-left: -4px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.dotted ul > li.current > a span {
    width: 2px;
    height: 2px;
    margin-left: -1px;
}

#arrow-down {
    position: fixed;
    right: 8px;
    bottom: -70px;
	z-index: 99;
}

#arrow-down svg {
    fill: var(--accent);
    width: 45px;
}

@media only screen and (max-width: 981px) {
.dotted {
    width: 26px;
}
#arrow-down {
    right: -3px;
}
#arrow-down svg {
    width: 32px;
}
}



/*--------------------------------------------------------------
# Galleries
--------------------------------------------------------------*/

.wp-block-gallery figure.wp-block-image figcaption.wp-element-caption {
    background: transparent;
    color: inherit;
    text-shadow: none;
    position: relative;
    font-size: 0.8em;
}




/*--------------------------------------------------------------
# Lists
--------------------------------------------------------------*/

ul.lista-1 {
    margin: 0 0 0 1.2em;
    padding: 0;
}

ul.lista-1 li {
    line-height: 1.3;
    margin: 0.6em 0;
}

ul.lista-1 li::marker {
    color: var(--accent);
}




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

#mobile-cta {
    right: 20px;
    bottom: 20px;
}

#mobile-cta svg {
    width: 64px;
    height: 64px;
}

@media only screen and (max-width: 981px) {
#mobile-cta {
    right: 10px;
    bottom: 15px;
}
#mobile-cta svg {
    width: 60px;
    height: 60px;
}
}



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

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

.padding-b-zero, .inner-padding-b-zero > div {
	padding-bottom: 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;
}
}


.img-padding-4 img { padding-left: 4%; padding-right: 4%; }
.img-padding-7 img { padding-left: 7%; padding-right: 7%; }
.img-padding-10 img { padding-left: 10%; padding-right: 10%; }
.img-padding-12 img { padding-left: 12%; padding-right: 12%; }
.img-padding-15 img { padding-left: 15%; padding-right: 15%; }




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

.accent::before, .accent > li::before, .accent > a::before { filter: invert(60%) sepia(67%) saturate(271%) hue-rotate(3deg) brightness(99%) contrast(88%); }
.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;
}
}




/*--------------------------------------------------------------
# Redes
--------------------------------------------------------------*/

ul.redes {
    list-style-type: none;
	margin: 0;
}

ul.redes.is-horiz li {
    display: inline-block;
	position: relative;
	line-height: 0;
}

ul.redes.is-horiz li a {
    color: inherit;
}

ul.redes.is-horiz li a:hover {
    color: var(--accent);
}

.redes svg.icon-ring {
    position: absolute;
}

ul.redes circle {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	transform-origin: center center;
	stroke: currentColor;
	stroke-dashoffset: 700;
	stroke-dasharray: 700;
	stroke-width: 1;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	stroke-linecap: butt;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
	-webkit-transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
	transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.redes svg.icon-ring:hover circle {
    stroke-dashoffset: 0;
}

.redes svg.icon-base {
    fill: currentColor;
	-webkit-transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
	transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}



