/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	Redbak
Theme URI: https://impreza.us-themes.com/
Author URI: https://redbak.com/
*/

/*********************************************
 *********************************************

 * *  Global Styling  * *
 * *  Navigation  * *
 * *  XXXX  * *
 * *  XXXX  * *
 * *  XXXX  * *

 *********************************************
 *********************************************/


/*********************************************
 * *  Global Styling  * *
 *********************************************/
/* buttons */
.arty-button {
	transition-duration: 0.2s;
}
.arty-button:hover {
	transform: scale(0.95);
}
.view-classes-button {
    width: fit-content;
    margin: auto;
}
.view-classes-button a {
    max-width: 300px;
}
@media (max-width: 900px) {
	.view-classes-button a {
		max-width: 200px;
	}
}
.button-text-label {
	
}
button[type=submit]:not(.w-btn), .woocommerce .button {
	padding: 0.8em 0.8em 0.6em !important;
}

/* paint banners */
.paint-heading {
    text-align: center;
    min-height: 130px;
    letter-spacing: 2px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.paint-heading .w-text-value {
	height: var(--h2-font-size,inherit);
    display: block;
}
.paint-heading.paint-purple {
	padding: 2rem 1rem 1rem 1rem !important;
}
@media (max-width: 460px) {
	.paint-heading.paint-purple.paint-heading-long {
		padding: 0rem 1rem 1rem 1rem !important;
	}
}
.paint-heading.paint-red {
	padding: 1rem !important;
}
.paint-h1-heading {
	font-family: var(--h2-font-family, inherit);
    font-weight: var(--h2-font-weight, inherit);
    font-size: var(--h2-font-size, inherit);
    font-style: var(--h2-font-style, inherit);
    line-height: var(--h2-line-height, 1.4);
    letter-spacing: var(--h2-letter-spacing, inherit);
    text-transform: var(--h2-text-transform, inherit);
    margin-bottom: var(--h2-margin-bottom, 1.5rem);
}
/* drop shadow */
.drop-shadow img {
    filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 15%));
}
.booking-calendar {
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 15%));
}
/* Photo stack */
.photo-stack img {
	border: 10px solid #ffffff;
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
}
.tilt-left {
	transform: rotate(-2deg);
}
.tilt-left:after {
    content: "";
    background-image: url(/wp-content/uploads/2024/07/studio-photo-parallax.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-10deg);
    border: 10px solid #ffffff;
    z-index: -1;
    height: calc(100% - 20px);
    width: calc(100% - 20px);
    filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
}
.tilt-right {
	transform: rotate(2deg);
}
.tilt-right:after {
    content: "";
    background-image: url(/wp-content/uploads/2024/07/arty-play-01.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(10deg);
    border: 10px solid #ffffff;
    z-index: -1;
    height: calc(100% - 20px);
    width: calc(100% - 20px);
    filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
}
@media (max-width: 1024px) {
	.photo-stack {
		max-width: 70% !important;
		margin: auto;
        margin-top: 2rem;
	}
}

/* Team */
.team-photo {
	max-height: 560px;
}

/*FAQ*/
.faq-accordion a {
	text-decoration: underline;
	text-underline-offset: 4px;
}
/*********************************************
 * *  Navigation  * *
 *********************************************/
.l-header.id_68 .l-subheader.at_middle {
	
}
.l-header.id_68 .l-subheader.at_middle .l-subheader-h {
    max-width: 100%;
}
.l-header.id_68 .l-subheader.at_middle .l-subheader-h .l-subheader-cell.at_right .right-nav-menu {
	margin-left: 0rem !important;
}
.nav-trim-top {
	height: 1vmin;
    color: #233F87;
    width: calc(100vw + 4rem);
    left: 50%;
    transform: translateX(-50%);
    top: calc(-1vmin + 1px);
}
.nav-trim-bottom {
	height: 2vmin;
    color: #233F87;
    width: calc(100vw + 4rem);
    left: 50%;
    transform: translateX(-50%);
    top: 59px !important;
	z-index: -1;
}
@media (max-width: 1380px) {
	.nav-trim-bottom  {
		top: 69px !important;
	}
}
.nav-menu {
	text-transform: uppercase;
	font-size: 20px;
}
.nav-logo-full {
	position: absolute;
    top: -10px;
}
.nav-logo img {
    filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 15%));
}

