/*   
Theme Name: Terry Fletcher Consulting 2026
Theme URI: https://www.terryfletcher.net/
Description: Custom WordPress theme for Terry Fletcher
Author: Joe Kuzma
Author URI: https://www.joekuzma.com/
Version: 1.0
.
AVOID EDITING THIS...
.
*/

/* Theme Colors
-------------------------------------------------------------- */
/*

Red:		#ea2c2d
Blue:		#333b96
Off Black:	#221f1f

*/

/* Theme Fonts
-------------------------------------------------------------- */
/*
font-family: 'Montserrat', sans-serif;
font-family: 'Open Sans', sans-serif;
*/


/* Headings
-------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
	font-family: 'Poppins', sans-serif;
}

/* Global Customizations
-------------------------------------------------------------- */

/* makes all content block images responsive */
.content img {
	display: block;
    max-width: 100%;
    height: auto;
}

/* Site Layout
-------------------------------------------------------------- */
body {
	font-family: 'Open Sans', sans-serif;
}
#hero {
	/*position: relative;
	min-height: 700px;
	background-image: url(images/hero.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;*/
}
/* main */
.main-clean {
	position: relative;
	margin-top: -90px;
	color: #fff;
	margin-bottom: 30px;
}
.main-clean p {
	/*color: #7d8285;*/
}
.main-clean a {
	color: #fff;
}
.main-clean h2 {
	font-weight: bold;
	margin-bottom: 40px;
	font-size: 30px;
	color: inherit;
}
@media (max-width:767px) {
.main-clean h2 {
	margin-bottom: 25px;
	/*padding-top: 25px;*/
	font-size: 24px;
}
}
.main-bg {
	background-color: #333b96;
	color: #fff;
	padding: 50px;
}
.main-clean .intro {
	font-size: 16px;
	/*max-width: 500px;*/
	margin: 0 auto;
}
.main-clean .intro p {
	margin-bottom: 0;
}
.main-clean .main {
	padding-bottom: 40px;
}
.main-clean .item {
	text-align: center;
	padding-top: 50px;
	min-height: 425px;
}
.main-clean .item .name {
	font-weight: bold;
	margin-top: 28px;
	margin-bottom: 8px;
	color: inherit;
}
.main-clean .item .description {
	font-size: 15px;
	margin-top: 15px;
	margin-bottom: 0;
}

/* features */
.features-boxed {
     /*color: #313437;
     background-color: #F2F2F2;*/
	 padding: 0 0 80px;
}
 .features-boxed p {
     color: #7d8285;
}
 .features-boxed h2 {
     font-weight: bold;
     margin-bottom: 40px;
     /*padding-top: 40px;*/
     color: inherit;
}
 @media (max-width:767px) {
     .features-boxed h2 {
         margin-bottom: 25px;
         /*padding-top: 25px;*/
         font-size: 24px;
    }
}
 .features-boxed .intro {
     font-size: 16px;
     /*max-width: 800px;*/
     margin: 0 auto;
}
 .features-boxed .intro p {
     /*margin-bottom: 0;*/
}
 .features-boxed .features {
     padding: 25px 0;
}
 .features-boxed .item {
     text-align: center;
}
 .features-boxed .item .box {
     text-align: center;
     padding: 30px;
     background-color: #fff;
     margin-bottom: 30px;
	 border: 1px solid #ddd;
}
 .features-boxed .item .icon {
     font-size: 60px;
     color: #950119;
     margin-top: 20px;
     margin-bottom: 35px;
}
 .features-boxed .item .name {
     font-weight: bold;
     font-size: 18px;
     margin-bottom: 8px;
     margin-top: 0;
     color: inherit;
}
 .features-boxed .item .description {
     font-size: 15px;
     margin-top: 15px;
     margin-bottom: 20px;
}
.features-boxed .item .learn-more {
	color: #333b96;
}

/* ondemand */
.ondemand,
.products {
	border: 1px solid #ddd;
	padding: 30px;
	min-height: 380px;
}

