/************************* General *************************/
[id]:not([id="our-projects"]) {
   scroll-margin-top: 102px;
}
.elementor-section:not([id="our-projects"]) {
   scroll-margin-top: 102px;
}

body *:focus {
   outline: none!important;
}
body * {
   box-sizing: border-box;
}
body .site,
.site-content,
.site-main {
   overflow: hidden;
}
body .ast-container, 
body .ast-container-fluid,
body.ast-woo-shop-archive .ast-container,
body.ast-woo-shop-archive .site-content > .ast-container {
   max-width: 1170px;
   width: 100%;
   padding-left: 15px;
   padding-right: 15px;
}
.elementor-template-full-width .site-content > .ast-container {
   padding-left: 0;
   padding-right: 0;
}
body {
   overflow-y: auto;
   overflow-x: hidden;
}

body,
body .elementor-element.elementor-widget-text-editor,
body .elementor-element.elementor-widget-heading,
body address, 
body blockquote, 
body dd, 
body dl, 
body dt, 
body fieldset, 
body figure, 
body hr, 
body iframe, 
body legend, 
body li, 
body ol, 
body p, 
body pre, 
body textarea, 
body ul {
   font-family: "Montserrat", Sans-serif;
   font-size: 16px;
   font-weight: 400;
   line-height: 1.45;
}
body b,
body .entry-content b,
body .elementor-element.elementor-widget-text-editor b,
body .elementor-element.elementor-widget-heading b,
body .elementor-element.elementor-widget-image-box b,
body strong,
body .entry-content strong,
body .elementor-element.elementor-widget-text-editor strong,
body .elementor-element.elementor-widget-heading strong,
body .elementor-element.elementor-widget-image-box strong {
   /* font-weight: 500; */
}
body h1,
body .entry-content h1,
body .entry-header h1.entry-title,
body .elementor-element.elementor-widget-text-editor h1,
body .elementor-element.elementor-widget-heading h1.elementor-heading-title,
body .elementor-element.elementor-widget-image-box h1,
body h2,
body .entry-content h2,
body .entry-header h2.entry-title,
body .elementor-element.elementor-widget-text-editor h2,
body .elementor-element.elementor-widget-heading h2.elementor-heading-title,
body .elementor-element.elementor-widget-image-box h2 {
   font-family: "Aboreto", Sans-serif;
   font-size: 50px;
   font-weight: 400;
   line-height: 1.25;
}
body h3,
body .entry-content h3,
body .entry-header h3.entry-title,
body .elementor-element.elementor-widget-text-editor h3,
body .elementor-element.elementor-widget-heading h3.elementor-heading-title,
body .elementor-element.elementor-widget-image-box h3 {
   font-family: "Montserrat", Sans-serif;
   font-size: 36px;
   font-weight: 400;
   line-height: 1.25;
}
body h4,
body .entry-content h4,
body .entry-header h4.entry-title,
body .elementor-element.elementor-widget-text-editor h4,
body .elementor-element.elementor-widget-heading h4.elementor-heading-title,
body .elementor-element.elementor-widget-image-box h4 {
   font-family: "Montserrat", Sans-serif;
   font-size: 25px;
   font-weight: 400;
   line-height: 1.4;
}
body h5,
body .entry-content h5,
body .entry-header h5.entry-title,
body .elementor-element.elementor-widget-text-editor h5,
body .elementor-element.elementor-widget-heading h5.elementor-heading-title,
body .elementor-element.elementor-widget-image-box h5 {
   font-family: "Montserrat", Sans-serif;
   font-size: 20px;
   font-weight: 400;
   line-height: 1.4;
}
body h6,
body .entry-content h6,
body .entry-header h6.entry-title,
body .elementor-element.elementor-widget-text-editor h6,
body .elementor-element.elementor-widget-heading h6.elementor-heading-title,
body .elementor-element.elementor-widget-image-box h6 {
   font-family: "Aboreto", Sans-serif;
   font-size: 16px;
   font-weight: 400;
   line-height: 1.45;
}

