@media(max-width:1550px) {
    .hero-slider .swiper .elementor-swiper-button-prev {
        left: 20px !important;
    }

    .hero-slider .swiper .elementor-swiper-button-next {
        right: 20px !important;
    }

    .testimonial-slider .ti-widget.ti-goog .ti-controls .ti-prev {
        left: 0px !important;
    }

    .testimonial-slider .ti-widget.ti-goog .ti-controls .ti-next {
        right: 0px !important;
    }

    .awards-wrapper .elementor-swiper-button.elementor-swiper-button-prev {
        left: -10px !important;
    }

    .awards-wrapper .elementor-swiper-button.elementor-swiper-button-next {
        right: -10px !important;
    }
}

@media(max-width:1366px) {
    .blog-card .blog-title {
        min-height: 50px;
    }

    .vertical-text {
        min-width: 170px !important;
    }
	
	.custom-logo-link img {
    width: 150px;
    object-fit: contain;
}
	
	.project-single-wrapper {
    gap: 30px;
}
	
	.product-single-right {
    width: 375px;
    flex: 0 0 375px;
}
	
	.project-single-heading .project-main-title {
    font-size: 36px;
    line-height: 50px;
}
}

@media(max-width:1300px) {
    .des-header-buttons .cus-btn.blue-btn {
        display: none;
    }
	
	.footer-bottom-right .menu {
    gap: 10px;
    white-space: nowrap;
}
}

