/*
Theme Name: Skillastics - 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:
----------------------------------------------------------------
# Skillastics Specific Constants
# Typography
# Elements
# Forms
# Header
# Footer
# Blog Archive
# Blog Single
# Training Page
# WooCommerce Shop Page
# WooCommerce Individual Product Page
# WooCommerce cart
# WooCommerce checkout
# WooCommerce my account
# Privacy Policy
--------------------------------------------------------------*/

/*******************
 * 
 * Skillastics Specific Constants
 * 
 *******************/
:root {
	--skill-black: #1a1919;
    --skill-white: #fff;
    --skill-navy: #004a8d;
    --skill-links: #0074c0;
    --skill-pale-blue: #f2f5f9;
    --skill-green: #57b046;
    --skill-price-green: #158113;
    --skill-yellow: #f6bd39;
    --skill-red: #de2a30;
    --skill-border: #7782b0;
}


/*******************
 * 
 * Typography
 * 
 *******************/
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-Thin.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}
/* italics */
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-ThinItalic.ttf") format("truetype");
    font-weight: 200;
    font-style: italic;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-LightItalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-Italic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-BoldItalic.ttf") format("truetype");
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: Lato;
    src: url("/wp-content/themes/kaya-child/fonts/Lato-BlackItalic.ttf") format("truetype");
    font-weight: 900;
    font-style: italic;
}


/* Elementor fixes */
body p.elementor-heading-title {
	line-height: 1.5em;
}



/*******************
 * 
 * Elements
 * 
 *******************/

/* buttons */
body .elementor-button.elementor-size-md {
    border-radius: 50px;
    font-size: 1.1rem;
}
body .elementor-button.elementor-size-md,
.wp-block-button__link {
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.wp-block-button__link:hover {
    text-decoration: none;
}

/* yellow buttons */
body .yellow-button .wp-block-button__link,
body .yellow-button .wp-block-button__link:visited {
    background: var(--skill-yellow);
    color: var(--skill-black);
}
body .yellow-button .wp-block-button__link:active,
body .yellow-button .wp-block-button__link:focus,
body .yellow-button .wp-block-button__link:hover {
    background: var(--skill-links);
    color: white;
}


/* yellow checkmarks */
.yellow-circle-checks .elementor-icon-list-icon {
	background: var(--skill-yellow);
	width: 1.5em;
	height: 1.5em;
	border-radius: 50px;
	justify-content: center;
	align-items: center;
}
.elementor-widget.yellow-circle-checks .elementor-icon-list-icon i {
	width: 1em;
}
.yellow-square-checks .elementor-icon-list-item {
	gap: 10px;
}
.yellow-square-checks .elementor-icon-list-icon {
	background: var(--skill-yellow);
	width: 2.5em;
	height: 2.5em;
	padding: 1em;
	border-radius: 5px;
	justify-content: center;
	align-items: center;
}
.elementor-widget.yellow-square-checks .elementor-icon-list-icon i {
	width: 1em;
}


/* Elementor lists with anchor links */
.elementor .elementor-icon-list-item a:hover {
	text-decoration: underline;
}


/* hr */
hr {
    width: 40%;
    height: 10px;
    border-radius: 10px;
    background: var(--skill-green);
}
.elementor-divider-separator {
	border-radius: 10px;
}
hr.red-hr {
    background: var(--skill-red);
}
hr.yellow-hr {
    background: var(--skill-yellow);
}

/* lists */
#primary li {
    padding-bottom: 0.7em;
}


/* text box with green underline */
.green-underline-text {
    background: white;
    border-radius: 15px;
    padding: 15px 15px 20px;
    margin: -50px 30px 0;
    position: relative;
}
.green-underline-text:after {
    content: '';
    position: absolute;
    bottom: 0px;
    height: 5px;
    width: calc(100% - 40px);
    background: var(--skill-green);
    left: 20px;
    border-radius: 5px;
}


/* Elementor toggles */
body .elementor-toggle .elementor-tab-title {
	border: none;
	background: var(--skill-yellow);
	border-radius:50px;
	text-transform: uppercase;
}
body .elementor-toggle .elementor-toggle-title,
body .elementor-toggle .elementor-toggle-title:visited {
	color: var(--skill-black);
}


