/* ==========================================================================
   Button shortcode style - begin
   ========================================================================== */

.eltdf-btn {
    @include eltdfButtonDefaultStyle();
    @include eltdfButtonSize();
    cursor: pointer;
    
    &.eltdf-btn-simple {
        padding: 0 !important;
        color: $default-heading-color;
        background-color: transparent;
        border: 0;
        vertical-align: middle;
        position: relative;

        .eltdf-btn-text {
            display: inline-block;
            vertical-align: middle;
        }

        .eltdf-btn-line {
            position: absolute;
            left: 50%;
            bottom: 4px;
            @include eltdfTransform(translateX(-50%));
            height: 1px;
            width: 19px;
            background-color: currentColor;
            content: '';
            @include eltdfTransition(all .2s ease);
        }

        &:hover {
            .eltdf-btn-line {
                width: 100%;
                @include eltdfTransition(all .2s ease);
            }
        }

        &:not(.eltdf-btn-custom-hover-color):hover {
            //important because of inline color attribute. :not is used so we don't have to use important in JS
            color: $default-heading-color !important;
        }

        &:not(.eltdf-btn-custom-hover-bg):hover {
            //important because of inline color attribute. :not is used so we don't have to use important in JS
            background-color: transparent !important;
        }

        &:not(.eltdf-btn-custom-border-hover):hover {
            //important because of inline color attribute. :not is used so we don't have to use important in JS
            border-color: transparent !important;
        }
    }

    &.eltdf-btn-solid {
        @include eltdfButtonSolidColor();

        .eltdf-btn-line {
            position: absolute;
            background-color: currentColor;
            @include eltdfTransition(transform .35s ease-out);
        }

        .eltdf-btn-line-top {
            left: 4px;
            top: 4px;
            height: 1px;
            width: calc(100% - 8px);
            @include eltdfTransform(scaleX(0));
            transform-origin: left center;
        }
        .eltdf-btn-line-right {
            right: 4px;
            bottom: 4px;
            width: 1px;
            height: calc(100% - 8px);
            @include eltdfTransform(scaleY(0));
            transform-origin: center bottom;
        }
        .eltdf-btn-line-bottom {
            right: 4px;
            bottom: 4px;
            height: 1px;
            width: calc(100% - 8px);
            @include eltdfTransform(scaleX(0));
            transform-origin: right center;
        }
        .eltdf-btn-line-left {
            left: 4px;
            top: 4px;
            width: 1px;
            height: calc(100% - 8px);
            @include eltdfTransform(scaleY(0));
            transform-origin: center top;
        }

        &:hover {
            .eltdf-btn-line-top,
            .eltdf-btn-line-bottom {
                @include eltdfTransform(scaleX(1));
            }
            .eltdf-btn-line-left,
            .eltdf-btn-line-right {
                @include eltdfTransform(scaleY(1));
            }
        }

    }

    &.eltdf-btn-outline {
	    @include eltdfButtonOutlineColor();

        .eltdf-btn-line {
            position: absolute;
            background-color: currentColor;
            @include eltdfTransition(transform .35s ease-out);
        }

        .eltdf-btn-line-top {
            left: 4px;
            top: 4px;
            height: 1px;
            width: calc(100% - 8px);
            @include eltdfTransform(scaleX(1));
            transform-origin: right center;
        }
        .eltdf-btn-line-right {
            right: 4px;
            bottom: 4px;
            width: 1px;
            height: calc(100% - 8px);
            @include eltdfTransform(scaleY(1));
            transform-origin: center top;
        }
        .eltdf-btn-line-bottom {
            right: 4px;
            bottom: 4px;
            height: 1px;
            width: calc(100% - 8px);
            @include eltdfTransform(scaleX(1));
            transform-origin: left center;
        }
        .eltdf-btn-line-left {
            left: 4px;
            top: 4px;
            width: 1px;
            height: calc(100% - 8px);
            @include eltdfTransform(scaleY(1));
            transform-origin: center bottom;
        }

        &:hover {
            .eltdf-btn-line-top,
            .eltdf-btn-line-bottom {
                @include eltdfTransform(scaleX(0));
            }
            .eltdf-btn-line-left,
            .eltdf-btn-line-right {
                @include eltdfTransform(scaleY(0));
            }
        }
    }
    
    &.eltdf-btn-small {
        @include eltdfButtonSize(small);
    }
    
    &.eltdf-btn-large {
        @include eltdfButtonSize(large);
    }
    
    &.eltdf-btn-huge {
        @include eltdfButtonSize(huge);
    }

    &.eltdf-btn-icon {

        > i,
        > span:not(.eltdf-btn-text) {
            position: relative;
            display: inline-block;
            vertical-align: top;
            margin: 0 0 0 4px;
            font-size: 1.142857142857143em;
            line-height: inherit;

            &:before {
                display: block;
                line-height: inherit;
            }
        }
    }
}
/* ==========================================================================
   Button shortcode style - end
   ========================================================================== */