/******************
 * TCCTA Styles - BRANDING REDESIGN 2025

COLORS
	Blue: #7996af rgb(121,150,175)
	Light Blue: #bccad7
	Tertiary blue (for transparency): #3c627f rgba(60,98,127, 0.5)
	Orange/Yellow: #e1ac41
	Red: #BA0A2F
	Gray: #818285
	Off-Black: #040707
	Black: #000

FONTS
	AobeFnt24 (?)
	Arial (Black, Narrow Bold, Narrow)
	Georgia
	MinionPro (Bold, Regular)
	MrsEavesOT (Bold, Italic, BoldItalic)
	Times New Roman
	Verdana (Bold, Italic, Bold Italic)
******************/






/**************
GENERAL STYLE OVERRRIDES
**************/
* {
    font-family: Georgia;
}
section .section-heading h2 {
	font-family: Verdana, sans-serif;
	font-weight: 400;
	position: relative;
	line-height: 150%;
}
section .section-heading h2 .text-large {
	font-size: 6rem;
	color: #7996af;
	text-transform: uppercase;
	display: inline-block;
	position: relative;
	bottom: -8px;
}
.text-bold {
	font-weight: bold;
}
.text-white {
	color: #fff!important;
}
.text-red {
	color: #BA0A2F!important;
}
.text-black {
	color: #000!important;
}
.text-small {
	font-size: 75%;
}
.text-uppercase {
	text-transform: uppercase;
}
#hero-banner .cta-btn:after, 
#hero-banner button:after,
.hero-slider .cta-btn:after,
.hero-slider button:after,
.hero-slider .elementor-button:after,
#hero-banner .elementor-button:after  {
    font-family: "Font Awesome 5 Free"!important;
    content: "";
    margin-left:  10px;
    display:  inline-block;
    font-weight: 700;
}
form .elementor-message {
	font-family: Georgia, serif!important;
}
.elementor-message-danger {
	font-family: Georgia, serif!important;
	color: #BA0A2F!important;
}
a,
p a,
li a,
.elementor-accordion .elementor-accordion-item .elementor-tab-content a,
.elementor-widget-tabs .elementor-tab-content a {
	color: #BA0A2F;
}
b {
	font-family: inherit;
}
ol li:before {
	/*background-color: #BA0A2F!important;
	font-family: Verdana, Aria, sans-serif!important;*/
}
l li {
    padding-left: 7px;
    margin-bottom: 5px;
    list-style-type: decimal;
}

/**************
HEADER
**************/
/* PRIMARY NAV */
#nav-wrapper {
	z-index: 100;
	background-color: #fff;
}
#nav-wrapper > div,
#primary-nav-col > div,
#primary-nav nav > div {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}
#primary-nav-col > div,
#nav-wrapper .primary-nav-wrapper .nav > div {
	padding-bottom: 5px;
}
#primary-nav {
	height: auto;
}
#nav-wrapper .primary-nav-wrapper .nav > div {
	padding-left: 0;
	padding-right: 0;
}
#primary-nav .elementskit-menu-container {
	height: auto;
}
#primary-nav #menu-megamenu {
	justify-content: flex-start;
}
#primary-nav li.menu-item {
	border-bottom: 5px solid #bccad7;
	padding-bottom: 5px;
}
#primary-nav li.menu-item:hover,
#primary-nav li.menu-item:active {
	border-bottom-color: #BA0A2F;
}
#primary-nav .menu-item a {
	font-family: Verdana, sans-serif;
}
#primary-nav .menu-item > a {
	padding: 0 20px;
}
#primary-nav .menu-item:last-of-type > a {
	border-right: 0;
}
#primary-nav .menu-item li {
	border-bottom: 0;
}
#primary-nav .menu-item li a { 
	border: 0;
	padding-right: 0;
	padding-left: 0;
}
#menu-megamenu .nav-item .ekit-heading--title:hover,
#menu-megamenu .nav-item a:hover {
	color: #BA0A2F;
}
#nav-wrapper .sub-nav {
	width: auto;
	max-width: 450px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 15px;
}
#nav-wrapper .sub-nav .col {
	width: auto;
	display: flex;
	align: center;
	justify-content: center;
}
#nav-wrapper .sub-nav .col > div {
	padding: 0;
}
#nav-wrapper .sub-nav .col a {
	border-radius: 0;
	margin: 0 3px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#nav-wrapper .sub-nav .col a,