/* Tables */
tr:nth-child(even) {
	background: var(--skill-pale-blue);
}

/* Select box */
select {
	-webkit-appearance: none;
	-moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
	background-image: url('/wp-content/themes/kaya-child/down-arrow.png');
}




 
/*******************
 * 
 * Forms
 * 
 *******************/

/* Search form */
#masthead .mega-search.mega-search-open input[type=text] {
    border: 2px solid var(--skill-border) !important;
}

/* Fluent form */
body form.frm-fluent-form .ff-btn-submit {
	background: var(--skill-links);
}
body form.frm-fluent-form .ff-btn-submit:hover,
body form.frm-fluent-form .ff-btn-submit:focus,
body form.frm-fluent-form .ff-btn-submit:active {
	background: var(--skill-yellow);
	color: var(--skill-black);
	opacity: 1;
}




 
/*******************
 * 
 * Header
 * 
 *******************/
#masthead {
    box-shadow: 0px 0px 15px rgb(100 100 100 / 50%);
    z-index: 100;
    position: relative;
}
#site-navigation {
    padding-top: 20px;
}
body #masthead .container {
    padding-bottom: 0;
}
body #masthead .flexbox {
	flex-direction: row;
	flex-wrap: nowrap;
}
@media (min-width: 768px) {
    #masthead .flexbox > div:last-child {
        width: calc(100% - 250px);
    }
    body #mega-menu-wrap-primary #mega-menu-primary {
        display: flex;
        justify-content: space-between;
    }
}
@media (max-width: 850px) and (min-width: 768px) {
    #masthead .flexbox > div:first-child {
		max-width: 170px;
	}
    #masthead .flexbox > div:last-child {
        width: calc(100% - 170px);
    }
}

@media (max-width: 767px) {
	#masthead .flexbox {
		display: flex;
		justify-content: space-between;
	}
	#masthead #mega-menu-primary {
		border-bottom: 1px solid var(--skill-border);
	}
}




 
/*******************
 * 
 * Footer
 * 
 *******************/
#colophon:before {
	content: '';
	height: 10px;
	width: 100%;
	background: var(--skill-green);
    background: linear-gradient(90deg, rgba(0,122,197,1) 0%, rgba(0,122,197,1) 25%, rgba(87,176,70,1) 25%, rgba(87,176,70,1) 50%, rgba(246,189,57,1) 50%, rgba(246,189,57,1) 75%, rgba(222,42,48,1) 75%);
}
.footer-columns {
    padding-bottom: 50px;
    padding-top: 40px;
}
#colophon .social-icons {
    display: flex;
}




 
/*******************
 * 
 * blog Archive
 * 
 *******************/
.blog #page-hero-area,
.archive #page-hero-area,
.single #page-hero-area {
    padding-top: 40px;
    padding-bottom: 90px;
}
.archive #page-hero-area {
    background: var(--skill-pale-blue);
    text-align: center;
    padding-bottom: 40px;
    position: relative;
}
.archive:not(.woocommerce) #page-hero-area :after {
    position: absolute;
    content: '';
    height: 10px;
    border-radius: 10px;
    width: 40%;
    left: 30%;
    bottom: 55px;
    background: var(--skill-green);
}

.featured-blog-categories {
    background: var(--skill-navy);
    color: white;
    text-align: center;
    margin-top: -100px;
    border-radius: 25px;
    box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 28%);
    padding: 25px 20px 30px;
    margin-bottom: 70px;
}
.featured-blog-categories h2 {
    color: white;
}
body .featured-blog-categories .flexbox {
    justify-content: center;
    gap: 0;
    margin-top: 25px;
}
.blog-category-icon {
    padding: 20px;
    border-radius: 100%;
    background: var(--skill-red);
    margin-bottom: 10px;
    display: inline-block;
}
.blog-category-links:nth-child(2) .blog-category-icon {
    background: var(--skill-yellow);
}
.blog-category-links:nth-child(3) .blog-category-icon {
    background: var(--skill-green);
}
.blog-category-links:nth-child(4) .blog-category-icon {
    background: var(--skill-links);
}
body.blog .blog-category-links p,
body.blog .blog-category-links p:visited {
    color: white;
}
.blog-category-links:hover {
    background: var(--skill-black);
    border-radius: 15px;
}
@media (min-width: 768px) {
    .blog-category-links {
        width: 25%;
        padding: 10px 50px;
        border-right: 2px solid var(--skill-border);
    }
    .blog-category-links:last-child {
        border-right: none;
    }
}



