/*
Theme Name: Open Studios
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: Eye Division
Author URI: https://eyedivision.com
Template: twentytwentyfive
Description: Open Studios theme is designed for use by Eye Division's Open Studios sites. It's a child theme of the default WordPress Twenty Twenty-Five block theme.
Requires at least: 6.4
Tested up to: 7.2
Requires PHP: 7.0
Version: 1.0.9.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: openstudios
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

@media screen and (max-width: 800px) {
    .cover-full-mobile > div {
        max-width: 80% !important;
    }
}
@media screen and (max-width: 600px) {
    .cover-full-mobile > div {
        max-width: 100% !important;
    }
}

/* Main navigation */


/* logo */
.logo-icon img {
	max-width: 129px;
}

.no-link a {
	text-decoration: none;
}
.no-link a:hover {
	color: #1f1f1f;
}

/* hamburger menu icons */
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
	width: 48px;
	height: 48px;
}
.wp-block-navigation__responsive-container-open svg {
	color: var(--wp--preset--color--contrast) !important;
}
/* Shrink the modal menu */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
	align-items: flex-end;
	text-align: right;
}
@media screen and (min-width: 640px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		max-width: 40%;
		margin-left: 60%;
	}
}
.main-menu {
	font-size: 1.2rem;
}

.main-menu .is-menu-open .wp-block-navigation-item a {
	padding: 1rem;
	text-decoration: underline;
}


/* Menu open on mobile */
.main-menu .is-menu-open {
	background-color: var(--wp--preset--color--contrast) !important;
	color: #fff !important;
}
.main-menu .is-menu-open .wp-block-navigation__submenu-container a {
	padding: 5px 0 !important;
}

/* remove padding on drop down navigation */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
	padding-right: 0;
}

.bg-tint {
	box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.5);
}



/* home page grid 2025 */

@media screen and (max-width: 640px) {
	.home-grid .is-layout-grid {
		display: block;
	}
	.home-grid .wp-block-media-text__content {
		padding: 0 !important;
	}
	.home-grid .wp-block-media-text__content p {
		font-size: 1.2rem;
	}
}

.wp-block-button.is-style-primary-button a:hover,
.wp-block-button__link:hover {
	background-color: rgb(2, 80, 121);
	color: #fff;
}

.wp-block-button__link:focus {
  background: white;
  color: black;
}

.private {
	background-color: #f8ecec;
	padding: 20px;
}
.red {
	color: red;
}

.wp-block-button .has-custom-green-tint-background-color,
.wp-block-button .has-custom-dbe-7-dc-background-color {
	transition: background-color 0.3s ease;
}

.wp-block-button .has-custom-green-tint-background-color:hover,
.wp-block-button .has-custom-dbe-7-dc-background-color:hover {
  background: #005504 !important;
  color: white !important;
}

/* Other Formidable CSS */

/* collapsible sections */
.h2 h3 {
  color: var(--wp--preset--color--contrast-2) !important;
  font-family: var(--wp--preset--font-family--skiacc) !important;
  font-style: normal;
  font-weight: 700 !important;
  line-height: 1.5;
  font-size: 1.9rem !important;
}
.button svg.frmsvg {
  height: 48px;
  width: 48px;
  color: white;
}
.h2.button .frm_pos_top.frm_section_spacing.frm_trigger {
  border: 1px solid black;
  background: var(--wp--preset--color--contrast);
  color: white !important;
  padding: 1rem;
  font-size: xx-large;
  border: none;
}

.hide-button {
	display: none;
}
.frm_color_block {
	background-color: rgba(144, 144, 144, 0.24);
}
.frm_pro_form .frm_dropzone .dz-preview .dz-progress .dz-upload,
.frm_pro_form .frm_dropzone .dz-preview.dz-complete .dz-progress {
    background: #00cc0d !important;
}
.frm-alt-table th, .frm-alt-table td {
	word-break: break-all;
}

.frm-alt-table tr:nth-child(even) {
    background-color: #f0f0f0 !important;
}