#nav-wrapper .sub-nav .col i {
	color: #818285;
	font-size: 12px;
	transition: all 0.25s ease-in-out;
}
#nav-wrapper .sub-nav .col a:hover,
#nav-wrapper .sub-nav .col a:active {
	background-color: #818285;
}
#nav-wrapper .sub-nav .col a:hover,
#nav-wrapper .sub-nav .col a:active,
#nav-wrapper .sub-nav .col i:hover,
#nav-wrapper .sub-nav .col i:active,
#nav-wrapper .sub-nav .col a:hover i,
#nav-wrapper .sub-nav .col a:active i {
	color: #fff;
}
#nav-wrapper .sub-nav .contact-link a {
	padding: 7px 10px;
	height: 30px;
}
#nav-wrapper .sub-nav .social-icons-wrapper a,
#nav-wrapper .sub-nav .search-toggle-wrapper a {
	height: 30px;
	width: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#menu-megamenu .menu-item {
	position: relative;
}
#menu-megamenu .menu-item ul {
	background-color: #fff;
	width: 300px;
   	padding: 15px;
    flex-direction: column;
    gap: 5px;
    display: flex;
    top: 35px;
    left: 0;
    width: 300px;
}
/**************
HERO BANNERS
**************/
.hero-slider, #hero-banner {
	margin-top: 0!important;
}
.hero-slider .swiper-slide .swiper-slide-inner {
    width: 100%;
    max-width: 100%;
}
.hero-slider .elementor-slides .swiper-slide-inner, 
#hero-banner .hero-inner {
	padding-bottom: 30px;
}
.hero-slider .swiper-slide .swiper-slide-contents {
    background-color: rgba(60,98,127, 0.65);
	width: 100%;
    max-width: 60%!important;
    /* TODO: need to fix LEFT padding or add multiple break points to ensure banner text lines up with header logo */
    padding: 20px 20px 20px 12.5%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
}
.hero-slider .swiper-slide .elementor-slide-heading,
.hero-slider .swiper-slide .elementor-slide-description {
	width: 100%;
    max-width: 760px;
}
.hero-slider .swiper-slide h1,
.hero-slider .swiper-slide .elementor-slide-heading {
	font-family: Verdana!important;
	font-weight: 400!important;
	font-size: 45px!important;
	margin-bottom: 15px!important;
}
.hero-slider .swiper-slide p,
.hero-slider .swiper-slide .elementor-slide-description {
	font-family: Georgia!important;
	font-weight: 300!important;
	font-size: 22px!important;
}
.hero-slider .swiper-slide .elementor-slide-description .cta {
	font-weight: 600!important;
	font-size: 125%!important;
	text-transform: uppercase!important;
	color: inherit!important;
	cursor: pointer;
	font-family: Verdana, Aria, sans-serif;
/*	color: #e1ac41!important;*/
	transition: all 0.25s ease-in-out;
/*	border-bottom: 4px solid transparent;*/
}
.hero-slider .swiper-slide .elementor-slide-description .cta:hover {
/*	border-bottom-color: #e1ac41;*/
}
/**************
HOME PAGE
**************/

