/*------------------------------------*\
	#Widgets
\*------------------------------------*/

/* Widget */
.widget {
    background-color: #f4f4f4;
    padding         : 33px 40px 40px;
    margin-bottom   : 40px;
    border-radius   : 4px;
    position        : relative;

    @media screen and (max-width:767px) {
        padding: 30px;
    }

    &::before {
        content         : '';
        position        : absolute;
        top             : 0;
        left            : 50%;
        transform       : translateX(-50%);
        height          : 3px;
        width           : calc(100% - 80px);
        background-color: $color-theme;
    }

    .widget-title {
        text-align   : center;
        margin-bottom: 22px;

        @media #{$minLarge} {
            text-align: left;
        }

        h5 {
            font-size     : 20px;
            line-height   : 30px;
            font-weight   : 500;
            font-family   : $font-heading;
            color         : $color-heading;
            text-transform: capitalize;
            margin-bottom : 0;
            position      : relative;
        }
    }
}


/* Category Widget */
.widget-categories {
    ul {
        padding-left : 0;
        list-style   : none;
        margin-bottom: 0;
        box-shadow   : 0 5px 20px 0px rgba(40, 40, 40, 0.05);

        li {
            border-bottom: 2px solid #eaeaea;

            &:last-of-type {
                border-bottom: 0;
            }

            a {
                display         : block;
                line-height     : 40px;
                color           : $color-heading;
                font-size       : 16px;
                font-family     : $font-body;
                font-weight     : 700;
                text-transform  : capitalize;
                position        : relative;
                padding         : 5px 0 5px 30px;
                background-color: $color-white;
                transition      : 0.3s ease-in-out;

                &:hover {
                    color           : $color-white;
                    background-color: $color-theme;

                    &::after {
                        opacity: 1;
                    }
                }

                &::after {
                    content    : '\e901';
                    font-family: 'icomoon';
                    font-size  : 12px;
                    position   : absolute;
                    top        : 50%;
                    transform  : translateY(-50%);
                    transition : 0.3s ease-in-out;
                    right      : 30px;
                    color      : $color-white;
                    opacity    : 0;
                }
            }
        }
    }
}

/* Tags Widget */
.widget-tags {
    .widget-title {
        margin-bottom: 22px;
    }

    .widget-content {
        text-align: center;

        @media #{$minLarge} {
            text-align: left;
        }

        a {
            font-family     : $font-heading;
            display         : inline-block;
            background-color: transparent;
            font-family     : $font-body;
            font-size       : 12px;
            font-weight     : 400;
            line-height     : 28px;
            color           : $color-theme;
            margin-right    : 10px;
            margin-bottom   : 10px;
            text-transform  : capitalize;
            padding         : 0px 12px;
            border          : 1px solid $color-theme;
            border-radius   : 3px;
            transition      : 0.3s ease-in-out;

            &:hover {
                color           : $color-white;
                background-color: $color-theme;
            }
        }
    }
}

/* Recent Posts */
.widget-recent-posts {
    .widget-title {
        margin-bottom: 12px;
    }

    .entry {
        .entry-img {
            max-width    : 100%;
            overflow     : hidden;
            border-radius: 4px;
            margin-bottom: 12px;

            img {
                width : 100%;
                height: 100%;
            }
        }

        .entry-desc {
            position: relative;

            .entry-meta {
                a {
                    font-size     : 13px;
                    font-weight   : 400;
                    line-height   : 26px;
                    color         : $color-theme;
                    text-transform: capitalize;

                    &:last-of-type {
                        &::after {
                            content: none;
                        }
                    }

                    &:hover {
                        color: $color-heading;
                    }

                    &::after {
                        content     : ',';
                        margin-right: 4px;
                    }
                }
            }

            .entry-date {
                display    : inline-block;
                line-height: 26px;
            }

            .entry-title {
                a {
                    font-family   : $font-heading;
                    color         : $color-heading;
                    font-size     : 18px;
                    font-weight   : 500;
                    line-height   : 26px;
                    text-transform: capitalize;

                    &:hover {
                        color: $color-theme;
                    }
                }
            }
        }
    }

    .carousel-dots .owl-dots {
        text-align: center;
        margin-top: 26px;

        @media #{$minLarge} {
            text-align: left;
        }

        .owl-dot {
            &.active {
                span {
                    background-color: $color-theme;
                    border-color    : $color-theme;
                }

            }

            span {
                width           : 16px;
                height          : 6px;
                border-radius   : 2px;
                border-width    : 3px;
                background-color: $color-heading;
                border-color    : $color-heading;
                margin-right    : 12px;
            }
        }
    }
}

