/*
Theme Name: Content By Larry Child
Theme URI: https://refive.design
Description: Child theme for Content By Larry
Author: REFIVE DESIGN
Textdomain: qi
Author URI: https://refive.design
Template: cbl
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html 
*/



/* Custom Css */

[data-barba="container"] {
	backface-visibility: hidden;
	-webkit-font-smoothing: antialiased;
}

.barba-enter {
	visibility: hidden;
}

h1, h2, h3, h4, h5, h6 {
	word-wrap: normal;
}

/* Custom Button */

.custom-btn {
	align-items: center;
	background-color: transparent;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-family: "Inter";
	font-size: 1vw;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: underline !important;
	text-transform: none;
	outline: 0;
	border: 0;
	text-underline-offset: 5px;
	width: fit-content;
}

.custom-btn:hover {
	color: #fff;
	text-decoration: none !important;
}

.custom-btn::before {
	background-color: #ee4723;
	content: "";
	display: inline-block;
	height: 1px;
	margin-right: 0px;
	transition: all .42s cubic-bezier(.25, .8, .25, 1);
	width: 0;
}


.custom-btn.btn-white::before{
	background-color: #fff !important;
}

.custom-btn:hover::before {
	width: 3rem;
	margin-right: 10px;
}

/* General */


.text-mask {
	overflow: hidden;
	display: inline-block;
}

.text-line,
.gsap-line {
	display: inline-block;
	opacity: 0;
}

#qodef-page-header #qodef-page-header-inner .qodef-header-logo-link img ,
.menu-item {
	opacity: 0;
}

.elementor-widget-video {
	pointer-events: none !important;
}


/* ===============================
   Page transition loader
   =============================== */
.page-loader {
	position: fixed;
	inset: 0;
	display: flex;
	justify-content: center;
	padding-top: 25vh;
	background: #000;
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.loading-spinner {
	width: 14rem;
	height: 14rem;
}

.loading-spinner img {
	width: 100%;
	height: 400px;
	transform-origin: center;
	animation: pulse 1.2s infinite ease-in-out;
}

@keyframes pulse {
	0% {
		transform: scale(1);
		opacity: 1;
	}

	50% {
		transform: scale(1.3);
		opacity: 0.6;
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
	.loading-spinner img {
		animation: none;
	}
}

/* ==============================
   MARQUEE TEXT
   ============================== */

.marquee-text,
.gsap-marquee {
	width: 100%;
	overflow: hidden;
}

.marquee-text.contact ,
.marquee-text.contact .marquee-wrapper {
	overflow: visible !important;
}



.marquee-wrapper {
	display: flex;
	overflow: hidden;
	width: 100%;
}

.marquee-text,
.gsap-marquee {
	width: 100%;
	overflow: hidden;
}

.marquee-wrapper {
	display: flex;
	overflow: hidden;
	width: 100%;
}

.marquee-inner {
	display: flex;
	white-space: nowrap;
	will-change: transform;
}

.marquee-item {
	display: flex;
	align-items: center;
	justify-content: center;
}

.marquee-text {
	font-size: 24vw;
	color: #000;
	line-height: normal;
	font-weight: 400;
}

.marquee-text.contact {
	font-size: 10vw;
	color: #000;
	line-height: normal;
	font-weight: 400;
}

.marquee-text.contact svg {
	width: 100px;
	height: 100px;
}

.marquee-item svg {
	width: 150px;
	height: 150px;
	margin: 0 3rem;
	fill: #ee4723;
}


.hover-img:hover::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: url(/wp-content/uploads/2026/01/End.jpg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 2;
}

.hover-img {
	position: relative;
}


#qodef-page-wrapper {
	transform: none !important;
	will-change: opacity !important;
}

/* Hide scrollbar for Chrome, Safari, Edge */
::-webkit-scrollbar {
	display: none;
}

/* Hide scrollbar for Firefox */
html {
	scrollbar-width: none;
}

/* Hide scrollbar for IE/Old Edge */
body {
	-ms-overflow-style: none;
}

.testimonials-box .testimonial-author p span {
	position: relative;
}

.testimonials-box .testimonial-author p span::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: calc(100% - 3rem - 10px);
	height: 1px;
	background-color: white;
	opacity: 1;
	transition: opacity 0.2s ease;
	margin-left: calc(3rem + 10px);
	transform: translateY(1px);
}

.testimonials-box .testimonial-author p span:hover::after {
	opacity: 0;
}


/* End of General */

/* Header */

#qodef-page-header .qodef-header-logo-link {
	width: 150px;
}

