
.alignleft  { text-align: left; }
.alignright { text-align: right; }
.aligncenter { text-align: center; }

* {
    outline: none !important;
}

h1,
h2 {
    margin-top: 0;

    @media #{$screen-normal} {
        font-size: $title-font-size / 40 * 38;
    }
    
    @media #{$screen-medium} {
        font-size: $title-font-size / 40 * 30;
    }
    
    .line {
        display: inline-block; 
        height: 1px; 
        margin-left: 15px; 
        margin-top: -9px; 
        vertical-align: middle;
        
        @media #{$screen-normal} {
            margin-top: -7px;
        }
        
        @media #{$screen-medium} {
            display: none !important;
        }
    }
        
    .line-heading {
        margin-right: 120px; 
        white-space: nowrap; 
        
        @media #{$screen-normal} {
            margin-right: 105px;
        }
        
        @media #{$screen-medium} {
            margin-right: 95px; 
            white-space: normal;
        }
    }
}

h3 {
    margin-bottom: 15px; 
}

.title-desc,
.slider-desc{
    font-size: 17px;
    line-height: 1.2;
    margin-top: -28px;
    margin-bottom: 18px;

    @media #{$screen-normal} {
        font-size: 15px;
        margin-top: -32px;
    }

    @media #{$screen-medium} {
        font-size: 14px;
        margin-top: -19px;
    }
}

.slider-desc {
    @media #{$screen-medium} {
        height: 40px;
    }
}

h3 {
    font-size: $subtitle-font-size;
}

.text-upper {
    text-transform: uppercase;
}

a,
a:hover, 
a:focus { 
    text-decoration: none; 
}

p { 
    margin-bottom: 15px;
}

ul, 
ol { 
    padding-left: 30px; 
}

code { 
    white-space: pre-line; 
}

legend {
    border-width: 0;
}

pre {
    white-space: pre-wrap;
    font-size: 16px;
    word-break: normal;
    word-wrap: normal;
    margin-bottom: 40px;
}

mark { 
    background: transparent; 
    color: inherit; 
    font-weight: bold; 
}

label { 
    font-weight: normal; 
}

.left           { float: left !important; }
.right          { float: right !important; }
.mobile-row,
.mobile-show    { display: none; }

.container-shadow {
    background: transparent url(../images/container_shadow.png) center top no-repeat;
    position: absolute; 
    bottom: -15px; left: 0; right: 0; 
    height: 15px;
}

a,
img, 
.btn,
.button, 
.dropdown .dropdown-toggle .arrow,
.products .product > .inner,
.elastislide-wrapper nav span,
.accordion-menu .arrow,
.widget .arrow,
.owl-theme .owl-controls .owl-buttons div,
.timeline-layout .post-item > .inner,
.feature-box,
.feature-box .feature-image,
.line-heading .line,
input[type="submit"][name="subscribe"],
input[type="submit"][name="unsubscribe"],
.wpcf7-submit,
h3 .toggle,
.social-links .social-link,
#mini-cart .dropdown-toggle .cart-icon,
#mini-cart .dropdown-toggle .cart-details,
.yith-wcwl-share li a,
body .flex-direction-nav a {
    @include transition($transition);
}

.btn,
.button, 
.btn-arrow,
.yith-wcwl-add-to-wishlist > div > a,
.added_to_cart, 
a.compare.button,
.elastislide-wrapper nav span,
.dropdown-toggle,
#submit,
.owl-theme .owl-controls .owl-buttons div,
.single-nav a span, 
.accordion-menu .arrow,
.widget .arrow,
.navigation a,
.person .person-social a,
.contact-item .contact-icon,
input[type="submit"][name="subscribe"],
input[type="submit"][name="unsubscribe"],
.wpcf7-submit,
h3 .toggle,
.social-links .social-link,
.yith-wcwl-share li a,
body .flex-direction-nav a {
    text-decoration: none !important; 
    text-transform: uppercase;
    @include box-shadow($btn-box-shadow);
}

.alert .close { 
    border-width: 0 !important; 
    background-color: transparent !important; 
}

