/*
Theme Name: TPE 2025
Template: twentytwenty
Text Domain: twentytwenty
Version: 3.3
Tested up to: 6.8
Requires at least: 4.7
Requires PHP: 5.2.4
Description: New theme for Turning Point Ensemble site
Author URI: https://npdemers.net/
Theme URI: https://wordpress.org/themes/twentytwenty/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/

/* Menus */

.primary-menu ul {
	width:30rem;
	top:calc(100%);
	padding:0;
	transition:opacity 0.15s linear, transform 0.15s linear
}

.primary-menu ul::before, .primary-menu ul::after {
	display:none;
}

body:not(.overlay-header) .primary-menu > li > a, body:not(.overlay-header) .primary-menu > li > .icon, .modal-menu a, .footer-menu a, .footer-widgets a:where(:not(.wp-block-button__link)), #site-footer .wp-block-button.is-style-outline, .wp-block-pullquote::before, .singular:not(.overlay-header) .entry-header a, .archive-header a, .header-footer-group .color-accent, .header-footer-group .color-accent-hover:hover {
	color:black;
}



.primary-menu ul a {
	padding-left:1rem;
	border-left:1rem solid transparent;
}

.primary-menu ul a:hover {
	border-left-color:#CD7F32;
}

ul.primary-menu ul.sub-menu {
	border-left-style:solid;
	border-right-style:solid;
	border-bottom-style:solid;
	border-width:1px;
	border-color:silver;
}

ul.sub-menu a, ul.footer-menu a, p.footer-social-media a {
	color:black;
	text-decoration:none;
}

ul.primary-menu ul.sub-menu li:hover > a {
	text-decoration:none;
}

.primary-menu li.current-menu-item > a, .primary-menu li.current-menu-item > .link-icon-wrapper > a {
	text-decoration:none;
}

ul.primary-menu > li > a {
	padding:1rem 1.5rem 1rem 1.5rem;
	border-radius:0;
	background-color:white;
	border-bottom:4px solid transparent;
}

.primary-menu > li#menu-item-2212 > a:link, .primary-menu > li#menu-item-2212 > a:visited {
	background-color:royalblue;
	border-radius:16px;
	color:white;
}


.primary-menu > li#menu-item-2212 > a:hover {
	border-bottom-color:transparent;
	background-color:#CD7F32;
}

.primary-menu > li.menu-item-has-children > a {
	padding-right:3.5rem;
}

.primary-menu li.menu-item-has-children:hover > ul, .primary-menu li.menu-item-has-children:focus > ul, .primary-menu li.menu-item-has-children.focus > ul {
	left:0;
}

.primary-menu ul li.menu-item-has-children:hover > ul, .primary-menu ul li.menu-item-has-children:focus > ul, .primary-menu ul li.menu-item-has-children.focus > ul {
	left: calc(100%);
}

.primary-menu ul ul {
	top:0;
}

.primary-menu > li:hover > a {
	text-decoration:none;
	border-bottom-color:#CD7F32;
}

.primary-menu > li > .icon {
	right:1rem;
}

ul.footer-menu {
	font-size:1.8rem;
	font-weight:normal;
}

ul.footer-menu > li > a {
	font-weight:bold;
}

ul.footer-menu li a:hover {
	color:white;
	text-decoration:none;
}

body:not(.overlay-header) .primary-menu ul.sub-menu li {
	color:black;
}

/* Fonts */

body, .entry-content, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary {
	font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont,  sans-serif;
}


@supports ( font-variation-settings: normal ) {

	body, .entry-content, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary {
		font-family: "Helvetica Neue", Helvetica, "Inter var", -apple-system, BlinkMacSystemFont,  sans-serif;
	}
}

/* Featured Media ---------------------------- */

.singular .featured-media::before {
    position:static;
}

/*
.singular .featured-media {
    max-height: 550px;
    overflow: hidden;
}
*/

.featured-media img {
	width:auto;
	object-fit:contain;

}
.featured-media {
	background-color:seagreen;
}


.season-event-wrapper {
	margin-top:4rem;
}

.season-event-wrapper:first-child {
	margin-top:0;
}

.season-event {
	position:relative;
}

.season-event-main {
	margin: 2rem 1rem 1rem;
}


/* Events etc... */

a.button-style {
	background-color:royalblue;
	color:white;
	padding:0.75rem 1.5rem;
	border-radius:5px;
	text-decoration:none;
	border:2px solid blue;
	font-size:1.8rem;
}
a.button-style:hover {
	border-color:blue;
	color:white;
	background-color:#CD7F32;
}

a.button-large {
	font-size:2.7rem;	
	border-radius:12px;
}