#qodef-page-header .qodef-header-logo-link:focus {
    outline: none !important;
}

/* End of Header */

/* Fullscreen Menu */

.custom-fullscreen-menu .qodef-qi-interactive-link-showcase.qodef-layout--standard .qodef-m-items {
	max-width: 20vw;
	align-items: baseline;
}

.custom-fullscreen-menu .qodef-qi-interactive-link-showcase.qodef-layout--standard {
	justify-content: end;
}

.custom-fullscreen-menu .qodef-qi-interactive-link-showcase.qodef-layout--standard .qodef-e-image.qodef-position--left {
	width: 40%;
}

.qodef-header-sticky .qodef-header-navigation {
	display: none;
}

/* End of Fullscreen Menu */

/* Home */

.testimonials-box {
	backdrop-filter: blur(10px)
}

.testimonials-box .testimonial-author:before {
	content: "";
	background-color: #ee4723;
	display: inline-block;
	height: 1px;
	margin-right: 10px;
	transition: all .42s cubic-bezier(.25, .8, .25, 1);
	width: 3rem;
	position: absolute;
	top: 50%;
}

.testimonials-box .testimonial-author p span {
	padding-left: calc(3rem + 10px);
}

.clients-carousel .qodef-e-main-image img {
	height: 55px !important;
	object-fit: contain;
	width: 170px !important;
	opacity: 60% !important;
}

.grid-href a {
    display: inline !important;
    text-decoration: underline !important;
    text-underline-offset: 5px;
}

.grid-href a:hover {
	color: #EE4723;
}

/* End of Home */

/* Contact */

.page-id-1297 .menu-item span ,
.page-id-2885 .menu-item span ,
.page-id-3301 .menu-item span{
    color: #000 !important;
}

/* END Contact */

/* FORM */

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {
	margin-bottom: 0 !important;
}



.fluentform .ff-btn-submit  {
	align-items: center;
	background-color: transparent;
	color: #000;
	cursor: pointer;
	display: flex;
	font-family: "Inter";
	font-size: 1vw;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: underline !important;
	text-transform: none;
	outline: 0;
	border: 0;
	text-underline-offset: 5px;
	padding: 0;
}

.fluentform .ff-btn-submit:hover {
	color: #000;
	text-decoration: none !important;
	background-color: transparent !important;
}

.fluentform .ff-btn-submit::before {
	background-color: #ee4723;
	content: "";
	display: inline-block;
	height: 1px;
	margin-right: 0px;
	transition: all .42s cubic-bezier(.25, .8, .25, 1);
	width: 0;
}


.fluentform .ff-btn-submit:hover::before {
	width: 3rem;
	margin-right: 10px;
}

/* END FORM */

/* ==============================
   FULL SCREEN MENU
   ============================== */

.fullscreen-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 99999;
    display: none;
    overflow: hidden;
    perspective: 1200px;
    perspective-origin: center top;
    will-change: transform, opacity;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

.fullscreen-menu-overlay .menu-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14rem;
}

.fullscreen-menu-overlay .menu-image-area {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fullscreen-menu-overlay .menu-image-wrapper {
    width: 21.3194444444vw;
    height: 30.1388888889vw;
    overflow: hidden;
    position: relative;
}

.fullscreen-menu-overlay .menu-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    will-change: opacity, transform;
}

li.menu-item.instagram-menu {
    margin-top: 5vw;
}

li.menu-item.instagram-menu a, li.menu-item.linkedin-menu a {
    font-size: 1.1vw;
    line-height: 2vw;
}

