/*========================================
    ROOT VARIABLES
========================================*/

:root {

    --Heading_Font: 'Unbounded', sans-serif;
    --Paragraph_Font: 'Poppins', sans-serif;

    --BodyBGColor: #1B1B1B;
    --PrimaryColor: #e57e25;
    --SecondaryColor: #fb7500;
    --TertiaryColor: #121212;
    --QuaternaryColor: #2563eb;
    --HeadAltColor: #FFFFFF;
    --AccentTxtColor: #FFFFFF;
    --BodyTxtColor: #999999;
    --LinkColor: #FFFFFF;
    --LinkHoverColor: #fb7500;
    --BorderColor: #D6D6D6;

    --H1_Size: clamp(46px, calc(41.73px + 1.472vw), 70px); /*70px - 46px*/
    --H2_Size: clamp(38px, calc(33.73px + 1.472vw), 62px); /*62px - 38px*/
    --H3_Size: clamp(30px, calc(26.798px + 1.104vw), 48px); /*48px - 30px*/
    --H4_Size: clamp(24px, calc(21.865px + 0.736vw), 36px); /*36px - 24px*/
    --H5_Size: clamp(20px, calc(18.933px + 0.368vw), 26px); /*26px - 20px*/
    --H6_Size: clamp(18px, calc(17.288px + 0.245vw), 22px); /*22px - 18px*/

    --Paragraph_Size: 16px;

    --Container_Width: 1620px;
    --Container_Padding: 20px;

    --Radius_Small: 10px;
    --Radius_Medium: 30px;
    --Radius_Large: 50%;

    --Transition: all .3s ease;

    --Star-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 100 100' style='enable-background:new 0 0 100 100;' xml:space='preserve'%3E%3Cpath d='M59.9,99l-1.6-34.7l29,18.6l10.1-17L66.9,50.2l30.6-15.7L87.4,17.1l-29,18.6L59.9,1H40.1l1.6,34.7 L12.4,17.1L2.6,34.4l30.6,15.8L2.6,65.9l9.8,17l29.3-18.6L40.1,99H59.9z'%3E%3C/path%3E%3C/svg%3E");

}


/*========================================
    RESET
========================================*/

*{ margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }

body { overflow-x:hidden; background:var(--BodyBGColor); color:var(--BodyTxtColor); 
    font-family:var(--Paragraph_Font); font-size:var(--Paragraph_Size); line-height:1.8; }

html body {
    background-image: url(../images/Body\ Pattern.png) !important; background-position: top center; 
    background-size: contain; background-repeat: repeat-y; background-attachment: scroll; }

#qodef-back-to-top.qodef--predefined svg { fill: currentColor !important; }


/* ================================
    Site Preloader
================================ */

#website-preloader { 
    position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; 
    background: #1B1B1B; transition: opacity .7s ease, visibility 0s linear .7s; }

.preloader-logo {
    position: relative; width: 100%; max-width: clamp(220px, calc(205.767px + 4.908vw), 300px); /*300px - 220px*/ 
    height: clamp(220px, calc(205.767px + 4.908vw), 300px); /*300px - 220px*/ display: flex; 
    flex-direction: column; text-align: center; line-height: 1; justify-content: center; align-items: center; 
    padding: 30px; background-color: #333; border-radius: 50%; z-index: 2; }

#website-preloader .preloader-logo img {
    display: block; width: clamp(120px, calc(109.325px + 3.681vw), 180px); /*180px - 120px*/ 
    height: auto; margin-top: -15px; }

#website-preloader .preloader-logo span { 
    font-family: var(--Heading_Font); font-size: var(--H4_Size); font-weight: 700; 
    letter-spacing: -.05em; text-transform: uppercase; color: var(--AccentTxtColor); }

#website-preloader .preloader-logo small { 
    font-family: var(--Paragraph_Font); font-size: clamp(10px, calc(9.644px + 0.123vw), 12px); 
    font-weight: 500; letter-spacing: .35em; text-transform: uppercase; color: var(--PrimaryColor); 
    margin-top: clamp(15px, calc(14.11px + 0.307vw), 20px); /*20px - 15px*/ }

#website-preloader::before { 
    content: ""; position: absolute; top: 0; right: 0; left: 0; bottom: 0; width: 1px; height: 100%; 
    background: #666; transform: scaleY(0); transform-origin: center; 
    animation: preloader-line 1.2s ease forwards; margin: auto; }

#website-preloader::after { 
    content: ""; position: absolute; top: 0; right: 0; left: 0; bottom: 0; width: 100%; height: 1px; 
    background: #666; transform: scaleX(0); transform-origin: center; 
    animation: preloader-line-2 1.2s ease forwards; margin: auto; }

