/**
 * Theme Name: Idaho Webmaster v4 Child
 * Template: Webmaster-v4
 * Description: Child theme for the Idaho Webmaster v4 theme. This should only be activated if you're going to make code customizations such as PHP, JavaScript, or CSS. Only for web developers.
 * Author: White Whale Web
 * Author URI: https://whitewhaleweb.com/
 * Version: 4.0.2
 * Text Domain: its.idaho.gov
 */

/* Root-level variables and variable overrides */
:root {
	--idol-heading-font: "Work Sans";
	--idol-text-font: "Roboto";
	--tec-grid-width: 1320px;
}

/* ---- COLORS ---- */

.bg-primary {
	background-color: var(--idol-blue) !important;
}
.bg-success {
	background-color: var(--idol-green) !important;
}
.bg-warning {
	background-color: var(--idol-yellow) !important;
}

/* Reset screen-reader text to screen reader-only */
.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* ---- ELEMENTS ---- */

html {
    height: unset;
}

body {
	font-family: var(--idol-text-font), sans-serif;
	font-size: 16px;
    background-color: var(--color9) !important; 
	padding-right: 0 !important;
    --bs-gutter-x: 1.5rem;
}
html, body {
	font-weight: 400;
	height: unset;
}
body .bg-light {
	background-color: var(--idol-white) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--idol-heading-font), sans-serif !important;
}

h2, h3, h4, h5, h6,
.h2, .h3, .h4, .h5, .h6 {
    color: var(--idol-text) !important;
}
a h1, a h2, a h3, a h4, a h5, a h6, 
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, 
a.h1, a.h2, a.h3, a.h4, a.h5, a.h6, 
a .h1, a .h2, a .h3, a .h4, a .h5, a .h6, 
.h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a {
    color: var(--idol-blue) !important;
    font-weight: 700;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	margin: 0;
}

h1, .h1 {
	font-size: 3.125rem;
	font-weight: 700;
	line-height: calc(3.75rem - 1px);
}

@media all and ( max-width: 991px ) {
	#title-container h1 {
		font-size: 2rem;
		font-weight: 700;
		line-height: calc(2.5rem - 2px);
	}
}

h2 {
	font-size: 2rem;
}

h2.elementor-divider__text {
    font-size: 2rem !important;
}

h3 {
	font-size: 1.625rem;
}

h3.elementor-divider__text {
    font-size: 1.625rem !important;
}

.h4, h4 {
    font-size: 1.5rem;
}

p, .blog p, .archive p {
	color: var(--idol-text) !important;
}

.alert p:last-of-type {
    margin-bottom: 0;
}

ol, ul {
    padding-left: 1.125rem;
}

body:not(.home) .white-bg li {
    margin-bottom: .5rem;
}
body:not(.home) .white-bg li:not(li li) {
    margin-bottom: 1rem;
}
body:not(.home) .white-bg li > ul:first-of-type {
    margin-top: .5rem;
}

/* Undo hover italica on links */
p:not(footer p) > a:hover,
table:not(footer table) a:hover,
p:not(header p) > a:hover,
table:not(header table) a:hover {
	font-style: unset !important;
}

footer p:not(footer p) > a:hover,
footer table:not(footer table) a:hover,
footer p:not(header p) > a:hover,
footer table:not(header table) a:hover,
.footer-links p:not(footer p) > a:hover,
.footer-links table:not(footer table) a:hover,
.footer-links p:not(header p) > a:hover,
.footer-links table:not(header table) a:hover {
	color: var(--color5) !important;
}

a:not(.btn,.elementor-button):hover {
	color: var(--idol-blue) !important;
}

a, a:hover {
	transition: color 0.25s ease-in-out, text-decoration 0.25s ease-in-out;
	font-style: normal !important;
}

a[href*=".pdf"]:has(>img):before,
a[href*=".PDF"]:has(>img):before {
	display: none;
}

.main a {
	font-weight: 500;
	color: #175E86;
}
.main a:not(.btn):hover,
.main h3 a:not(.btn):hover {
	color: var(--idol-blue) !important;
	font-style: normal !important;
}

p:not(footer p)>a:not(.btn):hover, table:not(footer table) a:not(.btn):hover, p:not(header p)>a:not(.btn):hover, table:not(header table) a:not(.btn):hover {
	text-decoration: underline;
	color: var(--idol-blue) !important;
}
.footer-navigation a:hover, .footer-links>a:hover, footer p > a:hover {
	color: var(--idol-yellow) !important;
	text-decoration-color: var(--idol-yellow) !important;
}

/* ---- BOOTSTRAP CLASSES ---- */

