/**
 * This CSS is just to get you started.
 * Feel free to modify any of it for your own app.
 */

@import "fonts/Yoga.css";
@import "lucide/lucide.css";

:root {
	--html-bg-color: #FAFAF5;
	--content-bg-color: #FFFFFF;

	--column-bg-color: #FFF8EC;
	--column-title-bg-color: #FFFFFF;
	--column-title-color: #5B8C5A;

	--dashboard-main-bg-color: #F2A922;
	--dashboard-main-bg-color-to: #D9921E;
	--dashboard-main-font-color: #FFFFFF;
	--dashboard-main-color: rgba(255, 255, 255, 0.85);
	--dashboard-current-bg-color: #FFFFFF;
	--dashboard-current-font-color: #5B8C5A;
	--dashboard-contextual-border: #C4A265;
	--dashboard-contextual-selected-bg: #FFF3D6;
	--dashboard-contextual-selected-text: #5B8C5A;

	--dashboard-mobile-bg-color: #F2A922;
	--dashboard-mobile-bg-color-to: #D9921E;
	--dashboard-mobile-color: rgba(255, 255, 255, 0.85);
	--dashboard-mobile-current-color: #FFFFFF;
	--dashboard-current-icon-bg: none;
	--dashboard-mobile-current-icon-bg: none;

	--button-bg-color: #F2A922;
	--button-bg-color-secondary: #fff;
	--button-bg-color-to: #D9921E;
	--button-bg-color-active: #D9921E;
	--button-border-color: #F2A922;
	--button-shadow-color: #F2A922;
	--button-text-color: white;
	--button-text-color-secondary: #030303;

	--dialog-title-bg-color: #F2A922;
	--dialog-title-text-color: #3D2800;

	--chat-bg-color: #F2A922;
	--chat-text-color: #3D2800;

	--h1-font-color: #5B8C5A;

	--Q-aspect-where-text-color: #000;
	--Q-aspect-where-border-color: #000;

	--Q-aspect-what-text-color: #000;
	--Q-aspect-what-border-color: #000;

	--Q-aspect-people-text-color: #000;
	--Q-aspect-people-border-color: #000;

	--Q-aspect-when-text-color: #000;
	--Q-aspect-when-border-color: #000;

	--Q-aspect-deals-text-color: #000;
	--Q-aspect-deals-border-color: #000;

	--interests-bg-main: #5B8C5A;
	--interests-text-color: #fff;
	--interests-text-secondary-color: #000;
	--interests-text-selected-color: #000;
	--interests-bg-selected: #FFF3D6;

	--expandable-bg-expanded: #5B8C5A;
}

#dashboard, #notices, #content { margin: auto; text-align: left; }

.Q_mobile #notices_slot { width: 100%; position: fixed; left: 0; }
.Q_mobile .Q_overlay { width: 90%; }

/**
 * This CSS is just to get you started.
 * Feel free to modify any of it for your own app.
 */
* { font-family: 'Fredoka', sans-serif; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; }
a { text-decoration: none; color: #2E7D32; }
a:visited { color: #6D8B74; }
body { height: 100%; overflow: auto; touch-action: none; }
h1 { margin: 0; font-size: 32px; text-align: center; font-family: 'Fredoka', sans-serif; }
h2, .Communities_tab { margin: 0; font-family: 'Fredoka', sans-serif; font-weight: 700; }
/* Ensure inactive me-column tabs are readable. Communities.css sets them to
   var(--html-color) (#fff) via `.Communities_tabs[data-style="icons"] .Communities_tab`,
   which we match in specificity here so the labels show on the cream background. */
.Communities_me_column .Communities_tabs[data-style="icons"] .Communities_tab,
.Communities_me_column .Communities_tabs[data-style="icons"] .Communities_tab::before {
	color: #333;
}
*, *:before, *:after { box-sizing: inherit; }

#dashboard .Q_tabs_tab.Q_current,
#dashboard .Q_tabs_tab.Q_current * {
	font-weight: 500;
}
.Q_button {
	font-weight: 500;
}
.Calendars_event_preview_foreground,
.Calendars_event_preview_tool .Calendars_event_title {
	font-weight: 500;
}

/* The various slot containers */
#notices_slot {
	text-align: center;
}
#content_slot {
	position: relative;
	padding: 10px;
	overflow-x: auto;
	background: #fff;
	box-shadow: #aaa 0 0 4px;
	-webkit-box-shadow: #aaa 0 0 4px;
	-moz-box-shadow: #aaa 0 0 4px;
}
.Q_notMobile.Q_layout_sidebar #dashboard_slot {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
#dashboard_slot h1 {
	line-height: 30px;
	margin-top: 10px;
}
#dashboard_slot input,
#dashboard_slot textarea { color: black; }
#page {
	position: absolute; left: 0%; width: 100%; top:50px; bottom: 0;
}
/*
 * Communities replaced JS-driven adjustHeight with CSS Flexbox in
 * Apr 2026 (Communities ddf3149). #content_slot uses `flex: 1` to fill
 * available height — which only works if #page is a flex container.
 *
 * Communities/dashboard.css has higher-specificity #page rules
 * (.Q_notMobile.Q_layout_widebar #page) that don't set display, so
 * the plain `#page { display: flex }` would lose. We match the same
 * specificity selectors here so Yoga.css (which loads last) wins.
 */
.Q_notMobile.Q_layout_widebar #page,
.Q_notMobile.Q_layout_sidebar #page,
.Q_mobile #page {
	display: flex;
	flex-direction: column;
}
.Q_mobile #page { overflow: auto; -webkit-overflow-scrolling: touch; z-index: 0; }
#dashboard_slot .Q_inplace_tool .Q_hover .Q_inplace_tool_static,
#dashboard_slot .Q_inplace_tool .Q_hover .Q_inplace_tool_blockstatic {
	background: white;
	color: #333;
}

