.glcr-title {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.glcr-title-subtitle span {
    display: inline-block;
    position: relative;
}

.glcr-title-subtitle span:before, .glcr-title-subtitle span:after {
    content: '';
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    display: none;
    transform: translateY(-50%);
    border-radius: 100%;
}

.glcr-title-subtitle span:after {
    right: -22px;
}

.glcr-title-subtitle span:before {
    left: -22px;
}

.glcr-title-circle-yes .glcr-title-subtitle span:before, .glcr-title-circle-yes .glcr-title-subtitle span:after {
    display: block;
}

.glcr-subtitle-left .glcr-title-subtitle span:after, .glcr-subtitle-right .glcr-title-subtitle span:before {
    display: none;
}

.glcr-subtitle-left .glcr-title-circle-yes .glcr-title-subtitle span {
    margin-left: 22px;
}

.glcr-subtitle-right .glcr-title-circle-yes .glcr-title-subtitle span {
    margin-right: 22px;
}

.glcr-title-st-line-both-side .glcr-title-subtitle span:before, .glcr-title-st-line-both-side .glcr-title-subtitle span:after, .glcr-title-st-line-before .glcr-title-subtitle span:before, .glcr-title-st-line-after .glcr-title-subtitle span:after {
    display: block;
}

.glcr-title-heading {
    position: relative;
    z-index: 1;
    color: var(--swm-color-headings);
    font-weight: var(--swm-headings-font-weight);
    font-family: var(--swm-headings-font-family);
}

.glcr-title-subtitle {
    position: relative;
    z-index: 0;
    color: var(--swm-color-color-1);
}

.glcr-title-subtitle span:before, .glcr-title-subtitle span:after {
    background: var(--swm-color-color-2);
}

.glcr-title-desc {
    color: var(--swm-color-text);
}

.glcr-title-link {
    position: relative;
    display: inline-block;
    top: auto;
    left: auto;
    height: auto;
    width: auto;
    z-index: 1;
    overflow: hidden;
    display: flex;
    flex-direction: row;
}

.glcr-title-align-center .glcr-title-link {
    justify-content: center;
}

.glcr-title-link a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.glcr-title-link span.glcr-title-link-icon {
    display: inline-block;
    position: relative;
    transform: rotate(-45deg);
}

.glcr-title-link span.glcr-title-link-icon:before {
    font-family: "swm-font-icon";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    font-size: 12px;
}

.glcr-title-link span.glcr-title-link-text {
    opacity: 0;
    visibility: hidden;
    font-weight: var(--swm-headings-font-weight);
    font-family: var(--swm-headings-font-family);
    font-size: calc(var(--body-font-size) - 2px);
    position: relative;
    margin-right: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    -webkit-transition: visibility 0.4s ease, margin-right 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    -ms-transition: visibility 0.4s ease, margin-right 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    transition: visibility 0.4s ease, margin-right 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    will-change: visibility, margin-right, text-indent, opacity;
}

#swm-wrap .glcr-title:hover .glcr-title-link span.glcr-title-link-text {
    opacity: 1;
    text-indent: 0;
    visibility: visible;
    -webkit-transition: visibility 0.4s ease, margin-right 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
    -ms-transition: visibility 0.4s ease, margin-right 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
    transition: visibility 0.4s ease, margin-right 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
}

.glcr-title-align-center .glcr-title {
    align-items: center;
}

.glcr-title-align-right .glcr-title {
    align-items: flex-end;
}

/*text align right*/
.glcr-title-align-right .glcr-title-link {
    justify-content: flex-end;
    direction: rtl;
    text-align: right;
    flex-direction: row-reverse;
}

.glcr-title-align-right .glcr-title-link span.glcr-title-link-icon {
    transform: rotate(135deg);
}

.glcr-title-align-right .glcr-title-link span.glcr-title-link-text {
    margin-left: 0;
    -webkit-transition: visibility 0.4s ease, margin-left 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    -ms-transition: visibility 0.4s ease, margin-left 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    transition: visibility 0.4s ease, margin-left 0.4s ease-out, text-indent 0.5s ease-out, opacity 0.4s ease;
    will-change: visibility, margin-left, text-indent, opacity;
}

#swm-wrap .glcr-title-align-right .glcr-title:hover .glcr-title-link span.glcr-title-link-text {
    -webkit-transition: visibility 0.4s ease, margin-left 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
    -ms-transition: visibility 0.4s ease, margin-left 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
    transition: visibility 0.4s ease, margin-left 0.3s ease-out, text-indent 0.4s ease-out, opacity 0.4s ease;
}

.glcr-scroll--load.glcr-title .glcr-title-subtitle, .glcr-scroll--load.glcr-title .glcr-title-heading, .glcr-scroll--load.glcr-title .glcr-title-desc, .glcr-scroll--load.glcr-title .glcr-title-link {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.25s, transform 0.45s cubic-bezier(0.26, -0.14, 0, 1.01);
}

.glcr--loaded.glcr-title .glcr-title-subtitle, .glcr--loaded.glcr-title .glcr-title-heading, .glcr--loaded.glcr-title .glcr-title-desc, .glcr--loaded.glcr-title .glcr-title-link {
    opacity: 1;
    transform: translateX(0) translateZ(0);
}

.glcr--loaded.glcr-title .glcr-title-heading {
    transition-delay: 0.25s;
}

.glcr--loaded.glcr-title .glcr-title-desc {
    transition-delay: 0.35s;
}

.glcr--loaded.glcr-title .glcr-title-link {
    transition-delay: 0.45s;
}

/* ------------------------------------------- */
.glcr-title.glcr-title-stroke .glcr-title-heading, .glcr-title.glcr-title-subtitle-stroke .glcr-title-subtitle {
    -webkit-text-stroke-color: var(--swm-color-headings);
}

.glcr-title-orientation--vertical .glcr-title {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
}

@media only screen and (max-width:1024px) {
    .glcr-title-orientation--tablet-vertical .glcr-title {
        writing-mode: vertical-lr;
        transform: rotate(180deg);
    }

    .glcr-title-orientation--tablet-horizontal .glcr-title {
        writing-mode: unset;
        transform: rotate(0);
    }

}

@media only screen and (max-width:767px) {
    .glcr-title-orientation--mobile-vertical .glcr-title {
        writing-mode: vertical-lr;
        transform: rotate(180deg);
    }

    .glcr-title-orientation--mobile-horizontal .glcr-title {
        writing-mode: unset;
        transform: rotate(0);
    }

}