/*
* Table of Contents
* 1. CORE LAYOUT
*  - Masthead
*  - Navigation
*  - Mobile Navigation
*  - Entry Header
*  - Content Subnavigation
*  - Footer
*  - Misc Layout Styles
* 2. DESKTOP LAYOUT OVERRIDES
*  - Desktop: General
*  - Desktop: Navigation
*  - Desktop: Banner and Content Subnavigation
* 3. CORE CONTENT
*  - Standard Tags and Classes
* 4. SECTION-SPECIFIC CONTENT
*  - Content: Guide
*  - Content: Posts/Blog
*  - Content: Glossary
*/

/*
** CORE LAYOUT
*/

html {
	background: #1b374c;
	width: 100%;
	overflow-x: hidden;
}

body {
	background: #fefefe;
	font-family: var(--tps-body-font);
	overflow-x: hidden;
}

.container, .entry-content, .tribe-events-single {
	padding-left: 20px;
	padding-right: 20px;
	max-width: none;
}

.entry-content {
	margin: 0 auto;
}

.container-narrow {
	max-width: var(--tps-maxwidth-desktop-content-narrow);
}

.container-normal, .entry-content, .tribe-events-single {
	max-width: var(--tps-maxwidth-desktop-content-normal);
}

.container-wide, .entry-content-wide {
	max-width: var(--tps-maxwidth-desktop-content-wide);
}

.container-wider {
	max-width: var(--tps-maxwidth-desktop-content-wider);
}

.container-masthead {
	max-width: var(--tps-maxwidth-desktop-masthead);	
}


/* Masthead */

#masthead {
	border-bottom: 12px solid #f5f5f5;
	width: 100%;
}

#masthead .site-title {
	background: url('../images/logo-horizontal.svg') no-repeat left center;
	background-size: 70%;
	margin-bottom: 0;
	max-width: 100%;
	padding-left: 10px;
}

#masthead .site-title a {
	display: block;
	height: 80px;
	overflow: hidden;
	margin: 15px 10px 10px;
	width: 100%;
	text-align: left;
	text-decoration: none;
	text-indent: -9999px;
}

#masthead #masthead-desktop-right {
	padding-top: 30px;
}

#masthead #masthead-desktop-right a {
	text-decoration: none;
}

/* Teacher-Powered Definition Block */
.entry-content .has-dark-gray-background-color,
.entry-content .has-dark-gray-background-color:visited {
	background-color: #262626;
	opacity: .95;
}


/* Navigation */

#masthead a.menu-toggle {
	color: #1b374c;
	font-size: 48px;
	display: block;
	text-align: center;
	position: absolute;
	z-index: 99;
	right: 0;
	margin-top: 20px;
	padding: 0 6vw;
}

a.news-button {
	font-size: 1em;
	font-family: var(--tps-headline-condensed-font);
	height: 32px; 
	letter-spacing: .01em;
	background: var(--tps-accent-color-2);
	color: #fff !important;
	border: 0;
	border-radius: 20px;
	padding: 10px;
	margin: 0px 4px 0px 0px;
	cursor: pointer;
	text-decoration: none;
}


/* Mobile Navigation */