.frm-alt-table.tight-table td {
	padding: 10px;
}
.frm-alt-table.tight-table p {
	margin-top: 0;
}
.tight-table th {
  padding: 10px !important;
  background-color: #f0f0f0 !important;
}
.frm-geolocation-map {
   height: 500px !important;
   width: 500px !important;
}
#frmgeo-map-4737,
#frmgeo-map-16238 {
  height: 500px !important;
}
.frm_color_block {
	background-color: rgba(144, 144, 144, 0.24);
}


.display,
.cta-grid p a {
	font-family: var(--wp--preset--font-family--skiacc);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	text-align: center;
}
@media screen and (max-width: 639px) {
	.cta-grid {
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 766px) {
	.cta-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Formidable preview image in Entry, Membership, Profile. Workshop, Event */
.frm_pro_form .frm_dropzone .dz-preview .dz-image img {
    max-width: 100%;
    max-height: 100%;
}

.artweeks-gallery-grid img {
	max-width: 100%;
}
.artweeks-gallery-grid h3 {
	font-size: inherit;
}
.artweeks-gallery-grid h3 a {
	text-decoration: none;
	color: #333;
	font-size: larger;
}

.artweeks-gallery-grid .media {
	font-style: italic;
}
@media screen and (max-width: 639px) {
	#os-gallery {
		text-align: center;
	}
}

.gallery-page .social {
	padding: 10px;
}
.gallery-page .facebook {
	color: rgb(59, 89, 152);
}
.gallery-page .twitter {
	color: rgb(15, 20, 25);
}
.gallery-page .etsy {
	color: #F56400;
}
.gallery-page .instagram {
	color: rgb(188, 42, 141);
}

.image-gallery img {
	max-width: 200px;
	height: auto;
	margin: 0.5%;
  	padding: 0.7%;
	vertical-align: top;
}

.gallery-page .artist-at-work {
	margin: 10px;
	max-width: 100%;
}
@media screen and (min-width: 640px) {
	.gallery-page .artist-at-work {
		max-width: 60%;
	}
}

@media screen and (min-width: 768px) {
	.gallery-page .artist-at-work {
		max-width: 40%;
	}
}


.frm_form_field.padding-top-1 {
	padding-top: 1.3rem;
}

/* Drag & Drop CSS */

.ListContainer h3 {
	//font-size: 20px !important;
	line-height: 28px !important;
}

.divider-block {
	display: block;
	width: 100%;
	border-top: 2px dashed #eaeaea;
	margin-top: 50px;
	padding-top: 20px;
}

.ListContainer {
	overflow: hidden;
}

.ListContainer>div {
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
}

.frm_repeat_sec,
.frm_repeat_inline {
	background-color: #fff;
	border: 1px solid #eaeaea !important;
	padding: 20px !important;
	margin: -1px 0 auto !important;
}

.frm_repeat_grid {
	background-color: #fff;
	border: 1px solid #eaeaea !important;
	padding: 20px 20px 0 20px !important;
	margin: -1px 0 auto !important;
}

#sortable {
	margin: 0 !important;
}

.ui-sortable>div {
	cursor: move;
	cursor: grab;
	cursor: -moz-grab;
	cursor: -webkit-grab;
}

.ui-sortable>div:before {
	content: "\f047";
	display: block;
	position: absolute;
	top: 5px;
	right: 10px;
	font-size: 22px;
	color: #999;
	font-family: FontAwesome;
}

.ListContainer .form-field {
	animation-name: none !important;
}

.ui-sortable-helper {
	box-shadow: 0 10px 50px rgba(0, 0, 0, 0.08), 0 13px 45px rgba(0, 0, 0, 0.08);
}

.frm_repeat_sec:first-of-type,
.frm_repeat_inline:first-of-type,
.frm_repeat_grid:first-of-type {
	border-top-right-radius: 4px;
	border-top-left-radius: 4px;
}

.frm_repeat_sec:last-child,
.frm_repeat_inline:last-child,
.frm_repeat_grid:last-child {
	border-bottom-right-radius: 4px;
	border-bottom-left-radius: 4px;
}