/* highlight */
.highlight-blue {
     color: #fff;
     background-color: #950119;
     padding: 50px 0;
}
 .highlight-blue p {
     /*color: #c4d5ef;*/
     line-height: 1.5;
}
 .highlight-blue h2 {
	font-size: 31px;
	font-weight: 700;
	line-height: 43px;
	margin-bottom: 25px;
	padding-top: 0;
	margin-top: 0;
}
 .highlight-blue .intro {
     font-size: 16px;
     max-width: 700px;
     margin: 0 auto 25px;
}
 .highlight-blue .buttons {
     text-align: center;
}
 .highlight-blue .buttons .btn {
     padding: 16px 32px;
     margin: 6px;
     border: none;
     background: none;
     box-shadow: none;
     text-shadow: none;
     opacity: 0.9;
     text-transform: uppercase;
     font-weight: bold;
     font-size: 13px;
     letter-spacing: 0.4px;
     line-height: 1;
}
 .highlight-blue .buttons .btn:hover {
     opacity: 1;
}
 .highlight-blue .buttons .btn:active {
     transform: translateY(1px);
}
 .highlight-blue .buttons .btn-primary, .highlight-blue .buttons .btn-primary:active {
     border: 2px solid rgba(255,255,255,0.7);
     border-radius: 6px;
     color: #ebeff1;
     box-shadow: none;
     text-shadow: none;
     padding: 14px 24px;
     background: transparent;
     transition: background-color 0.25s;
}

/* news */
.news-clean {
	background-color: #F7F7F7;
	color: #313437;
	padding: 80px 0 60px;
}
.news-clean p {
	color: #7d8285;
}
/*.news-clean a {
	color: #313437;
}*/
.news-clean h2 {
	font-weight: bold;
	margin-bottom: 15px;
	padding-top: 40px;
}
@media (max-width:767px) {
.news-clean h2 {
	margin-bottom: 25px;
	padding-top: 25px;
	font-size: 24px;
}
}
.news-clean .intro {
	font-size: 16px;
	max-width: 500px;
	margin: 0 auto;
}
.news-clean .intro p {
	margin-bottom: 30px;
}
.news-clean .news {
	padding-bottom: 40px;
}
.news-clean .item {
    text-align: center;
    /* padding-top: 50px; */
    /* min-height: 425px; */
    padding: 20px;
	background-color: #fff;
	min-height: 280px;
}
.news-clean .item .name {
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 8px;
    color: inherit;
    font-size: 18px;
}
.news-clean .item .name a {
	color: #313437;
}
.news-clean .item .name:after {
    content: '';
    display: block;
    width: 80px;
    height: 2px;
    background: #950119;
    /*margin-top: 10px;
    margin-bottom: 15px;*/
    -moz-transition-duration: .4s;
    -ms-transition-duration: .4s;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
	margin: 10px auto 15px;
}
.news-clean .item .description {
	font-size: 15px;
	margin-top: 15px;
	/*margin-bottom: 0;*/
}


/* Inside Pages
-------------------------------------------------------------- */
#content-container {
	/*padding:30px 0;*/
}
.content {
	padding: 0 25px 25px;
}
.featured-image {
	margin: 25px 0 25px;
	border:1px solid #ddd;
	/*padding: 3px;*/
}
.content h1 {
	font-weight: bold;
    margin-bottom: 40px;
    padding-top: 40px;
    color: inherit;
}
.content h1.page-title {
	text-align: center;
}
.content h1.page-title:after {
    content: '';
    display: block;
    width: 80px;
    height: 2px;
    background: #950119;
    -moz-transition-duration: .4s;
    -ms-transition-duration: .4s;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
    margin: 10px auto 15px;
}
.content h2 {
	font-weight: bold;
    margin-bottom: 20px;
    padding-top: 40px;
    color: inherit;
}
.content h3 {
	font-weight: bold;
    margin-bottom: 20px;
    padding-top: 20px;
    color: inherit;
}
.content a {
    color: #333b96;
    text-decoration: none;
}
.content blockquote {
	padding: 1em;
	margin: 0 0 20px;
	border-left: 3px solid #333b96;
}
.content blockquote p {
    font-size: 110%;
    font-style: italic;
    /* line-height: 1.8em; */
    color: #000;
}
.content blockquote p:last-child {
	margin-bottom: 0;
}
.wppninja-gallery {
	margin-bottom: 50px;
}

/* Podcast single */

.podcast-player-card {
    margin: 28px 0 32px;
    padding: 22px 24px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
}

.podcast-player-heading {
    margin-bottom: 14px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
	color: #333b96;
}

.podcast-player-card audio {
    display: block;
    width: 100%;
    max-width: 100%;
}

.podcast-player-card .powerpress_player {
    margin: 0;
}

.podcast-player-card .powerpress_links {
    margin-top: 12px;
}