@media screen and (max-width: 991px) {
	
	#primary.container,	#primary .full-width .section.container {
		padding-left: 1.25rem;
		padding-right: 1.25em; 
	}
	
	#masthead .site-title {
		background-size: contain;
	}

	#masthead #site-navigation {
		background: #c0e7d2;
		display: none;
		height: 100vh;
		left: 0;
		margin: 0 -15px;
		overflow: auto;
		padding-top: 20vw;
		padding-bottom: 20px;
		position: fixed;
		top: 0;
		width: calc(100% + 30px);
		z-index: 90;
	}

	#masthead #site-navigation div ul {
		list-style: none;
		margin: 0;
		padding: 0;
		text-align: left;
	}

	#masthead #site-navigation div ul a {
		color: #1b374c;
		font-size: 24px;
		display: block;
		position: relative;
		padding: 10px 40px;
		transition: .5s background;
		text-decoration: none;
	}

	#masthead #site-navigation>div>ul>li.menu-item-has-children>a {  }

	#masthead #site-navigation>div>ul>li.menu-item-has-children.open>a {  }

	#masthead #site-navigation div ul a i.fa {
		color: #00d4ad;
		position: absolute;
		right: 50px;
	}


	#masthead #site-navigation div ul a:hover, #masthead #site-navigation div ul a:focus {
		background: #c0e7d2;
		text-decoration: none;
	}

	#masthead #site-navigation div>ul>li>ul {  }

	#masthead #site-navigation>div>ul>li>ul li a {
		background: #fff;
		color: #1b374c;
		font-size: 1rem;
		font-weight: normal;
		padding-left: 50px;
	}

	#masthead #site-navigation>div>ul>li>ul li a:hover, #masthead #site-navigation>div>ul>li>ul li a:focus {
		background: #c0e7d2;
	}

	#masthead #site-navigation>div>ul>li>ul li>ul {
		display: block !important;
	}

	#masthead #site-navigation>div>ul>li>ul li>ul li a {
		font-size: 0.9rem;
		padding: 10px 60px;
	}

	#masthead #site-navigation>div>ul {  }


	/* TP Definition Block */

	.entry-content .has-dark-gray-background-color, .entry-content .has-dark-gray-background-color:visited {
		background-color: #262626;
		opacity: .95
	}
}


/* Entry Header */

#content .entry-header {
	margin-bottom: 50px;
}

#content .entry-header.banner {
	height: 35vw;
	margin-bottom: 50px;
	position: relative;
	width: 100vw;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

#content .entry-header.banner img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

#content .entry-header.banner h1.entry-title {
	background: rgba(0,0,0,.7);
	color: #fff;
	display: block;
    font-size: 2em;
    text-align: left;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    position: absolute;
    bottom: 0;
    padding: 10px 10px;
    width: 100%;
    margin: 0;
}


/* Content Subnav */

#content .subnav ul {
	background: #f0cf51;
	font-family: var(--tps-body-font);
    height: auto;
    text-align: center;
    margin: -30px 0 20px 0;
    padding: 0 0 10px 0;
}

#content .subnav ul li {
    margin: 0;
    padding: 0;
    display: inline-block;
    list-style: none;
}

#content .subnav ul li a {
	display: block;
    line-height: 56px;
    padding: 0 15px;
    font-size: 1.2em;
    text-decoration: none;
    color: #666;
    font-size: 1em;
    line-height: 40px;
}

#content .subnav ul li.current_page_item a {
    color: #333;
	font-weight: bold;
	text-decoration: underline;
}


/* Footer */

#colophon {
	background: #1b374c;
	color: #fff;
}

#colophon #copyright {
	background: #c0e7d2;
	color: #1b374c;
	margin-top: 50px;
	padding: 15px 0;
	text-align: right;
}

#colophon #copyright a {
	color: #1b374c;
}

#colophon #copyright p {
	margin: 0;
}

#colophon .site-info {
	padding: 20px 0;
}

#colophon #site-info p.style {
    color: #c0e7d2;
}


/* Misc Layout Styles */

.assistive-text, .edit-link {
	display: none;
}

.desktop-only {
	display: none;
}

.full-width {
	width: 100vw;
	position: relative;
	margin-left: -50vw;
	left: 50%;
}


.wp-block-cover.is-light .wp-block-cover__inner-container {
    color: #ffffff;
}

/* hide Events Calendar in admin bar */
li#wp-admin-bar-tribe-events {
	display: none;
}


