/*
Theme Name: Reyvi
Theme URI: https://cubica.cloud
Template: Divi
Author: Cúbica Cloud
Author URI: https://cubica.cloud
Description: Tema para Reyvi.
Text Domain: cubicacloud
*/

/**** VARIABLES ***/
:root {
    --body_bg: #E9E7DF;

    --ryv_color_text: #2D2D2D;
    --ryv_color_text_dark: #000;

    --ryv_color_primary: #005850;
    --rvy_color_secondary: #BDD500;
    /* --rvy_color_secondary: #804C3B; sustituimos este color eventualmente por el color pistacho */
    --rvy_color_tertiary: #3F1D07;
    --rvy_color_doce: #804d3c;

    --rvy_color_dark: #603214;
    --rvy_color_darker: #2D2D2D;

    --rvy_color_mustard: #FFDB58;

    --rvy_color_light: #DDC685;
    --rvy_color_lighter: #F6F5F2;

    --rvy_color_sucess: #009c8f;
    --rvy_color_info: #00519c;
    --rvy_color_alert: #9c1700;
    --rvy_color_warning: #be9c00;

    --rvy_color_text: #000;
    --rvy_color_border: #A79055;

    --rvy_bg_primary: #fff;
    --rvy_bg_secondary: #E9E7DF;

    --rvy_font_size: 15px;
    --rvy_font_weight: 400;

    --h1-fontsize: 55px;
    --h2-fontsize: 40px;
    --h3-fontsize: 35px;

    --rvy_wrapper_radius: 15px;

    --rvy_wrapper_gap: 15px;
    --rvy_wrapper_gap_small: calc( var(--rvy_wrapper_gap) / 2 );
    --rvy_wrapper_gap_large: calc( var(--rvy_wrapper_gap) * 2 );
    --rvy_wrapper_gap_extra: calc( var(--rvy_wrapper_gap) * 4 );
    --rvy_wrapper_gap_block: calc( var(--rvy_wrapper_gap) * 3 ); /* para bloques comunes */
    --padding_top_fixed_nav: 30px;

    --rvy_NavTop_Height: 35px;
    --rvy_NavBottom_Height: 80px;
    --rvy_NavHeader_Height: calc( var(--rvy_NavTop_Height) + var(--rvy_NavBottom_Height) );

    --rvy_max_width_layout: 1280px;
    --rvy_half_width_layout: calc( var(--rvy_max_width_layout) / 2);
    --rvy_max_width: 800px;
    --rvy_max_width_reduced: 480px;
    --rvy_max_padding_layout: calc( var(--rvy_NavHeader_Height) + var(--rvy_wrapper_gap_extra) );

    --rvy_height_full: calc( 100vh - var(--padding_top_fixed_nav) );

    --rvy_filter_autor_images: brightness(80%) contrast(100%) sepia(100%);

    --rvy_text_font: 'Inter', Helvetica, Arial, Lucida, sans-serif;
    --rvy_title_font: 'Antonio', Arial, Helvetica, sans-serif;
}


/**** GLOBAL ****/
html {
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent;
}
    html, body {
        scroll-behavior: smooth!important;
        scroll-padding-top: 60px;
        overflow-x: hidden;
    }
    html body {
        line-height: 25px;
        font-size: 15px;
    }
    html body #page-container {
        overflow-x: hidden!important;
    }

/* 
Item de control 
html > body:before {
    position: absolute;
    right: 0;
    top: 100px;
    width: 100vw;
    height: 1px;
    content: '' !important;
    border-top: 1px solid #fff;
    z-index: 999999;
}
*/

/* Fondos de color */
html body.single-curso:not(.is-suscription-form) {
    background-color: var(--body_bg);
}
html body:has(.rvy-suscription-content-wrapper) .et_pb_section_0_tb_body.et_pb_section {
    background-color: #fff!important;
}

/*
-- MARK: COMMON 
*/
body #main-content, 
body .et_pb_section {
    background-color: transparent;
}

body #page-container,
body.is-nav-fixed #page-container {
    padding-top: var(--rvy_NavTop_Height)!important; /* altura del header top */
}

/* De-ofuscación de email */
.obf-email{
  direction: rtl;
  unicode-bidi: bidi-override;
  display: inline-block; /* necesario si hay problemas de flujo */
  cursor: pointer;
  text-decoration: underline;
}

.rvy-block {
    position: relative;
    padding: var(--rvy_wrapper_gap_block);
    border-radius: var(--rvy_wrapper_radius);
}

.rvy-block.featured {
    background-color: var(--rvy_color_lighter);
}
.single-curso-layout.single-evento .rvy-block.featured {
    margin-top: calc( var(--rvy_wrapper_gap_extra) * 2 ); /* dentro de esta capa, hay un logo con margin-top negativo y transform-translate-top */
}

.text-balance {
    text-wrap: balance;
}

p:empty {
    display: none;
}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
    line-height: 1.3em;
}
h1 > mark,
h2 > mark,
h3 > mark {
    color: var(--ryv_color_primary);
    background-color: transparent;
}

mark:has(font) { margin-left: 10px; margin-right: 10px;}

.is-header-bg h1 > mark,
.is-header-bg h2 > mark,
.is-header-bg h3 > mark {
    color: #fff;
}
    .is-header-bg h1 > mark > font,
    .is-header-bg h2 > mark > font,
    .is-header-bg h3 > mark > font {
        margin-left: 12px;
        color: #fff;
    }

.full-height {
    min-height: var(--rvy_height_full);
}

.admin-bar .full-height {
    min-height: calc( var(--rvy_height_full) - 32px );
}

.et_pb_row { /* No sé porque viene por defecto en 80% */
    width: calc( 100% - var(--rvy_wrapper_gap_extra));
}

.fit-content {
    width: fit-content!important;
}

.cite {
    position: relative;
}

    .cite:before {
        position: absolute;
        left: 0;
        top: 0;
        line-height: 40px; /* font-size del item */
        content: '“';
        font-size: 96px;
        transform: translate( -100%, 0 );
    }

    .cite:after {
        line-height: 1;
        content: '”';
        font-size: 40px;
    }

.icon_lock:before {
	content: "\e06c";
    font-family: 'ETmodules'!important;
    font-size: 14px;
    font-style: normal;
}

.et_pb_divider {
    max-width: 100%;
}
.et_pb_divider.dot {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    height: 1!important;
    border-top: 1px solid var(--rvy_color_light);
}
    .et_pb_divider.dot:before {
        position: absolute;
        margin-left: -6px;
        left: 50%;
        top: -7px;
        width: 13px;
        height: 13px;
        content: '';
        border-radius: 50%;
        border-width: 0;
        background-color: var(--rvy_color_light);
    }

hr.dot {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    height: 1px!important;
    border-width: 1px 0 0 0;
    border-style: solid;
    border-color: var(--rvy_color_light);
    overflow: visible;
}
    hr.dot:before {
        position: absolute;
        display: block;
        margin-left: -6px;
        left: 50%;
        top: -7px;
        width: 13px;
        height: 13px;
        content: ''!important;
        border-radius: 50%;
        border-width: 0;
        background-color: var(--rvy_color_light);
        z-index: 10;
    }

hr.spacer {
    display: block;
    margin: 0;
    padding: 0;
    height: var(--rvy_wrapper_gap)!important;
    border-width: 0 !important;
}

hr.condensed {
    margin-top: var(--rvy_wrapper_gap);
    margin-bottom: var(--rvy_wrapper_gap);
}
hr.spacer.condensed {
    margin-top: 0;
    margin-bottom: 0;
    height: var(--rvy_wrapper_gap_large)!important;
}

hr.large {
    margin-top: var(--rvy_wrapper_gap_large);
    margin-bottom: var(--rvy_wrapper_gap_large);
}
hr.spacer.large {
    margin-top: 0;
    margin-bottom: 0;
    height: var(--rvy_wrapper_gap_extra)!important;
}

hr.extended {
    margin-top: var(--rvy_wrapper_gap_extra);
    margin-bottom: var(--rvy_wrapper_gap_extra);
}
hr.spacer.extended {
    margin-top: 0;
    margin-bottom: 0;
    height: calc( var(--rvy_wrapper_gap_extra) * 2 )!important;
}

/* COLUMNAS */
.cbk-cols {
    display: flex;
    direction: row;
    flex-wrap: wrap;
    gap: var(--rvy_wrapper_gap);
}
    .cbk-cols.nowrap {
        flex-wrap: nowrap;
    }
    .cbk-cols.large-gap {
        display: flex;
        direction: row;
        flex-wrap: wrap;
        gap: var(--rvy_wrapper_gap_large);
    }
    .cbk-cols + .cbk-cols {
        margin-top: var(--rvy_wrapper_gap);
    }
    .cbk-cols.large-gap + .cbk-cols.large-gap {
        margin-top: var(--rvy_wrapper_gap_large);
    }
    .cbk-cols > .cbk-col {
        flex: 1;
    }
    .cbk-cols > .cbk-col.fit {
        flex: 0 0 auto;
    }
    .cbk-cols > .cbk-col.auto {
        flex: auto;
    }

/* BLOQUES */
.header-inner-block {
    margin-bottom: var(--rvy_wrapper_gap);
}

/* Estilos FLEX para filas */
body #page-container .custom-block {
    position: relative;
}
    body #page-container .custom-block .et_pb_column {
        display: flex;
    }

    body #page-container .custom-block.dr-vertical .et_pb_column {
        padding: var(--rvy_wrapper_gap_extra) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap)!important;
        flex-direction: column;
    }

    body #page-container .custom-block.dr-horizontal .et_pb_column {
        padding: var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap)!important;
        flex-direction: row;
    }

    .custom-block.valign-top .et_pb_column    { justify-content: flex-start;    }
    .custom-block.valign-center .et_pb_column { justify-content: center;        }
    .custom-block.valign-bottom .et_pb_column { justify-content: flex-end;      }

    .custom-block.halign-left .et_pb_column   { align-items: flex-start;        }
    .custom-block.halign-center .et_pb_column { align-items: center;            }
    .custom-block.halign-right .et_pb_column  { align-items: flex-end;          }

    body #page-container .custom-block.full-width {
        display: flex;
        margin-left: calc( 50% - 50vw );
        margin-right: 0;
        width: 100vw;
        align-items: center;
        justify-content: center;
        max-width: none;
        border-radius: 0;
    }
        body #page-container .custom-block.full-width > .et_pb_column {
            position: relative;
            margin: 0 auto!important;
            padding: 0!important;
            width: 100%;
            max-width: var(--rvy_max_width_layout);
        }

    #nuestras-gamas {
        overflow: hidden;
    }
    #nuestras-gamas .custom-block:before {
        position: absolute;
        inset: 0;
        content: '';
        background-color: rgba(0, 0, 0, 0.6);
    }


ul.arrow {
    margin: 0;
    padding: 0;
    list-style: none;

}
    ul.arrow li {
        padding-left: 30px;
        background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2013%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.3214%206.52065C12.3214%206.82199%2012.2182%207.07589%2012.0117%207.28237L6.5625%2012.7316C6.34487%2012.9381%206.09096%2013.0413%205.80078%2013.0413C5.51618%2013.0413%205.26507%2012.9381%205.04743%2012.7316L4.41964%2012.1038C4.20759%2011.8917%204.10156%2011.6378%204.10156%2011.3421C4.10156%2011.0463%204.20759%2010.7924%204.41964%2010.5804L6.87221%208.12779H0.979353C0.689174%208.12779%200.452009%208.02455%200.267857%207.81808C0.0892857%207.60603%200%207.35212%200%207.05636V5.98493C0%205.68917%200.0892857%205.43806%200.267857%205.23159C0.452009%205.01953%200.689174%204.9135%200.979353%204.9135H6.87221L4.41964%202.45257C4.20759%202.25167%204.10156%202.00056%204.10156%201.69922C4.10156%201.39788%204.20759%201.14676%204.41964%200.945871L5.04743%200.31808C5.25949%200.106027%205.5106%200%205.80078%200C6.09654%200%206.35045%200.106027%206.5625%200.31808L12.0117%205.7673C12.2182%205.96261%2012.3214%206.21373%2012.3214%206.52065Z%22%20fill%3D%22%23DDC685%22%2F%3E%3C%2Fsvg%3E');
        background-repeat: no-repeat;
        background-size: 14px;
        background-position: 0 6px;
    }

/*
-- MARK: HEADER
*/

#header {
    position: fixed!important;
    left: 0!important;
    top: 0!important;
    width: 100vw;
    height: var(--rvy_NavHeader_Height);
    transition: all 0.2s;
    background-color: #fff;
}
    html body.single-curso:not(.is-suscription-form) #header {
        background-color: var(--body_bg);
    }

    body.admin-bar #header {
        top: 32px!important;
    }
        #header-nav-top {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            height: var(--rvy_NavTop_Height);
            align-items: center;
            gap: var(--rvy_wrapper_gap);
            z-index: 100;
        }
        #header-nav-top:after,
        #header-nav-top:before {
            content: none;
        }
            #header-nav-top .nav-left,
            #header-nav-top .nav-right {
                flex: auto;
                margin-bottom: 0!important;
                width: auto!important;
                font-size: 14px;
            }

            #header-nav-top .nav-left {
                margin-right: auto;
                text-align: left;
            }
            #header-nav-top .nav-right {
                margin-left: auto;
                text-align: right;
            }
                #header-nav-top a,
                #header-nav-top span,
                #header-nav-top a font,
                #header-nav-top span font {
                    color: #fff!important;
                    font-size: 14px!important;
                }
                #header-nav-top a:hover,
                #header-nav-top a:hover font {
                    color: var(--rvy_color_lighter);
                }
                #header-nav-top .nav-right .et_pb_text_inner {
                    display: flex;
                    margin-left: auto;
                    align-items: center;
                    justify-content: center;
                    width: fit-content;
                }
                    html body #header-nav-top .nav-right #flags {
                        display: block;
                        position: relative;
                        margin-left: var(--rvy_wrapper_gap);
                        float: none!important;
                        clear: both!important;
                        width: auto;
                        height: 20px;
                        overflow: hidden;
                    }
                        html body #header-nav-top .nav-right #flags ul {
                            position: relative;
                            display: flex;
                            flex-direction: row;
                            flex-wrap: nowrap;
                            width: auto;
                            height: 20px;
                            gap: 0 11px;
                            float: none!important;
                            clear: both!important;
                            align-items: flex-start;
                            justify-content: flex-start;
                            cursor: pointer;
                        }
                                html body #header-nav-top .nav-right #flags ul li {
                                    display: block;
                                    position: relative;
                                    float: none;
                                    clear: both;
                                    margin: 0;
                                    width: auto;
                                    height: 20px;
                                    line-height: 20px;
                                    transition: all 0.2s;
                                    background-color: var(--ryv_color_primary);
                                }
                                    html body #header-nav-top .nav-right #flags ul li:not(:last-child):before {
                                        position: absolute;
                                        top: 4px;
                                        right: -6px;
                                        width: 1px;
                                        height: 14px;
                                        content: ''!important;
                                        border-right: 1px solid #fff!important;
                                    }
                                html body #header-nav-top .nav-right #flags ul li > a {
                                    display: block;
                                    margin: 0!important;
                                    padding: 0!important;
                                    width: auto!important;
                                    height: auto!important; 
                                    background: none!important;
                                }
                                html body #header-nav-top .nav-right #flags ul li > a:before {
                                    color: #fff;
                                    font-size: 12px;
                                    text-transform: uppercase;
                                }
                                html body #header-nav-top .nav-right #flags ul li > a:hover:before {
                                    color: var(--rvy_color_light);
                                }
                                html body #header-nav-top .nav-right #flags ul li#Spanish > a:before    { content: 'ES'; }
                                html body #header-nav-top .nav-right #flags ul li#English > a:before    { content: 'EN'; }
                                html body #header-nav-top .nav-right #flags ul li#Galician > a:before   { content: 'GL'; }
                                html body #header-nav-top .nav-right #flags ul li#Portuguese > a:before { content: 'PT'; }

                                html[lang="es"] body #header-nav-top .nav-right #flags ul li#Spanish > a:before, 
                                html[lang="en"] body #header-nav-top .nav-right #flags ul li#English > a:before, 
                                html[lang="gl"] body #header-nav-top .nav-right #flags ul li#Galician > a:before, 
                                html[lang="pt"] body #header-nav-top .nav-right #flags ul li#Portuguese > a:before { color: var(--rvy_color_light); }
                                

        #header-nav-bottom {
            display: flex;
            flex-wrap: nowrap;
            flex-direction: row;
            height: var(--rvy_NavBottom_Height);
            align-items: center;
        }
            #header-logo {
                margin-right: auto;
                margin-bottom: 0!important;
                flex: auto;
                width: auto;
            }
                #header-logo img {
                    transition: all 0.2s;
                }
            #header-nav {
                display: flex;
                margin-left: auto;
                margin-right: auto;
                flex: auto;
                align-items: center;
                width: auto;
            }
                #header-nav .et-menu.nav {
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                }
                    #header-nav .et-menu.nav > li {
                        margin: 0!important;
                        padding: 0 20px!important;
                    }
                        #header-nav .et-menu.nav > li > a {
                            margin: 0!important;
                            padding: 5px 0!important;
                            line-height: 14px!important;
                            font-size: 14px!important;
                        }

                        html > body #page-container #header-nav #menu-main-menu.et-menu.nav > li.current-menu-item > a,
                        html > body #page-container #header-nav #menu-main-menu.et-menu.nav > li.current_page_item > a {
                            /*color: var(--rvy_color_secondary)!important;*/
                            text-decoration: underline;
                            text-underline-offset: 4px;
                            text-decoration-thickness: 2px;
                        }

                        html > body #page-container #header-nav #menu-main-menu.et-menu.nav > li.area-doce > a {
                            padding-left: 30px!important;
                            background-image: url(assets/images/doce-logo-nav_o.png);
                            background-size: 20px 20px;
                            background-repeat: no-repeat;
                            background-position: 0 50%;                        
                        }
                        #header-nav .et-menu.nav > li.contacto {
                            display: none;
                        }

            #header-nav #header-nav .et_pb_menu__menu + .et_pb_menu__icon {
                margin: 0 20px;
                padding: 0;
                color: var(--ryv_color_primary)!important;
            }

            #header #header-nav .et_pb_button_module_wrapper {
                margin-bottom: 0!important;
            }

            /* Buscar */
            body #header #header-nav .et_pb_button_module_wrapper #nav-search-button {
                margin-left: 20px;
                height: 22px;
                visibility: hidden;
                font-size: 0!important;
            }
                body #header #header-nav .et_pb_button_module_wrapper #nav-search-button:before {
                    visibility: visible;
                    font-size: 14px!important;
                    transition: all 0.2s;
                }

            /* Login */
            #header-nav-top .nav-right .user-login .icon_lock {
                display: none;
            }

            /* Contacto */
            #header .et_pb_button_module_wrapper:has( #nav-contact-button ) {
                position: relative;
                padding-left: 20px;
            }
                #header .et_pb_button_module_wrapper #nav-contact-button {
                    position: relative;
                    padding: 15px 30px!important;
                    line-height: 1!important;
                    font-size: 14px!important;
                    font-weight: 700;
                }
                    #header .et_pb_button_module_wrapper:has( #nav-contact-button ):before {
                        position: absolute;
                        left: 0;
                        top: 14px;
                        height: 20px;
                        content: '';
                        border-left: 1px solid var(--ryv_color_primary);
                    }



    /* Que pasa si tenemos una cabecera con fondo de imagen */
    body:not(.is-nav-fixed) #page-container:has(.is-header-bg),
    body:not(.is-nav-fixed) #page-container:has(.is-slide) {
        padding-top: var(--padding_top_fixed_nav)!important;
    }
        body:not(.is-nav-fixed) #page-container:has(.is-header-bg) #header,
        body:not(.is-nav-fixed) #page-container:has(.is-slide) #header {
            background-color: transparent;
        }
            body:not(.is-nav-fixed) #page-container:has(.is-header-bg) #header-nav .et-menu.nav > li > a,
            body:not(.is-nav-fixed)  #page-container:has(.is-header-bg) #header .et_pb_button_module_wrapper #nav-search-button::before,
            body:not(.is-nav-fixed) #page-container:has(.is-slide) #header-nav .et-menu.nav > li > a,
            body:not(.is-nav-fixed)  #page-container:has(.is-slide) #header .et_pb_button_module_wrapper #nav-search-button::before  {
                color: #fff!important;
            }
            body:not(.is-nav-fixed) #page-container:has(.is-header-bg) #header-logo img,
            body:not(.is-nav-fixed) #page-container:has(.is-slide) #header-logo img { /* dejamos en blanco el logo */
                filter: brightness(1%) invert(100%);
            }
            body:not(.is-nav-fixed)  #page-container:has(.is-header-bg) #header .et_pb_button_module_wrapper:has( #nav-contact-button ):before,
            body:not(.is-nav-fixed)  #page-container:has(.is-slide) #header .et_pb_button_module_wrapper:has( #nav-contact-button ):before {
                border-left-color: #fff;
            }
        body:not(.is-nav-fixed) #page-container .is-header-bg {
            max-width: 100%;
            padding: var(--rvy_NavHeader_Height) var(--rvy_wrapper_gap) var(--rvy_wrapper_gap_extra) var(--rvy_wrapper_gap)!important;
            /* 
            Añadimos un padding superior en la cabecera que se adapte a la visualización requerida 
            115px de alto de cabecera + la separación que queramos mantener con respecto a esta.
            */
        }
        body:not(.is-nav-fixed) #page-container .is-header-bg .et_pb_column {
            margin-bottom: 0;
        }
    
    /* Que pasa si tenemos una capa con fondo y queremos el menú transparente */
    body:not(.is-nav-fixed) #page-container:has(.is-transparent-nav) {
        padding-top: var(---rvy_NavTop_Height)!important;
    }
        body:not(.is-nav-fixed) #page-container:has(.is-transparent-nav) #header {
            background-color: transparent;
        }

    body #page-container .is-header-bg {
        display: flex;
    }
        body #page-container .is-header-bg.dr-vertical {
            padding: var(--rvy_wrapper_gap_extra) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap)!important;
            flex-direction: column;
        }
        body #page-container .is-header-bg.dr-horizontal {
            padding: var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap)!important;
            flex-direction: row;
        }
        body #page-container .is-header-bg.valign-top    { align-items: flex-start;      }
        body #page-container .is-header-bg.valign-center { align-items: center;          }
        body #page-container .is-header-bg.valign-bottom { align-items: flex-end;        }
        
        body #page-container .is-header-bg.halign-left   { justify-content: flex-start;  }
        body #page-container .is-header-bg.halign-center { justify-content: center;      }
        body #page-container .is-header-bg.halign-right  { justify-content: flex-end;    }
    
    body .is-header-bg:before {
        position: absolute;
        inset: 0;
        content:'';
        background-color: rgba(0, 0, 0, 0.5);
    }
    