.nav-account-basket-wrapper {
/* 	transform: scale(0.8); */
	margin-left: 0.5rem !important;
}
@media (max-width: 600px) {
	.nav-account-basket-wrapper {
		margin-right: 0.5rem;
	}
}
.nav-basket .fa-shopping-cart:before {
    content: "";
    background-image: url(/wp-content/uploads/2024/06/basket-icon.svg);
	background-repeat: no-repeat;
    background-position: center;
	display: block;
    width: 30px;
    height: 40px;
}
.nav-basket .w-cart-quantity {
    position: absolute;
    left: 50%;
	right: auto;
    top: 50%;
    transform: translate(-48%, -20%);
	font-size: 16px;
    font-weight: 600;
}
.nav-account.w-btn.text_none i {
    width: auto;
}
.nav-account .fa-user:before {
    content: "";
    background-image: url(/wp-content/uploads/2024/06/account-icon.svg);
	background-repeat: no-repeat;
    background-position: center;
	display: block;
    width: 30px;
    height: 40px;
}
/*********************************************
 * *  Top Banners  * *
 *********************************************/
.top-banner-background {
    position: absolute;
    transform: scale(1.2);
    transform-origin: center;
    top: 10%;
    z-index: 0;
}
.top-banner-sides img {
	width: 100vw !important;
	position: relative;
}
.top-banner-message {
    position: absolute;
    width: 65vw;
    height: auto;
    max-width: 1150px !important;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
	padding-top: 2rem;
}
@media (max-width: 1380px) {
	.top-banner-message {
		top: 50%;
		padding-top: 1rem;
	}
	.banner-row {
		padding-top: 4rem;
	}
}
@media (max-width: 1024px) {
	.banner-row {
		padding-top: 6rem;
	}
}
@media (max-width: 600px) {
	.top-banner-sides img {
		z-index: -1;
		padding-bottom: 2rem;
	}
	.top-banner-message {
		width: 85vw;
	}
	.top-banner-message.top-banner-message-classes,
	.top-banner-message.top-banner-message-events,
	.top-banner-message.top-banner-message-parties,
	.top-banner-message.top-banner-message-shop,
	.top-banner-message.top-banner-message-about {
		width: 95vw;
	}
	.banner-row {
		padding-top: 5rem;
	}
}
@media (max-width: 320px) {
	.banner-row {
		padding-top: 4rem;
	}
}
.mobile-nav-menu {
    padding-left: 0.5rem;
	margin-right: 0.5rem !important;
}
/*********************************************
 * *  Footer  * *
 *********************************************/
.l-footer {
	overflow: visible;
}
.footer-row {
	padding-top: 3rem !important;
	padding-bottom: 0.5rem !important;
}
.footer-row .l-section-h, .footer-subrow .l-section-h {
	max-width: 100%;
}
.footer-logo {
	position: absolute;
	max-width: 280px;
}
.footer-address {
	font-size: 22px;
	line-height: 32px;
}
.footer-menu {
	column-count: 2;
	gap: 1rem;
	font-size: 20px;
}
.footer-menu .menu-item {
    border-bottom: 1px solid;
    padding-bottom: 0.25rem;
    margin-bottom: 0.25rem !important;
}
.footer-menu .menu-item:nth-of-type(4n) {
	border-bottom: none;
}
.footer-feed {
    max-width: 160px;
}
.arty-social {
	max-width: 60px;
}

.footer-smallprint {
	font-size: 16px;
	text-align: center;
}
@media (max-width: 1306px) {
	.footer-logo-wrapper {
		height: 50px;
	}
}
@media (max-width: 1024px) {
	.footer-logo-wrapper {
		height: 100px;
	}
	.footer-feed {
		max-width: 500px;
	}
}
@media (max-width: 600px) {
	.footer-logo-wrapper {
		height: 140px;
	}
	.footer-feed-social-wrapper {
		flex-direction: column;
	}
	.footer-social-wrapper {
		flex-direction: row;
        gap: 2rem;
		padding: 1rem;
	}
	.footer-social-wrapper .w-image {
		margin-bottom: 0px;
	}
}
/*********************************************
 * *  Meet The Family  * *
 *********************************************/