/* Search Widget */
.widget-search {
    .form-search {
        border-radius: 3px;
        border       : 3px solid #eaeaea;
        margin-bottom: 0;

        .form-control {
            border          : none;
            border-radius   : 0;
            box-shadow      : none;
            color           : #9e9e9e;
            font-size       : 14px;
            font-family     : $font-body;
            font-weight     : 400;
            line-height     : 49px;
            height          : 49px;
            text-transform  : capitalize;
            padding-left    : 15px;
            background-color: transparent;
        }

        .btn {
            background-color: transparent;
            color           : $color-heading;
            border-radius   : 0;
            width           : 35px;
            height          : 49px;
            line-height     : 29px;
            font-size       : 16px;

            &:hover {
                color: $color-theme;
            }
        }
    }
}

/* Reservation Widget */
.widget-reservation {
    position   : relative;
    overflow   : hidden;
    padding-top: 33px;

    img {
        position: absolute;
        top     : 0;
        left    : 0;
        right   : 0;
        width   : 100%;
        height  : 100%;
        z-index : 1;
    }

    &::before {
        top             : 0;
        left            : 0;
        right           : 0;
        width           : 100%;
        height          : 100%;
        background-color: rgba($color-theme, 0.9);
        transform       : translateX(0);
        z-index         : 2;
    }

    .widget-content {
        position  : relative;
        z-index   : 3;
        text-align: center;

        @media #{$minLarge} {
            text-align: left;
        }

        h5 {
            text-transform: capitalize;
            font-family   : $font-heading;
            font-weight   : 500;
            font-size     : 20px;
            line-height   : 32px;
            color         : $color-white;
            margin-bottom : 27px;
        }

        p {
            font-family  : $font-body;
            font-weight  : 400;
            font-size    : 14px;
            line-height  : 24px;
            color        : #f9f9f9;
            margin-bottom: 60px;
        }

        .btn {
            font-family: $font-body;
            font-weight: 700;
            font-size  : 14px;
        }
    }
}

/* Widget Download */
.widget-download {
    ul {
        margin: 0;

        li {
            &:last-of-type {
                a {
                    margin-bottom: 0;
                }
            }

            a {
                display         : flex;
                justify-content : space-between;
                align-items     : center;
                padding         : 0 30px;
                height          : 70px;
                background-color: $color-heading;
                color           : $color-white;
                transition      : 0.3s ease-in-out;
                border-radius   : 4px;
                margin-bottom   : 20px;

                &:hover {
                    background-color: $color-theme;
                    transform       : translateY(-8px);

                    span {
                        &.icon {
                            color: $color-theme;
                        }
                    }
                }

                span {
                    font-family   : $font-body;
                    font-size     : 15px;
                    font-weight   : 700;
                    text-transform: capitalize;

                    &.icon {
                        width           : 22px;
                        height          : 24px;
                        background-color: #ffffff;
                        transition      : 0.3s ease-in-out;
                        display         : flex;
                        justify-content : center;
                        align-items     : center;
                        color           : $color-heading;
                        font-size       : 9px;
                        text-transform  : uppercase;
                    }
                }
            }
        }
    }
}

/* blog sidebar */
.sidebar-blog {

    .form-search {
        background-color: $color-white;
    }

    .widget-recent-posts {
        margin-bottom: 57px;

        .entry {
            margin-bottom: 30px;
        }

        .entry:last-of-type {
            margin-bottom: 0;
        }

        .entry-title {
            a {
                font-weight: 700;
            }
        }

        .entry-date {
            font-family: $font-body;
            font-size  : 13px;
            font-weight: 600;
            color      : #616161;
        }
    }

}

/* Widget Instagram */
.widget-instagram {
    a {
        width   : 88px;
        height  : 88px;
        display : inline-block;
        margin  : 2px;
        position: relative;

        img {
            max-width: 100%;
            height   : auto;
        }

        .insta-hover {
            position  : absolute;
            top       : 0;
            left      : 0;
            width     : 100%;
            height    : 100%;
            transform : scale(0);
            transition: all 350ms;

            i {
                display         : block;
                border-radius   : 1px;
                background-color: $color-theme;
                color           : $color-white;
                font-size       : 11px;
                font-weight     : 400;
                line-height     : 88px;
                text-align      : center;
            }
        }

        &:hover {
            .insta-hover {
                transform: scale(1);
            }
        }
    }
}

/* Custom, iPhone Retina */
@media only screen and (min-width: 320px) and (max-width: 767px) {
    .sidebar {
        margin-top: 40px;
    }

    .widget {
        margin-bottom: 30px;
    }
}

/* Small Devices, Tablets */
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .sidebar {
        margin-top: 40px;
    }

    .widget-recent .entry .entry-desc {
        margin-left: 70px;
    }
}