#content { position: relative; }

/* Notices contents */
#notices_slot { text-align: center; margin: auto; padding: 0; z-index: 5000; }
#notices { margin: auto; }
#notices_slot div.container { overflow: hidden; overflow-y: auto; }
#notices_slot ul { list-style-type: none; padding: 0; margin: auto; width: 700px; max-width: 100%; border: solid 1px #555; border-top: solid 1px #aaa; box-shadow: 0 0 5px #222; -moz-box-shadow: 0 0 5px #222; -webkit-box-shadow: 0 0 5px #222; cursor: pointer; }
#notices_slot li { list-style-type: none; padding: 0; margin: 0; text-align: center; background: #ffd4aa; border: 0; border-bottom: solid 1px #aaa; line-height: 30px; min-height: 30px; }
#notices_slot ul.Q_errors * { background-color: #ebb; color: #500; }
#notices_slot ul.Q_errors li { text-align: left; padding: 0 10px 0 10px; }
#notices_slot .Q_field_name { float: right; font-size: 12px; padding-right: 10px; font-family: 'Fredoka', sans-serif; }
#notices_slot button
{
	display: inline-block;
	vertical-align: top;
	margin-left: 5px;
	padding: 2px 10px;
	color: #69552e;
	background: #F1E2C6;
	box-shadow: 1px 1px 1px 0 #CCC;
	border: none;
}
.Q_notTouchscreen #notices_slot button:active {
	background: #f0d298;
	margin-left: 6px;
	box-shadow: none;
}
#notices_slot ul li .Q_field_name {
	font-size: 12px;
	line-height: 26px;
	font-family: 'Fredoka', sans-serif;
}

body .Q_tabs_contextual .Q_listing li { text-align: left; }
html .Q_listing img { height: 30px; }

/* inputs */