/*
** DESKTOP LAYOUT OVERRIDES
*/

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

	/* Desktop: General */

	#primary {
		margin-top: 0;
		margin-bottom: 10px;
	}

	.desktop-only {
		display: block;
	}

	span.desktop-only {
		display: inline;
	}

	.mobile-only {
		display: none !important;
	}
	
	.pull-wider {
		margin-left: -50px;
		margin-right: -50px;
	}


	/* Desktop: Navigation */

	#masthead .menu-toggle {
		display: none;
	}

	#site-navigation {
		font-size: 16px;
		font-family: var(--tps-headline-condensed-font);
		font-weight: normal;
		margin-top: 10px;
		padding: 0;
		text-transform: uppercase;
	}

	#site-navigation a {
		color: #525252;
		padding: 10px;
	}

	#site-navigation ul.nav-menu {
		margin-bottom: -12px;
	}

	#site-navigation ul.nav-menu>li {
		margin: 0 -2px;
		width: 20%;
	}

	#site-navigation ul.nav-menu>li>a {
		border-bottom: 12px solid #1b374c;
		padding-left: 20px;
		padding-right: 20px;
		width: 100%;
	}

	#site-navigation ul.nav-menu>li:nth-child(2)>a {
		border-bottom-color: #f0cf51;
	}

	#site-navigation ul.nav-menu>li:nth-child(3)>a {
		border-bottom-color: #c0e7d2;
	}

	#site-navigation ul.nav-menu>li:nth-child(4)>a {
		border-bottom-color: #00d4ad;
	}

	#site-navigation ul.nav-menu>li:nth-child(5)>a {
		border-bottom-color: #d35269;
	}

	#site-navigation .menu-toggle, #site-navigation #mobile-launch {
		display: none;
	}

	#site-navigation>div ul li.current_page_item>a, #site-navigation>div ul li.current_page_ancestor>a {
		text-decoration: underline;
	}

	#site-navigation>div ul ul {
		visibility: hidden;
		opacity: 0;
		transition: visibility 0s, opacity 0.1s linear;
	}

	#site-navigation>div ul li:hover > ul, #site-navigation>div ul li.active > ul {
		visibility: visible;
		opacity: 1;
	}

	#site-navigation>div ul {
		list-style: none;
		position: relative;
		margin: 0 auto;
		padding-left: 0;

	}

	#site-navigation>div>ul {
		text-align: center;
	}

	#site-navigation>div ul:after {
		content: "";
		clear: both;
		display: block;
	}

	#site-navigation>div ul li {
		display: inline-block;
	}

	#site-navigation>div ul li a {
		display: inline-block;
		line-height: 28px;
		padding: 6px 10px;
		transition: color .15s;
		text-decoration: none;
	}

	#site-navigation>div ul ul {
		background-color: rgba(0,0,0,.7);
		border-radius: 0px;
		letter-spacing: 0;
		font-family: var(--tps-body-font);
		text-transform: none;
		margin: 0 0 0 0;
		padding: 0;
		position: absolute;
		text-align: left;
		width: 200px;
		top: 88%;
		z-index: 999;
	}

	#site-navigation>div ul ul li {
		display: block;
		float: none; 
		margin-right: 0;
		position: relative;
		transition: background .15s;
		text-align: left;
	}

	#site-navigation>div ul ul li:hover {
		background-color: rgba(255,255,255,.1);
	}

	#site-navigation>div ul ul li a {
		color: #fff;
		display: block;
		font-size: 16px;
		line-height: 16px;
		padding: 10px;
	}

	#site-navigation>div ul ul li a:hover {
		color: #f5f5f5;
	}

	#site-navigation>div ul ul ul {
		background: rgba(0,0,0, .7);
		position: absolute;
		left: 100%;
		top: 0;
	}


	/* Desktop: Banner and Content Subnavigation */

	#content .entry-header.banner {
		height: 380px;
	}

	#content .subnav ul {
		background: #fff;
	    height: 60px;
	    border-bottom: 4px solid #f0cf51;
	    padding-bottom: 5px;
	    text-align: left;
	}

	#content .subnav ul li.current_page_item {
		background: url('/files/caret.png') bottom center no-repeat;
	}

	#content .subnav ul li.current_page_item a {
		color: #262626;
	}

	#content .subnav ul li a {
	    line-height: 56px;
	    color: rgba(38, 38, 38, .85);
	    font-size: 1.2em;
	    text-decoration: none;
	}

}