/*
-- MARK: NAV MOBILE
*/
html:has(.mobile_nav.opened),
body:has(.mobile_nav.opened) {
    overflow: hidden;
}
    #header-nav .mobile_nav .mobile_menu_bar {
        cursor: pointer!important;
        z-index: 9020;
    }
        #header-nav .mobile_nav .mobile_menu_bar:before {
            display: block;
            position: relative;
            color: var(--ryv_color_primary)!important;
            transition: transform 0.2s!important;
        }
        body:has(.is-header-bg):not(.is-nav-fixed) #header-nav .mobile_nav .mobile_menu_bar:before,
        body:has(.is-slide):not(.is-nav-fixed) #header-nav .mobile_nav .mobile_menu_bar:before {
            color: #fff!important;
        }
        #header-nav .mobile_nav.opened .mobile_menu_bar:before {
            content: 'M';
        }
    html body #page-container #header-nav .mobile_nav .et_mobile_menu {
        display: block!important;
        position: fixed;
        margin: 0!important;
        padding: var(--rvy_wrapper_gap_large) 0 0 0!important;
        right: 0!important;
        top: 99px!important;
        left: auto!important;
        bottom: auto!important;
        width: 100vw!important;
        height: calc( 100vh - 85px )!important; /* 99px TOP */
        transform: translate(100%, 0);
        transition: transform 0.2s!important;
        box-shadow: none;
        border-width: 0!important;
        background-color: var(--ryv_color_primary)!important;
        z-index: 9000;
    }

    html body #page-container #header-nav .mobile_nav.opened .et_mobile_menu {
        display: block!important;
        margin: 0!important;
        padding: var(--rvy_wrapper_gap_large) 0 0 0!important;
        right: 0!important;
        top: var(--rvy_NavHeader_Height)!important;
        left: auto!important;
        bottom: auto!important;
        width: 100vw!important;
        height: calc( 100vh - 85px )!important; /* 99px TOP */
        transform: translate(0, 0);
        border-width: 0!important;
    }
        html body #page-container #header-nav .mobile_nav.opened .et_mobile_menu > li {
            text-align: right;
        }
            html body #page-container #header-nav .mobile_nav.opened .et_mobile_menu > li a {
                color: #fff!important;
                font-size: 14px;
                text-align: center;
            }
            html > body #page-container #header-nav .mobile_nav.opened .et_mobile_menu > li.current-menu-item > a,
            html > body #page-container #header-nav .mobile_nav.opened .et_mobile_menu > li.current_page_item > a {
                color: var(--rvy_color_light)!important;
            }



/*
-- MARK: FOOTER
*/

/* Grupo de logos de Grupo Reyvidis */
.grupo-reyvidis-title {
    position: relative;
    margin: 0 0 -15px 0!important;
    padding: 0 15px 15px 0; 
    width: fit-content;
    z-index: 10;
}
.grupo-reyvidis-group {
    position: relative;
    padding: var(--rvy_wrapper_gap);
    width: fit-content;
    border: 1px solid #5C9A95;
}
    .grupo-reyvidis-group:before {
        display: block;
        margin-bottom: 10px;
        content: 'Forman parte de Grupo Reyvidis:'!important;
        color: #fff;
        font-size: 10px;
        text-transform: uppercase;
    }
    .grupo-reyvidis-group > .et_pb_gallery_items {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        gap: var(--rvy_wrapper_gap_block);
        align-items: center;
        /*justify-content: space-between;*/
        justify-content: flex-start;
    }
    .grupo-reyvidis-group > .et_pb_gallery_items:after {
        content: none;
    }
        .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item {
            margin: 0!important;
            width: fit-content;
        }
        .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item > .et_pb_gallery_image {
            border-radius: 0!important;
        }
            .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item a {
                /*pointer-events: none;*/
            }
                .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item a > .et_overlay,
                .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item a:hover > .et_overlay {
                    display: none!important;
                }
                .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item img {
                    height: 50px;
                    width: auto;
                    filter: grayscale(100%);
                }
                .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item:nth-child(1) img {
                    filter: grayscale(100%) brightness(75%);
                }
                .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item:nth-child(2) {
                    top: 0; 
                }
                .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item.et_pb_gallery_item_0_2 {
                    top: -10px;
                }
                    .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item.et_pb_gallery_item_0_2 img {
                        height: 70px;
                    }
            
    /* Agrupación de logos */
    .footer-logos-row {
        display: flex;
        align-items: flex-end;
    }
        .footer-logos-row > .col-left > .et_pb_image {
            position: relative;
            top: -15px; 
        }

    footer #footer-nav #menu-footer-menu {
        gap: 80px;
    }
        footer #footer-nav #menu-footer-menu > li {
            padding-left: 0;
            padding-right: 0;
        }

    footer #footer-legal #menu-legal-menu {
        gap: 12px;
    }
        footer #footer-legal #menu-legal-menu > li {
            position: relative;
            padding-left: 0;
            padding-right: 0;
        }
            footer #footer-legal #menu-legal-menu > li:not(:first-child):after {
                position: absolute;
                left: -8px;
                top: 1px;
                content: '·';
            }

        body:not(.home) footer #footer-legal #menu-legal-menu > li.cpy_cubica {
            display: none;
        }
        
    footer #footer-contacto ul.rss-social-media {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
    }
        footer #footer-contacto ul.rss-social-media > li {
            /*border-radius: 3px;
            background-color: rgba(0, 0, 0, 0.01);*/
        }
            footer #footer-contacto ul.rss-social-media > li > a {
                margin: 0!important;
            }

    /* Tamaños especiales en función del idioma seleccionado */
    html[lang="en"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(1) h2,
    html[lang="en-EN"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(1) h2 { /* Te llamamos? */
        font-size: 50px;
    }
    html[lang="gl"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(1) h2,
    html[lang="gl-Es"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(1) h2,
    html[lang="gl"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(2) h3,
    html[lang="gl-Es"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(2) h3 { /* Te llamamos? Contacta con nosotros */
        font-size: 43px;
    }
    html[lang="pt"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(1) h2,
    html[lang="pt-PT"] footer #footer-contacto .col-left > .et_pb_heading:nth-child(1) h2 {
        font-size: 40px;
    }

    /* Contacto */
    footer #footer-contacto .col-right > .et_pb_module a {
        margin-bottom: 15px;
        color: #FFFFFF !important; 
        font-family: 'Antonio',Helvetica,Arial,Lucida,sans-serif;
        font-size: 34px;
        text-align: left;
        text-decoration: none;
    }
    footer #footer-contacto .col-right > .et_pb_module .phone {
        padding-left: 60px;
    }
        footer #footer-contacto .col-right > .et_pb_module .phone:before {
            margin-left: -60px;
            color: #ddc685 !important;
            content: 'Tel.: '; 
        }
        footer #footer-contacto .col-right > .et_pb_module .phone a {
            color: #ddc685 !important;
        }
    
    #footer-separator {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: var(--rvy_wrapper_gap_extra);
    }
    #footer-separator .footer-separator-left {
        margin: 0;
        max-width: var(--rvy_half_width_layout);
    }
        #footer-separator .footer-separator-left .footer-newsletter-title h2 {
            margin: 0;
            padding: 0;
        }
    #footer-separator .footer-separator-right {
        margin: 0;
        max-width: var(--rvy_half_width_layout);
    }
        #footer-separator .footer-separator-right .footer-newsletter-widget {
            
        }
            #footer-separator .footer-separator-right .footer-newsletter-widget iframe {
                position: relative;
                max-width: 400px;
            }
    


