/* 
Theme Name: DD Locations v2
Theme URI: https://github.com/elementor/hello-theme-child/
Description: DD location subsite child theme - Hello Elementor main theme
Author: Steve Wilder
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: dd-locations-v2
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

main {
}

.buy-tickets-link a {
	color: red !important;
}

.hidden {
	display: none !important;
}

.site-main {
	max-width: 100% !important;
}

.nowrap {
	white-space: nowrap;
}

h1, h1.entry-title {
	text-align: center !important;
	font-family: 'Special Elite', 'Times New Roman', serif !important;
	text-transform: capitalize !important;
    font-weight: normal !important;
    font-style: normal;
    color: white !important;
	margin: 0 0 0 0;
	font-size: 2.5rem !important;
}

h2 {
	font-size: 2rem !important;
}

h3 {
	font-size: 1.75rem !important;
}

h4 {
	font-size: 1.5rem !important;
}

ul.elementor-nav-menu li a, .sb-relative, .wpseo-business-name, h5 {
	font-family: 'Montserrat', 'Arial', sans-serif !important;
	font-weight: bold;
}

.wpseo-extra-comment {
	font-style: italic;
}

input[name="quantity"], input[name="ign-donation"] {
	width: 5em !important;
}

#dd-template-location-menu-container img, #dd-template-location-menu-container source, #dd-template-location-menu-container picture {
	object-fit: cover;
}

.dd-template-title {
	display: flex;
	background-image: url(https://www.thedinnerdetective.com/_images/detectives-header-bkgd.webp);
	background-position: center center;
	background-size: cover;
	background-repeat: none;
	min-height: 25vh;
	flex-direction: column;
	justify-content: center;
}

.dd-template-content {
	padding: 20px 15px 20px 15px;
	background: rgb(208,208,208);
	background: linear-gradient(90deg, rgba(208,208,208,1) 0%, rgba(255,255,255,1) 2%, rgba(255,255,255,1) 98%, rgba(208,208,208,1) 100%);
}

.sb-item-text .sb-fs {
   overflow: hidden;
   display: -webkit-box;
   -webkit-line-clamp: 2; /* number of lines to show */
           line-clamp: 2; 
   -webkit-box-orient: vertical;
}


#menu-choices li {
	text-transform: capitalize;
}

.elementor-button-text:hover {
	color: yellow !important;
}


#menu-choices div ul li {
	font-weight: bold !important;
	margin: 5px 0 5px 0 !important;
}

#menu-choices div ul li ul li {
	font-weight: normal !important;
}

#menu-choices div ul li ul li ul li {
	font-style: italic !important;
	font-weight: normal !important;
}


/*
begin tribe events calendar
*/

body.single-tribe_events {
	background-image: linear-gradient(180deg,var(--e-global-color-67ca2c8d) 0%,var(--e-global-color-2f374de2) 100%);
}

.tribe-events-calendar-list__event-row, .tribe-events-calendar-list__month-separator {
	margin: 0 0 10px 0 !important;
}

.tribe-events-calendar-list__event-row {
	background-color: lightgrey;
	border-radius: 10px;
}

.tribe-events-l-container {
	padding: 0 !important;
	min-height: 250px !important;
}

.tribe_events {
	margin: 0 30px 0 30px;
}

.a11y-dialog--open {
	z-index: 999 !important;
}

.tribe-events-calendar-list__month-separator {
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}

.tribe-events-calendar-list__month-separator time {
	margin-right: 20px;
	font-weight: bold !important;
	font-size: larger !important;
}

.tribe-events-calendar-list__month-separator hr {
	width: 100%;
	height: 1px !important;
	border: 1px solid gray !important;
}

.tribe-events-single-event-title {
	text-align: center;
}

#event-info-left-column, #event-info-right-column {
	padding: 20px;
}

#event-info-left-column {
	width: 40%;
}

#event-info-right-column {
	width: 60%;
}

#tribe-events-pg-template {
	max-width: 100%;
	padding: 0;
}

.tribe-events-meta-group-details,
.tribe-events-meta-group-organizer,
#tribe-events-footer,
.tribe-events-sub-nav,
.tribe-events-calendar-list-nav,
.tribe-events-back,
.tribe-events-header,
.event_id_span, .event_date_span,
.tribe-events-cost,
.product_meta,
.sb-item-author-date {
	display: none !important;
}

.tribe-events-meta-group {
	padding: 15px;
	background-color: white;
	border-radius: 10px;
	width: 45%;
	margin: 20px 0 20px 0;
}

.tribe-events-meta-group-venue {
	clear: both;
	float: left;
	margin-right: 10px;
}

.tribe-events-meta-group-other {
	float: right;
	margin-left: 10px;
}

