/*
Theme Name: Quick Solve Plus - Kaya child theme
Author: Anphira, LLC
Template: kaya
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kaya
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Quick Solve Plus Specific Constants
# Typography
# Elements
# Forms
# Header
# Footer
# Blog Archive
# Single Blog
# WooCommerce
# WooCommerce Prodcut Page
# WooCommerce Cart
# Woocommerce Checkout
# eBooks download page
# About page
# Pricing page
--------------------------------------------------------------*/

/*******************
 * 
 * Quick Solve Plus Specific Constants
 * 
 *******************/
:root {
	--qsp-text: #3e4b60;
	--qsp-heading: #2d4464;
	--qsp-link: #3965a3;
	--qsp-blue-bkgd: #3965a3;
	--qsp-dark-bkgd: #2d4464;
	--qsp-light-bkgd: #f2f5f9;
	--qsp-form-button: #c0cdd2;
	--qsp-white: #fff;
	--qsp-font: 'Poppins', Verdana, sans-serif;
	--qsp-h3-size: 1.625rem;
	--qsp-body-size: 1.125rem;
	--qsp-border-radius: 10px;
	--qsp-heading-weight: 600;
}








/*******************
 * 
 * Typography
 * 
 *******************/
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-Thin.ttf') format('truetype');
	font-weight: 100;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-Light.ttf') format('truetype');
	font-weight: 300;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-LightItalic.ttf') format('truetype');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-Regular.ttf') format('truetype');
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-Italic.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-Medium.ttf') format('truetype');
	font-weight: 500;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-SemiBoldItalic.ttf') format('truetype');
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-Bold.ttf') format('truetype');
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src:  url('/wp-content/themes/kaya-child/fonts/Poppins-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

/* text semibold */
.text-semi-bold, .text-semi-bold p {
	font-weight: 600;
}






/*******************
 * 
 * Elements
 * 
 *******************/

/* ordered lists */
ol {
  list-style-type: decimal !important;
}

/* tables */
thead tr, tr:nth-child(2n) {
	background: var(--qsp-light-bkgd);
}

.overflow-hidden {
	overflow: hidden !important;
}

/* bold */
strong, b {
	font-weight: 600;
}

/* accordion */
body .elementor-widget-n-accordion .e-n-accordion-item-title {
	border-color: var(--qsp-light-bkgd);
	background: var(--qsp-light-bkgd);
	margin-bottom: 10px;
	font-weight: 600;
	color: var(--qsp-link);
	border-radius: var(--qsp-border-radius);
}
body .white-accordion.elementor-widget-n-accordion .e-n-accordion-item-title {
	border-color: var(--qsp-white);
	background: var(--qsp-white);
}
body .elementor-widget-n-accordion .e-n-accordion-item-title:hover {
	border-color: var(--qsp-link);
}
body :where(.elementor-widget-n-accordion .e-n-accordion-item>.e-con)
{
	border: none;
}
body .elementor-widget-n-accordion .e-n-accordion-item-title-text {
	font-size: var(--qsp-h3-size);
}
body .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title {
	color: var(--qsp-link);
}
/*body .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg,
body .elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon span>svg {
	fill: var(--qsp-link);
}*/

/* buttons */
body a.button,
body a.button:visited {
	text-decoration: none;
}
body button, body button:visited, body a.button, body a.button:visited, body input[type=button], body input[type=reset], body input[type=submit], body .elementor-button, body .elementor-button.elementor-size-sm, body .elementor-button.elementor-size-md, body .elementor-button.elementor-size-lg, body .elementor-button:visited, body .wp-block-button__link, body .wp-block-button__link:visited, body #colophon .wp-block-button__link, body #colophon .wp-block-button__link:visited, body .fluentform .ff_upload_btn.ff-btn, body form.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style), body form.frm-fluent-form .ff-btn-submit {
	font-weight: 600 !important;
}
.wp-block-button__link {
	font-size: var(--qsp-body-size);
	font-weight: 600;
}

/* dark button */
.dark-button .wp-block-button__link,
.dark-button .wp-block-button__link:visited,
body .dark-button .elementor-button.elementor-size-md:not(:hover),
body .dark-button .elementor-button.elementor-size-sm:not(:hover) {
	background: var(--qsp-dark-bkgd);
}
.dark-button .wp-block-button__link:hover {
	background: var(--qsp-white);
}
/* white button */
body .white-button .wp-block-button__link:not(:hover),
body #colophon .white-button .wp-block-button__link:not(:hover),
body .white-button .elementor-button.elementor-size-md:not(:hover),
body .white-button .elementor-button.elementor-size-sm:not(:hover) {
	background: var(--qsp-white);
	color: var(--qsp-link);
}
body .white-button .wp-block-button__link:hover,
body #colophon .white-button .wp-block-button__link:hover,
body .white-button .elementor-button.elementor-size-md:hover,
body .white-button .elementor-button.elementor-size-sm:hover {
	color: var(--qsp-white);
	background: var(--qsp-link);
	border-color: var(--qsp-white);
}