.ListContainer>div {
	padding-top: 1px;
}

/* Workshops */
.workshops {
	display: block;
  }


.workshop {
	display: grid;
    gap: 20px;
    margin-bottom: 20px;
	border: 1px solid #ddd;
    padding: 10px;
    transition: box-shadow 1s;
}
.workshop:hover {
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.workshop p {
    margin: 0;
}

.workshop__details {
    padding: 10px;
    text-align: center;
}
.workshop__title-with-link {
	color: black;
	font-size: larger;
    text-decoration: none;
    outline: none;
}
.workshop__title-with-link:hover {

}
.workshop__featured-image-with-link {
    display: block;
    position: relative;
    width: 100%;
    padding-top: 62.5%;
    outline: none;
}
.workshop__featured-image-with-link-image {
    border: 1px solid #f4f4f4;
    border-radius: 0;
    bottom: 0;
    max-height: 100%;
    width: 100%;
    max-width: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    right: 0;
    top: 0;
	margin-top: 1rem;
}


@media screen and (min-width: 768px) {
    .workshop {
        grid-template-columns: 1fr 3fr;
		grid-template-areas: "image main";
    }
	.workshop__featured-image-with-link {
		grid-area: image;
	}
	.workshops-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
    .workshop__details {
        text-align: left;
		grid-area: main;
    }

}

:where(.wp-site-blocks *:focus){
	outline-width: 2px;
	outline-style: solid;
}

.logged-out.wp-block-loginout {
	padding-right: 1em;
}
/* WooCommerce CSS */
/* Remove product image column from the Cart Block AND the checkout block. */
/* TO DO
/* - get a proper filter to work with the Cart Block, rather than just hiding the image with CSS */
/* - restrict to Membership and Entry products, show image for other products */
.wp-block-woocommerce-cart .wc-block-cart-items__header-image,
.wp-block-woocommerce-cart .wc-block-cart-item__image,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image {
	display: none;
}

/* remove order again */
.woocommerce-order-received .order-again {
	display: none;
}
/* hide variations on product page */
.woocommerce div.product form.cart .variations {
	display: none;
}

/* hide variation prices on product page */
.wp-block-woocommerce-product-price {
	display: none;
}

/* BUT DO show variation description and price on Promotional products
body class .product_cat-promotional-items */
.product_cat-promotional-items div.product form.cart .variations {
	display: block;
}
/* and show price on promotional products */
.product_cat-promotional-items .wp-block-woocommerce-product-price,
.promotional-item .wp-block-woocommerce-product-price {
	display: block;
}
/* hide additional information tab */

.woocommerce-variation-description {
	font-size: large;
}

.woocommerce-variation-price .price {
	font-size: x-large;
    font-weight: bold;
}

.wp-block-file:not(.wp-element-button) {
    font-size: inherit;
}

/* hide Woocommerce pay later messages */
#ppcp-cart-paylater-messages,
#ppcp-checkout-paylater-messages {
	display: none !important;
}
.single-product .ppcp-messages {
	display: none !important;
}
/* hide add-ons total on product page for membership and entry */
.single-product #formidable-addons-total {
	display: none;
}

/* line breaks in product details in basket and checkout */
/* in the cart we have
 - wc-block-components-product-details__email-address
 -- wc-block-components-product-details__name
 -- wc-block-components-product-details__value
 -- <span aria-hidden="true"> / </span>
*/
.wc-block-components-product-details > span {
    display: block;
}

/* Dates table */
/* old table */
table.dates {
	min-width: 300px;
}
table.dates th, table.dates td {
	padding: 10px !important;
	text-align: center;
}
table.dates th {
	background-color: #dad8d8;
}
table.dates th.weekend {
	background-color: rgb(95, 95, 95);
	color: white;
}
table.dates td.open {
	background-color: #f71f6b;

	color: #fff;
}
.openstudios-listing-dates__summary {
	margin: 0 0 1rem;
	padding: 0.45rem 0.75rem;
	background: #edf7ea;
	border-left: 4px solid #45ac34;
	border-radius: 4px;
	color: #1d2b1d;
}