.fullscreen-menu-overlay .menu-items {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.fullscreen-menu-overlay .menu-item {
    width: max-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.fullscreen-menu-overlay .menu-item.active::before {
	content: '';
    width: 20px;
    height: 20px;
    display: inline-block;
    background-image: url(/wp-content/uploads/2026/01/heart-orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -30px;
}

.fullscreen-menu-overlay .menu-item a {
    color: #fff;
    text-decoration: none;
    font-size: 3.6111111111vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    display: block;
    transition: color 0.3s ease, transform 0.3s ease;
    text-align: left;
    line-height: 4.4444444444vw;
}



.fullscreen-menu-overlay .menu-item a:hover {
    color: #fff;
    text-decoration: none !important;
}

.fullscreen-menu-overlay .menu-item a:after {
    background: #e4e0db;
    bottom: -3px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(1, 0, 0, 1);
    width: 100%;
    will-change: transform;
}

.fullscreen-menu-overlay .menu-item a:hover:after {
    transform: scaleX(1);
    transform-origin: left center;
}

.fullscreen-menu-overlay .menu-close-btn {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: max-content;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: opacity 0.3s ease;
    z-index: 100000;
	text-transform: uppercase;
	font-weight: 500;
}

.fullscreen-menu-overlay .menu-close-btn:hover {
    opacity: 0.7;
}

.fullscreen-menu-overlay .menu-close-btn svg {
    width: 24px;
    height: 24px;
}

/* Menu Toggle Button Styles */
.fullscreen-menu-btn,
.menu-toggle {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #000;
    font-size: 16px;
    font-weight: 300;
    transition: opacity 0.3s ease;
    z-index: 1000;
	font-family: "Inter";
}

.fullscreen-menu-btn:hover,
.menu-toggle:hover {
    opacity: 0.7;
}

.menu-icon {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 24px;
    height: 14px;
}

.menu-icon span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    transition: all 0.3s ease;
}

.menu-text {
    text-transform: uppercase;
    letter-spacing: 0.1em;
	font-weight: 500;
}

/* ==============================
   PAGE TRANSITION OVERLAY
   ============================== */

#page-transition-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 99998;
    opacity: 0;
    pointer-events: none;
    display: none;
    transition: opacity 0.3s ease;
}

/* ==============================
   HEADER COLOR ADAPTATION
   ============================== */

/* Target elements inside the sticky header container */
/* Default state - white text (for dark backgrounds) */
.qodef-header-sticky.header-dark-mode .qodef-header-logo-link,
.qodef-header-sticky.header-dark-mode .qodef-header-logo-image,
.qodef-header-sticky.header-dark-mode .qodef-header-logo,
.qodef-header-sticky.header-dark-mode .qodef-logo-wrapper,
.qodef-header-sticky.header-dark-mode .qodef-logo-wrapper a,
.qodef-header-sticky.header-dark-mode .qodef-logo-wrapper img,
.qodef-header-sticky.header-dark-mode .qodef-logo-link,
.qodef-header-sticky.header-dark-mode .qodef-logo,
.qodef-header-sticky.header-dark-mode .site-logo,
.qodef-header-sticky.header-dark-mode .logo,
.qodef-header-sticky.header-dark-mode .site-title,
.qodef-header-sticky.header-dark-mode .menu-toggle,
.qodef-header-sticky.header-dark-mode .fullscreen-menu-btn,
.qodef-header-sticky.header-dark-mode .menu-icon span,
.qodef-header-sticky.header-dark-mode .menu-text,
.qodef-header-sticky.header-dark-mode [data-menu-toggle],
.qodef-header-sticky.header-dark-mode .qodef-header-navigation,
.qodef-header-sticky.header-dark-mode .qodef-header-navigation a,
.qodef-header-sticky.header-dark-mode .qodef-header-navigation .qodef-menu-item-text,
.qodef-header-sticky.header-dark-mode .qodef-menu-button,
.qodef-header-sticky.header-dark-mode .qodef-qi-button {
    color: #fff !important;
    fill: #fff !important;
}


/* Menu icon lines */
.qodef-header-sticky.header-dark-mode .menu-icon span {
    background-color: #fff !important;
}

/* Light mode - black text (default, for white backgrounds) */
.qodef-header-sticky.header-light-mode .qodef-header-logo-link,
.qodef-header-sticky.header-light-mode .qodef-header-logo-image,
.qodef-header-sticky.header-light-mode .qodef-header-logo,
.qodef-header-sticky.header-light-mode .qodef-logo-wrapper,
.qodef-header-sticky.header-light-mode .qodef-logo-wrapper a,
.qodef-header-sticky.header-light-mode .qodef-logo-wrapper img,
.qodef-header-sticky.header-light-mode .qodef-logo-link,
.qodef-header-sticky.header-light-mode .qodef-logo,
.qodef-header-sticky.header-light-mode .site-logo,
.qodef-header-sticky.header-light-mode .logo,
.qodef-header-sticky.header-light-mode .site-title,
.qodef-header-sticky.header-light-mode .menu-toggle,
.qodef-header-sticky.header-light-mode .fullscreen-menu-btn,
.qodef-header-sticky.header-light-mode .menu-icon span,
.qodef-header-sticky.header-light-mode .menu-text,
.qodef-header-sticky.header-light-mode [data-menu-toggle],
.qodef-header-sticky.header-light-mode .qodef-header-navigation,
.qodef-header-sticky.header-light-mode .qodef-header-navigation a,
.qodef-header-sticky.header-light-mode .qodef-header-navigation .qodef-menu-item-text,
.qodef-header-sticky.header-light-mode .qodef-menu-button,
.qodef-header-sticky.header-light-mode .qodef-qi-button {
    color: #000 !important;
    fill: #000 !important;
}

/* Menu icon lines for light mode */
.qodef-header-sticky.header-light-mode .menu-icon span {
    background-color: #000 !important;
}

/* Smooth transition for color changes */
.qodef-header-logo-link,
.qodef-header-logo-image,
.qodef-header-logo,
.qodef-logo-wrapper,
.qodef-logo-wrapper a,
.qodef-logo-wrapper img,
.qodef-logo-link,
.qodef-logo,
.site-logo,
.logo,
.site-title,
.menu-toggle,
.fullscreen-menu-btn,
.menu-icon span,
.menu-text,
[data-menu-toggle],
.qodef-header-navigation,
.qodef-header-navigation a,
.qodef-header-navigation .qodef-menu-item-text,
.qodef-menu-button,
.qodef-qi-button {
    transition: color 0.3s ease, fill 0.3s ease, background-color 0.3s ease, filter 0.3s ease;
}


.team-slider .qodef-qi-clients-slider .qodef-e-title {
	text-align: left;
    font-size: 1vw;
}


/* 404 */
body.error404 #qodef-page-wrapper {
	background-color: #000;
}
body.error404 .qodef-404-title {
	font-size: 8vw;
}

