/* 
Theme Name: Grúas Mara
Text Domain: Grúas Mara
Version: 1.0
Description: Grúas Mara Diseñado por Alonso Cubillas y desarrollado por Nicols Rojas
Author: Nicols Rojas
*/

/* global */
*{
    box-sizing: border-box;
    font-family: 'Roboto condensed';
}
body, html{
    padding: 0;
    margin: 0;
    background-color: var(--custom-white);
}
:root{
    
    --container-max-width: 1580px;
    --content-width: min(100%,var(--container-max-width, 1280px)); /* Fallbacks 1280px*/
    --section-horizontal-padding: 55px;
    --section-mobile-horizontal-padding: 15px;
    --section-vertical-padding: 35px;

    --custom-white: #F3F3F3;
    --custom-gray: #777777;
    --custom-light-gray: #E6EAEC;
    --custom-black: #000;
    --custom-red: #EB353A;
    --custom-blue: #0E5073;
    --custom-green: #282828;

    --desktop-reference: 1920;
    --mobile-reference: 1240;
}
.color-black,
.color-black a{
    color: black;
}
.bg-blue{
    background-color: var(--custom-blue);
}
.bg-green{
    background-color: var(--custom-green);
}
.color-blue{
    color: var(--custom-blue);
}
.color-white,
.color-white a{
    color: var(--custom-white);
}
.color-gray{
    color: var(--custom-gray);
}
.color-green,
.color-green a{
    color: var(--custom-green);
}
img{
    height: auto;
    max-width: 100%;
}

.weight-normal{
    font-weight: 400 !important;
}
.lighter{
    font-weight: 300 !important;    
}
.semi-bold{
    font-weight: 600 !important;
}
.bold{
    font-weight: 700 !important;
}
section{
    display: flex;
    width: 100%;
    padding-inline: var(--section-horizontal-padding);
    padding-top: var(--section-vertical-padding);
    padding-bottom: var(--section-vertical-padding);

    overflow: hidden;
}
.container, .container-fluid{
    display: flex;
    flex-direction: column;
    width: 100%;
}
.container{
    max-width: var(--content-width);
    margin: 0 auto;
}
.btn{
    border: none;
    cursor:pointer;
    text-decoration: none;

    padding: 1em 2.5em;
    text-transform: uppercase;
    text-align: center;

    background-color: var(--custom-red);
    color: var(--custom-white);
    border-radius: 2px;
}
.custom-button{
    background: var(--custom-black);
    color: var(--custom-white);
}
/*Menu styles*/
.letter-space-mid{
    letter-spacing: -0.03em;
}
.letter-space-high{
    letter-spacing: -0.04em;
}
.logo-container{
    display: flex;
    align-items: center;
}
.flex-container{
    display: flex;
    flex-direction: row;

    width: 100%;
}
.header-section{
    overflow: visible;
}
.menu-container{
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    justify-content: end;
}
.menu-container ul:not(.sub-menu){
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 40px;
}
.menu-container nav{
    display: flex;
    align-items: center;
    justify-content: end;
}
.menu-container a{
    padding: 16px;
    text-decoration: none;
    display: block;

    text-transform: uppercase;
}
/* submenu styles*/
/* Sub menu*/
.header-menu .menu{
    position: relative;
}
.header-menu .sub-menu>li:not(:last-child){
    border-bottom: solid 1px #ccc;
}

header .header-menu ul.sub-menu{
    /* initially*/
    visibility: hidden;
    opacity: 0;

    flex-direction: column;
    padding-left: 0px;
    background-color: #fff;

    top: calc(100% + 20px) ;
    position: absolute;
    z-index: 2;
    border-radius: 2px;
    border: solid 1px #ccc;
}
.header-menu ul.sub-menu a{
    color:var(--custom-blue);
}
header .header-menu ul.sub-menu ul.sub-menu {
    left: 100%;
    top: 0;
    right: -100%;
    border-radius: 0px 8px 8px 0px;
}
header .header-menu ul.sub-menu li>a{
    padding: 20px 20px;
    display: flex;
}
#menu-main-menu .sub-menu .menu-item-has-children>a::after {
    content: "\203A";
    display: inline-block;
    margin-left: 10px;
    font-size: 1.7em;
    font-weight: 400;
  }
/* End of sub menu*/