/*
-- MARK: BUTTONS
*/
.rvy-button,
body .et_pb_module .rvy-button { /* intentamos saltarnos los estilos de divi */
    position: relative;
    display: inline-block;
    padding: 15px 30px!important;
    line-height: 1!important;
    color: #fff;
    font-size: 13px;
    font-weight: 700!important;
    text-transform: uppercase;
    text-align: center;
    transition: all 0.2s linear;
    border-radius: 50px;
    border-width: 1px;
    border-style: solid;
    border-color: var(--ryv_color_primary);
    background-color: var(--ryv_color_primary);
    cursor: pointer;
}
    .rvy-button:hover,
    body .et_pb_module .rvy-button:hover {
        padding: 15px 30px!important;
        line-height: 1!important;
        border-width: 1px;
        border-style: solid;
        border-color: color-mix( in srgb, var(--ryv_color_primary), #fff 20%);
        background-color: color-mix( in srgb, var(--ryv_color_primary), #fff 20%);
    }
    .rvy-button:after,
    .rvy-button:before,
    body .et_pb_module:after,
    body .et_pb_module:before  {
        content: none;
    }
    .rvy-primary-button {
        color: #fff;
        border-color: var(--ryv_color_primary);
        background-color: var(--ryv_color_primary);
    }
        .rvy-primary-button:hover {
            border-color: color-mix( in srgb, var(--ryv_color_primary), #fff 20%);
            background-color: color-mix( in srgb, var(--ryv_color_primary), #fff 20%);
        }

    .rvy-primary-button.bordered {
        color: var(--ryv_color_primary)!important;
        background-color: transparent!important;
        border-color: var(--ryv_color_primary)!important;
    }
        .rvy-primary-button.bordered:hover {
            color: color-mix( in srgb, var(--ryv_color_primary), #fff 20%)!important;
            border-color: color-mix( in srgb, var(--ryv_color_primary), #fff 20%)!important;
            background-color: color-mix( in srgb, var(--ryv_color_primary), transparent 80%)!important;
        }

    .rvy-secondary-button,
    body .et_pb_module .rvy-secondary-button {
        color: var(--rvy_color_dark);
        font-weight: 400;
        border-color: var(--rvy_color_dark);
        background-color: #fff;
    }
        .rvy-secondary-button:hover,
        body .et_pb_module .rvy-secondary-button:hover {
            font-weight: 400;
            border-color: var(--rvy_color_dark);
            background-color: color-mix( in srgb, #fff, var(--rvy_color_dark) 20%);
        }

    .rvy-tertiary-button,
    body .et_pb_module .rvy-tertiary-button {
        color: #fff;
        font-weight: 400;
        border-color: var(--rvy_color_dark);
        background-color: var(--rvy_color_dark);
    }
        .rvy-tertiary-button:hover,
        body .et_pb_module .rvy-tertiary-button:hover {
            font-weight: 400;
            border-color: color-mix( in srgb, var(--rvy_color_dark), #fff 20%);;
            background-color: color-mix( in srgb, var(--rvy_color_dark), #fff 20%);
        }

    .rvy-quaternary-button,
    body .et_pb_module .rvy-quaternary-button {
        color: var(--rvy_color_dark);
        /* color: #fff - Sustituido eventualmente por el fondo pistacho */
        font-weight: 400;
        border-color: var(--rvy_color_secondary);
        background-color: var(--rvy_color_secondary);
    }
        .rvy-quaternary-button:hover,
        body .et_pb_module .rvy-quaternary-button:hover {
            font-weight: 400;
            border-color: color-mix( in srgb, var(--rvy_color_secondary), var(--rvy_color_text) 20%);;
            background-color: color-mix( in srgb, var(--rvy_color_secondary), var(--rvy_color_text) 20%);
        }

    .rvy-quinary-button,
    body .et_pb_module .rvy-quinary-button {
        /* color: var(--rvy_color_dark) Antes tenía el fondo pistacho */;
        color: #000;
        font-weight: 400;
        border-color: var(--rvy_color_mustard);
        background-color: var(--rvy_color_mustard);
    }
        .rvy-quinary-button:hover,
        body .et_pb_module .rvy-quinary-button:hover {
            font-weight: 400;
            border-color: color-mix( in srgb, var(--rvy_color_mustard), var(--rvy_color_text) 20%);;
            background-color: color-mix( in srgb, var(--rvy_color_mustard), var(--rvy_color_text) 20%);
        }

    .rvy-light-button,
    body .et_pb_module .rvy-light-button {
        color: var(--rvy_color_light);
        font-weight: 400;
        border-color: var(--rvy_color_light);
        background-color: var(--rvy_color_light);
    }
        .rvy-light-button:hover,
        body .et_pb_module .rvy-light-button:hover {
            font-weight: 400;
            border-color: color-mix( in srgb, var(--rvy_color_dark), var(--rvy_color_text) 20%);
            background-color: color-mix( in srgb, var(--rvy_color_dark), var(--rvy_color_text) 20%);
        }

    .rvy-light-button.bordered,
    body .et_pb_module .rvy-light-button.bordered {
        border-color: var(--rvy_color_light);
        background-color: transparent;
    }
        .rvy-light-button.bordered:hover,
        body .et_pb_module .rvy-light-button.bordered:hover {
            border-color: color-mix( in srgb, var(--rvy_color_light), var(--rvy_color_text) 20%);
            background-color: color-mix( in srgb, var(--rvy_color_light), transparent 80%);
        }


    .rvy-button.small-button,
    body .et_pb_module .rvy-button.small-button {
        padding: 5px 10px;
        font-size: 11px;
    }
    .rvy-primary-button.is-bg {
        color: #fff!important;
        background-color: transparent!important;
        border-color: #fff!important;
    }
        .rvy-primary-button.is-bg:hover {
            color: color-mix( in srgb, #fff, var(--rvy_color_text) 20%)!important;
            border-color: color-mix( in srgb, #fff, var(--rvy_color_text) 20%)!important;
            background-color: color-mix( in srgb, #fff, transparent 80%)!important;
        }
    .rvy-button.large,
    body .et_pb_module .rvy-button.large {
        padding-left: 60px;
        padding-right: 60px;
    }

    /* round button */
    .rvy-button-round,
    body #page-container .et_pb_section .et_pb_module .rvy-button-round {
        display: inline-block;
        margin: 0;
        padding: 0!important;
        width: 45px;
        height: 45px;
        line-height: 41px;
        color: #fff;
        font-size: 25px!important;
        font-weight: 300;
        text-align: center;
        transition: all 0.2s;
        border-radius: 50%;
        border: 1px solid #fff;
        overflow: hidden;
    }

    .rvy-button-round:hover,
    body #page-container .et_pb_section .et_pb_module .rvy-button-round:hover {
        padding: 0!important;
        background-color: rgba(0, 0, 0, 0.4);
    }
        .rvy-button-round.light,
        body #page-container .et_pb_section .et_pb_module .rvy-button-round.light {
            color: var(--rvy_color_light);
            border-color: var(--rvy_color_light);
        }

        .rvy-button-round.light:hover,
        body #page-container .et_pb_section .et_pb_module .rvy-button-round.light:hover {
            background-color: color-mix( in srgb, var(--rvy_color_light), transparent 80%);
        }

    .rvy-button.no-bg,
    body .et_pb_module .rvy-button.no-bg {
        background-color: transparent!important;
    }
    .rvy-button.no-bg:hover,
    body .et_pb_module .rvy-button.no-bg:hover {
        background-color: rgba(0, 0, 0, 0.05)!important;
    }

    .rvy-button[disabled],
    .rvy-button[disabled="disabled"],
    body .et_pb_module .rvy-button[disabled],
    body .et_pb_module .rvy-button[disabled="disabled"] {
        opacity: 0.25;
        cursor: no-drop;

    }

    html body .rvy-button.no-link {
        cursor: default!important;
    }


/*
-- MARK: MESSAGES
*/
.message {
    position: relative;
    padding: var(--rvy_wrapper_gap_large);
    border-radius: var(--rvy_wrapper_radius);
}
    .message.sucess {
        color: #fff;
        background-color: var(--rvy_color_sucess);
    }
    .message.info {
        color: #fff;
        background-color: var(--rvy_color_info);
    }
    .message.alert {
        color: #fff;
        background-color: var(--rvy_color_alert);
    }
    .message.warning {
        color: #fff;
        background-color: var(--rvy_color_warning);
    }


/*
-- MARK: PAGINATION
*/
.wp-pagenavi {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    justify-content: center;
    text-align: center;
    gap: 0;
}
    .wp-pagenavi .page-numbers {
        display: flex;
        justify-content: center;
        align-items: center;
        _margin: 0;
        padding: 0;
        width: 32px;
        height: 32px;
        color: var(--rvy_color_text);
        font-size: 15px;
        font-weight: 300;
        transition: all 0.2s;
    }
    .wp-pagenavi .page-numbers.current {
        color: var(--ryv_color_primary);
        font-weight: 700;
        cursor: default;
    }
    .wp-pagenavi .page-numbers.next {
        margin-left: auto;
        width: 100px;
        text-align: right;
    }
    .wp-pagenavi .page-numbers.prev {
        margin-right: auto;
        width: 100px;
        text-align: left;
    } 
        .wp-pagenavi .page-numbers.next:after,
        .wp-pagenavi .page-numbers.prev:after {
            display: block;
            content: '';
        }
        .wp-pagenavi .page-numbers.next:after {
            margin-left: 5px;
            content: '»';
        }
        .wp-pagenavi .page-numbers.prev:before {
            margin-right: 5px;
            content: '«';
        }

    .post-list + .wp-pagenavi {
        margin-top: var(--rvy_wrapper_gap_extra);
    }

    .wp-pagenavi:not(:has(.prev)):before,
    .wp-pagenavi:not(:has(.next)):after {
        width: 100px;
        height: 0;
        content: '';
    }
    .wp-pagenavi:not(.prev):before  {
        margin-right: auto;
    }
    .wp-pagenavi:not(.next):after  {
        margin-left: auto;
    }

    .wp-pagenavi > .st,
    .wp-pagenavi > .sb {
        position: absolute;
        margin: 0 auto;
        width: 100%;
        max-width: 640px;
        height: 1px;
        content: '';
        border-top: 1px solid var(--rvy_color_light);
    }
    .wp-pagenavi > .st {
        top: 0;
    }
    .wp-pagenavi > .sb {
        bottom: 0;
    }
        .wp-pagenavi > .st:before,
        .wp-pagenavi > .sb:before {
            position: absolute;
            top: -7px;
            left: 50%;
            width: 13px;
            height: 13px;
            content: '';
            transform: translate(-50%, 0);
            border-radius: 50%;
            background-color: var(--rvy_color_light);

        }

/* 
-- MARK: HOME HEADER
*/
#home-hero {
    position: relative;
    overflow: visible;
    z-index: 100;
}

#home-hero.is-header-bg.et_pb_section_video .et_pb_section_video_bg .mejs-video {
    top: 50%;
    transform: translate(0, -50%);
}
    #home-hero:after {
        position: absolute;
        margin-left: -10px;
        left: 50%;
        bottom: -60px;
        height: 90px;
        width: 1px;
        content: '';
        border-right: 1px solid var(--rvy_color_border);
    }

    #home-hero .et_pb_section_video_bg:before {
        position: absolute;
        inset: 0;
        content: '';
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1;
    }

/* HERO SLIDE */
#home-hero-slide { 
    position: relative;
}
    #home-hero-slide:after {
        position: absolute;
        margin-left: -10px;
        left: 50%;
        bottom: -60px;
        height: 90px;
        width: 1px;
        content: '';
        border-right: 1px solid var(--rvy_color_border);
        z-index: 8;
    }
    #home-hero-slide >.et_pb_slider > .et_pb_slides > .et_pb_slide {
        padding-top: var(--rvy_wrapper_gap_large)!important;
    }
    #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner {
        position: relative;
        display: flex;
        margin: 0 auto;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        max-width: 710px;
        height: inherit;
        
    }   
        #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_image {
            position: relative!important;
            margin: 0 auto var(--rvy_wrapper_gap) auto!important;
            inset: auto!important;
        }
        #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_description,
        #home-hero-slide .et_pb_slide.et_pb_slide_with_image > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_description {
            margin: 0 auto!important;
            padding: 0;
            width: 100%;
        }    
            #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_title {
                position: relative;
                margin-bottom: var(--rvy_wrapper_gap);
                color: var(--rvy_color_light)!important;
                font-size: 55px;
                font-family: 'Antonio',Helvetica,Arial,Lucida,sans-serif;
                font-weight: 400;
                text-align: center;
            }
                #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_title mark,
                #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_title mark font {
                    color: #fff;
                    background-color: transparent
                }
            #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_content {
                line-height: 1.8rem;
                color: var(--rvy_color_light)!important;
                font-weight: 300;
                font-size: 21px;
                text-align: center;
            }

            #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_button_wrapper > a {
                position: relative;
                padding: 15px 30px !important;
                line-height: 1 !important;
                color: var(--rvy_color_light);
                font-size: 13px;
                font-weight: 700 !important;
                text-transform: uppercase;
                text-align: center;
                transition: all 0.2s linear;
                    transition-property: all;
                border-radius: 50px;
                border-width: 1px;
                border-style: solid;
                border-color: var(--rvy_color_light);
                background-color: transparent;
                cursor: pointer;
            }
            #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_button_wrapper > a:hover{
                border-color: color-mix( in srgb, var(--rvy_color_light), var(--rvy_color_text) 20%);
                background-color: color-mix( in srgb, var(--rvy_color_light), transparent 80%);
            }
                #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_button_wrapper > a:after,
                #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_button_wrapper > a:hover:before {
                    content: none!important;
                }

/*
-- MARK: POPUP
*/
.suscribe-to-our-courses {
    position: absolute;
    display: block;
    bottom: calc( var(--rvy_wrapper_gap_large) * -1);
    right: 0;
    width: 400px;
    height: 220px;
    transform: translate(0, 50%);
    z-index: 999999;
}
.suscribe-to-our-courses:has(.type-curso-content-description) {
    height: auto!important;
}
    .suscribe-to-our-courses > .suscribe-to-our-courses-wrapper {
        position: relative;
        display: flex;
        flex-direction: column;
        padding: var(--rvy_wrapper_gap_large);
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
        box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.4);
        border-radius: var(--rvy_wrapper_radius);
        background-color: #fff;
        overflow: hidden;
        z-index: 10;
    }
        .suscribe-to-our-courses > .suscribe-to-our-courses-wrapper .post-list {
            width: 100%;
        }
    .suscribe-to-our-courses > .close {
        position: absolute;
        top: var(--rvy_wrapper_gap);
        right: var(--rvy_wrapper_gap);
        width: 30px;
        height: 30px;
        line-height: 26px;
        color: var(--rvy_color_text);
        font-size: 30px;
        font-weight: 300;
        text-align: center;
        border-radius: 50%;
        background-color: #fff;
        cursor: pointer;
        z-index: 20;
    }




/* 
-- MARK: CAROUSEL
*/

.tns-outer {
    display: flex;
    flex-direction: column;
}
    .tns-inner {
        margin: 0;
        padding: 0;
        max-width: 100%;
    }
        .tns-carousel {
            display: flex;
            transition-property: all!important;
            cursor: grab;
        }
        .tns-carousel.mousedrag {
            user-select: none;
            cursor: grabbing; 
        }
            .tns-carousel.mousedrag a {
                _pointer-events: none; 
            }
            .tns-carousel > .tns-item {
                margin: 0!important;
                overflow: hidden;
            }
                .tns-carousel .tns-item img {
                    display: block;
                    margin: 0;
                    max-width: 100%;
                }
                .tns-carousel:not(.mousedrag) .tns-item a {
                    _pointer-events: initial;
                }

        /* Para galería de imágenes */
        .simple-carousel-images .tns-carousel > .tns-item a {
            pointer-events: none;
            cursor: default;
        }
            .simple-carousel-images .tns-carousel > .tns-item .et_overlay,
            .simple-carousel-images .tns-carousel > .tns-item a:hover .et_overlay {
                display: none!important;
                opacity: 0!important;
                visibility: hidden!important;
            }
        .simple-carousel-images .tns-nav {
            position: relative!important;
            display: flex;
            flex-direction: row;
            margin-top: var(--rvy_wrapper_gap_large);
            gap: var(--rvy_wrapper_gap);
            align-items: center;
            justify-content: center;
            order: 2;
        }
            .simple-carousel-images .tns-nav > button {
                margin: 0!important;
                padding: 0!importan;
            }

    /* Buttons */
    .tns-outer .tns-nav {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
        z-index: 10;
    }
    .tns-outer .tns-nav > button {
        margin: 0 10px;
        padding: 0;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: 1px solid var(--rvy_color_dark);
        background-color: transparent;
    }
    .tns-outer .tns-nav > button.tns-nav-active {
        background-color: var(--rvy_color_dark);
    }

    .no-nav .tns-outer .tns-nav {
        display: none!important;
    }

    /* Arrows */
    .tns-outer .tns-controls {
        position: relative;
        margin: 0 auto;
        order: 2;
        width: 100%;
        height: 45px; /* la misma altura que los botones */
        max-width: var(--rvy_max_width);
    }
        .tns-outer .tns-controls button {
            position: absolute;
            margin: 0;
            padding: 0;
            bottom: 0;
            width: 45px;
            height: 45px;
            border-radius: 50%;
            border: 1px solid var(--rvy_color_dark);
            background-color: transparent;
        }
            .tns-outer .tns-controls button > span {
                position: relative;
                display: block;
                width: 100%;
                height: 100%;
            }
                .tns-outer .tns-controls button > span:before {
                    position: absolute;
                    left: 10px;
                    top: 21px;
                    width: 25px;
                    height: 0;
                    content: '';
                    border-top: 2px solid var(--rvy_color_dark);
                }
                .tns-outer .tns-controls button > span:after {
                    position: absolute;
                    left: 10px;
                    top: 16px;
                    width: 10px;
                    height: 10px;
                    content: '';
                    transform: rotate(-135deg);
                    border-top: 2px solid var(--rvy_color_dark);
                    border-right: 2px solid var(--rvy_color_dark);
                }
                .tns-outer .tns-controls button[data-controls="next"] > span:after {
                    left: auto;
                    right: 10px;
                    transform: rotate(45deg);
                }

            .tns-outer .tns-controls button:hover {
                background-color: color-mix( in srgb, transparent, var(--rvy_color_dark) 10% );
            }
        .tns-outer .tns-controls button[data-controls="prev"] {
            left: 0;
            background-color: transparent;
        }
        .tns-outer .tns-controls button[data-controls="next"] {
            right: 0;
            background-color: transparent;
        }

    /* et_pb_gallery DIVI */
    .et_pb_slider > .et-pb-controllers {
        position: relative;
        left: auto;
        bottom: auto;
    }
        .et_pb_slider .et_pb_gallery_item {
            user-select: none;
        }
        .et_pb_slider > .et-pb-controllers > a {
            margin: 0 10px;
            padding: 0;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            border: 1px solid var(--rvy_color_dark);
            background-color: transparent;
        }
        .et_pb_slider > .et-pb-controllers > a.et-pb-active-control {
            background-color: var(--rvy_color_dark);
        }
    .et_pb_slider.no-arrows > .et-pb-slider-arrows {
        display: none;
    }

    /* et_pb_gallery DIVI */
    .et_pb_slider.area-doce-slide {
        overflow: visible;
    }
    .et_pb_slider.area-doce-slide .et_pb_gallery_item a {
        pointer-events: none;
        cursor: default;
    }
        .et_pb_slider.area-doce-slide .et_pb_gallery_item a > img {
            position: relative;
            display: block;
            margin: 0;
            width: 100%;
            aspect-ratio: 1/1;
            object-fit: cover;
            box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.4);
            border-radius: var(--rvy_wrapper_radius);
        }
        .et_pb_slider.area-doce-slide > .et-pb-controllers {
            position: absolute;
            bottom: var(--rvy_wrapper_gap);
            right: var(--rvy_wrapper_gap);
            left: auto;
            line-height: 1;
            width: fit-content;
        }

/*
-- MARK: CUSTOM SELECT
*/
.cs-dropdown {
    position: relative;
    display: inline-block;
    width: 230px;
    line-height: 15px;
    color: var(--rvy_color_text);
    font-size: 15px;
    text-transform: none;
    user-select: none;
    cursor: pointer;
    z-index: 1000;
}
    .cs-dropdown + .cs-dropdown {
        margin-left: var(--rvy_wrapper_gap);
        z-index: 999;  /* para evitar solapamientos en móvil */
    }
    .cs-dropdown + .cs-dropdown + .cs-dropdown { /* para evitar solapamientos en móvil */
        z-index: 998;
    }
    .cs-dropdown + .cs-dropdown + .cs-dropdown + .cs-dropdown { /* para evitar solapamientos en móvil */
        z-index: 997;
    }
    .cs-dropdown .cs-dropdown-selected {
        display: flex;
        gap: var(--rvy_wrapper_gap);
        align-items: center;
        justify-content: flex-start;;
        line-height: 35px;
        font-weight: 300;
        border-width: 0 0 1px 0;
        border-style: solid;
        border-color: var(--rvy_color_border);
    }
        .cs-dropdown .cs-dropdown-selected > .cs-dropdown-selected-value {
            display: block;
            flex: 1;
            padding: 0 10px;
            height: 35px;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
        }
        .cs-dropdown .cs-dropdown-selected > .cs-dropdown-selected-button {
            display: flex;
            width: 35px;
            height: 35px;
            padding: 0;
            margin-left: auto;
            content: '+';
            color: var(--rvy_color_border);
            text-align: center;
        }
            .cs-dropdown .cs-dropdown-selected > .cs-dropdown-selected-button:before {
                display: block;
                margin: 0 auto;
                content: '+';
                color: var(--rvy_color_border);
                font-size: 25px;
                font-weight: 300;
            }
            .cs-dropdown.open .cs-dropdown-selected > .cs-dropdown-selected-button:before {
                content: '-';
            }
    .cs-dropdown .cs-dropdown-options {
        position: absolute;
        display: none;
        top: 100%;
        left: 0;
        right: 0;
        list-style: none;
        margin: 0;
        padding: 0!important;
        background-color: var(--rvy_color_lighter);
        z-index: 100;
    }
    .cs-dropdown.open .cs-dropdown-options {
        display: block;
    }
        .cs-dropdown .cs-dropdown-options li.cs-dropdown-options-item {
            padding: 5px 10px;
            text-align: left;
        }
        .cs-dropdown .cs-dropdown-options li.cs-dropdown-options-item:hover {
            background-color: rgba(0, 0, 0, 0.1);
        }
            .cs-dropdown .cs-dropdown-options li.cs-dropdown-options-item > a {
                display: block;
                color: var(--rvy_color_text);
                font-weight: 300;
            }
            .cs-dropdown .cs-dropdown-options li.cs-dropdown-options-item:not(:nth-child(1)) {
                border-top: 1px dotted rgba(0, 0, 0, 0.3);
            }
    
    .is-header-bg .cs-dropdown,
    .is-header-bg .cs-dropdown .cs-dropdown-selected > .cs-dropdown-selected-value, 
    .is-header-bg .cs-dropdown .cs-dropdown-selected > .cs-dropdown-selected-button, 
    .is-header-bg .cs-dropdown .cs-dropdown-selected > .cs-dropdown-selected-button:before {
        color: #fff;
    }



    /* Intentamos posicionar los filtros a pesar de que su ubicación esté "flotada" */
    .custom-filter {
        /*position: absolute;
        display: inline-block;
        bottom: 0;*/
        z-index: 1100;
    }