.openstudios-listing-dates__summary strong {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 700;
}

.openstudios-listing-dates__summary-list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 2rem 0;
	padding: 0;
}

.openstudios-listing-dates__summary-list li,
.tag {
	display: inline-block;
	padding: 0.3rem 0.6rem;
	background: #ffffff;
	border: 1px solid #cfe6ca;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.3;
}

@media only screen and (max-width: 640px) {
	.openstudios-listing-dates__summary {
		padding: 0.4rem 0.6rem;
	}

	.openstudios-listing-dates__summary-list li {
		font-size: 0.85rem;
	}
}

/* revised span and div for open-studios plugin listing-opening-dates.php output */
.dates-table {
	display: grid;
	grid-template-columns: repeat(7,50px);
	grid-auto-rows: 50px;
	grid-row-gap: 5px;
	grid-column-gap: 10px;
	margin: 2rem 0;
	max-width: 600px;
}
@media only screen and (max-width: 640px) {
	.dates-table {
		display: grid;
		grid-template-columns: repeat(7,40px);
		grid-column-gap: 5px;
	}
}
.dates-table span {
	text-align: center;
	border-radius: 5px;
	padding: 0.7em 0;
}
.dates-table .header {
	font-weight: 700;
	background-color: #dad8d8;

}
.dates-table .weekend {
	background-color: rgb(95, 95, 95);
	color: #fff;
}
.dates-table .closed {
	color: #6f6f6f;
}
.dates-table .open {
	background-color: #f71f6b;
	color: #fff;
}

.days {
	color: lightgray;
}

.sites-nearby img,
.entry-listing-image img {
	max-width: 100%;
	height: auto;
}

.sites-nearby .fwpl-result {
	margin-top: 1rem;
}
.sites-nearby .fwpl-result .title {
	font-size: larger;
}
.sites-nearby .title a {
	text-decoration: none;
}

.icon svg {
  width: 80px;
}

/**FaceWP CSS**/

/* hide Facet elements */
body.single-entry-2025 .facetwp-map-filtering,
body.single-entry-2025 .facetwp-type-proximity,
body.single-listing-2026 .facetwp-map-filtering,
body.single-listing-2026 .facetwp-type-proximity {
	display: none;
}

body.single-entry-2025 h4,
body.single-listing-2026 h4 {
	margin-bottom: 0;
}
body.single-entry-2025 img.entry-image,
body.single-listing-2026 img.entry-image,
img.entry-image {
	max-width: 100%;
	height: auto;
}
@media screen and (min-width: 639px) {
	body.single-entry-2025 img.entry-image,
	body.single-listing-2026 img.entry-image,
	img.entry-image {
		max-width: 500px;
	}
}


.single-entry-2025 .venue-profiles,
.single-listing-2026 .venue-profiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.single-entry-2025 .venue-profiles img,
.single-listing-2026 .venue-profiles img {
	max-width: 100%;
	height: auto;
}
.entry-artform {
	font-size: smaller;
	font-style: italic;
}

.site-number {
	display: inline-block;
  	text-align: center;
  	margin: 0 auto;
  	background-color: #f71f6b;
  	padding: 0.2em 0.5em;
	color: white;
}
.sites-nearby .site-number {
	min-width: 2rem;
}
.entry-title a {
	text-decoration: none;
	color: #333;
	font-size: larger;
	font-weight: 600;
}
.distance {
	font-size: smaller;
}
@media only screen and (min-width: 640px) {
	.gallery-page,
	.flex-page {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 20px;
	}
	.main-page {
		grid-row: 1 / span 2;
	}
	.sidebar,
	.sidebar-workshops {
		min-width: 25%;
		max-width: 250px;
	}
	.sidebar-workshops {
		grid-row: 2/2;
	}
}
.sidebar img {
	max-width: 100%;
	height: auto;
}