.blog .flexbox,
.archive .flexbox {
    flex-wrap: wrap;
    gap: 50px;
}
.blog .flexbox .post,
.archive .flexbox .post {
    width: calc(50% - 25px);
    text-align: center;
    padding-top: 0;
}
@media (max-width: 767px) {
    .blog .flexbox .post,
    .archive .flexbox .post {
        width: 100%;
    }
}
.blog .flexbox .attachment-post-thumbnail,
.archive .flexbox .attachment-post-thumbnail {
    border-radius: 15px;
}
.flexbox .post .entry-title {
    background: var(--skill-pale-blue);
    padding: 15px;
    position: relative;
    border-radius: 10px;
    width: calc(100% - 100px);
    margin-left: 50px;
    margin-top: -50px;
}
.flexbox .post .entry-title:after {
    position: absolute;
    content: '';
    height: 5px;
    border-radius: 10px;
    width: calc(100% - 100px);
    bottom: 0px;
    left: 50px;
    background: var(--skill-green);
}
.flexbox .post .entry-content {
    width: calc(100% - 100px);
    margin-left: 50px;
}
.flexbox .post .entry-meta {
    font-weight: bold;
}
body.blog .post, 
body.archive .post {
    border-bottom: none;
    position: relative;
}
body.blog .post:after, 
body.archive .post:after {
    position: absolute;
    content: '';
    height: 10px;
    border-radius: 10px;
    width: calc(100% - 100px);
    left: 50px;
    bottom: 0;
    background: var(--skill-yellow);
}
.paged-links {
    margin-top: 50px;
}
.read-more,
.read-more:visited {
    background: var(--skill-links);
    color: white;
    padding: 14px 26px;
    border-radius: 50px;
    margin: 10px auto;
    display: inline-block;
    text-transform: uppercase;
}
.read-more:active,
.read-more:hover,
.read-more:focus {
    background: var(--skill-yellow);
    color: var(--skill-black);
    text-decoration: none;
}

/* CTA at end of blog */
#blog-cta {
    background: var(--skill-navy);
    color: white;
    padding: 20px 15px 10px;
}
#blog-cta .container {
    max-width: 1110px;
    margin: auto;
    display: flex;
    align-items: center;
    gap: 40px;
}
#blog-cta .widget:last-child {
    min-width: 18rem;
}
@media (max-width: 767px) {
    #blog-cta .container {
        flex-direction: column;
        gap: 0px;
        padding-bottom: 20px;
    }
}



 
/*******************
 * 
 * Blog Single
 * 
 *******************/
.single #page-hero-area {
    margin-bottom: -100px;
    padding-bottom: 120px;
}

.single-post .entry-content {
    max-width: 50rem;
    margin: auto;
    padding: 0 15px 30px;
}
.single-post .entry-content img {
    border-radius: 25px;
    box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 28%);
}
.single-post .entry-content figure {
    margin: 2rem 0;
}

/* Article sharing */
.single-post .entry-footer {
    background: var(--skill-pale-blue);
    padding: 40px 0 20px;
}
.single-post .container,
.single-post .nav-links {
    max-width: 1110px;
    margin: auto;
}
.single-post .social-sharing-buttons span {
    font-size: 1.2rem;
    font-weight: bold;
}


/* Post navigation links */
.single-post .post-navigation {
    background: var(--skill-pale-blue);
    padding-bottom: 40px;
}
.single-post .nav-links a,
.single-post .nav-links a:visited {
    background: var(--skill-yellow);
    color: var(--skill-black);
    text-align: center;
    border-radius: 100px;
    padding: 10px 15px;
    display: block;
    position: relative;
}
.single-post .nav-links a:hover,
.single-post .nav-links a:active,
.single-post .nav-links a:focus {
    background: var(--skill-links);
    color: white;
}
.single-post .nav-previous::before,
.single-post .nav-next::after {
    content: none;
}
.single-post .nav-previous a::before {
    content: '\00AB';
    position: absolute;
    left: 10px;
    top: calc(50% - 0.9rem);
}
.single-post .nav-next a::after {
    content: '\00BB';
    position: absolute;
    right: 10px;
    top: calc(50% - 0.9rem);
}
.single-post .nav-links {
    display: flex;
    gap: 40px;
    padding: 0 15px;
}
@media (max-width: 767px) {
    .single-post .nav-links {
        flex-direction: column;
    }
    .post-navigation .nav-previous,
    .post-navigation .nav-next {
        width: 100%;
    }
}