input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=number],
input.text,
input.email,
input.tel,
input.password,
input.number,
textarea { border: 1px solid #ccc; border-bottom: 1px solid #aaa; background-color: #fefefe; cursor: text; font-family: "Trebuchet MS"; }
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=number]:focus,
input.text:focus,
input.email:focus,
input.tell:focus,
input.password:focus,
input.number:focus,
textarea:focus { background: white; box-shadow: 0 1px 10px rgba(0,0,0,.15); -webkit-box-shadow: 0 1px 4px rgba(0,0,100,.15); -moz-box-shadow: 0 1px 4px rgba(0,0,100,.15); }
input.placeholder,
textarea.placeholder { color: #aaa; font-style: italic; }
select:focus { outline: dotted 1px #779; }
/* select { margin-top: 0.75em; } */
input[type=text],
input[type=password],
input[type=tel],
input[type=password],
input[type=number],
input.text,
input.email,
input.tel,
input.password,
input.number,
textarea { border-radius: 3px; -moz-border-radius:3px; -webkit-border-radius:3px; padding: 0 4px 0 4px; }
input[type=checkbox],
input[type=radio] { margin-right: 5px; }
html .Q_inplace_tool_fieldinput { padding: 0; }

.Q_overlay {
	border: none;
	background: #fff;
	box-shadow: 0 2px 5px rgba(0,0,0,.2), 0 5px 40px -5px rgba(0,0,0,.5);
}

/* The following lines are for cordova on iOS */


/* The following lines are for a flatter look */
html .Q_listing li { font-size: 18px; padding: 0 10px; line-height: 40px; text-align: left; border-top: solid 1px white; border-bottom: solid 1px #CCC; background: #FAFAF5; -webkit-touch-callout: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; white-space: nowrap; overflow: hidden;
}

html.Yoga_notFound #content,
html.Yoga_errors #content { padding: 30px; text-align: center; overflow: hidden; text-overflow: ellipsis; }
html.Yoga_notFound .url,
html.Yoga_errors .url { font-weight: bold; text-decoration: underline; }

span.c3 { font-weight: bold; }

#Q_columns-Communities_tool .Q_column_event .Q_title_slot,
.Calendars_event_tool .Calendars_event_title,
.Calendars_event_tool .Calendars_event_title *,
.Calendars_event_tool .Calendars_event_description,
.Calendars_event_tool .Calendars_event_description * {
	font-family: inherit;
}

.Q_button,
.Q_big_prompt .Q_button,
.Q_notTouchscreen .Q_big_prompt .Q_button,
.Q_notTouchscreen .Q_big_prompt .Q_button:active {
	font-weight: 500;
	background: var(--button-bg-color);
	color: var(--button-text-color);
}
.Q_big_prompt .Q_button,
.Q_notTouchscreen .Q_big_prompt .Q_button,
.Q_notTouchscreen .Q_big_prompt .Q_button:active {
	line-height: 40px;
	padding: 0 10px;
}

.Q_button.Q_aspect_when,
.Q_button.Q_aspect_when:before {
	background: #88C906;
	background-image: linear-gradient(to right, #A9BD08, #88C906);
	border: 1px solid #A9BD08;
	border-radius: 5px;
	box-shadow: 0 7px 20px -5px #A9BD08;
}

.Q_button.Streams_aspect_chats,
.Q_button.Streams_aspect_chats:before {
	background: #009dbc;
	background-image: linear-gradient(to right, #00b3c2, #009dbc);
	border: 1px solid #00adbc;
	border-radius: 5px;
	box-shadow: 0 7px 20px -5px #00b3c2;
}

.Q_button.Q_aspect_info,
.Q_button.Q_aspect_where,
.Q_button.Q_aspect_info:before,
.Q_button.Q_aspect_where:before {
	background: #868d93;
	background-image: linear-gradient(to right, #868d93, #808791);
	border: 1px solid #808791;
	border-radius: 5px;
	box-shadow: 0 7px 20px -5px #808791;
}

.Q_button.Streams_aspect_interests,
.Q_button.Streams_aspect_interests:before {
	background: #E07A5F;
	background-image: linear-gradient(to right, #E07A5F, #C96A4F);
	border: 1px solid #C96A4F;
	border-radius: 5px;
	box-shadow: 0 7px 20px -5px #C96A4F;
}

.Communities_buttons { margin: 15px 0; }
.Calendars_event_preview_tool { margin: 20px 0; }

.Calendars_event_preview_background {
	box-shadow: 0 7px 20px -5px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.3);
	filter: none !important;
}

.Calendars_event_foreground,
.Calendars_event_preview_foreground {
	font-size: 24px;
	text-shadow: 0 0 10px #000, 0 2px 3px #000;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.15) 50%, transparent 100%) !important;
}

.Streams_participants_tool .Streams_participants_summary {
	width: 46px;
	border-radius: 0 0 5px 5px;
	font-size: 13px;
	font-family: 'Fredoka', sans-serif;
	background: #5B8C5A;
	color: white;
	margin-top: 10px;
	text-align: center;
	overflow: hidden;
	margin-right: 10px;
	font-weight: 400;
	text-shadow: none;
}

.Streams_participants_tool .Users_avatar_icon {
	box-shadow: 0 1px 3px rgba(0,0,0,.2), 0 5px 20px -5px rgba(0,0,0,.3);
	border: 2px solid #fff;
}

/* Customize dashboard */
.Q_mobile #dashboard[data-style=icons] .Q_tabs_tabs .Q_tab_me .Users_status_tool {
	display: none;
}
.Q_mobile #dashboard[data-style=classic] .Q_tabs_tool {
	max-width: none;
}
/*----------------------*/

.Communities_me_column_tabContent .Communities_buttons .Communities_people_link,
.streamName_streams_user_height,
.streamName_streams_user_affiliation,
.streamName_streams_user_dating {
	display: none;
}

.Q_tab_me img,
.Users_avatar_tool img,
.Streams_participants_invite img {
	border-radius: 2px;
}

.Q_columns_title,
.Q_columns_column .Q_columns_title {
	border: none;
	background: #FFFFFF;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
	position: relative;
	z-index: 100;
}

.Q_columns_column.Q_column_profile .Q_columns_title {
	box-shadow: none !important;
	background: transparent;
}

.Communities .Q_columns_title .Q_title_slot {
	font-weight: bold;
	font-size: 25px;
	font-family: 'Fredoka', sans-serif;
}

.Calendars_event_preview_tool .Calendars_event_title {
	padding: 5px;
}

.Communities_me_column_tabContent {
	border-radius: 5px;
	border: 1px solid #d4d4d4;
}

/* Hide the Social expandable when its content is empty (no supported socials configured
   or XIDs not loaded). :has() is supported in all modern evergreen browsers. */
.Q_expandable_tool:has(> .Q_expandable_content > .Communities_profile[data-val=social]:empty) {
	display: none;
}

/* Make the Streams inplace-editor save button look like an actual button instead of
   a ghosted floppy-disk icon that's easy to miss. */
.Communities_me_column .Streams_inplace_tool .Q_inplace_tool_buttons .Q_inplace_tool_save {
	padding: 6px 14px;
	background: #D9921E;
	color: #fff;
	border-radius: 4px;
	font-weight: 500;
	font-size: 14px;
	border: 0;
	cursor: pointer;
}
.Communities_me_column .Streams_inplace_tool .Q_inplace_tool_buttons .Q_inplace_tool_save::before {
	filter: brightness(0) invert(1);
}

/* Relabel floating user ID in bottom-right so it reads as a deliberate element, not debug noise.
   Also move it up out of the way of the feedback chat bubble. */
.Communities_profile_userId {
	bottom: 60px;
	padding: 4px 8px;
	font-family: monospace;
	font-size: 11px;
	color: #888;
	background: rgba(255,255,255,0.8);
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	opacity: 0.6;
	transition: opacity 0.15s;
}
.Communities_profile_userId:hover {
	opacity: 1;
}
.Communities_profile_userId::before {
	content: "User ID: ";
	color: #555;
}

.Communities_tab.Q_current {
	border: 1px solid #d4d4d4;
	border-bottom: solid 1px transparent;
	border-radius: 5px 5px 0 0;
	font-weight: 500;
}
.Communities_schedule_column_tabContent {
	border-top: 1px solid #d4d4d4;
}
.Users_list_tool .Users_avatar_tool {
	margin: 0px;
	box-shadow: 0 0 0px silver;
}

.Users_list_tool .Users_avatar_icon {
	border-radius: 10px;
}

.Users_list_tool .Users_avatar_name {
	font-size: 15px;
	margin-top: 5px;
}

.Travel_aspect_trips,
.Q_button.Travel_aspect_trips,
.Travel_trips_needoffer .Q_dialog_content {
	background-size: 8px auto;
	padding: 10px 15px;
	color: white;
}

.Q_big_prompt { padding: 20px 10px; }

.Calendars_going {
	display: inline-flex;
	box-shadow: 0 10px 40px -15px rgba(0,0,0,.5), 0 1px 4px rgba(0,0,0,.2);
	border-radius: 5px;
	margin-left: 10px;
}

.Calendars_going span {
	display: inline-block;
	padding: 10px;
	cursor: pointer;
	border-left: solid 1px #e3e3e3 !important;
	color: #8f8f8f;
	background: #fff;
	min-width: 60px;
}

.Calendars_going span.Calendars_yes { padding: 10px; }

.Calendars_yes.Q_selected {
	color: #fff;
	background: #88C906;
	background-image: linear-gradient(to bottom, #A9BD08, #88C906);
	border: 1px solid #A9BD08;
	box-shadow: 0 2px 25px -2px #A9BD08, 0 0 10px 2px #fff;
	z-index: 1;
	position: relative;
}

.Calendars_yes.Q_selected {
	color: #fff;
	background: #88C906;
	background-image: linear-gradient(to bottom, #A9BD08, #88C906);
	border-color: #A9BD08;
	box-shadow: 0 2px 25px -2px #A9BD08, 0 0 10px 2px #fff;
	z-index: 1;
	position: relative;
}

.Calendars_maybe.Q_selected {
	color: #fff;
	/*background: #88C906;*/
	/*background-image: linear-gradient(to bottom, #A9BD08, #88C906);*/
	border-color: #4953d0;
	box-shadow: 0 2px 25px -2px #4953d0, 0 0 10px 2px #fff;
	z-index: 1;
	position: relative;
}

.Calendars_no.Q_selected {
	color: #fff;
	/*background: #88C906;*/
	/*background-image: linear-gradient(to bottom, #A9BD08, #88C906);*/
	border-color: #777;
	box-shadow: 0 0 10px 2px #fff;
	z-index: 1;
	position: relative;
}

.Q_contextual {
	box-shadow: 0 10px 40px -10px rgba(10,30,130, .7), 0 3px 5px rgba(0,0,0,.2);
}

.Q_contextual .Q_listing li.Q_selected *,
.Q_contextual .Q_listing li,
.Q_contextual .Q_listing li * {
	background: transparent;
	border-color: transparent;
}

.Q_contextual .Q_listing li.Q_selected {
	border-color: transparent;
	background: #D9921E;
	box-shadow: 0 0 20px -5px #F2A922;
	position: relative;
	z-index: 5;
}

.Q_contextual .Q_contextual_top_arrow {
	border-style: solid;
	border-width: 0 20px 16px 20px;
	border-color: transparent transparent var(--dashboard-contextual-border) transparent;
	background: none;
}

div#Calendars_event_composer_tool {
	padding: 20px 0;
}

.Communities_conversation_author .Users_avatar_name { margin-left: 10px; }

.Communities_conversation_content {
	border-radius: 10px;
	margin: 10px 0 20px 0;
}

.Q_columns_column.Communities_column_chat {
	overflow-y: auto !important;
	overscroll-behavior: contain;
}

.Streams_chat_bubble { font-size: 14px; }

.Streams_chat_messages .Streams_chat_from_me .Streams_chat_bubble {
	border-radius: 6px;
	background-color: var(--chat-bg-color);
	color: var(--chat-text-color);
	box-shadow: 0 5px 15px -5px var(--chat-bg-color);
	border: none;
}
.Streams_chat_from_me .Streams_chat_tick {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6.5px 0 6.5px 9px;
	border-color: transparent transparent transparent var(--chat-bg-color);
	background: none;
}

.Streams_chat_to_me .Streams_chat_bubble {
	border-radius: 6px;
	background-color: #d2d3d5;
	box-shadow: 0 5px 15px -8px #afb9c8;
	border: none;
	background-image: linear-gradient(to right, #d2d3d5, #e5e5e5);
	color: #222;
}
.Streams_chat_to_me .Streams_chat_tick {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6.5px 9px 6.5px 0;
	border-color: transparent #d2d3d5 transparent transparent;
	background: none;
}

.Streams_chat_bubble.Streams_chat_overflowed:after {
	content: '';
	position: absolute;
	bottom: 5px;
	width: 100%;
	height: 28px;
	left: 0;
	background: inherit;
	-webkit-mask-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgba(0,0,0,1)), color-stop(0.4, rgba(0,0,0,1)), color-stop(1.00, rgba(0,0,0,0)));
}

.Streams_chat_overflowed_indicator { display: none; }

.Streams_chat_tool .Streams_chat_bubble .Users_avatar_name { opacity: .8; }

.Streams_chat_timestamp {
	margin-right: 20px;
	margin-top: 5px;
	color: #777777;
	font-size: 11px;
	font-family: 'Fredoka', sans-serif;
}

.Streams_chat_vote_container img { filter: hue-rotate(40deg); }

.Q_placeholders_container {
	min-height: 40px;
	vertical-align: middle;
}
.Q_placeholders_container .Q_placeholder {
	display: flex;
	align-items: center;
	top: 0 !important;
}

.Q_buttons input,
.Q_placeholders_container input {
	padding: 5px;
	min-height: 40px;
}

.Streams_chat_more {
	cursor: pointer;
	background-color: #dfdfdf;
	color: #555;
	text-align: center;
	padding: 5px 0;
	font-size: 11pt;
	font-family: 'Fredoka', sans-serif;
	margin: 20px 0;
	/*background-image: linear-gradient(to bottom, #f3f3f3, #eaeaea);*/
	/*border: 1px solid #d7d7d7;*/
}

.Streams_preview_container.Streams_preview_view {
	display: flex;
	align-items: center;
}

.Users_avatar_tool img,
.Streams_participants_invite img,
.Streams_preview_tool .Streams_preview_icon,
.Streams_preview_tool .Streams_preview_add {
	border: 2px solid #fff;
	border-radius: 5px;
}

.Q_columns_title_container .Streams_preview_tool .Streams_preview_icon {
	border: none;
}

.Streams_preview_tool .Streams_preview_icon,
.Streams_preview_tool .Streams_preview_add {
	margin-right: 10px;
}


.Streams_dialog_interests, .Communities_filter_location {
	border: 1px solid var(--button-bg-color);
	box-shadow: 0 7px 10px -5px var(--button-bg-color);
	background: var(--interests-bg-main);
	color: var(--button-text-color);
	border-radius: 12px;
}

.Q_overlay {
	border-radius: 10px;
}

.Q_overlay .Q_close,
.Q_fullscreen_dialog .Q_close {
	background-image: none;
	background-color: #e8f0e8;
	border-radius: 50%;
	font-family: 'lucide' !important;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--column-title-color);
	text-decoration: none;
}
.Q_overlay .Q_close::before,
.Q_fullscreen_dialog .Q_close::before {
	content: "\e1b2";
}

.Q_dialog_title {
	background: var(--dialog-title-bg-color);
	border-bottom: 1px solid var(--dialog-title-bg-color);
	color: var(--dialog-title-text-color);
	border-radius: 10px 10px 0 0;
	font-size: 18px;
	font-family: 'Fredoka', sans-serif;
}

.Q_button.Q_aspect_who,
.Q_button.Users_aspect_communities,
.Q_button.Users_aspect_account {
	background: var(--button-bg-color);
	background: -webkit-gradient(linear, left top, right top, from(var(--button-bg-color-from)), to(var(--button-bg-color)));
	background: -moz-linear-gradient(left, var(--button-bg-color-from), var(--button-bg-color));
	background-image: linear-gradient(to right, var(--button-bg-color-from), var(--button-bg-color));
	box-shadow: 0 5px 20px -5px var(--button-bg-color);
	border: none;
}


.Communities_me_column_tabContent[data-val="interests"],
.Communities_me_column_tabContent[data-val="interests"] .Streams_interests_anything {
	background: var(--button-bg-color);
	background: -webkit-gradient(linear, left top, right top, from(var(--button-bg-color)), to(var(--button-bg-color-to)));
	background: -moz-linear-gradient(left, var(--button-bg-color), var(--button-bg-color-to));
	background-image: linear-gradient(to right, var(--button-bg-color), var(--button-bg-color-to));
	color: var(--button-text-color);
}

.Communities_me_column_tabContent[data-val="credits"] {
	text-align: center;
}

.Communities_me_column_tabContent[data-val="interests"] .Streams_interests_choseAnything .Streams_interests_anything,
.Communities_me_column_tabContent[data-val="interests"] .Q_expandable_count,
.Communities_me_column_tabContent[data-val="interests"] .Q_expandable_tool .Q_selected,
.Communities_me_column_tabContent[data-val="interests"] .Streams_interests_tool .Q_selected {
	background: rgba(255, 230, 180, 0.9);
	color: #220;
	text-shadow: none;
}

#page .Calendars_info .Q_button i {
	color: inherit !important;
}

.Calendars_info .Travel_trips_buttons span { color: #D9921E; }

.Travel_trips_tool[data-userId]:not([data-userId=""]) .Travel_trips_notGoing { background: none; padding-left: 0; text-align: left; }

.Travel_trips_tool[data-userId]:not([data-userId=""]) .Travel_trips_notGoing:before {
	font-family: 'lucide' !important;
	font-style: normal;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 28px;
	vertical-align: middle;
	line-height: 1;
	display: inline-block;
	content: "\e084";
	margin-right: 15px;
}

.Q_selected,
.Places_location_tool .Places_location_preview_tool.Q_selected {
	background: #FFF3D6;
	border: 1px solid #D9921E;
	margin: -1px;
	box-shadow: 0 0 6px 1px rgba(242, 169, 34, 0.5), inset 0 0 3px #C4A265;
}

.Q_expandable_count {
	background-color: rgba(255, 34, 34, 0.9);
	color: #fff;
}

.Communities_filter_location .Q_dialog_content { padding: 10px; }

.Communities_me_column .Communities_me_icon:before {
	color: #919191;
	font-size: 24px;
}
.Q_tool.Streams_chat_tool .Streams_chat_composer .Streams_chat_subscription {
	width: 40px;
	height: 40px;
}
.Q_tool.Streams_chat_tool .Streams_chat_composer .Streams_chat_submit,
.Q_tool.Streams_chat_tool .Streams_chat_composer .Streams_chat_call {
	top: 2px;
	right: 3px;
	width: 35px;
	height: 35px;
	filter: contrast(150%) hue-rotate(40deg) brightness(90%);
}

.Q_tool.Streams_chat_tool .Streams_chat_composer input { padding-right: 40px; margin-left: 45px; width: calc(100% - 45px); height: 40px; }
.Q_tool.Streams_chat_tool .Streams_chat_composer ~ hr { display: none; }

.Communities_tabs[data-style=icons] .Communities_tab:before { color: #D9921E; }

.Calendars_event_composer_tool .Calendars_event_composer > div:before { color: #9e9e9e !important; }

.Communities_filter_location .Places_location_tool div[data-location=current],
.Communities_filter_location .Places_location_preview_tool,
.Communities_filter_location .Communities_filter_location_all,
.Communities_filter_location .Places_location_tool .Places_location_preview_tool,
.Communities_filter_location .Places_location_tool div[data-location=address],
.Communities_filter_location .Places_location_tool div[data-location=current],
.Communities_filter_location .Places_location_tool .Places_areas_tool {
	background-color: rgba(255, 255, 255, 0.2);
}

.Yoga_counts {
	padding: 10px;
	text-align: center;
}

.Yoga_getStarted {
	font-size: 30px;
	font-weight: bold;
}

.Yoga_answer .Q_dialog_content {
	padding: 10px;
}
.Yoga_answer .Q_dialog_content h2 {
	margin-bottom: 20px;
}
.Yoga_answer .Q_dialog_content tr {
	display: block;
}
.Yoga_answer .Q_dialog_content tr:not(:last-child) {
	margin-bottom: 10px;
}
.Yoga_answer .Q_dialog_content input[type=checkbox] {
	width: 30px;
	height: 30px;
}

.Yoga_welcome #content_slot {
	overflow: auto !important;
}

.Yoga_welcome #content {
	height: auto !important;
}

/* Dashboard tab icons — Lucide overrides */
#dashboard .Q_tabs_tab::before,
.Q_listing_wrapper .Q_tabs_tab::before {
	font-family: 'lucide' !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-right: 4px;
}
#dashboard .Q_tab_events::before, .Q_listing_wrapper .Q_tab_events::before,
#dashboard .Q_tab_classes::before, .Q_listing_wrapper .Q_tab_classes::before {
	content: "\e063" !important; /* calendar */
}
#dashboard .Q_tab_conversations::before, .Q_listing_wrapper .Q_tab_conversations::before {
	content: "\e116" !important; /* message-circle */
}
#dashboard .Q_tab_teachers::before, .Q_listing_wrapper .Q_tab_teachers::before {
	content: "\e234" !important; /* graduation-cap */
}
#dashboard .Q_tab_community::before, .Q_listing_wrapper .Q_tab_community::before {
	content: "\e1a4" !important; /* users */
}
#dashboard .Q_tab_me::before, .Q_listing_wrapper .Q_tab_me::before,
#dashboard .Q_tab_login::before, .Q_listing_wrapper .Q_tab_login::before {
	content: "\e461" !important; /* circle-user */
}
#dashboard .Q_tab_watch::before, .Q_listing_wrapper .Q_tab_watch::before,
.Q_listing_wrapper .Communities_aspect_watch::before {
	content: "\e0ba" !important; /* eye */
}
#dashboard .Q_tab_welcome::before, .Q_listing_wrapper .Q_tab_welcome::before {
	content: "\e0f5" !important; /* home */
}
html.Yoga_teachers #content_slot {
	padding: 0;
}
.Yoga .Q_column_0 .Q_columns_title {
	display: none;
}

