/* General */
.com-content-article a[target="_blank"]::after,
.item-page a[target="_blank"]::after {
    content: url("https://www.joomtheme.com/images/icons/box-arrow-up-right.svg");
    margin-left: 0.5rem;
    vertical-align: middle;
}
.a2a_default_style:not(.a2a_flex_style) a::after {
    display: none;
}

/* Element */
.icon-link {
    text-decoration-color: transparent;
}
.icon-link:before {
    content: none;
}
.icon-link > .bi {
    -webkit-transition: -webkit-transform 0.1s linear;
    transition: -webkit-transform 0.1s linear;
    transition: transform 0.1s linear;
    transition: transform 0.1s linear, -webkit-transform 0.1s linear;
}
.icon-link-hover:hover > .bi,
.icon-link-hover:focus-visible > .bi {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
}
.bi {
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentcolor;
}
.btn {
    border-radius: 3rem;
}

/* Header */
.container-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "top below"
        "logo logo"
        "nav nav";
    -webkit-box-shadow: 0 2px 8px 0 rgba(32, 33, 36, .08);
    box-shadow: 0 2px 8px 0 rgba(32, 33, 36, .08);
}
.container-header .container-topbar {
    padding: 0.5em;
}
.container-header .container-topbar {
    grid-area: top;
    font-size: 0.875rem;
    color: currentColor;
    font-weight: 500;
}
.container-header .container-topbar p,
.container-header .container-below-top p {
    margin-bottom: 0;
}
.container-header .container-below-top {
    grid-area: below;
    justify-content: flex-end;
    color: currentColor;
    font-size: 0.875rem;
    font-weight: 500;
}
.container-header .grid-child:has(.navbar-brand) {
    grid-area: logo;
}
.container-header .container-nav {
    grid-area: nav;
}
@media (width >= 991.98px) {
    .container-header {
        grid-template-columns:
            [full-start] minmax(0, 1fr)
            [main-start] repeat(4, minmax(0, 19.875rem))
            [main-end] minmax(0, 1fr) [full-end];
        grid-template-areas: ". logo nav nav nav .";
        gap: 0 3rem;
    }
    .container-header:has(.container-below-top, .container-topbar) {
        grid-template-areas:
            ". top top below below ."
            ". logo nav nav nav .";
    }
}
.container-header .navbar-brand {
    padding: 0;
}
.container-header .navbar-brand a {
    font-size: 1.375rem;
    font-weight: 500;
}
.container-header .navbar-brand img { /* logo */
    width: 10rem;
    height: auto;
}
#mod-custom110 p { /* header menu right button */
    margin: 0;
}
#mod-custom110 .btn {
    position: relative;
    top: .3rem;
}
.container-header .navbar-toggler { /* mobile menu */
    color: currentColor;
    border: 1px solid currentColor;
}
@media (width <= 991.98px) {
    .container-header .mod-menu .mod-menu__sub a, .container-header .mod-menu .mod-menu__sub span {
        color: currentColor;
    }
}
.container-header .mod-menu>li.active:after, .container-header .mod-menu>li:hover:after {
    background: currentColor;
}
@media (width >= 992px) {
    .container-header .mod-menu :where(.mod-menu__sub:not(.mod-menu__sub *)) {
        box-shadow: 0 2px 7px 0 #00000014;
        -webkit-box-shadow: 0 2px 7px 0 #00000014;
        border-radius: .5rem;
    }
}

.mod-list li {
    padding: .4rem 0 .4rem 0;
}
.mod-list li a {
    font-size: 1rem;
}