/* SECTION - NEWS CARDS */
.section-news-cards article a.elementor-post__read-more {
	float: right;
}
/* SECTION - ICON BLOCKS */
section.icon-blocks-wrapper {
	position: relative;
	top: -50px;
}
section.icon-blocks-wrapper .elementor-widget-image {
	position: relative;
	bottom: -50px;
}
section.icon-blocks-wrapper .icon-content-column .elementor-widget-text-editor,
section.icon-blocks-wrapper .icon-content-column .elementor-widget-text-editor p:last-of-type {
	margin-bottom: 5px;
}
/* SECTION - MISSION STATEMENT */
.banner-mission > div {
	display: flex;
	align-items: flex-start;
}
.banner-mission .section-heading {
	margin-bottom: 10px;
}
.banner-mission .text-content p:last-of-type {
	margin-bottom: 0;
}
/* SECTION IMAGE BG with CONTENT */
.section-banner-img-bg .content-wrapper .text-content {
	margin-bottom: 5px;
}
.section-banner-img-bg .content-wrapper .text-content p:last-of-type {
	margin-bottom: 0;
}
/* SECTION - ICON BLOCKS */
.icon-blocks-wrapper .icon-block .content-wrapper .elementor-image-box-wrapper {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.tccta-image-blocks-1 {}
/* SECTION - EMAIL SIGNUP BANNER */
.section-banner-email .inner-content-col .elementor-element-populated {
 	display: flex;
 	flex: wrap;
 	justify-content: space-between;
}
.section-banner-email .inner-content-col .section-heading {
	max-width: 75%;
    flex: 0 0 100%;
    margin-bottom: 3rem;
}
.section-banner-email .inner-content-col .text-content,
.section-banner-email .inner-content-col .email-form {
    box-sizing: border-box;
    align-self: flex-start;
}
.section-banner-email .inner-content-col .text-content {
	flex: 0 0 40%;
}
.section-banner-email .inner-content-col .email-form {
	flex: 0 0 55%;
}
/* SECTION - Side By Side 2024 */
.section-side-by-side-2024 .image-col > div {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.section-side-by-side-2024 .image-col .inner-heading {
	margin-top: 30px;
	padding: 0 10px;
}
.section-side-by-side-2024 .image-col .cta {
	margin-bottom: 30px;
}
.section-side-by-side-2024 .content-col ul:last-of-type {
	margin-bottom: 0;
}
/* SECTION - COLOR CARDS */
.section-color-cards .card-col p:last-of-type {
	margin-bottom: 0;
}
.section-color-cards .card-col .cta, 
.section-color-cards .card-col a {
	transition: all 0.25s ease-in-out;
}
.section-color-cards .card-col a {
	color: #000;
}
.section-color-cards .card-col a:hover {
	color: #BA0A2F;
}
/* SECTION - Tabs */
.section-tabs-no-img .elementor-tab-title,
.section-tabs .elementor-tab-title,
.section-top-tabs .elementor-tab-title {
	background-color: #7996af!important;
}
/* SECTION - DISTRICTS LINKS */
.district-links-wrapper .district-links-item,
.district-links-wrapper .district-links-item * {
	background-color: #7996af!important;
	transition: all 0.25s ease-out!important;
}
.district-links-wrapper .district-links-item:hover,
.district-links-wrapper .district-links-item:hover * {
	background-color: #bccad7!important;
	color: #000!important;
}
.district-links-wrapper .district-links-item h3 {
	font-family: Georgia, serif;
	font-weight: normal;
	margin-bottom: 0;
}
/* CARDS - NEWS ARTICLES/POSTS (old) */
article .elementor-post__card {
    border-top-color: #BA0A2F!important;
}
article .elementor-post__card a.elementor-post__read-more:after {
	content: '';
}
article .elementor-post__card .elementor-post__read-more-wrapper {
	text-align: right;
}
/* EVENTS */
.tribe-events-c-messages__message-list .tribe-events-c-messages__message-list-item {
	font-family: Georgia, serif;
}
.district-event .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag {
	background-color: #000;
}
.district-event .tribe-events-widget-events-list__event-row .tribe-events-widget-events-list__event-date-tag-datetime {
	background-color: #BA0A2F;
}
.district-event .tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-month,
.district-event .tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-daynum,
.district-event .tribe-events-widget-events-list__event-header h3 {
	font-family: Verdana, Aria, sans-serif;
}
.district-event .tribe-events-widget-events-list__event-header h3,
.district-event .tribe-events-widget-events-list__event-header time {
	color: #000;
}
.district-event .tribe-events-widget-events-list__event-header time {
	font-family: Georgia, serif;
}
.event-card-wrapper-2025 h1,
.event-card-wrapper-2025 .elementor-heading-title {
	font-family: Verdana, Aria, sans-serif!important;
}
.event-card-wrapper-2025 p {
	font-family: Georgia, serif!important;
}
.tribe-events-notices {
	background-color: #7996AF;
}
div.tribe-events-notices>ul, div.tribe-events-notices>ul>li {
	color: #fff;
	font-family: Roboto, sans-serif;
	font-weight: bold;
	outline: none;
	border: none;
}
/****** BLOG ******/
/* Comments */
#section-posts-comments * {
	font-family: Roboto, arial, sans-serif;
}
#section-posts-comments .comments-area {
	margin-top: 0;
	padding-top: 30px;
	border-top-color: #002263;
}
#section-posts-comments .comments-area .comments-wrap {
	display: flex;
	flex-direction: column;
}
#section-posts-comments .comments-area #respond {
	order: 1;
	margin-bottom: 60px;
}
#section-posts-comments .comments-area .comment-reply-title {
	order: 2;
	font-size: 22px;
}
#section-posts-comments .comments-area .comment-list {
	order: 3;
	margin-left: 0;
	padding-left: 0;
}
#section-posts-comments #commentform .submit {
	background-color: #ba0a2f;
	border-radius: 0;
	padding: 15px 50px;
	width: 100%;
	max-width: 250px;
	text-transform: uppercase;
	font-size: 18px;
}
#section-posts-comments .comment-reply-title.comments-title,
#section-posts-comments #reply-title {
	margin-bottom: 20px;
}
#section-posts-comments .comments-area .comment-list .comment:before {
	display: none;
}
/*** NEW STYLES ***/
.icon-blocks-wrapper.flex-vertical-center > div {
    display: flex;
    justify-content: center;
}
.icon-blocks-wrapper > div {
    display: flex;
    flex-wrap: wrap;
}
/**********
 * FORUM
**********/
#bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-lead-topic, #bbpress-forums ul.bbp-replies, #bbpress-forums ul.bbp-search-results, #bbpress-forums ul.bbp-topics {
	list-style-type: none;
}
/**********
STAF / BOARD MEMBERS PAGE
***********/
.staff-grid.flex-wrap > .elementor-container {
	display: flex;
	flex-wrap: wrap;
  	align-items: stretch;
}
.staff-grid.flex-wrap > .elementor-container > .elementor-column,
.staff-grid.flex-wrap > .elementor-container > .elementor-column.elementor-col-16 {
  flex: 0 0 25%;
  max-width: 25%;
  box-sizing: border-box;
}
/* 2 per row */
@media (max-width: 1024px) {
	.staff-grid.flex-wrap > .elementor-container > .elementor-column,
	.staff-grid.flex-wrap > .elementor-container > .elementor-column.elementor-col-16 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* 1 per row */
@media (max-width: 500px) {
	.staff-grid.flex-wrap > .elementor-container > .elementor-column,
	.staff-grid.flex-wrap > .elementor-container > .elementor-column.elementor-col-16 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/**************
FOOTER
**************/
footer .nav-menu-wrapper > div,
footer .social-icons-wrapper > div {
	padding: 0 10px!important;
}
footer nav li {
/*	padding: 3px 20px!important;*/
padding: 3px 0!important;
/*	border-right: 1px solid #bccad7!important;*/
}
footer nav li:first-of-type {
/*	padding-left: 0!important;*/
}
/* KLUDGE */
footer nav + nav {
	display: none!important;
}
footer a:hover,
footer a:active {
	color: #BA0A2F!important;
}
footer nav a {
	font-family: "Arial", Verdana, sans-serif;
	padding: 0!important;
}
footer nav a:after {
	background-color: transparent!important;
}
footer .social-icons-wrapper {
	padding-top: 15px;
}
footer .social-icons-wrapper a i {
	color: #000!important;
	font-size: 22px;
	transition: all 0.25s ease-in-out;
}
footer .social-icons-wrapper a:hover i {
	color: #BA0A2F!important;
}
footer .social-icons-wrapper .elementor-social-icons-wrapper {
	display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 10px;
}
footer .footer-extra-content {}
footer .address a {
	color: #000;
	text-decoration: none;
}
footer .address p.phones {
}
footer .sponsors-wrapper {
	min-width: 350px;
}
footer .sponsors-wrapper h6 {
	font-family: "Minion Pro", Georgia, serif;
	font-weight: 400;
	font-szie: 18px;
}
footer .sponsors-wrapper .sponsors-subheading {
	margin-bottom: 5px;
}
footer .sponsors-wrapper h4 {
	font-family: "Arial", Verdana, sans-serif;
	font-weight: 300;
	font-size: 12px;
	margin-bottom: 0;
}
footer .sponsors-wrapper > div {
	display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
footer .sponsors-wrapper > div .elementor-widget-image {
	margin-bottom: 10px;
}
footer .sponsors-wrapper > div .elementor-widget-image.col-33 {
	width: auto;
}
footer .sponsors-wrapper > div .elementor-widget-image.col-25 {
	width: auto;
}
/******************
 * MEDIA QUERIES
******************/
@media (max-width: 1023px) {
	#nav-wrapper > div, #primary-nav-col > div, #primary-nav nav > div {
		align-items: flex-start;
	}
	header#nav-wrapper #primary-nav-col .primary-nav-wrapper .nav > div {
    	justify-content: flex-end;
    }
    #primary-nav {
    	width: auto;
    }
    header#nav-wrapper .nav .btn-wrapper {
		width: 50%;
    	max-width: 260px;
	}
	#nav-wrapper .sub-nav {
		order: 1;
	}
	#nav-wrapper .primary-nav-wrapper {
		order: 2;
	}

}
@media (min-width: 768px) {
    .icon-blocks-wrapper .icon-content-column {
        width: 33%!important;
    }
}
/* 550px to 767px */
@media (max-width: 767px) {
	/* GENEREAL */
	section .section-heading h2 .text-large {
		bottom: 0;
		font-size: 150%!important;
	}
	/* HEADER */
	header#nav-wrapper > div {
		display: flex;
        align-items: flex-start;
/*        justify-content: space-between;*/
	}
	header#nav-wrapper #logo-col {
		width: 30%;
	}
	header#nav-wrapper #logo-col img {
		min-width: 150px;
	}
	header#nav-wrapper #primary-nav-col {
		width: 65%;
	}
	/*header#nav-wrapper #primary-nav-col .sub-nav {
		order: 1;
	}
	header#nav-wrapper #primary-nav-col .primary-nav-wrapper {
		order: 2;
	}*/

	header#nav-wrapper #logo-col {
		width: 45%;
	}
	header#nav-wrapper #primary-nav-col {
        width: 53%;
    }
    header#nav-wrapper #primary-nav-col .primary-nav-wrapper {
    	order: 1;
    }
    header#nav-wrapper #primary-nav-col .primary-nav-wrapper .nav > div {
    	padding-top: 0;
