/*
 * GENERAL
 */
/* Stretch cover images and overlays */
.page .entry-content .wp-block-cover.alignfull>img,
.page .entry-content .wp-block-cover.alignfull>.wp-block-cover__gradient-background {
	max-width: none;
	width: 100%;
}

/* Scrolling plugin - Set the height of the auto-generated ps2id dummy offset element to make sure the scrolls to anchors end up in the right place */ 
#ps2id-dummy-offset {
	height: 120px;
}

/* Desktop/Mobile conditional classes */
@media screen and (min-width: 782px) { 
	.ns-hide-on-large {
		display: none !important;
	}
}
@media screen and (max-width: 782px) { 
	.ns-hide-on-small {
		display: none !important;
	}
}

/* General heading classes */
.ns-headings-intro {
	font-family: 'Karla';
	font-weight: 400;
	margin: 0;
}

.ns-headings-main {
	margin: 0;
}

@media screen and (max-width: 782px) {
	.ns-headings-intro {
		font-size: 20px !important;
	}
	.ns-headings-main {
		font-size: 32px !important;
	}
}


/*
 * TOP MENU
 */
#primary-menu .button {
	padding-right: 0;
	position: static;
}

#primary-menu .button a {
	border-radius: 4px;
}

@media screen and (max-width: 782px) {
	#primary-menu.menu.nav-menu li {
		padding: 0.5em 0;
		margin: 0.25em;
	}
	
	#masthead.site-header--sticky {
		/* copy styles from desktop */
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 10000;
	}
}

@media screen and (min-width: 782px) { 
	#masthead {
		height: 90px;
		padding: 0;
	}

	#masthead .width-wrapper {
		/* This flex was already applied above 1200px. Apply it to smaller windows too. */
	  display: flex;
	  justify-content: space-between;
		align-items: center;
		height: 100%;
  }
	
	#masthead .width-wrapper .site-branding {
		flex-shrink: 1;
	}
	
	#masthead #site-navigation {
		flex-shrink: 0;
	}
	
	#masthead ul {
		padding-left: 1em;
	}
	
	#masthead ul li {
		padding-right: 1.2em
	}	
}


/* 
 * HOME
 */

/*** HOME > [FONTS] */
.ns-home-2up-text-column p,
.ns-home-priority-body {
	font-weight: 400;
}

@media screen and (max-width: 782px) {
	.ns-home-2up-text-column p,
	.ns-home-priority-body,
	.ns-home-priority-box .ns-home-priority-link>a {
		font-size: 16px !important;
		line-height: 1.2;
	}
}

@media screen and (min-width: 782px) {
	.ns-home-2up-text-column p,
	.ns-home-priority-body {
		font-size: 24px;
		line-height: 1;
	}
}

/*** HOME > COVER */
.ns-home-cover-desc {
	line-height: 1.1;
	margin: 0.5rem 0 1.5rem;
}
.ns-home-cover-button>a {
  padding: 0.5rem 3rem;
}

@media screen and (max-width: 782px) {
	.ns-home-cover {
		text-align: center;
	}

	.ns-home-cover-mobile-image {
		border-radius: 90px;
		padding: 2em;
	}
	
	.ns-home-cover>img {
		display: none;
	}
	
	.ns-home-cover>.wp-block-cover__gradient-background {
		opacity: 1 !important;
	}
	
	.ns-home-cover-button {
		font-size: 16px;
		width: 100%;
	}
	
	.ns-home-cover-button>a {
    color: #f36e25 !important;
		background-color: #fff !important;
	}
	
	.ns-home-cover h3 {
		font-size: 18px;
	}
}


/*** HOME > 2-UP */
.ns-home-2up .ns-headings-intro,
.ns-home-2up .ns-headings-main {
	  color: #f36e25;
}

@media screen and (max-width: 782px) {
	/* These 2-ups are very hacky because of the way things work in desktop vs mobile. Consider revising. */
  .ns-home-2up>img {
		bottom: 50% !important;
		height: 50% !important;
	}
  
	.ns-home-2up>.wp-block-cover__gradient-background {
	  top: 50% !important;
  }

  .ns-home-2up-text-column {
	  padding: 2em 3em 2em 3em;
  }
}