#website-preloader.is-loaded { display: none; visibility: hidden; pointer-events: none; }

@keyframes preloader-line { to { transform: scaleY(1); } }
@keyframes preloader-line-2 { to { transform: scaleX(1); } }


/*==================================================
    Website Breadcrumb
==================================================*/

.website-breadcrumb {
    position: relative; overflow: hidden; width: 100%; 
    padding: clamp(120px, calc(105.767px + 4.908vw), 200px) 0 clamp(80px, calc(67.546px + 4.294vw), 150px) 0;
    background-image: url(../images/Breadcrumb\ Image.png); background-position: bottom center; 
    background-repeat: no-repeat; background-size: cover; }

.website-breadcrumb::before {
    content: ''; position: absolute; width: 100%; height: 100%; background-color: var(--BodyBGColor); 
    top: 0; right: 0; bottom: 0; left: 0; opacity: 0.8; z-index: 0; margin: auto; }

.website-breadcrumb-inner {
    position: relative; display: block; width: 100%; max-width: 1200px; padding: 0 20px; margin: 0 auto; z-index: 1; }

.website-breadcrumb-inner-content {
    display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px clamp(10px, calc(9.11px + 0.307vw), 15px); /*15px - 10px*/ 
    font-family: var(--Heading_Font); font-size: var(--H6_Size); font-weight: 500; text-transform: capitalize; 
    padding: 14px clamp(26px, calc(24.221px + 0.613vw), 36px); /*36px - 26px*/ border: 1px solid #666; 
    border-radius: clamp(30px, calc(-18.037px + 16.564vw), 300px); /*300px - 30px*/ }

.website-breadcrumb-inner-content a {
    color: var(--BodyTxtColor); text-decoration: none; transition: color 0.3s ease; }

.website-breadcrumb-inner-content a:hover { color: var(--LinkHoverColor); }

.website-breadcrumb-separator { color: currentColor; }

.website-breadcrumb-current { font-size: var(--H6_Size); line-height: 1.8; color: var(--AccentTxtColor); }


/*========================================
    BODY OVERLAY EFFECTS
========================================*/

html body .body-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; background: #1B1B1B; 
    pointer-events: none; -webkit-mask-image: radial-gradient(circle 250px at var(--x, 50%) var(--y, 50%), transparent 0%, transparent 40%, black 100%); 
    mask-image: radial-gradient(circle 250px at var(--x, 50%) var(--y, 50%), transparent 0%, transparent 40%, black 100%); 
    transition: mask-image 0.15s ease-out, -webkit-mask-image 0.15s ease-out; }

.animation-heading{
    will-change: transform; transform: translateZ(0); }

.mouse-image img{
    will-change: transform; transition: transform .25s ease; 
    backface-visibility: hidden; transform-style: preserve-3d; }

#bodyOverlay{ will-change: background; }

.btn-spotlight, .ast-custom-button{ will-change: background; }


/*========================================
    Section Nav Styles
========================================*/

.section-nav {
    position:fixed; background: var(--AccentTxtColor); bottom: 0; left: 0; 
    box-shadow: 0 4px 14px rgba(22,36,27,.08); z-index:60; }

.section-nav__count {
    font-family: var(--Heading_Font); display: flex; align-items: baseline; gap: 4px; 
    padding: 14px 20px; color: var(--BodyBGColor); }

.section-nav__count span:first-child { 
    font-size: var(--H5_Size); font-weight: 600; line-height: 1; }

.section-nav__total { 
    font-size: var(--Paragraph_Size); font-weight: 600; line-height: 1; }


/*========================================
    CONTAINER
========================================*/

.container, .ast-container { 
    width: 100%; max-width: var(--Container_Width); padding-left: var(--Container_Padding); 
    padding-right: var(--Container_Padding); margin: auto; }


/*========================================
    TYPOGRAPHY
========================================*/

h1, h2, h3, h4, h5, h6 {
    font-family:var(--Heading_Font); color:var(--HeadAltColor); line-height:1.25; margin-bottom: 0; }

h1 { font-size:var(--H1_Size); }
h2 { font-size:var(--H2_Size); }
h3 { font-size:var(--H3_Size); }
h4 { font-size:var(--H4_Size); }
h5 { font-size:var(--H5_Size); }
h6 { font-size:var(--H6_Size); }

p { margin-bottom: 0; color:var(--BodyTxtColor); }

.scroll-opacity-text { transition: opacity 0.2s ease-out; }


/*========================================
    LINKS
========================================*/