.meet-the-family-row .meet-the-family {
	height: 335px;
    display: flex;
    align-items: flex-end;
    margin-bottom: 1.5rem;
}
.meet-the-family-row .meet-the-family .w-image-h {
	height: auto;
}
.meet-the-family-row .w-image-h img {
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 15%));
}

@media (max-width: 1024px) {
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: 45vw;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: 51vw;
	}
}
@media (max-width: 900px) {
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: 45vw;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: 51vw;
	}
}
@media (max-width: 768px) {
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: 42vw;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: 47vw;
	}
}
@media (max-width: 600px) {
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: 48vw;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: 54vw;
	}
}
@media (max-width: 480px) {
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: 45vw;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: 51vw;
	}
}
@media (max-width: 320px) {
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: 42vw;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: 47vw;
	}
}
@media (max-width: 300px) {
	.meet-the-family-row .g-cols.mobiles-cols_2 {
        grid-template-columns: repeat(1, 1fr);
	}
	.meet-the-family-row .meet-the-family.tiny-explorers, .meet-the-family-row .meet-the-family.baby-explorers {
		height: auto;
	}
	.meet-the-family-row .meet-the-family.toddler-explorers, .meet-the-family-row .meet-the-family.pre-school-explorers {
		height: auto;
	}
}

.meet-the-family-button {
    display: flex;
    justify-content: center;
}
.meet-the-family-button a {
    max-width: 80%;
}

/*********************************************
 * *  Testimonials  * *
 *********************************************/
.testimonial-wrapper {
    padding: 0rem 1rem;
}
/*********************************************
 * *  Community Collaborations  * *
 *********************************************/
.collaborations-grid .w-grid-item {
    text-align: center;
}
/*********************************************
 * *  Simple Img Grid  * *
 *********************************************/
.simple-img-grid .w-grid-list {
	justify-content: center;
}
/*********************************************
 * *  Photo Section  * *
 *********************************************/
.photo-block-grid .w-grid-list {
	justify-content: center;
}
.photo-block-grid .w-post-elm {
	overflow: visible;
}
.photo-block-grid .w-grid-item img {
	border: 10px solid #ffffff;
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
}
.photo-block-grid .w-grid-item:nth-of-type(4n+1) {
	transform: rotate(-2deg);
	margin: 1rem -2rem 0 0;
	z-index: 1;
}
.photo-block-grid .w-grid-item:nth-of-type(4n+2) {
	transform: rotate(4deg);
	z-index: 3;
}
.photo-block-grid .w-grid-item:nth-of-type(4n+3) {
	transform: rotate(-1deg);
	z-index: 2;
}
.photo-block-grid .w-grid-item:nth-of-type(4n+4) {
	transform: rotate(4deg);
	margin: -0.5rem 0rem 0rem -2rem;
	z-index: 1;
}
.photo-block-background {
    position: absolute;
    transform: scale(1.2);
    transform-origin: center;
	top: 0rem;
    left: -1rem;
    z-index: 0;
}

/*********************************************
 * *  Woocommerce  * *
 *********************************************/
