// Border radius
@mixin border-radius( $args ) {
    -webkit-border-radius: $args;
    -moz-border-radius: $args;
    -ms-border-radius: $args;
    border-radius: $args;
}

// Box shadow
@mixin box-shadow( $args ) {
    -webkit-box-shadow: $args;
    -moz-box-shadow: $args;
    box-shadow: $args;
}

// Opacity
@mixin opacity( $args ) {
    -moz-opacity: $args;
    -webkit-opacity: $args;
    opacity: $args;
}

// Transition
@mixin transition( $args ) {
    -webkit-transition: $args;
    -moz-transition: $args;
    -ms-transition: $args;
    -o-transition: $args;
    transition: $args;
}

// Transition Duration
@mixin transition-duration( $args ) {
    -webkit-transition-duration: $args;
    -moz-transition-duration: $args;
    -ms-transition-duration: $args;
    -o-transition-duration: $args;
    transition-duration: $args;
}

// Transform
@mixin transform( $args ) {
    -webkit-transform: $args;
    -moz-transform: $args;
    -ms-transform: $args;
    -o-transform: $args;
    transform: $args;
}

// Animation
@mixin animation( $args ) {
    -webkit-animation: $args;
    -moz-animation: $args;
    -ms-animation: $args;
    -o-animation: $args;
    animation: $args;
}

// Animation Delay
@mixin animation-delay( $args ) {
    -ms-animation-delay: $args;
    -webkit-animation-delay: $args;
    -o-animation-delay: $args;
    -moz-animation-delay: $args;
    animation-delay: $args;
}

/*------------------------------------------------------------------
Search Icon
-------------------------------------------------------------------*/
.oew-search-icon-wrap {
    display: inline-block;
    position: relative;
    line-height: 1;

    &.oew-search-icon-header_replace {
        position: inherit;
    }

    .oew-search-toggle {
        display: inline-block;
        padding: 10px;
    }
}

.oew-search-dropdown {
    display: none;
    position: absolute;
    right: 0;
    background-color: #fff;
    border-top: 3px solid #13aff0;
    top: 100%;
    padding: 15px;
    width: 260px;
    @include box-shadow( 0 2px 7px rgba(0,0,0,0.1) );
    z-index: 10000;

    form input {
        display: block;
        background-color: transparent;
        @include border-radius( 0 );
        margin: 0;
    }
}

.oew-search-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.9);
    z-index: 9999;

    .container {
        position: relative;
        max-width: 550px;
        height: 100%;
    }

    form {
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -33px;
        width: 100%;
        text-align: center;

        input,
        label {
            font-size: 22px;
            line-height: 1.3;
            padding: 18px 0;
            margin: 0;
            min-height: 50px;
            color: #fff;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-align: center;
        }

        input {
            position: relative;
            border: 0;
            background-color: transparent;
            border-bottom: 1px solid #444;
            z-index: 2;
            @include transition( border-color .3s ease );

            &:hover {
                border-color: #777;
            }

            &:focus {
                border-color: #fff;
            }
        }

        label {
            display: block;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            cursor: text;
            @include opacity( .5 );
            z-index: 1;

            i {
                display: inline-block;
                background-color: #fff;
                width: 3px;
                height: 3px;
                margin-left: 3px;
                @include animation( blink 1s linear infinite );
            }

            i+i {
                @include animation-delay( .2s );
            }

            i+i+i {
                @include animation-delay( .4s );
            }
        }

        &.search-filled label {
            @include opacity( 0 );
            @include transition-duration( 150ms );
        }
    }

    a.oew-search-overlay-close {
        position: absolute;
        top: -50px;
        left: 50%;
        margin-left: -20px;
        width: 40px;
        height: 40px;
        background-color: rgba(255,255,255,0.2);
        text-align: center;
        @include border-radius( 2px );

        span {
            position: relative;
            display: inline-block;
            width: 24px;
            height: 24px;

            &:before,
            &:after {
                content: '';
                position: absolute;
                top: 50%;
                left: 0;
                height: 2px;
                width: 100%;
                margin-top: 6px;
                background-color: #fff;
                @include border-radius( 5px );
            }

            &:before {
                @include transform( rotate(45deg) );
            }

            &:after {
                @include transform( rotate(-45deg) );
            }
        }
    }
}

@-webkit-keyframes blink {
    0% {
        -webkit-opacity: 1;
    }
    50% {
        -webkit-opacity: 0;
    }
    100% {
        -webkit-opacity: 1;
    }
}

@-moz-keyframes blink {
    0% {
        -moz-opacity: 1;
    }
    50% {
        -moz-opacity: 0;
    }
    100% {
        -moz-opacity: 1;
    }
}

@-o-keyframes blink {
    0% {
        -o-opacity: 1;
    }
    50% {
        -o-opacity: 0;
    }
    100% {
        -o-opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.oew-align-left {
    text-align: left;
}

.oew-align-center {
    text-align: center;
}

.oew-align-right {
    text-align: right;
}

@media (max-width: 1024px) {
    .oew-tablet-align-left {
        text-align: left;
    }

    .oew-tablet-align-center {
        text-align: center;
    }

    .oew-tablet-align-right {
        text-align: right;
    }
}

@media (max-width: 767px) {
    .oew-mobile-align-left {
        text-align: left;
    }

    .oew-mobile-align-center {
        text-align: center;
    }

    .oew-mobile-align-right {
        text-align: right;
    }
}

/* RTL */
body.rtl {
    .oew-search-dropdown {
        left: 0;
        right: auto;
    }

    .oew-search-overlay {
        right: 0;
        left: auto;

        form {
            right: 0;
            left: auto;

            label i {
                margin-right: 3px;
                margin-left: 0;
            }
        }

        a.oew-search-overlay-close {
            right: 50%;
            left: auto;
            margin-right: -20px;
            margin-left: 0;

            span {
                &:before,
                &:after {
                    right: 0;
                    left: auto;
                }
            }
        }
    }
}