/*
Theme Name: Gustavo Child
Theme URI: https://thekitchentablewi.com/
Description: Child theme for the Gustavo WordPress theme
Author: Minnesota Website
Author URI: https://ancorathemes.com/
Template: gustavo
Version: 1.0.0
Tested up to: 6.9
Requires at least: 5.5
Requires PHP: 8.0
Text Domain: gustavo-child
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&display=swap');

/* Full-width layout for the No Sidebar page template */
.page-template-page-no-sidebar .sidebar {
	display: none !important;
}

.page-template-page-no-sidebar.sidebar_show .content,
.page-template-page-no-sidebar .content {
	width: 100% !important;
	max-width: 100% !important;
}

/* Full-width layout for single job posts */
.single-jobpost .sidebar {
	display: none !important;
}

.single-jobpost .content {
	width: 100% !important;
	max-width: 100% !important;
}

/* BEGIN: Wolfie Approved Favorites - Lunch Grid */

@keyframes tkt-wolfie-floral-wiggle-left {
	0%,
	100% {
		transform: rotate(-14deg) scale(1);
	}
	50% {
		transform: rotate(14deg) scale(1.1);
	}
}

@keyframes tkt-wolfie-floral-wiggle-right {
	0%,
	100% {
		transform: rotate(14deg) scale(1);
	}
	50% {
		transform: rotate(-14deg) scale(1.1);
	}
}

.vc_row.tkt-home-menu {
	--tkt-lunch-bg: #f9f6ee;
	--tkt-lunch-orange: #ff8000;
	--tkt-lunch-green: #001944;
	--tkt-lunch-gap: 28px;
	--tkt-lunch-radius: 20px;
	background-color: var(--tkt-lunch-bg) !important;
	padding-top: 64px !important;
	padding-bottom: 64px !important;
}

/*
.vc_row.tkt-home-menu .wpb_wrapper {
	max-width: 1240px;
	margin: 0 auto;
}


.vc_row.tkt-home-menu .sc_title.tkt-section-title {
	margin: 0 0 18px !important;
	padding: 0 !important;
}
*/
.vc_row.tkt-home-menu .sc_title.tkt-section-title .sc_item_title,
.vc_row.tkt-home-menu .sc_title.tkt-section-title .sc_title_title {
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
	/* font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
	font-weight: 900 !important;
	font-size: clamp(40px, 4.5vw, 68px) !important;
	line-height: 1 !important;
	letter-spacing: 0.01em;
	text-transform: uppercase; */
	color: #ff8000 !important;
}


.vc_row.tkt-home-menu .tkt-section-subtitle,
.vc_row.tkt-home-menu .sc_title.tkt-section-title + .wpb_text_column p {
	margin: 0 auto 40px !important;
	padding: 0 20px !important;
	text-align: center !important;
	font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
	font-weight: 400 !important;
	font-size: 30px !important;
	line-height: 1.45 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #001944 !important;
}

.vc_row.tkt-home-menu ul.products.columns-5 {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--tkt-lunch-gap);
	margin: 0 !important;
	padding: 0 12px !important;
	list-style: none;
	position: relative;
}

.vc_row.tkt-home-menu ul.products li.product {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
	clear: none !important;
	position: relative;
}

.vc_row.tkt-home-menu ul.products li.product .post_item.post_layout_thumbs {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.vc_row.tkt-home-menu ul.products li.product .post_featured.hover_shop {
	order: 1;
	position: relative;
	margin: 0 0 16px !important;
	padding: 0 !important;
	border-radius: var(--tkt-lunch-radius);
	overflow: hidden;
	background-image: none !important;
	background-color: transparent !important;
}

.vc_row.tkt-home-menu ul.products li.product .post_featured .mask,
.vc_row.tkt-home-menu ul.products li.product .post_featured .icons {
	display: none !important;
}

.vc_row.tkt-home-menu ul.products li.product .post_featured > a {
	display: block;
	line-height: 0;
	overflow: hidden;
	border-radius: var(--tkt-lunch-radius);
}

.vc_row.tkt-home-menu ul.products li.product .post_featured img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	margin: 0 !important;
	border-radius: 0;
	transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: scale(1);
	will-change: transform;
}

.vc_row.tkt-home-menu ul.products li.product:hover .post_featured img,
.vc_row.tkt-home-menu ul.products li.product .post_featured > a:hover img {
	transform: scale(1.1);
}

.vc_row.tkt-home-menu ul.products li.product .post_data {
	order: 2;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	text-align: left;
}

.vc_row.tkt-home-menu ul.products li.product .post_data_inner {
	padding: 0 !important;
}

.vc_row.tkt-home-menu ul.products li.product .post_header.entry-header {
	margin: 0 !important;
	padding: 0 !important;
}