/* Responsive */
@media only screen and (max-width : 1024px) {
	#qodef-page-mobile-header .qodef-mobile-header-logo-link {
		width: 85px;
	}
	
	.home-marque .marquee-text {
		font-size: 20vw;
	}
	
	.home-marque .marquee-item svg {
		width: 50px;
		height: 50px;
		margin: 0 2rem;
	}
	header#qodef-page-mobile-header {
    	display: none !important;
	}
	
	#qodef-page-header {
        display: inline-block !important;
		height: 100px !important;
    }
	#qodef-page-header div#qodef-page-header-inner {
    	display: none !important;
	}
	#qodef-page-header .qodef-header-sticky {
    	top: 0px;
    	transform: none;
		height: 100px !important;
	}
	#qodef-page-header .qodef-header-sticky .qodef-header-sticky-inner {
		padding: 0 8% !important;
	}
	.fullscreen-menu-overlay .menu-container {
		gap: 7rem;
	}
	.fullscreen-menu-overlay .menu-image-wrapper {
		width: 35vw;
   	 	height: 50vw;
	}
	.fullscreen-menu-overlay .menu-item a {
		font-size: 5vw;
		line-height: 1.3;
	}
	.fullscreen-menu-overlay .menu-close-btn {
		font-size: 2vw;
	}
	.fullscreen-menu-overlay .menu-close-btn svg {
    	width: 34px;
    	height: 34px;
	}
	
	.elementor-widget-icon-box .elementor-icon-box-title {
		line-height: 1.3em !important;
	}
	
	.icon-box-two-lines .elementor-icon-box-icon {
		margin-top: 4px;
	}
	
	.team-slider .qodef-qi-clients-slider .qodef-e-title {
		font-size: 2vw !important;
	}
	
	.fluentform .ff-btn-submit {
		font-size: 2vw;
	}
	li.menu-item.instagram-menu a, li.menu-item.linkedin-menu a {
    	font-size: 2vw;
    	line-height: 4vw;
	}
}

@media only screen and (max-width : 768px) {
	#qodef-page-header .qodef-header-logo-link {
		height: 40px !important;
		width: 120px;
	}	
}

@media only screen and (min-width : 681px) and (max-width : 1024px) {
	.custom-btn {
		font-size: 2vw !important;
	}
}

@media only screen and (max-width : 680px) {	
	.custom-btn {
		font-size: 4vw !important;
	}
	
	.home-marque .marquee-text {
		font-size: 20vw;
	}
	
	.home-marque .marquee-item svg {
		width: 50px;
		height: 50px;
		margin: 0 2rem;
	}
	
	.testimonial-author h4 span a {
		text-decoration: underline;
		text-underline-offset: 5px;
	}
	.fullscreen-menu-overlay .menu-container {
        gap: 0;
    }
	.fullscreen-menu-overlay .menu-image-area {
		display: none;
	}
	.fullscreen-menu-overlay .menu-item a {
        font-size: 13vw;
        line-height: 1.5;
    }
	 .fullscreen-menu-overlay .menu-close-btn {
        font-size: 4vw;
    }
	
	.team-slider .qodef-qi-clients-slider .qodef-e-title {
		font-size: 4vw !important;
	}
	
	.fluentform .ff-btn-submit {
		font-size: 4vw;
	}
	li.menu-item.instagram-menu a, li.menu-item.linkedin-menu a {
    	font-size: 4vw;
    	line-height: 8vw;
	}
}