a { color:var(--LinkColor); text-decoration:none; transition:var(--Transition); }

a:hover { color:var(--LinkHoverColor); }


/*========================================
    BUTTONS
========================================*/

button, .wp-element-button, .elementor-button { 
    background:var(--PrimaryColor); color:#fff; border:none; padding:14px 30px; border-radius:8px; transition:var(--Transition); }

button:hover, .wp-element-button:hover, .elementor-button:hover { background:var(--SecondaryColor); }


/*========================================
    IMAGES
========================================*/

img { max-width:100%; height:auto; display:block; }


/*========================================
    LISTS
========================================*/

ul, ol { padding-left:25px; margin-bottom:20px; }

li { margin-bottom:10px; }


/*========================================
    TABLES
========================================*/

table { width:100%; border-collapse:collapse; }

table th { background:var(--PrimaryColor); color:#fff; padding:15px; }

table td { border:1px solid var(--BorderColor); padding:15px; }


/*========================================
    FORMS
========================================*/

input, textarea, select { width:100%; padding:14px; border:1px solid var(--BorderColor); border-radius:5px; }

input:focus, textarea:focus, select:focus { outline:none; border-color:var(--PrimaryColor); }


/*========================================
    UTILITY
========================================*/

.overflow-hidden { overflow: hidden !important }

.text-center { text-align:center; }

.text-left { text-align:left; }

.text-right { text-align:right; }

.d-flex { display:flex; }

.align-center { align-items:center; }

.justify-center { justify-content:center; }

.w-100 { width:100%; }


/*========================================
    SCROLLBAR
========================================*/

::-webkit-scrollbar { width:6px; }

::-webkit-scrollbar-thumb { background:var(--PrimaryColor); }

::-webkit-scrollbar-track { background:var(--TertiaryColor); }


/*========================================
    Inview Animations
========================================*/

.fadeIn { animation-name: liviFadeInIn !important; animation-duration: 800ms !important; 
    animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1) !important; will-change: transform !important; 
    transition: opacity 1s ease-out,transform 1s !important; }

@-webkit-keyframes liviFadeInIn {
    from { opacity: 0; transform: translateY(10px); transform-origin: top center; }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes liviFadeInIn {
    from { opacity: 0; transform: translateY(10px); transform-origin: top center; }
    to { opacity: 1; transform: translateY(0); }
}

.fadeInUp { animation-name: liviFadeInUp !important; animation-duration: 800ms !important; 
    animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1) !important; will-change: transform !important; 
    transition: opacity 1s ease-out,transform 1s !important; }

@-webkit-keyframes liviFadeInUp {
    from { opacity: 0; transform: translateY(30px) translateZ(0) skewY(2deg) scaleY(1.2); transform-origin: top left; }
    to { opacity: 1; transform: translateY(0) translateZ(0) skewY(0) scaleY(1); }
}
@keyframes liviFadeInUp {
    from { opacity: 0; transform: translateY(30px) translateZ(0) skewY(2deg) scaleY(1.2); transform-origin: top left; }
    to { opacity: 1; transform: translateY(0) translateZ(0) skewY(0) scaleY(1); }
}

.fadeInDown { animation-name: livifadeInDown !important; animation-duration: 800ms !important; 
    animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1) !important; will-change: transform !important; 
    transition: opacity 1s ease-out,transform 1s !important; }

@-webkit-keyframes livifadeInDown {
    from { opacity: 0; transform: translateY(-60px) translateZ(0) skewY(-4deg) scaleY(1.4); transform-origin: bottom left; }
    to { opacity: 1; transform: translateY(0) translateZ(0) skewY(0) scaleY(1); }
}
@keyframes livifadeInDown {
    from { opacity: 0; transform: translateY(-60px) translateZ(0) skewY(-4deg) scaleY(1.4); transform-origin: bottom left; }
    to { opacity: 1; transform: translateY(0) translateZ(0) skewY(0) scaleY(1); }
}

.fadeInLeft { animation-name: liviFadeInLeft !important; animation-duration: 800ms !important; 
    animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1) !important; will-change: transform !important; 
    transition: opacity 1s ease-out,transform 1s !important; }

@-webkit-keyframes liviFadeInLeft {
    from { opacity: 0; transform: translateX(-100px) translateZ(0) scaleX(1); transform-origin: top left; }
    to { opacity: 1; transform: translateX(0) translateZ(0) scaleX(1); }
}
@keyframes liviFadeInLeft {
    from { opacity: 0; transform: translateX(-100px) translateZ(0) scaleX(1); transform-origin: top left; }
    to { opacity: 1; transform: translateX(0) translateZ(0) scaleX(1); }
}