.vc_row.tkt-home-menu ul.products li.product .woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
	font-weight: 300 !important;
	font-size: 20px !important;
	line-height: 1.25 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: left;
}
.tkt-home-menu ul.products:before{ display: none !important;}
.vc_row.tkt-home-menu ul.products li.product .woocommerce-loop-product__title a {
	color: #001944 !important;
	text-decoration: none !important;
}

.vc_row.tkt-home-menu ul.products li.product .woocommerce-loop-product__title a::before {
	content: "NEW ";
	color: var(--tkt-lunch-orange);
}

.vc_row.tkt-home-menu ul.products li.product .price,
.vc_row.tkt-home-menu ul.products li.product a.button.product_type_external,
.vc_row.tkt-home-menu ul.products li.product .screen-reader-text {
	display: none !important;
}

/* Decorative starbursts */
.vc_row.tkt-home-menu ul.products li.product:first-child::before,
.vc_row.tkt-home-menu ul.products li.product:last-child::after {
	content: "";
	position: absolute;
	width: 52px;
	height: 52px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
	z-index: 2;
	transform-origin: center center;
}

.vc_row.tkt-home-menu ul.products li.product:first-child::before {
	top: -18px;
	left: -10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e66c2c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M32 8v48M8 32h48M14 14l36 36M50 14L14 50'/%3E%3Ccircle cx='32' cy='8' r='3' fill='%23e66c2c'/%3E%3Ccircle cx='32' cy='56' r='3' fill='%23e66c2c'/%3E%3Ccircle cx='8' cy='32' r='3' fill='%23e66c2c'/%3E%3Ccircle cx='56' cy='32' r='3' fill='%23e66c2c'/%3E%3C/g%3E%3C/svg%3E");
	animation: tkt-wolfie-floral-wiggle-left 4.5s ease-in-out infinite;
}

.vc_row.tkt-home-menu ul.products li.product:last-child::after {
	right: -8px;
	bottom: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e66c2c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M32 8v48M8 32h48M14 14l36 36M50 14L14 50'/%3E%3Ccircle cx='32' cy='8' r='3' fill='%23e66c2c'/%3E%3Ccircle cx='32' cy='56' r='3' fill='%23e66c2c'/%3E%3Ccircle cx='8' cy='32' r='3' fill='%23e66c2c'/%3E%3Ccircle cx='56' cy='32' r='3' fill='%23e66c2c'/%3E%3C/g%3E%3C/svg%3E");
	animation: tkt-wolfie-floral-wiggle-right 4.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.vc_row.tkt-home-menu ul.products li.product:first-child::before,
	.vc_row.tkt-home-menu ul.products li.product:last-child::after {
		animation: none;
	}

	.vc_row.tkt-home-menu ul.products li.product .post_featured img {
		transition: none;
	}

	.vc_row.tkt-home-menu ul.products li.product:hover .post_featured img,
	.vc_row.tkt-home-menu ul.products li.product .post_featured > a:hover img {
		transform: none;
	}
}

/* See full menu button */
.vc_row.tkt-home-menu .sc_item_button.sc_button_wrap {
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.vc_row.tkt-home-menu .sc_item_button .sc_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	padding: 14px 34px !important;
	border: 2px solid var(--tkt-lunch-green) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.vc_row.tkt-home-menu .sc_item_button .sc_button_title {
	font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--tkt-lunch-green) !important;
}
.sc_item_button .sc_button_figure{
    background-color: #ff8000 !important;
    border-radius: 0 !important;
}
.sc_item_button .sc_button_figure:hover{
    background-color: var(--tkt-lunch-green) !important;
}
.vc_row.tkt-home-menu .sc_item_button .sc_button:hover {
	background: var(--tkt-lunch-green) !important;
}

.vc_row.tkt-home-menu .sc_item_button .sc_button:hover .sc_button_title {
	color: var(--tkt-lunch-bg) !important;
}

@media screen and (max-width: 1100px) {
	.vc_row.tkt-home-menu ul.products.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	.vc_row.tkt-home-menu {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}

	.vc_row.tkt-home-menu ul.products.columns-5 {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 0 20px !important;
	}

	.vc_row.tkt-home-menu ul.products li.product:first-child::before,
	.vc_row.tkt-home-menu ul.products li.product:last-child::after {
		display: none;
	}
}
/* END: Wolfie Approved Favorites - Lunch Grid */

.footer_wrap.footer_default{
    padding-bottom: 1rem !important;
}