/*
-- MARK: BUSCADOR 
*/
html:has(#ryv-search-modal.open),
html:has(#ryv-search-modal.open) body {
   overflow: hidden!important;
}
#ryv-search-modal {
    position: fixed; 
    inset: 0;
    opacity: 0;
    visibility: hidden;
    color: #fff; 
    transition: opacity .3s ease, visibility .3s ease;
    background-color: var(--ryv_color_primary);
    z-index: -1;
}
#ryv-search-modal.open {
  opacity: 1;
  visibility: visible;
  z-index: 999999;
}
    #ryv-search-modal .modal-content {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
    }
    #ryv-search-modal .modal-content .modal-content-close {
        position: absolute;
        top: var(--rvy_wrapper_gap_large);
        right: var(--rvy_wrapper_gap_large);
        font-size: var(--rvy_wrapper_gap_large);
        cursor: pointer; 
    }
    #ryv-search-modal .modal-content .modal-content-wrapper > h2 {
        margin: 0 auto;
        padding: 0;
        color: #fff;
        font-size: 48px;
        text-align: center;
    }
    #ryv-search-modal .modal-content .modal-content-wrapper .modal-content-form {
        width: 100vw;
        background-size: auto 100%;
        background-image: url(https://dev.cubicacomunicacion.com/proyectos/reyvi-wp/wp-content/uploads/2025/09/footer-bg.png);
        background-repeat: repeat-x;
        
        min-height: 160px;
    }
        #ryv-search-modal .modal-content #rvy-search-form {
            display: flex;
            flex-direction: column;
            margin: 0 auto;
            padding: var(--rvy_wrapper_gap_extra);
            gap: 10px;
            align-items: center;
            justify-content: center;
            width: 100%;
            max-width: 490px;
            background-color: var(--ryv_color_primary);
        }
            #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-options {
                display: flex;
                flex-direction: column;
                gap: 5px;
            }
                #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-options > label {
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: flex-start;
                    color: #fff;
                    gap: 5px;
                }
                    #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-options > label > span {
                        min-width: 100px;
                    }
            #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-search {
                margin-bottom: var(--rvy_wrapper_gap_large);
                width: 100%;
            }
                #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-search .form-field {
                    color: #fff;
                    width: 100%;
                    max-width: 100%;
                    font-size: 14px;
                    font-weight: 300;
                }
                #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-search .form-field::placeholder {
                    color: rgba( 255, 255, 255, 0.75);
                    font-size: 13px;
                    font-weight: 300;
                }
            #ryv-search-modal .modal-content #rvy-search-form .rvy-search-form-submit {

            }
        
/*
-- MARK: NUMBERS ITEMS
*/
.numbers-list {
    display: flex;
    width: fit-content;
    gap: var(--rvy_wrapper_gap_extra);
    align-items: center;
    justify-content: center;
}
    .numbers-list .et_pb_column {
        margin-bottom: 0!important;
    }
        .et_pb_number_counter.numbers-plus .title {
            white-space: nowrap;
        }
        .et_pb_number_counter.numbers-plus .percent {
            margin-bottom: 10px;
        }
        .et_pb_number_counter.numbers-plus .percent .percent-value:before {
            content: '+';
        }



/*
-- MARK: LÍNEA TEMPORAL 
*/
.dondivi_timeline .ddb-timeline > .ddb-timeline-bar {
    background-color: var(--rvy_color_light);
}

.dondivi_timeline .ddb-timeline-event .ddb-event-label {
    color: var(--rvy_color_light);
    font-family: 'Antonio';
    font-size: 55px;
    font-weight: 300;
}
.dondivi_timeline .ddb-timeline-event .ddb-event-line > .ddb-event-item {
    background-color: var(--rvy_color_light);
}
.dondivi_timeline .ddb-timeline-event .ddb-card {
    
}
.dondivi_timeline .ddb-timeline-event .ddb-card .ddb-card-content {
    padding: var(--rvy_wrapper_gap_large);
    border-radius: var(--rvy_wrapper_radius);
    background-color: var(--rvy_color_lighter);
}
    .dondivi_timeline .ddb-timeline-event .ddb-card .ddb-card-content .ddb-custom-timeline-item {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;;
        gap: var(--rvy_wrapper_gap_large);
    }
        .dondivi_timeline .ddb-timeline-event .ddb-card .ddb-card-content .ddb-custom-timeline-item > .ddb-timeline-item-image-icon {
            flex: auto;
            height: 145px;
            width: 145px;
            min-width: 145px;
            object-fit: cover;
            filter: saturate(0);
            border-radius: 50%;
        }
        .dondivi_timeline .ddb-timeline-event .ddb-card .ddb-card-content .ddb-custom-timeline-item > .ddb-content > .ddb-timeline-item-body {
            margin: 0;
        }



/*
-- MARK: NOTICIAS 
*/

/** ARCHIVE **/
.listado-de-posts .post-list-wrapper {
    --gap: var(--rvy_wrapper_gap_large);
    --columns: 3; /* Cambiando aquí a 2 se recalcula automáticamente */
    --columns_width: calc((100% / var(--columns)) - ((var(--gap) * (var(--columns) - 1)) / var(--columns)));
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: var(--gap);
}
    .listado-de-posts .post-list-wrapper .post-list-item,
    .post-list .post-list-wrapper .post-list-item {
        display: flex;
        flex-direction: column;
        gap: var(--rvy_wrapper_gap);
        flex: 0 0 var(--columns_width); /* ancho de cada columna */
        width: var(--columns_width);
        overflow: hidden;
    }
        .listado-de-posts .post-list-wrapper .post-list-item .entry-featured-image-url,
        .post-list .post-list-wrapper .post-list-item .entry-featured-image-url {
            display: block;
            margin: 0;
            width: 100%;
            aspect-ratio: 16/9;
            border-radius: var(--rvy_wrapper_radius);
            order: 1;
            overflow: hidden;
        }

            .listado-de-posts .post-list-wrapper .post-list-item .entry-featured-image-url > img,
            .post-list .post-list-wrapper .post-list-item .entry-featured-image-url > img {
                display: block;
                margin: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: all 0.2s;
            }

            .listado-de-posts .post-list-wrapper .post-list-item .entry-featured-image-url:hover > img,
            .post-list .post-list-wrapper .post-list-item .entry-featured-image-url:hover > img {
                transform: scale(1.2);
            }

        .listado-de-posts .post-list-wrapper .post-list-item .entry-title,
        .post-list .post-list-wrapper .post-list-item .entry-title {
            margin: 0;
            padding: 0;
            line-height: 1.2;
            font-size: 34px;
            color: var(--rvy_color_text);
            order: 3;
        }

        .listado-de-posts .post-list-wrapper .post-list-item .post-taxonomy,
        .post-list .post-list-wrapper .post-list-item .post-taxonomy {
            display: flex;
            flex-wrap: wrap;
            margin-top: 0;
            gap: 5px;
            line-height: 1;
            order: 2;
        }
             .listado-de-posts .post-list-wrapper .post-list-item .post-taxonomy > a,
            .post-list .post-list-wrapper .post-list-item .post-taxonomy > a {
                padding: 3px 10px;
                color: var(--rvy_color_tertiary);
                font-size: 11px;
                font-weight: 500;
                text-transform: uppercase;
                letter-spacing: 2%;
                border-radius: 50px;
                background-color: var(--rvy_color_light);
            }

        .listado-de-posts .post-list-wrapper .post-list-item .post-content,
        .post-list .post-list-wrapper .post-list-item .post-content {
            position: relative;
            order: 4;

        }

            .listado-de-posts .post-list-wrapper .post-list-item .post-content > .post-content-inner,
            .post-list .post-list-wrapper .post-list-item .post-content > .post-content-inner {
                position: relative;
                display: -webkit-box;
                /*margin-top: auto;*/
                text-decoration: none;
                text-overflow: ellipsis;
                    -webkit-line-clamp: 3;
                    -webkit-box-orient: vertical;
                overflow: hidden;
            }

        .listado-de-posts .post-list-wrapper .post-list-item .more-link,
        .post-list .post-list-wrapper .post-list-item .more-link {
            display: block;
            margin: var(--rvy_wrapper_gap_small) auto 0 auto;
            width: 45px;
            height: 45px;
            line-height: 38px;
            color: var(--rvy_color_border);
            font-size: 28px;
            font-weight: 300;
            text-align: center;
            transition: all 0.2s;
            border-radius: 50%;
            border: 1px solid var(--rvy_color_border);
            order: 5;
        }

        .listado-de-posts .post-list-wrapper .post-list-item .more-link:hover,
        .post-list .post-list-wrapper .post-list-item .more-link:hover {
            color: var(--ryv_color_primary);
            border-color: var(--ryv_color_primary);
        }

    .recetas-carousel .post-list.is-receta .tns-outer .tns-ovh {
        margin-bottom: var(--rvy_wrapper_gap_large)!important;
    }



    /* Carousel */

    .posts-carousel.home-block-noticias .listado-de-posts .tns-inner {
        _margin: 0 calc( var(--rvy_wrapper_gap) * -1)!important;
        margin: 0!important;
        max-width: none;
    }

    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper {
        flex-wrap: nowrap!important;
        gap: var(--rvy_wrapper_gap_large);
        overflow: hidden;
    }

        .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item {
            flex: auto!important;
            width: calc(6.66667%);
            transition: all 0.2s;
        }
        .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-active {
            width: calc(5.66667%)!important;
        }
        .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-item-center {
            width: calc(8.66667%)!important;
        }
            .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper .post-list-item .post-taxonomy {
                margin-top: 0;
            }
        .posts-carousel.home-block-noticias .listado-de-posts .listado-de-cursos > .tns-outer {
            display: flex;
            flex-direction: column;
        }

            .posts-carousel.home-block-noticias .listado-de-posts .tns-outer .tns-controls {
                margin-top: var(--rvy_wrapper_gap_large)!important;
                max-width: var(--rvy_max_width_layout)!important;

            }

    



/** SINGLE **/
.ryv-single-post .ryv-single-post-content-image {
    margin-bottom: 30px!important;
}
    .ryv-single-post .ryv-single-post-content-title {
        margin-bottom: 40px!important;
    }

        .ryv-single-post .ryv-single-post-content-title .et_pb_title_container {
            display: flex;
            flex-direction: column;
        }

            .ryv-single-post .ryv-single-post-content-title .et_pb_title_meta_container {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                margin-bottom: 40px;
                gap: 10px 5px;
                line-height: 1;
                order: -1;
                align-items: center;
                justify-content: flex-start;
                font-size: 0;
                visibility: hidden;
            }
                .ryv-single-post .ryv-single-post-content-title .et_pb_title_meta_container .published  {
                    display: block;
                    flex: 0 auto;
                    margin-top: auto;
                    order: 2;
                    font-size: 11px;
                    font-weight: 500;
                    visibility: visible;
                }

                .ryv-single-post .ryv-single-post-content-title .et_pb_title_meta_container a {
                    display: block;
                    flex: 0 auto;
                    padding: 3px 10px;
                    order: 1;
                    color: var(--rvy_color_tertiary);
                    font-size: 11px;
                    font-weight: 500;
                    text-transform: uppercase;
                    letter-spacing: 2%;
                    visibility: visible;
                    border-radius: 50px;
                    background-color: var(--rvy_color_light);
                }
                .ryv-single-post .ryv-single-post-content-title .et_pb_title_meta_container a:nth-child(1) {
                    margin-left: 0;
                }
                .ryv-single-post .ryv-single-post-content-title .et_pb_title_meta_container a:last-child {
                    margin-right: auto;
                }

    .ryv-single-post .ryv-single-post-content-description .et_builder_inner_content > .et_pb_section, 
    .ryv-single-post .ryv-single-post-content-description .et_builder_inner_content > .et_pb_section > .et_pb_row {
        margin: 0!important;
        padding: 0!important;
    }

/* Share */
.ryv-single-post-content-share {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--rvy_wrapper_gap);
    padding: var(--rvy_wrapper_gap) 0;
    border-top: 1px solid var(--rvy_color_light);
    border-bottom: 1px solid var(--rvy_color_light);
}
    .ryv-single-post-content-share:before, 
    .ryv-single-post-content-share:after {
        position: absolute;
        margin-left: -6px;
        left: 50%;
        width: 12px;
        height: 12px;
        content: ''!important;
        border-radius: 50%;
        background-color: var(--rvy_color_light);
    }
    .ryv-single-post-content-share:before {
        top: -6px;
    }
    .ryv-single-post-content-share:after {
        bottom: -6px;
    }
        .ryv-single-post-content-share a {

        }
            .ryv-single-post-content-share a > span {
                padding: 7px;
                width: 35px!important;
                height: 35px!important;
                line-height: 35px!important;
                border-radius: 50%!important;
                background-color: var(--rvy_color_light)!important;
            }
                .ryv-single-post-content-share a > span > svg path {
                    fill: #fff!important;
                }

/*
-- MARK: TABLAS
*/
/* Estilos generales de la tabla */
.tabla-responsive {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
}
    .tabla-responsive th, 
    .tabla-responsive td {
        padding: 12px;
        border: 1px solid #ddd;
        text-align: left;
        vertical-align: top;
    }

    /* Estilo de la cabecera (Desktop) */
    .tabla-responsive th {
        background-color: #f4f4f4;
        font-weight: bold;
        color: #333;
    }

/* --- MEDIA QUERY PARA MÓVILES (Max 768px) --- */
@media screen and (max-width: 768px) {
    .tabla-responsive, .tabla-responsive thead, .tabla-responsive tbody, .tabla-responsive th, .tabla-responsive td, .tabla-responsive tr {
        display: block;
    }

    /* Ocultar la cabecera de la tabla en móvil (se usa data-label) */
    .tabla-responsive thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .tabla-responsive tr {
        border: 1px solid #ccc;
        margin-bottom: 15px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        background-color: #fff;
    }
        .tabla-responsive td {
            border: none;
            border-bottom: 1px solid #eee;
            position: relative;
            white-space: normal;
            text-align: left;
            display: block;
        }

    .tabla-responsive td:last-child {
        border-bottom: 0;
    }

    /* Insertar el título de la columna antes del contenido */
    .tabla-responsive td::before {
        display: block;
        content: attr(data-label);
        position: relative;
        width: 100%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        color: #555;
    }
}

.cky-audit-table-element h3 {
    font-size: 25px;
}


/*
-- MARK: CURSOS 
*/

