/* 
Theme Name: NTN
Theme URI: https://github.com/elementor/hello-theme/
Description: NTN is a child theme of Hello Elementor, created by Elementor team
Author: JMB Web Consulting
Author URI: https://jmberry.com/
Template: hello-elementor
Version: 1.0.3
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root {
	--page-color: #00819e;
}

/* hide post titles manually rather than using the Elementor switch b/c
 * that switch breaks post title display in the loop editor...
 */
.post .page-header,
.post .page-title {
	display: none;
}

/* branded color scheme for headings, buttons, and pale header background */
.archive {
	--page-color: var(--e-global-color-f5bebae);
}
.elementor-widget-heading .elementor-heading-title {
    color: var(--page-color);
}
.elementor-widget-button .elementor-button {
    background-color: var(--page-color);
}
.has-primary-theme .ntn-header,
.error404 .ntn-header,
.has-primary-theme .ntn-hero {
    background-color: var(--e-global-color-e0757b2);
}
.has-secondary-theme .ntn-header,
.has-secondary-theme .ntn-hero {
    background-color: var(--e-global-color-7269e68);
}
.has-accent-theme .ntn-header,
.has-accent-theme .ntn-hero {
    background-color: var(--e-global-color-426a911);
}
.has-f5bebae-theme .ntn-header,
.has-f5bebae-theme .ntn-hero,
.archive .ntn-header,
.archive .ntn-hero {
    background-color: var(--e-global-color-95db759);
}
.has-cfd85b0-theme .ntn-header,
.has-cfd85b0-theme .ntn-hero {
    background-color: var(--e-global-color-751e9a4);
}
.ntn-hero--right {
	background-repeat: no-repeat;
	background-position: 98% bottom;
	background-size: contain;
}
.archive .ntn-hero--right{
	background-position: 85%;
}
.has-primary-theme .ntn-hero--right,
.search .ntn-hero--right {
	background-image: url('./images/circles-blue.svg');
}
.has-secondary-theme .ntn-hero--right {
	background-image: url('./images/circles-purple.svg');
}
.has-accent-theme .ntn-hero--right {
	background-image: url('./images/circles-red.svg');
}
.has-f5bebae-theme .ntn-hero--right,
.archive .ntn-hero--right {
	background-image: url('./images/circles-orange.svg');
}
.has-cfd85b0-theme .ntn-hero--right {
	background-image: url('./images/circles-green.svg');
}
.home .ntn-hero--right {
	background-image: url('./images/circles-hero-home.svg');
}

@media screen and (max-width:768px) {
	.elementor .ntn-header {
		background-color: var(--page-color);
	}
	.elementor .elementor-search-form--skin-full_screen .elementor-search-form__toggle .e-font-icon-svg-container svg,
	.elementor .elementor-search-form--skin-full_screen .elementor-search-form__toggle i svg {
		fill: #fff;
	}
}

/* hero images */
.ntn-hero .elementor-shortcode {
	text-align: right;
}
.ntn-hero .ntn-hero--image {
	border-radius: 50%;
	max-width: 150px;
	position: relative;
	right: 25%;
	bottom: 1rem;
}
.home .ntn-hero .ntn-hero--image {
	max-width: 115px;
	right: 8%;
	bottom: -2rem;
}
.home .ntn-hero .e-con-inner > .e-con {
	padding: 0;
}
@media screen and (min-width:768px) {
	.ntn-hero .ntn-hero--image {
		max-width: 200px;
		right: 40%;
	}
	.home .ntn-hero .ntn-hero--image {
		width: 65%;
		max-width: 285px;
		right: 20%;
		bottom: -2rem;
	}
}
@media screen and (min-width:1024px) {
	.ntn-hero .ntn-hero--image {
		max-width: 300px;
	}
	.home .ntn-hero .ntn-hero--image {
		max-width: 400px;
	}
	/* .archive .ntn-hero--image {
		max-width: 200px;
	} */
}