.podcast-content {
    margin-top: 0;
}

/* articles */
.article-list {
	padding: 80px 0 60px;
}
.article-list p {
	color: #7d8285;
}
/*.article-list a {
	color: #313437;
}*/
.article-list h2 {
	font-weight: bold;
	margin-bottom: 15px;
	padding-top: 40px;
}
@media (max-width:767px) {
.article-list h2 {
	margin-bottom: 25px;
	padding-top: 25px;
	font-size: 24px;
}
}
.article-list .intro {
	font-size: 16px;
	max-width: 500px;
	margin: 0 auto;
}
.article-list .intro p {
	margin-bottom: 30px;
}
.article-list .news {
	padding-bottom: 40px;
}
.article-list .item {
    text-align: center;
    /* padding-top: 50px; */
    /* min-height: 425px; */
    /*background-color: #fff;*/
    padding: 20px;
    border: 1px solid #ddd;
	margin-bottom: 30px;
}
.article-list .item .name {
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 8px;
    color: inherit;
    font-size: 18px;
}
.article-list .item .name a {
	color: #313437;
}
.article-list .item .name:after {
    content: '';
    display: block;
    width: 80px;
    height: 2px;
    background: #950119;
    /*margin-top: 10px;
    margin-bottom: 15px;*/
    -moz-transition-duration: .4s;
    -ms-transition-duration: .4s;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
	margin: 10px auto 15px;
}
.article-list .item .description {
	font-size: 15px;
	margin-top: 15px;
	/*margin-bottom: 0;*/
}

.article-list .podcast-item .powerpress_player, 
.article-list .podcast-item .powerpress_links {
    display: none;
}

/* Buttons
-------------------------------------------------------------- */
.btn-first {
    color: #fff !important;
    background-color: #950119;
    border-color: #950119;
}
.btn-first:hover {
    color: #fff !important;
    background-color: #cb0122;
    border-color: #cb0122;
}
.btn-second {
    color: #fff !important;
    background-color: #333b96;
    border-color: #333b96;
}
.btn-second:hover {
    color: #fff !important;
    background-color: #1a1e4c;
    border-color: #1a1e4c;
}
.btn-link {
    font-weight: 400;
    color: #333b96 !important;
    text-decoration: none;
}
.btn-link:hover {
    color: #1a1e4c !important;
    text-decoration: underline;
}
.btn-default,
.btn-outline-white {
    /*-webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;*/
    -moz-background-clip: border;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    background-color: #333b96;
    color: #fff !important;
    border: 1px solid #333b96;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -o-transition: all .6s ease-out;
    transition: all .6s ease-out;
    margin: 5px;
}


/* Header
-------------------------------------------------------------- */
.top-bar {
	background-color: #fff;
    color: #465765;
    position: relative;
    z-index: 999;
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}
.top-bar a {
    color: #465765;
}
.top-bar-info {
	/*display: inline-block;*/
	vertical-align: middle;
}
.top-bar-info ul {
    margin-bottom: 0;
	padding-left: 0;
}
.top-bar-info li {
    font-weight: 500;
    color: #fff;
    list-style-type: none;
    font-size: 13px;
    padding: 0 5px 0;
    display: inline-block;
    margin-bottom: 0;
}
.top-bar-info li i {
    font-size: 16px;
    color: #950119;
    margin-right: 8px;
    margin-top: 0;
    display: inline-block;
    vertical-align: text-bottom;
}

/* Navigation
-------------------------------------------------------------- */
.navigation-clean {
	background: #fff;
	padding-top: .75rem;
	padding-bottom: .75rem;
	color: #333;
	border-radius: 0;
	box-shadow: none;
	/*border: none;*/
	border-bottom: 1px solid #ddd;
	margin-bottom: 0;
	transition: all 0.5s ease 0s;
    /*-webkit-box-shadow: 0 0 3px rgba(0,0,0,0.2);
    -ms-box-shadow: 0 0 3px rgba(0,0,0,0.2);
    box-shadow: 0 0 3px rgba(0,0,0,0.2);*/
}