/** ARCHIVE **/
.listado-de-cursos .post-list-wrapper {
    --gap: var(--rvy_wrapper_gap_large);
    --columns: 3; /* Cambiando aquí a 2 se recalcula automáticamente */
    --columns_width: calc((100% / var(--columns)) - ((var(--gap) * (var(--columns) - 1)) / var(--columns)));

    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: var(--rvy_wrapper_gap_large);
    gap: var(--rvy_wrapper_gap_large);
}
.listado-de-cursos.is-single .post-list-wrapper { /* para la modal/popup */
    --columns: 1;
    gap: 0;
}
.listado-de-cursos.is-minimal .post-list-wrapper {
    padding: 0;
}
    .listado-de-cursos .post-list-wrapper > .post-list-item {
        display: flex;
        flex-direction: row;
        gap: var(--rvy_wrapper_gap_large);
        padding: var(--rvy_wrapper_gap_large);
        flex: 0 0 var(--columns_width); /* ancho de cada columna */
        width: var(--columns_width);
        border-radius: var(--rvy_wrapper_radius);
        background-color: #fff;
        overflow: hidden;
    }
    .listado-de-cursos .post-list-wrapper > .post-list-item + .post-list-item.evento {
        background-color: #fff;
    }
    .listado-de-cursos.is-minimal .post-list-item.type-evento {
        overflow: visible;
    }
    .is-archive.listado-de-cursos .post-list-wrapper > .post-list-item {
        padding: 0;
        background-color: transparent;
    }
        .listado-de-cursos .post-list-item .type-curso-content {
            display: flex;
            flex-direction: column;
            flex: auto;
            height: 100%;
        }
        .is-archive.listado-de-cursos .post-list-item .type-curso-content {
            gap: var(--rvy_wrapper_gap);
        }
        .listado-de-cursos .post-list-item .type-curso-author {
            flex: 1;
            min-width: 235px;
        }

            /* Info del curso */
            .type-curso .type-curso-content-info {
                display: flex;
                flex-direction: row;
                gap: var(--rvy_wrapper_gap_small);
                margin-bottom: var(--rvy_wrapper_gap_small);
            }
            .is-archive .type-curso .type-curso-content-info {
                order: 3;
                margin: 0;
            }
            .type-curso .type-curso-content-info > .type-curso-content-info-code {
                color: var(--rvy_color_darker);
                font-size: 12px;
                font-weight: 500;
                text-transform: uppercase;
            }
            .type-curso .type-curso-content-info > em {
                margin: 0 5px;
                font-style: normal;
            }
            .type-curso .type-curso-content-info > .type-curso-content-info-tax {
                color: var(--rvy_color_darker);
                font-size: 12px;
                font-weight: 500;
                text-transform: uppercase;
            }
                .type-curso .type-curso-content-info > .type-curso-content-difficulty {
                    margin-left: auto;
                }
                .is-archive .type-curso .type-curso-content-info > .type-curso-content-difficulty {
                    margin-left: 0;
                }
                    .type-curso .type-curso-content-info > .type-curso-content-difficulty > .type-curso-content-difficulty-label {
                        margin-right: 10px;
                        color: var(--rvy_color_dark);
                        font-size: 12px;
                        font-weight: 700;
                        text-transform: uppercase;
                    }
                    .type-curso .type-curso-content-info > .type-curso-content-difficulty > em {
                        margin: 0;
                        color: var(--rvy_color_dark);
                        font-style: normal;
                        font-size: 15px;
                    }
            
            /* Titulo */
            .type-curso .type-curso-content .type-curso-content-name {
                margin: 0;
                padding: 0;
                line-height: 1.2;
                font-size: 40px;
            }
            .is-archive .type-curso .type-curso-content .type-curso-content-name {
                order: 2;
                font-size: 34px;
            }

            /* Author */
            .is-archive .type-curso .type-curso-content .type-curso-content-author {
                order: 5;
                margin: calc( var(--rvy_wrapper_gap) * -2 ) 0 0 0; /* margen negativo * 2 para saltarnos el gap del contenedor */
                padding: 0;
                font-size: var(--rvy_font_size);
                font-family: var(--rvy_text_font);
            }
                .is-archive .type-curso .type-curso-content .type-curso-content-author > .type-curso-content-author-label  {
                    margin-right: 5px;
                }

            /* Fechas */
            .type-curso .type-curso-content .type-curso-content-data-datetime {
                flex: 1 1 auto;
                margin: 10px 10px 15px 0;
                padding-left: 25px;
                color: var(--rvy_color_dark);
                font-size: 12px;
                font-style: normal;
                max-height: 30px;
                background-image: url(assets/images/ico-calendar.svg);
                background-position: 0 3px;
                background-size: 15px auto;
                background-repeat: no-repeat;
            }
            .is-archive .type-curso .type-curso-content .type-curso-content-data-datetime {
                order: 4;
                margin-top: calc( var(--rvy_wrapper_gap) * -1 );
                margin-bottom: 0;
            }
            .is-archive .type-curso .type-curso-content .type-curso-content-author + .type-curso-content-data-datetime {
                margin-bottom: 15px;
            } 
                .type-curso .type-curso-content .type-curso-content-data-datetime > em {
                    display: none;
                    margin: 0 7px;
                    font-style: normal;
                }
                .type-curso .type-curso-content .type-curso-content-data-datetime > .type-curso-content-data-datetime-date > span {
                    display: none;
                }
                .type-curso .type-curso-content .type-curso-content-data-datetime > .type-curso-content-data-datetime-time {
                    display: block;
                    margin-top: 3px;
                    line-height: 1;
                }



            /* Descripción */
            .type-curso .type-curso-content > .type-curso-content-description {
                position: relative;
                margin-bottom: auto;
                padding-bottom: var(--rvy_wrapper_gap_large);
            }
            .is-archive .type-curso .type-curso-content > .type-curso-content-description {
                order: 6;
                margin-top: auto;
            }
                .type-curso .type-curso-content > .type-curso-content-description > .type-curso-content-description-inner {
                    position: relative;
                    display: -webkit-box;
                    text-overflow: ellipsis;
                    -webkit-line-clamp: 3;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                }

            /* Colaborador + CTA */
            .type-curso .type-curso-content > .type-curso-content-cta {
                display: flex;
                flex-direction: row;
                gap: var(--rvy_wrapper_gap);
                align-items: flex-end;
                justify-content: flex-start;
            }
            .is-archive .type-curso .type-curso-content > .type-curso-content-cta {
                order: 7;
            }
                .type-curso .type-curso-content > .type-curso-content-cta .type-curso-content-cta-link {
                    margin-left: auto;
                }
                .is-archive .type-curso .type-curso-content > .type-curso-content-cta .type-curso-content-cta-link {
                    margin-left: 0;
                }
                .type-curso .type-curso-content > .type-curso-content-cta img {
                    max-height: 75px;
                    width: auto;
                }

        /* Formador */
        .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item {
            display: flex;
            flex-direction: column;
            gap: var(--rvy_wrapper_gap);
            align-items: center;
            height: 100%;
        }
            .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media {
                position: relative;
                margin: 0 auto;
                width: fit-content;
            }
                .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media > .type-curso-author-item-image {
                    position: relative;
                    flex: 0 0 auto;
                    align-self: flex-start;
                }
                    .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media > .type-curso-author-item-image img {
                        display: block;
                        width: 105px;
                        height: 105px;
                        object-fit: cover;
                        border-radius: 50%;
                        filter: var(--rvy_filter_autor_images);
                        background-color: rgb(195, 170, 140);
                        overflow: hidden;
                    }

                .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media > .ornm-01,
                .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media > .ornm-02 {
                    position: absolute;
                    bottom: -15px;
                    z-index: 20;
                }  
                .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media > .ornm-01 {
                    left: -15px;
                }
                .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-media > .ornm-02 {
                    right: -5px;
                }

            .listado-de-cursos .post-list-item .type-curso-author {
                position: relative;
            }
                .listado-de-cursos .post-list-item.type-evento .type-curso-author .type-curso-author-item > .type-curso-author-item-cover {
                    width: 100%;
                    height: 100%;
                }
                    .listado-de-cursos .post-list-item.type-evento .type-curso-author .type-curso-author-item > .type-curso-author-item-cover > img {
                        display: block;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }

            .listado-de-cursos .post-list-item .type-curso-cover {
                position: relative;
                display: flex;
                flex-direction: column;
                gap: var(--rvy_wrapper_gap);
                overflow: hidden;
            }
                .listado-de-cursos .post-list-item .type-curso-cover > img {
                    display: block;
                    margin: 0;
                    padding: 0;
                    flex: 1;
                    width: 100%;
                    height: auto;
                    border-radius: var(--rvy_wrapper_radius);
                    object-fit: cover;
                }

            /* Autor */
            .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-title {
                display: flex;
                flex-direction: column;
                margin: 0;
                padding: 0;
                line-height: 1.1;
                color: var(--rvy_color_dark);
                font-family: Inter;
                font-weight: 600;
                font-size: 12px;
                text-transform: uppercase;
                text-align: center;
            }
            .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-description {
                position: relative;
                margin-bottom: auto;
                display: -webkit-box;
                text-overflow: ellipsis;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item .type-curso-author-item-cta {
                margin-top: auto;
            }

        .no-cursos-message {
            margin: var(--rvy_wrapper_gap_extra) auto 0 auto;
            max-width: var(--rvy_max_width_layout);
        }
            .no-cursos-message .no-cursos-message-content {
                margin: 0 auto;
                padding: var(--rvy_wrapper_gap_extra);
                max-width: var(--rvy_max_width); 
                border-radius: var(--rvy_wrapper_radius);
                overflow: hidden
            }
            .no-cursos-message .no-cursos-message-content.has-bg-image {
                position: relative;
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat; 
            }
            .no-cursos-message .no-cursos-message-content.has-bg-image:before {
                position: absolute;
                inset: 0;
                content: ''!important;
                background-color: rgba(0, 0, 0, 0.5);
                z-index: 1;
            }
                .no-cursos-message .no-cursos-message-content.has-bg-image > * {
                    position: relative;
                    z-index: 2;
                }
                .no-cursos-message .no-cursos-message-content .no-cursos-title {
                    color: #fff;
                    font-size: 40px;
                    text-align: center;
                }
                .no-cursos-message .no-cursos-message-content .no-cursos-description {
                    color: #fff;
                    text-align: center;
                }
                    .no-cursos-message .no-cursos-message-content .no-cursos-description a {
                        color: #fff;
                        text-decoration: underline;
                    }

    /* minimal grid */
    .listado-de-cursos.is-minimal .post-list-wrapper > .post-list-item {
        padding: var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap);
        box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.4);
    }
    .listado-de-cursos.is-single .post-list-wrapper > .post-list-item {
        padding: 0;
        box-shadow: none;
        background-color: transparent;
    }
        .listado-de-cursos.is-minimal .post-list-item .type-curso-author {
            min-width: 95px;
        }
        .listado-de-cursos.is-minimal .post-list-item.type-evento .type-curso-author {
            margin: calc( var(--rvy_wrapper_gap_large) * -1 ) calc( var(--rvy_wrapper_gap_large) * -1 ) calc( var(--rvy_wrapper_gap_large) * -1 ) auto;
        }
            .listado-de-cursos.is-minimal .post-list-item .type-curso-content .type-curso-content-name {
                font-size: 23px;
            }
            .listado-de-cursos.is-minimal .post-list-item .type-curso-content .type-curso-content-type {
                font-size: 18px;
                color: var(--rvy_color_dark);
                font-size: 11px;
                font-weight: 500;
            }
                .listado-de-cursos.is-minimal .post-list-item .type-curso-content .type-curso-content-type > span {
                    position: relative;
                    margin-right: 10px;
                    padding: 3px 10px;
                    color: var(--rvy_color_tertiary);
                    font-size: 11px;
                    font-weight: 500;
                    text-transform: uppercase;
                    letter-spacing: 2%;
                    border-radius: 50px;
                    background-color: var(--rvy_color_light);
                }
            .listado-de-cursos.is-minimal .post-list-item .type-curso-content .type-curso-content-description {
                margin-bottom: 20px;
                line-height: 1.3;
            }
            .listado-de-cursos.is-minimal .post-list-item .type-curso-content .type-curso-content-author {
                display: flex;
                flex-direction: row;
                margin: 10px 0;
                padding: 0;
                gap: 5px;
                line-height: 1.1;
                color: var(--rvy_color_dark);
                font-family: Inter;
                font-weight: 600;
                font-size: 12px;
                text-transform: none;
                text-align: left;
            }
            .listado-de-cursos.is-minimal .post-list-item .type-curso-content > .type-curso-content-cta {
                margin-top: auto;
            }
                .listado-de-cursos.is-minimal .post-list-item .type-curso-content > .type-curso-content-cta .type-curso-content-cta-link {
                    margin-left: 0;
                    margin-right: auto;
                }
            .listado-de-cursos.is-minimal.post-list-item .type-curso-author .type-curso-author-item-media > .type-curso-author-item-image img {
                width: 95px;
                height: 95px;
            }
    

    /* Carousel */

    .cursos-carousel .listado-de-cursos .post-list-wrapper {

        flex-wrap: nowrap;

        overflow: hidden;

    }

        .cursos-carousel .listado-de-cursos .post-list-wrapper > .post-list-item {

            flex: auto;

        }

    

    .listado-de-cursos > .tns-outer {

        display: flex;

        flex-direction: column;

    }



    .listado-de-cursos .post-list-item.tns-slide-item-center {

        box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.15);

    }





/* SINGLE */

body.single-curso {
    background-color: var(--rvy_bg_secondary);
}

#rvy-curso {
    padding-top: 60px;
}

/* Logo DOCE */
.rvy-doce-logo {
    display: block;
    margin: 0 auto;
    width: 110px;
}
/* Cabecera del curso */
.rvy-single-header-title {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0 auto var(--rvy_wrapper_gap_large) auto;
    align-items: center;
    justify-content: center;
}
    /* Título */
    .rvy-single-title {
        margin: 0;
        color: #2d2d2d;
        font-size: 55px;
        text-align: center;
    }
    h3.rvy-single-title {
        margin: 0 auto var(--rvy_wrapper_gap_large) auto;
        color: #2d2d2d;
        font-size: 40px;
        text-align: center;
    }
    hr.rvy-spacer {
        position: relative;
        margin: var(--rvy_wrapper_gap_extra) auto;
        padding: 0;
        width: 100%;
        max-width: var(--rvy_max_width_reduced);
        border-width: 1px 0 0 0;
        border-style: solid;
        border-color: var(--rvy_color_light);
        overflow: visible;
    }
        hr.rvy-spacer:before {
            position: absolute;
            margin-left: -6px;
            left: 50%;
            top: -6px;
            width: 12px;
            height: 12px;
            content: '';
            border-radius: 50%;
            background-color: var(--rvy_color_light);
        }

    hr.rvy-spacer.regular {
        margin: var(--rvy_wrapper_gap) auto;
    }

    /* Descripción */
    .rvy-single-description {
        margin: 0 auto;
        max-width: var(--rvy_max_width);
        line-height: 1.2;
        color: var(--ryv_color_primary);
        font-size: 21px;
        font-weight: 300;
        text-align: center;
    }


    /* Meta */
    .rvy-single-meta .rvy-single-status {
        margin: 0 auto;
        padding: 5px 20px;
        color: var(--rvy_color_tertiary);
        font-size: 12px;
        font-weight: 400;
        text-transform: uppercase;
        border-radius: 50px;
    }
        .rvy-single-meta .rvy-single-status.s_disponible {
            color: #fff;
            background-color: var(--rvy_color_secondary);
        }

        .rvy-single-meta .rvy-single-status.s_finalizado,
        .rvy-single-meta .rvy-single-status.s_closed {
            color: #fff;
            background-color: var(--rvy_color_dark);
        }
        .rvy-single-meta .rvy-single-status.s_completo {
            color: #000;
            background-color: var(--rvy_color_mustard);
            
        }
        .rvy-single-meta .rvy-single-status.s_proceso {
            color: #fff;
            background-color: var(--ryv_color_primary);
        }

/* Wrapper de contenido */
.rvy-single-content-wrapper {
    display: flex;
    flex-direction: row;
    margin-bottom: var(--rvy_wrapper_gap_large);
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.15);
    border-radius: var(--rvy_wrapper_radius);
    background-color: var(--rvy_bg_primary);
    overflow: hidden;
}
    /* Imagen del curso */
    .rvy-single-content-wrapper > .rvy-single-content-media {
        flex: auto;
        width: 50%;
    }
        .rvy-single-content-media-image {
            height: 100%;
        }
            .rvy-single-content-media-image > img {
                display: block;
                margin: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: 0 50%;
            }

    /* Contenido del curso */
    .rvy-single-content-wrapper > .rvy-single-content-data {
        flex: auto;
        width: 50%;
        padding: 60px;
    }
        /* Referencia, categoría y dificultad */
        .rvy-single-content-data-info {
            display: flex;
            flex-direction: row;
            gap: var(--rvy_wrapper_gap);
            margin-bottom: var(--rvy_wrapper_gap);
        }
            /* Referencia y Categoría del curso */
            .rvy-single-content-data-info-data > span {
                color: var(--rvy_color_darker);
                font-size: 12px;
                font-weight: 500;
                text-transform: uppercase;
            }
            /* Separador */
            .rvy-single-content-data-info-data > em {
                margin: 0 10px;
                font-style: normal;
            }
            
            /* Dificultad del curso */
            .rvy-single-content-data-info-difficulty {
                margin-left: auto;
            }
                .rvy-single-content-data-info-difficulty > span {
                    margin-right: 10px;
                    color: var(--rvy_color_dark);
                    font-size: 12px;
                    font-weight: 700;
                    text-transform: uppercase;
                }
                /* Separador */
                .rvy-single-content-data-info-difficulty > em {
                    margin: 0;
                    color: var(--rvy_color_dark);
                    font-style: normal;
                    font-size: 15px;
                }

            /* Fechas del curso */
            .rvy-single-content-data-datetime {
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                gap: 5px;
                margin-bottom: var(--rvy_wrapper_gap);
                padding-left: 25px;
                color: var(--rvy_color_dark);
                font-size: 12px;
                font-weight: 500;
                background-image: url(assets/images/ico-calendar.svg);
                background-position: 0 3px;
                background-size: 15px auto;
                background-repeat: no-repeat;
            }
                .rvy-single-content-data-datetime-label {
                    flex: 0 0 auto;
                    margin-right: 10px;
                    text-transform: uppercase;
                }

                .rvy-single-content-data-datetime-content {
                    flex: auto;
                }
                .rvy-single-content-data-datetime-content span.custom-date {
                    display: block;
                    position: relative;
                }
                /*.rvy-single-content-data-datetime-content .rvy-single-content-data-date > span.custom-date:nth-child(1) {
                    top: 5px;
                }*/

            

            /* Formador */
            .rvy-single-content-data-author {
                display: flex;
                flex-direction: row;
                gap: var(--rvy_wrapper_gap_large);
                margin-bottom: var(--rvy_wrapper_gap);
                padding-top: var(--rvy_wrapper_gap_large);
                padding-bottom: var(--rvy_wrapper_gap_large);
                border-top: 1px solid var(--rvy_color_light);
                border-bottom: 1px solid var(--rvy_color_light);
            }

                /* Imagen del formador */
                .rvy-single-content-data-author-media {
                    position: relative;
                    flex: 0 0 auto;
                    align-self: flex-start;
                }
                    .rvy-single-content-data-author-media .rvy-single-content-data-author-image {
                        width: 105px;
                        height: 105px;
                        border-radius: 50%;
                        _background-color: color-mix( in srgb, var(--rvy_color_dark) 100%, #fff 50%);
                        background-color: #C3AA8C;
                        overflow: hidden;
                    }
                        .rvy-single-content-data-author-image > img {
                            display: block;
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            filter: var(--rvy_filter_autor_images);
                        }
                        .rvy-single-content-data-author-media .ornm-01, 
                        .rvy-single-content-data-author-media .ornm-02 {
                            position: absolute;
                            bottom: -15px;
                            z-index: 20;
                        }
                        .rvy-single-content-data-author-media .ornm-01 {
                            left: -15px
                        }
                        .rvy-single-content-data-author-media .ornm-02 {
                           right: -15px
                        }

                /* Datos del formador */
                .rvy-single-content-data-author-title {
                    color: var(--rvy_color_dark);
                    font-family: Inter;
                    font-weight: 600;
                    font-size: 12px;
                    text-transform: uppercase;
                }
                    .rvy-single-content-data-author-label {
                        margin-right: 5px;
                    }
                .rvy-single-content-data-author-description {
                    margin-bottom: var(--rvy_wrapper_gap);
                    line-height: 1.3;
                    color: var(--rvy_color_dark);
                    font-style: italic;
                    font-weight: 300;
                    font-size: 13px;
                }
                

    /* Descripción del curso */
    .rvy-single-content-data-description {
        margin-bottom: var(--rvy_wrapper_gap);
    }

/* CTA */
.rvy-single-content-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--rvy_wrapper_gap_large);
}

    .rvy-single-content-cta .rvy-single-content-cta-about {
        margin-left: 0;
        margin-right: auto;
    }
    .rvy-single-content-cta .rvy-single-content-cta-suscription {
        margin-right: auto;
        margin-left: auto;
    }


/* RRSS */





/* Related */

#rvy-single-related-items {

    position: relative;

    margin-left: calc( 50% - 50vw );

    width: 100vw;

}