/* light blue button */
body a.button.light-blue-button,
body a.button.light-blue-button:visited,
body .light-blue-button .elementor-button.elementor-size-md:not(:hover),
body .light-blue-button .elementor-button.elementor-size-sm:not(:hover) {
	background: var(--qsp-light-bkgd);
	border-color: var(--qsp-light-bkgd);
	color: var(--qsp-link);
}

/* clickable blue boxes with curved border */
.home-card.e-con-full {
	padding: 20px;
	border-radius: var(--qsp-border-radius);
	overflow: hidden;
	text-decoration: none;	
}
.home-card.e-con-full:after {
	content: '\f178';
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	bottom: 20px;
	right: 20px;
	position: absolute;
	font-size: 24px;
}
.home-card.e-con-full:hover:after {
	position:absolute;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 3px solid var(--qsp-light-bkgd);
	border-radius: var(--qsp-border-radius);
	content: '';
	top: 5px;
	left: 5px;
}

/* backgrounds */
.background-light {
	background: var(--qsp-light-bkgd);
}
.background-blue {
	background: var(--qsp-link);
}

/* slider */
@media (max-width: 768px) {
	body .accessible-swiper-carousel .extra-large-text {
		font-size: 1.2rem;
	}
}






/*******************
 * 
 * Forms
 * 
 *******************/
body .gform-theme--foundation {
	--gf-form-gap-y: 20px;
}
body .gform_heading {
	display: none;
}






/*******************
 * 
 * Header
 * 
 *******************/

.kaya-right-side {
	padding-top: 30px;
	padding-bottom: 20px;
}
#site-navigation {
	font-weight: 600;
}
@media (min-width: 1024px) {
	.kaya-right-side {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		width: calc(100% - 120px);
	}
	.kaya-right-side > .widget {
		width: 500px;
	}
	.kaya-right-side #site-navigation {
		width: auto;
	}
	.kaya-right-side .wp-block-group__inner-container {
		display: flex;
		gap: 20px;
		justify-content: flex-end;
	}
}
@media (max-width: 1350px) {
	.site-branding {
		max-width: 70px;
		padding-top: 15px;
	}
	body #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
	body #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
	body #masthead .wp-block-button__link {
		font-size: 1rem;
	}
	.kaya-right-side {
		width: calc(100% - 80px);
		padding-top: 20px;
	}
	.kaya-right-side .wp-block-group__inner-container {
		gap: 10px;
	}
	.kaya-right-side .light-blue-button {
		display: none;
	}
	body #masthead .wp-block-button__link {
		padding: 10px;
	}
	.kaya-right-side > .widget {
		width: 300px;
	}
	#site-navigation {
		padding-top: 5px;
	}
}
@media (max-width: 1023px) {
	.kaya-right-side > .widget {
		display: none;
	}
}

/* woo mini cart */
.wc-block-mini-cart__badge {
	background: var(--qsp-link);
	color: var(--qsp-white);
}
.wc-block-mini-cart__button.wc-block-mini-cart__button {
	border: 2px solid var(--qsp-light-bkgd);
}
.wc-block-mini-cart__button.wc-block-mini-cart__button:hover  {
	border: 2px solid var(--qsp-link);
}







/*******************
 * 
 * Footer
 * 
 *******************/
#colophon {
	padding-top: 80px;
}
#menu-footer-solutions {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
}
#menu-footer-solutions .menu-item {
	width: calc(50% - 15px);
}
#menu-footer-solutions a,
#menu-my-qsp-footer-menu a {
	text-decoration: none;
}
#menu-footer-solutions a:hover,
#menu-my-qsp-footer-menu a:hover {
	text-decoration: underline;
}
#colophon .widget_nav_menu
 {
	margin-top: 15px;
}

/* top footer section */
#upper-footer .background-light {
	border-radius: var(--qsp-border-radius);
	overflow: hidden;
	margin-bottom: 80px;
	margin-top: 80px;
}
#upper-footer .background-light .wp-block-column,
#upper-footer .background-blue {
	padding: 30px;
}

@media (min-width: 1024px) {
	.footer-columns > div:first-child {
		width: calc(50% - 20px);
	}
	.footer-columns > div:n-child(2) {
		width: calc(25% - 20px);
	}
	.footer-columns > div:last-child {
		width: calc(25% - 20px);
	}
}
@media (max-width: 1023px) {
	body #upper-footer .wp-block-columns.is-layout-flex {
		flex-direction: column;
	}
}