@media (min-width:992px) {
.navigation-clean {
	/*padding-top: 1rem;
	padding-bottom: 1rem;*/
	padding-top: .5rem;
    padding-bottom: .5rem;
}
}
.navigation-clean .navbar-brand {
	font-weight: bold;
	color: inherit;
}
.navigation-clean .navbar-brand:hover {
	color: #222;
}
.navigation-clean.navbar-dark .navbar-brand:hover {
	color: #f0f0f0;
}
.navigation-clean .navbar-brand img {
	height: 100%;
	display: inline-block;
	margin-right: 10px;
	width: auto;
}
.navigation-clean .navbar-toggler {
	border-color: #ddd;
}
.navigation-clean .navbar-toggler:hover, .navigation-clean .navbar-toggler:focus {
	background: none;
}
.navigation-clean.navbar-dark .navbar-toggler {
	border-color: #555;
}
.navigation-clean .navbar-toggler {
	color: #888;
}
.navigation-clean.navbar-dark .navbar-toggler {
	color: #eee;
}
.navigation-clean .navbar-collapse, .navigation-clean .form-inline {
	border-top-color: #ddd;
}
.navigation-clean.navbar-dark .navbar-collapse, .navigation-clean.navbar-dark .form-inline {
	border-top-color: #333;
}
.navigation-clean .navbar-nav > .active > a, .navigation-clean .navbar-nav > .show > a {
	background: none;
	box-shadow: none;
}
.navigation-clean.navbar-light .navbar-nav .nav-link.active, .navigation-clean.navbar-light .navbar-nav .nav-link.active:focus, .navigation-clean.navbar-light .navbar-nav .nav-link.active:hover {
	color: #8f8f8f;
	box-shadow: none;
	background: none;
	pointer-events: none;
}
.navigation-clean.navbar .navbar-nav .nav-link {
	padding-left: 18px;
	padding-right: 18px;
}
.navigation-clean.navbar-light .navbar-nav .nav-link {
	color: #333b96;
	position: relative;
    display: block;
    font-size: 16px;
    font-weight: 600;
    padding: 21px 0.7rem;
    /*letter-spacing: 0.5px;*/
    /*text-transform: uppercase;*/
    -webkit-transition-duration: 500ms;
    -o-transition-duration: 500ms;
    transition-duration: 500ms;
}
.navigation-clean.navbar-light .navbar-nav .nav-link:focus, .navigation-clean.navbar-light .navbar-nav .nav-link:hover {
	color: #37434d !important;
	background-color: transparent;
}
.navigation-clean .navbar-nav > li > .dropdown-menu {
	margin-top: -5px;
	box-shadow: none;
	background-color: #fff;
	border-radius: 2px;
}
@media (min-width:992px) {
	.navigation-clean .navbar-nav .show .dropdown-menu {
		box-shadow: 0 4px 8px rgba(0,0,0,.1);
	}
}
@media (max-width:991px) {
	.navigation-clean .navbar-nav .show .dropdown-menu .dropdown-item {
		color: #37434d;
		padding-top: .8rem;
		padding-bottom: .8rem;
		line-height: 1;
	}
	.navigation-clean.navbar-light .navbar-nav .nav-link {
		padding: 10px 0.7rem 10px;
	}
}
.navigation-clean .dropdown-menu .dropdown-item:focus, .navigation-clean .dropdown-menu .dropdown-item {
	line-height: 2;
	color: #37434d;
}
.navigation-clean .dropdown-menu .dropdown-item:focus, .navigation-clean .dropdown-menu .dropdown-item:hover {
	background: #eee;
	color: inherit;
}
.navigation-clean.navbar-dark {
	background-color: #1f2021;
	color: #fff;
}
.navigation-clean.navbar-dark .navbar-nav a.active, .navigation-clean.navbar-dark .navbar-nav a.active:focus, .navigation-clean.navbar-dark .navbar-nav a.active:hover {
	color: #8f8f8f;
	box-shadow: none;
	background: none;
	pointer-events: none;
}
.navigation-clean.navbar-dark .navbar-nav .nav-link {
	color: #dfe8ee;
}
.navigation-clean.navbar-dark .navbar-nav .nav-link:focus, .navigation-clean.navbar-dark .navbar-nav .nav-link:hover {
	color: #fff;
	background-color: transparent;
}
.navigation-clean.navbar-dark .navbar-nav > li > .dropdown-menu {
	background-color: #1f2021;
}
.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:focus, .navigation-clean.navbar-dark .dropdown-menu .dropdown-item {
	color: #f2f5f8;
}
.navigation-clean.navbar-dark .dropdown-menu .dropdown-item:focus, .navigation-clean.navbar-dark .dropdown-menu .dropdown-item:hover {
	background: #363739;
}
@media (max-width:991px) {
	.navigation-clean.navbar-dark .navbar-nav .show .dropdown-menu .dropdown-item {
		color: #fff;
	}
}