.tribe-venue-url {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.tribe-events-event-meta {
	order: 1 !important;
	width: 100% !important;
}

.tribe-events-event-meta::before {
	border: none;
}

.tribe-tickets__tickets-wrapper {
	order: 2 !important;
}

.tribe-events-schedule {
	text-align: center !important;
	margin: 0 !important;
	display: inline;
}

.tribe-events-calendar-list__event {
	flex-direction: row !important;
}

.tribe-events-schedule h2 {
	font-size: larger;
	margin-bottom: 20px;
}

.tribe-tickets__tickets-buy {
	background-color: red !important;
	font-weight: bold !important;
}

.tribe-tickets__tickets-item-quantity button {
	display: block;
	background-color: #eeeeee !important;
	color: black !important;
	min-width: 50px;
	min-height: 50px;
}

.tribe-tickets__tickets-item-content-title, .wpseo-business-name {
	font-size: larger !important;
}

.tribe-events .tribe-events-calendar-day__event-featured-image-link,
.tribe-events .tribe-events-calendar-list__event-featured-image,
.tribe-events .tribe-events-calendar-list__event-featured-image img,
.tribe-events-event-image picture img,
.tribe-events-event-image picture source,
.tribe-events-event-image picture {
	border-radius: 10px;
}

article.tribe-events-calendar-list__event, a.tribe-events-calendar-list__event-title-link {
	font-family: 'Montserrat', Sans-serif !important;
}

.tribe-events-calendar-list__event-wrapper .cat_normal-show {
	background-color: #eeeeee;
	border-radius: 10px;
	padding: 10px !important;
}

.tribe-events-calendar-list__event-wrapper .cat_private-show {
	background-color: lightgray;
	border-radius: 10px;
	padding: 10px !important;
}

.tribe-events-calendar-list__event-wrapper .cat_private-show .tribe-events-calendar-list__event-details .tribe-events-c-small-cta a {
	background-color: darkgray !important;
}

.tribe-events-calendar-list__event-header h3,
.tribe-events-calendar-list__event-header div, 
.tribe-events-calendar-list__event-header address {
	margin: 0 !important;
}

.tribe-events-c-small-cta__link, #buy-tix-button-top, #join-waitlist-button-top {
	font-size: 18px !important;
	display: inline-block;
	background-color: red !important;
	padding: 5px 20px 5px 20px !important;
	border-radius: 10px;
	color: white !important;
	font-family: var(--e-global-typography-text-font-family ), Sans-serif !important;
}

body.error404 p.elementor-heading-title, p.price {
	color: black !important;
}

button.single_add_to_cart_button {
	background-color: red !important;
	color: white !important;
}

@media screen and (max-width: 768px) {

	.tribe-events-calendar-list__event-wrapper .tribe-events-calendar-list__event {
		margin-left: 2% !important;
		margin-right: 2% !important;
		text-align: center;
	}
	
	h1, h1.entry-title {
		font-size: 1.5rem !important;
	}
	
	.tribe-events-c-small-cta__link, .tribe-tickets__tickets-buy {
		width: 100% !important;
	}

	h3.tribe-events-calendar-list__event-title {
		font-size: 20px !important;
		line-height: 1.2em !important;
	}

	.tribe-events-meta-group-venue, .tribe-events-meta-group-other {
		clear: both;
		float: none;
		width: 100%;
		margin: 0 0 20px 0 !important;
		flex: none;
	}

	.tribe-events-meta-group-venue {
		order: 1 !important;
	}

	.tribe-events-meta-group-other {
		order: 2 !important;
	}

	#tribe-tickets__tickets-form .tribe-tickets__tickets-item, #tribe-tickets__tickets-form .tribe-tickets__tickets-footer {
		display: block !important;
	}

	#tribe-tickets__tickets-form .tribe-tickets__tickets-item div {
		text-align: center !important;
		justify-content: center !important;
	}

	.woocommerce-terms-and-conditions {
		width: 100%;
		padding: 10px;
	}

	.tribe-events-calendar-list__event-featured-image-wrapper {
		order: 1 !important;
		display: none !important;
	}

	.tribe-events-calendar-list__event-details {
		order: 2 !important;
	}

	#event-info-left-column, #event-info-right-column {
		width: 100%;
		padding: 10px;
	}
	
	.tribe-tickets__tickets-footer-total, .tribe-tickets__tickets-item-extra--price-suffix {
		margin-bottom: 15px;
	}

}