.shop-grid-img {
	border: 10px solid #ffffff;
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
	margin-bottom: 1rem;
}
.shop-grid .w-grid-item {
	transition-duration: 0.3s;
}
.shop-grid .w-grid-item:nth-of-type(3n+1) {
	transform: rotate(-1deg);
}
.shop-grid .w-grid-item:nth-of-type(3n+1):hover {
	transform: rotate(0deg);
}
.shop-grid .w-grid-item:nth-of-type(3n+2) {
	transform: rotate(1deg);
}
.shop-grid .w-grid-item:nth-of-type(3n+2):hover {
	transform: rotate(0deg);
}
.shop-grid .w-grid-item:nth-of-type(3n+3) {
	transform: rotate(0deg);
}
.shop-grid .w-grid-item:nth-of-type(3n+3):hover {
	transform: rotate(-1deg);
}
.shop-grid-title {
	font-size: 1rem;
	text-transform: initial;
	text-align: center;
}
/*shop-box*/
.shop-box {
	background: #A7CBBD !important;
    padding: 2rem;
    border-radius: 0.3em;
    box-shadow: 0px 6px 10px rgb(0 0 0 / 15%);
}
.shop-box .woocommerce-shipping-totals {
	border-top: 1px solid var(--color-content-border);
	border-bottom: 1px solid var(--color-content-border);
	margin: 0.5rem 0;
}
.shop-box .wc_payment_methods li>input:checked+label  {
	color: #000000;
}
@media (max-width: 480px) {
	.shop-box, .shop-box.w-cart-totals {
		margin: 0 -0.5rem !important;
		padding: 1rem;
	}
}
.shop-box .woocommerce-shipping-destination {
	display: none;
}
.shop-box.checkout-login a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.shop-box.checkout-login .w-wc-notices {
	margin-bottom: 0px;
}
.shop-box.checkout-login .woocommerce-info {
	margin-bottom: 0px;
	padding: 0px;
}
.shop-box.checkout-login .woocommerce-form-login {
    box-shadow: none;
    padding: 0px;
}
.shop-box.checkout-login .woocommerce-form-login .lost_password {
    padding-top: 10px;
}
.shop-box .woocommerce-terms-and-conditions-checkbox-text a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
/*shop-notice-box*/
.shop-notice-box, .wc-empty-cart-message {
	background: var(--color-content-primary);
}
.shop-notice-box .woocommerce-message {
    color: var(--color-content-text) !important;
}
.shop-notice-box a.wc-forward, .shop-notice-box a.restore-item {
    margin-left: 0.5rem;
    text-decoration: underline;
    text-underline-offset: 5px;
}
.shop-notice-box a.wc-forward:hover, .shop-notice-box a.restore-item:hover {
    color: #000000;
	text-decoration: none;
}
.shop-notice-box.checkout-fields .woocommerce-error {
	color: #000000;
}
.shop-notice-box.checkout-fields .woocommerce-error li:before {
	content:"*";
}
@media (max-width: 480px) {
	.shop-notice-box.checkout-fields {
		margin: 0 -0.5rem !important;
	}
}
/**/
/*
product-gallery
product-title
product-description
product-price
product-options
*/
.product-gallery .woocommerce-product-gallery--with-images > .woocommerce-product-gallery__wrapper > div {
	border: 10px solid #ffffff;
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
	aspect-ratio: 1;
	width: 100%;
    height: auto !important;
	margin-bottom: 1rem;
}
.product-gallery .flex-viewport {
	border: 10px solid #ffffff;
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
	aspect-ratio: 1;
	width: 100%;
    height: auto !important;
	margin-bottom: 1rem;
}
.product-gallery .woocommerce-product-gallery li img {
	border: 5px solid #ffffff;
	filter: drop-shadow(0px 6px 10px rgb(0 0 0 / 35%));
}
.product-title {
	font-size: 2rem;
    text-transform: inherit;
}
.product-description {
	
}
.product-price {
    font-size: 2rem;
    line-height: 1;
}
.product-options .custom-name-field {
	padding-bottom: 1rem;
}

/*Account Area */
.account-menu a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.account-menu .current-menu-item a, .account-menu .is-active a {
    color: #ffffff !important;
}
@media (max-width: 1024px) {
    .account-menu ul {
		column-count: 2;
	}
	.account-menu li {
		break-inside: avoid-column;
	}
}
/* Post Checkout */

.woocommerce-order {
    padding-top: 6rem;
}
@media (max-width: 900px) {
    .woocommerce-order {
		padding-top: 2rem;
	}
}
/*********************************************
 * *  Responsive Styling  * *
 *********************************************/



@media (max-width: 1200px) {
     {
    }
}

@media (max-width: 1024px) {
     {
    }
}

@media (max-width: 900px) {
     {
    }
}

@media (max-width: 768px) {
     {
    }
}

@media (max-width: 600px) {
     {
    }
}

@media (max-width: 480px) {
     {
    }
}

@media (max-width: 320px) {
     {
    }
}