img.size-thumbnail_large.rounded, img.size-large.rounded {
	border-radius:10px;
	border:1px solid #555;
	box-shadow:2px 2px 5px silver;
}
img.size-twentytwenty_fullscreen.rounded {
	border-radius:15px;
	border:1px solid #555;
	box-shadow:5px 5px 10px silver;
	margin: 0 auto;
}
img.size-full.rounded {
	border-radius:15px;
}

#musicians-wrapper .musician-wrapper {
	margin-bottom:4rem;
	text-align:center;
}





#child-events-wrapper .child-event .event-date-times {
	margin-bottom:0.25rem;
	padding-left:1rem;
}

#child-events-wrapper .child-event .event-location {
	margin-bottom:1rem;
	padding-left:1rem;
	font-weight:bold;
	
}

.season-event-meta p.event-date-times {
	margin-bottom:0.25rem;
}
.season-event-meta p.event-location {
	font-weight:bold;
}

.season-event-content p.event-link {
	text-align:right;
	margin-top:2rem;
}

.entry content h5.title-list {
	margin-top:1rem;
	margin-bottom:0.5rem;
	
}

h5.title-list a, .list-post-content h4 a {
	color:black;
	text-decoration:none;
}

h5.title-list a:hover, .list-post-content h4 a:hover {
	color:#CD7F32;
}

p.see-more-bg {
	text-align:center;
	margin-top:4rem;
}


.email-block.entry-content {
	margin-top:8rem;
}

#mailchimp {
	margin:0;
}

.footer-nav-widgets-wrapper {
	background-color:seagreen;
}

.footer-nav-widgets-wrapper #mailchimp {
	width:100%;
}

#mc_embed_signup_scroll {
	display:flex;
	gap:1.5rem;
}

a.see-more {
	font-weight:bold;
	background: cornflowerblue;
	  padding: 1rem 1rem 1rem 2rem;
	  border-radius: 12px;
	  color: white;
}

a.see-more span {
	padding:0 1rem 0 0;
}

.entry-header h2 {
	margin-top:4rem;
}
.entry-header h4 {
	margin-top:1rem;
}

.post-inner {
	padding-top: 2rem;
}

.album-meta h6 {
	margin:0;
}

.album-meta {
	margin-top:2rem;
}


p.link {
	text-align: center;
}

p.link a span {
	color:white;
}

p.link a:hover {
	color:white;
	background-color:#CD7F32;
}

p.link a:hover span {
	color:white;
}


#funders-wrapper {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:5rem;
}

#funders-wrapper img {
	margin:0;
}

.two-columns {
	display:flex;
	justify-content:space-between;
}

.two-columns > div {
	width:45%;

}

p.land-acknowledgement {
	font-size:1.8rem;
	margin-top:2rem;
	margin-bottom:1rem;
	font-weight:bold;
}

.season-event-content {
	position:relative;
}

input#mc-embedded-subscribe:hover {
	text-decoration:none;
	transition: all 0.15s linear;
	border-color:blue;
	color:white;
	background-color:#CD7F32;
}


a {
	text-decoration:none;
	color:royalblue;
}

a:hover {
	color:blue;
}

a.button-style:hover {
	color:white;
}

.pagination-single a:focus .title, .pagination-single a:hover .title {
	text-decoration:none;
}

.event-meta {
	background-color:aquamarine;
}

.concert-meta-date-time {
	font-weight: bold;
	
}

.single-concert .concert-meta-date-time {
	display:flex;
}

.concert-meta-location {
	margin-bottom:1rem;
	font-size:2.1rem;
}

.concert-meta {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:1rem 1rem 1rem 2rem;
	margin-left:-2rem;
	margin-bottom:1rem;
	margin-right:-3rem;
	border-color:teal;
	border-style:solid;
	border-width:2px 0px 2px;
}

.post-post-meta {
	padding:1rem 0;
	margin-bottom:1rem;
	border-color:teal;
	border-style:solid;
	border-width:2px 0px 2px;
}


.concert-day {
	font-weight:bold;
}

.concert-meta-date-time {
	
}

.concert-fulldate {
	font-size:2.1rem;
}

.concert-part-date {
	text-align:center;
}

.concert-month {
	font-weight:bold;
}

.concert-year {

}

.concert-time {
	font-size:2.4rem;
}

:root :where(.wp-block-social-links .wp-social-link a) {
	padding-left:0;
}

.concert-datetime {
	margin-right:3rem;
	padding: 0.5rem 3rem 1rem 0;
  	align-items: center;
	border-right:1px solid #CD7F32;
}

.concert-datetime:last-child {
	border:none;
}

.concert-datetime::before {
	content: '';
}