/*
 * Communities ddf3149 added `display: none` to .Q_columns_title on
 * hideTitle columns. This kills the absolutely-positioned close X
 * inside the title (which Q's columns.css intentionally keeps visible
 * via `.Q_columns_hideTitle .Q_close { opacity: 1 }`).
 *
 * Restore the close X by overlaying just the title element in the
 * top-right corner with pointer-events:none, so it's invisible but
 * lets the X (pointer-events:auto) remain clickable.
 *
 * TODO: file upstream PR — Andrey's display:none is too aggressive.
 */
.Communities .Q_columns_column.Q_columns_hideTitle .Q_columns_title {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	z-index: 200;
	pointer-events: none;
	background: none;
	box-shadow: none;
}
.Communities .Q_columns_column.Q_columns_hideTitle .Q_columns_title .Q_close {
	pointer-events: auto;
}
/* Force-load the close X image (lazy-load placeholder doesn't get swapped). */
.Communities .Q_columns_column.Q_columns_hideTitle .Q_close img {
	display: none;
}
.Communities .Q_columns_column.Q_columns_hideTitle .Q_close::before {
	content: '\00d7';  /* multiplication sign as fallback X */
	font-size: 30px;
	color: #fff;
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
	line-height: 1;
	display: block;
}

/* Customise event/preview */
.Calendars_event_preview_info {
	font-size: 14px;
	bottom: 0;
	position: absolute;
	padding: 5px;
}
.Calendars_event_preview_time {
	float: none;
	position: static;
}
.Calendars_event_preview_time:before,
.Calendars_event_preview_venue:before {
	line-height: normal;
}
/*---------------------------*/
/* Customise event/preview */
#content .Calendars_event_tool h1 {
	text-align: center;
	margin: 10px 0;
}
#content .Calendars_event_tool > .Users_avatar_tool {
	display: block;
	text-align: left;
	padding-left: 20px;
}
/*---------------------------*/