.footer_wrap.footer_default {
    background: linear-gradient(272deg, #063894, #001845);
    background-size: 400% 400%;

    -webkit-animation: AnimationName 15s ease infinite;
    -moz-animation: AnimationName 15s ease infinite;
    animation: AnimationName 15s ease infinite;
}

@-webkit-keyframes AnimationName {
    0%{background-position:0% 49%}
    50%{background-position:100% 52%}
    100%{background-position:0% 49%}
}
@-moz-keyframes AnimationName {
    0%{background-position:0% 49%}
    50%{background-position:100% 52%}
    100%{background-position:0% 49%}
}
@keyframes AnimationName {
    0%{background-position:0% 49%}
    50%{background-position:100% 52%}
    100%{background-position:0% 49%}
}

.tkt-business-timing{
    text-align: center;
    margin-top: 1rem;
}
.tkt-home-reservation .wpcf7-acceptance .wpcf7-list-item-label{
    color: #fff !important;
}
.footer_copyright_inner:before {
    content: "";
    position: absolute;
    left: 4.2%;
    top: 0;
    width: 147px;
    height: 149px;
    background-image: url('images/wolf.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.60;
}

.breadcrumbs_figure_over.bottom {
    background-image: url(images/bottom_crumbs.png);
    height: 75px;
}
.breadcrumbs_figure_over.top {
    background-image: url(images/top_crumbs.png);
}
.tkt-show-mobile{
    display: none;
}
.home-hero-section{
	min-height: 700px;
}
.footer_copyright_inner{
    overflow: visible;
}
.footer_copyright_inner:before{
    top: -40px;
}
.sjb-page .sjb-detail .list-data .v1{
    padding: 30px !important;
}
body.single-jobpost .post_meta{
    display: none !important;
}
body.single-jobpost header.top_panel{
    margin-bottom: 0 !important;
}
body.single-jobpost .footer_wrap{
    margin-top: 40px !important;
}


@media screen and (min-width: 1200px) {
    .tkt-hide-desktop{
        display: none !important;
    }
    .tkt-home-blog .sc_blogger .sc_blogger_item .sc_blogger_item_title a{
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 11ch;
        padding-right: 8px;
    }
}

@media screen and (max-width: 767px) {
    .tkt-show-mobile{
        display: block;
    }
    .tkt-hide-mobile{
        display: none !important;
    }
    
    .tkt-header-logo-col{ width: 78% !important;}
    .tkt-header-menu-col{ width: 20% !important;}
    .search_style_normal.search_mobile,
    .socials_mobile{
        display: none !important;
    }
    .vc_row.home-hero-section{
        min-height: 100px;
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    .home-hero-section .vc_video-bg.vc_hidden-xs{
        display: block !important;
    }
    .home-hero-section h2{
        font-size: 40px !important;
        line-height: 40px !important;
    }
    .home-hero-section h3{
        font-size: 30px !important;
        line-height: 30px !important;
    }
    .home-card h4{
        line-height: 100%;
    }
    .card-col-left{
        margin-bottom: 20px;
    }
    .vc_row.tkt-testimonials-section{
        padding-top: 1.0rem !important;
    }
    .breadcrumbs_figure_over.bottom{
        display: none !important;
    }
    .footer_wrap.footer_default:after{
        background-repeat: no-repeat;
        top: -5px;
    }
    #wpcf7-f1178-p41-o1{ margin-top: 1.0rem !important;}
}

/* Social icons hover — brand orange instead of theme green */
.socials_wrap .social_item a:hover,
.footer_wrap .socials_wrap .social_item a:hover,
.scheme_self.footer_wrap .socials_wrap .social_item a:hover,
.footer_socials_inner .social_item .social_icons:hover {
	background-color: #ff8000 !important;
}

/* Footer Snapchat icon (not in ThemeREX icon font) */
.footer_socials_inner .social_icons.social_snapchat .gustavo_child_icon-snapchat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.footer_socials_inner .social_icons.social_snapchat .gustavo_child_icon-snapchat svg {
	display: block;
	width: 1em;
	height: 1em;
}

/*
 * Gallery page (WPBakery Image Grid): images use WP "medium" (300px),
 * so only 3 fit in the ~1000px content width. Force 4 equal columns.
 * Note: Gustavo does not output body.page-gallery — use page-id-2457.
 */
body.page-id-2457 .wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item,
.wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item {
	width: calc(25% - 1px) !important;
	max-width: calc(25% - 1px) !important;
	box-sizing: border-box !important;
	margin: 0 1px 1px 0 !important;
}

body.page-id-2457 .wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item a,
body.page-id-2457 .wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item img,
.wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item a,
.wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
}

@media (max-width: 991px) {
	body.page-id-2457 .wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item,
	.wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item {
		width: calc(50% - 1px) !important;
		max-width: calc(50% - 1px) !important;
	}
}

@media (max-width: 575px) {
	body.page-id-2457 .wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item,
	.wpb_gallery .wpb_image_grid .wpb_image_grid_ul > .isotope-item {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
	}
}