@media screen and (min-width: 782px) {
  .ns-home-2up>img {
	  right: 50% !important;
	  width: 50% !important;
  }
  .ns-home-2up>.wp-block-cover__gradient-background {
	  left: 50%;
	  width: 50% !important;
  }

  .ns-home-2up-text-column {
	  padding-left: 6em;
  }
	
	.ns-home-2up-text-column p {
		font-size: 24px;
		font-weight: 400;
		line-height: 1;
	}
}

/*** HOME > PRIORITY BOXES */
.ns-home-priority-row {
	align-items: stretch;
}

.ns-home-priority-row>.wp-block-column {
	position: relative;
}

.ns-home-priority-box {
	padding: 2rem;
	height: 100%;
}

.ns-home-priority-box>.wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.ns-home-priority-header {
	margin: 0;
	line-height: 1;
	min-height: 3rem
}

.ns-home-priority-body {
	min-height: 8rem
}

.ns-home-priority-link {
	margin-top: auto;
	margin-bottom: 0;
}
.ns-home-priority-box .ns-home-priority-link>a {
	color: #fff;
}

@media screen and (max-width: 782px) {
  .ns-home-priority-wrapper {
	  background: white !important;
		padding-bottom: 0;
  }
	
	.ns-home-priority-wrapper>.wp-block-group__inner-container {
		width: 100% !important;
	}
	
	.ns-home-priority-wrapper>.wp-block-group__inner-container h2 {
		width: 92% !important;
		margin-left: auto;
		margin-right: auto;
	}
	
	.ns-home-priority-wrapper .wp-block-column {
		 margin-left: 0 !important;
	}
	
	.ns-home-priority-wrapper .wp-block-columns {
		margin-bottom: 0;
	}
	
	.ns-home-priority-box {
		padding: 3em !important;
	}
	
	.ns-home-priority-body {
		min-height: 0 !important;
	}
	
	.ns-home-priority-box-even {
		background: #effbf3 !important;
		color: #0f3e1f !important;
	}
	
	.ns-home-priority-box.ns-home-priority-box-even .ns-home-priority-link>a {
		color: #0f3e1f;
	}
}


/*
 * MEET
 */
@media screen and (min-width: 782px) {
	.ns-meet-cover>img {
		left: 50% !important;
		width: 50% !important;
	}
  .ns-meet-cover>.wp-block-cover__gradient-background {
	  right: 50%;
	  width: 50% !important;
  }

  .ns-meet-cover-text-column {
	  padding-right: 10em;
  }
}

@media screen and (max-width: 782px) {
	.ns-meet-cover {
		min-height: 0;
	}
	
	.ns-meet-cover>img {
		display: none;
  }
	
  .ns-meet-cover>.wp-block-cover__gradient-background {
		right: 0;
		width: 100% !important;
  }
	
  .ns-meet-cover-text-column {
	  padding: 2em;
  }
}


/*
 * GET INVOLVED
 */
.ns-involved-cover .wp-block-cover__gradient-background {
	/* A bunch of hacks to get rid of the dimming from the default overlays */
	background-color: rgba(0,0,0,0) !important;
	 background-image: linear-gradient(to bottom, rgba(0,0,0,0) 40%, rgba(23, 95, 49,1) 95%);
	opacity: 1 !important;
	width: 100% !important;
}

.ns-involved-cover .wp-block-cover__gradient-background:before {
	display:none;
}

.ns-involved-list {
	margin-bottom: 0;
}

.ns-involved-list li {
	margin-top: 0.4em;
}

@media screen and (max-width: 782px) {
	.ns-involved-get-involved {
		text-align: left !important;
		font-size: 32px !important;
	}
	
	.ns-involved-cover-subhead,
	.ns-involved-form-heading {
		font-size: 18px !important;
	}
	
	.ns-involved-list {
		font-size: 16px !important;
	}
}


/*
 * NGP FORMS
 */
.ngp-form header,
.ngp-form .at-legend {
	/* Hack to remove elements of the ngp-form we don't want. Consider changing this on NGP's side instead */
	display: none;
}