html.Communities .Q_controls_trigger,
html.Communities.Q_notTouchscreen .Q_controls_trigger:hover {
	background: transparent;
	color: white;
	border: none;
	box-shadow: none;
}

#page .Q_columns_column.Q_columns_hideTitle .Q_controls_slot {
	top: -50px;
}
.Calendars_event_preview_venue {
	width: 100%;
}

/* Communities event column */
.Communities_event_reservation .Q_dialog_content {
	padding: 10px;
}
.Communities_event_reservation .Q_dialog_content h1 {
	text-align: center;
	font-size: 20px;
	margin: 10px 0;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_desc {
	margin-bottom: 20px;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_date,
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_time {
	text-align: center;
	font-weight: bold;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_time {
	margin-bottom: 20px;
}
.Communities_event_reservation .Q_dialog_content button {
	display: block;
	margin: 0 auto 20px;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_footer {
	border-top: 1px solid silver;
	font-size: 14px;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_price {
	text-align: center;
	margin-bottom: 10px;
	font-size: 30px;
	font-weight: bold;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_credits {
	text-transform: lowercase;
	text-align: center;
	margin-bottom: 20px;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_title {
	text-align: center;
	font-size: 20px;
	margin-bottom: 10px;
}
.Communities_event_reservation .Q_dialog_content button[name=invite] {
	margin: 10px auto 0;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_price:empty {
	display: none;
}
.Communities_event_reservation .Q_dialog_content .Communities_event_reservation_back {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	opacity: 0.2;
	z-index: -1;
}
.Users_list_tool .Users_avatar_tool {
	width: auto;
}
#dashboard .Q_tab_login::before, .Q_mobile #dashboard[data-style=icons] .Q_tab_login::before, .Q_listing_wrapper .Q_tab_login::before {
	content: "\e0fd";
	font-family: 'lucide' !important;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 30px;
	width: 45px;
}
body .Streams_chat_tool .Streams_chat_addons {
	width: 40px;
	height: 40px;
	line-height: 40px;
}

.Q_notMobile .Streams_invite_dialog .Streams_invite_social_buttons .Streams_invite_button_email,
.Q_notMobile .Streams_invite_dialog .Streams_invite_social_buttons .Streams_invite_button_text {
	display: none;
}
body .Q_dialog_content .Q_expandable_tool h2 {
	padding: 5px 10px;
}

.Calendars_event_preview_tool[data-mode=services] .Streams_participants_tool .Users_avatar_tool,
.Calendars_event_tool[data-mode=services] .Streams_participants_tool .Users_avatar_tool {
	display: none;
}
.Calendars_event_preview_tool[data-mode=services] .Streams_participants_tool .Users_avatar_tool[data-staff=true],
.Calendars_event_tool[data-mode=services] .Streams_participants_tool .Users_avatar_tool[data-staff=true] {
	display: inline-block;
}

#feedback-button-container {
	display: flex;
	justify-content: center; /* Centers children horizontally in the container */
	width: 100%; /* Full width of the container */
	align-items: center; /* Centers children vertically in the container */
}

#feedback-button-container a {
	font-size: 1.2rem;
	padding: 10px 20px;
}

#footer {
    background-color: #FAFAF5;
    padding: 20px;
    text-align: center;
}

#footer_links a {
    margin-right: 10px;
    color: #333;
    text-decoration: none;
}

#footer_links a:hover {
    text-decoration: underline;
}

#footer_copyright {
    margin-top: 20px;
    font-size: 0.8rem;
    color: #666;
}

/* Override dark mode — Yoga uses a light theme */
:root {
	color-scheme: light only;
}
@media (prefers-color-scheme: dark) {
	:root {
		color-scheme: light only;
	}
	#content_slot, #content, .Q_columns_column, .Q_big_prompt {
		color: #333;
	}
	.Q_overlay:not(.Streams_dialog_interests):not(.Communities_filter_location),
	.Q_fullscreen_dialog {
		background: #fff;
		color: #333;
	}
	.Q_overlay select,
	.Q_overlay input,
	.Q_overlay textarea,
	.Q_fullscreen_dialog select,
	.Q_fullscreen_dialog input,
	.Q_fullscreen_dialog textarea {
		color: #333;
		background-color: #fefefe;
		border: 1px solid #ccc;
	}
	.Q_overlay input::placeholder,
	.Q_fullscreen_dialog input::placeholder,
	.Q_overlay textarea::placeholder,
	.Q_fullscreen_dialog textarea::placeholder {
		color: #aaa;
	}
}