@media screen and (min-width: 769px) {

	#tribe-tickets__tickets-form {
		max-width: 100%;
	}
	.tribe-tickets__tickets-buy {
		width: 25% !important;
	}

	.tribe-events .tribe-events-calendar-day__event-featured-image-link,
	.tribe-events .tribe-events-calendar-list__event-featured-image {
		max-width: 150px;
		float: right;
	}

	.entry .entry-content .event-tickets .tribe-tickets__tickets-item, .event-tickets .tribe-tickets__tickets-item {
		grid-template-columns: 5.5fr 3fr !important;
	}

	.tribe-events-calendar-list__event-venue,
	.tribe-events-calendar-list__event-datetime-wrapper, 
	.tribe-events-c-small-cta__stock {
		display: inline-block;
		font-family: var(--e-global-typography-text-font-family ), Sans-serif !important;
	}

	.tribe-events-calendar-list__event-datetime-wrapper::after {
		content: " • ";
	}

	.tribe-events-calendar-list__event-featured-image-wrapper {
		width: 20% !important;
	}

	.tribe-events-calendar-list__event-details {
		width: 80% !important;
	}

	.tribe-events-single-event-title {
		min-height: 75px;
		line-height: 75px;
	}

	.tribe-events-single-event-description {
		width: 55% !important;
	}
	
	.tribe-events-calendar-list__month-separator-text {
		font-family: 'Montserrat', Arial, sans-serif !important;
	}
		
}


/*
end tribe events calendar
*/






/*
begin woocommerce
*/

#billing_company_field,
#suspect_package_field,
#event_id_number_field,
#event_date_field,
#event_date_reminder_field,
#event_date_thanks_field,
#event_reminder_time,
#event_thanks_time,
#show_script_field {
	display: none !important;
}

.checkout-countdown-wrapper {
	background-color: black;
	padding: 10px;
	color: white;
	font-weight: bold;
	font-size: large;
	text-align: center;
}

.checkout-button, #place_order {
	background-color: red !important;
	text-transform: capitalize !important;
	border-radius: 10px !important;
	color: white !important;
}

li.product {
	background-color: whitesmoke !important;
	border-radius: 10px !important;
}

li.product a.button {
	background-color: white !important;
}

h1.product_title {
	color: black !important;
}

.woocommerce-error, .woocommerce-info, .tribe-checkout-backlinks, #entree_total_count_field {
	border-top: 0px;
	padding: 0px;
	margin-bottom: 15px;
}

.woocommerce-info, .tribe-checkout-backlinks, #entree_total_count_field {
	background-color: aliceblue;
	padding: 10px;
	border: 1px solid blue;
	text-align: center !important;
}

.woocommerce-error::before, .woocommerce-info::before {
	content: none !important;
}

.woocommerce-form-coupon-toggle div {
	text-align: center;
}

.woocommerce-terms-and-conditions {
	display: inline-block !important;
	max-height: 400px !important;
	padding: 10px !important;
}

#terms-conditions-short {
	font-size: 12px;
}

.woocommerce-billing-fields,
#order_review_heading {
	text-transform: capitalize;
}

#customer_details .col-1 {
	width: 100%;
}

#wc-authorize-net-cim-credit-card-account-number {
	background-image: none !important;
}

@media only screen and (min-width: 769px) {
	#billing_address_1_field, #shipping_address_1_field {
		width: 55%;
		float: left;
		clear: none;
	}
	#billing_address_2_field, #shipping_address_2_field {
		width: 40%;
		float: right;
		clear: none;
		margin-top: 32px;
	}
	#billing_city_field, #shipping_city_field {
		width: 45%;
		float: left;
		clear: none;
		margin-right: 5%;
	}
	#billing_state_field, #shipping_state_field {
		width: 20%;
		float: left;
		clear: none;
	}
	#billing_postcode_field, #shipping_postcode_field {
		width: 25%;
		float: right;
		clear: none;
	}
	#billing_phone_field {
		width: 47%;
		float: left;
		clear: none;
	}
	#billing_email_field {
		width: 47%;
		float: right;
		clear: none;
	}
	#entree_1_count_field,
	#entree_2_count_field,
	#entree_3_count_field,
	#entree_4_count_field {
		width: 23%;
		margin-right: 2%;
		clear: none;
	}
	#entree_2_count_field,
	#entree_3_count_field,
	#entree_4_count_field {
		float: left;
	}
	#dietary_checkbox_field {
		clear: both;
	}
}

@media only screen and (max-width: 768px) {
	#billing_first_name_field,
	#billing_last_name_field {
		width: 100%;
	}
	.gform_button,
	#entree_1_count_field,
	#entree_2_count_field,
	#entree_3_count_field,
	#entree_4_count_field,
	#coupon_code,
	div.coupon .button,
	input.donate_btn {
		width: 100% !important;
	}
	div.donation {
		text-align: center;
	}
	#coupon_code {
		margin-bottom: 10px;
	}
	a.wecb_emptycart {
		text-align: center;
	}
	.gform_previous_button,
	.gform_next_button {
		width: 75% !important;
	}
	form.woocommerce-checkout {
		margin: 0 15px 0 15px;
	}
}


/*
end woocommerce
*/