/*
Theme Name:   Hello Child
Theme URI:    https://example.com
Description:  Child theme for Hello Elementor
Author:       Tu nombre o empresa
Author URI:   https://example.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-child
*/

/* a blank line after the header is required */
html {
    width: 100%;
    overflow-x: hidden;
}
/* Place custom CSS below */
header#site-header {
    z-index: 12;
    border-bottom: 2px solid #042b4d;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    transition-duration: .3s;
}
body.admin-bar header#site-header {
    top: 32px;
}
/* Línea animada debajo de los links del menú */
.site-navigation ul.menu li a{
position: relative;              /* necesario para posicionar el ::after */
}

.site-navigation ul.menu li a::after{
    content: '';
    position: absolute;
    left: 15px;                         /* pegado al borde izquierdo del link */
    bottom: 5px;                    /* 5 px por debajo del texto */
    width: 0;                        /* empieza escondida */
    height: 1px;                     /* grosor de la línea */
    background-color: #6386ac;       /* celeste - cambia si lo deseas */
    transition: width .3s ease;      /* animación suave de 0,3 s */
}

.site-navigation ul.menu li a:hover::after,
.site-navigation ul.menu li a:focus::after,
.site-navigation ul.menu li a.active::after {
    width: calc(100% - 30px);                     /* se expande a todo el ancho */
}
.site-header .site-branding .site-logo img {
    height: auto;
}

.site-navigation ul.menu li a {
    text-decoration: unset;
}

.site-header .header-inner .custom-logo-link {
    display: flex!important;
}

.site-logo.show {
    width: 500px;
}

.site-logo.show img:nth-child(1) {
    width: 65px!important;
    height: 66px!important;
    aspect-ratio: 1;
    transition-duration: .3s;
    align-self: center;
}

.site-logo.show img:nth-child(2) {
    height: 66px!important;
    width: auto!important;
    margin-left: 20px;
    transition-duration: .3s;
    align-self: center;
}

.site-header .header-inner {
    padding: 0 20px;
}

.no-margin p, .no-margin {
    margin: 0;
}

header#site-header.collapsed {padding: 10px 0;}

header#site-header.collapsed .site-logo.show img:nth-child(2) {
    opacity: 0;
    height: 50px!important;
    /* height: 20px!important; */
    /* align-self: center; */
}

header#site-header.collapsed .site-logo.show img:nth-child(1) {
    width: 50px!important;
    height: 50px!important;
}

header#site-header.collapsed .site-navigation ul.menu {
    margin: 0!important;
}

body.admin-bar main#content {
    margin-top: calc(32px + 69px);
}

main#content {margin-top: 69px;}

/* form */
.ff-default .ff-el-form-control:focus {
    background-color: #FEF7E5!important;
}

textarea {
    border-radius: 20px!important;
    resize: none;
}
.contact-wrapper, .contact-wrapper .elementor-shortcode, .contact-wrapper .elementor-shortcode .fluentform, .contact-wrapper .elementor-shortcode form, .contact-wrapper .elementor-shortcode fieldset {
    height: 100%;
}

.contact-wrapper .elementor-shortcode fieldset {
    display: flex;
    flex-direction: column;
}

.contact-wrapper .elementor-shortcode fieldset .ff-el-group:nth-of-type(3) {
    flex-grow: 1;
}

.contact-wrapper .elementor-shortcode fieldset .ff-el-group:nth-of-type(3) .ff-el-input--content, .contact-wrapper .elementor-shortcode fieldset .ff-el-group:nth-of-type(3) .ff-el-input--content textarea {
    height: 100%;
}

.ff_submit_btn_wrapper {
    margin: 0!important;
}

.elementor-kit-1351 input:not([type="button"]):not([type="submit"]),
.elementor-kit-1351 textarea,
.elementor-kit-1351 .elementor-field-textual {
    padding: 12px 16px!important;
    font-size: 16px;
    
}

.elementor-kit-1351 input:not([type="button"]):not([type="submit"])::placeholder,
.elementor-kit-1351 textarea::placeholder,
.elementor-kit-1351 .elementor-field-textual::placeholder {
    color: #6386ac!important;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.5px;
    font-family: "Reddit Sans", sans-serif;
}

.ff-default .ff_btn_style {
    background-color: #102e4a !important;
    font-family: 'Frank Ruhl Libre';
    transition-duration: .6s!important;
    border-radius: 40px;
    font-weight: 300;
    font-size: 18px;
}

.ff-default .ff_btn_style:hover {
    opacity: 1!important;
    scale: 1.05;
}

.site-footer .footer-inner {
    justify-content: center !important;
    padding: 40px 10px 5px;
    font-weight: 500;
    line-height: 145%;
}

.site-footer .footer-inner .site-copyright {
    margin-top: 50px;
    font-size: 13px;
    color: #102e4a;
}

.site-footer .footer-inner a {
    font-size: 12px!important;
    text-decoration: none;
    font-weight: 400;
}


.ff-message-success {
    border: none;
    background-color: #fef7e5;
    color: #102e4a;
    text-align: center;
}

.elementor-slideshow__title {
    display: none;
}

img.custom-logo {
    max-width: calc(100% - 39px);
    padding: 0 20px;
    height: auto;
}

* {
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .site-logo.show img:nth-child(1) {
        width: 40px!important;
        height: 40px!important;
    }
    
    .site-logo.show img:nth-child(2) {
        display: none!important;
    }
    
    a.custom-logo-link {
        display: inline-block;
        max-width: 50px!important;
    }
    
    .site-branding.show-logo {
        display: inline-flex !important;
        width: 55px !important;
        max-width: 55px !important;
    }
    body.admin-bar main#content {
        margin-top: calc(32px + 34px);
    }
    
    main#content {margin-top: 80px;}
    ul.tag-list li {
        font-size: 17px;
    }
    .site-footer .footer-inner .custom-logo-link {
        text-align: center;
        display: flex!important;
        width: 100%;
        justify-content: center;
        max-width: unset!important;
    }
    
    .site-footer .footer-inner .custom-logo-link img {
        max-width: calc(100vw - 52px);
    }
    
    footer .logo-copyright-wrapper {
        width: 100%;
    }
}

.site-branding.show-logo {
    flex-basis: fit-content;
    max-width: 326px;
}

@media (max-width: 1050px) and (min-width: 992px) {
    .site-navigation ul.menu li a {
        font-size: 16px;
    }
}

ul.cismia {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    width: fit-content;
}
ul.cismia > li {
    padding: 6px 0;
    border-bottom: 1px solid #fef7e52b;
    /* width: fit-content; */
}

ul.cismia > li:last-child {
    border-bottom: none;
}
.dispositivo.right .elementor-widget-text-editor .elementor-widget-container {
    display: flex;
    flex-direction: column;
    align-items: end;
}