:root {
    --color-gris: #505050;
    --color-gris-claro: #fafafa;
    --color-cian: #00aabc;
    --color-verde: #bed630;
    --color-hover: #18bc9c;
    --color-letras-negras: #1d2b2f;
    --color-hover-principal: #38342cc9;
    --color-blanco-principal: #f1eee9;
}

.sf-main a:hover {
    color: var(--color-hover) !important;
}

.sf-main a.is-active {
    color: var(--color-cian) !important;
    font-weight: bold;
}

.sf-menu ul {
    background: white !important;
}

.sf-menu a {
    font-size: 16px !important;
}


/********************** flecha *******************************/

ul.sf-menu .sf-sub-indicator:after {
    display: none !important;
}

ul.sf-menu .sf-sub-indicator {
    border-right: 2px solid var(--color-cian) !important;
    border-bottom: 2px solid var(--color-cian) !important;
    transform: rotate(-45deg) !important;
    width: 8px !important;
    height: 8px !important;
    top: 15px !important;
    padding: 0 !important;
}

.sf-menu a.sf-with-ul {
    padding-right: 25px;
}

li.sf-depth-1:hover .sf-sub-indicator {
    transform: rotate(45deg) !important;
    border-right-color: var(--color-cian) !important;
    border-bottom-color: var(--color-cian) !important;
}

.sf-sub-indicator {
    transition: transform 0.3s ease-in-out !important;
}

li.active-trail.sf-depth-1 .sf-sub-indicator {
    transform: rotate(45deg) !important;
}


/****************** ALMOHADILLA MOBILE **************************/

.collapse:not(.show),
.collapse {
    display: block !important;
}

.navbar-toggler {
    display: none;
}

.sf-accordion-toggle a#superfish-main-toggle span {
    display: none;
}

div.sf-accordion-toggle.sf-style-default a {
    position: absolute;
    font-weight: bold;
    background: transparent;
    padding: 1em 3em 1em 1em;
    top: 33px;
    right: 8px;
}

div.sf-accordion-toggle.sf-style-default>a:after {
    content: "≡";
    font-size: 3em;
    position: absolute;
    right: 0.5em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    speak-as: none;
    color: var(--color-cian);
}

div.sf-accordion-toggle.sf-style-default a.sf-expanded,
ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded {
    background: none;
}

div.sf-accordion-toggle.sf-style-none>a.sf-expanded:after {
    top: 40px;
}






.sf-menu a {
    text-transform: uppercase !important;
}

.sf-menu span.sf-with-ul {
    padding: 0.7em 0.8em !important;
    padding-right: 25px !important;
    margin-top: 4px !important;
    color: #333;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.7);
    text-shadow: 0 1px #eee;
}

.sf-menu span {
    font-size: 16px !important;
}











ul#superfish-main {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
}

ul#superfish-main li {
    padding: 0 !important;
    margin: 0 !important;
}

ul#superfish-main li span {
    margin-top: 0 !important;
}


ul.sf-menu.sf-style-default li,
ul.sf-menu.sf-style-default.sf-navbar {
    background: white !important;
}

ul.sf-menu.sf-style-default a,
ul.sf-menu.sf-style-default a:visited,
ul.sf-menu.sf-style-default span.nolink {
    color: var(--color-cian) !important;
    text-decoration: none;
    border-radius: 0;
    background: white !important;
    text-transform: uppercase;
}

.sf-menu span.sf-with-ul {
    margin: 0;
    padding: 0;
}

ul.sf-menu.sf-style-default li:hover,
ul.sf-menu.sf-style-default li.sfHover,
ul.sf-menu.sf-style-default a:focus,
ul.sf-menu.sf-style-default a:hover,
ul.sf-menu.sf-style-default span.nolink:hover {
    background: white !important;
    color: var(--color-hover) !important;
}


ul.sf-menu.sf-style-default li a.is-active {
    border-radius: 10px;
    color: white !important;
    background: linear-gradient(135deg, #00aabc, #bed630) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

ul.sf-menu.sf-style-default li a.is-active:hover {
    background: linear-gradient(135deg, #00c9d2, #d4f249) !important;
}




/****************** MOBILE **************************/
@media (max-width: 700px) {
    .region-primary-menu {
        display: flex;
        flex-direction: column;
        padding: 0 10px;
        align-items: flex-start;
    }

    li.sf-depth-2,
    li.sf-depth-2 a {
        background: gray !important;
        color: white !important;
        position: relative;
    }

    li.sf-depth-2:before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        right: 50%;
        transform: translateX(-50%);
        width: 100vw;
        background: gray;
        z-index: 0;
        height: 100%;
    }
}