@media(min-width:1176px) {
    .sub-menu-wrapper {
        position: absolute;
        top: calc(100%);
        left: 0;
        width: 100%;
        border-top: 1px solid #12121214;
        background: #fff;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .1);
        border-radius: 0 0 20px 20px;
        opacity: 0;
        visibility: hidden;
        z-index: -1;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a:hover {
        border: 1px solid #222;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a:hover svg {
        opacity: 1;
        visibility: visible;
    }

    .main-navigation .menu>li:hover .sub-menu-wrapper {
        opacity: 1;
        visibility: visible;
        z-index: 99;
        transform: none;
    }

    .main-navigation .menu>li:hover>svg {
        transform: rotate(180deg);
    }

    .menu-toggle {
        display: none;
    }
	
	.res-btm-bar {
		display:none;
	}
}

@media(max-width:1175px) {
		.search-form {
		padding: 28px 0;
	}
    .nav-open {
        overflow: hidden;
    }

    .des-header-buttons .cus-btn.blue-btn {
        display: flex;
    }

    .top-navigation-wrapper {
        position: fixed;
        width: 100%;
        height: calc(100dvh - 132px);
        background: #fff;
        top: 132px;
        left: 0;
        align-items: self-start;
        visibility: hidden;
        opacity: 0;
        transition: 300ms all;
        transform: translateY(20px);
        border-top: 1px solid rgb(18 18 18 / 10%);
        z-index: 9999;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a {
        flex-direction: row;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a span {
        text-align: left;
        padding: 0;
    }

    .nav-open .top-navigation-wrapper {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .site-header-wrapper {
        padding: 15px 0;
    }

    .menu-toggle {
        cursor: pointer;
        background: #F4F4F4;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 1px solid rgb(34 34 34 / 20%);
    }

    .menu-toggle svg {
        transition: 300ms all;
    }

    .menu-toggle svg+svg {
        position: absolute;
        opacity: 0;
        visibility: hidden;
    }

    .nav-open .menu-toggle svg+svg {
        opacity: 1;
        visibility: visible;
    }

    .nav-open .menu-toggle svg {
        opacity: 0;
    }

    .top-navigation-right {
        gap: 15px;
    }

    .nav-open .top-navigation-wrapper .main-navigation {
        max-height: calc(100dvh - 132px);
		min-height: calc(100dvh - 198px);
        overflow: auto;
    }

    .top-navigation-right .menu {
        gap: 0px;
        align-items: self-start;
        flex-direction: column;
    }

    .top-navigation-right .menu-main-menu-container>.menu>li {
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        position: relative;
        padding: 0 20px;
    }

    .top-navigation-right .menu>.menu-item>a,
    .top-navigation-right .menu>.menu-item>span {
        width: 100%;
        font-size: 16px;
        padding: 15px 0;
    }

    .sub-menu-wrapper {
        display: none;
        opacity: 0;
        visibility: hidden;
        width: 100%;
    }

    .main-navigation .menu>li>svg {
        top: 25px;
        position: absolute;
        right: 40px;
        margin-left: auto;
    }

    .sub-menu-top.col {
        padding: 20px 0;
        border-top: 1px solid #100E0E1A;
    }

    .sub-menu-top.col>.sub-menu-wrap {
        width: 100%;
    }

    .elementor-kit-54 h4 {
        font-size: 18px;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu {
        gap: 16px;
    }

    .top-navigation-right .menu>.menu-item.current-menu-item>a:after,
    .top-navigation-right .menu>.menu-item>a:hover:after,
    .top-navigation-right .menu>.menu-item:hover>span:after {
        display: none;
    }

    .menu-main-menu-container {
        padding: 25px 0;
    }

    .sub-menu-wrapper.active {
        opacity: 1;
        visibility: visible;
    }

    .sub-menu-wrapper .container {
        padding: 0;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li {
        width: calc(50% - 8px);
    }

    .sub-menu-wrap h4 {
        display: none;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a img {
        border-radius: 12px;
        width: 100px;
        height: 75px;
    }

    .custom-logo-link img {
        max-width: 150px;
        object-fit: contain;
    }

    .custom-icon-list.two-column-list ul {
        gap: 0px 60px;
    }

    .value-list li.elementor-icon-list-item {
        width: calc(50% - 30px);
    }

	.res-btm-bar {
    border-top: 1px solid rgb(18 18 18 / 10%);
    padding: 20px;
		    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
		    justify-content: space-between;
}
	
	.res-btm-bar .social-list ul img {
    filter: invert(1);
}
	
	.res-btm-bar .social-list ul path {
    stroke: #222;
}
	
	.res-btm-left path {
    stroke: #222;
}
	
	.res-btm-left .address-list li svg {
    margin-top: 3px;
}
	
	.res-btm-left p {
    font-size: 14px;
}
	
	.project-item-inr {
    padding: 15px;
}
	
	.project-list-wrapper {
    gap: 16px;
}
}

@media(min-width:1024px) {
.map-section-container > .e-con-inner > .elementor-element
 {
    position: initial !important;
}

.map-section {
    position: absolute !important;
    right: 0;
	top:0;
	    height: 100% !important;
}

.map-section .elementor-widget-shortcode, .map-section .elementor-shortcode, .custom-map {
    height: 100%;
}

.map-section .clm-frontend-map {
    height: 100% !important;
}
}

@media(max-width:1023px) {
    .cus-btn {
        padding: 4px 1px 4px 25px;
        font-size: 14px;
        height: 46px;
    }

    .cus-btn.blue-btn {
        padding: 4px 25px 4px 1px;
    }

    .cus-btn svg {
        scale: 0.8;
    }

    .hero-slider .swiper .elementor-swiper-button-prev,
    .hero-slider .swiper .elementor-swiper-button-next {
        display: none !important;
    }

    .menu-toggle {
        width: 46px;
        height: 46px;
    }

    .hero-slider .swiper-pagination-bullet, .mobile-hero-slider .swiper-pagination-bullet {
        height: 12px !important;
        width: 12px !important;
    }

    .gallery-item:nth-child(n+5) {
        display: none;
    }

    .footer-top-widgets {
        gap: 50px;
        flex-wrap: wrap;
    }

    .footer-column.second-column {
        width: 70%;
    }

    .footer-column.first-column {
        width: 20%;
    }

    .footer-column.third-column {
        width: 100%;
        display: flex;
        gap: 50px;
    }

    .footer-bottom {
        flex-wrap: wrap;
        gap: 10px;
    }

    .footer-top {
        padding: 70px 0 50px;
    }

    .footer-column .footer-title,
    .footer-column .widget-title {
        font-size: 20px;
        padding-bottom: 20px;
    }

    .footer-column .address-list a,
    .footer-column .address-list li {
        font-size: 14px;
    }

    .card-content {
        padding: 15px;
    }

    .blog-list-wrapper {
        gap: 30px 16px;
    }

    .custom-icon-list.two-column-list ul {
        gap: 0px 40px;
    }

    div.gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .blog-filter-wrap {
        gap: 12px;
        flex-direction: column-reverse;
    }

    .blog-filter-wrap .filter-container {
        max-width: 100%;
    }

    .blog-search-wrap {
        width: 100%;
    }

    .blog-search input {
        height: 50px;
    }

    .btn-wrapper {
        margin-top: 30px;
    }

    .filter-container {
        margin-bottom: 25px;
    }

    .show-thumb {
        max-width: 170px;
    }

    .home-show-item-inr {
        gap: 15px;
    }
	
	#sb_instagram #sbi_load {
    margin-top: 20px;
}
	
	.project-list-wrapper {
    grid-template-columns: repeat(2, 1fr);
}
	
	.product-single-right {
    width: 300px;
    flex: 0 0 300px;
}
	
	.product-right-card {
    padding: 20px;
    border-radius: 15px;
}
	
	.product-dtl-left {
    width: 100px;
}
	
	.project-single-heading .project-main-title {
    font-size: 30px;
    line-height: 40px;
}
	
	.gallery-caption {
    font-size: 12px;
    line-height: 18px;
}
		
	.project-gallery {
    grid-template-columns: repeat(3, 1fr);
}
	
	.ratings-section {
    padding: 60px 0 80px;
}
}

@media(max-width:768px) {
    .custom-map-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        display: grid;
    }

    .custom-map-list li {
        background: #0d623a26 !important;
        border-radius: 5px;
    }

    .custom-map-list li a {
        justify-content: center;
    }

    .clm-frontend-map {
        height: 100% !important;
    }

    .footer-column.third-column>div+div {
        margin-top: 0;
    }

    .blog-card .blog-title {
        min-height: 32px;
    }

    .map-after-layer:after {
        display: none;
    }

    .timeline:before {
        left: 29px !important;
    }

    .timeline-right {
        left: 0;
    }

    .timeline-right .timeline-icon {
        margin-left: 0;
    }

    .timeline-left li.elementor-icon-list-item {
        flex-direction: row;
    }

    .timeline-right:after,
    .timeline-right:before,
    .timeline-left:after,
    .timeline-left:before {
        display: none !important;
    }
		
	.vertical-text {
    transform: rotate(0deg);
    transform-origin: 0px 0px;
    transition: 300ms all !important;
    min-width: 230px !important;
    min-height: auto;
}
		
	.gallery-wrapper:hover .gallery-item:first-child .vertical-text {
    transform: rotate(0deg);
}
	
		
	.gallery-wrapper .gallery-item:first-child .e-flex.e-con.e-child {
    --min-height: 300px;
		height:300px;
}
	
    .gallery-item .e-flex.e-con.e-child {
        --min-height: 100px;
        height: 100px;
    }
	
	.gallery-item:hover .e-flex.e-con.e-child {
    --min-height: 300px;
		height:300px;
}
	
	.gallery-wrapper:hover .gallery-item:first-child .e-flex.e-con.e-child {
       --min-height: 100px;
        height: 100px;
    }
	
	    .gallery-item:nth-child(n+5) {
        display: block;
    }

}

@media(max-width:767px) {
.contact-form-wrap .elementor-kit-8 h2 {
        font-size: 30px;
    }
	
    .container,
    .hero-slider .swiper-slide-contents {
        padding: 0 16px;
    }

    .top-navigation-right .menu-main-menu-container>.menu>li {
        padding: 0 16px;
    }

    .main-navigation .menu>li>svg {
        right: 25px;
    }

    .site-header-wrapper {
        padding: 10px 0;
    }

    .menu-toggle {
        width: 36px;
        height: 36px;
    }

    .menu-toggle svg {
        width: 14px;
    }

    .buttons-wrap .cus-btn.blue-btn .cus-btn-inr {
        display: none;
    }

.buttons-wrap .cus-btn.blue-btn {
        padding: 0px;
        height: 42px;
    }
	
	.buttons-wrap .cus-btn.blue-btn svg {
    scale: 1;
}
	
    .custom-logo-link img {
        max-width: 150px;
    }

    .site-header-top {
        display: none;
    }

    .main-header {
        border-radius: 0;
        position: relative !important;
    }

/*     .gallery-item:nth-child(n+3) {
        display: none;
    } */

    .vertical-text {
        transform-origin: 30px 30px;
    }

    .gallery-wrapper:hover .vertical-text {
        transform-origin: 20px 25px;
        min-width: 100px !important;
    }

    .arrow-btn {
        display: none;
    }

    .blog-list-wrapper {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .footer-column {
        width: 100% !important;
    }

    .footer-top-widgets {
        gap: 40px;
    }

    .footer-column.second-column .menu {
        grid-template-columns: repeat(1, 1fr);
        gap: 12px 30px;
    }

    .footer-column.third-column {
        gap: 40px;
        flex-direction: column;
    }

    .footer-column .address-list {
        gap: 12px;
    }

    .footer-column .footer-title,
    .footer-column .widget-title {
        font-size: 18px;
        padding-bottom: 16px;
    }

    .footer-bottom {
        padding: 15px 0;
        font-size: 12px;
    }

    .site-footer .footer-bottom .menu a {
        font-size: 12px;
    }

    .footer-bottom-right .menu {
        gap: 10px;
    }

    .footer-bottom-right .menu li+li {
        padding-left: 10px;
    }

    .footer-top {
        padding: 60px 0 40px;
    }

    .footer-social ul svg {
        scale: 0.75;
    }

    .footer-social ul {
        gap: 7px;
    }

    .footer-column .menu {
        gap: 10px;
    }

    .top-navigation-right {
        gap: 10px;
    }

    .cus-btn {
        padding: 4px 1px 4px 20px;
        height: 42px;
    }

    .top-navigation-wrapper {
        height: calc(100dvh - 80px);
        top: 80px;
    }

    .nav-open .top-navigation-wrapper .main-navigation {
        max-height: calc(100dvh - 80px);
		min-height: calc(100dvh - 148px);
    }

    .home .blog-card:nth-child(n+2) {
        display: none;
    }

    .custom-icon-list.two-column-list ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 0px 30px;
    }

    .two-column-list .elementor-icon-list-item {
        padding: 20px 0 !important;
    }

    .two-column-list .elementor-icon-list-item:nth-last-child(2):after {
        border-color: #2222221A !important;
    }

    div.gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .filter-btn,
    .gallery-filter {
        padding: 10px 16px;
        font-size: 12px !important;
    }

    .scroll-arrow {
        height: 45px;
        width: 45px;
        line-height: 50px;
    }

    .gallery-grid a img {
        border-radius: 15px;
    }

    .blog-filter-wrap {
        margin-bottom: 25px;
    }

    .blog-search input {
        height: 45px;
        font-size: 14px;
    }

    .blog-categories,
    .blog-tags {
        padding: 20px;
    }

    .elementor-post-navigation {
        flex-direction: column;
        gap: 10px;
    }

    .elementor-post-navigation__link {
        width: 100% !important;
    }

    .light-header .custom-breadcrumb {
        font-size: 12px;
    }

    .home-show-item-inr {
        flex-wrap: wrap;
    }

    .show-thumb {
        max-width: 100%;
        width: 100%;
    }

    .show-meta {
        align-items: self-start;
        flex-direction: column;
        gap: 5px;
    }

    .show-meta span {
        display: none;
    }

    .show-content {
        width: 100%;
    }

    #home-shows-container, #past-shows-container {
        gap: 20px;
    }

    .awards-wrapper .elementor-swiper-button.elementor-swiper-button-prev,
    .awards-wrapper .elementor-swiper-button.elementor-swiper-button-next {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a img {
        border-radius: 8px;
        width: 85px;
        height: 70px;
    }
	
	    .res-btm-left p {
        font-size: 12px;
    }
	
	    .res-btm-bar {
        padding: 16px;
    }
	
	.two-image-wrapper .elementor-element img {
    height: 200px;
}
	
	.two-image-wrapper .elementor-element + .elementor-element {
    margin-left: -50px;
    padding-top: 30px;
}

	    #sb_instagram #sbi_load {
        text-align: left !important;
    }
	
	.gallery-caption {
    bottom: 10px;
    left: 10px;
    font-size: 12px;
    line-height: 16px;
}
	
	.project-single-wrapper {
    flex-direction: column;
}
	
	.product-single-right {
    width: 100%;
    flex: 0 0 100%;
}
	
	.product-right-card + .product-right-card {
    margin-top: 15px;
}
	
		.project-gallery {
    grid-template-columns: repeat(2, 1fr);
}
	
	.project-single-heading .project-main-title {
        font-size: 26px;
        line-height: 36px;
        padding-bottom: 15px;
    }
}

@media(max-width:599px) {
    .custom-logo-link img {
        max-width: 140px;
        height: auto;
    }

	.buttons-wrap .cus-btn.fill-btn svg {
    display: none;
}
	
	.buttons-wrap .cus-btn.fill-btn {
	        padding: 4px 15px 4px 16px;
}
    .top-navigation-wrapper {
        height: calc(100dvh - 60px);
        top: 60px;
    }

    .nav-open .top-navigation-wrapper .main-navigation {
        max-height: calc(100dvh - 60px);
		        min-height: calc(100dvh - 127px);
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu {
        gap: 10px;
        flex-direction: column;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li {
        width: 100%;
    }

    .sub-menu-top.col>.sub-menu-wrap>.sub-menu>li a {
        gap: 10px;
    }
	
	    .res-btm-bar {
			        align-items: self-start;
    }
	
	.buttons-wrap {
    gap: 5px;
}
	
	.top-navigation-right {
        gap: 5px;
    }
	
    .project-list-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }
	
.project-item-inr {
    border-radius: 15px;
}
	
	.project-item-inr .project-img {
    border-radius: 10px;
}
}


@media(max-width:374px) {
	.custom-logo-link img {
        max-width: 110px;
    }
	
	    .res-btm-bar {
        padding: 16px 12px;
    }
	
	.res-btm-bar .social-list ul {
    gap: 7px;
}
	
}