@media only screen and (min-width: 2000px) {
	
	p,
	.custom-btn,
	.fluentform .ff-btn-submit,
	.team-slider .qodef-qi-clients-slider .qodef-e-title,
	.qodef-header-navigation> ul > li > a {
		font-size: 30px !important;
		line-height: 1.3em;
	}

    /* Page loader */
    .page-loader {
        padding-top: 270px !important;
    }

    /* Marquee */
    .marquee-text {
        font-size: 480px !important;
    }

    .marquee-text.contact {
        font-size: 200px !important;
    }

    /* Fullscreen menu – layout */
    .custom-fullscreen-menu
    .qodef-qi-interactive-link-showcase.qodef-layout--standard
    .qodef-m-items {
        max-width: 400px !important;
    }

    /* Fullscreen menu – image */
    .fullscreen-menu-overlay .menu-image-wrapper {
        width: 426.39px !important;
        height: 602.78px !important;
    }

    /* Fullscreen menu – spacing */
    li.menu-item.instagram-menu {
        margin-top: 100px !important;
    }

    /* Fullscreen menu – social links */
    li.menu-item.instagram-menu a,
    li.menu-item.linkedin-menu a {
        font-size: 22px !important;
        line-height: 40px !important;
    }

    /* Fullscreen menu – primary links */
    .fullscreen-menu-overlay .menu-item a {
        font-size: 72.22px !important;
        line-height: 88.89px !important;
    }

    /* Fullscreen menu – close button */
    .fullscreen-menu-overlay .menu-close-btn {
        font-size: 80px !important;
    }

    /* 404 page */
    body.error404 .qodef-404-title {
        font-size: 160px !important;
    }

    /* Home marquee variants */
    .home-marque .marquee-text {
        font-size: 280px !important;
    }

    /* Mobile-defined overrides that must be capped */
    .fullscreen-menu-overlay .menu-item a {
        font-size: 72.22px !important;
        line-height: 88.89px !important;
    }

    .team-slider .qodef-qi-clients-slider .qodef-e-title {
        font-size: 20px !important;
    }

    .fluentform .ff-btn-submit {
        font-size: 20px !important;
    }

    li.menu-item.instagram-menu a,
    li.menu-item.linkedin-menu a {
        font-size: 22px !important;
        line-height: 40px !important;
    }
	
	    /* Base body text */
    body {
        font-size: 22px !important; /* 1.1vw */
    }

    /* Lightbox captions */
    .mfp-bottom-bar .mfp-counter,
    .mfp-bottom-bar .mfp-title {
        font-size: 22px !important; /* 1.1vw */
    }

    /* Headings */
    h1,
    .qodef-h1 {
        font-size: 340px !important; /* 17vw */
        line-height: 0.85em;
    }

    h2,
    .qodef-h2 {
        font-size: 200px !important; /* 10vw */
        line-height: 1.1em;
    }

    #qodef-woo-page.qodef--checkout #customer_details h3,
    #qodef-woo-page.qodef--checkout #order_review_heading {
        font-size: 200px !important; /* 10vw */
        line-height: 1.1em;
    }

    h3,
    .qodef-h3 {
        font-size: 72px !important; /* 3.6vw */
    }

    #qodef-woo-page.qodef--single .woocommerce-Reviews .woocommerce-Reviews-title,
    #qodef-woo-page.qodef--single #review_form .comment-reply-title,
    #qodef-woo-page.qodef--cart .cart_totals > h2,
    #qodef-woo-page.qodef--cart .cross-sells > h2,
    .woocommerce-page div.woocommerce > .cart-empty,
    body[class*="theme-qi"] #qodef-related-posts .qodef-m-title {
        font-size: 72px !important; /* 3.6vw */
    }

    h4,
    .qodef-h4 {
        font-size: 33.2px !important; /* 1.66vw */
        line-height: 1.2em;
    }

    h5,
    .qodef-h5 {
        font-size: 30px !important; /* 1.5vw */
        line-height: 1.2em;
    }

    /* WooCommerce tables & tabs */
    .woocommerce-page div.woocommerce .shop_table th,
    #qodef-woo-page.qodef--cart .shop_table td.product-name a,
    #qodef-woo-page.qodef--single .woocommerce-tabs .wc-tabs li a {
        font-size: 30px !important; /* 1.5vw */
        line-height: 1.2em;
    }
}