.social-icons .social-icon-single {
	border: 2px solid var(--qsp-white);
	border-radius: 50px;
}





/*******************
 * 
 * Blog Archive
 * 
 *******************/
@media (min-width: 768px) {
	.archive .site-main {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}
	.archive .page-header {
		padding-top: 50px;
		width: 100%;
	}
	.archive .type-post {
		width: calc(50% - 15px);
	}
	.archive .entry-title {
		font-size: var(--qsp-h3-size);
		line-height: 1.4;
	}
}

/* featured shortcode */
.featured-article-content {
	margin-bottom: 20px;
}
@media(min-width: 1024px) {
	.featured-articles {
		display: flex;
		gap: 30px;
	}
	.featured-article {
		display: flex;
		flex-direction: column;
		width: calc(33.3% - 20px);
	}
	.featured-article-content {
		flex-grow: 2;
		position: relative;
		margin-bottom: calc(44px + 1.125rem);
	}
	.featured-article-content .button {
		position: absolute;
		bottom: calc(-26px - 1.125rem);
	}
}

/* most recent shortcode */
.most-recent-article,
.featured-article {
	margin-bottom: 30px;
	background: var(--qsp-light-bkgd);
	border-radius: var(--qsp-border-radius);
	overflow: hidden;
}
.pagination-nav .pagination {
	text-align: center;
}
.pagination-nav .page-numbers {
	padding: 5px 15px;
	background: var(--qsp-light-bkgd);
	border-radius: var(--qsp-border-radius);
}
.most-recent-content,
.featured-article-content {
	padding: 15px 20px 0;
}
@media (min-width: 1024px) {
	.most-recent-article {
		display: flex;
    	padding-right: 20px;
	}
	.most-recent-article .featured-image {
		width: 300px;
		margin-bottom: -8px;
	}
	.most-recent-article .most-recent-content {
		width: calc(100% - 520px);
	}
	.most-recent-article .button {
		width: 200px;
		align-self: center;
		text-align: center;
	}
}
@media (max-width: 1023px) {
	.most-recent-article .button {
		margin-bottom: 20px;
		margin-left: 20px;
	}
}


/* blog index popular categories */
.popular-categories .elementor-element > .elementor-element,
.popular-categories .elementor-button {
	height: 100%;
}
.popular-categories .elementor-button {
	display: flex;
	align-items: center;
}



/*******************
 * 
 * Single Blog
 * 
 *******************/
@media (min-width: 768px) {
	.sidebar-right #primary.has-sidebar {
		border-right: none;
	}
	.single-post  #page-hero-area .flexbox,
	.single-staff #page-hero-area .flexbox {
		align-items: center;
	}
	.width-50 {
		width: calc(50% - 15px);
	}
	.width-67 {
		width: calc(60% - 15px);
	}
	.width-33 {
		width: calc(33% - 15px);
	}
}
@media (max-width: 767px) {
	#secondary {
		margin-top: 50px;
	}
}

/* blog hero */
.single-post #page-hero-area,
.archive #page-hero-area,
.single-staff #page-hero-area {
	position: relative;
	margin-bottom: 80px;
	padding-bottom: 30px;
}
.single-staff #page-hero-area {
	margin-bottom: 150px;
}
.single-post #page-hero-area:after,
.archive #page-hero-area:after,
.single-staff #page-hero-area:after {
	clip-path: ellipse(50% 50% at 50% 50%);
	background: var(--qsp-light-bkgd);
	position: absolute;
	bottom: -50px;
	content: '';
	width: 100%;
	height: 100px;
}

/* sidebar */
#secondary .widget {
	background: var(--qsp-light-bkgd);
	padding: 20px;
	border-radius: var(--qsp-border-radius);
}
@media (min-width: 768px) {
    #secondary {
        position: sticky;
        top: 50px;
    }
}

/* more spacing on blog content */
.single-post .post p {
	margin-bottom: 2em;
}






/*******************
 * 
 * WooCommerce
 * 
 *******************/
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
	color: var(--qsp-text);
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
	color: var(--qsp-link);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled {
	background: var(--qsp-link);
}







/*******************
 * 
 * WooCommerce Product Page
 * 
 *******************/
@media (min-width: 768px) {
	.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
		width: 32%;
	}
	.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
		width: 64%;
	}
}

.single-product.woocommerce div.product,
.single-product.woocommerce div.product .woocommerce-tabs {
	padding-top: 50px;
}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none;
}








/*******************
 * 
 * WooCommerce Cart
 * 
 *******************/