.landwrapper.alignfull {
	background-color:seagreen;
	color:white;
	margin-top:0;
	margin-bottom:0;
	padding-top:2rem;
	padding-bottom:2rem;
}

a.button-style span.more-about {
	display:inline;
}

.entry-content p, .list-post-wrapper p {
	text-align:justify;
}

.entry-content p.see-more-bg {
	text-align:center;
}

@media (min-width: 700px) {
	.entry-content {
		font-size:1.8rem;
	}
  	.singular .entry-header {
	  padding:0;
	}
	.singular .entry-header {
	  padding:0;
	}
	body.single-season .entry-header {
		padding-bottom:4rem;
	}
	body.home.singular .entry-header {
		padding:0;
	}
	.footer-widgets h5 {
		margin-top:0;
		margin-bottom:0;
	}
	.widget.widget_text {
		margin-top:0.5rem;
	}
	.widget.widget_text p {
		margin-bottom:0.5rem;
	}
	.footer-widgets.column-three .widget {
		margin-top:0.5rem;
	}
	#mailchimp {
		margin-top:2rem;
	}
	
	#mailchimp input {
		border-radius:7px;
	}
	.footer-nav-widgets-wrapper {
		background-color:#CD7F32;
	}
	.footer-widgets-outer-wrapper {
		padding-top:4rem;
		padding-bottom:4rem;
		
	}
	.footer-widgets.column-one, .footer-widgets.column-two {
		border-right:1px solid silver;
	}
	.album-content {
		margin-bottom:4rem;
	}
	
	.album-content img {
		border:1px solid grey;
		box-shadow: 3px 3px 5px silver;
	}
	.album-meta {
		margin-top:2rem;
		margin-left:1rem;
		margin-right:1rem;
	}
	.album-links {
		margin-left:1rem;
		margin-right:1rem;		
	}
	.album-links p {
		margin-bottom:0.25rem;
	}
	body.single-event .post-inner {
		padding-top:4rem;
	}
	.event-meta.aligncenter {
		margin-top:0;
		padding:2rem;
		border:1px solid grey;
		border-bottom-width:5px;
	}
	.archive-header {
		padding-top:4rem;
	}
	body:not(.singular) main > article:first-of-type {
		padding-top:4rem;
	}
	body.single-season #site-content article.type-season > .post-inner {
		margin-bottom:4rem;
	}
	.event-meta.aligncenter {
		margin-bottom:2rem;
		border-radius:7px;
	}
	.event-meta.aligncenter .concert-coordinates {
		font-size:2.1rem;
		max-width: 60%;
	}

	.back-to-parent-event {
		padding-bottom:1rem;
	}
	.post-inner {
		padding-top:4rem;
	}
	.post-nav-label {
		font-size:1.8rem;
		font-weight:bold;
	}
	.next-post-wrapper {
		text-align:right;
	}
	.event-meta {
		display:flex;
		align-items: center;
		justify-content:space-between;
	}
	.event-meta .event-coordinates {
		width:60%;
	}
	.event-meta .event-ticketing {
		text-align:right;
		width:35%;
	}
	.musician-wrapper h5 {
		margin-top:1rem;
		margin-bottom:0.5rem;
	}	
	
	.post-links a.button-style {
		display: inline;
	 	text-align: center;
		
	}
	p.see-more-wrapper {
		margin-top:2rem;
	}
	.list-post-content .post-meta {
		margin-left:0;
	}
	.post-excerpt-wrapper {
	}
	.post-excerpt-wrapper p {
		margin-bottom:0.25rem;
	}
	.entry-content .list-post-content h4, .list-post-content h4 {
		margin-bottom:0.75rem;
		font-weight:normal;
		letter-spacing:0;
	}
	h4.aligncenter {
		text-align:center;
	}
	.season-thumbnails {
		display:flex;
		justify-content:center;
		padding-bottom:4rem;
		border-bottom:1px solid cornflowerblue;
	}
	.season-thumbnails.aligncenter img {
		margin-left:2rem;
		margin-right:2rem;
		border-radius:7px;
		border:2px solid transparent;
	}
	.season-thumbnails.aligncenter:hover img {
		border-color:#CD7F32;
	}
}

@media (min-width: 782px) {
	.wp-block-columns .wp-block-column p {
		width:90%;
	}
	.entry-content > p:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
		max-width:85%;
	}
	.entry-content > ul:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
		max-width:85%;
	}

}