/* Related posts */
#related-posts h2 {
    text-align: center;
    margin: 30px 0;
}
#related-posts .related-article  {
    background: var(--skill-pale-blue);
    padding: 25px;
    border-radius: 20px;
}
#related-posts .attachment-related-posts-image {
    border-radius: 10px;
}
#related-posts .button {
    border-radius: 40px;
    text-align: center;
    text-transform: uppercase;
    display: block;
}
#related-posts .flexbox {
    gap: 40px;
}
@media (max-width: 1160px) {
    #related-posts .flexbox {
        padding: 0 15px;
    }
}



 
/*******************
 * 
 * Training Page
 * 
 *******************/
.elementor-widget.most-popular {
	position: absolute;
    top: -15px;
    left: -15px;
}





/*******************
 * 
 * Wistia Videos
 * 
 *******************/







/*******************
 * 
 * WooCommerce Shop Page
 * 
 *******************/
.woocommerce.archive .products {
    display: flex;
    flex-wrap: wrap;
    margin-top: 80px;
}
.woocommerce.archive .product {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.woocommerce .product .button {
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-weight: 400;
    padding: 15px 30px;
}
html .woocommerce ul.products li.product .price {
    font-size: 1rem;
}
.woocommerce.archive ul.products li.product a img {
    border-radius: 10px;
    box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 22%);
}
.woocommerce-pagination {
    margin-bottom: 50px;
}

.woocommerce.archive .orderby {
    background: var(--skill-pale-blue) url('/wp-content/themes/kaya-child/down-arrow.png') no-repeat  calc(100% - 15px) center;
	background-size: 9px 7.5px;
    border-radius: 50px;
    border: none;
    text-transform: uppercase;
    padding: 6px 10px;
}
.woocommerce .woocommerce-breadcrumb {
	color: var(--skill-black);
}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb a:visited {
    color: var(--skill-links);
}


.archive.woocommerce #page-hero-area .page-title,
.single-product #page-hero-area .page-title {
    position: relative;
    padding-bottom: 30px;
}
.archive.woocommerce #page-hero-area .page-title:after,
.single-product #page-hero-area .page-title:after {
    position: absolute;
    content: '';
    height: 10px;
    border-radius: 10px;
    width: 40%;
    left: 30%;
    bottom: 0px;
    background: var(--skill-green);
}
.archive.woocommerce #page-hero-area {
    padding-bottom: 120px;
}

/* Archive Filter */
.archive-filter {
    background: var(--skill-navy);
    color: var(--skill-white);
    padding: 30px 20px 0;
    border-radius: 20px;
    box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 20%);
    margin-top: -100px;
    position: relative;
    margin-bottom: 50px;
}
.archive-filter .facetwp-facet {
    margin-bottom: 40px;
    width: calc(33% - 30px);
}
.archive-filter .facetwp-facet .facetwp-dropdown {
    width: 100%;
    padding: 6px 12px;
    background: var(--skill-pale-blue) url('/wp-content/themes/kaya-child/down-arrow.png') no-repeat  calc(100% - 15px) center;
	background-size: 9px 7.5px;
    text-transform: uppercase;
    border: none;
    border-radius: 50px;
}

/* product hover state */
.woocommerce ul.products li.product a {
	padding: 10px;
}
.woocommerce ul.products li.product a:hover {
	background: var(--skill-pale-blue);
	border-radius: 15px;
}






/*******************
 * 
 * WooCommerce Individual Product Page
 * 
 *******************/
.single-product #page-hero-area {
    text-align: center;
}
.single-product .woocommerce-Price-amount {
    color: var(--skill-price-green);
    font-weight: bold;
}
.single-product .flex-viewport {
    border-radius: 20px;
    box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 20%);
    margin-bottom: 20px;
}
html .woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
}
html .woocommerce div.product div.images .flex-control-thumbs li {
    border-radius: 20px;
    box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 20%);
    margin: 0 20px 20px 0;
    padding-bottom: 0 !important;
    width: calc(25% - 20px);
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: 20px !important;
}