/* Bootstrap Styles */
.dropdown-toggle,
.dropdown-menu,
.woocommerce-pagination li > .page-numbers,
.pagination > a, 
.pagination > span { 
    font-size: $dropdown-font-size; 
}

select, 
textarea, 
input[type="text"], 
input[type="password"], 
input[type="datetime"], 
input[type="datetime-local"], 
input[type="date"], 
input[type="month"], 
input[type="time"], 
input[type="week"], 
input[type="number"], 
input[type="email"], 
input[type="url"], 
input[type="search"], 
input[type="tel"], 
input[type="color"] {
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 6px; 
    text-shadow: none; 
    vertical-align: bottom; 
    font-size: $input-font-size;
    outline: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.dropdown {

    .dropdown-toggle {
        display: inline-block;
        border-width: 1px; border-style: solid;
        padding: 4px 11px;
        line-height: 20px;
        text-decoration: none;
        text-transform: capitalize;
        @include box-shadow($btn-box-shadow);

        .arrow {
            position: absolute;
            width: 30px;
            height: 30px;
            right: 0;
            top: 0;
            padding: 0;
            text-align: center;
            line-height: 28px;
            font-family: "FontAwesome";
            font-size: 18px;

            &:before { content: "\f107"; }
        }
    }

    &.open .dropdown-toggle .arrow { @include box-shadow($btn-box-shadow); }
}

.osc_bar_outer { 
    position: relative;
    margin-bottom: 30px;

    .progress-large & {
        margin-top: 20px;
        margin-bottom: 60px;
    }
}

.osc-progressbar-label { 
    position: absolute; 
    left: 0; 
    bottom: 100%; 
    font-size: 11px; 
    font-weight: bold; 
    line-height: 1.5; 
    text-transform: uppercase; 
    margin-bottom: 0;

    .progress-large & {
        font-size: 13px;
        margin-bottom: 5px;
    }
}

.sr-only { 
    display: block;
    overflow: hidden;
    font-size: 12px; 
    font-weight: bold; 
    line-height: 1; 
    text-align: right;
    width: 35px;
    height: 12px;
    top: -13px; 
    right: 15px; 
    clip: auto; 
}

.progress-bar {
    &:before,
    &:after {
        position: absolute; 
        width: 0; 
        height: 0; 
        border: solid transparent; 
        border-width: 9px; 
        content: " "; 
        pointer-events: none; 
    }

    &:before { 
        top: -9px; 
        right: -9px; 
    }
    
    &:after { 
        top: 0; 
        right: 0; 
    }
}

.progress-bar.progress-bar-success { background-color: #5CB85C; }
.progress-bar.progress-bar-success:after { border-top-color: #5CB85C; border-right-color: #5CB85C; }
.progress-bar.progress-bar-success:before { border-left-color: #43a843; }
.progress-bar.progress-bar-info { background-color: #5BC0DE; }
.progress-bar.progress-bar-info:after { border-top-color: #5BC0DE; border-right-color: #5BC0DE; }
.progress-bar.progress-bar-info:before { border-left-color: #45a9c7; }
.progress-bar.progress-bar-warning { background-color: #F0AD4E; }
.progress-bar.progress-bar-warning:after { border-top-color: #F0AD4E; border-right-color: #F0AD4E; }
.progress-bar.progress-bar-warning:before { border-left-color: #e7a23f; }
.progress-bar.progress-bar-danger { background-color: #D9534F; }
.progress-bar.progress-bar-danger:after { border-top-color: #D9534F; border-right-color: #D9534F; }
.progress-bar.progress-bar-danger:before { border-left-color: #c53e3a; }

.bs-glyphicons {
    margin: 0;
    overflow: hidden;
    
    & li {
        background-color: #F9F9F9;
        border: 1px solid #FFFFFF;
        float: left;
        font-size: 10px;
        height: 115px;
        line-height: 1.4;
        padding: 10px;
        text-align: center;
        width: 10%;
        
        @media #{$screen-large} {
            width: 12.5%;
        }
        
        @media #{$screen-normal} {
            width: 16.6%;
        }
        
        @media #{$screen-medium} {
            width: 25%;
        }
        
        @media #{$screen-small} {
            width: 50%;
        }
        
        &:hover {
            background-color: #563D7C;
            color: #FFFFFF;
        }
    }
    & .glyphicon {
        font-size: 24px;
        margin-bottom: 10px;
        margin-top: 5px;
    }
    & .glyphicon-class {
        display: block;
        text-align: center;
        word-wrap: break-word;
    }
}

.bs-glyphicons-list {
    list-style: none outside none;
    padding-left: 0;
}

.media {
    &:first-child {
        margin-top: 20px;
    }
    
    &,
    & .media {
        margin-top: 25px;
    }
    > .pull-left {
        margin-right: 20px;
    }
    
    > .pull-right {
        margin-left: 20px;
    }
}

a:hover,
a:focus {
    .img-responsive {
        @include opacity(0.8);

        .owl-theme & {
            @include opacity(1);
        }
    }
}

.nav-tabs > li > a {
    font-size: 17px;
    font-weight: bold !important;
    text-transform: uppercase;
}

.tab-content {
    padding: 25px 0;
}

/* Slider */

.elastislide-horizontal nav span,
.elastislide-vertical nav span {
    @include box-sizing(content-box);
}
.elastislide-horizontal nav span:before, 
.elastislide-vertical nav span:before { 
    text-indent: 0; 
    width: 100%; 
    height: 100%; 
    position: absolute; 
    left: 0; 
    text-align: center; 
    font-family: "FontAwesome"; 
    font-size: 19px; 
}

.elastislide-horizontal nav span.elastislide-prev:before {
    content: "\f104"; 
    line-height: 30px; 
}

.elastislide-horizontal nav span.elastislide-next:before {
    content: "\f105"; 
    line-height: 30px;
}

.elastislide-vertical nav span.elastislide-prev:before { 
    content: "\f106"; 
    line-height: 25px; 
}

.elastislide-vertical nav span.elastislide-next:before { 
    content: "\f107"; 
    line-height: 25px; 
}

.owl-carousel { 
    .grabbing { 
        cursor: grabbing; 
        cursor: -webkit-grabbing; 
        cursor: -moz-grabbing; 
    }
}

.owl-theme .owl-controls { 
    margin: 0;
    line-height: 1; 
}

.owl-theme .owl-pagination { 
    position: absolute; 
    bottom: 10px;
    left: 0; 
    right: 0;

    .timeline-layout &,
    .small-alt &,
    .grid-layout &,
    .teaser_grid_container &,
    .portfolio-cat-content & {
        bottom: 5px;
    }

    @media #{$screen-medium} {
        bottom: 5px;
    }
}

.owl-theme .owl-controls .owl-buttons div,
body .flex-direction-nav a {
    position: absolute; 
    top: 0; 
    bottom: 0; 
    margin: auto; 
    width: 35px; 
    height: 30px; 
    font-family: "FontAwesome"; 
    font-size: 22px; 
    line-height: 28px; 
    padding: 0; 
}

.owl-theme .owl-controls .owl-page span {
    width: 12px;
    height: 12px;
    margin: 5px 7px;

    .timeline-layout &,
    .small-alt &,
    .grid-layout &,
    .teaser_grid_container &,
    .portfolio-cat-content & {
        width: 8px;
        height: 8px;
        margin: 3px 5px 3px;
    }
    
    @media #{$screen-medium} {
        width: 8px;
        height: 8px;
        margin: 3px 5px 3px;
    }
}

.owl-theme .owl-controls .owl-buttons .owl-prev { 
    left: 0; 
}

.owl-theme .owl-controls .owl-buttons .owl-next { 
    right: 0; 
}

.sidebar .owl-theme .owl-controls .owl-page span,
.footer-wrapper .owl-theme .owl-controls .owl-page span,
.grid-layout .owl-theme .owl-controls .owl-page span,
.grid-item .owl-theme .owl-controls .owl-page span,
.teaser_grid_container .owl-theme .owl-controls .owl-page span {
    width: 8px; 
    height: 8px; 
    margin: 3px; 
}

.sw-slider .owl-controls { 
    position: static; 
    margin: 0;
}

.single-portfolio .portfolio-slideshow.owl-theme .owl-controls .owl-buttons div, 
.post-slideshow-wrap.large-alt .post-slideshow.owl-theme .owl-controls .owl-buttons div, 
.post-slideshow-wrap.medium-alt .post-slideshow.owl-theme .owl-controls .owl-buttons div, 
.sw-slider.owl-theme .owl-controls .owl-buttons div,
body .flex-direction-nav a {
    position: absolute; 
    margin: auto; 
    display: inline-block; 
    text-align: center; 
    padding: 0; 
    width: 50px; 
    height: 40px; 
    font-family: "FontAwesome"; 
    font-size: 28px; 
    line-height: 38px;
    
    @media #{$screen-normal} {
        width: 45px; 
        height: 35px; 
        font-size: 25px; 
        line-height: 33px; 
    }
    
    @media #{$screen-medium} {
        width: 40px; 
        height: 30px; 
        font-size: 20px; 
        line-height: 28px;
    }
    
    .sidebar & {
        font-size: 17px; 
        height: 25px; 
        width: 35px; 
        line-height: 23px; 
        top: 45%; 
        bottom: auto; 
    }
}

body .flex-direction-nav a {
    top: 50%;
    margin-top: -15px;
    text-align: center !important;
    font-size: 28px;
}

body .flex-direction-nav a:before {
    font-family: "FontAwesome";
    font-size: 28px;
}

body .flex-direction-nav a.flex-prev:before {
    content: "\f104";
}

body .flex-direction-nav a.flex-next:before {
    content: "\f105";
}

.portfolio-slideshow.owl-theme .owl-controls .owl-buttons .owl-prev,
.post-slideshow.owl-theme .owl-controls .owl-buttons .owl-prev {
    border-radius: 0 3px 3px 0;
}

.portfolio-slideshow.owl-theme .owl-controls .owl-buttons .owl-next,
.post-slideshow.owl-theme .owl-controls .owl-buttons .owl-next {
    border-radius: 3px 0 0 3px;
}

body .flex-direction-nav a.flex-prev {
    border-radius: 0 3px 3px 0 !important;
}

body .flex-direction-nav a.flex-next {
    border-radius: 3px 0 0 3px !important;
}

@media #{$screen-medium} {
    .mobile-hide { 
        display: none !important; 
    }
    
    .mobile-row { 
        display: block !important; 
    }
    
    .mobile-show { 
        display: inline-block !important; 
    }
}

/* Icon Item */

.contact-item { 
    margin-bottom: 15px; 
}
    
.contact-icon,
.icon-box { 
    float: left; 
    width: 36px; 
    height: 36px; 
    text-align: center; 
    line-height: 34px; 
    font-size: 20px; 
}

.contact-detail { 
    font-size: 17px; 
    line-height: 1.6; 
    padding-left: 55px; 
    
    p { 
        margin: 0; 
    }
}

.fontawesome-icon-list .fa {
    width: 40px;
    font-size: 20px;
    text-align: center;
}

/* Clear */
.mega-menu .wide .popup .inner > ul,
.sidebar-menu .wide .popup .inner > ul,
#menu-main-menu, 
#main-mobile-toggle,
.quick-access,
.post-content-wrap, 
.products.list li.product,
.woocommerce-tabs,
.comment_container,
.comment-body, 
.navigation, 
.product_list_widget, 
.product_list_widget li,
.timeline-date,
.widget_price_filter .price_slider_amount,
.widget_layered_nav_filters ul,
.tagcloud,
.feature-box,
.contact-item,
.s2_form_widget {
    &:after {
        display: block; 
        content: "."; 
        clear: both; 
        font-size: 0; 
        line-height: 0; 
        height: 0; 
        overflow: hidden; 
    }
}

.timeline-date,
.products.align-left .product-details {
    &:before {
        display: block; 
        content: "."; 
        clear: both; 
        font-size: 0; 
        line-height: 0; 
        height: 0; 
        overflow: hidden;
    }
}

.img-responsive {
    margin-left: auto;
    margin-right: auto;
}