.woocommerce-cart .shop_table .product-quantity,
.woocommerce-cart .shop_table .product-price,
.woocommerce-cart .shop_table .actions > .button {
	display: none;
}
.woocommerce-cart .shop_table.shop_table,
.woocommerce-checkout .shop_table.shop_table {
	border-radius: var(--qsp-border-radius);
	overflow: hidden;
}
.woocommerce .shop_table thead tr,
.woocommerce-cart-form .shop_table tr:last-child,
.woocommerce-cart .cart_totals h2 {
	background: var(--qsp-blue-bkgd);
	color: var(--qsp-white);
	border-radius: var(--qsp-border-radius);
}
.woocommerce-cart .cart_totals h2 {
	padding: 10px 20px;
	font-size: var(--qsp-body-size);
}
@media (min-width: 1024px) {
	.woocommerce-cart .shop_table .attachment-woocommerce_thumbnail {
		width: 100px;
	}
	.woocommerce-cart .woocommerce-cart-form {
		width: 60%;
		float: left;
	}
	.woocommerce-cart .cart-collaterals {
		float: right;
		width: 38%;
	}
	.woocommerce-cart .cart-collaterals .cart_totals.cart_totals {
		width: 100%;
	}
	.woocommerce-cart .product-subtotal {
		max-width: 200px;
	}
}








/*******************
 * 
 * WooCommerce Checkout
 * 
 *******************/
#order_review_heading {
	margin-top: 50px;
}








/*******************
 * 
 * eBooks Download page
 * 
 *******************/
.featured-download-item {
	max-width: 960px;
	margin: auto;
}
@media (min-width: 768px) {
	.featured-download-item {
		flex-direction: row-reverse;
	}
	.featured-download-item .featured-download-item-left,
	.featured-download-item .featured-download-item-right {
		width: calc(50% - 15px);
	}
	.featured-download-item .fwpl-col.download-image {
		width: 80%;
	}
}


.download-image {
	position: relative;
}
.download-image:before {
	width: 100%;
	height: 86%;
	content: '';
	position: absolute;
	z-index: 0;
	left: 0;
	bottom: 10px;
	border-radius: 1000px;
	background: var(--qsp-dark-bkgd);
}
.download-image > picture.attachment-medium_large,
.fwpl-col.download-image .download-image-inner {
	z-index: 2;
	position: relative;
	max-width: 70%;
	margin: auto;
	clip-path: ellipse(100% 100% at top);
	display: block;
	overflow: hidden;
}
.download-image img {
	margin-bottom: -20px;
	display: block;
}
.download-image:after {
	z-index: 4;
	position: absolute;
	content: '';
	background: url('/media/2025/07/dots-for-ebook-downloads.png') no-repeat;
	background-size: 100%;
	background-position: 20% center;
	top: 0;
	left: 5%;
	width: 90%;
	height: 100%;
}

/* facet results */
.fwpl-item.h4 {
	font-weight: var(--qsp-heading-weight);
}
.fwpl-col.download-image {
	width: 60%;
	margin: auto;
}
.download-image-inner {
	position: relative;
}
.download-item {
	margin-top: -80px;
}
.fwpl-result {
	margin-top: 70px;
	background: var(--qsp-light-bkgd);
	border-radius: var(--qsp-border-radius);
	padding: 20px;
}
body .elementor .fwpl-btn {
	width: 100%;
}
@media (min-width: 768px) {
	body .fwpl-layout.el-z583urj {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}
	.fwpl-result {
		width: calc(50% - 15px);
	}
}

/* custom lightbox */
.media-modal > .media-modal-close {
	color: white;
}
.media-modal > .media-modal-close:hover {
	color: var(--qsp-link);
}
.custom-modal-body {
	padding: 20px;
	font-size: var(--qsp-body-size);
	font-family: var(--qsp-font);
}
.media-modal-content {
	max-width: 1140px;
	margin: auto;
	max-height: 550px;
}
@media (min-width: 768px) {
	.media-modal-content .flexbox {
		align-items: center;
	}
	.lightbox-left {
		width: calc(60% - 15px);
	}
	.lightbox-right {
		width: calc(40% - 15px);
	}
	.custom-modal-body {
		padding: 20px 50px;
	}
}







/*******************
 * 
 * About page
 * 
 *******************/
@media (min-width: 768px) {
	.staff-loop {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}
	.staff-cols-3 .staff-item {
		width: calc(33.3% - 20px);
	}
	.staff-cols-4 .staff-item {
		width: calc(25% - 23px);
	}
}

.white-boxes .accessible-swiper-carousel .swiper-slide {
	background: var(--qsp-white);
	border-radius: var(--qsp-border-radius);
	height: auto;
}
.white-boxes .accessible-swiper-carousel .slide-content {
	padding: 20px;
}







/*******************
 * 
 * Pricing page
 * 
 *******************/
.price-set {
	font-size: 4rem;
	font-weight: bold;
	color: var(--qsp-heading);
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1;
}
.price-set:first-letter {
	font-size: 2.5rem;
    vertical-align: super;
}