.alignwide .ngp-form {
	max-width: none;
}

.ngp-form.at .at-submit.btn-at {
	border-radius: 4px!important;
	padding: 0.5rem 2rem;
}


/*
 * DONATION FORM
 */
.ns-donation-2022 .wp-block-tfc-blocks-actblue a.button {
	font-family: 'Karla';
	border-radius:4px;
	padding: 0.1rem;
	margin: 8px 16px;
}

.ns-donation-2022 #help-re-elect-nate {
	margin-top: 1em;
}

@media screen and (min-width: 782px) {
  .ns-donation-2022 #help-re-elect-nate {
	  margin-bottom: 0;
  }

  .ns-donation-2022 #become-a-donor-today {
	  margin-top: 1rem;
  }

  .ns-donation-2022 .wp-block-tfc-blocks-actblue {
	  margin-top: 2em;
	  margin-bottom: 2em;
  }

  .ns-donation-2022>.wp-block-group__inner-container>.wp-block-columns {
	  margin-bottom: 0;
  }
}

@media screen and (max-width: 782px) {
	.ns-donation-2022 #become-a-donor-today {
		font-size: 18px !important;
	}
}



/*
 * PRIORITIES
 */
/*** PRIORITIES > COVER */
@media screen and (max-width: 782px) {
	.ns-priorities-cover {
		min-height: 0;
	}
	.ns-priorities-cover>img {
		display: none;
	}
	.ns-priorities-cover>.wp-block-cover__gradient-background {
		opacity: 1 !important;
	}
	.ns-priorities-cover .wp-block-columns {
		margin-bottom: 0.5em;
		margin-top: 0.5em;
	}
	.ns-priorities-cover-priorities {
		font-size: 32px !important;
	}
}

/*** PRIORITIES > SECTIONS */
.ns-priorities-priority-wrapper.wp-block-group:where(.has-background) {
	/* style.css changes the padding based on whether or not a group has background. This is a hack to undo that behavior. */
	padding-bottom: 3em;
}

.ns-priorities-priority-back-button>a {
	padding: 0.5rem 3rem;
}

@media screen and (max-width: 782px) {	
	.ns-priorities-priority-wrapper h1 {
		font-size: 32px !important;
	}
	
	.ns-priorities-priority-back-button {
		min-width: 270px;
	}
	
	.ns-priorities-priority-back-button>a {
		font-size: 16px !important;
	}
}


/*
 * ENDORSEMENTS
 */
/*** ENDORSEMENTS > COVER */
@media screen and (max-width: 782px) {
	.ns-endorsements-cover {
		min-height: 100px !important;
	}
}

/*** ENDORSEMENT > IMAGES */
@media screen and (min-width: 782px) {
	.ns-endorsements-image img {
		filter: grayscale(100%);
		transition: 0.3s;
	}

	.ns-endorsements-image img:hover {
		filter: grayscale(0);
		transition: 0.3s;
		transform: scale(1.2);
	}
}


/*
 * NEWS
 */
/*** NEWS > COVER */
@media screen and (max-width: 782px) {
	.ns-news-cover {
		min-height: 150px !important;
	}
}

/*** NEWS > POST */
.ns-news-post-wrapper {
	padding: 0 0 2rem;
	margin-bottom: 0 !important;
}