html .woocommerce div.product form.cart div.quantity {
    margin-right: 20px;
}
.single-product .input-text.qty {
    padding: 10px 3px;
}
.single-product .sku_wrapper,
.single-product .posted_in {
    display: block;
}

/* red line */

.single-product .woocommerce-tabs {
    padding-top: 100px;
    position: relative;
}
.single-product .woocommerce-tabs:before {
    position: absolute;
    content: '';
    height: 10px;
    border-radius: 10px;
    width: 40%;
    left: 30%;
    top: 20px;
    background: var(--skill-red);
}

/* tabs */
html .woocommerce div.product .woocommerce-tabs ul.tabs li,
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--skill-pale-blue);
    border: none;
    margin-right: 20px;
	margin-bottom: 20px;
    border-radius: 40px;
    text-transform: uppercase;
    padding-bottom: 0 !important;
}
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
	box-shadow: none;
}
html .woocommerce div.product .woocommerce-tabs ul.tabs li:hover,
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover,
html .woocommerce div.product .woocommerce-tabs ul.tabs li:active,
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active:active,
html .woocommerce div.product .woocommerce-tabs ul.tabs li:focus,
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active:focus {
    background: var(--skill-yellow);
}
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    position: relative;
}
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active:after {
    content: '' !important;
    position: absolute;
    height: 3px;
    border-radius: 10px;
    width: calc(100% - 32px);
    left: 16px;
    bottom: 5px;
    background: var(--skill-green);
}
html .woocommerce div.product .woocommerce-tabs ul.tabs li::after, 
html .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
html .woocommerce div.product .woocommerce-tabs ul.tabs::before {
    content: none !important;
}
.woocommerce table.shop_attributes td.woocommerce-product-attributes-item__value {
    padding-left: 15px;
}

/* related products */

.single-product .related {
    padding-top: 100px;
    position: relative;
}
.single-product .related:before {
    position: absolute;
    content: '';
    height: 10px;
    border-radius: 10px;
    width: 40%;
    left: 30%;
    top: 20px;
    background: var(--skill-yellow);
}
.single-product .related {
    text-align: center;
}
.single-product .related .products {
    margin-top: 40px;
    display: flex;
    gap: 30px;
}
@media (max-width: 767px) {
	.single-product .related .products {
		flex-wrap: wrap;
	}
	html .woocommerce ul.products[class*=columns-] li.product, 
	html .woocommerce-page ul.products[class*=columns-] li.product {
		float: none;
		clear: none;
		width: calc(50% - 15px);
	}
	html .woocommerce .related ul.products::before {
		content: none;
	}
	.woocommerce ul.products li.product .button {
		font-size: 14px;
		min-width: 80%;
		margin: 1em auto;
		float: none;
	}
}
.woocommerce.single-product .related ul.products li.product {
    background: var(--skill-pale-blue);
    padding: 15px;
    border-radius: 20px;
    margin-right: 0;
}
.single-product .related .attachment-woocommerce_thumbnail {
    border-radius: 10px;
}


@media (min-width: 768px) {
    .single-product .entry-summary {
        padding-top: 120px;
    }
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background: var(--skill-white);
}






/*******************
 * 
 * WooCommerce Cart
 * 
 *******************/
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
	background: var(--skill-pale-blue);
}






/*******************
 * 
 * WooCommerce Checkout
 * 
 *******************/

/* radio buttons for additional fields */
.woocommerce .thwcfd-field-wrapper input[type=radio] {
	margin-top: 10px;
	margin-right: 10px;
	display: block;
	float: left;
}
.thwcfd-field-wrapper .woocommerce-input-wrapper {
	display: block;
}

/* order review */
#order_review {
	margin-bottom: 50px;
}





/*******************
 * 
 * WooCommerce My Account
 * 
 *******************/
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button {
	background: var(--skill-links);
	color: white;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover {
	background: var(--skill-yellow);
	color: var(--skill-black);
}




/*******************
 * 
 * Privacy Policy
 * 
 *******************/
#policy .accordion-section {
	padding: 0 15px;
}