/* Hide broken images gracefully */
.Yoga_img_broken { display: none !important; }

/* Gradient fallback for event detail pages with broken images */
.Calendars_event_curtain {
	background: linear-gradient(135deg, #F2A922 0%, #E8850C 50%, #5B8C5A 100%);
	min-height: 200px;
}
.Calendars_event_curtain .Streams_preview_container {
	background: linear-gradient(135deg, #F2A922 0%, #E8850C 50%, #5B8C5A 100%);
	min-height: 200px;
}
/* Hide broken image icons in event curtain so gradient fallback shows */
.Calendars_event_curtain img.Yoga_img_broken {
	display: none !important;
}

/* Overlay the event title on the curtain gradient.
   The title lives inside the Streams image preview tool (not as a plain h1).
   It's hidden by default; unhide and position it over the gradient. */
.Calendars_event_curtain .Streams_image_preview_title {
	display: flex !important;
	position: absolute;
	inset: 0;
	padding: 20px 24px;
	z-index: 2;
	align-items: center;
	justify-content: center;
	text-align: center;
	pointer-events: auto;
}
.Calendars_event_curtain .Streams_preview_title,
.Calendars_event_curtain .Streams_preview_title * {
	color: #fff !important;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.25;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.65), 0 0 18px rgba(0, 0, 0, 0.45);
	margin: 0;
	background: transparent !important;
}

/* ================================== */
/* Lucide icon overrides for platform */
/* ================================== */

/* Override event preview icons (set by platform's eventPreview.css) */
.Calendars_event_preview_time:before {
	font-family: 'lucide' !important;
	content: "\e087" !important;
}
.Calendars_event_preview_venue:before {
	font-family: 'lucide' !important;
	content: "\e111" !important;
}

/* Override Communities filter bar icons */
.qp-communities-people::before {
	font-family: 'lucide' !important;
	content: "\e19f" !important;
}
.qp-communities-interests::before {
	font-family: 'lucide' !important;
	content: "\e0f2" !important;
}
.qp-communities-location::before {
	font-family: 'lucide' !important;
	content: "\e111" !important;
}
.qp-communities-search::before {
	font-family: 'lucide' !important;
	content: "\e151" !important;
	-webkit-text-stroke: 0.5px;
}
.qp-communities-close::before {
	font-family: 'lucide' !important;
	content: "\e1b2" !important;
}
.qp-communities-people,
.qp-communities-interests,
.qp-communities-location,
.qp-communities-search,
.qp-communities-close {
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	filter: none !important;
	color: var(--column-title-color) !important;
	background: #e8f0e8 !important;
}

/* Override Filter by Relationship popup icons with Lucide */
.Communities_dialog_labels .Users_labels_icon {
	display: none !important;
}
.Communities_dialog_labels .Users_labels_label::before,
.Communities_dialog_labels .Users_labels_action::before {
	font-family: 'lucide' !important;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #e8f0e8;
	color: var(--column-title-color);
	margin: 0 auto 5px;
	content: "\e19f"; /* default: user icon */
}
.Communities_dialog_labels li[data-label="*"]::before {
	content: "\e151"; /* search */
}
.Communities_dialog_labels li[data-label="Users/friends"]::before {
	content: "\e1a4"; /* users */
}
.Communities_dialog_labels li[data-label="Users/invited"]::before {
	content: "\e1a2"; /* user-plus */
}
.Communities_dialog_labels li[data-label="Users/invitedMe"]::before {
	content: "\e1a0"; /* user-check */
}
.Communities_dialog_labels .Users_labels_add::before {
	content: "\e081"; /* circle-plus */
}

input[name=query].Communities_eventChooser_input,
input[name=query].Communities_eventChooser_input:focus {
	border-color: var(--column-title-color);
}

/* Remove drop shadows on buttons and nav bar */
.Q_button,
button,
input[type="submit"],
.Calendars_event_tool .Q_button,
#dashboard_slot,
.Q_mobile #dashboard_slot,
.Q_mobile #dashboard,
.Q_mobile #dashboard .Q_tabs_tabs,
.Q_mobile #dashboard .Q_tabs_tab,
#dashboard_community_contextual {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
}

/* ============================================ */
/* Event detail panel refinements               */
/* ============================================ */

/* Consistent row padding + subtle dividers instead of loose margin */
#page .Calendars_event_tool .Calendars_info > .Q_button {
	padding: 14px 12px;
	margin-bottom: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 0;
	background: transparent;
	color: inherit;
	transition: background-color 0.15s ease;
	position: relative;
	min-height: unset;
}
#page .Calendars_event_tool .Calendars_info > .Q_button + .Q_button.Streams_aspect_interests,
#page .Calendars_event_tool .Calendars_info > .Q_button:last-of-type {
	border-bottom: none;
}

