/*----------------------------------------------------------------------------------------------------------------------------
CSS ganeshaproduccions
----------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------
INHERIT CSS
--------------------------------------------------------------*/



/*--------------------------------------------------------------
ROOT VARIABLES
--------------------------------------------------------------*/
:root{
    --break: 1em;
    --break-rem: 1rem;
    --radius: 6px;
    --radius-small: 4px;
    --radius-huge: 16px;

    /* COLOR SYSTEM SUMMER25 */
    --color-base: #1A1A1A;
    --color-contrast: #FFFFFF;
    --color-ink: #2F2F2F;
    --color-shadow: #57595D;
    --color-granite: #71757A;
    --color-moon:#92979E;
    --color-fog: #AAB1B8;
    --color-gray: #CED5DE;
    --color-apollo: #DEE3E9;
    --color-solitude: #E8ECF0;
    --color-lighthouse: #F0F2F5;
    --color-smoke: #FAFBFC;
    --color-racc: #FFCF00;
    --color-racc-golden: #F3C500;
    --color-racc-citronite: #D2AB00;
    --color-racc-lemonade: #FFE98A;
    --color-racc-corn: #FFF5CA;
    --color-info: #1D569F;
    --color-success: #00C04D;
    --color-error: #B3261E;

    --font-h1: clamp(2rem, 1.818rem + 0.91vw, 2.5rem); /*40 --> 32*/
    --font-h2: clamp(1.75rem, 1.659rem + 0.45vw, 2rem); /*32 --> 28*/
    --font-h3: clamp(1.5rem, 1.455rem + 0.23vw, 1.625rem); /*28 --> 24*/
    --font-h4: clamp(1.25rem, 1.205rem + 0.23vw, 1.375rem); /*22 --> 20*/
    --font-base: clamp(1.063rem, 1.04rem + 0.11vw, 1.125rem); /*18 --> 17*/
    --font-base16: clamp(0.938rem, 0.896rem + 0.14vw, 1rem); /*16 --> 15;*/
    --font-small: clamp(0.813rem, 0.771rem + 0.14vw, 0.875rem); /*14 --> 13*/

    --font-light: 300;
    --font-regular: 400;
    --font-semibold: 600;
    --font-bold: 700;

    --font-height-body: 1.5;
    --font-height-heading: 1.3;

    interpolate-size: allow-keywords;

}

/*--------------------------------------------------------------
ACCESSIBILITY
--------------------------------------------------------------*/
/*Stopping all animations for user has the reduced motion preference activated*/
@media screen and (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
.sr-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}


/*--------------------------------------------------------------
TYPOGRAPHY
--------------------------------------------------------------*/
body{
    font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-size: var(--font-base);
    font-weight: var(--font-regular);
    line-height: var(--font-height-body);
    margin: 0;
}
h1, h2, h3, h4, h5, h6, [class$="-style"] {
    font-weight: var(--font-bold);
    line-height: var(--font-height-heading) !important;
    color: inherit !important;
}
h1,
.fusion-modal h1,
.fusion-page-title-bar h1,
.fusion-tb-footer h1,
.fusion-tb-page-title-bar h1,
.fusion-title h1,
.fusion-widget-area h1,
.post-content h1,
.search-page-search-form h1{
    font-size: var(--font-h1);
    line-height: 1.2 !important;
    text-wrap: balance;
}
h2,
.ei-title h2,
.main-flex .slide-content h2,
.post h2,
.post-content h2{
    font-size: var(--font-h2);
    text-wrap: balance;
}
h3,
.fusion-post-content h3,
.fusion-title h3,
.person-author-wrapper span,
.post-content h3,
.project-content h3,
.sidebar .widget h3,
.title h3{
    font-size: var(--font-h3);
}
h4,
.fusion-project-details-tb .project-info h4,
.fusion-theme-sharing-box h4,
.fusion-title h4,
.fusion-widget-area h4,
.post-content h4,
.project-content .project-info h4{
    font-size: var(--font-h4);
}
h5,
.fusion-post-content h5,
.fusion-title h5,
.fusion-widget-area h5,
.post-content h5,
.title h5{
    font-size: var(--font-base);
}
.h1-style{
    font-size: var(--font-h1) !important;
}
.h2-style{
    font-size: var(--font-h2) !important;
}
.h3-style{
    font-size: var(--font-h3) !important;
}
.h4-style{
    font-size: var(--font-h4) !important;
}
.h5-style{
    font-size: var(--font-base) !important;
}
p,
.post-content p{
    text-wrap: pretty;
    font-size: var(--font-base);
    font-weight: var(--font-regular);
    line-height: var(--font-height-body);
}
p:empty{
    display: none
}
p[class$="-style"]{
    line-height: var(--font-height-body);
}
small {
    font-size: var(--font-small);
}
.fusion-text a:not(:is(:hover, :focus-visible)){
    text-decoration: underline;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px;
}

@media screen and (max-width: 767px) {
    .h5-style{
        font-size: var(--font-h4) !important;
    }
}