/* decorative background circles */
@media screen and (min-width:768px) {
	.bg-circles::before {
		position: absolute;
		display: block;
		content: '';
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
	}
	.bg-blue1::before {
		background-image: url('images/bg-blue1.png');
		background-position: left bottom;
		background-size: 350px;
	}
	.bg-blue2::before {
		background-image: url('images/bg-blue2.png');
		background-position: left 2rem;
		background-size: 200px;
	}
	.bg-blue3::before {
		background-image: url('images/bg-blue3.png');
		background-position: left bottom 2rem;
		background-size: 350px;
	}
	.bg-blue4::before {
		background-image: url('images/bg-blue4.png');
		background-position: left bottom 1rem;
		background-size: 350px;
	}
	.bg-blue5::before {
		background-image: url('images/bg-blue5.png');
		background-position: left bottom 1rem;
		background-size: 250px;
	}
	.bg-green1::before {
		background-image: url('images/bg-green1.png');
		background-position: right bottom;
		background-size: 200px;
	}
	.bg-purple1::before {
		background-image: url('images/bg-purple1.png'), url('images/bg-purple2.png');
		background-position: left center, right 80%;
		background-size: 300px;
	}
	.bg-orange1::before {
		background-image: url('images/bg-orange1.png'), url('images/bg-orange3.png');
		background-position: left center, right bottom;
		background-size: 30%, 250px;
	}
	.bg-orange2::before {
		background-image: url('images/bg-orange4.png');
		background-position: left bottom 1rem;
		background-size: 250px;
	}
	.bg-orange3::before {
		background-image: url('images/bg-orange5.png');
		background-position: 4rem bottom;
		background-size: 250px;
	}
	.bg-red1::before {
		background: url('images/bg-red1.png') left center no-repeat;
		background-size: 250px;
	}
}

/* typography */
.h1 {
	font-size: 2.25rem
}
.h2 {
	font-size: 1.75rem;
}
.h3 {
	font-size: 1.6rem;
}
.h4 {
	font-size: 1.5rem;
}
.eyebrow h1,
.eyebrow p {
	font-size: 1.25rem;
	font-weight: 400;
}
.eyebrow span {
	display: block;
}
.eyebrow .h1 {
	font-weight: 600;
}

.elementor-widget-text-editor blockquote {
	margin-inline-start: 2rem;
	margin-inline-end: 2rem;
	padding-left: 20px;
	border-left: 14px solid var( --e-global-color-f5bebae );
}
.elementor-widget-text-editor blockquote p {
	font-size: 1.5rem;
	font-weight: 300;
	font-style: oblique;
}

@media screen and (min-width: 1024px) {
	.h1 {
		font-size: 4.5rem;
	}
	.h2 {
		font-size: 2.875rem;
	}
	.h3 {
		font-size: 2.5rem;
	}
	.h4 {
		font-size: 1.75rem;
	}
	.eyebrow h1,
	.eyebrow p {
		font-size: 3.125rem;
	}
}

/* buttons */
.elementor-button .elementor-button-icon {
	display: flex;
	align-items: center;
	transition: all 0.25s;
}
.elementor-button:hover .elementor-button-icon {
    transform: translateX(5px);
}
.facetwp-facet button,
.gform_button {
	font-size: 1.375rem;
	font-weight: 500;
	background-color: var(--e-global-color-primary);
	border: none;
}
[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
	background-color: var(--e-global-color-f5bebae);
}