/* Detalles */
.rvy-single-content-data-details {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: var(--rvy_wrapper_gap);
    padding: var(--rvy_wrapper_gap_large) 0;
    align-items: flex-start;
    border-top: 1px solid var(--rvy_color_light);
    border-bottom: 1px solid var(--rvy_color_light);
}
    .rvy-single-content-data-details:before,
    .rvy-single-content-data-details:after {
        position: absolute;
        margin-left: 6px;
        left: 50%;
        width: 12px;
        height: 12px;
        content: '';
        border-radius: 50%;
        background-color: var(--rvy_color_light);
    }
        .rvy-single-content-data-details:after {
            bottom: -6px;
        }
        .rvy-single-content-data-details:before {
            top: -6px;
        }
    .rvy-single-content-data-details-list {
        flex: 2;
    }
        .rvy-single-content-data-details-list dl {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: var(--rvy_wrapper_gap_small) var(--rvy_wrapper_gap);
            padding-left: 25px;
            line-height: 1.3;
            color: var(--rvy_color_dark);
            font-weight: 400;
            font-size: 13px;

            background-image: url(assets/images/ico-info.svg);
            background-position: 0 0;
            background-size: 15px auto;
            background-repeat: no-repeat;
        }
            .rvy-single-content-data-details-list dt {
                margin: 0;
                flex: 1 1 33%;
                font-weight: 600;
                text-transform: uppercase;
            }
            .rvy-single-content-data-details-list dd {
                margin: 0;
                flex: 1 1 33%;
            }
            .rvy-single-content-data-details-list dt.help {
                line-height: 1;
                font-size: 11px;
                text-transform: uppercase;
            }
            .rvy-single-content-data-details-list dd.help {
                line-height: 1;
                font-size: 11px;
                font-weight: 300;
                cursor: help
            }

    .rvy-single-content-data-details-collaboration {
        flex: 1;
        margin: auto;
    }


    /* Galería de imágenes */
    #rvy-single-summary-gallery .tns-ovh {
        padding: 50px 0;
        overflow: hidden;
    }
        #rvy-single-summary-gallery-items > li {
            transition: all 0.3s;
        }
        #rvy-single-summary-gallery-items > .tns-slide-active.tns-slide-item-center {
            position: relative;
            transform: scale(1.3);
            z-index: 40;
        }
            #rvy-single-summary-gallery-items > .rvy-single-summary-gallery-item img {
                display: block;
                margin: 0;
                width: 100%;
                height: 100%;
                aspect-ratio: 1/1;
                object-fit: cover;
                border-radius: var(--rvy_wrapper_radius);
            }
            
    #rvy-single-summary-video {
        margin-bottom: 0;
    }
        #rvy-single-summary-video > .rvy-single-summary-video-item {
            margin: 0 auto;
            max-width: var(--rvy_max_width);
            border-radius: var(--rvy_wrapper_radius);
            overflow: hidden;
        }

    #rvy-single-summary-video {
        margin-bottom: var(--rvy_wrapper_gap_large);
    }

    /* RESUMEN */
    #rvy-single-summary-resumen {
        margin-bottom: var(--rvy_wrapper_gap_large);
    }
        #rvy-single-summary-resumen > .rvy-single-summary-resumen-item {
            margin: 0 auto;
            max-width: var(--rvy_max_width);
            text-align: center;
            text-wrap: balance;
            border-radius: var(--rvy_wrapper_radius);
            overflow: hidden;
        }

/*
-- MARK: FORMADORES
*/
.curso-autores-list .curso-autores-list-wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: var(--rvy_wrapper_gap_extra);
}
    .curso-autores-list .curso-autores-list-wrapper .curso-autor-item {
        display: flex;
        flex-direction: column;
        margin: 0!important;
        padding: 0!important;
        gap: var(--rvy_wrapper_gap);
    }
        .curso-autores-list .curso-autores-list-wrapper .curso-autor-item-image img {
            display: block;
            margin: 0 auto;
            width: 125px;
            height: auto;
            aspect-ratio: 1/1;
            object-fit: cover;
            border-radius: 50%;
            filter: var(--rvy_filter_autor_images);
            background-color: rgb(195, 170, 140);
            overflow: hidden;
        }
    .curso-autores-list .curso-autores-list-wrapper .curso-autor-item-title {
        margin: 0;
        color: var(--rvy_color_dark);
        font-family: Inter;
        font-size: 14px;
        text-align: center;
    }



    /* CARRUSEL */
    .carousel-autor .curso-autores-list-wrapper {
        position: relative;
        padding: 0 var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap_large);
    }
        .carousel-autor .tns-outer .tns-ovh {
            margin: 0 60px!important;
        }
        .carousel-autor .tns-outer .tns-ovh .curso-autor-item a {
            pointer-events: none!important;
        }
            .carousel-autor .tns-outer .tns-ovh > .tns-inner {
                margin: 0!important; 
            }
            .carousel-autor .curso-autores-list .tns-controls {
                position: absolute;
                margin-top: -55px; /* 45px de alto del botón + 10px de espacio */
                top: 50%;
                transform: translate(0,50%);
            }
                .carousel-autor .curso-autores-list .tns-controls button[data-controls="prev"] {
                    left: 0;
                }
                .carousel-autor .curso-autores-list .tns-controls button[data-controls="next"] {
                    right: 0;
                }
       

/*
-- MARK: RECETAS 
*/

/** ARCHIVE **/
.listado-de-recetas > .post-list-wrapper {
    --gap: var(--rvy_wrapper_gap_large);
    --columns: 3; /* Cambiando aquí a 2 se recalcula automáticamente */
    --columns_width: calc((100% / var(--columns)) - ((var(--gap) * (var(--columns) - 1)) / var(--columns)));

    display: flex;
    flex-wrap: wrap;
    gap: var(--rvy_wrapper_gap_large);
}
    .listado-de-recetas > .post-list-wrapper > .post-list-item {
        display: flex;
        flex-direction: column;
        gap: var(--rvy_wrapper_gap);
        flex: 0 0 var(--columns_width); /* ancho de cada columna */
    }
    .listado-de-recetas > .post-list-wrapper > .post-list-item .entry-featured-image-url {
        display: block;
        margin: 0;
        width: 100%;
        aspect-ratio: 16/9;
        border-radius: var(--rvy_wrapper_radius);
        overflow: hidden;
    }

        .listado-de-recetas > .post-list-wrapper > .post-list-item .entry-featured-image-url > img {
            display: block;
            margin: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: all 0.2s;
        }
        .listado-de-recetas > .post-list-wrapper > .post-list-item .entry-featured-image-url:hover > img {
            transform: scale(1.2);
        }
    .listado-de-recetas > .post-list-wrapper > .post-list-item .entry-title {
        margin: 0;
        padding: 0;
        line-height: 1.2;
        font-size: 34px;
        color: var(--rvy_color_text);
    }
    .listado-de-recetas > .post-list-wrapper > .post-list-item .post-taxonomy {
        margin-top: 0;
    }
        .listado-de-recetas > .post-list-wrapper > .post-list-item .post-taxonomy > a {
            padding: 3px 10px;
            color: var(--rvy_color_tertiary);
            font-size: 11px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 2%;
            border-radius: 50px;
            background-color: var(--rvy_color_light);
        }
        .listado-de-recetas > .post-list-wrapper > .post-list-item .post-taxonomy > a + a {
            margin-left: 10px;
        }

    .listado-de-recetas > .post-list-wrapper > .post-list-item .post-content {
        position: relative;
        display: -webkit-box;
        margin-top: auto;
        text-decoration: none;
        text-overflow: ellipsis;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .listado-de-recetas > .post-list-wrapper > .post-list-item .more-link {
        display: block;
        margin: var(--rvy_wrapper_gap_small) auto 0 auto;
        width: 45px;
        height: 45px;
        line-height: 38px;
        color: var(--rvy_color_border);
        font-size: 28px;
        font-weight: 300;
        text-align: center;
        transition: all 0.2s;
        border-radius: 50%;
        border: 1px solid var(--rvy_color_border);
    }
    .listado-de-recetas > .post-list-wrapper > .post-list-item .more-link:hover {
        color: var(--ryv_color_primary);
        border-color: var(--ryv_color_primary);
    }


/** SINGLE **/

/* Wrapper */

.rvy-single-receta-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--rvy_wrapper_gap);
    margin: 0 auto;
    max-width: 768px;
}
    .rvy-single-receta-wrapper .rvy-single-header-title {
        margin: 0 auto ;
    }
    .rvy-single-receta-wrapper .rvy-single-receta-data-content {
        margin-bottom: var(--rvy_wrapper_gap_large);
        font-style: italic;
    }


/* Media */
.rvy-single-receta-media-image {
    border-radius: var(--rvy_wrapper_radius);
    overflow: hidden;
}
    .rvy-single-receta-media-image > img {
        display: block;
        margin: 0;
    }

/* Header title */
.rvy-single-receta-wrapper .rvy-single-header-title {
    align-items: flex-start;
    width: 100%;
}
    .rvy-single-receta-wrapper .rvy-single-header-title .rvy-single-title {
        width: 100%;
        font-size: 40px;
        text-align: left;
    }
    .rvy-single-header-title > .rvy-single-tax {
        position: relative;
    }
        .rvy-single-header-title > .rvy-single-tax > a {
            margin-top: auto;
            padding: 3px 10px;
            color: var(--rvy_color_tertiary);
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2%;
            border-radius: 50px;
            background-color: var(--rvy_color_light);
        }

/* Content */
.rvy-single-receta-data-content {
    margin-bottom: var(--rvy_wrapper_gap);
}

/* Info */
.rvy-single-receta-data-info {
    display: flex; 
    flex-direction: row;
    margin-bottom: var(--rvy_wrapper_gap);
    padding: var(--rvy_wrapper_gap) 0 var(--rvy_wrapper_gap) calc( var(--rvy_wrapper_gap_large) + 60px );
    gap: var(--rvy_wrapper_gap_large);
    border-top: 1px solid var(--rvy_color_light);
    border-bottom: 1px solid var(--rvy_color_light);
    background-image: url(assets/images/icon-recetas-info.svg);
    background-position: 0 center;
    background-repeat: no-repeat;
    background-size: 60px auto;
}
    .rvy-single-receta-data-info > div:not(:nth-child(1)) {
        padding-left: var(--rvy_wrapper_gap_large);
        border-left: 1px solid var(--rvy_color_light);
    }
    .rvy-single-receta-data-info-label {
        display: block;
        color: var(--rvy_color_light);
        font-weight: 700;
        text-transform: uppercase;

    }
    .rvy-single-receta-data-info-value {
        font-weight: 400;
        text-transform: uppercase;
    }

/* Ingredientes */
.rvy-single-receta-data-ingredientes {
    display: flex;
    flex-direction: row;
    margin-bottom: var(--rvy_wrapper_gap_large);
    padding: 0 0 var(--rvy_wrapper_gap_large) calc( var(--rvy_wrapper_gap_large) + 60px );
    gap: var(--rvy_wrapper_gap_large);
    border-bottom: 1px solid var(--rvy_color_light);
    background-image: url(assets/images/icon-recetas-list.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 60px auto;
}
    .rvy-single-receta-data-ingredientes > ul {
        flex: auto;
        margin: 0;
        padding: 0;
        list-style: none;
    }
        .rvy-single-receta-data-ingredientes > ul > li {
            margin: 0;
            padding: 0;
        }
        .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-label {
            display: block;
            color: var(--rvy_color_light);
            font-weight: 700;
            text-transform: uppercase;
        }
        .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-value + li.rvy-single-receta-data-ingredientes-label {
            margin-top: 30px;
        }
        .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-value {
            position: relative;
            padding-left: var(--rvy_wrapper_gap);
        }
            .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-value:before {
                content: '';
                position: absolute;
                top: 13px;
                left: 0;
                width: 4px;
                height: 4px;
                border-radius: 50%;
                background-color: var(--rvy_color_text);
            }
                .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-value a {
                    display: flex;
                    width: fit-content;
                    gap: 10px;
                    align-items: flex-start;
                    color: var(--ryv_color_primary);
                    text-decoration: none;
                }
                .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-value a:hover {
                    text-decoration: underline;
                }
                .rvy-single-receta-data-ingredientes > ul > li.rvy-single-receta-data-ingredientes-value a:after {
                    position: relative;
                    flex: 0 0 auto;
                    top: 7px;
                    width: 14px;
                    height: 14px;
                    content: '';
                    background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M384%2032c35.3%200%2064%2028.7%2064%2064l0%20320c0%2035.3-28.7%2064-64%2064L64%20480c-35.3%200-64-28.7-64-64L0%2096C0%2060.7%2028.7%2032%2064%2032l320%200zM272%20296c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-112c0-13.3-10.7-24-24-24l-112%200c-13.3%200-24%2010.7-24%2024s10.7%2024%2024%2024l54.1%200-103%20103c-9.4%209.4-9.4%2024.6%200%2033.9s24.6%209.4%2033.9%200l103-103%200%2054.1z%22%20fill%3D%22%23005850%22%2F%3E%3C%2Fsvg%3E);
                    background-repeat: no-repeat;
                    background-position: 0 0;
                    background-size: auto;
                }

    .rvy-single-receta-data-ingredientes > .rvy-single-receta-data-related {
        width: 200px;
    }

        .rvy-single-receta-data-related .rvy-single-receta-data-related-image {
            margin-bottom: var(--rvy_wrapper_gap);
            width: 100%;
            aspect-ratio: 1/1;
            border-radius: var(--rvy_wrapper_radius);
            overflow: hidden;
        }
            .rvy-single-receta-data-related .rvy-single-receta-data-related-image > img {
                display: block;
                margin: 0;
                width: 100%;
                height: 100%;
                transition: all 0.2s;
                object-fit: cover;
            }
            .rvy-single-receta-data-related:hover .rvy-single-receta-data-related-image > img {
                transform: scale(1.2);
            }

        .rvy-single-receta-data-related .rvy-single-receta-data-related-name {
            line-height: 1.2;
            font-size: 20px;
            text-align: center;
            transition: all 0.2s;
        }

        .rvy-single-receta-data-related:hover .rvy-single-receta-data-related-name {
            color: var(--rvy_color_light);
        }



/* Preparación */
.rvy-single-receta-data-preparacion {
    margin-bottom: var(--rvy_wrapper_gap_large);
}
    .rvy-single-receta-data-preparacion > .rvy-single-receta-data-preparacion-label {
        display: block;
        margin-bottom: var(--rvy_wrapper_gap_large);
        padding: 0;
        color: var(--rvy_color_light);
        font-weight: 700;
        font-size: 15px;
        font-family: Inter;
        text-transform: uppercase;
    }
    .rvy-single-receta-data-preparacion-content iframe {
        border-radius: var(--rvy_wrapper_radius);
        overflow: hidden;
    }



/* Share */
.rvy-single-receta-share,
.rvy-single-content-share {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--rvy_wrapper_gap);
    padding: var(--rvy_wrapper_gap) 0;
    border-top: 1px solid var(--rvy_color_light);
    border-bottom: 1px solid var(--rvy_color_light);
}
.rvy-single-content-share {
    margin-bottom: 0;
    padding: var(--rvy_wrapper_gap_large) 0 0 0;
    justify-content: center;
    border-top-width: 0;
    border-bottom-width: 0;
}
hr.dot + .rvy-single-content-share {
    padding-top: 0;
} 
    .rvy-single-receta-share:before, 
    .rvy-single-receta-share:after {
        position: absolute;
        margin-left: -6px;
        left: 50%;
        width: 12px;
        height: 12px;
        content: '';
        border-radius: 50%;
        background-color: var(--rvy_color_light);
    }
    .rvy-single-receta-share:before {
        top: -6px;
    }
    .rvy-single-receta-share:after {
        bottom: -6px;
    }

        .rvy-single-receta-share > .rvy-single-receta-share-rrss a > span,
        .rvy-single-content-share > .rvy-single-content-share-rrss a > span {
            padding: 7px;
            width: 35px!important;
            height: 35px!important;
            line-height: 35px!important;
            border-radius: 50%;
            background-color: var(--rvy_color_light)!important;
        }
            .rvy-single-receta-share > .rvy-single-receta-share-rrss a > span > svg path,
            .rvy-single-content-share > .rvy-single-content-share-rrss a > span > svg path {
                fill: #fff!important;
            }

        .rvy-single-receta-share > .rvy-single-receta-share-download {
            margin-left: auto;
        }

        .rvy-single-receta-back {
            display: flex;
           padding: var(--rvy_wrapper_gap_large) 0; 
           align-items: center;
           justify-content: center;
        }

/*

-- MARK: RELATED 

*/

.single-related {

    margin-top: var(--rvy_wrapper_gap_extra);

}

    .single-related .related-title {

        margin-bottom: var(--rvy_wrapper_gap);

        font-size: 40px;

    }

    .single-related .post-list-wrapper > .post-list-item .entry-title {

        font-size: 34px;

    }





/*

-- MARK: GALERÍA DE IMÁGENES

*/

.image-gallery > .et_pb_gallery_items {

    display: flex;

    flex-direction: row;

    flex-wrap: nowrap;

    gap: var(--rvy_wrapper_gap);

}

    .image-gallery .et_pb_gallery_items .et_pb_gallery_item {

        margin: 0;

        flex: 1;

    }

        .image-gallery .et_pb_gallery_items .et_pb_gallery_item a {

            display: block;

            width: 100%;

            aspect-ratio: 4/3;

            border-radius: var(--rvy_wrapper_radius);

            overflow: hidden;

        }

            .image-gallery .et_pb_gallery_items .et_pb_gallery_item a > img {

                display: block;

                margin: 0;

                width: 100%;

                height: 100%;

                transition: all 0.2s;

                object-fit: cover;

            }

                .image-gallery .et_pb_gallery_items .et_pb_gallery_item a:hover > img {

                    transform: scale(1.2);

                }

            .image-gallery .et_pb_gallery_items .et_pb_gallery_item a > .et_overlay, 

            .image-gallery .et_pb_gallery_items .et_pb_gallery_item a:hover > .et_overlay {

                display: none!important;

            }



    .carousel-images .tns-controls,

    .carousel-images .tns-nav {

        --rvy_gap_controls: calc( var(--rvy_wrapper_gap_extra) + var(--rvy_wrapper_gap) ); /* gap*4 + gap => 60px + 15px => 75px */

        position: absolute;

        bottom: calc( var(--rvy_gap_controls) * -1 );

    }

    .carousel-images .tns-controls {

        left: 50%;

        transform: translate(-50%, 0);

    }

    .carousel-images .tns-outer .tns-nav > button,
    .carousel-images .tns-outer .tns-controls button, 
    .carousel-images .tns-outer .tns-controls button > span::before, 
    .carousel-images .tns-outer .tns-controls button > span::after {

        border-color: #fff;

    }

        .carousel-images .tns-outer .tns-nav > button.tns-nav-active {

            background-color: #fff;

        }

/*
-- MARK: FORMULARIO SUSCRIPCIONES 
*/

.form-legal-text {
    margin-top: var(--rvy_wrapper_gap);
    margin-left: auto;
    margin-right: auto;
    padding-top: var(--rvy_wrapper_gap);
    max-width: var(--rvy_max_width);
    line-height: 1.4;
    font-size: 12px;
    font-weight: 300;
    border-top: 1px dotted #999;
}