/*--------------------------------------------------------------
SPACING BLOCKS
--------------------------------------------------------------*/
.awb-off-canvas .fusion-fullwidth,
.fusion-tb-footer .fusion-fullwidth,
.fusion-tb-header .fusion-fullwidth,
.fusion-tb-page-title-bar .fusion-fullwidth,
.width-100 .fusion-fullwidth{
    --awb-padding-top: calc(var(--break) * 3.5);
    --awb-padding-bottom: calc(var(--break) * 3);
    --awb-padding-right: var(--container_padding_100_right, var(--hundredp_padding));
    --awb-padding-left: var(--container_padding_100_left, var(--hundredp_padding));
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .width-100 .fusion-fullwidth > .fusion-builder-row{
        max-width: calc(100% + 30px) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
@media screen and (max-width: 767px) {
    .awb-off-canvas .fusion-fullwidth,
    .fusion-tb-footer .fusion-fullwidth,
    .fusion-tb-header .fusion-fullwidth,
    .fusion-tb-page-title-bar .fusion-fullwidth,
    .width-100 .fusion-fullwidth{
        --awb-padding-top: calc(var(--break) * 2.5);
        --awb-padding-bottom: calc(var(--break) * 2.5);
        --awb-padding-right: calc(var(--break) * 1.5);
        --awb-padding-left: calc(var(--break) * 1.5);
    }
    .width-100 .fusion-fullwidth > .fusion-builder-row{
        max-width: 100% !important;
    }
}

/*--------------------------------------------------------------
SPACINGS
--------------------------------------------------------------*/
.spacing{
    margin-block-start: calc(var(--break) * 3.5);
    margin-block-end: calc(var(--break) * 3.5);
}
.spacing-start{
    margin-block-start: calc(var(--break) * 3.5);
}
.spacing-end{
    margin-block-end: calc(var(--break) * 3.5);
}
.spacing-start-half{
    margin-block-start: calc(var(--break) * 1.5);
}
.spacing-end-half{
    margin-block-end: calc(var(--break) * 1.5);
}

@media screen and (max-width: 1024px) {
    .spacing{
        margin-block-start: calc(var(--break) * 2.5);
        margin-block-end: calc(var(--break) * 2.5);
    }
    .spacing-start{
        margin-block-start: calc(var(--break) * 2.5);
    }
    .spacing-end{
        margin-block-end: calc(var(--break) * 2.5);
    }
}


/*--------------------------------------------------------------
HELPERS
--------------------------------------------------------------*/
@media screen and (min-width: 1025px) {
    .show-large{
        display: block !important;
    }
    .show-small{
        display: none !important;
    }
}
@media screen and (max-width:1024px) {
    .show-large{
        display: none !important;
    }
    .show-small{
        display: block !important;
    }
}
.hidden{
    display: none !important;
}
.text-left{
    text-align: left;
}
.text-right{
    text-align: right;
}
.text-center{
    text-align: center;
}
.inline-list{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 0 calc(var(--break) * 1.5);
    padding-left: 0;
}
.inline-list li{
    list-style-type: none;
    margin-block-start: 0;
}
.no-bullets{
    list-style: none;
    padding-left: 0;
}
.color-contrast{
    color: var(--color-contrast) !important;
}
.heading-margin-bttom-half{
    margin-bottom: calc(var(--break) / 2) !important;
}
.flexbox{
    display: flex;
    align-items: center;
    gap: calc(var(--break) / 2);
}




/*--------------------------------------------------------------
CUSTOMC CSS FOR ACTUALIZAR TARJETA
--------------------------------------------------------------*/
.error404 #boxed-wrapper{
    min-height: 100lvh;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.error404 .container{
    width: calc(100% - 3.5rem);
    max-width: 1400px;
    margin-inline: auto;
}
.error404 main{
    flex: 1;
    display: grid;
    place-items: center;
    height: 100%;
}
.error404 h1{
    font-size: var(--font-h3);
    font-weight: var(--font-semibold);
}
.error404 header{
    position: relative;
    background-color: var(--color-contrast);
    padding: 20px 0;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
    z-index: 1;
}
.error404 .logo img{
    width: 80px;
    height: auto;
}
.error404 main{
    background-color: var(--color-lighthouse);
    padding: calc(var(--break) * 3.5) 0 calc(var(--break) * 3) 0;
}
.error404 main img{
    max-width: 100%;
}
.error404 .flexbox{
    flex-direction: column;
    gap: calc(var(--break) * 2);
}
.error404 .content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.error404 .button{
    display: flex;
    font-size: var(--font-base);
    font-weight: var(--font-bold);
    line-height: 1;
    color: var(--color-base);
    text-decoration: none;
    width: fit-content;
    background-color: var(--color-racc-golden);
    border-color: var(--color-racc-golden);
    border: 2px solid transparent;
    margin-top: calc(var(--break) * 2);
    padding: var(--break-rem) calc(var(--break-rem) * 2);
    box-shadow: none;
    border-radius: var(--radius);
}


@media screen and (min-width: 1025px) {
    .error404 .flexbox{
        flex-direction: row;
        gap: calc(var(--break) * 5);
    }
}