@media ( min-width: 1000px ) {
	#current-events-wrapper, #latest-blog-posts-wrapper, #child-events-wrapper, #musicians-wrapper {
		display:flex;
		flex-direction:row;
		justify-content:space-around;
		align-items:stretch;
		margin-top:4rem;
		margin-bottom:0;
		flex-wrap:wrap;
	}
	#current-events-wrapper .current-event, #latest-blog-posts-wrapper .latest-post, #child-events-wrapper .child-event, #musicians-wrapper .musician-wrapper {
		width:23%;
		position:relative;
		
	}
	
	
	#current-events-wrapper .current-event .current-event-content, #latest-blog-posts-wrapper .latest-post .latest-post-content, #child-events-wrapper .child-event .child-event-content {
		position:relative;
		margin:0 1rem;
		padding-bottom:5rem;
	}

	a.button-large {
		font-size:2.7rem;	
		border-radius:12px;
	}

	.season-event-main .season-event-content {
	}
	.season-event-main h4 {
		margin-top:0;
		margin-bottom:1rem;
	}
	h5.title-list {
		margin-top:1rem;
		margin-bottom:0.5rem;
	}
	
	ul.footer-menu {
		font-size:1.8rem;
		font-weight:normal;
	}
	#albums-wrapper {
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	#albums-wrapper .album-content {
		width:48%;
	}
	.entry-content > .alignwide:not(.wp-block-group.has-background), .entry-content > .alignfull:not(.wp-block-group.has-background) {
		margin-top:2rem;
		margin-bottom:4rem;
	}
	.entry-content > .list-post-wrapper {
		display:flex;
		align-items:flex-start;
		margin-bottom:2rem;
	}
	
	.footer-menu {
		display:block;
	}
	
	.featured-media img {
		width:auto;
		object-fit:contain;
		
	}

	.featured-media {
		max-height:60vh;
	}


	body.home .featured-media {
		max-height:70vh;
	}

	body.home .featured-media img {
		
	}
	.list-post-wrapper {
		display:flex;
		align-items:flex-start;
		margin:0 auto;
		background-color: aquamarine;
		padding: 3rem;
		border-radius:12px;
	}
	.list-post-wrapper:nth-child(2n) {
		background-color:transparent;
	}
	
	.list-post-wrapper:nth-child(2n+1) .concert-meta {
		border-top-right-radius:0;
		border-bottom-right-radius:0;
		
	}
	.list-post-media, .list-post-main {
		width:50%;
	}
	.list-post-main {
		padding-left:4rem;
		font-size:1.6rem;
		margin-top: -6px;
	}
	
	.list-post-main h4 {
		margin-top:0;
		line-height:1.2;
	}
	.post-links {
		padding:0.75rem 0;
		margin:0;
	}
	.musician-image-wrapper {
		height:300px;
		display: flex;
  		justify-content: center;
  		align-items: center;
	}

	p.link {
		text-align: left;
	}
	a.button-style span.more-about {
		display:none;
	}
}


@media ( max-width: 700px ) {
	.prev-post-wrapper {
		margin-bottom:2rem;
	}
	.event-meta.aligncenter {
		padding:1rem;
	}
	.season-event-main {
		margin-right:0;
		margin-left:0;
	}
	.event-meta {
		display:block;
	}
	.event-meta .event-coordinates {
		width:auto;
	}
	.event-meta .event-ticketing {
		text-align:left;
		width:auto;
		margin-top:2rem;
		padding-bottom: 2rem;
	}
	.concert-meta .post-links a.button-style {
		display:block;
		text-align:center;
	}
	.concert-links a.button-style {
		display: block;
	 	text-align: center;
	}
	p.see-more-wrapper a.button-style {
		display:block;
		text-align:center;
	}
	.singular .entry-header {
		padding-bottom:0;
	}
	.event-meta.aligncenter {
		margin-top:0;
	}
}

@media ( max-width: 1000px ) {
	#current-events-wrapper .current-event {
		padding:1rem 2rem;
	}
	.featured-media img {
		height:auto;
	}
	.featured-media {
		max-height:auto;
	}
	#mc_embed_signup_scroll {
		display:block;
	}
	#mailchimp input {
		margin-bottom:0.5rem;
	}
	.list-post-wrapper {
		padding:2rem 3rem;
		background-color: aquamarine;
		
	}
	.list-post-wrapper:nth-child(2n) {
		background-color:transparent;
	}
	.list-post-wrapper:first-child {
	}
	.entry-content .list-post-content h4 {
		margin-top:2rem;
	}
	.concert-meta {
		padding-left:3rem;
		margin-left:-3rem;
	}

}

/* FOOTER */

@media (min-width: 1220px) {
	.footer-widgets-wrapper {
    	margin-left: -3rem;
		width: calc(100% + 3rem);
	}
	.footer-widgets {
		margin-left:3rem;
	}
	.footer-menu li {
		margin-top:1rem;
	}
}
