a, a:hover {
    color: var(--primary-brand-color);
    text-decoration: none;
    transition: all .1s linear;
}

/* default link */
.ui-default-link {
    display: inline;
    text-decoration: none;
    color: var(--primary-brand-color);
    border-bottom: 1px solid transparent;
    -webkit-transition: all .1s linear;
    transition: all .1s linear;
    padding-bottom: 2px;
}

.ui-default-link:hover {
    border-bottom-color: var(--primary-brand-color);
}

.ui-default-link.white-text:hover {
    border-bottom-color: var(--white-color);
}

/* default button */
button {
    margin: 0;
    padding: 0;
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
    text-rendering: auto;
    letter-spacing: normal;
    word-spacing: normal;
    text-indent: 0;
    text-shadow: none;
    text-align: inherit;
    cursor: default;
    background: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: none;
    outline: 0;
}

.ui-default-button {
    max-width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 1;
    letter-spacing: normal;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
    border: 1px solid transparent;
    -webkit-transition: all .1s linear;
    transition: all .1s linear;
}

.ui-default-button:active, .ui-default-button:focus, .ui-default-button:hover {
    text-decoration: none;
}

/* button size */
.ui-default-button--lg {
    height: 56px;
    padding: 16px 18px;
    font-size: var(--medium-font-size);
    font-weight: var(--regular-font-weight);
    line-height: var(--medium-line-height);
}

@media (max-width: 770px) {
    .ui-default-button--lg {
        height: 40px;
        font-size: var(--small-font-size);
        padding: 10px 18px;
    }
}

.ui-default-button--md {
    height: 40px;
    padding: 10px 18px;
    font-size: var(--small-font-size);
    font-weight: var(--regular-font-weight);
    line-height: var(--medium-line-height);
}

/* button rounded */
.ui-default-button--rounded {
    border-radius: 6px;
}

/* button truncate */
.ui-default-button--truncate {
    width: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.ui-default-button--truncate:after, .ui-default-button--truncate:before {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.ui-default-button--truncate .ui-default-button__text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* button color */
.ui-default-button--brand-color {
    background-color: var(--primary-brand-color);
}

.ui-default-button--brand-color:focus, .ui-default-button--brand-color:hover {
    background-color: #6EC027;
}

.ui-default-button--brand-color:active {
    background-color: #6DAD36;
}

.ui-default-button--light-color {
    background-color: var(--white-color);
}

.ui-default-button--light-color:focus, .ui-default-button--light-color:hover {
    -webkit-box-shadow: 0 8px 18px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 0 8px 18px 0 rgba(0, 0, 0, 0.16);
}

.ui-default-button--light-color:active {
    background-color: var(--white-color);
}

.ui-default-button--transparent {
    background-color: rgba(0, 0, 0, 0);
}

.ui-default-button--transparent:focus, .ui-default-button--transparent:hover {
    background-color: rgba(55, 59, 60, .102);
}

.ui-default-button--transparent:active {
    background-color: rgba(55, 59, 60, .149);
}

.ui-default-button--border-light {
    border-color: var(--white-color);
}

.ui-default-button--border-grey  {
    border-color: var(--light-gray-color);
}

.ui-default-button--border-brand-color {
    border-color: var(--primary-brand-color);
}

/* button shadow  */
.ui-default-button--shadow {
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.16);
}

.ui-default-button--shadow:hover {
    -webkit-box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, .12);
            box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, .12);
}

.ui-default-button--shadow:active {
    -webkit-box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, .10);
            box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, .10);
}

/* button text */
.ui-default-button__text {
    display: inline-block;
    position: relative;
    z-index: 2;
    line-height: inherit;
    font-size: inherit;
    color: inherit;
    background: 0 0;
    vertical-align: bottom;
}

.ui-default-button--lg .ui-default-button__text {
    margin: 2px 8px;
}

.ui-default-button--md .ui-default-button__text {
    margin: 2px 4px;
}

/* button icon size */
.ui-default-button--left-icon::before,
.ui-default-button--right-icon::after {
    content: '';
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-mask-image: var(--mask-path);
    mask-image: var(--mask-path);
    -webkit-mask-size: 100%;
            mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.ui-default-button--lg.ui-default-button--left-icon::before,
.ui-default-button--lg.ui-default-button--right-icon::after {
    height: 24px;
    width: 24px;
}

.ui-default-button--md.ui-default-button--left-icon::before,
.ui-default-button--md.ui-default-button--right-icon::after {
    height: 16px;
    width: 16px;
}

/* button icon item */
.ui-default-button--forward-icon:after {
    --mask-path: url(../../img/icon/forward.svg);
}

.ui-default-button--backward-icon:before {
   --mask-path: url(../../img/icon/backward.svg);
}

.ui-default-button--pdf-icon:after,
.ui-default-button--pdf-icon:before {
    --mask-path: url(../../img/icon/pdf.svg);
}

/* button icon color */
.white-icon::after, .white-icon::before {
    background-color: var(--white-color);
}

.black-icon::after, .black-icon::before {
    background-color: var(--primary-text-color);
}

.brand-color-icon::after, .brand-color-icon::before {
    background-color: var(--primary-brand-color);
}

.gray-icon::after, .gray-icon::before {
    background-color: var(--light-gray-color);
}

/* button form square */
.ui-default-button--square {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.ui-default-button--lg.ui-default-button--square {
    width: 56px;
    height: 56px;
    padding: 16px;
}

.ui-default-button--md.ui-default-button--square {
    width: 34px;
    height: 34px;
    padding: 8px;
}

/* buttons group */
.buttons-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 12px;
}

.buttons-group-justify-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.buttons-group-align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* button additional */
.hidden {
    display: none;
}

.disabled, [aria-disabled="true"] {
    opacity: .4;
    cursor: not-allowed;
    pointer-events: none;
}