.form-subscription-wrapper {
    margin-bottom: var(--rvy_wrapper_gap_large);
}
    
    .cbk-form-fields > .form-subscription-wrapper + .header-inner-block {
        max-width: var(--rvy_max_width);
        margin: 0 auto var(--rvy_wrapper_gap) auto;
        text-align: center;
    }
        .cbk-form-fields > .form-subscription-wrapper + .header-inner-block .header-inner-block-description {
            margin-left: auto;
            margin-right: auto;
            max-width: var(--rvy_max_width_reduced);
        }
    ul.lista-cursos {
        position: relative;
        /*margin: 0 0 var(--rvy_wrapper_gap) 0;*/
        margin: 0 auto var(--rvy_wrapper_gap) auto;
        padding: 0;
        list-style: none;
        max-width: var(--rvy_max_width);
        /*columns: 2;
        column-gap: var(--rvy_wrapper_gap);*/
    }
        ul.lista-cursos  > li.lista-cursos-item {
            position: relative;
            margin: 0 0 var(--rvy_wrapper_gap_large) 0;
            padding: var(--rvy_wrapper_gap_large);

            break-inside: avoid;
            column-break-inside: avoid;

            border-radius: var(--rvy_wrapper_radius);
            background-color: #fff;
        }
            ul.lista-cursos  > li.lista-cursos-item.s_closed {
                background-color: color-mix( in srgb, #fff 100%, var(--rvy_color_alert) 10%);
            }
            ul.lista-cursos  > li.lista-cursos-item.s_completo {
                background-color: var(--rvy_color_secondary) 10%);
            }

            .lista-cursos-item-data {
                display: flex;
                flex-wrap: wrap;
                gap: var(--rvy_wrapper_gap_large);
                line-height: 1.5;
            }

            /* Status del curso */
            .lista-cursos-item-data .lista-cursos-item-status {
                display: block;
                margin: 0 auto 5px 0;
            }
                .lista-cursos-item-data .lista-cursos-item-status .rvy-single-status {
                    padding: 3px 10px;
                    color: var(--rvy_color_tertiary);
                    font-size: 10px;
                    font-weight: 400;
                    text-transform: uppercase;
                    border-radius: 50px;
                }
                .lista-cursos-item-data .lista-cursos-item-status .rvy-single-status.s_disponible {
                    color: #fff;
                    background-color: var(--rvy_color_secondary);
                }
                .lista-cursos-item-data .lista-cursos-item-status .rvy-single-status.s_finalizado,
                .lista-cursos-item-data .lista-cursos-item-status .rvy-single-status.s_proceso {
                    color: #fff;
                    background-color: var(--rvy_color_dark);
                }
                .lista-cursos-item-data .lista-cursos-item-status .rvy-single-status.s_closed {
                    color: #fff;
                    background-color: var(--rvy_color_darker);
                }
                .lista-cursos-item-data .lista-cursos-item-status .rvy-single-status.s_completo {
                    color: #000;
                    background-color: var(--rvy_color_mustard);
                }

            /* Nombre del curso */
            .lista-cursos-item-data .lista-cursos-item-title {
                margin-bottom: 5px;
                padding: 0;
                font-size: 23px;
            }

            /* Check */
            .lista-cursos-item-data .lista-cursos-item-check {
                flex: 0 0 20px;
                padding-top: 7px;
            }

            .lista-cursos-item-data .cbk-form-fields {
                position: relative;
                flex: 0 0 100%;
                max-width: 100%;
            }
                .lista-cursos-item-data .cbk-form-fields .legend {
                    position: relative;
                    margin-bottom: var(--rvy_wrapper_gap);
                }
                .lista-cursos-item-data .cbk-form-fields .cbk-form-group {
                    max-width: var(--rvy_max_width_reduced);
                }
                .lista-cursos-item-data .cbk-form-fields .add-asistente {
                    position: absolute;
                    padding: 14px 20px!important;
                    left: calc( var(--rvy_max_width_reduced) + var(--rvy_wrapper_gap) );
                    top: 37px;
                }
                .lista-cursos-item-data .cbk-form-fields:has(.fechas) .add-asistente {
                    top: 135px;
                }

                .lista-cursos-item-data .cbk-form-fields .add-asistente:hover {
                    padding: 14px 20px!important;
                }

            /* Miniatura formador */
            .lista-cursos-item-data .lista-cursos-item-poster {
                position: relative;
                flex: 0 0 100%;
                max-width: 100%;
                /*height: 85px;*/
                border-radius: var(--rvy_wrapper_radius);
                background-color: #C3AA8C;
                overflow: hidden;
            }
            .type-evento .lista-cursos-item-data .lista-cursos-item-poster {
                background-color: transparent;
                border-radius: 0
            }
                .lista-cursos-item-data .lista-cursos-item-poster > img {
                    display: block;
                    margin: 0;
                }
                .type-evento .lista-cursos-item-data .lista-cursos-item-poster > img {
                    border-radius: var(--rvy_wrapper_radius);
                }
                .type-evento .lista-cursos-item-data .lista-cursos-item-poster > .no-image {
                    display: block;
                    width: 100%;
                    height: auto;
                    aspect-ratio: 16/9;
                    border-radius: var(--rvy_wrapper_radius);
                    background-color: var(--ryv_color_primary);
                }

            /*  */
            ul.lista-cursos.type-evento .cbk-form-fields.fechas {
                margin-bottom: var(--rvy_wrapper_gap_large);
            }
                ul.lista-cursos.type-evento .cbk-form-fields.fechas .legend,
                ul.lista-cursos.type-evento .cbk-form-fields.fechas + .legend {
                    position: relative;
                    margin-bottom: 10px;
                    padding-left: 30px;
                    line-height: 1.5;
                    font-weight: 700;;
                }
                    ul.lista-cursos.type-evento .cbk-form-fields.fechas .legend:before,
                    ul.lista-cursos.type-evento .cbk-form-fields.fechas + .legend:before {
                        position: absolute;
                        left: 0;
                        top: 2px;
                        width: 20px;
                        height: 20px;
                        line-height: 20px;
                        color: #fff;
                        font-size: 12px;
                        text-align: center;
                        border-radius: 50%;
                        background-color: var(--ryv_color_primary);
                    }
                    ul.lista-cursos.type-evento .cbk-form-fields.fechas .legend:before {
                        content: '1';
                    }
                    ul.lista-cursos.type-evento .legend:before {
                        line-height: 18px;
                        content: '2';
                    }

                .lista-cursos-item-data .lista-cursos-item-header {
                    flex: 1;
                }

            

            /* Miniatura formador */
            .lista-cursos-item-data .lista-cursos-item-thumb {
                position: relative;
                flex: 0 0 auto;
                width: 85px;
                height: 85px;
                border-radius: 50%;
                background-color: #C3AA8C;
                overflow: hidden;
            }
                .lista-cursos-item-data .lista-cursos-item-thumb > img {
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    filter: var(--rvy_filter_autor_images);                
                }
            
            /* Fecha */
            .lista-cursos-item-data .lista-cursos-item-date {
                color: var(--rvy_color_darker);
                font-size: 14px;
            }
            /* Formador */
            .lista-cursos-item-data .lista-cursos-item-author {
                color: var(--rvy_color_dark);
                font-size: 14px;
            }

            /* Meta */
            .lista-cursos-item-data .lista-cursos-item-meta {
                color: var(--rvy_color_dark);
                font-size: 14px;
            }
                .lista-cursos-item-data .lista-cursos-item-meta > .lista-cursos-item-meta-code {
                    
                }
                .lista-cursos-item-data .lista-cursos-item-meta > .lista-cursos-item-meta-price {
                    font-weight: 600;
                }
        
        /* LOGO */

        .rvy-suscription-logo {
            display: block;
            margin: calc( var(--rvy_wrapper_gap_block) * -1 ) auto 0 auto;
            width: 110px;
            height: 110px;
            transform: translate(0, -50%);
        }

        /* Legend */
        .lista-cursos-item > .cbk-form-fields > .legend {
            margin: 0 0 var(--rvy_wrapper_gap) 0;
            line-height: 1.2;
            color: var(--rvy_color_text);
            font-weight: 300;
            cursor: default;
        }
        /* Formulario asistentes */
        .lista-cursos-item > .cbk-form-fields.fechas,
        .lista-cursos-item > .cbk-form-fields.asistentes { 
            margin-top: var(--rvy_wrapper_gap);
            padding-left: 430px;
            /* label + imagen + 2gaps */
            /* 20 + 350 + 60 */
        }
            .lista-cursos .cbk-form-fields.asistentes > .asistente-item .remove-asistente {
                position: absolute;
                right: 5px;
                top: 5px;
                height: 30px;
                line-height: 30px;
                width: 30px;
                color: var(--rvy_color_alert);
                font-size: 20px;
                text-align: center;
                border-radius: 3px;
                background-color: rgba(0, 0, 0, 0.05);
                cursor: pointer;
            }
            .lista-cursos .cbk-form-fields.asistentes > .asistente-item:nth-child(1) .remove-asistente,
            .lista-cursos .cbk-form-fields.asistentes > .legend + .asistente-item .remove-asistente {
                display: none;
            }

    .rvy-suscription-content-wrapper .cbk-cols.cbk-submit {
        gap: var(--rvy_wrapper_gap);
        margin: 0 auto;
        max-width: var(--rvy_max_width);
        /*margin-left: calc( 50% + var(--rvy_wrapper_gap_small) ); */
    }


/*
-- MARK: FORMULARIOS 
*/
.cbk-form-group {
    position: relative;
    margin-bottom: var(--rvy_wrapper_gap); 
}
.cbk-col > .cbk-form-group:last-child {
    margin-bottom: 0;
}
    .cbk-form-group div:empty,
    .cbk-form-group keeper-lock {
        display: none!important;
    }
    .cbk-form-group label {
        display: block;
        font-weight: 300;
    }
        .cbk-form-group label > em {
            margin-left: var(--rvy_wrapper_gap);
        }
        .cbk-form-group label.hd {
            display: none;
            visibility: hidden;
        }

    .cbk-form-group .form-field {
        padding: 10px 0;
        width: 100%;
        color: var(--rvy_color_darker);
        font-size: 15px;
        font-weight: 400;;
        transition: all 0.2s linear;
        border-width: 0 0 1px 0;
        border-style: solid;
        border-color: var(--rvy_color_border)!important;
        background-color: transparent;
    }
    .cbk-form-group textarea.form-field {
        border-width: 1px;
    }
    .cbk-form-group .form-field.no-valid {
        padding-left: 10px;
        padding-right: 10px;
        border-color: var(--rvy_color_alert);
        box-shadow: 0 1px 0 0 var(--rvy_color_alert);
        background-color: color-mix(in srgb, var(--rvy_color_alert), #fff 90% );
    }
        .cbk-form-group.field-text .form-field:hover,
        .cbk-form-group.field-date .form-field:hover {
            border-color: var(--rvy_color_border)!important;
            box-shadow: 0 1px 0 0 var(--rvy_color_border);
        }
        .cbk-form-group.field-text .form-field:focus,
        .cbk-form-group.field-date .form-field:focus {
            border-color: var(--rvy_color_border)!important;
            box-shadow: 0 2px 0 0 var(--rvy_color_border);
        }
        .cbk-form-group.field-text .toggle-pass {
            position: absolute;
            display: block;
            top: 10px;
            right: 10px;
            width: 24px;
            height: 24px;
            
            -webkit-mask-repeat: no-repeat;
            -webkit-mask-size: 20px 20px;
            -webkit.mask-position: 50% 50%;

            mask-repeat: no-repeat!important;
            mask-size: 20px 20px!important;
            mask-position: 50% 50%!important;

            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z"/></svg>');
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z"/></svg>');

            background-color: var(--ryv_color_primary);
            cursor: pointer;
        }

        .cbk-form-group.field-text .toggle-pass.view {
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free v7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM204.5 138.7c23.5-16.8 52.4-26.7 83.5-26.7 79.5 0 144 64.5 144 144 0 31.1-9.9 59.9-26.7 83.5l-34.7-34.7c12.7-21.4 17-47.7 10.1-73.7-13.7-51.2-66.4-81.6-117.6-67.9-8.6 2.3-16.7 5.7-24 10l-34.7-34.7zM325.3 395.1c-11.9 3.2-24.4 4.9-37.3 4.9-79.5 0-144-64.5-144-144 0-12.9 1.7-25.4 4.9-37.3L69.4 139.2c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6l-64.2-64.2z"/></svg>');

            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free v7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM204.5 138.7c23.5-16.8 52.4-26.7 83.5-26.7 79.5 0 144 64.5 144 144 0 31.1-9.9 59.9-26.7 83.5l-34.7-34.7c12.7-21.4 17-47.7 10.1-73.7-13.7-51.2-66.4-81.6-117.6-67.9-8.6 2.3-16.7 5.7-24 10l-34.7-34.7zM325.3 395.1c-11.9 3.2-24.4 4.9-37.3 4.9-79.5 0-144-64.5-144-144 0-12.9 1.7-25.4 4.9-37.3L69.4 139.2c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6l-64.2-64.2z"/></svg>');
        }
  
    .cbk-form-group.text-legal {
        line-height: 1.6;
        font-size: 12px;
        font-weight: 300;
    }

    form input[type="radio"],
    form input[type="checkbox"] {
        display: inline-block;
        position: relative;
        margin: 0;
        padding: 0;
        width: 20px;
        min-width: 20px;
        height: 20px;
        -webkit-appearance: none;
        appearance: none;
        border: 1px solid var(--rvy_color_border);
        cursor: pointer;
    }
        form input[type="radio"] {
            border-radius: 50%;
        }
        form input[type="radio"]:hover,
        form input[type="checkbox"]:hover {
            box-shadow: 0 0 0 1px var(--rvy_color_border);
        }
        form input[type="radio"]:focus,
        form input[type="checkbox"]:focus {
            box-shadow: 0 0 0 2px var(--rvy_color_border);
        }

        form input[type="checkbox"]:before,
        form input[type="checkbox"]:after,
        form input[type="radio"]:before {
            position: absolute;
            content: '';
            height: 3px;
            background-color: color-mix( in srgb, var(--rvy_color_border) 5%, #fff 5%);
        }
        form input[type="radio"]:before {
            top: 3px;
            left: 3px;
            height: 12px;
            width: 12px;
            border-radius: 50%;
        }
        form input[type="checkbox"]:checked:before,
        form input[type="checkbox"]:checked:after,
        form input[type="radio"]:checked:before {
            background-color: var(--rvy_color_border);
        }
        form input[type="checkbox"]:before {
            left: 2px;
            top: 9px;
            width: 7px;
            transform: rotate(45deg);
        }
        form input[type="checkbox"]:after {
            left: 5px;
            top: 7px;
            width: 13px;
            transform: rotate(-45deg);
        }
    
    .field-button .rvy-button.align-right {
        display: block;
        margin-left: auto;
        margin-right: 0;
    }
    
    form .checkbox-spacer {
        display: inline-block;
        position: relative;
        margin: 0;
        padding: 0;
        width: 20px;
        height: 20px;
        background-color: transparent;
    }

    form .wpcf7-list-item {
        margin: 0;
    }
        form .wpcf7-list-item > label {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            justify-content: flex-start;
        }
            form .wpcf7-list-item > label > form input[type="checkbox"],
            form .wpcf7-list-item > label > form input[type="radio"] {
                top: 3px;
            }
            form .wpcf7-list-item > label > .wpcf7-list-item-label {
                flex: auto;
                line-height: 20px; /* Es el alto del checkbox/radio */
                font-size: 12px;
                font-weight: 300;
            }
                form .wpcf7-list-item > label > .wpcf7-list-item-label > a {
                    color: var(--rvy_color_text);
                    text-decoration: underline;
                }

    /* Avisos */
    .wpcf7-form-control-wrap {
        position: relative;
    }
        .cbk-form-group .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
            position: absolute;
            right: 10px;
            top: -3px;
            font-size: 10px;
            color: var(--rvy_color_alert);
            overflow: hidden;
        }
        .cbk-form-group:has( .toggle-pass ) .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
            right: 40px;
        }
            .cbk-form-group.field-text .wpcf7-form-control-wrap:has( .wpcf7-not-valid-tip ) .form-field,
            .cbk-form-group.field-text .wpcf7-form-control-wrap:has( .wpcf7-not-valid-tip ) .form-field:hover,
            .cbk-form-group.field-text .wpcf7-form-control-wrap:has( .wpcf7-not-valid-tip ) .form-field:focus {
                padding-left: 10px;
                border-color: var(--rvy_color_alert);
                background-color: color-mix( in srgb, var(--rvy_color_alert) 5%, transparent )
            }
            .cbk-form-group.field-text .wpcf7-form-control-wrap:has( .wpcf7-not-valid-tip ) .form-field:hover {
                box-shadow: 0 1px 0 0 var(--rvy_color_alert);
            }
            .cbk-form-group.field-text .wpcf7-form-control-wrap:has( .wpcf7-not-valid-tip ) .form-field:focus {               
                box-shadow: 0 2px 0 0 var(--rvy_color_alert);
            }

        .wpcf7-form-control-wrap:has( input:focus ) >  .wpcf7-not-valid-tip {
            display: none;
        }
    
    input[type="date"] + .error-date {
        position: relative;
        font-size: 10px;
        color: var(--rvy_color_alert);
        overflow: hidden; 
    }
    .notice-required {
        display: block;
        font-size: 12px;
        font-style: italic;
        font-weight: 300;
    }

    /* Mensajes */
    .wpcf7 form .wpcf7-response-output {
        position: relative;
        margin: 0;
        padding: var(--rvy_wrapper_gap);
        color: #fff;
        border-radius: var(--rvy_wrapper_radius);
        border-width: 0;
        background-color: var(--rvy_color_sucess);
    }
    .wpcf7 form.invalid .wpcf7-response-output {
        background-color: var(--rvy_color_alert);
    }
    .cbk-form-fields + .wpcf7-response-output {
        margin-top: var(--rvy_wrapper_gap_large);
    }


/*
-- MARK: FORMULARIO ALTA USUARIOS
*/
.form-alta-usuarios-wrapper h2 {
    position: relative;
    margin-bottom: var(--rvy_wrapper_gap);
    padding: 0;
    font-size: 24px;
    text-transform: uppercase;
}
    .form-alta-usuarios-wrapper .cbk-cols + h2 {
        margin-top: var(--rvy_wrapper_gap_extra);
    }



/*
-- MARK: RESPONSIVE 
*/


/* -- MARK: 1100px */
@media (max-width: 1100px) {

    /* Listados */
    .listado-de-cursos .post-list-wrapper {
        --columns: 2;
    }
}

