.call-to-action {
	--title-color: var(--sw-key-color);
	--subtitle-color: var(--sw-key-color);
    --icon-color: var(--gray-100);
    --title-font-family: var(--font-damion);
    --subtitle-font-family: var(--font-body);

    position: relative;
    display: flex;
    justify-content: center;
}

.call-to-action .inner {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: var(--space-5);
    padding: 20px;
    padding: 14px 20px;
    z-index: 1;
}

.call-to-action .icon-cont {
    --ic-width: 69px;
    --ic-height: 77px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--ic-width);
    height: var(--ic-height);
    background-color: var(--white);
    border: 1px solid var(--black);
}

.call-to-action .icon-cont::before {
    --offset-distance: 4px;
    content: "";
    pointer-events: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(var(--ic-width) - (var(--offset-distance) * 2));
    height: calc(var(--ic-height) - (var(--offset-distance) * 2));
    border: 1px solid var(--black);
    transition: border-color var(--transition-appendix-slow);
}

.call-to-action a:hover .icon-cont::before {
    border-color: transparent
}

.call-to-action .content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.call-to-action .icon-cont {
    position: relative;
}

.call-to-action .icon-cont .icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity var(--transition-appendix-slow), width var(--transition-appendix-slow), height var(--transition-appendix-slow);
}

.call-to-action .icon-cont .vguide-icon {
    --vg-icon-width: 32px;
    --vg-icon-height: calc(var(--vg-icon-width) * 1.15);
    height: var(--vg-icon-height);
    width: var(--vg-icon-width);
}

.call-to-action .icon-cont .enews-icon {
    --en-icon-width: 32px;
    --en-icon-height: var(--en-icon-width);
    height: var(--en-icon-height);
    width: var(--en-icon-width);
}

.call-to-action .icon-cont .icon.hover {
    opacity: 0;
}

.call-to-action a:hover .icon-cont .icon {
    opacity: 0;
}

.call-to-action a:hover .icon-cont .icon.hover {
    opacity: 1;
}

.call-to-action a:hover .icon-cont .vguide-icon {
    --vg-icon-width: 41px;
}

.call-to-action a:hover .icon-cont .enews-icon {
    --en-icon-width: 41px;
}

.call-to-action .title {
    font-family: var(--title-font-family);
    color: var(--title-color);
    font-size: 1.875rem;
    line-height: var(--leading-tight);
}

.call-to-action .subtitle {
    font-family: var(--subtitle-font-family);
    color: var(--subtitle-color);
    font-size: 0.9375rem;
    line-height: var(--leading-tight);
    font-weight: var(--font-weight-medium);
}

.call-to-action .read-more {
    font-size: var(--text-xs);
}

@media screen and (min-width: 64em) {
    .call-to-action .inner {
        gap: 10px;
        justify-content: center;
        padding: 20px;
    }

    .call-to-action .icon-cont::before {
        --offset-distance: 4px;
        --ic-width: 80px;
        --ic-height: 90px;
    }

    .call-to-action .icon-cont {
        outline-offset: -5px;
        height: 90px;
        width: 80px;
    }

    .call-to-action .icon-cont .enews-icon {
        --en-icon-width: 37px;
    }

    .call-to-action .icon-cont .vguide-icon {
        --vg-icon-width: 35px;

    }

    .call-to-action .icon {
        width: 38px;
    }

    .call-to-action .title {
        font-size: 2.25rem;
    }

    .call-to-action .subtitle {
        font-size: 0.9375rem;
    }
}

.mobile-cta-cont {
    .call-to-action {
        display: block;
    }

    > div:not(:first-child) {
        position: relative;
    }

    > div:not(:first-child)::before {
        content: '';
        pointer-events: none;
        position: absolute;
        left: 50%;
        top: 0;
        translate: -50% 0;
        display: block;
        width: calc(100% - var(--space-10));
        height: 2px;
        background-color: var(--sw-key-color);
    }

    .title {
        font-size: 2.25rem;
        font-weight: var(--font-weight-normal);
        line-height: 1;
    }

    .subtitle {
        font-size: 0.9375rem;
        font-weight: var(--font-weight-medium);
        line-height: 1;
    }
}