/* master layout grid */
.ntn-row .e-con-inner > .e-con,
.ntn-row--padded > .e-con-inner {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
@media screen and (min-width:768px) {
	.ntn-row .e-con-inner > .e-con,
	.ntn-row--padded > .e-con-inner {
		padding-top: 3rem;
		padding-bottom: 4rem;
	}
}
@media screen and (min-width:1024px) {
	.ntn-row .e-con-inner > .e-con,
	.ntn-row--padded > .e-con-inner {
		padding-top: 5rem;
		padding-bottom: 6rem;
	}
}

@media screen and (min-width:768px) {
	/* layout grid */
	.ntn-width-3.e-con>.e-con-inner>.elementor-widget {
		max-width: 25%;
	}
	.ntn-width-4.e-con>.e-con-inner>.elementor-widget {
		max-width: 33%;
	}
	.ntn-width-5.e-con>.e-con-inner>.elementor-widget {
		max-width: 42%;
	}
	.ntn-width-6.e-con>.e-con-inner>.elementor-widget {
		max-width: 50%;
	}
	.ntn-width-7.e-con>.e-con-inner>.elementor-widget {
		max-width: 58%;
	}
	.ntn-push-1.e-con>.e-con-inner>.elementor-widget {
		left: 8%;
	}
	.ntn-push-2.e-con>.e-con-inner>.elementor-widget {
		left: 16%;
	}
	.ntn-push-6.e-con>.e-con-inner>.elementor-widget {
		left: 50%;
	}
}

/* post grid */
.ntn-archive-grid .e-loop-item {
	position: relative;
	overflow: hidden;
	background: #fff;
	transition: all .25s;
}
.elementor-card-shadow-yes .elementor-post__card,
.ntn-archive-grid .e-loop-item {
	box-shadow: 6px 6px 9px 0 rgba(0,0,0,.10);
}
.ntn-archive-grid .e-loop-item:hover {
	box-shadow: 0 0 30px 0 rgba(0,0,0,.15);
}
.elementor-post__card::before,
.ntn-archive-grid .e-loop-item::before{
	display: block;
	content: '';
	position: absolute;
	width: 10rem;
	height: 10rem;
	background-color: #636667;
	background-image: url('images/ntn-bug.png');
	background-size: 30%;
	background-position: 1.5rem 5.5rem;
	background-repeat: no-repeat;
	border-radius: 50%;
	margin-top: -5rem;
	right: -5rem;
}
.post-type-19 .elementor-post__card::before,
.ntn-archive-grid .post-type-19::before {
	background-color: var(--e-global-color-primary);
	background-image: url('images/icon-resource.svg');
}
.post-type-34 .elementor-post__card::before,
.ntn-archive-grid .post-type-34::before {
	background-color: var(--e-global-color-secondary);
	background-image: url('images/icon-voice.svg');
}
.post-type-16 .elementor-post__card::before,
.ntn-archive-grid .post-type-16::before {
	background-color: var(--e-global-color-accent);
	background-image: url('images/icon-district.svg');
}
.post-type-35 .elementor-post__card::before,
.ntn-archive-grid .post-type-35::before {
	background-color: var(--e-global-color-f5bebae);
	background-image: url('images/icon-school.svg');
}
.elementor-post__card .elementor-post__title,
.ntn-archive-grid .elementor-heading-title {
	max-width: calc(100% - 2rem);
}
.ntn-archive-grid .elementor-heading-title a {
	text-decoration: none;
}
.ntn-topic a:hover,
.ntn-topic a:focus {
	text-decoration: underline;
}

/* search results */
.search .elementor-post__read-more::after {
	display: inline-block;
	content: '';
	width: 1rem;
	height: 1rem;
	margin-bottom: -.2rem;
	margin-left: .5rem;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' fill='%23e06f29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	transition: transform .5s;
}
.search .elementor-post__read-more:hover::after {
	transform: translateX(5px);
}

/* "events" (custom styled Call to Action) */
.ntn-events .ribbon-primary .elementor-ribbon::before {
	background-color: var(--e-global-color-primary);
}
.ntn-events .ribbon-secondary .elementor-ribbon::before {
	background-color: var(--e-global-color-secondary);
}
.ntn-events .ribbon-accent .elementor-ribbon::before {
	background-color: var(--e-global-color-accent);
}
.ntn-events .ribbon-f5bebae .elementor-ribbon::before {
	background-color: var(--e-global-color-f5bebae);
}
.ntn-events .ribbon-cfd85b0 .elementor-ribbon::before {
	background-color: var(--e-global-color-cfd85b0);
}
.ntn-events .ribbon-text .elementor-ribbon::before {
	background-color: var(--e-global-color-text);
}

/* single posts */
.single-post .elementor-widget-icon {
	flex-shrink: 0;
}

/* team member grid */
.elementor-68 .elementor-element.elementor-element-3684f38 .eae-popup-link,
.elementor-68 .elementor-element.elementor-element-3684f38 .eae-popup-link:hover {
	background: transparent !important;
}

/* footer */
.elementor-widget-icon-list .elementor-widget .elementor-icon-list-item,
.elementor-widget-icon-list .elementor-widget .elementor-icon-list-item a {
    align-items: flex-start;
}

.elementor-widget-nav-menu .e-font-icon-svg path {
    fill: currentColor;
}
/* custom mobile menus */
.lytbox-button {
	--hamburger-color: #fff;
	--close-x-color: #fff;
	display: block;
	height: 18px;
	cursor: pointer;
	position: relative;
	z-index: 101;
}

/* must add in elementor template ID number to make the menu full width */
.elementor-54,
.elementor-56 {
	width: 100%;
}

.lytbox-navigation {
	position: fixed;
	top: 0;
	left: 0;
	transform: translateX(100%);
	overflow: hidden;
	transition: transform 0.2s;
	width: 100%;
	height: 100vh;
	z-index: 100;
}

.lytbox-navigation {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* toggle hamburger*/
.lytbox-button .hamburguer {
	position: relative;
}

.lytbox-button .hamburguer span{
	display: block;
	height: 2px;
	width: 24px;
	background: var(--hamburger-color);
	transform-origin: 50% 50%;
	transition: all 0.1s 0.2s ease, transform 0.2s ease;
}

.lytbox-button .hamburguer span:nth-child(2) {
	transform: translate(0, 6px);
}

.lytbox-button .hamburguer span:nth-child(3) {
	transform: translate(0, 12px);
}

.lytbox-nav_control {
	opacity: 0;
    position: absolute;
}

.lytbox-nav_control:focus ~ .lytbox-button {
    outline: 2px solid white;
    outline: auto;
}
.lytbox-nav_control:checked~.lytbox-navigation {
	transform: translateX(0);
	opacity: 1;
	transition: transform 0.3s, opacity 0.3s;
}

.lytbox-nav_control:checked~.lytbox-button .hamburguer {
	transition: all 0.1s 0s ease;
}

/* closed X */
.lytbox-nav_control:checked~.lytbox-button .hamburguer span {
	background: var(--close-x-color);
	transition: all 0.1s ease, transform 0.1s 0.2s ease;
}

.lytbox-nav_control:checked~.lytbox-button .hamburguer span:first-child {
	opacity: 0;
}

.lytbox-nav_control:checked~.lytbox-button  .hamburguer span:nth-child(2) {
	transform: translate(0, 6px) rotate(45deg);
}

.lytbox-nav_control:checked~.lytbox-button .hamburguer span:nth-child(3) {
	transform: translate(0, 4px) rotate(-45deg);
}

/* Gravity Forms */
.hide-labels .gform-field-label:not(.gform-field-label--type-inline) {
	position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border:0
}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email] {
	background: transparent;
	border-width: 0 0 1px;
	border-radius: 0;
}
.gform_wrapper input::placeholder {
	color: var(--e-global-color-text);
}

.elementor-widget-shortcode .gform_wrapper.gravity-theme select {
	appearance: none;
	background-color: transparent;
	border: none;
	margin: 0;
	padding: 3px 0 2px;
	z-index: 1;
	cursor: pointer;
	color: var(--e-global-color-text);
}

.gform_wrapper .ginput_container_select {
 	position: relative;
	max-width: 30ch;
	border-color: #666;
	border-width: 0 0 1px;
	border-style: solid;
	border-radius: 0;
	padding: 0.25em 0.5em;
}

.gform_wrapper .ginput_container_select::after {
	display: inline-block;
	content: "";
	position: absolute;
	right: 1rem;
	top: 45%;
	z-index: 0;
    width: 0.8em;
    height: 0.5em;
    background-color: var(--e-global-color-text);
    clip-path: polygon(100% 0%, 0 0%, 50% 100%);
	pointer-events: none;
}

/* FacetWP */
.facetwp-facet .facetwp-map-filtering {
	background-color: transparent;
	color: var(--e-global-color-primary);
	font-size: 1rem;
}
.elementor-shortcode .facetwp-facet {
	margin-bottom: 0;
}
.facetwp-type-dropdown .facetwp-dropdown,
.facetwp-type-hierarchy_select .facetwp-hierarchy_select {
	position: relative;
	display: block;
	padding: 8px 50px 8px 16px;
	appearance: none;
	cursor: pointer;
	border: 1px solid #666;
	background-color: #fff;
	background-image: url(images/chevron-down.svg);
	background-position: calc(100% - 1rem);
	background-repeat: no-repeat;
	background-size: 1rem;
	margin: 15px 0;
}
@media all and (min-width: 768px) {
	.facetwp-type-dropdown .facetwp-dropdown,
	.facetwp-type-hierarchy_select .facetwp-hierarchy_select {
		display: inline-block;
		width: auto;
		margin: 0;
	}
}
.facetwp-type-dropdown .facetwp-dropdown:hover,
.facetwp-type-hierarchy_select .facetwp-hierarchy_select:hover {
	background-color: #f0f0f0;
}
.facetwp-type-dropdown .facetwp-dropdown:after,
.facetwp-type-hierarchy_select .facetwp-hierarchy_select:after {
	position: absolute;
	content: '';
	width: 6px;
	height: 6px;
	border: 1px solid transparent;
	border-right-color: #000;
	border-bottom-color: #000;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(45deg);
}
.facetwp-hierarchy_select + .facetwp-hierarchy_select {
	margin-left: 1rem;
}

.facetwp-pager a {
	text-decoration: none;
	font-size: 1.25rem;
}