/* Footer
-------------------------------------------------------------- */
.footer-dark {
    padding: 50px 0;
    color: #fff;
    background-color: #333b96;
    text-align: center;
}
.footer-dark .footer-logo {
	margin-bottom: 20px;
}
.footer-dark h3 {
	margin-top: 0;
	margin-bottom: 12px;
	font-weight: bold;
	font-size: 16px;
}
.footer-dark ul {
	padding: 0;
	list-style: none;
	line-height: 1.6;
	font-size: 14px;
	/*margin-bottom: 0;*/
}
 .footer-dark ul a {
     color: inherit;
     text-decoration: none;
     /*opacity: 0.6;*/
}
 .footer-dark li i {
    margin-right: 8px;
}
 .footer-dark ul a:hover {
     /*opacity: 0.8;*/
}
 @media (max-width:767px) {
     .footer-dark .item:not(.social) {
         text-align: center;
         padding-bottom: 20px;
    }
}
 .footer-dark .item.text {
     margin-bottom: 36px;
}
 @media (max-width:767px) {
     .footer-dark .item.text {
         margin-bottom: 0;
    }
}
 .footer-dark .item.text p {
     opacity: 0.6;
     margin-bottom: 0;
}
 .footer-dark .item.social {
     text-align: center;
}
 @media (max-width:991px) {
     .footer-dark .item.social {
         text-align: center;
         margin-top: 20px;
    }
}
 .footer-dark .item.social > a {
     font-size: 20px;
     width: 36px;
     height: 36px;
     line-height: 36px;
     display: inline-block;
     text-align: center;
     /*border-radius: 50%;
     box-shadow: 0 0 0 1px rgba(255,255,255,0.4);*/
     margin: 0 8px;
     color: #ddd;
}
 .footer-dark .item.social > a:hover {
     opacity: 0.9;
}
 .footer-dark .copyright {
     text-align: center;
     padding-top: 24px;
     opacity: 0.3;
     font-size: 13px;
     margin-bottom: 0;
}


/* Forms
-------------------------------------------------------------- */
/* Formidable Styles */
legend.frm_hidden{
	display:none !important;
}
.frm_screen_reader {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.frm_screen_reader.frm_hidden{
	display:initial;
}
.frm_error {
    color: red;
    padding: 5px 0;
    font-weight: bold;
}
.frm_verify {
    position: absolute;
    left: -3000px;
}

/* simple cart overrides */
.shopping_cart .form-control {
    display: block;
}
.wp_cart_button_wrapper {
    display: inline-block;
	margin-top: -0.5rem;
    margin-bottom: 1rem;
}
.shopping_cart .table {
    margin-bottom: 30px;
    color: #444;
}
.shopping_cart .table td, 
.shopping_cart .table th {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
	text-align: left !important;
}
.wp_cart_empty_cart_section {
	margin-bottom: 30px;
}

/* Pagination
-------------------------------------------------- */
.pagination-row {
	margin-bottom: 60px;
}
.page-link {
	position: relative;
	display: block;
	padding: 0.5rem 0.75rem;
	margin-left: -1px;
	line-height: 1.25;
	color: #003326;
	background-color: #fff;
	border: 1px solid #ddd;
}
.page-link:hover {
	z-index: 2;
	color: #003326;
	text-decoration: none;
	background-color: #e9ecef;
	border-color: #ddd;
}
.page-item.active .page-link {
	z-index: 1;
	color: #fff;
	background-color: #003326;
	border-color: #003326;
}
.page-item.disabled .page-link {
	color: #6c757d;
	pointer-events: none;
	cursor: auto;
	background-color: #fff;
	border-color: #ddd;
}


/* --------------------------------------------------------------

   Responsive Layout Adjustments
   
-------------------------------------------------------------- */


/* WVGA - Phones < 480px (Non-Bootstrap)
-------------------------------------------------------------- */
@media (max-width: 479px) {

}

/* Extra Small Devices - Phones < 768px
   Note: -1px fix for iPad portrait orientation
-------------------------------------------------------------- */
@media (max-width: 767px) {

}

/* Small Devices - Tablets < 992px
-------------------------------------------------------------- */
@media (max-width: 991px) {
.top-bar {
	display: none;
}
.news-clean .item {
    min-height: 10px;
	margin-bottom: 30px;
}
.features-boxed .item .box {
    min-height: 370px;
}
}

/* Medium Devices - Desktops > 992px
-------------------------------------------------------------- */
@media (min-width: 992px) {
#content-container {
	min-height: 800px;
}
 .features-boxed .item .box {
	 min-height: 390px;
}
}
@media (max-width: 1199px) {

}

