.ct-portfolio-grid1, .ct-portfolio-carousel1 {
	.item--featured img {
		width: 100%;
	}
	.item--title {
		margin-bottom: 4px;
		font-size: 20px;
		color: #fff;
		@media #{$max-lg} {
			font-size: 18px;
		}
		a {
			color: inherit;
		}
	}
	.item--category {
		font-size: 14px;
		color: lighten($primary_color, 0.08);
		a {
			color: inherit;
		}
	}
	.item--content {
		font-family: 15px;
		line-height: 1.6;
		color: #fff;
		margin-bottom: 23px;
		@media #{$max-lg} {
			font-size: 14px;
			margin-bottom: 18px;
		}
	}
	.item--meta {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 99;
		padding: 40px 20px 20px;
		@include transition(.3s cubic-bezier(.24,.74,.58,1));
		transform-origin: bottom center;
		-webkit-transform-origin: bottom center;
		&:before {
			content: '';
			z-index: -1;
			position: absolute;
			left: 0;
			bottom: 0;
			height: 100%;
			width: 100%;
			background-color: rgba(#00070b, 0.9);
			clip-path: polygon(0 24%, 100% 0, 100% 100%, 25% 100%, 0 100%);
			-webkit-clip-path: polygon(0 24%, 100% 0, 100% 100%, 25% 100%, 0 100%);
			-moz-clip-path: polygon(0 24%, 100% 0, 100% 100%, 25% 100%, 0 100%);
			-ms-clip-path: polygon(0 24%, 100% 0, 100% 100%, 25% 100%, 0 100%);
			-o-clip-path: polygon(0 24%, 100% 0, 100% 100%, 25% 100%, 0 100%);
			@include transition(.3s cubic-bezier(.24,.74,.58,1));
		}
	}
	.item--holder {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 20px;
		@include background-horizontal(rgba($gradient_color_from, 0.9), rgba($gradient_color_to, 0.9));
		background-color: transparent;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		@include transform(scaleY(0));
		opacity: 0;
		transform-origin: bottom center;
		-webkit-transform-origin: bottom center;
		@include transition(.3s cubic-bezier(.24,.74,.58,1));
		@media #{$max-lg} {
			padding-left: 15px;
			padding-right: 15px;
		}
		@media #{$max-md} {
			padding-top: 10px;
			padding-bottom: 10px;
		}
	}
	.item--readmore a {
		font-size: 24px;
		color: #141414;
		font-weight: 500;
		height: 45px;
		width: 45px;
		background-color: #fff;
		border-radius: 45px;
		display: inline-block;
		line-height: 45px;
		&:hover {
			color: $primary_color;
			@include box-shadow(0 0 0 10px rgba(#fff, 0.12));
		}
	}
	.ct-load-more {
		margin-top: 4px;
	}
	.grid-item-inner {
		position: relative;
		text-align: center;
		margin-bottom: 36px;
		overflow: hidden;
		@include border-radius(7px);
		&:hover {
			.item--meta {
				opacity: 0;
				@include transform(scaleY(0));
			}
			.item--holder {
				@include transform(scaleY(1));
				opacity: 1;
				-webkit-transition-delay: 0.12s;
                -moz-transition-delay: 0.12s;
                transition-delay: 0.12s;
			}
		}
	}
}
.ct-portfolio-grid2, .ct-portfolio-carousel2 {
	.item--featured img {
		width: 100%;
	}
	.item--title {
		margin-bottom: 18px;
		font-size: 24px;
		line-height: 1.5;
		color: #fff;
		font-weight: 800;
		@media #{ $min-xl } {
			max-width: 90%;
		}
		@media #{$max-lg} {
			font-size: 18px;
		}
		a {
			color: inherit;
		}
	}
	.item--category {
		font-size: 16px;
		color: $primary_color;
		font-weight: 500;
		margin-bottom: 10px;
		a {
			color: inherit;
		}
	}
	.item--holder-inner {
		width: 100%;
	}
	.item--holder {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 20px 30px;
		background-color: rgba( $secondary_color, 0.7 );
		display: flex;
		flex-wrap: wrap;
	    align-items: flex-end;
	    justify-content: start;
		@include transform(scaleY(0));
		opacity: 0;
		transform-origin: top center;
		-webkit-transform-origin: top center;
		@include transition(.3s cubic-bezier(.24,.74,.58,1));
		@media #{$max-lg} {
			padding-left: 15px;
			padding-right: 15px;
		}
		@media #{$max-md} {
			padding-top: 10px;
			padding-bottom: 10px;
		}
	}
	.item--readmore a {
		position: absolute;
		top: 20px;
		right: 20px;
		font-size: 24px;
		text-align: center;
		color: #fff;
		font-weight: 500;
		height: 45px;
		width: 45px;
		background-color: $primary_color;
		@include border-radius(5px);
		display: inline-block;
		line-height: 45px;
		&:hover {
			@include box-shadow(0 0 0 10px rgba(#fff, 0.12));
		}
	}
	.grid-item-inner {
		position: relative;
		margin-bottom: 36px;
		overflow: hidden;
		@include border-radius(7px);
		&:hover {
			.item--holder {
				@include transform(scaleY(1));
				opacity: 1;
				-webkit-transition-delay: 0.12s;
                -moz-transition-delay: 0.12s;
                transition-delay: 0.12s;
			}
		}
	}
	.ct-load-more {
		margin-top: 15px;
		.btn-grid-loadmore {
			padding-left: 23px;
			padding-right: 23px;
			height: 55px;
			line-height: 55px;
			&:hover {
				background-color: $primary_color;
				color: #fff;
			}
		}
	}
}
.ct-portfolio-carousel3 {
    .ct-banner-image {
        overflow: hidden;
        border-radius: 10px;
        img {
            width: 100%;
        }
        @media #{ $max-sm } {
            margin-bottom: 45px;
        }
    }
    .ct-carousel-inner {
        margin-left: 0;
        margin-right: 0;
        @media #{ $min-md } {
            padding-left: 30px;
            margin-top: -140px;
            display: flex;
            align-items: flex-end;
        }
        .wp-btn {
            display: flex;
            align-items: flex-end;
            flex-grow: 1;
            justify-content: flex-end;
            @media #{ $max-sm } {
                justify-content: flex-start;
                margin-top: 35px;
            }
            img {
                margin-right: 10px;
            }
            a {
                font-weight: 800;
                @include font-family-heading($heading_default_font);
                color: $secondary_color;
                @include transition(all 280ms linear 0ms);
                display: flex;
                align-items: center;
                i {
                    @include box-shadow(0 0 25px rgba($primary_color, 0.25));
                    display: inline-block;
                    font-style: normal;
                    width: 36px;
                    line-height: 36px;
                    height: 36px;
                    text-align: center;
                    @include border-radius( 36px);
                    background-color: $secondary_color;
                    color: #fff;
                    font-size: 30px;
                    margin-right: 5px;
                    font-weight: 400;
                    @include transition(all 280ms linear 0ms);
                }
                &:hover {
                    color: $primary_color;
                    i {
                        background-color: $primary_color;
                    }
                }
            }
        }
    }
    .ct-slick-carousel {
        position: relative;
        @media #{ $min-md } {
            max-width: 70%;
            width: 100%;
        }
        background-color: #fff;
        @include border-radius(7px);
        box-shadow: 0 5px 25px rgba( $third_color, 0.08 );
        padding-top: 32px;
        padding-bottom: 38px;
        .slick-list {
            width: 100%;
            .carousel-item {
                opacity: 0;
                &.slick-active {
                    opacity: 1;
                }
            }
        }
        .slick-dots {
            flex-direction: column;
            position: absolute;
            margin: 0;
            right: 15px;
            bottom: 21px;
            li {
                + li {
                    margin-top: 12px;
                }
                &.slick-active {
                    margin-top: 16px;
                    + li {
                        margin-top: 16px;
                    }
                }
                &:first-child {
                    margin-top: 0;
                }
            }
        }
        .grid-item-inner  {
            padding-left: 15px;
            padding-right: 35px;
            .item--title {
                font-size: 30px;
                a {
                    color: $secondary_color;
                }
            }
            .item--content {
                margin-bottom: 25px;
                font-weight: 500;
            }
            .item--readmore {
                a {
                    display: inline-block;
                    height: 36px;
                    padding-left: 22px;
                    padding-right: 22px;
                    line-height: 36px;
                    background-color: $primary_color;
                    color: #fff;
                    @include border-radius(35px);
                    @extend .btn-hover;
                }
            }
        }
    }
}
.ct-portfolio-carousel4 {
    .ct-carousel-inner .slick-slide {
        padding-left: 0;
        padding-right: 0;
    }
    .item--featured {
        position: relative;  
        overflow: hidden;
        img {
            width: 100%;
        }
    }
    .item--featured-bg {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center center;
        background-size: cover;
        -webkit-filter: blur(4px);
        filter: blur(4px);
        @include transform(scale(1.3));
        @include transition(all .3s);
    }
    .item-number {
        font-size: 24px;
        color: #fff;
        display: inline-block;
        margin-bottom: 15px;
    }
    .item--title {
        font-size: 22px;
        margin-bottom: 22px;
        a {
            color: #fff;
        }
    }
    a.btn-readmore {
        width: 38px;
        text-align: center;
        height: 35px;
        line-height: 34px;
        background-color: #ffffff;
        display: inline-block;
        color: #000000;
        z-index: 1;
        position: relative;
        overflow: hidden;
        &:after {
          content: "";
          @include transition(all .8s);
          position: absolute;
          height: 120%;
          width: 15px;
          opacity: .2;
          left: -35%;
          top: -10%;
          transform: rotate(0deg);
          -moz-transform: rotate(0deg);
          -webkit-transform: rotate(0deg);
          -o-transform: rotate(0deg);
        }
        &:hover, &:focus {
          background: $primary_color;
          color: #fff;
          &:after {
            left: 130%;
          }
        }
        i {
            font-size: 18px;
            font-weight: 400;
            margin-left: 2px;
            font-style: normal;
        }
    }
    .item--content {
        height: 0;
        color: #a9a9a9;
        font-size: 17px;
        line-height: 28px;
        overflow: visible;
        @include transform(scaleY(0));
        transform-origin: top center;
        -webkit-transform-origin: top center;
        @include transition(.3s cubic-bezier(.24,.74,.58,1));
        opacity: 0;
        margin-bottom: 0;
        @media #{ $min-xxl } {
            max-width: 80%;
        }
    }
    .item--holder {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        padding: 35px 15px 35px 30px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        @include transition(.3s cubic-bezier(.24,.74,.58,1));
    }
    .grid-item-inner {
        position: relative;
        &:hover {
            .item-number {
                color: #faa80a;
                display: inline-block;
                margin-bottom: 15px;
            }
            .item--featured-bg {
                opacity: 0;
            }
            .item--holder {
                background-color: rgba(#000, 0.8);
                top: 30px;
                left: 30px;
                bottom: 30px;
                right: 30px;
            }
            .item--content {
                height: auto;
                @include transform(scaleY(1));
                opacity: 1;
                -webkit-transition-delay: 0.12s;
                -moz-transition-delay: 0.12s;
                transition-delay: 0.12s;
                margin-bottom: 25px;
            }
            a.btn-readmore {
                background-color: #1e9cde;
                color: #fff;
            }
        }
    }
}
.ct-portfolio-grid3 {
    .grid-filter-wrap {
        margin-bottom: 20px;
        .filter-item {
            padding: 5px 0 0px;
            margin-right: 20px;
            background-color: transparent;
            color: #fff;
            border-radius: 0;
            margin-left: 0;
            position: relative;
            &:after {
                content: "";
                height: 3px;
                @include border-radius(3px);
                width: 0;
                background-color: $primary_color;
                position: absolute;
                bottom: 0;
                right: 0;
                z-index: 1;
                transform-origin: left;
                -moz-transform-origin: left;
                -ms-transform-origin: left;
                -webkit-transform-origin: left;
                -o-transform-origin: left;
                @include transition(all .3s);
            }
            &.active {
                color: $primary_color;
                &:after {
                    width: 100%;
                    left: 0;
                    right: auto;
                    transform-origin: right;
                    -moz-transform-origin: right;
                    -ms-transform-origin: right;
                    -webkit-transform-origin: right;
                    -o-transform-origin: right;
                }
            }
        }
    }
    .ct-load-more {
        padding: 0 15px;
        margin-top: 30px;
        @media #{ $max-md } {
            margin-top: 20px;
        }
        .btn-primary {
            &.btn-grid-loadmore {
                border-left: 4px solid #d42800;
                border-radius: 0;
                padding-top: 4px;
                @include border-radius(0 3px 3px 0 ); 
                padding-left: 50px;
                line-height: 50px;
                padding-right: 50px;
                text-transform: uppercase;
                font-size: 18px;
                letter-spacing: 1px;
            }
        }
    }
    .item--featured {
        overflow: hidden;
        position: relative;
        img {
            margin-right: 10px;
            width: 100%;
            @include transform(scale(1.1));
            @include transition(.3s ease-in-out);
        }
    }
    .item--meta {
        .item--title {
            font-size: 24px;
            text-transform: uppercase;
            margin-bottom: 0px;
            a {
                color: #fff;
            }
        }   
        .item--category {
            a {
                display: inline-block;
                line-height: 18px;
                font-size: 13px;
                color: $primary_color;
            }
        }
    }
    .item--readmore {
        position: absolute;
        right: 15px;
        top: 20px;
        a {
            width: 36px;
            height: 36px;
            line-height: 36px;
            text-align: center;
            background-color: $primary_color;
            color: #fff;
            display: inline-block;
        }
    }
    .inner-holder {
        display: flex;
        align-items: center;
        background-color: #071157;
        padding: 15px 70px 15px 15px;
        position: relative;
    }
    .item--holder {
        @include transition(all 300ms linear 100ms);
        position: absolute;
        bottom: 20px;
        left: -100%;
        width: 100%;
        opacity: 0;
        padding: 0 20px;
    }
    .grid-item-inner {
        overflow: hidden;
        position: relative;
        margin-bottom: 30px;
        &:hover {
            .item--featured {
                img {
                    margin-right: 0;
                }
            }
            .item--holder {
                left: 0;
                opacity: 1;
            }
        }
    }
}
.ct-portfolio-detail {
    overflow: hidden;
    @include border-radius(5px);
    @include box-shadow(0 10px 25px rgba($third_color, 0.09));
    background-color: #fff;
    .wg-title {
        margin: 0;
        color: #fff;
        background-color: $primary_color;
        font-size: 22px;
        padding: 16px 20px;
        text-align: center;
        @include border-radius(5px 5px 0 0);
    }
    ul {
        margin: 0;
        padding: 22px 45px;
        border-bottom: 1px solid #f7f7f7;
        list-style: none;
        font-size: 17px;
        text-align: right;
        @media #{$max-lg} {
        	padding-left: 20px;
        	padding-right: 20px;
        }
        label {
            font-weight: 700;
            min-width: 55px;
            margin-right: 5px;
            text-align: left;
            flex-grow: 1;
        }
        li {
        	color: $third_color;
        	display: flex;
        	+ li {
            	margin-top: 8px;
        	}
        }
    }
    .ct-portfolio-value {
        @include border-radius(0 0 5px 5px);
        padding: 18px 45px 29px;
        @include font-family-heading($heading_default_font);
        @media #{$max-lg} {
        	padding-left: 20px;
        	padding-right: 20px;
        }
        .ct-portfolio-cost {
            font-size: 26px;
            font-weight: bold;
            color: #00060f;
            margin-bottom: 2px;
        }
        .ct-portfolio-rating {
            font-size: 14px;
            color: #ffc601;
            letter-spacing: -0.04em;
        }
    }
}
.ct-portfolio-external1 {
    max-width: 1920px;
    margin: auto;
    .item--image {
        @media #{$max-md } {
            min-height: 400px;
        }
    }
    .item--inner-primary {
        position: relative;

    }
    .item--holder {
        position: absolute;
        bottom: 0;
        right: -1px;
        width: 420px;
        z-index: 99;
        background-image: url(../images/el-portfolio1.png);
        padding: 40px 90px 40px 45px;
        @include border-radius(10px 0 0 0);
        @media #{$max-lg} {
            width: 360px;
        }
        @media #{$max-sm} {
            padding-left: 20px;
            padding-right: 60px;
            width: 290px;
            right: 17px;
        }
        .item--description {
            font-size: 22px;
            line-height: 1.6;
            color: #fff;
            font-weight: 500;
            margin-bottom: 9px;
            @media #{$max-lg} {
                font-size: 18px;
            }
        }
        .item--category {
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: #fff;
        }
        .item--link {
            width: 65px;
            line-height: 73px;
            height: 73px;
            position: absolute;
            bottom: 0;
            right: 0;
            background-color: $primary_color;
            text-align: center;
            color: #fff;
            font-size: 20px;
            overflow: hidden;
            @include box-shadow(0 10px 30px rgba($primary_color, 0.29));
            @media #{$max-sm} {
                width: 50px;
                line-height: 50px;
                height: 50px;
            }
            i {
                display: inline-block;
            }
            &:hover i {
                -o-animation: toRightFromLeft 0.3s forwards;
                -ms-animation: toRightFromLeft 0.3s forwards;
                -webkit-animation: toRightFromLeft 0.3s forwards;
                animation: toRightFromLeft 0.3s forwards;
            }
        }
    }
    .ct-carousel-inner {
        @media #{ $min-xxl } {
            max-width: 1130px;
            background-color: #000;
        }
        width: 100%;
        position: relative;
        margin: 0;
        .slick-list {
            overflow: visible;
        }
        .slick-slide {
            padding: 0;
        }
        .ct-slick-carousel, .slick-list, .slick-track, .item--inner-primary, .item--image {
            height: 100%;
        }
        @media #{$max-xl} {
            max-width: 65%;
        }
        @media #{$max-md} {
            max-width: 100%;
        }
    }
    .ct-slick-nav-wrap {
        width: 100%;
        max-width: 510px;
        margin-top: -65px;
        margin-bottom: 65px;
        margin-left: -95px;
        padding-left: 135px;
        padding-right: 30px;
        padding-top: 54px;
        padding-bottom: 110px;
        position: relative;
        @media #{$max-xl} {
            max-width: 35%;
            margin-right: 0;
            padding-left: 65px;
        }
        @media #{$max-md} {
            margin-top: 10px;
            max-width: 100%;
            padding-left: 20px;
        }
        @media #{$max-sm} {
            padding-bottom: 55px;
        }
        &:before {
            content: '';
            background-image: url(../images/el-portfolio2.jpg);
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            background-color: #0f0f0f;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }
        .ct-image-circle {
            position: absolute;
            max-width: 345px;
            bottom: -135px;
            right: -135px;
            z-index: -2;    
            img {
                -webkit-animation: rotation 8s infinite linear;
                animation: rotation 8s infinite linear;
            }
        }
        .el-widget {
            font-size: 48px;
            line-height: normal;
            color: #fff;
            font-weight: 700;
            margin-bottom: 65px;
            @media #{$max-lg} {
                font-size: 38px;
            }
            @media #{$max-sm} {
                font-size: 32px;
            }
        }
        @media #{$max-lg} {
            max-width: 35%;
            margin-left: 0;
        }
        @media #{ $max-md } {
            max-width: 100%;
        }
        @media #{$max-sm} {
            margin-top: 0;
            .slick-slide.slick-cloned {
                display: none;
            }
        }
    }
    .ct-slick-nav {
        .item--title {
            font-size: 24px;
            color: #fff;
            font-weight: 500;
            padding-left: 36px;
            margin-bottom: 10px;
            @media #{$max-lg} {
                font-size: 20px;
            }
            @media #{$max-sm} {
                padding-left: 0;
            }
            span {
                display: flex;
                align-items: center;
                position: relative;
                @include transition(all .25s cubic-bezier(.645,.045,.355,1));
                cursor: pointer;
                &:before {
                    content: '';
                    width: 168px;
                    height: 3px;
                    background-color: $primary_color;
                    position: absolute;
                    top: 50%;
                    right: 100%;
                    @include transform(translate(0, -50%));
                    margin-right: 22px;
                    @include transition(all .25s cubic-bezier(.645,.045,.355,1));
                    opacity: 0;
                }
                &:after {
                    content: "\f12d";
                    font-family: "Caseicon";
                    margin-left: 12px;
                    font-size: 13px;
                    color: $primary_color;
                    @include transition(all .25s cubic-bezier(.645,.045,.355,1));
                    opacity: 0;
                    position: relative;
                    top: 2px;
                }
            }
        }
        .slick-list {
            height: 100% !important;
            padding: 0 !important;
            overflow: visible;
        }
        .slick-track, .slick-slide {
            width: 100% !important;
            transform: translate3d(0px, 0px, 0px) !important;
        }
        .slick-current {
            .item--title {
                span {
                    padding-left: 55px;
                    &:before {
                        margin-right: -36px;
                        opacity: 1;
                    }
                    &:after {
                        opacity: 1;
                    }
                }
            }
        }
        .slick-arrow {
            display: none!important;
        }
    }
    .ct-portfolio-inner {
        display: block;
        @media #{ $min-lg } {
            display: flex;
            flex-wrap: nowrap;
        }
        z-index: 99;
        position: relative;
        padding-top: 65px;
    }
    .container-custom {
        @media #{ $min-xxl } {
            margin-top: 0;
            position: absolute;
            right: -250px;
            bottom: 10px;
        }
        @media #{ $max-xl } {
            margin-top: 30px;
        }
        @media #{ $max-md } {
            margin-top: 0;
        }
        .append-dots-custom {
            .slick-dots {
                margin-top: 0px;
                margin-bottom: 0;
                counter-reset: number;
                padding-left: 10px;
                padding-right: 10px;
                li {
                    margin: 0 2px 0 0px;
                    display: inline-block;
                    cursor: pointer;
                    @include transition(all 300ms linear 0ms);
                    font-size: 14px;
                    &:after {
                        content: "/";
                        display: inline-block;
                        color: #000000;
                    }
                    &:last-child {
                        &:after {
                            display: none;
                        }
                    }
                    @media #{ $min-lg } {
                      height: 18px;
                      line-height: 18px;
                    }
                    &:before {
                      @include transition(all 300ms linear 0ms);
                        counter-increment: number;
                        content: '0'counter(number);
                        font-size: 14px;
                        font-weight: bold;
                        color: #000000;
                    }
                    button {
                      font-size: 0;
                      line-height: 1;
                      padding: 0;
                      width: 0;
                      border: none;
                      overflow: visible;
                      @include transition(all 300ms linear 0ms);
                      &:after {
                        display: none;
                      }
                    }
                    &.slick-active {
                      &:before {
                        color: $primary_color;
                      }
                      button {
                        height: 2px;
                        position: relative;
                        top: -2px;
                        @include transition(all 300ms linear 0ms);
                        background-color: $primary_color;
                      }
                    }
                }
            }
        }
        .append-arrows-custom {
            display: flex;
            align-items: center;
            justify-content: center;
            .slick-arrow {
                font-size: 0;
                cursor: pointer;
                &:before {
                    @include transition(all 300ms linear 100ms);
                    width: 100%;
                    height: 100%;
                    text-align: center;
                    font-family: "Caseicon";
                    color: inherit;
                    font-size: 18px;
                    font-weight: bold;
                    color: #000;
                }
                &.slick-prev {
                    @include transform(rotate(-180deg));
                    &:before {
                        content: "\f121";
                    }
                    &:hover {
                        &:before {
                            color: $primary_color;
                        }
                    }
                }
                &.slick-next {
                    &:before {
                        content: "\f121";
                    }
                    &:hover {
                        &:before {
                            color: $primary_color;
                        }
                    }
                }
            }
        }
    }
    .ct-slick-carousel[data-arrows="true"] {
        @media #{ $min-xxl } {
            padding-bottom: 0;
        }
    }
}