.ns-news-post-wrapper:nth-child(2) {
	/* Mess with the first ns-news-post-wrapper background to create an overlap effect with the header */
	background-image: linear-gradient(to bottom, #175f31 10%, #effbf3 10%) !important;
}

.ns-news-post-wrapper .wp-block-columns {
	margin: 0;
}

.ns-news-post { 
	border-radius: 4px;
}

.ns-news-post h5 /* date */ {
	margin-bottom: 0.2em;
}

.ns-news-post h2 {
	line-height: 1.2;
}

@media screen and (min-width: 782px) {
	.ns-news-post { 
		padding: 4rem 6rem 2rem;
	}
}

@media screen and (max-width: 782px) {
	.ns-news-post { 
		padding: 2em 1em 1em;
	}
	
	.ns-news-post h2 {
		font-size: 24px !important;
	}
	
  .ns-news-post h5 /* date */,
	.ns-news-post p {
	  font-size: 16px !important;
		line-height: 1.2;
  }
}

/*** NEWS > MORE NEWS */
@media screen and (max-width: 782px) {
	.ns-news-more-news-button>a { 
		font-size: 18px !important;
	}
}



/*
 * JOIN MAILING LIST FORM
 */
.ns-join .at-inner {
	background: none;
}

.ns-join h2 {
	line-height: 1.1;
}

.ns-join .at-text.EmailAddress {
	/* Make the label text transparent */
	color: rgba(0,0,0,0);
}

.ns-join .at-text.EmailAddress input {
	border-color: #f36e25;
	margin-bottom: 0;
}

.ns-join .at-form-submit {
	text-align: center;
}

.ns-join .at-form-submit input {
	margin: 0 0.625em;
}

.ns-join .at-form-submit input {
	margin-top: 0;
	display: block;
	width: 94%; /* Approximate. Sizing is difficult in the at-form */
	float: none;
}

.ns-join .ns-join-content {
	max-width: 350px !important;
	margin-top: 6em;
}

@media screen and (max-width: 782px) {
  .ns-join.wp-block-cover {
	  min-height: 0;
  }
	
	.ns-join .wp-block-cover__gradient-background {
		background: white !important;
	}
	
	.ns-join .ns-join-content {
		margin-top: 3em;
	}
}



/*
 * SINGLE VIDEO PLAYER
 */
.single-aiovg_videos .site-content {
	width: 92%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
}

.single-aiovg_videos aside, .single-aiovg_videos .post-navigation {
	display: none;
}


/*
 * FOOTER
 */
#colophon {
	padding: 0;
}

#colophon .footer-widgets {
	padding: 0;
	border-bottom: 0;
}

#colophon .footer-widgets .widget-column:nth-child(1) {
	background: #fef5f0;
}

#colophon .footer-widgets .widget-column:nth-child(2) {
	background: #fbcfb6;
}
	
#colophon .ns-footer-paid-for {
		margin: 184px auto 0;
		border-top: 1px solid #0f3e1f;
		padding-top: 20px;
		line-height: 24px;
		width: 80%;
}

#colophon .ns-footer-powered-by {
	color: #0f3e1f
}

#colophon .ns-footer-powered-by a {
	color: #f36e25;
}

#colophon #menu-footer a {
	color: #f36e25;
}

#colophon .wp-block-coblocks-social.is-style-mask a {
	color: #175f31;
}

#colophon .wp-block-buttons {
	margin: 1em 2em 3em
}

#colophon .wp-block-button {
	margin: 0.2em 0;
}

#colophon .site-info {
	display: none;
}



@media screen and (max-width: 782px) {
	#colophon .footer-widgets {
		width: 100%
	}
	
	#colophon .widget-column {
		padding: 1.5em;
	}
	
	#colophon .footer-widgets .widget_nav_menu ul li {
		padding: 0.75em 0;
		margin: 0.25em;
	}
}

@media screen and (min-width: 782px) {
	#colophon {
		padding: 0;
		/* Change the color of the full width background somewhere behind the actual widget columns */
		background: linear-gradient(90deg, #fef5f0  45%, #fbcfb6 50%);
	}
	
	#colophon .footer-widgets .widget-column {
		margin: 0;
		padding: 2em 1.5em;
	}
	
	#colophon .footer-widgets .widget-column:nth-child(1) .widget_media_image {
		margin: 0;
	}
	
	#colophon .footer-widgets .widget-column:nth-child(2) {
		flex-grow: 1.5;
	}
	
	#colophon .footer-widgets .widget_nav_menu ul {
		text-align: center;
	}
	
	#colophon .footer-widgets .widget_nav_menu ul li {
		display: inline-block;
	}
	
	#colophon .wp-block-buttons.ns-footer-buttons {
		width: 80%;
		margin: auto;
	}
	
	#colophon .ns-footer-buttons a {
		padding: 0.4em;
	}
}