.button--underline {
    display: inline-flex;
    align-items: center;
    flex-flow: row wrap;
    column-gap: 0px;
    text-decoration: none;
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-secondary-font-family);
    font-weight: var(--e-global-typography-secondary-font-weight);
    text-transform: uppercase;
    font-size: 22px;
    position: relative;
    background-image: linear-gradient(90deg, 91.6%);
    background-size: 40% 3px;
    background-position: left bottom;
    background-repeat: no-repeat;
    transition: background-size 300ms ease;
}
.button--underline:hover {color: var(--e-global-color-primary);}
.button--underline::after {
    content: '';
    display: block;
    position: absolute;
    bottom:0;
    left:0;
    width: 25%;
    height: 2px;
    transition: all linear 0.4s;
    background-color: var(--e-global-color-primary);
    background-color: var(--olive-green);
}

.button--underline:hover::after {
    width: 100%;
}

.button--underline span {
     display: block;
     visibility: hidden;
}

.button--underline:hover span {
    visibility: visible;
    padding-left: 5px;
}

/*******************/
.button_widget .button--read-more {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    gap: 0px;
    text-decoration: none;
    font-family: var(--e-global-typography-secondary-font-family);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--olive-green);
    font-size: 18px;
    letter-spacing: 0.36px;
    margin-top:0px;
    padding-left: 45px;
}
.button_widget .button--read-more:hover {color: var(--olive-green);}
.button_widget .button--read-more::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background-color: var(--olive-green);
    transition: all linear 0.1s;
    margin-right: 15px;
    position: absolute;
    left: 0;
    top:0;
}

/*******************/
.button--fill-icon {
    display: inline-flex;
    align-items: center;
    background-color: var(--e-global-color-primary) !important;
    border-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-secondary);
    font-family: var(--e-global-typography-accent-font-family);
}
.button--fill-icon::before {
        content: '';
        display: inline-block;
        background-color: var(--e-global-color-secondary) !important;
        width: 20px;
        height: 20px;
        margin-right: 15px;
    }

.button--fill-icon:hover {
        background-color: var(--e-global-color-accent) !important;
        border-color: var(--e-global-color-accent) !important;
        color: var(--e-global-color-secondary) !important;
    }