/* Make clickable rows feel clickable — hover state + right chevron.
   Exclude interests (hidden) */
.Q_notTouchscreen #page .Calendars_event_tool .Calendars_info > .Q_button[data-invoke]:not(.Streams_aspect_interests):hover {
	background: rgba(91, 140, 90, 0.06);
	cursor: pointer;
}
#page .Calendars_event_tool .Calendars_info > .Q_button[data-invoke]:not(.Streams_aspect_interests)::after {
	content: "›";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 26px;
	color: rgba(0, 0, 0, 0.3);
	line-height: 1;
	font-weight: 300;
}

/* Icons — consistent size, muted color so they support the label rather than scream */
#page .Calendars_event_tool .Calendars_info_icon {
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 14px;
	color: var(--column-title-color);
	font-size: 20px;
	flex-shrink: 0;
}
#page .Calendars_event_tool .Calendars_info_icon i {
	color: inherit !important;
}

/* Content typography */
#page .Calendars_event_tool .Calendars_info_content {
	font-size: 15px;
	line-height: 1.4;
	padding-right: 24px;
}

/* Hide the interests/roles/topics row */
#page .Calendars_event_tool .Calendars_info > .Streams_aspect_interests {
	display: none;
}

/* Hide the admin-editable title block — h1 at top already shows the title */
.Calendars_event_tool .Calendars_event_title {
	display: none;
}