/*
** CORE CONTENT
*/

/* Standard Tags and Classes */

a, a:hover {  }

img {
	height: auto;
	max-width: 100%;
}

#content p {
  line-height: 1.5em;
  font-weight: normal;
  border: 0;
  padding: 0;
  margin: 0 0 12px 0;
}

#content h1, #content h2, #content h3, #content h4 {
  font-family: var(--tps-headline-font);
  line-height: 120%;
  border: 0;
  padding: 0;
}

/* note: #content selector not used for color otherwise theme class color overrides dont work */
h1, h2, h3, h4, p { 
	color: #262626;
}

#content h1 { font-size: 1.8em; margin: 0 0 15px 0; }
#content h2 { font-size: 1.3em; margin: 15px 0 5px 0; }
#content h3 { font-size: 1em; margin: 15px 0 5px 0; }
#content h4 { font-size: 0.8em; }

#content h1.no-margin, #content h2.no-margin, #content h3.no-margin, #content h4.no-margin, #content p.no-margin {
	margin: 0;
}

#content h1.with-subtitle, h2.with-subtitle { margin-bottom: 0; }
#content h1.is-subtitle, h2.is-subtitle { margin-top: 0; }

#content h2.bottom-border {
    font-size: 1.6em;
    margin: 0 -30px 25px -30px;
    padding: 0 0 35px 0;
    color: #525252;
    background: url('/files/line.png') bottom center no-repeat;
    text-align: center;
}

#content a { color: #1b374c; }
#content a:hover { color: rgba(27, 55, 76, .85); }

body:not(.woocommerce) #content ul, ol { margin: 0 0 15px 0; padding: 5px 0 0 35px; }
body:not(.woocommerce) #content ul li, ol li { margin: 0 0 10px 0; padding: 0; line-height: 1.4em; }

#content strong { font-family:'Futura W01 Bold'; font-size: 1em; }

#content .light-border img {
	border: 1px solid #DDD;
}

#content a.wp-block-button__link, input.button-submit, .button-link, .button, .node-type-guide-resource .field-name-field-link a, .node-type-guide-resource .field-name-field-file a, a.tp-button {
	background: var(--tps-accent-color-2);
	font-size: 1.1em;
	color: #fff !important;
	border: 0;
	border-radius: 6px;
	padding: 10px;
	margin: 10px 0;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}

.pull-quote, blockquote.wp-block-quote { float: right; width: 40%; margin: 0 0 20px 15px; padding: 0 0 0 15px !important; border-left: 10px solid var(--tps-accent-color-2) !important; font-size: 1.4em; font-style: normal; overflow-wrap: normal; box-sizing: border-box; }

.js-wpv-loop-wrapper .wp-block-columns {
	gap: 2em;
}


/*
** CONTENT-SPECIFIC STYLES
*/


/*
** Content: Guide
*/

#guide-navigation {
	margin-bottom: 50px;
}

#guide-navigation ul {
	color: #1b374c;
	padding-left: 0;
}

#guide-navigation ul ul {
	display: none;
}

#guide-navigation ul li {
	padding-left: 5px;
}

#guide-navigation ul li a {
	text-decoration: none;
}

#guide-navigation ul li.current_page_item>a {
	font-weight: bolder;
}

#guide-navigation ul li.page_item_has_children {
	list-style-type: "\25BA";
}

#guide-navigation li.current_page_item.page_item_has_children, #guide-navigation li.current_page_ancestor {
	list-style-type: "\25BC";
}

#guide-navigation li.current_page_item>ul, #guide-navigation li.current_page_ancestor>ul {
	display: block;
	margin-top: 10px;
	padding-left: 20px;
}

#content .guide-resources>h2 {
	background: url('../images/guide-nav/resources-icon.png') no-repeat center left;
	padding: 10px 10px 10px 40px;
	font: 2rem 'Futura W01 Book', sans-serif;
}

#content .guide-resources .guide-resources-section {
	margin-bottom: 50px;
}