body .elementor-element.elementor-widget-button.big-ele-btn .elementor-button,
body .site .theme-red-btn.big-ele-btn {
   min-height: 50px;
   padding: 13px 34px;
}
body .elementor-element.elementor-widget-button .elementor-button,
body .site .theme-red-btn {
   font-size: 16px;
   background-color: #EE2938;
   border: 1px solid #EE2938;
   color: white;
   font-weight: 500;
   min-height: 40px;
   padding: 10px 17px;
   border-radius: 50px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   text-decoration: none;
}
body .elementor-element.elementor-widget-button .elementor-button:hover,
body .elementor-element.elementor-widget-button .elementor-button:focus,
body .site .theme-red-btn:focus,
body .site .theme-red-btn:hover {
   background-color: white;
   border: 1px solid #EE2938;
   color: #EE2938;
}

.elementor-element.elementor-widget-text-editor > *:last-child {
   margin-bottom: 0;
}
body .elementor-element.btn-with-right-arrow .elementor-button:after,
body .site .theme-red-btn.btn-with-right-arrow:after {
   content: "";
   width: 42px;
   min-width: 42px;
   height: 17px;
   margin-left: 10px;
   -webkit-mask-image: url(../img/white-arrow-right.png);
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-size: 100% 100%;
   -webkit-mask-position: center;
   mask-image: url(../img/white-arrow-right.png);
   mask-repeat: no-repeat;
   mask-size: 100% 100%;
   mask-position: center;
   background-color: white;
   transition: all .2s linear;
}
body .elementor-element.btn-with-right-arrow .elementor-button:hover:after,
body .elementor-element.btn-with-right-arrow .elementor-button:focus:after,
body .site .theme-red-btn.btn-with-right-arrow:hover:after,
body .site .theme-red-btn.btn-with-right-arrow:focus:after {
   background-color: #EE2938;
   transform: translate(8px, 0);
}
/************************* General end *************************/
/************************* Menu Widget *************************/
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu {
   margin: 0;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li {
   list-style: none;
   position: relative;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item .menu-link {
   font-size: 16px;
   color: black;
   display: inline-block;
   position: relative;
   line-height: 1.5;
   padding: 6px 5px;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu ul.sub-menu {
   margin: 5px 0 0;
   padding: 5px 0 5px 8px;
   width: 100%;
   border-top: 1px solid #bdbaba;
   transition: all .2s linear;
   overflow: hidden;
   max-height: 800px;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link {
   padding-right: 14px;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link:after, 
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link:before {
   content: "";
   position: absolute;
   top: 50%;
   transform: translate(0, -50%);
   background-color: #EE2938;
   transition: all .2s linear;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link:after {
   width: 7px;
   height: 1px;
   right: 1px;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link:before {
   width: 1px;
   height: 7px;
   right: 4px;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link:not(.active) + ul.sub-menu {
   margin-top: 0;
   margin-bottom: 0;
   max-height: 0;
   padding-top: 0;
   padding-bottom: 0;
   opacity: 0;
   pointer-events: none;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item.menu-item-has-children > .menu-link.active:before {
   opacity: 0;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item .menu-link:hover, 
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item .menu-link.active {
   color: #EE2D38;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu.horizontal {
   display: flex;
   flex-wrap: wrap;
   gap: 5px 15px;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu.is-header-menu li.menu-item .menu-link {
   font-weight: 500;
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu.is-header-menu ul.sub-menu {
   background-color: white;
   border: 2px solid rgb(0 0 0 / 40%);
   border-top-color: #EE2938;
   width: 159px;
   padding: 9px 0;
   text-align: center;
   position: absolute;
   top: 100%;
   margin-top: 0;
   left: 50%;
   transform: translate(-50%, 0);
   z-index: 2;
   box-shadow: 4px 4px 6px rgb(0 0 0 / 15%);
}
.elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu.is-header-menu li.menu-item.menu-item-has-children > .menu-link:not(.active) + ul.sub-menu {
   top: 90%;
}
/** for header menu only **/
.custom-header-sec:not(.sticky-header) .elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu li.menu-item .menu-link:not(:hover):not(.active) {
   color: white;
}
.custom-header-sec:not(.sticky-header) .elementor-element.elementor-widget.elementor-widget-custom_nav_menu ul.custom-elementor-widget-menu.is-header-menu ul.sub-menu {
   background-color: rgb(255 255 255 / 10%);
   border: 2px solid rgb(255 255 255 / 40%);
   border-top-color: #EE2938;
}
/** for header menu only end **/

/************************* Menu Widget end *************************/
/************************* Header *************************/
.custom-header-sec {
   transition: all .2s linear, padding-right 0s;
   padding-top: 20px;
   position: fixed;
   width: 100%;
   top: 0;
   left: 0;
   z-index: 999;
   padding-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
}
.custom-header-sec.home-head-banner-animation:not(.banner-animated) {
   padding-top: 20px;
}
.replacement-custom-header-space {
   transition: all .2s linear;
   min-height: 123px;
   width: 100%;
}
.custom-header-sec.sticky-header {
   padding-top: 0;
   background-color: white;
   box-shadow: 0 0 6px rgb(0 0 0 / 20%);
}

/************************* Header end *************************/
/************************* Banner *************************/
.swiper-container,
.custom-slider-with-grab {
   user-select: none;
}
.custom-slider-with-grab {
   cursor: grab;
}
.custom-slider-with-grab,
.swiper-container {
   position: relative;
}
.cbsd-sec {
   position: relative;
   height: 100vh;
   min-height: 550px;
   max-height: 750px;
   /* height: 957px; */
   overflow: hidden;
}
.cbsd-bg-img {
   position: absolute;
   width: calc(100% + 20px);
   height: calc(100% + 20px);
   top: -10px;
   left: -10px;
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   transition: all .2s linear;
}
.custom-slider-grab {
   position: absolute;
   z-index: 5;
   background-color: rgb(255 255 255 / 10%);
   border: 1px solid rgb(255 255 255 / 40%);
   width: 100px;
   height: 100px;
   border-radius: 50px;
   font-family: "Aboreto", Sans-serif;
   color: white;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   font-size: 16px;
   transition: opacity .2s linear;
   pointer-events: none;
}
.custom-banner-sec.custom-slider-with-grab.home-banner:not(.banner-animated) .custom-slider-grab,
.custom-slider-with-grab:not(.mouse-inside-the-hole) .custom-slider-grab {
   opacity: 0;
}
.cbsd-wrapper, 
.cbsd-container, 
.cbsd-div {
   height: 100%;
   width: 100%;
}
.cbsd-wrapper {
   position: relative;
   z-index: 2;
   transition: all .2s linear;
}
.cbsd-div {
   padding: 150px 0 73px;
   display: flex;
   align-items: flex-end;
   justify-content: flex-start;
}
.home-banner .cbsd-content-div .cbsd-description {
   width: 100%;
   max-width: 650px;
}
.home-banner .cbsd-content-div .cbsd-title {
   line-height: 1.1;
   font-size: 150px;
   margin-left: -10px;
}
.cbsd-content-div .cbsd-title, .cbsd-content-div .cbsd-description {
   color: white;
}
body .swiper-container .swiper-pagination {
   bottom: 30px;
   top: auto;
}
body .swiper-container .swiper-pagination .swiper-pagination-bullet {
   width: 10px;
   height: 10px;
   background-color: white;
   opacity: 1;
   transition: all .2s linear;
   background-color: #a8a2a2;
}
body .swiper-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
   background-color: #EE2938;
}
.custom-banner-slider {
   background-color: black;
}
.custom-banner-slider.swiper-container .swiper-pagination {
   display: none;
}
.half-overlay .cbsd-sec:before,
.half-overlay .cbsd-sec:after {
   content: "";
   position: absolute;
   width: 100%;
   height: 40%;
   left: 0;
   z-index: 1;
   opacity: 0.8;
   mix-blend-mode: multiply;
   transition: all .2s linear;
}
.half-overlay .cbsd-sec:before {
   top: 0;
   background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
}
.half-overlay .cbsd-sec:after {
   bottom: 0;
   background: linear-gradient(0, #000000 -2.76%, rgba(0, 0, 0, 0) 100%);
}
.full-overlay .cbsd-sec:before {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
   z-index: 1;
   opacity: 0.45;
   mix-blend-mode: multiply;
   transition: all .2s linear;
   background-color: black;
}
.sub-banner .cbsd-div {
   padding: 150px 0 135px;
   display: flex;
   align-items: center;
   justify-content: center;
}
.sub-banner .cbsd-content-div .cbsd-title, 
.sub-banner .cbsd-content-div .cbsd-description {
   text-align: center;
}
.sub-banner .cbsd-content-div .cbsd-title {
   margin-bottom: 2px;
}
.custom-banner-sec.sub-banner:before {
   content: "";
   position: absolute;
   -webkit-mask-image: url(../img/white-arrow-bottom-thin.png);
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-size: 100% 100%;
   -webkit-mask-position: center;
   mask-image: url(../img/white-arrow-bottom-thin.png);
   mask-repeat: no-repeat;
   mask-size: 100% 100%;
   mask-position: center;
   background-color: white;
   height: 91px;
   width: 37px;
   bottom: 40px;
   left: 50%;
   transform: translate(-50%, 0);
   z-index: 10;
}
.custom-banner-sec {
   position: relative;
}
/************************* Banner end *************************/
/************************* Floating Button *************************/
body #ast-scroll-top {
   display: block !important;
   transition: all .2s linear, margin-right 0s;
   background-color: white;
   border-radius: 50px;
   box-shadow: 0 0 6px rgb(0 0 0 / 20%);
   width: 65px;
   height: 65px;
   right: 20px;
   bottom: 80px;
   margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
}
body #ast-scroll-top > * {
   display: none;
}
body #ast-scroll-top:before {
   content: "";
   width: 13px;
   height: 33px;
   margin-left: 10px;
   -webkit-mask-image: url(../img/white-arrow-top.png);
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-size: 100% 100%;
   -webkit-mask-position: center;
   mask-image: url(../img/white-arrow-top.png);
   mask-repeat: no-repeat;
   mask-size: 100% 100%;
   mask-position: center;
   background-color: #EE2938;
   transition: all .2s linear;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   margin: auto;
}
body #ast-scroll-top:hover {
   background-color: #EE2938;
}
body #ast-scroll-top:hover:before {
   background-color: white;
}
body #ast-scroll-top[style*="display: none"] {
   opacity: 0;
   pointer-events: none;
   right: 0;
}
.floating-element-list {
   position: fixed;
   right: 10px;
   top: 50%;
   transform: translate(0, -50%);
   display: flex;
   flex-direction: column;
   gap: 10px;
   z-index: 999;
   transition: right .2s linear, opacity .2s linear;
}
.floating-element-div .floating-element-link {
   width: 120px;
   height: 120px;
   display: block;
}
.floating-element-link .floating-element-img,
.floating-element-link .fe-animate1,
.floating-element-link .fe-animate2 {
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
   border: 1px solid;
   border-radius: 50%;
}
.floating-element-link .fe-animate1,
.floating-element-link .fe-animate2 {
   transform: scale(0);
   opacity: 0;
}
.floating-element-link .floating-element-img {
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   width: 75px;
   height: 75px;
   overflow: hidden;
   border: 0;
}
.floating-element-link .fe-animate1 {
   width: 100%;
   height: 100%;
   animation: ripple 4s infinite cubic-bezier(0.2, 0, 0.3, 1);
}

.floating-element-link .fe-animate2 {
   width: 97px;
   height: 97px;
   animation: ripple 4s infinite cubic-bezier(0.2, 0, 0.3, 1);
   animation-delay: 1.2s; /* stagger effect */
}
@keyframes ripple {
   0% {
     transform: scale(0);
     opacity: 0;
   }
 
   20% {
     opacity: 0.8;
   }
 
   60% {
     opacity: 0.6;
   }
 
   100% {
     transform: scale(1.1);
     opacity: 0;
   }
}

.floating-element-div .floating-element-link:hover {
   transform: scale(1.05) rotate(-5deg);
}
.elementor-element.tmobile-fixed-btn {
   transition: all .2s linear;
}
.tmobile-fixed-btn.custom-hide {
   opacity: 0;
   pointer-events: none;
   bottom: 5px;
}
.floating-element-list.custom-hide {
   right: -120px;
   opacity: 0;
   pointer-events: none;
}


/************************* Floating Button end *************************/
/************************* SPACE section *************************/
.space-list-sec {
   position: relative;
}
.space-list-sec:not(.active) {
   pointer-events: none;

}
.space-list-sec .space-list-div {
   width: auto;
}
.space-list-sec .space-list-div:first-child {
   margin-left: auto;
   padding-left: 20px;
}
.space-list-sec .space-list-div:last-child {
   margin-right: auto;
   padding-right: 20px;
}
.space-list-deep-div {
   position: relative;
}
.space-list-alphabet-div, .space-list-image-div {
   transition: all .3s linear;
}
.space-list-alphabet-div .space-list-alphabet {
   margin: 0 -14px;
   color: #EE2938;
   text-align: center;
   font-size: 300px;
   line-height: 216px;
}
.space-list-alphabet-div {
   padding: 0 27px;
}
.space-list-image-div {
   position: absolute;
   width: calc(100% + 20px);
   height: 100%;
   top: 0;
   left: 50%;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   transform: translate(-50%, 0) rotateY(90deg);
   opacity: 0;
}
.active-animate .space-list-alphabet-div {
   transform: rotateY(-90deg);
   opacity: 0;
}
.active-animate .space-list-image-div {
   transform: translate(-50%, 0) rotateY(0);
   opacity: 1;
}
.space-list-caption-div .space-list-caption {
   margin-bottom: 0;
   text-align: center;
   font-weight: 500;
   line-height: 1.3;
}
.space-list-inner-div {
   display: flex;
   flex-direction: column;
   align-items: center;
   cursor: pointer;
}
.space-list-caption-div {
   padding: 8px 0;
   transition: all .2s linear;
   transform: rotateY(90deg);
   opacity: 0;
}
.active-animate .space-list-caption-div {
   transform: rotateY(0);
   opacity: 1;
}
.swiper-btn-div {
   position: relative;
   width: 65px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 5px;
   margin: 7px auto 0;
}
.swiper-container .swiper-btn-div div[class*="swiper-button-"] {
   width: 30px;
   height: 30px;
   border: 2px solid #EE2938;
   background-color: white;
   border-radius: 50pc;
   position: relative;
   transition: all .2s linear;
   left: 0;
   top: 0;
   margin: auto;
   opacity: 1;
}
.swiper-container .swiper-btn-div div[class*="swiper-button-"] svg {
   height: 13px;
   color: #EE2938;
   fill: #EE2938;
   transition: all .2s linear;
   font-weight: 700;
}
.swiper-container .swiper-btn-div div[class*="swiper-button-"]:hover {
   border: 2px solid #EE2938;
   background-color: #EE2938;
}
.swiper-container .swiper-btn-div div[class*="swiper-button-"]:hover svg {
   color: white;
   fill: white;
}
.swiper-container .swiper-btn-div div[class*="swiper-button-"].swiper-button-disabled {
   opacity: 0.5;
}





/************************* SPACE section end *************************/
/************************* Our Services *************************/
.our-services-list-parent-sec.custom-slider-with-grab:before,
.our-services-list-parent-sec.custom-slider-with-grab:after {
   content: "";
   width: 100%;
   height: 40px;
   display: block;
}
.our-services-list-sec .our-services-list-div {
   width: calc(25% - 15px);
   overflow: hidden;
}
.our-services-list-sec .our-services-list-div:not(:last-child) {
   margin-right: 20px;
}
.our-services-list-inner-div {
   border: 1px solid rgb(255 255 255 / 40%);
   background-color: rgb(255 255 255 / 10%);
}
.our-services-list-inner-td {
   height: 450px;
   transition: all .2s linear;
   display: flex;
   flex-direction: column;
   align-items: center;
}
.our-services-list-title-div .our-services-list-title {
   margin-bottom: 0;
   color: white;
   font-weight: 500;
}
.our-services-list-title-div {
   height: 165px;
   min-height: 165px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   padding: 23px 34px 15px;
   width: 100%;
}
.our-services-list-image {
   width: 100%;
   height: 100%;
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   position: relative;
}
.our-services-list-inner-bd {
   position: absolute;
   width: 100%;
   height: 100%;
   z-index: 2;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   background-image: url(../img/our-services-content-bg-2.jpg);
   top: 0;
   left: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 50px 15px;
   transition: all .4s linear;
   opacity: 0;
   pointer-events: none;
}
.our-services-list-inner-bd .our-services-list-description {
   color: #696969;
   margin: 0;
   text-align: center;
}
.our-services-list-inner-bd:before {
   content: "";
   position: absolute;
   background-color: #EE2938;
   height: 3px;
   width: 22px;
   right: 21px;
   bottom: 33px;
}
.our-services-list-image:before {
   content: "+";
   font-size: 60px;
   line-height: 30px;
   bottom: 19px;
   right: 15px;
   font-weight: 300;
   color: white;
   position: absolute;
}
.osl-animation1,
.osl-animation2,
.osl-animation3 {
   background-image: linear-gradient(180deg, rgb(255 255 255 / 60%) 0, transparent 92%);
   position: absolute;
   width: 100%;
   height: 100%;
   top: 100%;
   left: 0;
   z-index: 3;
   transition: all .8s linear, transform 0s;
   opacity: 1;
   pointer-events: none;
}
.our-services-list-inner-div.active1 .osl-animation1,
.our-services-list-inner-div.active2 .osl-animation2,
.our-services-list-inner-div.active3 .osl-animation3 {
   top: -100%;
   opacity: 1;
}

.our-services-list-inner-div.active-final .osl-animation1,
.our-services-list-inner-div.active-final .osl-animation2,
.our-services-list-inner-div.active-final .osl-animation3 {
   transform: rotateX(180deg);
}
.our-services-list-inner-div.active4 .our-services-list-inner-bd {
   opacity: 1;
   pointer-events: all;
}

/************************* Our Services end *************************/
/************************* Homepage Banner Animation *************************/
.custom-header-sec.home-head-banner-animation:not(.banner-animated) {
   opacity: 0;
   pointer-events: none;
}
.custom-banner-sec.home-banner:not(.banner-animated) .cbsd-wrapper {
   opacity: 0;
   transform: translate(0, 40px);
   pointer-events: none;
}
.custom-banner-sec.home-banner:not(.banner-animated) .cbsd-sec:before {
   opacity: 0;
   top: -20%;
}
.custom-banner-sec.home-banner:not(.banner-animated) .cbsd-sec:after {
   opacity: 0;
   bottom: -20%;
}
.custom-banner-sec.home-banner:not(.banner-animated) .cbsd-bg-img {
   filter: blur(15px);
}
.home-animation-front {
   position: absolute;
   z-index: 10;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
}
.home-animation-front-container, 
.home-animation-front-div {
   height: 100%;
   width: 100%;
}
.home-animation-front-div {
   padding: 31px 0;
}
.home-animation-front-div .home-animation-front-img {
   width: 100%;
   max-width: 530px;
   height: auto;
   position: relative;
   left: 50%;
   top: 50%;
   transform: translate(-50%, -50%);
   transition: all 1s linear;
}
.custom-banner-sec.home-banner.banner-animated .home-animation-front {
   opacity: 0;
   pointer-events: none;
}
.custom-banner-sec.home-banner.banner-animation-start .home-animation-front-img {
   left: 0;
   top: 0;
   transform: translate(0, 0);
   max-width: 137px;
}
/************************* Homepage Banner Animation end *************************/
/************************* Our Project *************************/
.gallery-post-sec {
   display: flex;
   flex-wrap: wrap;
}
.gallery-post-div {
   position: relative;
   /* height: 100vh; */
   height: 500px;
   width: 50%;
   overflow: hidden;
}
.gallery-post-bg {
   position: absolute;
   width: calc(100% + 20px);
   height: calc(100% + 20px);
   top: -10px;
   left: -10px;
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   transition: all .2s linear;
}
.gallery-post-inner-div {
   height: 100%;
   width: 100%;
   position: relative;
   z-index: 2;
}
.gallery-post-content-div {
   width: 100%;
   height: 100%;
   /* max-width: 585px; */
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: flex-end;
}
.gallery-post-content-div .gallery-post-label, 
.gallery-post-content-div .gallery-post-title {
   margin-bottom: 0;
   color: white;
}
.gallery-post-div:first-child .gallery-post-content-div {
   margin-left: auto;
   /* padding: 120px 20px 46px 15px; */
   padding: 120px 20px 46px 71px;
}
.gallery-post-div:last-child .gallery-post-content-div {
   padding: 120px 20px 46px 71px;
}
.gallery-post-content-div .gallery-post-title.with-arrow,
.poli-content-div .poli-title.with-arrow {
   display: flex;
   align-items: center;
}
.gallery-post-content-div .gallery-post-title.with-arrow:after,
.poli-content-div .poli-title.with-arrow:after {
   content: "";
   width: 42px;
   min-width: 42px;
   height: 17px;
   margin-left: 10px;
   -webkit-mask-image: url(../img/white-arrow-right.png);
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-size: 100% 100%;
   -webkit-mask-position: center;
   mask-image: url(../img/white-arrow-right.png);
   mask-repeat: no-repeat;
   mask-size: 100% 100%;
   mask-position: center;
   background-color: white;
   transition: all .2s linear;
}
.poli-content-div .poli-title.with-arrow:after {
   background-color: #EE2D38;
}
.gallery-post-div:before {
   content: "";
   z-index: 1;
   position: absolute;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
   width: 100%;
   height: 30%;
   bottom: 0;
   left: 0;
   opacity: 0.6;
   mix-blend-mode: multiply;
}
.gallery-post-div:first-child:last-child {
   width: 100%;
}
.gallery-post-div:first-child:last-child .gallery-post-content-div {
   width: 100%;
   max-width: 1170px;
   margin: auto;
   padding: 120px 15px 46px;
}
.gallery-post-sec.last-gallery-post .gallery-post-div .gallery-post-content-div {
   padding: 120px 15px 80px;
   width: 100%;
   max-width: 1170px;
   margin: auto;
   display: flex;
   align-items: center;
   justify-content: center;
}
.gallery-post-sec.last-gallery-post .gallery-post-content-div .gallery-post-label {
   margin-bottom: 5px;
}
.gallery-post-sec.last-gallery-post .gallery-post-content-div .gallery-post-title {
   margin-bottom: 20px;
}
.gallery-post-sec.last-gallery-post .gallery-post-div:before {
   background-color: black;
   width: 100%;
   height: 100%;
   opacity: 0.5;
}
.gallery-image-list {
   position: absolute;
   width: 320px;
   height: 320px;
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   margin: auto;
   z-index: 5;
   cursor: pointer;
   opacity: 1;
   overflow: hidden;
   border: 5px solid white;
   transition: all .2s linear;
}
body .gallery-image-list > * {
   position: absolute;
   width: 100%;
   height: 100%;
   display: block;
   top: 0;
   left: 0;
   transition: all .2s linear;
}
body .gallery-image-list > *:first-child {
   z-index: 2;
}
body .gallery-image-list > * img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
}
.gallery-post-div.hover-active .gallery-image-list > *:not(.img-hover-active),
body .gallery-image-list > *:not(:first-child) {
   z-index: -1;
   opacity: 0;
}
body .gallery-image-list > *.img-hover-active {
   opacity: 1;
   z-index: 3;
}
.gallery-image-list:hover ~ .gallery-post-inner-div .gallery-post-title.with-arrow:after {
   transform: translate(5px, 0);
}
.gallery-image-list:hover ~ .gallery-post-bg {
   filter: brightness(0.8);
}
.project-overview-sec {
   padding: 40px 0 50px;
   display: flex;
   flex-wrap: wrap;
   gap: 23px 38px;
}
.project-overview-left-div {
   width: 250px;
}
.project-overview-right-div {
   width: calc(100% - 288px);
}
.poli-content-div {
   position: relative;
   overflow: hidden;
}
.project-overview-left-div .project-overview-filter-subtitle {
   color: #EE2D38;
   margin-bottom: 10px;
}
.project-overview-left-div .project-overview-filter-title {
   color: #676767;
   margin-bottom: 2px;
   padding-bottom: 8px;
   border-bottom: 1px solid #C4C4C4;
   font-weight: 600;
}
.project-category-list .project-category-link {
   width: 100%;
   display: inline-flex;
   align-items: center;
   padding: 6px 0 3px;
   text-decoration: none!important;
}
.project-category-list .project-category-link .project-category-link-label {
   margin-bottom: 0;
   transition: all .2s linear;
   font-family: "Montserrat", Sans-serif;
   font-size: 14px;
}
.project-category-list .project-category-link .project-category-link-btn {
   display: block;
   width: 16px;
   height: 16px;
   min-width: 16px;
   margin-right: 8px;
   background-color: #BFBFBF;
   border-radius: 50px;
   position: relative;
   transition: all .2s linear;
}
.project-category-list .project-category-link .project-category-link-btn:before {
   content: "";
   position: absolute;
   transition: all .2s linear;
   border-bottom: 2px solid white;
   border-left: 2px solid white;
   width: 8px;
   height: 5px;
   transform: rotate(-45deg) translate(1px, -1px);
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   margin: auto;
   opacity: 0;
}
.project-category-list .project-category-link.active .project-category-link-btn {
   background-color: #EE2D38;
}
.project-category-list .project-category-link.active .project-category-link-btn:before {
   opacity: 1;
}
.project-category-list .project-category-link:hover .project-category-link-label {
   color: #EE2D38;
}
.project-overview-list {
   display: flex;
   flex-wrap: wrap;
   gap: 35px 20px;
   margin-bottom: 30px;
}
.project-overview-list + .page-numbers {
   margin-top: 90px;
}
.project-overview-list-div {
   width: calc(50% - 10px);
}
.poli-content-div .poli-bg {
   width: 100%;
   height: 400px;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   transition: all .2s linear;
}

.poli-content-div .poli-title {
   color: black;
   margin-bottom: 0;
   padding: 11px 0 7px;
   transition: all .2s linear;
}
.poli-terms-div {
   display: flex;
   flex-wrap: wrap;
   gap: 5px;
   align-items: center;
}
.poli-terms-div .poli-terms-link {
   font-size: 12px;
   color: #676767;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   text-decoration: none !important;
   border-radius: 50px;
   border: 1px solid #676767;
   padding: 2px 10px;
   line-height: 1.3;
   min-height: 23px;
}
.poli-terms-div .poli-terms-link:hover,
.poli-terms-div .poli-terms-link:focus {
   background-color: #EE2D38;
   border: 1px solid #EE2D38;
   color: white;
}
.poli-content-div:hover .poli-bg {
   filter: brightness(0.7);
}
.poli-content-div:hover .poli-title {
   color: #EE2D38;
}
.poli-content-div:not(:hover) .poli-title.with-arrow:after {
   opacity: 0;
   transform: translate(-5px, 0);
}
.poli-content-div .gallery-image-list {
   opacity: 0;
   width: 100%;
   height: 100%;
}
.custom-filter-with-pagi .page-numbers {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center;
   justify-content: center;
   margin-left: 0;
   padding-left: 0;
}
.custom-filter-with-pagi .page-numbers li {
   list-style: none;
   display: flex;
}
.custom-filter-with-pagi .page-numbers .page-numbers.current,
.custom-filter-with-pagi .page-numbers .page-numbers:hover {
   border: 1px solid rgb(0 0 0 / 40%);
   background-color: rgb(0 0 0 / 10%);
}
.custom-filter-with-pagi .page-numbers .page-numbers {
   border: 1px solid transparent;
   background-color: transparent;
   width: 30px;
   height: 30px;
   border-radius: 50px;
   text-decoration: none;
   color: black;
   text-align: center;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}
.custom-filter-with-pagi .page-numbers .page-numbers.next,
.custom-filter-with-pagi .page-numbers .page-numbers.prev {
   border: 0;
   font-size: 0;
   width: 30px;
   height: 12px;
   -webkit-mask-repeat: no-repeat;
   -webkit-mask-size: 100% 100%;
   -webkit-mask-position: center;
   mask-repeat: no-repeat;
   mask-size: 100% 100%;
   mask-position: center;
   background-color: #EE2D38;
   transition: all .2s linear;
}
.custom-filter-with-pagi .page-numbers .page-numbers.prev {
   -webkit-mask-image: url(../img/white-arrow-left.png);
   mask-image: url(../img/white-arrow-left.png);
}
.custom-filter-with-pagi .page-numbers .page-numbers.next {
   -webkit-mask-image: url(../img/white-arrow-right.png);
   mask-image: url(../img/white-arrow-right.png);
}
.custom-filter-with-pagi .page-numbers .page-numbers.next:hover,
.custom-filter-with-pagi .page-numbers .page-numbers.prev:hover {
   background-color: black;
}

.gallery-post-sec:not(.last-gallery-post) .gallery-post-div:after {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
   background-color: rgb(0 0 0 / 50%);
   top: 0;
   left: 0;
   z-index: 2;
   transition: all .2s linear;
}
.gallery-post-sec:not(.last-gallery-post) .gallery-post-div:not(.hover-active):after {
   opacity: 0;
}
.gallery-post-div:not(.hover-active) .gallery-image-list {
   opacity: 0;
   pointer-events: none;
}
body.is-touch-device .gallery-image-list {
   width: 100%;
   height: 100%;
   opacity: 0;
}





/************************* Our Project end *************************/
/************************* *************************/
/************************* *************************/
/************************* *************************/
/************************* *************************/
/************************* *************************/
/************************* *************************/
/************************* *************************/
/************************* *************************/
/************************* Touch device styling *************************/
body.is-touch-device .custom-banner-slider.swiper-container .swiper-pagination {
   display: block;
}
/************************* Touch device styling end *************************/

/* body.page-id-50.logged-in:before */
body.logged-in:before {
   /* content: ""; */
   background-image: url(https://novahost.com.my/wp-content/uploads/2025/12/home-qc-scaled.jpg);
   background-repeat: no-repeat;
   background-size: 1920px auto;
   background-position: center top;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 999;
   opacity: 0.3;
   pointer-events: none;
   width: 100%;
   height: 4200px;
}