.fadeInRight { animation-name: liviFadeInRight !important; animation-duration: 800ms !important; 
    animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1) !important; will-change: transform !important; 
    transition: opacity 1s ease-out,transform 1s !important; }

@-webkit-keyframes liviFadeInRight {
    from { opacity: 0; transform: translateX(100px) translateZ(0) scaleX(1); transform-origin: top right; }
    to { opacity: 1; transform: translateX(0) translateZ(0) scaleX(1); }
}
@keyframes liviFadeInRight {
    from { opacity: 0; transform: translateX(100px) translateZ(0) scaleX(1); transform-origin: top right; }
    to { opacity: 1; transform: translateX(0) translateZ(0) scaleX(1); }
}


/*========================================
    Common Image Animation
========================================*/

.mouse-image { position: relative; overflow: hidden; }


/*========================================
    Sticky Container
========================================*/

.sticky-container { position: sticky !important; top: 120px; height: fit-content !important; }
.sticky-container.with-top-50 { top: 30%; }


/*========================================
    Common Sutitle Animation
========================================*/

.subtitle-heading.elementor-widget-qi_addons_for_elementor_animated_text .qodef-shortcode .qodef-m-title {
    position: relative; }

.subtitle-heading.elementor-widget-qi_addons_for_elementor_animated_text .qodef-shortcode .qodef-m-title::before {
    content: ''; position: relative; display: inline-block; width: 20px; height: 20px; 
    top: 1px; right: 0; bottom: 0; left: 0; background-color: var(--PrimaryColor); mask-image: var(--Star-icon); 
    mask-repeat: no-repeat; mask-size: 20px; margin: auto; 
    margin-right: clamp(5px, calc(4.11px + 0.307vw), 10px); /*10px - 5px*/ animation: pulse 3s ease infinite; }

@-webkit-keyframes pulse{ from,to{ transform:scale3d(1,1,1); } 50%{ transform:scale3d(1.1,1.1,1.1) rotate(120deg); } }
@keyframes pulse{ from,to{ transform:scale3d(1,1,1); } 50%{ transform:scale3d(1.1,1.1,1.1) rotate(120deg); } }


/*========================================
    Button Animation
========================================*/

.btn-spotlight .ekit-btn-wraper .elementskit-btn,
.elementor-widget-qi_addons_for_elementor_button .qodef-qi-button:not(.qodef-layout--textual),
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button {
    position: relative; overflow: hidden !important; font-size: var(--Paragraph_Size); line-height: normal; 
    text-transform: capitalize; padding: 20px 46px; border-color: var(--BorderColor); transition: border-color .3s ease; }

.btn-spotlight .ekit-btn-wraper .elementskit-btn span,
.elementor-widget-qi_addons_for_elementor_button .qodef-qi-button:not(.qodef-layout--textual) span,
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button span { z-index: 1; }

.btn-spotlight .ekit-btn-wraper .elementskit-btn::before,
.elementor-widget-qi_addons_for_elementor_button .qodef-qi-button:not(.qodef-layout--textual)::before,
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit; 
    background: radial-gradient(140px circle at var(--x, 50%) var(--y, 50%), rgba(255,91,31,0.35), transparent 70%); 
    opacity: 0; transition: opacity .3s ease; pointer-events: none; z-index: 1; }

.btn-spotlight .ekit-btn-wraper .elementskit-btn:hover::before,
.elementor-widget-qi_addons_for_elementor_button .qodef-qi-button:not(.qodef-layout--textual):hover::before,
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button:hover::before { opacity: 1; }

.elementor-widget-qi_addons_for_elementor_button.with-circle .qodef-qi-button {
    width: clamp(110px, calc(102px + 2.5vw), 150px); /*150px - 110px*/ 
    height: clamp(110px, calc(102px + 2.5vw), 150px); /*150px - 110px*/ 
    padding: 20px; text-align: center; line-height: 1.5em; border-radius: var(--Radius_Large); }

.elementor-widget-qi_addons_for_elementor_button .qodef-qi-button.qodef-text-underline .qodef-m-text {
    line-height: normal; padding-bottom: 3px; }


/*========================================
    Project Styles
========================================*/

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image .qodef-e-media-image,
.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image .qodef-e-media-image { 
    position: relative; overflow: hidden; }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image .qodef-e-media-image img { 
    -webkit-transition: var(--Transition); transition: var(--Transition); }

.qodef-portfolio-list.qodef-item-layout--info-follow article:hover .qodef-e-image .qodef-e-media-image img { 
    filter: grayscale(1); }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image + .qodef-e-content { padding-top: 20px; }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image + .qodef-e-content .qodef-e-category-holder { 
    margin-bottom: 14px; }