/* -- MARK: 980px */
@media (max-width: 980px) {

    /* Nos cargamos el adminbar */
    html {
        margin-top: 0!important;
    }
        #wpadminbar {
            display: none!important;
        }
        body.admin-bar #header {
            top: 0 !important;
        }
    
    /* global */

    /* HEADER */
    #header {
        --rvy_NavBottom_Height: 70px;
        --rvy_NavHeader_Height: calc( var(--rvy_NavTop_Height) + var(--rvy_NavBottom_Height) );
    }

    /* NAV */
    #header-nav > #nav-menu-items {
        margin-left: var(--rvy_wrapper_gap)!important;
        order: 2;
    }
    #header-nav > #nav-menu-items + .et_pb_button_module_wrapper {
        margin-left: auto!important;
    }
        
        

    /* FOOTER */
    #footer-contacto {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }
        #footer-contacto > .col-left {
            width: 100%;
        }
        #footer-contacto > .col-center, 
        #footer-contacto > .col-right {
            margin-bottom: 0!important;
            width: calc( 50% - 15px )!important;
        }

    #footer-logos {
        padding: 0;
        flex-wrap: wrap;
        flex-direction: column;
        gap: var(--rvy_wrapper_gap_large);
        align-items: center;
        justify-content: center;
    }
        #footer-logos > .col-left, 
        #footer-logos > .col-right {
            margin: 0 auto!important;
            width: auto;
        }

    html body #page-container #footer-nav {
        margin: 0!important;
        padding: var(--rvy_wrapper_gap)!important;
        width: auto;
        background-color: rgba(0, 0, 0, 0.1);
    }
        html body #page-container #footer .et_mobile_nav_menu .mobile_menu_bar {
            display: none !important;
        }
        html body #page-container #footer .et_mobile_nav_menu ul.et_mobile_menu {
            display: flex !important;
            position: relative;
            flex-direction: row;
            flex-wrap: wrap;
            margin: 0!important;
            padding: 0!important;
            align-items: center;
            justify-content: center;
            height: auto !important;
            box-shadow: none;
            border-width: 0!important;
            background-color: transparent!important;
            overflow: visible !important;
        }
        html body #page-container footer #footer-nav #mobile_menu2 {
            gap: 0 var(--rvy_wrapper_gap_large)!important;
        }
        html body #page-container footer #footer-legal #mobile_menu3 {
            gap: 0 var(--rvy_wrapper_gap)!important;
        }
            html body #page-container #footer .et_mobile_nav_menu ul.et_mobile_menu > li {
                background-color: transparent!important;
            }
                #footer .et_mobile_nav_menu ul.et_mobile_menu > li > a {
                    margin: 0!important;
                    padding: 0!important;
                    color: #fff!important;
                    font-size: 13px!important;
                    background-color: transparent!important;
                }

    /* Modal */
    .suscribe-to-our-courses {
        /*bottom: 0;
        right: 0;
        transform: translate(var(--rvy_wrapper_gap_extra), 100%);*/
        bottom: 0;
        right: 0;
        left: 50%;
        transform: translate(-10%, 70%);
    }

    #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner {
        max-width: 550px;
    }
        #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_title {
            font-size: 45px;
        }
        #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_content {
            line-height: 1.8rem;
            font-size: 21px;
        }


    /* Carousel */
    .tns-outer .tns-controls button[data-controls="prev"] {
        left: var(--rvy_wrapper_gap);
    }
    .tns-outer .tns-controls button[data-controls="next"] {
        right: var(--rvy_wrapper_gap);
    }

    .carousel-autor .curso-autores-list .tns-controls button[data-controls="prev"] {
        left: 0;
    }
    .carousel-autor .curso-autores-list .tns-controls button[data-controls="next"] {
        right: 0;
    }

    /* Header BG */
    body:not(.is-nav-fixed) #page-container .is-header-bg {
        padding-left: var(--rvy_wrapper_gap_extra)!important;
        padding-right: var(--rvy_wrapper_gap_extra)!important;
        /* 
        Añadimos un padding superior en la cabecera que se adapte a la visualización requerida 
        115px de alto de cabecera + la separación que queramos mantener con respecto a esta.
        */
    }
    .et_pb_with_background > .single-curso-over-bg {
        max-width: 50%;
        background-size: 100% auto;
    }

    /* LISTADOS */
    .listado-de-posts > .post-list-wrapper,
    .listado-de-cursos .post-list-wrapper,
    .listado-de-recetas > .post-list-wrapper {
        --columns: 2; 
    }

    /* CURSOS */
    .rvy-single-content-wrapper {
        flex-direction: column;
    }
    .rvy-single-content-wrapper > .rvy-single-content-media,
    .rvy-single-content-wrapper > .rvy-single-content-data {
        width: 100%;
    }
    .rvy-single-content-wrapper > .rvy-single-content-media { /* Para que no ocupe tanto y se vea contenido sin necesidad de hacer scroll */
        aspect-ratio: 16/9;
    }


    /* Suscripciones */
    .rvy-suscription-content-wrapper {
        padding: 0;
    }
    .rvy-suscription-content-wrapper.rvy-block.featured {
        padding: var(--rvy_wrapper_gap_large);
        width: 100vw;
        margin-left: calc(var(--rvy_wrapper_gap_large) * -1);
        border-radius: 0;
    }
        .rvy-suscription-content-wrapper .cbk-cols.cbk-submit {
            margin-left: 0;
        }
            .lista-cursos-item-data .lista-cursos-item-poster {
                max-width: 100%;
            }
                .lista-cursos-item > .cbk-form-fields.fechas, .lista-cursos-item > .cbk-form-fields.asistentes {
                    padding-left: 0;
                }

        .lista-cursos-item-data .cbk-form-fields .cbk-form-group {
            max-width: 350px;
        }
        .lista-cursos-item-data .cbk-form-fields .add-asistente {
            left: calc( 350px + var(--rvy_wrapper_gap) )
        } 

    /* Timeline */
    .dondivi_timeline .ddb-timeline-event .ddb-card .ddb-card-content .ddb-custom-timeline-item {
        flex-direction: column;
    }
        .dondivi_timeline .ddb-timeline-event .ddb-card .ddb-card-content .ddb-custom-timeline-item > .ddb-timeline-item-image-icon {
            margin-left: 0;
        }

    /* Devolvemos el tamaño de las columnas en la home, pero ampliamos la 3ª columna */
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item,
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-active, 
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-item-center {
        width: calc(6.66667%)!important;
    }
        .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper .post-list-item .post-taxonomy {
            margin-top: auto;
        }
}



/* -- MARK: 768px */

@media (max-width: 768px) {

    /* global */
    .is-mobile-hidden {
        display: none!important;
    }
    .custom-filter {
        position: relative;
    }

    /* HEADER */
    #header-nav-top {
        gap: var(--rvy_wrapper_gap_small);
    }
        /* Contacto */
        #header .et_pb_button_module_wrapper:has( #nav-contact-button ) {
            padding-left: 0;
        }
            #header .et_pb_button_module_wrapper:has(#nav-contact-button):before {
                content: none;
            }
   
    /* Listados */  
    .type-curso .type-curso-content .type-curso-content-data-datetime {
        max-height: none;
        margin-bottom: 15px;
    }
    .type-curso .type-curso-content > .type-curso-content-cta {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
        .type-curso .type-curso-content > .type-curso-content-cta > .type-curso-content-cta-link {
            margin: 0 auto;
        }
        /* Ocultamos descripción del curso, logo del colaborador y su descripción */
        .type-curso .type-curso-content > .type-curso-content-description, 
        .type-curso .type-curso-content > .type-curso-content-cta img, 
        .listado-de-cursos .post-list-item .type-curso-author .type-curso-author-item-description {
            display: none!important;
        }
    
    /* Timeline */
    .dondivi_timeline .ddb-timeline > .ddb-timeline-bar {
        left: var(--rvy_wrapper_gap_large)!important;
    }
    .dondivi_timeline .ddb-timeline-event {
        display: flex;
        flex-direction: row!important;
        flex-wrap: wrap;
        gap: var(--rvy_wrapper_gap);
        align-items: center!important;
        justify-content: flex-start!important;
    }
    .dondivi_timeline .ddb-timeline-event > .ddb-event-line {
        order: 0;
        padding-left: var(--rvy_wrapper_gap_large);
        line-height: 1;
        width: 30px;
    }
    .dondivi_timeline .ddb-timeline-event > .ddb-event-label {
        flex: auto;
        order: 1;
        padding-left: var(--rvy_wrapper_gap);
        line-height: 1;
        text-align: left;
    }
    .dondivi_timeline .ddb-timeline-event > .ddb-card {
        order: 2;
        flex-basis: 100%;
    }
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item,
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-active, 
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-item-center {
        width: calc(6.66667%)!important;
    }
        .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper .post-list-item .post-taxonomy {
            margin-top: auto;
        }
}



/* -- MARK: 550px */
@media (max-width: 550px) { 

    /* GLOBAL */
    .custom-filter {
        position: relative;
    }
        .custom-filter .cs-dropdown {
            margin-top: var(--rvy_wrapper_gap_large);
            width: 100%;
        }
        .custom-filter .cs-dropdown + .cs-dropdown {
            margin-top: var(--rvy_wrapper_gap);
            margin-left: 0;
        }

    #footer-separator {
        flex-wrap: wrap;
        flex-direction: column;
        gap: var(--rvy_wrapper_gap_large);
    }

    #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_title {
        font-size: 40px!important;
    }
    #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_slide_content {
        line-height: 1.5rem;
        font-size: 18px!important;
    }
    #home-hero-slide .et_pb_slide > .et_pb_container > .et_pb_slider_container_inner .et_pb_button_wrapper > a {
        padding: 15px 20px !important;
    }

    .cite {
        padding-left: 40px;
    }
        .cite:before {
            left: 40px;
        }

    ul.numbers {
        flex-direction: column;
    }

    /* HEADER */
    #header {
        --rvy_NavBottom_Height: 50px;
        --rvy_NavHeader_Height: calc( var(--rvy_NavTop_Height) + var(--rvy_NavBottom_Height) );
    }
        #header-nav-bottom {
            height: var(--rvy_NavBottom_Height);
        }

        #header-nav .mobile_nav.opened .et_mobile_menu {
            top: var(--rvy_NavHeader_Height)!important;
            height: calc( 100vh - 79px )!important; /* 79px TOP */
        }

        .et_pb_with_background > .single-curso-over-bg {
            max-width: 75%;
        }
        #header .et_pb_button_module_wrapper:has(#nav-contact-button) {
            display: none;
        }
        #header-nav .et-menu.nav > li.contacto {
            display: block;
        }
        #header-nav > #nav-menu-items + .et_pb_button_module_wrapper {
            position: relative!important;
            width: 35px!important;
            height: 35px!important;
            border-radius: 50%!important;
            background-color: var(--ryv_color_primary)!important;
        }
            #header-nav > #nav-menu-items + .et_pb_button_module_wrapper > a {
                margin: 0!important;
            }
                #header-nav > #nav-menu-items + .et_pb_button_module_wrapper > a:before {
                    right: 16px!important;
                    top: 5px!important;
                    color: #fff!important;
                }

    #header-nav-top .nav-right .user-login span {
        display: none;
    }
    #header-nav-top .nav-right .user-login .icon_lock {
        display: block;
    }

    footer #footer-contacto > .col-center, 
    footer #footer-contacto > .col-right {
        margin-bottom: 0!important;
        width: 100%!important;
    }

    footer #footer-contacto > .col-right, 
    footer #footer-contacto .col-right > .et_pb_module .et_pb_text_inner {
        text-align: center; 
    }
        footer #footer-contacto .col-right > .et_pb_module .email {
            text-align: center!important;
        }
        footer #footer-contacto .col-right > .et_pb_module .phone {
            padding-left: 0; 
        }
            footer #footer-contacto > .col-right > .et_pb_module .phone::before {
                content: none!important; 
            }
    
    footer #footer-logos .grupo-reyvidis-group {
        width: 100%!important;
    }
        .grupo-reyvidis-group > .et_pb_gallery_items {
            flex-wrap: wrap;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
        }
            .grupo-reyvidis-group > .et_pb_gallery_items > .et_pb_gallery_item {
                top: 0!important;
            }


    /* Columnas */
    .cbk-cols > .cbk-col {
        flex: auto;
    }
    .cbk-cols.large-gap {
        gap: 0;
    }

    body:not(.is-nav-fixed) #page-container .is-header-bg {
        padding: var(--rvy_wrapper_gap_extra) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap_large) var(--rvy_wrapper_gap_large)!important;
    }

    /* Números */
    .numbers-list {
        flex-direction: column;
    }
        .numbers-list .et_pb_column {
            margin-bottom: 0!important;
        }


    /* Modal */
    .suscribe-to-our-courses {
        /*bottom: 0;
        right: var(--rvy_wrapper_gap_large);
        max-width: calc( 100vw - var(--rvy_wrapper_gap_extra) );
        height: auto;
        */
        bottom: 0;
        right: 0;
        max-width: calc( 100vw - var(--rvy_wrapper_gap_extra) );
        height: auto;
        left: 50%;
        transform: translate(-50%, 70%);
    }
        .suscribe-to-our-courses .type-curso-author {
            display: none;
        }


    /* CAROUSEL */
    .tns-outer .tns-nav > button {
        margin: 0 4px;
    }
    

    /* LISTADOS */
    .listado-de-posts > .post-list-wrapper,
    .listado-de-cursos .post-list-wrapper,
    .listado-de-recetas > .post-list-wrapper {
        --columns: 1; 
    }
    .listado-de-cursos .post-list-wrapper > .post-list-item {
        flex-direction: column;
    }

    /* Devolvemos el tamaño de las columnas en la home */
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper {
        --columns: 1;
    }


    /* CURSOS */
    #rvy-curso {
        padding-top: var(--rvy_wrapper_gap_large);
    }
    .rvy-single-title {
        font-size: 40px;
    }
    .rvy-single-content-wrapper {
        margin-left: calc( var(--rvy_wrapper_gap_large) * -1);
        margin-right: calc( var(--rvy_wrapper_gap_large) * -1);
        border-radius: 0;
    }
        .rvy-single-content-wrapper > .rvy-single-content-data {
            padding: var(--rvy_wrapper_gap_large);
        }
        .rvy-single-content-data-info {
            flex-direction: column;
            gap: 0;
        }
            .rvy-single-content-data-info-difficulty {
                margin-left: 0;
            }
        .rvy-single-content-data-datetime,
        .rvy-single-content-data-author,
        .rvy-single-content-data-details {
            flex-direction: column;
        }
            .rvy-single-content-data-datetime-content { /* eliminamos el padding del icono */
                margin-left: -25px;
            }
            .rvy-single-content-data-details-list dl { /* eliminamos el icono */
                padding-left: 0;
                background: none;
            }
            .rvy-single-content-data-details-collaboration { /* el logo queda chulo, pero ocupa mucho en responsive */
                display: none;
            }
         
        .rvy-single-content-cta {
            flex-direction: column;
            gap: var(--rvy_wrapper_gap);
        }
            .rvy-single-content-cta .rvy-button, 
            body .et_pb_module .rvy-single-content-cta .rvy-button {
                margin: 0 auto;
                width: 100%;
                transform: none;
            }
        
        hr.rvy-spacer {
            margin: var(--rvy_wrapper_gap_large) auto;
        }
        #rvy-single-summary-gallery-items > .tns-slide-active.tns-slide-item-center {
            transform: none;
        }

    /* Autores */
    .tns-outer .tns-nav {
        bottom: -20px;
        width: 100%;
        text-align: center;
    }


    /* Suscripciones */
    .rvy-suscription-content-wrapper {
        padding: 0;
    }
        .lista-cursos-item-data {
            gap: var(--rvy_wrapper_gap);
        }
        .lista-cursos-item-data .lista-cursos-item-check {
            padding-top: 10px;
        }
            .cbk-form-fields ul.lista-cursos {
                columns: 1;
                margin-left: calc( var(--rvy_wrapper_gap) * -1 );
                margin-right: calc( var(--rvy_wrapper_gap) * -1 );
            }
            .cbk-form-fields ul.lista-cursos > li.lista-cursos-item {
                padding: var(--rvy_wrapper_gap);
            }
                .cbk-form-fields .lista-cursos-item-data + .asistentes {
                    margin-top: var(--rvy_wrapper_gap);
                    padding-left: 0;
                }

        .rvy-suscription-content-wrapper .cbk-cols.cbk-submit .fit-content:has(.rvy-button) {
            flex: 1;
        }
            .rvy-suscription-content-wrapper .cbk-cols.cbk-submit .fit-content .rvy-button {
                width: 100%;
            }

        .lista-cursos-item-data .cbk-form-fields .add-asistente,
        .lista-cursos-item-data .cbk-form-fields:has(.fechas) .add-asistente {
            position: relative;
            left: auto;
            top: auto;
        }   

        .type-curso .type-curso-content-info {
            flex-direction: row;
            flex-wrap: wrap;
            gap: 0;
        }   
            .type-curso .type-curso-content-info > .type-curso-content-info-code {
                order: 1;
                flex: auto;
            }
            .type-curso .type-curso-content-info > .type-curso-content-info-tax {
                order: 3;
                flex: 0 0 100%;
            }
            .type-curso .type-curso-content-info > .type-curso-content-difficulty {
                _margin-left: 0;
                order: 2;
            }
            .type-curso .type-curso-content-info > em {
                display: none;
            }

            .type-curso .type-curso-content .type-curso-content-data-datetime > .type-curso-content-data-datetime-time {
                margin: 0;
                line-height: 1.5;
            }
            

        .listado-de-cursos .post-list-item .type-curso-content {
            height: auto;
        }

    /* RECETAS */
    .rvy-single-receta-data-info {
        flex-direction: column;
        gap: 0;
        background-position: 0 var(--rvy_wrapper_gap);
    }
        .rvy-single-receta-data-info > div:not(:nth-child(1)) {
            padding-left: 0;
            border-width: 0;;
        }
    .rvy-single-receta-data-ingredientes {
        flex-direction: column;
    }
    .rvy-single-receta-share {
        flex-direction: column;
    }
        .rvy-single-receta-share .rvy-single-receta-share-rrss,
        .rvy-single-receta-share .rvy-single-receta-share-download {
            margin: 0 auto;
        }
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item,
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-active, 
    .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper > .post-list-item.tns-slide-item-center {
        width: calc(12.66667%)!important;
    }
        .posts-carousel.home-block-noticias .listado-de-posts .post-list-wrapper .post-list-item .post-taxonomy {
            margin-top: auto;
        }
}