/* Media Text Block */
.team-group .wp-block-media-text img {
  padding-top: 25px;
}

/* Facet styling */
.facetwp-map-filtering {
	display: none;
}

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

	.facet-filters {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 10px;
	}
	.facet-filters > * {
		max-width: 200px !important;
	}
}
@media only screen and (min-width: 641px) and (max-width: 1061px) {
	.facet-filters {
		grid-template-columns: 1fr 1fr;
	}
}
.facet-filters input,
.facet-filters select,
.facet-filters textarea {
	background-color: #fff;
	border: 1px solid #eeeee8;
	box-shadow: 0 0 5px #f8f8f8 inset;
	font-size: inherit;
	padding: 16px;
}
.facet-filters select {
	/* for Mac and iOS */
	-webkit-appearance: none;
	line-height: 22px;
	-webkit-border-radius: 0;
    border-radius: 0;
}
@media only screen and (min-width: 600px) {
	.facet-filters input[type="email"],
	.facet-filters input[type="text"]  {
		min-width: 300px;
	}
}
.facet-filters input[type="checkbox"],
.facet-filters input[type="image"],
.facet-filters input[type="radio"] {
	width: auto;
}
.facet-filters input[type="radio"] {
	float: left;
	margin-right: 1em;
}
.facet-filters input:focus,
.facet-filters textarea:focus {
	border: 1px solid #999;
	outline: none;
}

.facet-filters button,
.facet-filters input[type="button"],
.facet-filters input[type="reset"],
.facet-filters input[type="submit"] {
	background-color: rgba(35,26,81,1);
	box-shadow: none;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 16px 24px;
	width: auto;
}

.facet-filters .fs-label-wrap .fs-label {
	padding: 20px;
}
.facet-filters button:hover {
	background-color: rgba(35,26,81,0.8);
}

/* fSelect styling https://facetwp.com/help-center/facets/facet-types/fselect/ */
.fs-wrap {
	width: auto !important;
	max-width: 100%; /* Optional: set a max-width to 100% of its container. */
}

.fs-dropdown {
	position: relative !important;
}

.fs-dropdown .fs-options {
	scrollbar-gutter: stable; /* Prevent the vertical scrollbar overlapping the widest item */
}

/* To get the Any label take the auto width, the hidden dropdown should not have display: none;  */
.fs-dropdown.fs-hidden {
	display: block;
	opacity: 0;
	height: 0;
	overflow: hidden;
}

/* hide studio space Facet template */
.findavenue-template {
	display: none !important;
}

/* End FaceWP CSS */

/* Favorites list styling */
#ccc-my_favorite-list[data-ccc_my_favorites-list-style="my-favorite-style"] {
  /* Your custom CSS rules go here */

}
.list-ccc_favorite {
	display: grid;
	grid-template-areas:
		"number title region dates toggle";
	grid-template-columns: 10% 30% 30% 20% 10%;
	grid-template-rows: auto;
	align-items: center;
  	gap: 10px;
  	padding: 10px;
  	border-bottom: 1px solid #eee;
}
.list-ccc_favorite .number {
	grid-area: number;
}
.list-ccc_favorite .title {
	grid-area: title;
}
.list-ccc_favorite .region {
	grid-area: region;
}
.list-ccc_favorite .dates {
	grid-area: dates;
}
.list-ccc_favorite .ccc-favorite-post-toggle {
	grid-area: toggle;
}


/* Example: Change the background color of the favorite post toggle button */
.ccc-favorite-post-toggle > a {
	color: red;
}
.ccc-favorite-post-toggle > a.save::before {
	font-size: x-large;
}
.ccc-favorite-post-toggle[data-ccc_my_favorites-select_button-style="1"] {
	float: right;
}

@media only screen and (max-width: 640px) {
	.list-ccc_favorite {
		display: grid;
		grid-template-areas:
		"number title region dates toggle";
		grid-template-columns: 10% 30% 30% 20% 10%;
		grid-template-rows: auto;
	}

}