.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-info-category {
    font-family: var(--Heading_Font); font-size: var(--Paragraph_Size); line-height: normal; font-weight: 500; 
    letter-spacing: 0; color: var(--BodyTxtColor); margin-bottom: 14px; }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image + .qodef-e-content .qodef-e-info-category a,
.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-info-category a {
    font-family: var(--Paragraph_Font); font-size: var(--Paragraph_Size); color: var(--BodyTxtColor); }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image + .qodef-e-content .qodef-e-info-category a:hover,
.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-info-category a:hover {
    color: var(--LinkHoverColor); }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image + .qodef-e-content .qodef-e-info-category .qodef-category-separator:after,
.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-info-category .qodef-category-separator:after {
    color: var(--BodyTxtColor); }

.qodef-portfolio-list.qodef-item-layout--info-follow article .qodef-e-image + .qodef-e-content .qodef-e-title-holder .qodef-e-title .qodef-e-title-link:hover {
    color: var(--LinkHoverColor); }

body .site ~ .qodef-e-content-follow { width: 100%; max-width: 500px; }

body .site ~ .qodef-e-content-follow .qodef-e-content > .qodef-e-content-inner {
    background-color: var(--AccentTxtColor); padding: 20px 30px; }

body .site ~ .qodef-e-content-follow .qodef-e-content > .qodef-e-content-inner .qodef-e-category-holder .qodef-e-info-category {
    font-family: var(--Paragraph_Font); font-weight: 400; text-transform: capitalize; padding: 0; margin-bottom: 9px; }

body .site ~ .qodef-e-content-follow .qodef-e-content > .qodef-e-content-inner .qodef-e-title-holder { padding: 0; }

body .site ~ .qodef-e-content-follow .qodef-e-content > .qodef-e-content-inner .qodef-e-title-holder .qodef-e-title {
    font-size: var(--H5_Size); text-transform: capitalize; white-space: pre-wrap; display: inline-flex; will-change: transform; }

body .site ~ .qodef-e-content-follow .qodef-e-content > .qodef-e-content-inner .qodef-e-title-holder .qodef-e-title .qodef-e-title-link { 
    position: relative; display: block; white-space: normal; color: var(--TertiaryColor); }

.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-content-heading .qodef-e-title {
    font-size: var(--H5_Size); line-height: 1.3; text-transform: capitalize; }

.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-content-heading .qodef-e-title .qodef-e-title-link { 
    color: var(--TertiaryColor); }

.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-content-heading .qodef-e-title .qodef-e-title-link:hover {
    color: var(--LinkHoverColor); }

.qodef-portfolio-list.qodef-item-layout--info-on-hover article .qodef-e-image + .qodef-e-content .qodef-e-read-more .qodef-theme-button-text { 
    display: none !important; }


/* Pagination Works */

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links {
    width: 100%; max-width: fit-content; min-height: auto; 
    padding: clamp(10px, calc(8.577px + 0.491vw), 18px) clamp(20px, calc(17.153px + 0.982vw), 36px);
    background-color: var(--BodyBGColor); border: 1px solid #666; border-radius: 300px; margin: auto; 
    margin-top: clamp(30px, calc(26.442px + 1.227vw), 50px); /*50px - 30px*/ }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers {
    color: var(--BodyTxtColor); }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers.next, 
.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers.prev {
    position: relative; top: 0; right: 0; bottom: 0; left: 0; height: auto; display: inline-flex; align-items: center; 
    justify-content: center; margin: 0; padding: 0; border: none; }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers { 
    display: inline-flex; align-items: center; margin: 0 !important; }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links span.page-numbers { 
    cursor: not-allowed; }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers:not(:last-child)::after {
    content: ''; position: relative; width: 1px; height: 25px; background-color: #999999ad; 
    display: inline-flex; align-items: center; justify-content: center; top: 0; right: 0; bottom: 0; left: 0; 
    -webkit-transform: rotate(15deg); transform: rotate(15deg); margin: auto clamp(16px, calc(7.72px + 0.9vw), 25px); }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers.current, 
.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers:focus, 
.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers:hover {
    color: var(--AccentTxtColor); opacity: 1; }

.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers.next svg, 
.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-m-pagination .pagination .nav-links .page-numbers.prev svg {
    fill: currentColor; }