/* Reorder: description first, then time, then location, then other actions */
#page .Calendars_event_tool .Calendars_info {
	display: flex;
	flex-direction: column;
}
#page .Calendars_event_tool .Calendars_info > .Calendars_event_description {
	order: -3;
}
#page .Calendars_event_tool .Calendars_info > .Q_aspect_when {
	order: -2;
}
#page .Calendars_event_tool .Calendars_info > .Q_aspect_where {
	order: -1;
}

/* Wrap the description as a card with a heading */
.Calendars_event_tool .Calendars_event_description {
	background: #FFFFFF;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	padding: 14px 16px 16px;
	margin-top: 8px;
	margin-bottom: 16px;
	position: relative;
}
.Calendars_event_tool .Calendars_event_description::before {
	content: "About this event";
	display: block;
	font-weight: 500;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--column-title-color);
	margin-bottom: 10px;
}

/* Admin-editable title block — softer, grouped with description */
.Calendars_event_tool .Calendars_event_title {
	margin-top: 24px;
	padding: 10px 16px;
	background: #FFFFFF;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
}

/* Floating feedback / help button — opens the user's mail app. */
#feedback_button {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--button-bg-color);
	color: var(--button-text-color);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
	font-size: 22px;
	z-index: 1000;
	transition: transform 0.15s ease;
}
#feedback_button:hover,
#feedback_button:focus {
	transform: scale(1.05);
}
#feedback_button:active {
	transform: scale(0.97);
}
/* On mobile the dashboard tab bar is pinned to the bottom of the viewport,
   so lift the button above it. */
.Q_mobile #feedback_button {
	bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	right: 12px;
	width: 42px;
	height: 42px;
	font-size: 20px;
}