#content .guide-resources .guide-resources-section h3 {
	font: 1.5rem 'Futura W01 Book', sans-serif;
	margin-bottom: 8px;
}

#content .guide-resources .guide-resources-section h4 {
	font: 1.2rem 'Futura W01 Book', sans-serif;
}


/*
** Content: Posts/Blog
*/

body.blog article, body.single-post article {
	margin-bottom: 40px;
}

body.blog #content article .entry-header, body.single-post #content article .entry-header:not(.banner) {
	margin-bottom: 0;
}

body.single-post #content article h3.subtitle {
	margin: 5px 0;
}

body.blog article .entry-meta, body.single-post article .entry-meta {
	margin-bottom: 35px;
	font-style: italic;
	font-size: .9rem;
}

body.blog article .entry-meta {
	margin: 5px 0;
}


/*
 * Content: Publications and Resources
 */

.publication-thumbnail { float: right; width: 35%; border: 1px solid #eee; }

.js-wpv-view-layout-6669 img, .js-wpv-view-layout-6684 img, .js-wpv-view-layout-7744 img { border: 1px solid #DDD; }



/*
** Content: Glossary
*/

#content .glossary .glossary-letter-group {
	margin-bottom: 50px;
}

#content .glossary .glossary-letter-group h2 {
	font-size: 2.5rem;
}


/*
** Content: Who We Are - OLD, CAN BE REMOVED AFTER NEW SECTION IS ADDED
*/


.bio {
	clear: both;
	margin: 40px 0 120px 0;
}

.bio-photo {
	display: table;
	float: right;
	margin: 0 0 20px 20px;
}

.bio-photo img {
	max-height: 200px;
	max-width: 200px;
}

.bio-photo .caption, .caption {
	color: #525252;
	font-size: 0.8em;
	margin: 10px 0 0 0;
	text-align: center;
}





/*
** Content: Who We Are - NEW AS OF 2025/08
*/

.bio-group {
	margin-bottom: 50px;
}

.bio-group .bios-header {
	margin-bottom: 10px;
}

.bio-group .bios a {
	text-decoration: none;
}

img.contact {
	margin: 0 5px 0 0;
	max-height: 20px;
	max-width: 20px;
}

img.round {
	border-radius: 50%;
}

.social-icon {
	margin: 0px 1px 0px 1px;
	max-height: 32px;
	max-width: 32px;
}

/*
** DESKTOP: Content: Who We Are - NEW AS OF 2025/08
*/
@media screen and (min-width: 992px) {
	body.single-person .entry-content .bio-featured-image {
		clear: right;
		float: right;
		height: auto;
		max-width: 300px;
		margin: 0 0 10px 10px;
	}



/*
** Content: Events List Page
*/

#content .tribe-events-widget-events-list__event h3 { margin-top: 0px; }

.tribe-events-widget-events-list__view-more { display: none; }

/*
** Content: Single Event
*/

section#tribe-events-pg-template {
	max-width: var(--tps-maxwidth-desktop-content-normal);
}

/* hide "back to all events" link on top */
p.tribe-events-back {
	display: none;
}

h1.tribe-events-single-event-title {
	font-family: var(--tps-headline-font);
}

/* tweak the schedule widget */
.tribe-events-schedule { 
	margin: 15px 0 !important;
}

/* tweak margins on the "add to calendar" button */
.tribe-block__events-link {
	padding: 0 !important;
	margin: 15px 0 !important;
	
}
.single-tribe_events .tribe-events-c-subscribe-dropdown, .tribe-events .tribe-events-c-subscribe-dropdown {
	margin: 0 !important;
}

/* tweak the venue block */
.tribe-block__venue {
	max-width: none !important;
	margin: 15px 0 !important;
}
.tribe-block__venue__name {
	font-family: var(--tps-headline-font);
}

/* hide previuos event / next event links */
#tribe-events-footer {
	display: none;
}


/*
** Single Event TICKETS Form
*/

.event-tickets .tribe-tickets__tickets-form {
	max-width: 600px;
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
	background: #fafafa;
}