/*========================================
    Blog Styles
========================================*/

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-blog-item .qodef-e-info .qodef-e-info-item { 
    color: var(--BodyTxtColor); }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-blog-item .qodef-e-info.qodef-info--top { 
    margin-bottom: 16px; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-blog-item .qodef-e-info .qodef-e-info-item a {
    font-family: var(--Heading_Font); font-weight: 400; text-transform: capitalize; color: var(--BodyTxtColor); }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-blog-item .qodef-e-info .qodef-e-info-item a:hover {
    color: var(--LinkHoverColor); }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list.qodef-item-layout--date-boxed .qodef-e-text { 
    margin-bottom: 0; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-blog-item .qodef-e-title {
    font-size: var(--H5_Size); line-height: 1.3; text-transform: capitalize; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-blog-item .qodef-e-title .qodef-e-title-link:hover {
    color: var(--LinkHoverColor); }

/* Pagination Works */

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links {
    width: 100%; max-width: fit-content; min-height: auto; 
    padding: clamp(10px, calc(8.577px + 0.491vw), 18px) clamp(20px, calc(17.153px + 0.982vw), 36px);
    background-color: var(--BodyBGColor); border: 1px solid #666; border-radius: 300px; margin: auto; 
    margin-top: clamp(30px, calc(26.442px + 1.227vw), 50px); /*50px - 30px*/ }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers {
    color: var(--BodyTxtColor); }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers.next, 
.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers.prev {
    position: relative; top: 0; right: 0; bottom: 0; left: 0; height: auto; display: inline-flex; align-items: center; 
    justify-content: center; margin: 0; padding: 0; border: none; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers { 
    display: inline-flex; align-items: center; margin: 0 !important; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links span.page-numbers { 
    cursor: not-allowed; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers:not(:last-child)::after {
    content: ''; position: relative; width: 1px; height: 25px; background-color: #999999ad; 
    display: inline-flex; align-items: center; justify-content: center; top: 0; right: 0; bottom: 0; left: 0; 
    -webkit-transform: rotate(15deg); transform: rotate(15deg); margin: auto clamp(16px, calc(7.72px + 0.9vw), 25px); }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers.current, 
.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers:focus, 
.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers:hover {
    color: var(--AccentTxtColor); opacity: 1; }

.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers.next svg, 
.elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list .qodef-addons-m-pagination .pagination .nav-links .page-numbers.prev svg {
    fill: currentColor; }


/*========================================
    Service Styles
========================================*/

.elementor-widget-loop-grid .elementor-loop-container { counter-reset: numbercount; }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services .elementor-widget-image {
    position: relative; overflow: hidden; border-radius: 15px; }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services .elementor-widget-image::before {
    content: '' counter(numbercount); counter-increment: numbercount; position: absolute; 
    width: clamp(50px, calc(46.442px + 1.227vw), 70px); /*70px - 50px*/ height: clamp(50px, calc(46.442px + 1.227vw), 70px); /*70px - 50px*/ 
    top: 10px; right: 10px; background-color: var(--PrimaryColor); color: var(--HeadAltColor); font-family: var(--Heading_Font); 
    font-size: var(--H5_Size); font-weight: 500; line-height: 1; display: flex; justify-content: center; align-items: center; 
    -webkit-transition: var(--Transition); transition: var(--Transition); border-radius: var(--Radius_Large); z-index: 1; }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services .elementor-widget-image img {
    -webkit-transform: scale(1); transform: scale(1); -webkit-transition: var(--Transition); transition: var(--Transition); }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services:hover .elementor-widget-image img {
    -webkit-transform: scale(1.1); transform: scale(1.1); }

.elementor-widget-loop-grid .elementor-pagination {
    width: 100%; max-width: fit-content; padding: clamp(10px, calc(8.577px + 0.491vw), 18px) clamp(20px, calc(17.153px + 0.982vw), 36px);
    background-color: var(--BodyBGColor); border: 1px solid #666; border-radius: 300px; margin: auto; 
    margin-top: clamp(30px, calc(26.442px + 1.227vw), 50px); /*50px - 30px*/ }

.elementor-widget-loop-grid .elementor-pagination .page-numbers { 
    display: inline-flex; align-items: center; margin: 0 !important; }

.elementor-widget-loop-grid .elementor-pagination span.page-numbers { cursor: not-allowed; }

.elementor-widget-loop-grid .elementor-pagination .page-numbers:not(:last-child)::after {
    content: ''; position: relative; width: 1px; height: 25px; background-color: #999999ad; 
    display: inline-flex; align-items: center; justify-content: center; top: 0; right: 0; bottom: 0; left: 0; 
    -webkit-transform: rotate(15deg); transform: rotate(15deg); margin: auto clamp(16px, calc(7.72px + 0.9vw), 25px); }


.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services {
    position: relative; overflow: hidden; padding: 1px; height: fit-content; -webkit-border-radius: 15px; border-radius: 15px; }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services:before, 
.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services:after {
    content: ""; position: absolute; display: block; width: 100%; height: 100%; animation: 5s rotate-border linear infinite; 
    -webkit-animation: 5s rotate-border linear infinite; opacity: 1; transition: all 300ms ease; -webkit-transition: all 300ms ease; z-index: 0; }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services:before { 
    top: -50%; left: -50%; transform-origin: bottom right; -webkit-transform-origin: bottom right;
    background-image: linear-gradient(45deg, transparent, transparent, var(--QuaternaryColor), var(--PrimaryColor), var(--PrimaryColor)); }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services:after { 
    bottom: -50%; right: -50%; transform-origin: top left; -webkit-transform-origin: top left;
    background-image: linear-gradient(45deg, transparent, transparent, var(--PrimaryColor), var(--QuaternaryColor), var(--QuaternaryColor)); }

@-webkit-keyframes rotate-border{
    0% { transform: rotate(0deg); -webkit-transform: rotate(0deg); }
    100% { transform: rotate(360deg); -webkit-transform: rotate(360deg); } }

@keyframes rotate-border{
    0% { transform: rotate(0deg); -webkit-transform: rotate(0deg); }
    100% { transform: rotate(360deg); -webkit-transform: rotate(360deg); } }

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item.type-services .page-section {
    border-radius: 15px; z-index: 1; margin: 0; }


/*--------------------------------------------------------------
    Footer
--------------------------------------------------------------*/

footer ul, footer ol { list-style-type: none; margin: 0; padding: 0; }

footer { width: 100%; float: left; clear: both; margin: 0; position: relative; overflow: hidden; z-index: 0; }

footer .site-below-footer-wrap[data-section="section-below-footer-builder"] { 
    background-color: transparent !important; border: none !important; }

footer a:not(:focus), .footer-widgets a:not(:focus) { text-decoration: none; }

footer .elementor-widget-divider .elementor-divider .elementor-divider-separator {
    position: relative; display: block; width: 100%; 
    border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color); }


/* Colors */

footer a:not(.button):not(.elementor-button), .footer-widgets a:not(.button):not(.elementor-button) { 
    color: var(--BodyTxtColor); }

footer a:not(.button):not(.elementor-button):hover, .footer-widgets a:not(.button):not(.elementor-button):hover { 
    color: var(--LinkHoverColor); }


/* Menu Hover Style */

footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a,
footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a span.elementor-icon-list-text { 
    position: relative; -webkit-transition: 200ms cubic-bezier(0.7, 0, 0.3, 1); transition: 200ms cubic-bezier(0.7, 0, 0.3, 1); }

footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a span.elementor-icon-list-text { color: currentcolor; }

footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a span.elementor-icon-list-text:empty { display: none; }

footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a:hover span.elementor-icon-list-text { 
    -webkit-transform: translateX(6px); transform: translateX(6px); }

footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a span.elementor-icon-list-text:before { 
    content: ''; position: absolute; width: 100%; height: 1px; background-color: currentColor; top: auto; 
    left: 0; right: 0; bottom: 4px; -webkit-transform: scaleX(0); transform: scaleX(0); transform-origin: left bottom; 
    -webkit-transition: all .3s ease; transition: all .3s ease; opacity: 0; margin: auto; }

footer .elementor-widget-icon-list ul.elementor-icon-list-items li.elementor-icon-list-item a:hover span.elementor-icon-list-text:before { 
    -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; }


/* Scramble Menu Style */

.scramble-menu { display: flex; flex-direction: column; align-content: flex-start; align-items: flex-start; gap: 8px; }


/* Mailchimp Style */

.footer-mailchimp.elementor-widget-form .elementor-form .elementor-form-fields-wrapper { align-items: center; }

.footer-mailchimp.elementor-widget-form .elementor-form .elementor-form-fields-wrapper > div { margin-bottom: 0; }

.footer-mailchimp.elementor-widget-form .elementor-form .elementor-message {  
    background-color: var(--AccentTxtColor); color: var(--BodyBGColor); padding: 12px 18px; 
    border-radius: var(--Radius_Small); margin: 0; margin-top: 40px; }


/* Icon List Dynamic Style */

footer .elementor-widget-icon-list.social-icons ul.elementor-icon-list-items.elementor-inline-items {
    list-style-type: none; display: flex; flex-wrap: wrap; justify-content: end; padding: 0; margin: 0; }

footer .elementor-widget-icon-list.social-icons ul.elementor-icon-list-items.elementor-inline-items li.elementor-icon-list-item { 
    padding: 0 5px; margin: 0; }

footer .elementor-widget-icon-list.social-icons ul.elementor-icon-list-items.elementor-inline-items li.elementor-icon-list-item a .elementor-icon-list-icon {
    display: flex; padding: 0; align-items: center; justify-content: center; width: 30px; height: 30px; 
    font-size: inherit; word-break: break-word; }


/*========================================
    Contact Form & Input Styles
========================================*/

/* Input Style */

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], 
input[type="search"], input[type=reset], input[type=tel], input[type=date], select, textarea {
    font-size: var(--Paragraph_Size); background: transparent; height: auto !important; 
    padding: 18px 30px !important; border-color: #666; border-radius: var(--Radius_Medium); }

input[type="text"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, 
input[type="search"]:focus, input[type=reset]:focus, input[type="tel"]:focus, input[type="date"]:focus, select:focus, textarea:focus,
.wpcf7 input.wpcf7-form-control:not([type=submit]):focus, .wpcf7 select.wpcf7-form-control:focus, .wpcf7 textarea.wpcf7-form-control:focus {
    background: var(--BodyBGColor) !important; color: var(--AccentTxtColor); border-style: solid !important; 
    border-color: var(--PrimaryColor) !important; border-width: 1px !important; box-shadow: none; outline: none; }

.wpcf7 textarea { height: 120px !important; }

.contact-form-style-1 .wpcf7-list-item { margin: 0; }

.contact-form-style-1 .wpcf7-list-item label { font-weight: 400; text-transform: capitalize; }

.wpcf7 .form-submit input[type="submit"] { padding: 20px 28px; }

.wpcf7 .form-submit { position: relative; margin-top: clamp(25px, calc(22px + 0.938vw), 40px); /*40px - 25px*/ }

.wpcf7 .form-submit .wpcf7-spinner {     
    position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }

.wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    position: absolute; right: 16px; bottom: 3px; color: #DC2626; 
    font-size: 10px; font-weight: 400; line-height: 20px; margin-top: 0; }


/* Contact Form Style */

.contact-form-style-1 { margin-bottom: 0; }

.contact-form-style-1 > div:not(:last-child) { margin-bottom: 20px; }

.contact-form-style-1 .form-row.form-row-two {  
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

.contact-form-style-1 .wpcf7-form-control-wrap { 
    width: 100%; display: inline-grid; will-change: transform; }


/*========================================
    Comment Form Styles
========================================*/

body.post-template .elementor-widget-post-comments .comments-area { padding: 0; }

body.post-template .elementor-widget-post-comments .comments-area .comment-respond {     
    padding-top: 0; padding-bottom: 0; }

body.post-template .elementor-widget-post-comments .comments-area .comment-reply-title,
body.post-template .elementor-widget-post-comments .comments-area .comments-title {
    font-size: var(--H4_Size); line-height: normal; padding: 0; margin-bottom: 10px; }

body.post-template .elementor-widget-post-comments .comments-area textarea#comment, 
body.post-template .elementor-widget-post-comments .comments-area .ast-comment-formwrap input[type="text"] {
    color: var(--AccentTxtColor); margin-bottom: 0; }

body.post-template .elementor-widget-post-comments .comments-area .comment-form .comment-form-cookies-consent {
    display: inline-flex; align-items: flex-start; justify-content: flex-start; 
    margin: clamp(20px, calc(18.221px + 0.613vw), 30px) 0; }

body.post-template .elementor-widget-post-comments .comments-area .comment-form .comment-form-cookies-consent #wp-comment-cookies-consent {
    position: relative; width: auto; top: 3px; margin-right: 10px; }


/* Comments info */

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list .comment .ast-comment-info {
    background-color: var(--TertiaryColor); padding: 20px; border-radius: var(--Radius_Small); }

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list .comment .ast-comment-content.comment p {
    margin-bottom: 10px; }

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list .comment .ast-comment-content.comment .ast-comment-edit-reply-wrap { 
    margin: 0; }

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list .comment .ast-comment-content.comment .ast-comment-edit-reply-wrap .comment-reply-link { 
    background: var(--PrimaryColor); line-height: normal; padding: 6px 16px; border-radius: 3px; }

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list .comment .ast-comment-content.comment .ast-comment-edit-reply-wrap .comment-reply-link:hover { background: var(--SecondaryColor); }

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list .comment .ast-comment-content.comment p.ast-highlight-text {
    margin-top: 10px; margin-bottom: 0; }

body.post-template .elementor-widget-post-comments .comments-area .ast-comment-list + .comment-respond { padding-top: 30px; }