/* Large Devices - Desktops > 1200px
-------------------------------------------------------------- */
@media (min-width: 1200px) {
.article-list .blog-item {
    min-height: 585px;
}
.article-list .podcast-item {
    min-height: 560px;
}
}

/* Extra Large Devices - Desktops > 1330px
-------------------------------------------------------------- */
@media (max-width: 1329px) {
.main-clean {
    margin-top: -0;
	background-color: #333b96;
}
}
@media (min-width: 1330px) {
.container {
	max-width: 1300px;
}
}
@media (min-width: 1540px) {
.container {
	/*max-width: 1440px;*/
}
}

/* Accessibility improvements — WCAG 2.2 AA target
   Preserve the theme's existing layout and brand palette.
   Verify computed contrast and keyboard behavior on rendered pages. */

/* The header skip link is hidden until a keyboard user focuses it. */
.skip-link,
.skip-to-content {
    position: absolute;
    left: 1rem;
    top: -100px;
    z-index: 10000;
    padding: 0.75rem 1rem;
    background: #fff;
    color: #221f1f;
    border: 2px solid #333b96;
    text-decoration: underline;
}
.skip-link:focus,
.skip-to-content:focus {
    top: 1rem;
}

/* Visible focus, including navigation, forms, buttons and purchase controls. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #950119;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}
.footer-dark a:focus-visible,
.main-bg a:focus-visible,
.highlight-blue a:focus-visible,
.btn-first:focus-visible {
    outline-color: #fff;
    box-shadow: 0 0 0 3px #221f1f;
}

/* Underlines distinguish inline links from surrounding prose. */
.content p a,
.content li a,
.features-boxed p a,
.news-clean p a,
.article-list p a {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}
.content p a:hover,
.content li a:hover,
.features-boxed p a:hover,
.news-clean p a:hover,
.article-list p a:hover {
    text-decoration-thickness: 2px;
}

/* Original muted text (#7d8285) was too light on white/light gray. */
.features-boxed p,
.news-clean p,
.article-list p {
    color: #555d63;
}

/* Opacity reduced footer copy and copyright contrast substantially. */
.footer-dark .item.text p,
.footer-dark .copyright {
    opacity: 1;
    color: #fff;
}
.footer-dark .item.social > a {
    color: #fff;
}
.footer-dark .item.social > a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Active navigation must remain legible and keyboard focusable. */
.navigation-clean.navbar-light .navbar-nav .nav-link.active,
.navigation-clean.navbar-light .navbar-nav .nav-link.active:focus,
.navigation-clean.navbar-light .navbar-nav .nav-link.active:hover {
    color: #333b96;
    pointer-events: auto;
}
.navigation-clean.navbar-dark .navbar-nav a.active,
.navigation-clean.navbar-dark .navbar-nav a.active:focus,
.navigation-clean.navbar-dark .navbar-nav a.active:hover {
    color: #fff;
    pointer-events: auto;
}

/* Formidable: visually hide legends without removing them from the accessibility tree. */
legend.frm_hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    display: block !important;
}

/* Avoid unnecessary movement for users requesting reduced motion. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
/* Restore homepage article card button layout */
.news-clean .item .description {
    display: block;
    margin-bottom: 20px;
}

.news-clean .item .btn {
    display: table;
    width: max-content;
    max-width: 100%;
    margin: 15px auto 0;
}
/* Remove underlines from buttons while preserving link accessibility */
a.btn,
a.btn:hover,
a.btn:focus,
a.btn:focus-visible,
a[class*="btn-"],
a[class*="btn-"]:hover,
a[class*="btn-"]:focus,
a[class*="btn-"]:focus-visible,
.wp_cart_visit_shop_link a,
.wp_cart_visit_shop_link a:hover,
.wp_cart_visit_shop_link a:focus {
    text-decoration: none !important;
}
/* Homepage article buttons — spacing only */
.news-clean .item .btn {
    display: table;
    width: auto;
    margin: 20px auto 0;
}

/* Article and podcast buttons — spacing only */
.article-list .item .btn {
    display: table;
    width: auto;
    margin: 20px auto 0;
}