h2.tribe-tickets__tickets-title {
	font-family: var(--tps-headline-font) !important;
}

/* hide the display of how many tickets are left */
.tribe-tickets__tickets-item-extra-available {
	display: none;
}

/* increase font size on "Buy" button */
button.tribe-tickets__tickets-buy {
	font-size: 20px !important;
}

/* hide the native "name" field (we ask first and last separately) */
.tribe-tickets__iac-field--name {
	display: none !important;
}


/*
** Single Event RSVP Form
*/

body .event-tickets .tribe-tickets__rsvp-wrapper {
	max-width: var(--ee-maxwidth-desktop-content-normal);
	margin: 30px auto;
}

body .event-tickets .tribe-tickets__rsvp {
	padding: 10px 20px;
}

/* hide the "0 Going" text */
.tribe-tickets__rsvp-attendance {
	display: none !important;
}

/* column for the RSVP button */
body .event-tickets .tribe-tickets__rsvp-actions {
	margin: 0;
	padding: 20px 0;
}

/* hide the "RSVP Here" text */
.tribe-tickets__rsvp-actions-rsvp span {
	display: none !important; 
}

/* hide the native name and email fields; we ask these as custom Qs */
.tribe-tickets__form-field:has(.tribe-tickets__rsvp-form-field-name),
.tribe-tickets__form-field:has(.tribe-tickets__rsvp-form-field-email) {
	display: none !important;
}

body .event-tickets .tribe-tickets__rsvp-actions .tribe-common-c-btn {
	font-size: 1.2em;
}

body .event-tickets .tribe-tickets__rsvp-actions-rsvp-going, body .event-tickets .tribe-tickets__rsvp-actions-rsvp-not-going {
	margin-top: 0;
}

body .event-tickets h3.tribe-tickets__rsvp-title {
	margin: var(--tec-spacer-5) 0;
}


/* hide the list of RSVP names on confirmation page */
body .event-tickets .tribe-tickets__rsvp-attendees-wrapper {
	display: none !important;
}

/* organizer box on the bottom */
.tribe-block__organizer__details {
	display: none !important;
}


/*
** Tickets Cart and Checkout
*/

body.page-tribe-attendee-registration .event-tickets .tribe-tickets__mini-cart, body.page-tribe-attendee-registration .tribe-common .tribe-tickets__mini-cart {
	margin-top: 0px !important;
}

/* box that has message about entering a coupon code */
div.woocommerce-info {
	border-color: var(--tps-accent-color-2);
}

#coupon_code {
	margin-top: 0 !important;
	padding: 5px !important;
}

.woocommerce-form-coupon button.button {
	background: var(--tps-accent-color-2);
	color: #fff;
}

/* coupon code as it appears at bottom of cart */
.woocommerce-cart-form__contents #coupon_code {
	width: 150px !important;
}

/* error area */
ul.woocommerce-error {
	padding: 1em 2em 1em 3.5em !important;
	margin: 0 0 2em !important;
}

#customer_details input, #customer_details textarea {
	padding: 5px 8px !important;
	border: 1px solid #aaa !important;
}

/* back to cart links */
.tribe-checkout-backlinks {
	margin: 5px 0 10px !important;
}

/* hide "edit attendee info" */
.tribe-checkout-backlinks a:nth-of-type(2) {
	display: none;
}

/* button bigger */
#place_order {
	margin-bottom: 0 !important;
	font-size: 20px;
}

/* add space before bottom of page */
#payment {
	margin-bottom: 30px !important;
}

/* confirmation page details box */
ul.woocommerce-thankyou-order-details {
	margin: 0 0 20px !important;
	padding: 0 !important;
}

ul.woocommerce-thankyou-order-details li {
	border: none !important;
	margin: 0 10px !important;
}

/* list of attendees and tickets at the bottm */
.tec-tickets__attendees-list-wrapper--woo .tec-tickets__attendees-list-item {
	margin-bottom: 15px !important;
}

.woocommerce-customer-details--phone, .woocommerce-customer-details--email {
	margin: 10px 0 5px 20px !important;
}