.btn,
button.btn,
.elementor-widget-button .elementor-button,
.blog .btn-secondary, 
.archive .btn-secondary {
	display: inline-flex;
    justify-content: center;
    padding: .8rem 1.5rem .7rem !important;
    border-width: 0;
    font-weight: 600 !important;
    color: var(--color7) !important;
    background: var(--color1) !important;`
}

.btn-primary,
.btn-primary:hover,
button.btn-primary,
button.btn-primary:hover /*,
.elementor-widget-button .elementor-button:hover*/,
a.elementor-button-link.elementor-button,
a.elementor-button-link.elementor-button:hover {
	background: var(--color1) !important;
}

.btn-primary, /*
.elementor-widget-button .elementor-button*/
.elementor .card a.btn.btn-primary,
a.elementor-button-link.elementor-button {
	-webkit-box-shadow: 0 0.1875rem 0 0 var(--idol-darkblue);
	-moz-box-shadow: 0 0.1875rem 0 0 var(--idol-darkblue);
	box-shadow: 0 0.1875rem 0 0 var(--idol-darkblue);
	transform: translateY(0);
	transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}
.btn-primary:hover, /*,
.elementor-widget-button .elementor-button:hover */
.elementor .card a.btn.btn-primary:hover,
a.elementor-button-link.elementor-button:hover {
	color: var(--idol-white) !important;
	-webkit-box-shadow: 0 .3125rem 0 0 var(--idol-darkblue);
	-moz-box-shadow: 0 .3125rem 0 0 var(--idol-darkblue);
	box-shadow: 0 .3125rem 0 0 var(--idol-darkblue);
	font-style: normal;
	transform: translateY(-0.125rem);
	transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.btn-secondary,
.btn-secondary:hover,
button.btn-secondary,
button.btn-secondary:hover /*,
.elementor-widget-button .elementor-button:hover*/ {
	background: #6c757d !important;
}

.btn-secondary /*,
.elementor-widget-button .elementor-button*/ {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	transform: translateY(0);
}
.btn-secondary:hover /*,
.elementor-widget-button .elementor-button:hover */{
	font-style: normal;
	transform: translateY(0);
}

.btn-success,
.btn-success:hover,
button.btn-success,
button.btn-success:hover,
.elementor-element.elementor-button-success.elementor-widget-button .elementor-button,
.elementor-element.elementor-button-success.elementor-widget-button .elementor-button:hover {
	background: var(--idol-green) !important;
}

.btn-success,
.elementor-element.elementor-button-success.elementor-widget-button .elementor-button {
	-webkit-box-shadow: 0 0.1875rem 0 0 var(--idol-darkgreen);
	-moz-box-shadow: 0 0.1875rem 0 0 var(--idol-darkgreen);
	box-shadow: 0 0.1875rem 0 0 var(--idol-darkgreen);
	transform: translateY(0);
	transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}
.btn-success:hover,
.elementor-element.elementor-button-success.elementor-widget-button .elementor-button:hover {
	-webkit-box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
	-moz-box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
	box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
	font-style: normal;
	transform: translateY(-0.125rem);
	transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.btn-warning,
.btn-warning:hover,
button.btn-warning,
button.btn-warning:hover,
.elementor-element.elementor-button-warning.elementor-widget-button .elementor-button,
.elementor-element.elementor-button-warning.elementor-widget-button .elementor-button:hover {
	color: var(--idol-black) !important;
	background: var(--idol-yellow) !important;
}

.btn-warning,
.elementor-element.elementor-button-warning.elementor-widget-button .elementor-button {
	-webkit-box-shadow: 0 0.1875rem 0 0 var(--idol-darkyellow);
	-moz-box-shadow: 0 0.1875rem 0 0 var(--idol-darkyellow);
	box-shadow: 0 0.1875rem 0 0 var(--idol-darkyellow);
	transform: translateY(0);
	transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}
.btn-warning:hover,
.elementor-element.elementor-button-warning.elementor-widget-button .elementor-button:hover {
	-webkit-box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
	-moz-box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
	box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
	font-style: normal;
	transform: translateY(-0.125rem);
	transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.btn-primary {
    -webkit-box-shadow: 0 0.1875rem 0 0 var(--idol-darkblue);
    -moz-box-shadow: 0 0.1875rem 0 0 var(--idol-darkblue);
    box-shadow: 0 0.1875rem 0 0 var(--idol-darkblue);
    transform: translateY(0);
    transition: box-shadow 0.25s 
ease-in-out, transform 0.25s 
ease-in-out;
}

/* ---- Cards ---- */

.card {
	border: none;
    border-radius: 0;
    border-bottom: 10px solid var(--color1);
    position: relative;
    top: 0;
    box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
    webkit-box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
}
.card-body {
	border: none;
    padding: 32px 43px;
}

.card h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.card .elementor-widget-container > :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border: none !important;
}

.card .elementor-widget-container > :last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}


.elementor-container:has(>.card.a2w-card){
	column-gap: 1.25rem;
}
.card.a2w-card {
    box-shadow: none;
    webkit-box-shadow: none;
    background-color: #f5f5f7;
}

.card.a2w-card > .elementor-widget-wrap {
    padding: 0;
}

.card.a2w-card img {
    margin: -1.25rem -2.5rem 0;
    max-width: calc(100% + 5rem) !important;
    /* position: absolute; */
}

/* ---- Notice Area ---- */

.notice-area {
    background-color: var(--color5);
    color: var(--color8) !important;
    font-size: 1.4rem;
    margin-bottom: -1.5rem;
}

.notice-area > .container {
    padding: 2rem 0 3rem;
     margin-top: 0;
}

.single-line-row {
	gap: 1rem;
}

@media only screen and (max-width: 1199px) {
    .notice-area {
        text-align: left;
    	margin-bottom: 0;
    }
}

/* ---- HOMEPAGE HEADER ---- */
 
.top-nav {
	max-height: 3.75rem;
}

.custom-search-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: var(--color2) !important;
    opacity: 0.95 !important;
	transition: opacity .25s ease-in-out;
    z-index: 999999999 !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

#masthead:has(.gsc-results-wrapper-overlay.gsc-results-wrapper-visible) .custom-search-nav {
	opacity: 0 !important;
	transition: opacity .25s ease-in-out;
}

.custom-search-bar.active {
    height: 100vh;
    top: 0;
}
.custom-search-bar.active>.row {
    height: auto;
    top: calc(50% - (98px / 2));
}

a:has(>img#logo) {
    z-index: 3;
}

#logo {
	margin-left: 	-0.75rem;
	margin-right:	-0.75rem;
}

.nav-item {
	margin-left: 1rem;
}
.dropdown.nav-item {
    /*position: unset;*/
}
.nav-item .dropdown-toggle:after {
	display: none;
}
.nav-item .nav-icon {
	font-size: 1.5rem;
}

.gtranslate_wrapper {
	--gt-width: 200px;
	--gt-bg-color: var( --color7 );
	--gt-shadow-color: var( --color );
	--gt-text-color: var( --color2 );
	--gt-border-color: var( --color2 );
	--gt-border-thick: var( 3px );
	--gt-etc-color: var( --color2 );
	/* --gt-hover-trans: -0.125rem; */
	--gt-hover-trans: 0;
	--gt-hover-shadow: 3px;
	--gt-hover-shadow-open: 3px;
}

.gtranslate_wrapper .gt_switcher {
	width: calc( var( --gt-width ) + 20px ) !important;
	margin-top: -2px;
	border-radius: 6px;
	border: 1px solid var( --gt-border-color ) !important;
	overflow: visible !important;
	box-shadow: 0 3px 0 var( --gt-shadow-color );
	background-color: var( --gt-bg-color ) !important;
	transform: translateY(0rem);
  transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}
.gtranslate_wrapper .gt_switcher:hover {
	box-shadow: 0 var( --gt-hover-shadow ) 0 var( --gt-shadow-color );
	transform: translateY( var( --gt-hover-trans ) );
  transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.gtranslate_wrapper .gt_switcher:has(.gt_selected a.open):hover {
	transform: translateY(0rem);
}

.gtranslate_wrapper .gt_switcher:has(.gt_selected a.open) {
	box-shadow: 0 0 0 transparent;
	transition: box-shadow .25s ease-in-out  .25s;
}

.gtranslate_wrapper .gt_switcher .gt_option {
	background: transparent !important;
	width: 100% !important;
	border-width: 0px !important;
	border-radius: 4px 4px 0 0;
}

.gtranslate_wrapper .gt_switcher a,
.gtranslate_wrapper .gt_switcher .gt_selected a.open {
	font-family: var(--idol-text-font), sans-serif !important;
	color: var( --gt-text-color ) !important;
	background-color: transparent !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected:after {
	background-image: none !important;
	background: transparent;
	background-color: transparent !important;
  font-family: "Font Awesome 6 Free" !important;
	font-weight: 600;
	line-height: 1;
	position:absolute;
	top: 10px;
	right: 10px;
	color: var( --gt-etc-color );
  content: "\f078" !important;
	transform: rotate(0deg);
	transition: transform .5s ease-in-out, top .5s ease-in-out;
}

.gtranslate_wrapper .gt_switcher .gt_selected:has(a.open):after {
	top: 8px;
	transform: rotate(180deg);
}

.gtranslate_wrapper .gt_switcher .gt_option a, 
.gtranslate_wrapper .gt_switcher .gt_selected a {
	position: relative;
	background-color: transparent !important;
	padding: 18px 10px 17px 43px !important;
	font-weight: 600;
	font-size: 15px
}

.gtranslate_wrapper .gt_switcher .gt_selected {
	background: transparent !important;
	border: 0px solid transparent !important;
	transition: border .5s ease-in-out;
}

.gtranslate_wrapper .gt_switcher .gt_selected:has( a.open ) {
	border-top: 1px solid var( --gt-shadow-color ) !important;
	transition: border .5s ease-in-out;
}

.gtranslate_wrapper .gt_switcher .gt_selected a {
	background: transparent !important;
	border: 0px solid transparent !important;
	transition: border .5s ease-in-out;
	border-radius: 6px;
	width: auto !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected a:after {
	display: none !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected a.open {
	border-radius: 0 0 6px 6px;
}

.gtranslate_wrapper .gt_switcher a img {
	opacity: 1 !important;
	position: absolute;
	top: 5px;
	left: 10px;
}

.nav-item button.btn-primary.dropdown-toggle {
    padding: .6rem 1.5rem .4rem !important;
    position: relative;
    top: -2px;
    font-size: .75rem !important;
    text-transform: uppercase;
    height: 34px;
}

.nav-item ul.dropdown-menu.show {
    right: 0;
    left: unset;
}

.nav-item .login-menu.dropdown-menu {
    background-color: #ffffff !important;
    position:absolute;
    top: 36px;
    left: unset;
    right: -25px; /* small adjust to align with biz audience card right edge. */
    min-width: calc( ( 1160px * .6667 ) - 22px ); /* 2/3 main col width, with small adjustment to aligned with UI audience card left edge. */
    display: block;
    border-top: 1px solid transparent; !important;
    border-bottom: 9px solid transparent; !important;
    opacity: 0;
    overflow: hidden;
    visibility: visible;
    border: 0px solid transparent !important;
    transition: opacity 0.2s ease-in-out, border 0.2s ease-in-out !important;
}

.nav-item .login-menu.dropdown-menu.show {
    height: auto;
    opacity: 1;
    border-top: 1px solid var(--bs-gray-200) !important;
    border-bottom: 9px solid var(--idol-blue) !important;
}

.nav-item .login-menu.dropdown-menu * {
	pointer-events: none !important;
}

.nav-item .login-menu.dropdown-menu.show * {
	pointer-events: auto !important;
}

.nav-item .login-menu.dropdown-menu {
	padding: .625rem 1rem !important;
}

@media screen and (min-width: 768px) {
	.nav-item .login-menu.dropdown-menu .col-12:first-child {
		border-right: solid 2px var(--bs-gray-200);
	}
}

.nav-item .login-menu.dropdown-menu .wp-block-buttons,
.nav-item .login-menu.dropdown-menu .wp-block-button,
.nav-item .login-menu.dropdown-menu .wp-block-button a {
    width: 100%;
}
.nav-item .login-menu.dropdown-menu .wp-block-button {
    padding: 0 !important;
}
.nav-item .login-menu.dropdown-menu .wp-block-button a,
.nav-item .login-menu.dropdown-menu .wp-block-button a:hover {
	color: var( --idol-white ) !important;
    background: var(--idol-blue) !important;
}
.nav-item .login-menu.dropdown-menu .wp-block-button.btn-primary a,
.nav-item .login-menu.dropdown-menu .wp-block-button.btn-primary a:hover {
    
}
.nav-item .login-menu.dropdown-menu .wp-block-button.btn-warning a,
.nav-item .login-menu.dropdown-menu .wp-block-button.btn-warning a:hover {
	color: var( --idol-black ) !important;
    background: var(--idol-yellow) !important;
}
.nav-item .login-menu.dropdown-menu .wp-block-button.btn-success a,
.nav-item .login-menu.dropdown-menu .wp-block-button.btn-success a:hover {
    background: var(--idol-green) !important;
}

@media screen and (max-width: 991px) {
	.nav-item .login-menu.dropdown-menu {
		min-width: calc(100vw - 2.5rem + 1px);
        right: calc(-7rem + 1px);
	}
}

@media screen and (max-width: 767px) {
	.nav-item .login-menu.dropdown-menu {
		min-width: calc(100vw - 2.5rem + 1px);
        right: calc(-6.5rem - 1px);
	}
}

@media screen and (max-width: 623px) {
	.nav-item .login-menu.dropdown-menu {
        right: -3.75rem;
	}
}

@media screen and (max-width: 563px) {
	.nav-item .login-menu.dropdown-menu {
		min-width: calc(100vw - 2.5rem + 1px);
		right: calc(-6.75rem + 3px);
	}
}

/* Display a placeholder until page loads */
.content-wrapper:not(.page-loaded) .widget_gtranslate {
	background: top left no-repeat url('wp-content/themes/Webmaster-v4-child-IDOL/img/gtranslate_placeholder.png');
	cursor: not-allowed;
}
/* Minimum size of placeholder container */
.top-nav .widget_gtranslate {
	min-width: 173px;
	min-height: 32px;
	position: relative;
    z-index: 10;
}

@media screen and (max-width: 563px) {
	.gtranslate_wrapper .gt_switcher .gt_option a, .gtranslate_wrapper .gt_switcher .gt_selected a {
		font-size: 0 !important;
	}
	.gtranslate_wrapper {
	    --gt-width: 50px !important;
	    position: absolute;
	    right: 0;
	}
	.top-nav .widget_gtranslate {
		position: relative;
		min-width: 0;
	}
}

.top-nav .widget_block {
	display: flex;
	flex-direction: row;
}

.top-nav .nav-item,
.top-nav-widget,
.top-nav .widget_block p {
	margin: 0 calc(var(--bs-gutter-x) * .5) 0 calc(var(--bs-gutter-x) * .5);
}

.top-nav .nav-item:first-child,
.top-nav-widget:first-child,
.top-nav .widget_block p:first-child {
	margin-left: 0;
}
.top-nav .nav-item:last-child,
.top-nav-widget:last-child,
.top-nav .widget_block p:last-child {
	margin-right: 0;
}

.top-nav .nav-item:has(.widget_gtranslate) {
	height: 34px !important;
}

@media all and ( max-width: 767px ) {
	.top-nav .nav-item,
	.top-nav-widget,
	.top-nav .widget_block p {
	    margin-left: .5rem;
	    margin-right: .5rem;
	}
}

#mainNavigation .btn-close {
	position: absolute;
	right: var(--bs-offcanvas-padding-x);
	top: var(--bs-offcanvas-padding-y);
}

#mainNavigation.offcanvas ul {
    list-style: none;
}
#mainNavigation.offcanvas .sub-menu .menu-item {
	position: relative;
}
#mainNavigation.offcanvas .sub-menu .menu-item:before {
	position: absolute;
    left: -1.125rem;
    top: .3625rem;
    font-size: .75rem;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f054";
    margin-right: 0.5em;
    /*color: #007bff;*/
}
#mainNavigation.offcanvas .sub-menu .menu-item:has(>.btn) {
    list-style: none;
    left: -1.125rem;
    margin: .5rem 0 1.5rem;
}
#mainNavigation.offcanvas .sub-menu .menu-item:has(>.btn):before {
    display: none;
}

#menu-primary-menu {
    padding: 0;
    font-size: 1.125rem;
    line-height: 1.8;
}
#menu-primary-menu > li {
    display: block;
}
#menu-primary-menu > li > a {
    font-weight: 700;
}
#menu-primary-menu a {
    text-decoration: none;
    color: var(--idol-linkblue);
}
#menu-primary-menu a:not(.btn):hover {
	text-decoration: underline;
	text-decoration-color: ;
}
#menu-primary-menu .sub-menu {
	padding-left: ;
}

#masthead {
	z-index: unset;
}
/* Fix overlay issues when search field opens */
#masthead:has(.gsc-results-wrapper-overlay.gsc-results-wrapper-visible) {
    position: relative;
	z-index: 1000;
}

@media all and (min-width: 1200px) {
	#logo {
		margin-left: 	0;
		margin-right:	0;
	}
}

@media only screen and (min-width: 992px) {
    #masthead .header-background {
        height: 31.25rem !important;
    }
    .navbar-expand-lg .offcanvas {
    	--bs-offcanvas-width: 400px;
    	--bs-offcanvas-padding-x: 2rem;
        --bs-offcanvas-padding-y: 2rem;
        position: fixed;
		bottom: 0;
		z-index: var(--bs-offcanvas-zindex);
		display: flex;
		flex-grow: 0;
		flex-direction: column;
	    width: var(--bs-offcanvas-width) !important;
		height: unset !important;
		color: var(--bs-offcanvas-color);
		visibility: hidden !important;
		background-color: var(--bs-offcanvas-bg) !important;
		transition: right .3s ease-in-out !important;
    }
    .navbar-expand-lg .offcanvas .offcanvas-header {
    	display: flex;
    }
    .navbar-expand-lg .offcanvas .offcanvas-body {
    	height: 100%;
    	padding: var(--bs-offcanvas-padding-x) var(--bs-offcanvas-padding-y);
    }
    #mainNavigation.dropdown-menu {
    	display: flex;
    	position: relative;
	    width: 100%;
	    background-color: transparent !important;
    }
    .navbar-expand-lg .offcanvas.show,
    .navbar-expand-lg .offcanvas.showing,
    .navbar-expand-lg .offcanvas.hiding {
    	visibility: visible !important;
		transition: translateX .3s ease-in-out !important;
    }
    body.admin-bar .navbar-expand-lg .offcanvas.offcanvas-end {
    	top: 32px;
    }
    .navbar-expand-lg .offcanvas.offcanvas-end.show,
    .navbar-expand-lg .offcanvas.offcanvas-end.showing {
    	transform: translateX(0%);
    	right: 0;
		transition: right .3s ease-in-out !important;
    }
    .navbar-expand-lg .offcanvas.offcanvas-end,
    .navbar-expand-lg .offcanvas.offcanvas-end.hiding {
    	transform: translateX(100%);
    	right: calc( var(--bs-offcanvas-width) * -1 );
		transition: right .3s ease-in-out !important;
    }
}

.header-gradient {
	position: relative;
	z-index: 1;
	background: linear-gradient(	
		45deg, 
		rgba(28, 28, 29, 0.9) 12%, 
		rgba(28, 28, 29, 0.6) 40%, 
		rgba(28, 28, 29, 0) 53%
	);
}

@media all and ( min-width: 1921px ) {
	.header-gradient {
		background: 
			linear-gradient(
				45deg,
				rgba(28, 28, 29, 0.9) 12%,
				rgba(28, 28, 29, 0.6) 40%,
				rgba(28, 28, 29, 0) 53% 
			),
			/* Add a right side gradient for QHD screens */
			linear-gradient(
				270deg,
				rgba(28, 28, 29, 0.5) calc( ( 100% - 1300px ) / 6 ),
				rgba(28, 28, 29, 0) calc( ( 100% - 1300px ) / 2 ) 
			);
	}
}

@media all and ( min-width: 2561px ) {
	.header-gradient {
		background: 
			linear-gradient(
				45deg,
				rgba(28, 28, 29, 0.9) 12%,
				rgba(28, 28, 29, 0.6) 40%,
				rgba(28, 28, 29, 0) 53% 
			),
			/* Modify the right side gradient for ultrawide screens */
			linear-gradient(
				270deg,
				rgba(28, 28, 29, 0.5) calc( ( 100% - 1300px ) / 2.5 ),
				rgba(28, 28, 29, 0) calc( ( 100% - 1300px ) / 2 ) 
			);
	}
}

#hero-main {
	color: #fff;
}
@media all and ( max-width: 767px ) {
	#hero-main {
		margin-top: 4.75rem;
	}
}

#masthead h1,
.hero-sub-text {
	color: #fff;
	text-shadow: 0 2px 4px rgb(0 0 0 / 90%);
}

#hero-main hr {
	max-width: 25%;
}

#header-search > div {
    width: 450px;
    min-width: 50%;
    max-width: 100%;
}

.gsc-control-wrapper-cse {
    width: 100%;
}

.gsc-control-cse {
    margin-left: -15px;
}

#header-search {
    min-height: 5.25rem;
    z-index: 3;
    position: relative;
}

form.gsc-search-box {
    font-size: 13px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 4px;
    margin-left: 0;
    width: 100%;
}

table.gsc-search-box {
    border-style: none;
    border-width: 0;
    border-spacing: 0 0;
    width: 100%;
}

.header-search tbody, 
.header-search td, 
.header-search tfoot, 
.header-search th, 
.header-search thead, 
.header-search tr {
	border-left: 0 solid transparent !important;
}

td.gsc-input {
    font-size: 1rem;
    padding: 0 !important;
}

.gsc-input-box {
    border: 1px solid #bbb;
    background: #fff;
    height: 3.625rem;
}

.gsc-search-box-tools .gsc-search-box .gsc-input {
    font-size: 1rem;
}

.gsc-search-button-v2:before {
	color: #fff;
}

.gsc-search-button-v2:before {
    color: #fff !important;
    font-size: 1rem !important;
    display: inline-block !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}
button.gsc-search-button.gsc-search-button-v2 {
    padding: 0.875rem !important;
    background: #1877aa !important;
    border: 0;
}

.gsc-results-wrapper-overlay {
	--search-wrap-width: 1300px;
	--search-wrap-margin: 5rem;
	--search-wrap-max-w: calc( 100% - (var(--search-wrap-margin) * 2 ));
    height: calc(100% - (var(--search-wrap-margin) * 2)) !important;
    top: var(--search-wrap-margin) !important;
    width: var(--search-wrap-width) !important;
    left: calc((100% - var(--search-wrap-width)) / 2) !important;
}
@media all and ( max-width: 1399px ) {
	.gsc-results-wrapper-overlay {
		--search-wrap-width: 1140px;
	}
}
@media all and ( max-width: 1199px ) {
	.gsc-results-wrapper-overlay {
		--search-wrap-width: 960px;
	}
}
@media all and ( max-width: 991px ) {
	.gsc-results-wrapper-overlay {
		--search-wrap-margin: 3rem;
		--search-wrap-width: var(--search-wrap-max-w);
	}
}

#masthead #hero-promo {
	height: 100%;
}

/* Define the fade-in animation */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

#header-search {
    opacity: 0;
}
#header-search.visible {
    animation: fadeIn .5s ease-in-out forwards; /* Duration: 1s, Delay: 0s */
    /* `forwards` keeps it visible after animation */
}

/* Base Promo Card Styles */
.promo-card {
    box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
}
#masthead .promo-card {
    opacity: 0;
    padding: 0;
}
#masthead .promo-card.visible {
    animation: fadeIn 1s ease-in-out .5s forwards; /* Delay: 1s */
}
.promo-card a:after,
.promo-card a:before {
	display: none;
}

/* Card style variations */
.promo-card-standard .card-body a {
    color: var(--idol-darkblue) !important;
}
.promo-card .card-body {
    padding: 1rem;
}
.promo-card .card-body a {
    text-decoration: none !important;
}
.promo-card .card-body:has(a:hover) a {
    text-decoration: underline !important;
}

#hero-promo .promo-card-white {
	background-color: var(--idol-white-90) !important;
	border-bottom-width: 0;
}
#hero-promo-mobile .promo-card-white {
	background-color: var(--idol-white) !important;
	border-bottom-width: 0;
}
.promo-card-white .card-body a {
    color: var(--idol-darkblue) !important;
}
.promo-card-white .card-body:has(a:hover) a {
	color: var(--idol-blue) !important;
}

.promo-card-primary {
	color: var(--idol-white) !important;
	border-color: var(--idol-darkblue);
}
#hero-promo .promo-card-primary {
	background-color: var(--idol-blue-90) !important;
}
#hero-promo-mobile .promo-card-primary {
	background-color: var(--idol-blue) !important;
}
.promo-card-primary .card-body a,
.promo-card-primary .card-body:has(a:hover) a {
	color: var(--idol-white) !important;
}

.promo-card-success {
	color: var(--idol-white) !important;
	border-color: var(--idol-darkgreen);
}
#hero-promo .promo-card-success {
	background-color: var(--idol-green-90) !important;
}
#hero-promo-mobile .promo-card-success {
	background-color: var(--idol-green) !important;
}
.promo-card-success .card-body a,
.promo-card-success .card-body:has(a:hover) a {
	color: var(--idol-white) !important;
}

.promo-card-warning {
	color: var(--idol-black) !important;
	border-color: var(--idol-darkyellow);
}
#hero-promo .promo-card-warning {
	background-color: var(--idol-yellow-90) !important;
}
#hero-promo-mobile .promo-card-warning {
	background-color: var(--idol-yellow) !important;
}
.promo-card-warning .card-body a {
	color: var(--idol-black) !important;
}
.promo-card-warning .card-body:has(a:hover) a {
	color: var(--idol-darkblue) !important;
}

.promo-card-transparent {
	color: var(--idol-white);
	background-color: transparent;
	border-bottom-width: 0;
	box-shadow: none;
}
.promo-card-transparent .card-body a,
.promo-card-transparent .card-body:has(a:hover) a {
	color: var(--idol-white);
}

#main {
	padding-top: 0;
}

#main,
#content,
#masthead #hero-promo {
	position: relative;
    z-index: 1;
}

/* Fix overlay issues when search field opens */
#masthead:has(.gsc-results-wrapper-overlay.gsc-results-wrapper-visible) #hero-promo {
	z-index: -1;
}

#main,
#content,
#content > .row,
#primary {
	background-color: transparent;
}

/* ---- Home Page ---- */

body.home #content,
body.page-template-page-a2w #content,
body.page-template-page-apprenticeship #content,
body.page-template-page-training #content {
	margin-top: -1.75rem;
}

body.home #content,
body.home #content > .row,
body.home #main {
	background-color: transparent;
}

#audience-row > .elementor-container {
	column-gap: 1.5rem;
}

/* ---- Landing pages ---- */

body.page-template-page-a2w #int-banner,
body.page-template-page-apprenticeship #int-banner,
body.page-template-page-training #int-banner {
	min-height: 50vh;
}

body.page-template-page-apprenticeship #int-banner {
	min-height: 60vh;
}

/* ---- Cards ---- */

.card {
	background-color: var(--idol-white);
	padding: 1.25rem 2.5rem;
}
.card.audience-card {
	z-index: 2;
}

.card.audience-card.employer {
	color: var(--idol-white);
	background-color: var(--idol-employergray);
	border-bottom-color: var(--idol-green);
}

/* ui cards */

.card.audience-card.unemployment .elementor-widget-button .elementor-button {
	color: var(--idol-text) !important;
	background-color: var(--idol-yellow) !important;
	border-color: var(--idol-darkyellow) !important;
	box-shadow: 0 0.1875rem 0 0 var(--idol-darkyellow);
}

.card.audience-card.unemployment .elementor-widget-button .elementor-button:hover {
	box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
}

/* employer cards */

.card.audience-card.employer h2,
.card.audience-card.employer h3,
.card.audience-card.employer h4,
.card.audience-card.employer h5,
.card.audience-card.employer h6 {
	color: var(--idol-white) !important;
}
.card.audience-card.employer .elementor-widget-icon-list .elementor-icon-list-text,
.card.audience-card.employer .elementor-widget-icon-list a:hover {
	color: var(--idol-white) !important;
	text-decoration-color: var(--idol-white) !important;
}
.card.audience-card.employer svg {
	fill: var(--idol-white);
}

.card.audience-card.employer .elementor-widget-button .elementor-button {
	background-color: var(--idol-green) !important;
	border-color: var(--idol-darkgreen) !important;
	box-shadow: 0 0.1875rem 0 0 var(--idol-darkgreen);
}

.card.audience-card.employer .elementor-widget-button .elementor-button:hover {
	box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
}

.card.audience-card .elementor-widget-wrap {
	padding: 0;
}

.card.audience-card h2 {
	font-weight: 800;
	/*text-transform: uppercase;*/
	color: var(--idol-black);
	text-align: center;
}
.card.ui-card {
	border-bottom-color: var(--idol-yellow);
}

.card.audience-card ul {
	list-style: none;
	padding: 0;
}

.card.audience-card ul li {
	padding-top:	.5rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #8C8C8C;
    flex: 1;
    display: flex;
}

.card.audience-card ul li a.btn {
    width: 100%;
    margin-bottom: 1rem !important;
    padding: .5rem 1.5rem !important;
    border-radius: .25rem;
}
.card.audience-card ul li a.btn:hover {
    color: var(--labor-white) !important;
}
.card.audience-card ul li a.btn.btn-warning:hover {
    color: var(--labor-black) !important;
}
.card.audience-card ul li:has(a.btn), 
.card.audience-card ul li:last-child {
    border-bottom: none;
    padding-bottom:	0
}
.card.audience-card ul li:has(a.btn) {
    padding-top:	0
}

.card.audience-card ul a:not(.btn),
.card.audience-card ul a:not(.btn).fa-solid {
    display: inline-flex;
    align-self: center;
    color: var(--idol-linkblue);
    font-family: var(--idol-text-font), sans-serif;
    font-weight: 600;
    margin-left: 2.75rem;
    width: calc( 100% - 2.75rem );
    position: relative;
    line-height: 1.6;
}

.card.audience-card ul.elementor-icon-list-items a {
	margin-left: 0;
}

.card.audience-card ul a:not(.btn):not(.fa-solid):not(.fa-regular):before {
	display: block;
    content: "\f111" !important;
}

.card.audience-card ul a[href*=".pdf"]:not(.btn):before, 
.card.audience-card ul a[href*=".PDF"]:not(.btn):before {
    content: "\f3ed";
}

.card.audience-card ul a:not(.btn):before {
	display: block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #1877aa;
    position: absolute;
    left: -2.5rem;
    top: calc(50% - 1rem);
    font-size: 1.25rem;
    width: 1.5rem;
    text-align: center;
}

.card.audience-card ul.elementor-icon-list-items .elementor-icon-list-icon {
    width: 2.125rem;
}
.card.audience-card ul.elementor-icon-list-items svg {
	height: 1.3125rem;
	width: auto;
    position: relative;
    top: -.0625rem;
    left: 0.25rem;
}

.card.audience-card ul.elementor-icon-list-items a:before,
.card.audience-card a:after {
    display: none !important;
}

.card.audience-card.employer-card ul.menu a:not(.btn),
.card.audience-card.employer-card ul.menu a:not(.btn).fa-solid,
.card.audience-card.employer-card ul.menu a:not(.btn):before {
	display: flex !important;
    flex-wrap: wrap;
    height: 100%;
    align-content: center;
    color: #fff;
    transition: color 0.25s ease-in-out;
}

.card.audience-card.employer-card ul.menu a:not(.btn):hover,
.card.audience-card.employer-card ul.menu a:not(.btn):hover.fa-solid,
.card.audience-card.employer-card ul.menu a:not(.btn):hover:before {
	color: #fec906 !important;
	transition: color 0.25s ease-in-out;
}

.card.audience-card > .elementor-widget-wrap,
.card.audience-card div:has(.elementor-widget-shortcode), 
.card.audience-card .elementor-widget-shortcode, 
.card.audience-card .elementor-widget-shortcode div:has(ul), 
.card.audience-card .elementor-widget-icon-list,
.card.audience-card .elementor-widget-icon-list .elementor-widget-container,
.card.audience-card .elementor-icon-list-items, 
.card.audience-card .elementor-icon-list-item, 
.card.audience-card .elementor-icon-list-item a {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* This hides menus all audience card menus. */
.card.audience-card .elementor-widget-shortcode .menu {
    display: none;
}

/*	Menus are divs by default. Ours are uls. 
	This overrides the hidden menu if properly loaded.  */
.card.audience-card .elementor-widget-shortcode ul.menu {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card.audience-card .elementor-icon-list-item a {
	flex-direction: row;
}

.audience-card.ui-card .btn-primary,
.audience-card.ui-card .elementor-widget-button .elementor-button,
.elementor .card a.btn.btn-warning {
	color: var(--idol-black) !important;
	background-color: var(--idol-yellow) !important;
	-webkit-box-shadow: 0 .1875rem 0 0 var(--idol-darkyellow) !important;
	-moz-box-shadow: 0 .1875rem 0 0 var(--idol-darkyellow) !important;
	box-shadow: 0 .1875rem 0 0 var(--idol-darkyellow) !important;
}
.audience-card.ui-card .btn-primary:hover,
.audience-card.ui-card .elementor-widget-button .elementor-button:hover {
	-webkit-box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
	-moz-box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
	box-shadow: 0 .3125rem 0 0 var(--idol-darkyellow);
}

.card.employer-card {
	background-color: var(--color13);
	border-bottom-color: var(--idol-green);
}
.card.employer-card,
.card.employer-card .elementor-widget-icon-list .elementor-icon-list-icon svg,
.card.employer-card .elementor-widget-icon-list .elementor-icon-list-text,
.card.employer-card .elementor-widget-icon-list a {
	color: var(--idol-white) !important;
	fill: var(--idol-white);
}
.card.employer-card h2 {
	color: var(--idol-white);
}

.employer-card .btn-primary,
.employer-card .elementor-widget-button .elementor-button {
	background-color: var(--idol-green) !important;
	-webkit-box-shadow: 0 .1875rem 0 0 var(--idol-darkgreen);
	-moz-box-shadow: 0 .1875rem 0 0 var(--idol-darkgreen);
	box-shadow: 0 .1875rem 0 0 var(--idol-darkgreen);
}
.employer-card .btn-primary:hover,
.employer-card .elementor-widget-button .elementor-button:hover {
	-webkit-box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
	-moz-box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
	box-shadow: 0 .3125rem 0 0 var(--idol-darkgreen);
}


/* ---- News Row ---- */

#news-row .elementor-container {
	gap: var(--bs-gutter-x);
}

#news-row .card {
    color: #16202b;
    border-bottom: none;
    border-left: 15px solid #1877aa;
	padding: 29px 29px 25px;
	margin-bottom: 0;
    border-radius: 4px 0 0 4px;
    -webkit-transition: all .15s;
    transition: all .15s;
    box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.25);
}

#news-row .elementor-widget-wrap,
#news-row .elementor-widget:not(.elementor-widget-heading),
#news-row .elementor-widget-container, 
#news-row .elementor-widget-container > .elementor-inline-editing {
    display: flex;
    flex-direction: column;
    justify-content: end;
    height: 100%;
}

#news-row .elementor-widget:has(>p.category) {
	display: contents;
}

#news-row .elementor-widget-heading {
    min-height: max-content;
    display: block;
}
#news-row .elementor-widget-heading a {
    min-height: 3.375rem;
    display: block;
}

#news-row .card h1, #news-row .card h2, #news-row .card h3,
#news-row .card .h1, #news-row .card .h2, #news-row .card .h3 {
	/* h1 and h2 shouldn't happen in News cards, but if someone does, we make them uniform */
	font-size: 1.25rem;
    border: none;
}
#news-row .category, #news-row .date-time {
	align-self: flex-end;
	border-top: 3px solid var(--idol-black);
    font-weight: 700 !important;
    line-height: 1.5rem;
    margin: 0;
}
#news-row p:last-child {
	margin-top: auto;
}

/* ---- Internal Pages ---- */

.lead {
	font-weight: 400;
}

body:not(.home) #masthead {
  --topnav-height: 3.75rem;
  --banner-height: 18.75rem;
  min-height: calc(var(--topnav-height) + var(--banner-height));
  background-color: var(--idol-darkgray);
}

body:not(.home) #int-banner {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

body:not(.home) #banner-img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: center 25%;
	z-index: 0;
}

body.page-template-page-a2w #banner-img {
	
}
body.page-template-page-apprenticeship #banner-img {
	object-position: center 40%;
}
body.page-template-page-training #banner-img {
	object-position: center 60%;
}

#int-banner #banner-gradient {
    background-image: linear-gradient(
		45deg, 
		rgba(28, 28, 29, 0.5) 15%, 
		rgba(28, 28, 29, 0.25) 35%, 
		rgba(28, 28, 29, 0) 55%);
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
}

body.page-template-page-training #int-banner #banner-gradient,
body.page-template-page-apprenticeship #int-banner #banner-gradient {
    background-image: linear-gradient(
    	45deg, 
	    rgba(28, 28, 29, 0.9) 15%, 
	    rgba(28, 28, 29, 0.7) 35%, 
	    rgba(28, 28, 29, 0) 55%)
}

@media all and ( min-width: 1921px ) {
	.#int-banner #banner-gradient {
		background: 
			linear-gradient(
				45deg, 
				rgba(28, 28, 29, 0.7) 15%, 
				rgba(28, 28, 29, 0.5) 35%, 
				rgba(28, 28, 29, 0) 55%
			),
			/* Add a right side gradient for QHD screens */
			linear-gradient(
				270deg,
				rgba(28, 28, 29, 0.5) calc( ( 100% - 1300px ) / 6 ),
				rgba(28, 28, 29, 0) calc( ( 100% - 1300px ) / 2 ) 
			);
	}
	body.page-template-page-training #int-banner #banner-gradient,
	body.page-template-page-apprenticeship #int-banner #banner-gradient {
	    background-image: 
		    linear-gradient(
		    	45deg, 
			    rgba(28, 28, 29, 0.95) 15%, 
			    rgba(28, 28, 29, 0.8) 35%, 
			    rgba(28, 28, 29, 0) 55%
			),
			/* Add a right side gradient for QHD screens */
			linear-gradient(
				270deg,
				rgba(28, 28, 29, 0.75) calc( ( 100% - 1300px ) / 6 ),
				rgba(28, 28, 29, 0) calc( ( 100% - 1300px ) / 2 ) 
			);
	}
}

@media all and ( min-width: 2561px ) {
	#int-banner #banner-gradient {
		background: 
			linear-gradient(
		    	45deg, 
			    rgba(28, 28, 29, 0.95) 15%, 
			    rgba(28, 28, 29, 0.8) 35%, 
			    rgba(28, 28, 29, 0) 55%
			),
			/* Modify the right side gradient for ultrawide screens */
			linear-gradient(
				270deg,
				rgba(28, 28, 29, 0.5) calc( ( 100% - 1300px ) / 2.5 ),
				rgba(28, 28, 29, 0) calc( ( 100% - 1300px ) / 2 ) 
			);
	}
	body.page-template-page-training #int-banner #banner-gradient,
	body.page-template-page-apprenticeship #int-banner #banner-gradient {
	    background-image: 
		    linear-gradient(
		    	45deg, 
			    rgba(28, 28, 29, 0.95) 15%, 
			    rgba(28, 28, 29, 0.8) 35%, 
			    rgba(28, 28, 29, 0) 55%
			),
			/* Add a right side gradient for QHD screens */
			linear-gradient(
				270deg,
				rgba(28, 28, 29, 0.85) calc( ( 100% - 1300px ) / 2.5 ),
				rgba(28, 28, 29, 0) calc( ( 100% - 1300px ) / 2 ) 
			);
	}
}

/* Making sure banner image still makes sense on ultrawide screens > 1920px */
@media all and ( min-width: 1921px ) {
	body:not(.home) #banner-img {
	    position: absolute;
	    left: calc(50% - (960px));
	    top: calc(55% - (200px));
	    width: 1920px;
	    height: auto; 
	    object-fit: unset; 
	    z-index: 0;
	    mask-image: linear-gradient(
	    	to left, 
	    	transparent, 
	    	black calc( ( 100% - 1224px ) / 2 ), 
	    	black calc( ( ( 100% - 1224px ) / 2 ) + 1224px ), 
	    	transparent);
	}
	body.page-template-page-a2w #banner-img {
		top: -11vh;
	}
	body.page-template-page-apprenticeship #int-banner {
		min-height: 56vh;
	}
	body.page-template-page-apprenticeship #banner-img {
		top: 0;
	}
	body.page-template-page-training #banner-img {
		top: -6vh;
	}
}

body:not(.home) #title-container {
	min-height: var(--banner-height);
	padding-top: 6rem; /* prevents logo from overlapping heading */
	padding-bottom: 3.25rem;
}
body.page-template-page-training #title-container,
body.page-template-page-apprenticeship #title-container {
	min-height: 45vh;
}
body:not(.home) #title-container h1 {
	z-index: 2 !important;
	text-wrap: pretty;
}

@media screen and ( max-width: 991px ) {
	body:not(.home) #masthead {
		--banner-height: 33vw;
	}
	body:not(.home) #title-container {
		padding-left: 3rem;
		padding-right: 3rem;
    	max-width: 100%;
	}
}

#title-container h1 span {
	background-color: rgba(22, 32, 43, 0.6);
  padding: 0;
  box-shadow: 1rem 0px 0px rgba(22, 32, 43, 0.6), -1rem 0px 0px rgba(22, 32, 43, 0.6);
  box-decoration-break: clone;
	text-shadow: 0 2px 4px rgb(22, 32, 43, 0.9);
}

.white-bg {
	min-height: 33vh;
    position: relative;
    z-index: 9;
    padding: 3rem;
    margin-top: 0em;
    background-color: rgba(255, 255, 255, 0.96);
    box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
    webkit-box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
}

@media all and ( max-width: 991px ){
	.white-bg {
		padding: 1.75rem 2rem 2rem;
	}
}

body.page-template-page-customheader div#content.container,
body.post-type-archive-tribe_events div#content,
body.page-tribe-events-page-template div#content {
    min-height: 90vh;
    position: relative;
    z-index: 9;
    padding: 3rem;
    margin-top: 0em;
    background-color: rgba(255, 255, 255, 0.96);
    box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
    webkit-box-shadow: 0 .5rem 1.25rem 0 rgba(0, 0, 0, 0.12);
}

#breadcrumbs {
    background: var(--color8);
}

ol.breadcrumb {
    padding: 0.75rem 1rem 0.75rem calc(1rem - 10px);
    margin-bottom: 0rem;
}

.breadcrumb-item+.breadcrumb-item::before {
    color: var(--bs-gray-500);
    padding: 0 .5rem 0 .25rem;
}

li.breadcrumb-item {
    color: var(--color7) !important;
}

li.breadcrumb-item > a {
    color: var(--idol-yellow) !important;
    text-decoration: none;
}
li.breadcrumb-item a:hover {
    color: var(--bs-warning-border-subtle) !important;
    text-decoration: underline;
}

li.breadcrumb-item:first-child > a:before {
    content: "\f015";
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    font-size: small;
    margin: 0 .25rem 0 0;
    position: relative;
    top: -1px;
}

@media screen and ( max-width: 991px ) {

}

/* h1 level headings are only permitted in the top page header area. All others will be hidden. */
body:not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget h1, 
body:not(.elementor-editor-active) #content h1 {
	display: none;
}
/* h1 level headings will be made super UGLY in the editor. */
body.elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget h1,
body.elementor-editor-active #content h1 {
    color:	red !important;
}
body.elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget h1:after,
body.elementor-editor-active #content h1:after {
	display: block;
    content: "**H1 headings are only allowed in the top header area and will be hidden if misused.**";
    position: absolute;
    top: .5rem;
    left: .5rem;
    font-size: 1rem;
    line-height: 1.6;
    background: var(--idol-white);
    box-shadow: 0 4px 9px #AAAAAA;
    padding: 1rem;
    width: max-content;
    max-width: 100%;
}

body:not(.home):not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget h2,
body:not(.home).elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget h2,
body:not(.home):not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget .h2,
body:not(.home).elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget .h2,
body:not(.home):not(.page-template-page-customheaderBlank) #content div.elementor-column:not(.landing-page-card) h2,
body:not(.home):not(.page-template-page-customheaderBlank) #content div.elementor-column:not(.landing-page-card) .h2 {
	text-transform: none;
    font-size: 1.625rem;
    border-top: .1875rem solid #16202b;
    margin-top: 1.75rem;
    padding: 1rem 0;
}

h2.no-overline, h2 .no-overline, .no-overline h2,
.h2.no-overline, .h2 .no-overline, .no-overline .h2,
body:not(.home):not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget:first-child h2:first-of-type, 
body:not(.home).elementor-editor-active div.white-bg > div.elementor-widget-wrap > div.elementor-widget:nth-child(2) h2:first-of-type,
body:not(.home):not(.page-template-page-customheaderBlank).page-template-page-training #content div.elementor-column:not(.landing-page-card) h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

:where(h2, h3, h4, h5, .h2, .h3, .h4, .h5).overline, 
:where(h2, h3, h4, h5, .h2, .h3, .h4, .h5) .overline, 
.overline :where(h2, h3, h4, h5, .h2, .h3, .h4, .h5) {
    border-top: .1875rem solid #16202b !important;
    margin-top: 1.75rem !important;
    padding-top: 1rem !important;
}

body:not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget h3, 
body.elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget h3,
body:not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget .h3, 
body.elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget .h3,
body:not(.page-template-page-customheaderBlank) #content div.elementor-column:not(.landing-page-card) h3,
body:not(.page-template-page-customheaderBlank) #content div.elementor-column:not(.landing-page-card) .h3 {
	font-size: 1.25rem;
    padding: 4px 0 1em;
    margin: 15px 0 0;
}

body:not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget h3, 
body.elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget h3,
body:not(.elementor-editor-active) .white-bg .elementor-widget-wrap > div.elementor-widget .h3, 
body.elementor-editor-active .white-bg .elementor-widget-wrap > div.elementor-widget .h3,
body:not(.page-template-page-customheaderBlank) #content div.elementor-column:not(.landing-page-card) h4,
body:not(.page-template-page-customheaderBlank) #content div.elementor-column:not(.landing-page-card) .h4 {
	font-size: 1.125rem;
    padding: 4px 0 1em;
    margin: 15px 0 0;
}

hr, .elementor-divider-separator {
    border-top-width: 3px !important;
    border-color: var(--idol-text);
}

/* --- CONTENT HUB PAGES (formerly "landing pages") --- */

body:not(.home) .landing-page-card h2, 
body:not(.home) .landing-page-card h3, 
body:not(.home) .landing-page-card h4, 
body:not(.home) .landing-page-card h5, 
body:not(.home) .landing-page-card h6 {	
    margin-top: 0;
}

.landing-page-card .elementor-widget-image a {	
    width: calc(100% + 1rem);
    height: 175px;
}

.landing-page-card .elementor-widget-image a img {
    height: 100% !important;
}

/* Content hub cards should only use H2. Additional styles for user error */
.landing-page-card .h2,
.landing-page-card h2,
.landing-page-card .h3,
.landing-page-card h3,
.landing-page-card .h4,
.landing-page-card h4,
.landing-page-card .h5,
.landing-page-card h5,
.landing-page-card .h6,
.landing-page-card h6 {
    font-size: 1.5rem;
}

/* --- INTERNAL PAGE MAIN COLUMN --- */

/* 
	Renamed landing-card to "landing-page-card". 
	Renamed internal page instances to "gray-card".
	The old landing-card class is here as a fallback 
	in case some internal page cards were missed in 
	the renaming.
*/
.elementor-container:has(>.landing-card, >.gray-card) {
    gap: 20px;
}
.landing-card, .gray-card {
    height: auto;
    min-height: 335px;
    border-top: 10px solid #1877aa;
    color: #16202b;
    display: block;
    position: relative;
    height: 345px;
    background: #f6f6f6;
    padding: 24px 24px 12px;
    margin-bottom: 24px;
    overflow: hidden;
}

/* --- INTERNAL PAGE ASIDE --*/

.entry-content aside {
	padding: 3.75rem 1rem 0 0;
}

.entry-content aside > .elementor-widget-wrap {
    display: block !important;
    padding-top: 0 !important;
}

.entry-content aside:not(.no-sticky):not(:has(.no-sticky)) > .elementor-widget-wrap {
    display: block !important;
    position: sticky;
    top: 5.5rem;
    height: max-content;
    padding-top: 0 !important;
}

.entry-content aside > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image) {
    margin: 0 -1rem !important;
    padding: 0 0 1rem 1rem;
    background: rgb(229, 229, 231, .9);
}



/* Editor overlay fixes. */
body.elementor-editor-active .entry-content aside .elementor-element>.elementor-element-overlay {
	position: relative;
}
body.elementor-editor-active .entry-content aside > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image) {
	position: relative;
	z-index: 10;
}
body.elementor-editor-active .entry-content aside > .elementor-widget-wrap {
	position: relative;
    top: -1rem;
}

/* -- Aside should only use h2. Additional styles for user error */
.entry-content aside h2,
.entry-content aside h3,
.entry-content aside h4,
.entry-content aside h5,
.entry-content aside h6 {
    font-size: 1.25rem;
    border-top: none;
    margin-bottom: 16px;
}

.entry-content aside .elementor-widget:first-of-type h2:first-child,
.entry-content aside .elementor-widget:first-of-type h3:first-child,
.entry-content aside .elementor-widget:first-of-type h4:first-child,
.entry-content aside .elementor-widget:first-of-type h5:first-child,
.entry-content aside .elementor-widget:first-of-type h6:first-child {
    margin-top: 0;
}

/* UI FAQ page */

.faq-collapse .elementor-toggle-item {
    padding: 1px 26px;
    background: #f1f1f1;
    border-left: 15px solid #1877aa;
    border-radius: 4px 0 0 4px;
    display: flex;
    flex-direction: column;
}

.faq-collapse .elementor-toggle-item li, 
.faq-collapse .elementor-toggle-item li {
    margin-bottom: 0.5rem;
}

/* FAQ Cards */

.faq-card {
    color: var(--idol-black);
    display: block;
    position: relative;
    height: 305px;
    background-color: #f5f5f7;
    padding: 24px 24px 12px;
    margin-bottom: 24px;
    overflow: hidden;
}
.faq-card.no-thumb {
    height: auto;
}
@media (min-width: 992px) {
    .faq-card.no-thumb {
        border-left: 1rem solid var(--idol-blue);
        border-radius: 4px 0 0 4px;
    }
}
@media (min-width: 768px) {
    .faq-card, .faq-card.no-thumb {
        padding-right: 5.125rem;
    }
}
.faq-card.no-thumb, 
.faq-card.no-thumb:hover {
    padding-bottom: 1.5rem;
    margin-bottom: 0 !important;
}

.faq-card:before
 {
    width: calc(100% - 1.875rem);
    height: 1.8215rem;
    background-color: #f6f6f6;
    position: absolute;
    bottom: 0;
    right: .9375rem;
    content: "-";
    color: transparent;
    -moz-transition: background .15s;
    -webkit-transition: background .15s;
    transition: background .15s;
}
.faq-card:after,
.faq-card.no-thumb:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f061";
    margin-left: 0.3em;
    position: absolute;
    right: 40px;
    top: calc(50% - 10px);
    color: #1877aa;
}

/* CALENDAR STYLES */

/* Events styles */

.tribe-events-calendar-list.p-0 {
	padding:	0 !important;
}

/* Hide view selector on small screens. Calendar grid doesn't work */
.tribe-events-header__events-bar,
.tribe-events-c-view-selector__content {
	display: none !important;
}
@media all and ( min-width: 992px ) {
	.tribe-events-c-view-selector__content {
		display: inline !important;
		position: relative !important;
	}
}

.tribe-events-calendar-list__event-datetime {
	font-family: "Montserrat", sans-serif !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details {
	width: 100%;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag {
    width: 10rem !important;
    height: 10rem;
}

.tribe-events #past-events {
    display: none;
}
/*.tribe-events #past-events:has(.past-events-bottom .tribe-common-g-row) {
    display: block;
}*/

#dates-row .event .card {
	width: 100%;
	transform: translate( 0 );
	box-shadow: var(--bs-box-shadow-sm) !important;
	transition: all .5s ease-in-out;
}
#dates-row .event .card:hover,
#dates-row .event .card:focus {
	transform: translate( 0, -.125rem );
	box-shadow: var(--bs-box-shadow) !important;
	transition: all .25s ease-in-out;
}

.tribe-events .tribe-events-l-container {
	padding-top: 1.25rem !important;
}

.tribe-events-c-top-bar__datepicker-button {
	padding: 0 .5rem !important;
	border-color: transparent;
}

.tribe-common-c-svgicon {
	color: var(--idol-blue) !important;
}

.tribe-events .datepicker.dropdown-menu { 
	border: 0 solid #fff !important;
	border-radius: 4px !important;
	background-color: var(--bs-gray-200) !important;
	padding: 0;
	box-shadow: 0px .5rem 2rem #0004;
}

.tribe-events .datepicker th {
	border-radius: 0;
	background-color: var(--idol-darkblue) !important;
}

.tribe-events .datepicker tbody, 
.tribe-events .datepicker td, 
.tribe-events .datepicker tfoot, 
.tribe-events .datepicker th, 
.tribe-events .datepicker thead, 
.tribe-events .datepicker tr {
	border-left-width: 0 !important;
}

.tribe-events .datepicker .datepicker-months .datepicker-switch,
.tribe-events .datepicker .datepicker-months .next,
.tribe-events .datepicker .datepicker-months .prev,
.tribe-events .datepicker .datepicker-years .datepicker-switch,
.tribe-events .datepicker .datepicker-years .next,
.tribe-events .datepicker .datepicker-years .prev {
    padding: 0;
    height: 48px;
    background-color: var(--idol-darkblue) !important;
}

.tribe-events .datepicker th * {
	color: #fff !important;
}
.tribe-events .datepicker th .tribe-common-c-svgicon path {
    fill: #fff !important;
}

.tribe-events .datepicker th button.datepicker-switch {
	display: block;
    justify-self: center;

}

.tribe-events .datepicker table {
	width: 100%;
}

.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover {
	background-image: none;
}

.datepicker table tr td span.active.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active[disabled] {
	background-color: var(--idol-blue);
}

.tribe-events-c-top-bar__datepicker {
	height: 2.25rem;
	margin-bottom: -.5rem;
}

.tribe-events-c-top-bar__datepicker,
.tribe-events-header__top-bar {
	display: flex;
}

.tribe-events-header__top-bar {
	justify-content: end;
}
.tribe-events-header__top-bar h2 {
	flex-grow: 1;
}

.tribe-events-c-top-bar__datepicker-button:hover {
	text-decoration: underline;
}

.tribe-common-c-btn {
    background-color: #1877aa !important;
  border: 0 solid transparent;
  border-radius: 4px;
  border-bottom-width: 0px;
	box-shadow: 0 4px 0 #165578;
	transform: translate(0);
	transition: all .25s ease-in-out;
}
.tribe-common-c-btn:hover {
	box-shadow: 0 6px 0 #165578;
	transform: translate( 0, -2px );
	transition: all .25s ease-in-out;
}

.tribe-events-calendar-month {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	grid-auto-rows: minmax(0, auto); /* Allow rows to size independently to tallest item */
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	background-color: #fff;
	--day-border-color: #ddd;
	--day-border-width: 1px;
}

/* First row ( Day labels ) */
.tribe-events-calendar-month__header-column-title {
	min-height: 3rem;
	background-color: #1877aa;
	padding: .5rem !important;
	display: flex;
	flex-direction: column;
	justify-content: stretch;
}

.tribe-events-calendar-month__header-column-title > span:not(.screen-reader-text) {
	flex: 1 1 auto;
	align-content: center;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 1.125rem;
}

/* All other rows (days 8–42) */
.tribe-events-calendar-month__day-cell {
	min-height: 10rem;
	border: var(--day-border-width) solid var(--day-border-color) !important;
	border-width: 0 0 var(--day-border-width) var(--day-border-width) !important 
}

/* Right border on last day of each week */
.tribe-events-calendar-month__day-cell:nth-child(21),
.tribe-events-calendar-month__day-cell:nth-child(35),
.tribe-events-calendar-month__day-cell:nth-child(49),
.tribe-events-calendar-month__day-cell:nth-child(63),
.tribe-events-calendar-month__day-cell:nth-child(77) { 
	border-right: var(--day-border-width) solid var(--day-border-color) !important;
}

/* Tool tips */
.tribe-events-calendar-month__day-cell .tribe-events-calendar-month__calendar-event-tooltip-template.tribe-common-a11y-hidden {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: -.5rem;
    left: -50%;
    background: var(--idol-white);
    padding: 1rem;
    width: 200%;
    max-width: 400px;
    border: 1px solid var(--bs-gray-400);
    box-shadow: 0px 3px 5px rgba(0, 0, 0, .125);
    transition: opacity .125s ease-in-out;
}
.tribe-events-calendar-month__day-cell:hover .tribe-events-calendar-month__calendar-event-tooltip-template.tribe-common-a11y-hidden,
.tribe-events-calendar-month__day-cell .tribe-events-calendar-month__calendar-event-tooltip-template.tribe-common-a11y-hidden:hover {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .125s ease-in-out;
}


/* Single Event styles */

#tribe-events-pg-template {
    margin: 0 auto;
		max-width: unset;	
    padding: 0;
}

.tribe-events-single-section-title {
	text-transform: unset !important;
}

.tribe-events-meta-group:last-child {
    margin-right: 0;
}

/* Events serachbar */
.tribe-events-c-search {
	background: var(--idol-white);
}
.tribe-events .tribe-events-c-events-bar--border {
    border: none !important;
}
.tribe-events .tribe-events-c-events-bar--border .tribe-events-c-search__input-group {
    border: 1px solid var(--tec-color-border-events-bar) !important;
    border-radius: 4px 0 0 4px;
    padding: 3px 0 2px 0;
    margin: 1px 0 -1px;
}
.tribe-events .tribe-events-c-search__input-control {
	margin: 0 !important;
}
.tribe-common button {
	border-radius: 4px;
}
.tribe-common .tribe-events-c-search button {
    border-radius: 0 4px 4px 0;
}


.tribe-events-c-top-bar {
	position: relative;
	display: block;
}
.tribe-events-c-top-bar p,
.tribe-events-c-view-selector__content {
    padding: .5rem;
}
/*.tribe-events-c-top-bar p {
    top: 0;
}*/
.tribe-events-view--list .tribe-events-c-top-bar p {
    bottom: -.375rem;
    position: relative;
    align-self: end;
}
.tribe-events-c-top-bar p:after {
    content: ":";
    position: relative;
    left: -.25rem;
}
.tribe-events-c-view-selector__content {
    top: -.75rem !important;
}
.tribe-events-view--list .tribe-events-c-view-selector__content {
    top: unset !important;
    bottom: -.625rem;
}
.tribe-events-c-view-selector__list {
    display: flex !important;
    width: 100% !important;
    gap: 1rem !important;
    position: relative !important;
    left: 0 !important;
}
.tribe-events .tribe-events-c-view-selector__list-item-link {
    padding: 0 !important;
}
.tribe-events .tribe-events-c-view-selector__list-item-icon {
    margin-right: .375rem;
}
.tribe-events .tribe-events-c-view-selector__list-item-text {
	position: relative;
	top: 0.125rem;
}
.tribe-events-c-view-selector__list-item-icon svg {
    margin-top: -6px;
}

.tribe-events-calendar-list__month-separator,
div#past-events {
    display: none !important;
}

.list-date .tribe-events-calendar-list__event-date-tag-datetime {
    justify-content: center;
    padding: 0;
}
.list-date .tribe-events-calendar-list__event-date-tag-datetime span {
    color: #ffffff;
    font-family: var(--idol-heading-font);
}

.tribe-events-calendar-list .tribe-events-calendar-list__event-date-tag-daynum {
	font-size: 3rem !important;
}

.list-date .tribe-events-calendar-list__event-date-tag-year:not(.tribe-common-h5) {
	display: none;
}

.tribe-events-calendar-list__event-details {
	width: 100%;
}
.tribe-events-calendar-list__event-details .tribe-events-calendar-list__event-title {
	font-size: 1.5rem !important;
}
.tribe-events-calendar-list__event-details .tribe-events-calendar-list__event-datetime-wrapper {
	font-size: 1.125rem !important;
}
.tribe-events-calendar-list__event-details .tribe-events-calendar-list__event-description p {
	color: var(--idol-text);
	font-size: 1rem;
}

@media all and ( max-width: 782px ) {
	/* Disable view switchting on mobile. List view displays best. */
	.tribe-events-c-events-bar__views,
	.tribe-events-c-top-bar p,
	.tribe-events-c-view-selector__content {
		display: none !important;
	}

	.tribe-events-c-search {
		display: flex;
	}
	.tribe-events-c-search .tribe-events-c-search__input-group {
		flex-grow: 1;
	}
	.tribe-common .tribe-common-form-control-text__input {
		border: none;
	    padding-left: 1rem;
	}
	.tribe-events .tribe-events-c-search__input-control-icon-svg {
		display: none;
	}
}

:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border {
    border-color: var(--idol-darkblue);
}

:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text,
:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text {
    color: var(--idol-darkblue) !important;
}

:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border:where(:focus,:hover,:focus-within),
:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown:has(.tribe-common-c-btn-border:where(:focus,:hover,:focus-within)) .tribe-common-c-btn-border {
    background-color: var(--idol-blue) !important;
    border-color: var(--idol-blue);
}

:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border:where(:focus,:hover,:focus-within) .tribe-events-c-subscribe-dropdown__button-text,
:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown button:where(:focus,:hover).tribe-events-c-subscribe-dropdown__button-text, 
:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border:where(:focus,:hover,:focus-within) button.tribe-events-c-subscribe-dropdown__button-text {
    color: #fff !important;
    outline: none !important;
    text-decoration: underline;
}

:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border:where(:focus,:hover,:focus-within) svg,
:where(.tribe-events, .single-tribe_events) .tribe-events-c-subscribe-dropdown:has(.tribe-common-c-btn-border:where(:focus,:hover,:focus-within)) svg {
	stroke: #fff !important;
}

.tribe-events-c-subscribe-dropdown {
	float: right;
	margin-left: auto !important;
}
#tribe-events-subscribe-dropdown-content {
	position: unset !important;
}

/* ---- FOOTER ---- */

#social-links {
	background-color: var(--idol-darkgray);
	height: 64px;
}
#social-links a.social {
	margin: 0 6px;
}
#social-links a.social:first-child {
	margin-left: 0;
}
#social-links a.social:last-child {
	margin-right: 0;
}

/* Force Fontawesome 6 icon for X (Twitter). Elementor reverts to FA5 in editor. */
.fa-x-twitter:before {
    content: "\e61b" !important;
}

#colophon {
	background-color: var(--color8);
}

@media only screen and (max-width: 991px) {
    #colophon {
        padding-left: calc(var(--bs-gutter-x) * .5);
        padding-right: calc(var(--bs-gutter-x) * .5);
    }
}

#colophon h4 {
	display: inline-flex;
	text-wrap: pretty;
    color: #dedede !important;
    font-size: 0.8125rem;
    text-transform: uppercase;
    font-weight: bold;
    padding-bottom: .50rem;
    max-width: 15rem;
}

#colophon ul {
    list-style: none;
    padding-inline-start: 0;
}


#colophon ul li a {
    color: #dedede;
    line-height: 2rem;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
}

.footer-triangle-wrap,
.footer-triangle {
	width: 100vw;
}
.footer-triangle-wrap {
	position: relative;
    z-index: 0;
    left: -10px;
}
.footer-triangle {
	height: calc(10vw - 2px);
    position: absolute;
    top: calc(-10vw + 2px);
    left: 0;
    z-index: 0;
}

section.footer-links {
    background-color: #141b25;
}

.row-footer-links {
    text-align: left;
    color: #fff;
    background-color: transparent;
}

.footer-links .container {
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.footer-links img.ajc-logo {
    position: relative;
    top: -4px;
    margin-right: 4px;
}

.footer-links .row a {
	display: inline-block;
	width: auto;
    position: relative;
    padding-right: .75rem;
    margin: 0 1.75rem .75rem 0;
    color: var(--labor-white) !important;
}
.footer-links a:after {
	display: none;
}
.footer-links .row a:after {
	display: inline-block;
    right: calc(-1rem + 1px);
    color: var(--labor-white);
}

.footer-links .row a:first-child {
    padding-left: 0;
    margin-left: 0;
}
.footer-links .row a:last-child {
    padding-right: 0;
    margin-right: 0;
}

.footer-links .row a:hover {
	color: var(--idol-yellow) !important;
}

.footer-links .col.middle-col a,
.footer-links .col.right-col a {
    display: inline;
    padding: 0;
    font-weight: 300;
}

.footer-links .col.middle-col a::after,
.footer-links .col.right-col a::after {
	display: none;
}

.footer-links .col.middle-col a,
.footer-links .col.right-col a {
    display: inline;
    padding: 0;
    font-weight: 300;
}