/*    	justify-content: space-between;*/
    }
    #primary-nav button.elementskit-menu-toggler {
    	padding-bottom: 0;
    }
    header#nav-wrapper #primary-nav-col .sub-nav {
        order: 2;
        padding: 0;
    }
    #nav-wrapper .sub-nav .col a {
    	margin: 0;
    }
	#nav-wrapper .sub-nav .contact-link a {
		padding-left: 5px;
		padding-right: 5px;
		font-size: 10px!important;
		height: 20px;
	}
	#nav-wrapper .sub-nav .social-icons-wrapper a, 
	#nav-wrapper .sub-nav .search-toggle-wrapper a {
		width: 20px;
		height: 20px;
	}
	header#nav-wrapper .sub-nav .social-icons-wrapper i {
		font-size: 10px!important;
	}
	header#nav-wrapper .nav > div {
		display: flex;
		justify-content: flex-end;
	}
	header#nav-wrapper .nav .btn-wrapper {
		margin-bottom: 0;
		width: 100%;
    	max-width: 125px;
	}
	header#nav-wrapper .nav .btn-wrapper a {
		font-size: 12px!important;
		padding: 5px;
	}
	#primary-nav {
		max-width: 50px;
	}
	#menu-megamenu > li {
		margin-bottom: 10px;
	}
	#menu-megamenu .menu-item ul {
		top: 0;
		padding-bottom: 0;
	}
	#menu-megamenu .menu-item ul > li > ul {
		padding-bottom: 0;
	}
	.hero-slider .elementor-button:after, #hero-banner .elementor-button:after {
		display: none;
	}
	/* SECTION - Icon Blocks Wrapper */
	section.icon-blocks-wrapper .icon-content-column {
		border-bottom: 1px solid #7996af;
	}
	section.icon-blocks-wrapper img {
		max-width: 125px!important;
	}
	/* SECTION - Mission Banner */
	section.banner-mission > div {
		display: flex;
		flex-direction: row;
		justify-content: spce-between;
		align-items: flex-start;
	}
	section.banner-mission .image-col {
		max-width: 100%!important;
        margin: 0 auto;
        order: 2;
	}
	section.banner-mission .content-col {
		max-width: 100%!important;
        font-size: 18px;
	}
	section.banner-mission img {
		width: 100%;
	}
	section.banner-mission h2 {
		font-size: 32px;
	}
	section.banner-mission p {
		font-size: 18px;
	}
	/* SECTION - Icon Blocks 2 */
	section.section-icon-blocks-2 .section-heading {
		margin-bottom: 0;
	}
	section.section-icon-blocks-2 section.icon-blocks-wrapper {
		top: 0;
	}
	section.section-icon-blocks-2 .icon-block .elementor-image-box-wrapper {
		gap: 10px;
	}
	/* SECTION - Email Banner */
	section.section-banner-email .inner-content {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	section.section-banner-email .inner-content > div {
		display: flex;
		flex-direction: column;
	}
	section.section-banner-email .inner-content > div > div {
		flex: 1!important;
	}
	section.section-banner-email .inner-content-col .section-heading {
		max-width: 100%;
	}
	/* PAGES */
	/* Contact Page */
	.section-social-media .social-icons-wrapper a.elementor-icon,
	.section-social-media .social-icons-wrapper .icon {
		font-size: 30px!important;
	}
	/****** BLOG ******/
	/* Comments */
	#section-posts-comments .comments-area #respond {
		margin-bottom: 30px;
	}
	#section-posts-comments #commentform .submit {
		padding: 15px 25px;
		font-size: 16px;
	}
	/* FOOTER */
	footer {
		padding-top: 25px!important;
	}
	footer nav {
		display: flex!important;
	}
	footer .nav-col .nav-menu > div {
		margin-top: 0;
	}
	footer .nav-col > div {
		padding-bottom: 0!important;
	}
	footer .social-icons-wrapper {
		padding-top: 0px;
	}
	footer .social-icons-wrapper a i {
		font-size: 18px;
	}
	footer .social-icons {
		margin-top: 15px;
		margin-bottom: 15px;
	}
	footer .elementor-menu-toggle {
		display: none;
	}
	footer .nav-menu > div {
		align-items: center;
		margin-top: 15px;
	}
	footer .nav-menu a {
		font-size: 14px;
	}
	footer .nav-menu li {
		padding: 3px 5px!important;
	}
	footer .logo-col img {
		max-width: 150px;
	}
	footer .social-icons-wrapper .elementor-social-icons-wrapper {
		justify-content: center;
	}
	footer .address {
		text-align: center;
	}
	footer nav li {
		text-align: center;
	}
	footer nav a {
		text-align: center;
		display: inline-block!important;
	}
	footer .social-icons div {
		text-align: center;
	}
}
@media (max-width:  650px) {
	.hero-slider .swiper-slide .swiper-slide-contents {
		max-width: 75%!important;
	}
	.hero-slider .swiper-slide .swiper-slide-contents .elementor-slide-heading {
		display: flex;
		flex-wrap: nowrap;
	}

}