/* Flex styles */
.text-no-wrap{
    text-wrap: nowrap !important;
}
.text-center{
    text-align: center !important;
}
.text-end{
    text-align: end !important;
}
.text-start{
    text-align: start !important;
}
.d-flex{
    display: flex !important;
}
.d-block{
    display: block !important;
}
.d-flex-column{
    display: flex !important;
    flex-direction: column !important;
}
.d-flex-row{
    display: flex !important;
    flex-direction: row !important;
}
.flex-center{
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-grow{
    flex-grow: 1;
}
.row .flex-column{
    flex:1;
}
/* Common clases */
.row{
    display: flex;
    flex-direction: row;
}
.row>.column{
    display: flex;
    flex-direction: column;
}
.unstyle-lists ul{
    padding-left: 0;
    list-style: none;
}
.unstyle-links a{
    text-decoration: none;
}
.bg-image{
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.transform-uppercase{
    text-transform: uppercase;
}

/* Overlay */
.send-forward{
    position: relative;
    z-index: 1;
}
section{
    position: relative;
}
.overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/* Homepage */
/* header section */
/* .header-section{
    position: absolute;
    z-index: 2;
} */
.header-section #menu-main-menu li,
.info-section .menu-footer li{
    font-weight: 500;
}
.header-section #menu-main-menu>li:last-child a{
    background-color: var(--custom-white);
    color: var(--custom-blue);

    font-weight: 700;
    padding: 1em 2.5em;
    text-align: center;
}
.header-section #menu-main-menu li, .info-section .menu-footer li {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* end of header section */
.btn,
.header-section #menu-main-menu li:last-child a,
.nf-form-content input.btn:not([type=button]){
    border-radius: 2px;
}
.flex-vertical-center{
    display: flex;
    align-items: center;
}
.flex-wrap{
    flex-wrap: wrap;
}
.btn-secondary{
    display: flex;
    gap: 10px;
    padding: 16px 0px 12px 0px;
    border-bottom: solid 2px var(--custom-blue);
    width: fit-content;
    text-decoration: none;
    align-items: center;
}
.btn-secondary img{
    width: 1.55em;
}
.hero-section{
    aspect-ratio: 1920 / 842;
    background: radial-gradient(78.55% 75.23% at 4.99% 20.61%, #1C82B0 0%, #073856 100%);
}
/* footer */
.experience-section{
    aspect-ratio: 1920 / 842;
    background: radial-gradient(92.32% 259.41% at 92.32% -30.48%, #1C82B0 0%, #073856 100%);
}
.experience-section .flex-column,
.aboutus-section .flex-column{
    justify-content: center;
}
.experience-section .title,
.aboutus-section .title{
    margin-bottom: 28px;
}
.experience-section .description,
.aboutus-section .description{
    margin-bottom: 44px;
}
.experience-section .main-column,
.aboutus-section .main-column{
    /* align-items: baseline; */
    justify-content: center;
    width: 40%;
}
.max-width{
    max-width: 67%;
}
.contact-section{
    padding-top: 80px;
    padding-bottom: 80px;
}
.contact-section .description{
    margin-top:44px;
    margin-bottom: 96px;
}
.contact-section .item,
.contact-section .item a{
    display: flex;
    flex-direction: row;
    gap:16px;
}
.contact-section .max-width{
    max-width: 50%;
}
.contact-section .items-container{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.contact-section .nf-form-content input[type=submit]{
    padding: 1em 2.5em;
    background-color: #EB353A
}
.contact-section .nf-form-content input[type=submit]:hover{
    background-color: #ED474C;
    color: var(--custom-white);
}
.contact-section .nf-form-fields-required{
    display: none;
}
.contact-section .nf-form-content label {
    color: var(--custom-gray);
    text-transform: uppercase;
}
.info-section{
    padding-top: 72px;
    padding-bottom: 56px;
}
.info-section .menu-footer{
    display: flex;
    flex-direction: row;
    gap: 32px;
}
/* end of footer */
.hero-section .overlay img{
    position: absolute;
    right: 0;
    bottom: 0;

    max-width: 67.3%;
    max-height: 85%;
}
.hero-section .main-column{
    max-width: 37%;

    justify-content: center;
    /* align-items: baseline; */
}
.hero-section .title{
    margin-bottom: 40px;
}
.cards-container{
    gap: 44px;
    margin-top: 75px;
    flex-wrap: wrap;

    justify-content: space-evenly;
}
.cards-container .flex-column{
    max-width: 362px;
}
.card{
    padding: 50px 40px;
    border-radius: 8px;
    display: block;

    display: flex;
    flex-direction: row;

    height: 100%;
}
.card .img-container{
    height: 100px;
    width: 100px;
}
.card .title-container{
    display: flex;
    align-items: center;
}
.underline{
    width: 137px;
    height: 13px;
}
.title-container .title{
    margin-bottom: 24px;
}
.products-container{
    gap: 98px 48px;
    margin-bottom: 90px;
    margin-top: 56px;
    justify-content: space-around;
}
.products-container>.flex-column{
    flex-basis: 340px;
    flex-grow: 0;

    display: flex;
    flex-direction: column;
}
.product-card{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.product-card .btn-secondary{
    margin-top:auto;
}
.category-container{
    display: flex;
    gap: 16px;
    position: relative;
    /* flex-wrap: wrap; */

    padding-top: 67px;
}
.category-container input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: absolute;
}
.category-container input[type="radio"] + label{
    padding: 0.625em 2.5em;
    border-radius: 4px;
    
    background-color: var(--custom-light-gray);
    color: var(--custom-green);

    cursor: pointer;
    display: flex;
}
.category-container input[type="radio"]:hover + label{
    background-color: #ccc;
}
.category-container input[type="radio"]:checked + label{
    background-color: var(--custom-red);
    color: #fff;
}
/* Tipografía */
h1{
    font-size: 95.38px;
    letter-spacing: -0.03em;
    line-height: 92%;
}
h2, h1.small-title{
    font-size: 61.04px;
    letter-spacing: -0.03em;
    line-height: 100%;

}
h1.extrasmall-title{
    font-size: 48.83px;
    letter-spacing: -0.03em;
    line-height: 100%;
}
.entry-content h2{
    font-size: 32px;
    letter-spacing: -0.03em;
    line-height: 100%;
    margin-top: 1em;
    margin-bottom: 1em;
}
h2.small-text{
    font-size: 25px;
    line-height: 100%;
    letter-spacing: -0.03em;
}
h3{
    font-size: 25px;

    font-weight: 700;
    line-height: 100%;
    letter-spacing: -0.03em;
}
.btn{
    font-size: 16px;
    font-weight: 700;
    line-height: 125%;

    display: block;
    width: fit-content;
}
span.large-text{
    font-size: 20px;
}
.btn, p,
.medium-text,
.contact-section 
.nf-form-content label,
.menu, .btn-secondary,
.nf-form-content .ninja-forms-field{
    font-size: 16px;
    line-height: 130%;
}
.nf-form-content .ninja-forms-field{
    border: none !important;
}
@media (max-width: 1920px){
    h1 {
        font-size: calc((95.38vw * 100) / var(--desktop-reference));
    }
    h2, h1.small-title {
        font-size: calc((61.04vw * 100) / var(--desktop-reference));
    }
    .entry-content h2{
        font-size: calc((32vw * 100) / var(--desktop-reference));
    }    
    h2.small-text, h3{
        font-size: calc((25vw * 100) / var(--desktop-reference));
    }
    span.large-text{
        font-size: calc((20vw * 100) / var(--desktop-reference));
    }
    .btn, p,
    .medium-text,
    .contact-section
    .nf-form-content label,
    .menu, .btn-secondary,
    .contact-section .nf-form-content .ninja-forms-field{
        font-size: calc((16vw * 100) / var(--desktop-reference));
    }
}
/* about us*/
.aboutus-section{
    padding-top: 60px;
}

/* responsive */
.hide-desktop{
    display: none;
}
.hide-mobile{
    display: block;
}
@media (max-width: 1240px){
    .hide-mobile{
        display: none;
    }
    /* typografy */
    h1 {
        /* font-size: calc((95.38px * var(--mobile-reference)) / var(--desktop-reference)); */
        font-size: 51px;
    }
    h2, h1.small-title {
        /* font-size: calc((61.04px * var(--mobile-reference)) / var(--desktop-reference)); */
        font-size: 32px;
    }
    .entry-content h2{
        font-size: calc((32px * var(--mobile-reference)) / var(--desktop-reference));
    } 
    h2.small-text, h3{
        font-size: calc((25px * var(--mobile-reference)) / var(--desktop-reference));
        font-size: 20px;
    }
    h2.small-text{
        font-size: 25px;
    }
    span.large-text{
        font-size: calc((20px * var(--mobile-reference)) / var(--desktop-reference));
    }
    .btn, p,
    .medium-text,
    .contact-section
    .nf-form-content label,
    .menu, .btn-secondary,
    .contact-section .nf-form-content .ninja-forms-field{
        /* font-size: calc((20px * var(--mobile-reference)) / var(--desktop-reference)); */
        font-size: 16px;
    }

    /* Responsive */
   
    .hide-desktop{
        display: block;
    }
    .mobile-column{
        flex-direction: column;
    }
    .hero-section{
        padding-top: 120px;
        padding-bottom: 120px;

        aspect-ratio: unset;
    }
    .hero-section .dummy-column{
        flex-basis: 150px;
    }
    .hero-section .main-column{
        max-width: 60%;
    }
    /* footer */
    .experience-section,
    .aboutus-section{
        aspect-ratio: unset;
    }
    .experience-section .main-column,
    .aboutus-section .main-column{
        width: auto;
    }
    .aboutus-section .description{
        margin-top: 32px;
    }
    .contact-section{
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .contact-section .description {
        margin-top: 44px;
        margin-bottom: 45px;
    }
    .segunda-seccion .category-container {
        padding-top: 40px;
        padding-bottom: 40px;
        justify-content: space-around;
    }
    .segunda-seccion .products-container {
        gap: 40px 20px;
    }
    .category-container input[type="radio"] + label {
        flex-grow: 1;
        text-align: center;
    }
    .contact-section .nf-form-content input[type=submit] {
        width: 100%;
    }
    .info-section {
        padding-top: 35px;
        padding-bottom: 35px;
    }
}
@media (max-width: 1000px){
    section{
        padding-left: 20px;
        padding-right: 20px;
    }
    .hero-section .main-column{
        max-width: 80%;
    }
    .experience-section .max-width {
        max-width: 100%;
    }
    .contact-section .max-width{
        max-width: 100%;
    }
    .aboutus-section .max-width{
        max-width: 100%;
    }
}
@media (max-width: 600px) {
    .mobile-center{
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-inline: auto;
    }
    .hero-section .main-column{
        max-width: 100%;
    }
    .hero-section .overlay img{
        max-width: 100%;
    }
}
.open_sidemenu{
    display: flex;
    align-items: center;
}
.sidemenu li{
    font-size: 20px;
    line-height: 200%;
}
.sidemenu a{
    text-decoration: none;
}
.sidemenu{
    background-color: var(--custom-blue);
    color: white;
}
.sidemenu .sub-menu{
    margin-left: 20px;
}
/* Last fix */
section.header-section{
    padding-top: 26px;
    padding-bottom: 26px;
}
.product-card .title{
    margin-top: 1.5em;
}
.product-card .description{
    margin-top: 0;
}
.fixed-header{
    top:0;
    position: fixed;
    z-index: 2;
    transition: all ease-in-out .2s;
}
.fixed-header.shrink-header{
    background-color: var(--custom-blue);
}
.dummy-header{
    height: 135px;
    width: 100%;
}

/* last fix */
.logo-container {
    max-width: 131px;
}
@media (max-width: 600px){
    .hero-section .overlay img {
        max-width: unset;
        max-height: 300px;
        transform: translateX(50%);
        right: 50%;
    }
    .cards-container {
        gap: 16px;
        margin-top: 13px;
    }
}   
@media (max-width: 1240px){
    .hero-section .dummy-column {
        flex-basis: 80px;
    }
    .underline {
        width: 71px;
        height: 8px;
        align-self: flex-start;
    }
    .title-container h1,
    .title-container h2,
    .title-container .title{
        margin-bottom: 16px;
    }
    label.medium-text,
    label.medium-text span{
        font-size: 13px;
    }
    .category-container input[type="radio"] + label {
        flex-basis: 0%;
    }
    .product-card .head-image{
        height: 390px;
        object-fit: cover;
        border-radius: 16px;
    }
    .segunda-seccion .category-container {
        padding-bottom: 0px;
    }
    .products-container {
        margin-top: 24px;
    }
    section.header-section {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .category-container {
        gap: 8px;
    }
}

img.dashicons{
    width: 24px !important;
}
.sidemenu_open>div {
    transform: none !important;
}
.sidemenu {
    padding-top: 10px !important;
}
.segunda-seccion .category-container{
    overflow-x: scroll;
    justify-content: flex-start;
}
.segunda-seccion .category-container::-webkit-scrollbar {
    display: none;
}
.segunda-seccion .category-container label{
    text-wrap: nowrap;
}

.product-column .head-image,
.product-card .head-image{
    height: 378px;
    object-fit: contain;
}