/* =============================================================================================
BASE STYLES AND LAYOUT
============================================================================================= */

/* ------------------------------------------------------------------------ CSS Variables */

:root {
	--white: #fff;
	--black: #1D1D1D;
	--black-rgba: rgba(29,29,29,.25);
	--black-rgba-75: rgba(29,29,29,.75);
	--black-dk: #000000;
	--black-dk-gradient: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 100%);
	--error: #B5362F;
	--grey-lt: #EAEFF4;
	--grey-lt-rgba: rgba(234,239,244,.6);
	--grey-lt-gradient: linear-gradient(270deg,rgba(234, 239, 244, 0) 0%, rgba(234, 239, 244, .75) 35%, rgba(234, 239, 244, 1) 100%);
	--grey-md: #D4DEE8;
	--grey-md-gradient: linear-gradient(90deg,rgba(212, 222, 232, 0) 0%, rgba(212, 222, 232, 1) 100%);
	--grey-dk: #5a636b;
	--grey-xd: #3A3F43;
	--grey-rgba-accordion: rgba(61,91,121,.0875);

	--blue-dk: #1C1E5A;
	--blue-dk-rgba: rgba(28, 30, 90, .5);
	--blue-md: #3442BD;
	--blue-dk-hover: #2e39a4; /*for map and blue section eyebrow */
	--blue-md-rgba: rgba(52,66,189,.5);
	--blue-lt: #5381FF;
	--blue-lt-ally: #3369FF;
	--blue-lt-ally-rgba: rgba(51, 105, 255, .5);


	--green-lt: #CBE54E;
	--green-lt-rgba: rgba(203,229,78,.5);
	--green-md: #4FA63F;
	--green-md-ally: #3F8532;

	--border-grey: 2px solid var(--grey-md);
	--border-blue: 2px solid var(--blue-md);
	--border-white: 2px solid var(--white);
	--border-green-lt: 2px solid var(--green-lt);

	--header-height: 139px;
	--header-height-scroll: 127px;

	--section-p: 4rem;
	--section-p-sm: 3rem;

	--rem-p125: .125rem;
	--rem-p25: .25rem;
	--rem-p375: .375rem;
	--rem-p5: .5rem;
	--rem-p625: .625rem;
	--rem-p75: .75rem;
	--rem-p875: .875rem;
	--rem-1: 1rem;
	--rem-1p125: 1.125rem;
	--rem-1p25: 1.25rem;
	--rem-1p375: 1.375rem;
	--rem-1p5: 1.5rem;
	--rem-1p625: 1.625rem;
	--rem-1p75: 1.75rem;
	--rem-1p875: 1.875rem;
	--rem-2: 2rem;
	--rem-2p25: 2.25rem;
	--rem-2p5: 2.5rem;
	--rem-2p75: 2.75rem;
	--rem-3: 3rem;
	--rem-3p5: 3.5rem;
	--rem-4: 4rem;
	--rem-4p5: 4.5rem;
	--rem-5: 5rem;
	--rem-7: 7rem;
	--rem-10: 10rem;

	--font-family: 'Inter', Arial, Helvetica, sans-serif;
	--font-family-heading:'Poppins', Arial, Helvetica, sans-serif;
	--fw-400: 400;
	--fw-600: 600;
	--fw-700: 700;
	--lh-11: 1.1;
	--lh-13: 1.3;
	--lh-16: 1.6;

	--br-card: 2rem;
	--br-50: 50%;
	--br-pill: 80rem;

	--standard-transition: all .25s ease;

	--container-side: 1.625rem;

	--bs-body-bg: transparent;
}

@media (min-width: 576px) {
	:root {
		--container-side: calc((100% - 515px) / 2);
	}
}

@media (min-width: 768px) {
	:root {
		--container-side: calc((100% - 695px) / 2);
	}
}

@media (min-width: 992px) {
	:root {
		--container-side: calc((100% - 935px) / 2);
	}
}

@media (min-width: 1200px) {
	:root {
		--container-side: calc((100% - 1115px) / 2);
	}
}

@media (min-width: 1400px) {
	:root {
		--section-p: 7rem;
		--section-p-sm: 5rem;

		--br-card: 3rem;

		--container-side: calc((100% - 1295px) / 2);

		--header-height: 168px;
		--header-height-scroll: 132px;
	}
}

@media (min-width: 1680px) {
	:root {
		--container-side: calc((100% - 1575px) / 2);

		--header-height: 145px;
		--header-height-scroll: 109px;
	}
}


/* ------------------------------------------------------------------------ Page Styles & Resets */

html {
	scroll-padding-top: calc(var(--header-height-scroll) + var(--section-p));
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

body {
	font: var(--fw-400) 100%/var(--lh-16) var(--font-family);
	color: var(--black);
	background-color: var(--white);
	text-wrap: pretty;
}

@media (min-width: 992px) {
	body:not(.homePage) {
		padding-top: var(--header-height);
	}
}

/* ------------------------------------------------------------------------ Keyboard Accessibility */

.skip-link {
	position:absolute;
	left:-10000px;
	top:0;
	width:1px;
	height:1px;
	overflow:hidden;
	background-color: var(--blue-dk);
	color: var(--white);
	font-size: var(--rem-p875);
	text-decoration:none;
	z-index: 1050;
	padding: var(--rem-p5) var(--rem-p75);
}

.skip-link:focus, .skip-link.sr-only-focusable:active, .skip-link.sr-only-focusable:focus {
	position: absolute;
	outline: none;
	left:0;
	outline: none;
	width:auto;
	height:auto;
}

.skip-link:hover {
	color: var(--white);
	background-color: var(--grey-md);
}

a:focus-visible, .btn:focus-visible,
.nav-link:focus-visible, .dropdown-item:focus-visible,
.form-control:focus-visible, .form-select:focus-visible,
.form-check-input:focus-visible, .page-link:focus-visible,
.navbar-toggler:focus-visible, .btn-icon:focus-visible,
.accordion-button:focus-visible, .btn-close:focus-visible {
	outline: 2px solid var(--blue-md);
	outline-offset: 2px;
	box-shadow: none;
}

.sidenav__header-link:focus-visible, .card__header-link:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.8);
	outline-offset: 2px;
}

a:focus:not(:focus-visible), .btn:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}


/* ------------------------------------------------------------------------ Headers */

h1, h2, h3, h4,
.h1, .h2, .h3, .h4  {
	font-family: var(--font-family-heading);
	font-weight: var(--fw-600);
	margin-bottom: var(--rem-1);
	line-height: var(--lh-11);
}

h1, .h1 {
	font-size: clamp(2rem, 1.6176rem + 1.5686vw, 3.5rem);
	position: relative;
}

.h1--sm {
	font-size: clamp(2rem, 1.7451rem + 1.0458vw, 3rem);
}

h2, .h2 {
	font-size: clamp(1.75rem, 1.4951rem + 1.0458vw, 2.75rem);
}

.h2--icon__img {
	margin: 0 var(--rem-p75) 0 0;
}

.h2--icon--awards {
	width: var(--rem-2p5);
}

.h2--icon__img--articles {
	width: var(--rem-2);
}

.h2--line {
	position: relative;
	margin-bottom: var(--rem-3p5);
}

.h2--line:after {
	content: "";
	position:absolute;
	top: 100%;
	left: 0;
	width: var(--rem-3);
	height: var(--rem-p25);
	background-color: var(--green-md);
	margin-top: var(--rem-1p125);
}

h3, .h3 {
	font-size: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}

.h3--line {
	position: relative;
	margin-bottom: var(--rem-2p5);
}

.h3--line:after {
	content: "";
	position:absolute;
	top: 100%;
	left: 0;
	width: var(--rem-3);
	height: var(--rem-p25);
	background-color: var(--green-md);
	margin-top: var(--rem-p75);
}

.h3--icon__img {
	margin: 0 var(--rem-p5) 0 0;
	width: var(--rem-3);
	height: var(--rem-3);
}

h4, .h4 {
	font-size: clamp(1.25rem, 1.1225rem + 0.5229vw, 1.75rem);
}

.h4--icon__img {
	margin: 0 var(--rem-p5) 0 0;
	width: var(--rem-2p5);
	height: var(--rem-2p5);
}

hr + h2,
hr + h3,
section h2:first-child,
section h3:first-child,
.card h2:first-child,
.card h3:first-child,
.card h4:first-child {
	margin-top: 0;
}

h2  {
	margin-top: var(--rem-3);
}

h3,
h4  {
	margin-top: var(--rem-2);
}

h2 + h3  {
	margin-top: var(--rem-1p5);
}



/* ------------------------------------------------------------------------ Lists */

ul {
	list-style: none;
	list-style-position: outside;
	padding-left: 0;
	margin-bottom: var(--rem-1);
}

ul li {
	padding-left: 1.25em;
	margin-bottom: var(--rem-1);
	background: url(../images/icon-arrow-green-md.svg) no-repeat left 0.375em;
	background-size: 0.75em 0.75em;
}

ul li p, .list__item p {
	margin-bottom: 0;
}

.section--blue ul li ,
.card--blue ul li ,
.card--split__blue ul li  {
	background-image: url(../images/icon-arrow-green-lt.svg);
	color: var(--white);
}

ul ul,
ul ol,
ol ol {
	margin-top: var(--rem-1);
}


ul ol {
	padding-left: var(--rem-1p375);
}

ol ol {
	flex: 0 0 100%;
}

ul ol li {
	background-image: none;
	padding-left: 0;
}

ol {
	padding-left: 0;
	counter-reset: item;
	list-style: none;
	margin-bottom: var(--rem-1);
}

ol:not(.breadcrumb) > li {
	counter-increment: item;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: var(--rem-1);
	align-items: start;
	margin-bottom: var(--rem-1);
}

.accordion-button ol:not(.breadcrumb) > li {
	align-items: center;
}

/* marker */
ol:not(.breadcrumb) > li::before {
	content: counter(item);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: var(--rem-2p5);
	background-color: var(--green-md);
	color: var(--white);
	border-radius: var(--br-pill);
	line-height: var(--lh-11);
	padding: var(--rem-p25) 0;
	font-weight: var(--fw-700);
}

/* nested lists */
ol li > ol, ol li > ul {
	grid-column: 2; /* ensures nested list aligns with text */
}

/* RTE wraps each list item in <p>; keep all non-list children in the text column */
ol:not(.breadcrumb) li > :not(ol):not(ul) {
	grid-column: 2;
}

ol:not(.breadcrumb) li > p {
	margin-bottom: 0;
}

ol:not(.breadcrumb) li > p + p {
	margin-top: var(--rem-1);
}

.section--blue ol:not(.breadcrumb, .ol--code-component) li::before {
	background-color: var(--green-lt);
	color: var(--blue-dk);
}


.ol--code-component li::before {
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	background-color: var(--blue-dk);
	border-radius: var(--br-50);
	padding: var(--rem-p25) 0;
}

.ol--code-component li.stud-code::before {
	background-color: var(--blue-dk);
}

.ol--code-component li.breed-code::before {
	background-color: var(--blue-md);
	counter-reset: item 2
}

.ol--code-component li.bull-code::before {
	background-color: var(--blue-lt);
	counter-reset: item 3
}

.ol--code-component li p {
	margin: .375em 0 0 0;
}

/* Manual number in <span> (numberedHeading block) — hide auto ::before counter */
ol.ol--numbered-heading:not(.breadcrumb) > li::before {
	content: none;
	display: none;
}

ol.ol--numbered-heading:not(.breadcrumb) > li > span:first-child {
	grid-column: 1;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	background-color: var(--blue-dk);
	color: var(--white);
	border-radius: var(--br-50);
	line-height: var(--lh-11);
	padding: var(--rem-p25) 0;
	font-weight: var(--fw-700);
}

ol.ol--numbered-heading:not(.breadcrumb) > li > h3 {
	margin-bottom: 0;
}

.card--split__blue ol.ol--numbered-heading:not(.breadcrumb) > li > span:first-child {
	background-color: var(--green-lt);
	color: var(--blue-dk);
}
.card--split-icon__header .ol--numbered-heading {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
}
.card--split-icon__header .ol--numbered-heading > li {
	display: flex;
	margin-bottom: 0;
}
.card--icon .ol--numbered-heading + h3 {
	margin-top: var(--rem-1p25);
}
ol ul {
	margin-top: var(--rem-1);
}

li:last-child {
	margin-bottom: 0;
}


/* ------------------------------------------------------------------------ Other Base Text Styles */

.color-inherit {
	color: inherit;
}

.text-black {
	color: var(--black);
}

.text-grey-dk {
	color: var(--grey-dk);
}

.text-blue-dk {
	color: var(--blue-dk);
}

.text-blue-md {
	color: var(--blue-md);
}

.text-blue-lt {
	color: var(--blue-lt-ally);
}

.intro-text {
	font-size: var(--rem-1p125);
}

.note {
	font-size: var(--rem-p875);
}

.note--xs {
	font-size: var(--rem-p75);
}

.fw-400 {
	font-weight: var(--fw-400);
}

.fw-600 {
	font-weight: var(--fw-600);
}

.fw-700 {
	font-weight: var(--fw-700);
}

.lh-13 {
	line-height: var(--lh-13);
}

.stat {
	font-family: var(--font-family-heading);
	font-size: clamp(3rem, 2.4902rem + 2.0915vw, 5rem);
	font-weight: var(--fw-600);
	line-height: var(--lh-11);
	color: var(--green-md);
	margin-bottom: 0;
}

sup, sub {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}


.nav-link,
.dropdown-item,
label,
.btn,
.cta__heading,
.accordion-button {
	line-height: var(--lh-13);
}

.eyebrow {
	display: inline-block;
	color: var(--green-md-ally);
	font-size: var(--rem-p875);
	font-weight: var(--fw-700);
	line-height: var(--lh-13);
	padding: var(--rem-p25) var(--rem-1) var(--rem-p25) var(--rem-2p5);
	background-color: var(--grey-lt);
	background-image: url(../images/icon-star-green-md.svg);
	background-repeat: no-repeat;
	background-position: var(--rem-1) center;
	background-size: var(--rem-1);
	border-radius: var(--br-pill);
	text-transform: uppercase;
}

.section--grey .card .eyebrow {
	background-color: var(--grey-lt);
}
.section--grey .eyebrow,
.card .eyebrow,
.card--split__grey .eyebrow  {
	background-color: var(--white);
}

.section--blue .eyebrow,
.card--blue .eyebrow,
.card--split__blue .eyebrow  {
	background-color: var(--blue-dk-hover);
	background-image: url(../images/icon-star-green-lt.svg);
	color: var(--green-lt);
}

p:empty {
  margin-bottom: 0;
}

@media (min-width: 992px) {
	.text-lg-end {
		text-align: right;
	}
}

@media (min-width: 1400px) {
	p,
	.p,
	li,
	/* table, */
	.btn,
	.accordion-button__info,
	figcaption {
		font-size: var(--rem-1p125);
	}

	.intro-text {
		font-size: var(--rem-1p375);
	}

	.note {
		font-size: var(--rem-1);
	}

	.note--xs {
		font-size: var(--rem-p875);
	}

	.eyebrow {
		font-size: var(--rem-1);
	}
}


/* ------------------------------------------------------------------------ Links */

a {
	color: var(--blue-md);
	font-weight: var(--fw-700);
	transition: var(--standard-transition);
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
	filter: brightness(1.1);
}

.section--blue a:not(:where(.card a, .section--banner__text a)),
.card--blue a {
	color: var(--green-lt);
}

.a--no-underline {
	text-decoration: none;
}

.a--no-underline:hover {
	text-decoration: underline;
}

/* RTE: opt-in white link (bold, no underline) — apply via NAAB styles */
a.a--white {
	color: var(--white);
	font-weight: 700;
	text-decoration: none;
}

a.a--white:hover {
	text-decoration: none;
	filter: brightness(1.1);
}

/* RTE / inline external link (Figma card external-link look) */
a.a--external::after,
a.link--external::after {
	content: "";
	display: inline-block;
	width: 0.875rem;
	height: 0.875rem;
	margin-left: 0.25rem;
	vertical-align: -0.1em;
	background: url(../images/icon-external-blue-md.svg) no-repeat center / contain;
}
a.a--external-green-lt::after  {
	content: "";
	display: inline-block;
	width: 0.875rem;
	height: 0.875rem;
	margin-left: 0.25rem;
	margin-right: 0.25rem;
	/*vertical-align: -0.1em;*/
	background: url(../images/icon-external-green-lt.svg) no-repeat center / contain;
}

.card--blue a.a--external::after,
.card--blue a.link--external::after,
.section--blue a.a--external:not(:where(.card a))::after,
.section--blue a.link--external:not(:where(.card a))::after {
	background-image: url(../images/icon-external-white.svg);
}

a.a--download::after,
a.link--download::after {
	content: "";
	display: inline-block;
	width: 0.875rem;
	height: 0.875rem;
	margin-left: 0.25rem;
	vertical-align: -0.1em;
	background: url(../images/icon-download-blue-md.svg) no-repeat center / contain;
}
a.a--download-green-lt::after  {
	content: "";
	display: inline-block;
	width: 0.875rem;
	height: 0.875rem;
	margin-left: 0.25rem;
	margin-right: 0.25rem;
	/*vertical-align: -0.1em;*/
	background: url(../images/icon-download-green-lt.svg) no-repeat center / contain;
}

.card--blue a.a--download::after,
.card--blue a.link--download::after,
.section--blue a.a--download:not(:where(.card a))::after,
.section--blue a.link--download:not(:where(.card a))::after {
	background-image: url(../images/icon-download-white.svg);
}

main a {
	word-wrap: break-word;
}

a img {
	border: none;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0) scale(1.0, 1.0);
	transition: var(--standard-transition);
}

a img:hover {
	opacity: .9;
}



/* ------------------------------------------------------------------------ Button Styles */

.btn {
	margin: var(--rem-1) 0 var(--rem-p5) 0;
	padding: var(--rem-p75) var(--rem-2);
	border-radius:0;
	cursor: pointer;
	font-weight: var(--fw-700);
}

.btn-primary {
	color: var(--white);
	background-color: var(--blue-md);
	border-color: var(--blue-md);
	border-radius: var(--br-pill);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,
.btn-primary:active,
.show>.btn-primary.dropdown-toggle,
.btn-check:checked+.btn-primary,
.btn-primary.show,
.btn-primary:first-child:active,
:not(.btn-check)+.btn-primary:active,
.btn-check+.btn-primary:hover {
	color: var(--white);
	background-color: var(--blue-md);
	border-color: var(--blue-md);
	box-shadow: 0px 0px 0px 4px var(--blue-md-rgba);
}

.btn-primary.disabled, .btn-primary:disabled, fieldset:disabled .btn-primary {
    background-color: var(--blue-md);
    border-color: var(--blue-md);
}


.btn-secondary,
.section--blue .btn-primary:not(:where(.card .btn-primary, .section--banner__text .btn-primary )),
.card--blue .btn-primary {
	color: var(--blue-dk) !important;
	background-color: var(--green-lt);
	border-color: var(--green-lt);
	border-radius: var(--br-pill);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-check:active+.btn-secondary,
.btn-check:checked+.btn-secondary,
.btn-secondary.active,
.btn-secondary:active,
.show>.btn-secondary.dropdown-toggle,
.btn-check:checked+.btn-secondary,
.btn-secondary.show,
.btn-secondary:first-child:active,
:not(.btn-check)+.btn-secondary:active,

.section--blue .btn-primary:not(:where(.card .btn-primary, .section--banner__text .btn-primary)):hover,
.section--blue .btn-primary:not(:where(.card .btn-primary, .section--banner__text .btn-primary)):focus,
.section--blue .btn-check:active+.btn-primary:not(:where(.card .btn-primary)),
.section--blue .btn-check:checked+.btn-primary:not(:where(.card .btn-primary)),
.section--blue .btn-primary:not(:where(.card .btn-primary)).active,
.section--blue .btn-primary:not(:where(.card .btn-primary)):active,
.section--blue .show>.btn-primary:not(:where(.card .btn-primary)).dropdown-toggle,
.section--blue .btn-check:checked+.btn-primary:not(:where(.card .btn-primary)),
.section--blue .btn-primary:not(:where(.card .btn-primary)).show,
.section--blue .btn-primary:not(:where(.card .btn-primary)):first-child:active,
.section--blue :not(.btn-check)+.btn-primary:not(:where(.card .btn-primary)):active,

.card--blue .btn-primary:hover,
.card--blue .btn-primary:focus,
.card--blue .btn-check:active+.btn-primary,
.card--blue .btn-check:checked+.btn-primary,
.card--blue .btn-primary.active,
.card--blue .btn-primary:active,
.card--blue .show>.btn-primary.dropdown-toggle,
.card--blue .btn-check:checked+.btn-primary,
.card--blue .btn-primary.show,
.card--blue .btn-primary:first-child:active,
.card--blue :not(.btn-check)+.btn-primary:active {
	color: var(--blue-dk);
	background-color: var(--green-lt) !important;
	border-color: var(--green-lt) !important;
	box-shadow: 0px 0px 0px 4px var(--green-lt-rgba);
}

.btn-secondary.disabled, .btn-secondary:disabled, fieldset:disabled .btn-secondary {
    background-color: var(--green-lt);
    border-color: var(--green-lt);
}


.btn--external, .btn--download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	text-decoration: none;
}
.btn--external::after {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background: url(../images/icon-external-black.svg) no-repeat center / contain;
}
.btn--download::after {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background: url(../images/icon-download-blue-dk.svg) no-repeat center / contain;
}

.btn-primary.btn--external::after {
		background: url(../images/icon-external-white.svg) no-repeat center / contain;
}

.btn-primary.btn--download::after, .btn--blue-dk.btn--download::after, .btn--blue-lt-ally.btn--download::after  {
		background: url(../images/icon-download-white.svg) no-repeat center / contain;
}

.btn--blue-dk {
	color: var(--white);
	background-color: var(--blue-dk);
	border-color: var(--blue-dk);
	border-radius: var(--br-pill);
}
.btn--blue-dk:hover,
.btn--blue-dk:focus,
.btn-check:active+.btn--blue-dk,
.btn-check:checked+.btn--blue-dk,
.btn--blue-dk.active,
.btn--blue-dk:active,
.show>.btn--blue-dk.dropdown-toggle,
.btn--blue-dk.show,
.btn--blue-dk:first-child:active,
:not(.btn-check)+.btn--blue-dk:active,
.btn-check+.btn--blue-dk:hover {
	color: var(--white);
	background-color: var(--blue-dk);
	border-color: var(--blue-dk);
	box-shadow: 0px 0px 0px 4px var(--blue-dk-rgba);
}

.btn--blue-lt-ally {
	color: var(--white);
	background-color: var(--blue-lt-ally);
	border-color: var(--blue-lt-ally);
	border-radius: var(--br-pill);
}

.btn--blue-lt-ally:hover,
.btn--blue-lt-ally:focus,
.btn-check:active+.btn--blue-lt-ally,
.btn-check:checked+.btn--blue-lt-ally,
.btn--blue-lt-ally.active,
.btn--blue-lt-ally:active,
.show>.btn--blue-lt-ally.dropdown-toggle,
.btn--blue-lt-ally.show,
.btn--blue-lt-ally:first-child:active,
:not(.btn-check)+.btn--blue-lt-ally:active,
.btn-check+.btn--blue-lt-ally:hover {
	color: var(--white);
	background-color: var(--blue-lt-ally);
	border-color: var(--blue-lt-ally);
	box-shadow: 0px 0px 0px 4px var(--blue-lt-ally-rgba);
}

.btn--copy {
	font-size: var(--rem-1);
	line-height: var(--rem-1);
	padding: 0;
	border: 0;
	vertical-align: 0.1em;
	background-color:transparent;
}

.icon--copy {
	display: inline-block;
	width: var(--rem-1);
	height: var(--rem-1);
	margin: 0 var(--rem-p25) 0 0;
	
}

@media (min-width: 1400px) {
	.btn {
		padding: var(--rem-1p125) var(--rem-2);
		font-size: var(--rem-1p125);
	}

	.btn--sm {
		padding: var(--rem-p75) var(--rem-2);
		font-size: var(--rem-1p125);
	}

	.btn--xs {
		padding: var(--rem-p5) var(--rem-1p5);
		font-size: var(--rem-1);
	}
}


/* ------------------------------------------------------------------------ Quick Search Tabs List Button Styles */

.nav--tabs {
	display: flex;
	width: 100%;
	gap:0;
}

.nav--tabs .nav-item {
	margin-bottom: 0;
	padding-left: 0;
	background-image: none;
	width: 100%;
}

.nav--tabs .nav-item .btn-tab {
	width: 100%;
	white-space: nowrap;
}

.btn-tab {
	color: var(--grey-dk);
	background-color: var(--grey-lt);
	border-color: var(--grey-lt);
	border-radius: var(--br-pill);
	cursor: pointer;
}

.btn-tab:hover,
.btn-check+.btn-tab:hover {
	background-color: var(--grey-md);
	border-color: var(--grey-md);
	box-shadow: 0px 0px 0px 4px var(--grey-lt-rgba);
}

.btn-tab:focus,
.btn-check:active+.btn-tab,
.btn-check:checked+.btn-tab,
.btn-tab.active,
.btn-tab:active,
.show>.btn-tab.dropdown-toggle,
.btn-check:checked+.btn-tab,
.btn-tab.show,
.btn-tab:first-child:active,
:not(.btn-check)+.btn-tab:active,
.btn-check+.btn-tab:hover {
	color: var(--white);
	background-color: var(--blue-md);
	border-color: var(--blue-md);
	
}

.tab-content .btn-group {
	display: flex;
}

.tab-content .btn-group__input {
	flex: 1 1 auto !important;
}

.tab-content .btn-group .form-control {
	border-radius: var(--br-pill);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	font-weight: var(--fw-600);
}

.tab-content button {
	flex: 0 0 auto !important;
}

.form-check-inline {
	margin-bottom: 0 !important;
}


@media (min-width: 992px) {
	.nav--tabs .nav-item {
		flex: 1 1 0;   /* equal width columns */
		width: auto;
	}
}


@media (min-width: 1400px) {
	.tab-content .btn-group .form-control {
		padding: var(--rem-1p125) var(--rem-2);
	}
}

@media (min-width: 1680px) {
	.nav--tabs .nav-item:first-child .btn-tab {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.nav--tabs .nav-item:last-child .btn-tab {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
}


/* ------------------------------------------------------------------------ Button Icon Styles */

.btn-icon {
	display: block;
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	border-radius: var(--br-50);
	margin: var(--rem-1) 0;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
}

.btn-icon--primary {
	background-color: var(--blue-md);
}

.btn-icon--primary:hover,
.btn-icon--primary:active,
.btn-icon--primary:focus {
	background-color: var(--blue-md);
	box-shadow: 0px 0px 0px 4px var(--blue-md-rgba);
}

.btn-icon--secondary {
	background-color: var(--green-lt);
}

.btn-icon--secondary:hover,
.btn-icon--secondary:active,
.btn-icon--secondary:focus {
	background-color: var(--green-lt);
	box-shadow: 0px 0px 0px 4px var(--green-lt-rgba);
}

.btn-icon--primary.btn-icon--search {
	background-image: url(../images/icon-search-white.svg);
	background-size: var(--rem-1p125);
}

.btn-icon--primary.btn-icon--top {
	background-image: url(../images/icon-arrow-white.svg);
	background-size: var(--rem-1p25);
}

.btn-icon--primary.btn-icon--full-arrow {
	background-image: url(../images/icon-full-arrow-white.svg);
	background-size: var(--rem-1p25);
}

.btn-icon--secondary.btn-icon--full-arrow {
	background-image: url(../images/icon-full-arrow-blue.svg);
	background-size: var(--rem-1p25);
}

.btn-icon--primary.btn-icon--plus {
	background-image: url(../images/icon-plus-white.svg);
	background-size: var(--rem-1p25);
}

.btn-icon--secondary.btn-icon--plus {
	background-image: url(../images/icon-plus-blue.svg);
	background-size: var(--rem-1p25);
}

.btn-icon--primary.btn-icon--plus:not(.collapsed) {
	background-image: url(../images/icon-minus-white.svg);
	background-size: var(--rem-1p25);
}

.btn-icon--secondary.btn-icon--plus:not(.collapsed) {
	background-image: url(../images/icon-minus-blue.svg);
	background-size: var(--rem-1p25);
}


/* ------------------------------------------------------------------------ To Top */

.btn-icon--primary.btn-icon--top {
	background-image: url(../images/icon-arrow-white.svg);
	background-size: var(--rem-1);
}

.to-top {
	position: fixed;
	opacity: 0;
	bottom: var(--rem-1);
	right: var(--rem-1);
	cursor: pointer;
	z-index: 10;
	visibility: hidden;
	transform: rotate(-90deg);
	transition: var(--standard-transition);
}

.to-top.show {
	opacity: 1;
	visibility: visible;
}

@media (min-width: 1400px) {
	.btn-icon {
		display: block;
		width: var(--rem-3);
		height: var(--rem-3);
	}

	.header--scroll .btn-icon--primary.btn-icon--search {
		width: var(--rem-2p5);
		height: var(--rem-2p5);
	}
}


/* ------------------------------------------------------------------------ Images */

img {
	max-width: 100%;
	height: auto!important;
}

main img {
	margin-bottom: var(--rem-p5);
}

.img--float-left, .img--float-right {
	margin: var(--rem-p5) 0 var(--rem-1) 0;
}

.img--br {
	border-radius: var(--br-card);
}

.img--w-235 {
	width: 14.6875rem;
	margin-bottom: var(--rem-2);
}


.img--ab--wrapper {
	aspect-ratio: 1 / .5;
	height: 100% !important;
	overflow: hidden;
	position: relative;
}

.img--ab--wrapper--section {
	aspect-ratio: auto;
	height: 14rem !important;
}

.img--ab__img--cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	margin-bottom: 0;
}


.img--ar--wrapper {
	overflow: hidden;
	position: relative;
	flex-shrink: 0;
}

.img--ar__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	transition: var(--standard-transition);
}

.img--ar__img--1x1 {
	aspect-ratio: 1 / 1;
}

.img--ar__img--1xp66 {
	aspect-ratio: 1 / .66;
}

.img--ar__img--1xp33,
.img--ar__img--1xp2 {
	aspect-ratio: 1 / .33;
}

.img--ar__img--p66x1 {
	aspect-ratio: .66 / 1;
}


/*icon card*/
.img--ar--wrapper--icon {
	width: var(--rem-3p5);
	height: var(--rem-3);
}

.img--ar__icon {
	width: 100%;
	height: 100% !important;
	object-fit: scale-down;
	object-position: center;
}

.img--wrapper {
	position: relative;
}

.img--wrapper .photo-credit,
.img--ab--wrapper .photo-credit,
.img--ar--wrapper .photo-credit {
   	margin-bottom: 0;
    position: absolute;
    bottom: var(--rem-1p5);
    right: var(--rem-1p5);
	background-color: var(--black-rgba-75);
	padding:0 var(--rem-p5);
	z-index: 2;
	color: var(--white);
	border-radius: var(--br-pill);
}
 
.img--wrapper .photo-credit--left,
.img--ab--wrapper .photo-credit--left,
.img--ar--wrapper .photo-credit--left {
    right: auto;
	left: var(--rem-1p5);
}

@media (min-width: 768px) {
	.img--float-left {
		float: left;
		margin: var(--rem-p5) var(--rem-3) var(--rem-p375) 0;
		max-width: 38%;
	}

	.img--float-right {
		float: right;
		margin: var(--rem-p5) 0 var(--rem-p375) var(--rem-3);
		max-width: 38%;
	}
}

@media (min-width: 992px) {
	.img--ab--wrapper {
		aspect-ratio: auto;
	}

	.img--max-w-40 {
		max-width: 40rem;
	}

	.img--max-w-35 {
		max-height: 35rem;
	}

	.img--ab--wrapper--section {
		height: 20rem !important;
	}

	.img--ar__img--1xp2 {
		aspect-ratio: 1 / .2;
	}
}


@media (min-width: 1400px) {
	.img--br--sm {
		border-radius: var(--rem-2);
	}
}

/* ------------------------------------------------------------------------ SVG's */

svg {
	width: var(--rem-1);
	height: var(--rem-1);
}

svg.map {
	width: 100%;
	height: auto;
}

@keyframes pindrop {
	0% {
		 opacity: 0;
	    transform: translateY(-10rem)
	}

	100% {
		 opacity: 1;
	    transform: translateY(0)
	}
}

/*svg.map.aos-animate .pin {
	animation: pindrop .5s forwards;
}*/

svg.map .pin__bg {
	fill: none;
}

svg.map .pin {
	fill: var(--green-md);
	pointer-events: fill;
}
svg.map .pin {
  /* optional but recommended so pins start off-screen */
  opacity: 0;
  transform: translateY(-10rem);
}
svg.map.is-inview .pin {
  animation: pindrop .5s forwards;
}
/* optional stagger */
svg.map.is-inview .pin:nth-of-type(1) { animation-delay: 0.05s; }
svg.map.is-inview .pin:nth-of-type(2) { animation-delay: 0.1s; }
svg.map .pin .pin__path {
	transition: var(--standard-transition);
	transform-origin: center;
	transform-box: fill-box;
}


svg.map .pin:hover .pin__path {    
	transform: scale(1.15);
}

svg.map .map__border {
	fill: var(--blue-md);
}

svg.map .map__country {
	fill: var(--blue-dk);
	transition: var(--standard-transition);
}

svg.map:has(.pin--canada:hover) .country--canada .map__country,
svg.map:has(.pin--usa:hover) .country--usa .map__country,
svg.map:has(.pin--uruguay:hover) .country--uruguay .map__country,
svg.map:has(.pin--uk:hover) .country--uk .map__country,
svg.map:has(.pin--denmark:hover) .country--denmark .map__country,
svg.map:has(.pin--netherlands:hover) .country--netherlands .map__country,
svg.map:has(.pin--switzerland:hover) .country--switzerland .map__country,
svg.map:has(.pin--spain:hover) .country--spain .map__country,
svg.map:has(.pin--italy:hover) .country--italy .map__country,
svg.map:has(.pin--israel:hover) .country--israel .map__country,
svg.map:has(.pin--china:hover) .country--china .map__country,
svg.map:has(.pin--japan:hover) .country--japan .map__country, 
svg.map:has(.pin--australia:hover) .country--australia .map__country {
	fill: var(--blue-dk-hover);
}

/* ------------------------------------------------------------------------ Horizontal Rules */

hr, .hr , .section--grey .card hr {
	margin: var(--rem-2) auto;
	color: var(--grey-md);
	border-top: 2px solid;
	opacity: 1;
}

.section--blue hr,
.section--blue .hr,
.card--blue hr,
.card--blue .hr,
.card--split__blue hr,
.card--split__blue .hr {
	color: var(--blue-md);
}

.section--grey hr,
.section--grey .hr,
.card hr,
.card .hr,
.card--split__grey hr,
.card--split__grey .hr,
.modal--search hr, 
.modal--search .hr  {
	color: var(--white);
}

@media (min-width: 1400px) {
	hr, .hr {
		margin: var(--rem-4) auto;
	}

	.hr--sm {
		margin: var(--rem-2) auto;
	}
}


/* ------------------------------------------------------------------------ Additional Utility Classes/Bootstrap Overrides */
.sticky-top {
	top: calc(var(--header-height-scroll) + var(--section-p-sm));
}

.pt-section,
.py-section {
	padding-top: var(--section-p);
}

.pb-section,
.py-section {
	padding-bottom: var(--section-p);
}

.pe-section,
.px-section {
	padding-right: var(--section-p);
}

.ps-section,
.px-section {
	padding-left: var(--section-p);
}


.pt-section-sm,
.py-section-sm {
	padding-top: var(--section-p-sm);
}

.pb-section-sm,
.py-section-sm {
	padding-bottom: var(--section-p-sm);
}

.pe-section-sm,
.px-section-sm {
	padding-right: var(--section-p-sm);
}

.ps-section-sm,
.px-section-sm {
	padding-left: var(--section-p-sm);
}


.mt-section,
.my-section {
	margin-top: var(--section-p);
}

.mb-section,
.my-section {
	margin-bottom: var(--section-p);
}

.me-section,
.mx-section {
	margin-right: var(--section-p);
}

.ms-section,
.mx-section {
	margin-left: var(--section-p);
}


.mt-section-sm,
.my-section-sm {
	margin-top: var(--section-p-sm);
}

.mb-section-sm,
.my-section-sm {
	margin-bottom: var(--section-p-sm);
}

.me-section-sm,
.mx-section-sm {
	margin-right: var(--section-p-sm);
}

.ms-section-sm,
.mx-section-sm {
	margin-left: var(--section-p-sm);
}


.mt-4b,
.my-4b {
	margin-top: var(--rem-2);
}

.mb-4b,
.my-4b {
	margin-bottom: var(--rem-2);
}

.mt-3r,
.my-3r {
	margin-top: var(--rem-3);
}

.mb-3r,
.my-3r {
	margin-bottom: var(--rem-3);
}

.me-4b,
.mx-4b {
	margin-right: var(--rem-2);
}

.ms-4b,
.mx-4b {
	margin-left: var(--rem-2);
}

.br-15 {
	border-radius: 0.9375rem;
	overflow: hidden;
}

/* Match Up with Container Edges Options */

.container-ps {
	padding-left: var(--container-side) !important;
}

.container-pe {
	padding-right: var(--container-side) !important;
}


/* Additional gap sizes */

.g-4b, .gy-4b {
	--bs-gutter-y: var(--rem-2);
}
.g-4b, .gx-4b {
	--bs-gutter-x: var(--rem-2);
}

.gap-4b {
    gap: var(--rem-2)!important;
}

/*For videos embedded through rte*/
.embeditem {
	position: relative;
	width: 100%;
	--bs-aspect-ratio: calc(9 / 16* 100%);
}

.embeditem::before {
	display: block;
	padding-top: var(--bs-aspect-ratio);
	content: "";
}

.embeditem>* {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*override for Umbraco rte or the videos don't display there*/
.mce-content-body .embeditem {
	--bs-aspect-ratio: auto;
}

.mce-content-body .embeditem>* {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
}


/*Tooltips*/
.tooltip.custom-tooltip {
  opacity: 1;
}

.tooltip.custom-tooltip .tooltip-inner {
  background-color: var(--green-lt);
  color: var(--blue-dk);
  font-weight: var(--fw-600);
}
.tooltip.custom-tooltip.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: var(--green-lt);
}
.tooltip.custom-tooltip.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  border-bottom-color: var(--green-lt);
}
.tooltip.custom-tooltip.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  border-left-color: var(--green-lt);
}
.tooltip.custom-tooltip.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  border-right-color: var(--green-lt);
}

.tooltip.custom-tooltip-alt {
  opacity: 1;
}

.tooltip.custom-tooltip-alt .tooltip-inner {
  background-color: var(--blue-dk);
  color: var(--white);
  font-weight: var(--fw-400);
  max-width: 18rem;
  text-align: left;
  padding: var(--rem-p75) var(--rem-1);
}

.tooltip.custom-tooltip-alt .tooltip-inner strong {
  font-weight: var(--fw-700);
  color: var(--green-lt);
}

.tooltip.custom-tooltip-alt.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: var(--blue-dk);
}

.tooltip.custom-tooltip-alt.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  border-bottom-color: var(--blue-dk);
}

.tooltip.custom-tooltip-alt.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  border-left-color: var(--blue-dk);
}

.tooltip.custom-tooltip-alt.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  border-right-color: var(--blue-dk);
}

.tooltip-trigger {
  width: 20px;
  height: 20px;
  min-width: 20px;
  flex: 0 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tooltip-trigger img {
  width: 16px;
  height: 16px !important;
  max-width: none;
  margin: 0;
}

/*Figures*/
figure {
	margin-top: var(--rem-1p5);
	margin-bottom: var(--rem-2);
}

figure p {
	margin-bottom: 0;
}

@media (min-width: 992px) {
	.container-ps-lg-reset {
		padding-left: calc(var(--bs-gutter-x) * .5) !important;
	}

	.container-pe-lg-reset {
		padding-right: calc(var(--bs-gutter-x) * .5) !important;
	}

	.g-lg-6,.gx-lg-6 {
		--bs-gutter-x: var(--rem-5);
	}

	.g-lg-6,.gy-lg-6 {
		--bs-gutter-y: var(--rem-5);
	}
	.w-lg-25 {
		width: 25% !important;
	}

}

@media (min-width: 1200px) {
	/*Visually hidden xl (for some labels where the placeholder text is too long on mobile*/
	.visually-hidden-xl-focusable:not(:focus):not(:focus-within):not(caption), .visually-hidden-xl:not(caption) {
		position: absolute !important;
	}
	.visually-hidden-xl, .visually-hidden-focusable-xl:not(:focus):not(:focus-within) {
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}
}

@media (min-width: 1400px) {
	.g-xxl-5, .gy-xxl-5 {
		--bs-gutter-y: var(--rem-3);
	}

	.g-xxl-5, .gx-xxl-5 {
		--bs-gutter-x: var(--rem-3);
	}

	.mb-xxl-5, .my-xxl-5 {
		margin-bottom: var(--rem-3);
	}

	.g-xxl-6,.gx-xxl-6 {
		--bs-gutter-x: var(--rem-5);
	}

	.g-xxl-6,.gy-xxl-6 {
		--bs-gutter-y: var(--rem-5);
	}

	.g-xxl-7,.gx-xxl-7 {
		--bs-gutter-x: var(--rem-7);
	}

	.g-xxl-7,.gy-xxl-7 {
		--bs-gutter-y: var(--rem-7);
	}

	.g-xxl-8,.gx-xxl-8 {
		--bs-gutter-x: var(--rem-10);
	}

	.g-xxl-8,.gy-xxl-8 {
		--bs-gutter-y: var(--rem-10);
	}
}



/* =============================================================================================
HEADER
============================================================================================= */

.print-header {
	display:none;
}

.header {
	z-index: 1040;
}

.navbar--fixed-top {
	padding: var(--rem-1p25) var(--rem-1) var(--rem-1) var(--rem-1);
	transition: var(--standard-transition);
	background-color: var(--grey-lt);
}

.header__top {
	padding-bottom: var(--rem-1p25);
	border-bottom: var(--border-green-lt);
}

.header__top a {
	color: var(--black);
}

.header__nav {
	padding: 0;
}

.logo {
	display: block;
}

.logo__img,
.logo svg {
	width: auto !important;
	height: var(--rem-2p5) !important;
	transition: var(--standard-transition);
}

.logo--naab .st0  {
	fill: var(--blue-dk);
}

.logo--css .st0 {
	stroke: var(--blue-dk);
}

.logo--css .st0 {
	fill: var(--white);
}

.logo--css .st1 {
	fill: var(--blue-dk);
}

.logo--css .st2 {
	fill: var(--blue-dk);
	stroke: var(--white);
}

@media all and (max-width: 1399px) and (min-width: 992px) {
	.navbar--fixed-top {
		padding-top: var(--rem-1);
	}

	.header__top {
		padding-bottom: var(--rem-1);
	}
}

@media (min-width: 992px) {
	.navbar--fixed-top {
		background-color: transparent;
		padding-bottom: 0;
	}

	.header--scroll .navbar--fixed-top {
		padding: var(--rem-p5) 0 0 0;
		background-color: rgba(255,255,255,.95) !important;
		backdrop-filter: blur(8px);
		border-bottom: var(--border-grey);
	}

	.header--scroll .logo__img,
	.header--scroll .logo svg {
		height: var(--rem-2) !important;
	}

	.header--scroll .header__top {
		padding-bottom: var(--rem-p625);
	}

	.homePage .header__top a {
		color: var(--white);
	}

	.homePage .header--scroll .header__top a {
		color: var(--black);
	}

	.homePage .logo--naab .st0 {
		fill: var(--white);
	}

	.homePage .logo--css .st0 {
		stroke: var(--black);
	}

	.homePage .logo--css .st0,
	.homePage .logo--css .st1 {
		fill: var(--white);
	}

	.homePage .logo--css .st0,
	.homePage .logo--css .st2 {
		stroke-width: .535px;
	}

	.homePage .logo--css .st2 {
		fill: var(--black);
		stroke: var(--white);
	}

	.header--scroll .logo--naab .st0  {
		fill: var(--blue-dk);
	}

	.header--scroll .logo--css .st0 {
		stroke: var(--blue-dk);
	}

	.header--scroll .logo--css .st0 {
		fill: var(--white);
	}

	.header--scroll .logo--css .st1 {
		fill: var(--blue-dk);
	}

	.header--scroll .logo--css .st2 {
		fill: var(--blue-dk);
		stroke: var(--white);
	}
}

@media (min-width: 1400px) {
	.logo__img,
	.logo svg {
		height: var(--rem-3) !important;
	}

	.header--scroll .logo__img,
	.header--scroll .logo svg {
		height: var(--rem-2p5) !important;
	}
}

/* ------------------------------------------------------------------------ Search Panel */

.modal-toggler {
	padding: 0;
	border: none;
	cursor: pointer;
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	border-radius: var(--br-50);
	background-color: var(--blue-dk);
	display: flex;
	justify-content: center;
    align-items: center;
	transition: var(--standard-transition);
}

.modal-toggler:hover,
.modal-toggler:focus {
	filter: brightness(120%);
	box-shadow: 0px 0px 0px 4px var(--blue-md-rgba);
}

.modal-toggler-icon {
	background-image: url(../images/menu-icon-open-reverse.svg);
	background-position: center;
	width: var(--rem-1p25);
	height: var(--rem-1p25);
	display: block;
}

.modal--search .modal-dialog {
	position: fixed;
	top: 0;
	right: 0;
	left: auto;
	margin: 0;
	height: 100%;
	max-width: 33.8125rem;
	width: 100%;
}

.modal--search.fade .modal-dialog {
	transform: translateX(100%);
	transition: transform .3s ease-out;
}

.modal--search.show .modal-dialog {
	transform: none;
}

.modal--search .modal-content {
	height: 100%;
	border: 0;
	border-radius: 0;
	background-color: var(--grey-lt);
}

.modal--search .modal-header {
	border-bottom: 0;
	padding: var(--rem-1p5) var(--rem-1p5) 0;
	justify-content: flex-end;
}

.modal--search .modal-body {
	padding: var(--rem-2);
}

.modal--search__section + hr {
	margin: var(--rem-2p5) 0;
	opacity: 1;
}

.modal--search .h4--icon {
	margin-bottom: var(--rem-1p5);
}

.modal--search .btn-group {
	display: flex;
	width: 100%;
}

.modal--search .btn-group__input {
	flex: 1 1 auto;
}

.modal--search .btn-group .form-control {
	border-radius: var(--br-pill);
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	font-weight: var(--fw-600);
}

@media (min-width: 576px) {
	.modal--search .modal-body {
		padding: var(--rem-3);
	}
}

@media (min-width: 992px) {
	.modal--search .modal-body {
		padding-top: var(--rem-1);
	}
}

@media (min-width: 1400px) {
	.modal--search .btn-group .form-control {
		padding: var(--rem-1p125) var(--rem-2);
	}
}

/* ------------------------------------------------------------------------ Navbar Nav */

.navbar-nav {
	margin-top: var(--rem-1);
}

.navbar-nav li {
	padding: 0;
	background-image: none;
}

.navbar-nav .nav-link {
	color: var(--black);
	padding: var(--rem-p375) var(--rem-1p5) var(--rem-p375) 0;
	font-size: var(--rem-1p125);
	font-weight: var(--fw-600);
	position: relative;
	transition: var(--standard-transition);
}

.navbar-nav .nav-item.active .nav-link {
	color: var(--blue-md);
}

.navbar-nav .nav-link.show {
	color: var(--black);
}

.navbar-nav .dropdown-menu {
	margin: var(--rem-p5) 0;
	padding:0;
	box-shadow: none;
	border: 0;
	border-radius: 0;
}

.navbar-nav .dropdown-menu .dropdown-menu {
	padding-left: var(--rem-1);
}

.navbar-nav .megamenu__sub-category {
	margin-bottom: var(--rem-1);
}

.navbar-nav .megamenu__sub-category.col-border-end {
	border-bottom: none;
	padding-bottom: 0;
}

.navbar-nav .megamenu__heading {
	color: var(--blue-md);
	position: relative;
	line-height: var(--lh-13);
}

.navbar-nav .megamenu__heading:after {
	content: "";
	position:absolute;
	top: 100%;
	left: 0;
	width: var(--rem-2);
	height: var(--rem-p25);
	background-color: var(--green-md);
	margin-top: var(--rem-p5);
}


.navbar-nav .dropdown-menu li,
.navbar-nav .megamenu__sub-category li {
	margin-bottom: var(--rem-p5);
}

.navbar-nav .megamenu__sub-category li:last-child {
	margin-bottom: 0;
}


.navbar-nav .dropdown-item {
	padding: var(--rem-p25) 0  var(--rem-p25)  var(--rem-1);
	white-space: wrap;
	font-size: var(--rem-1);
	font-weight: var(--fw-600);
}

.navbar-nav .megamenu .dropdown-item {
	padding-left: 0;
}

.navbar-nav .megamenu .dropdown-item--search {
	padding-right: 1em;
	background: url(../images/icon-full-arrow-grey.svg) no-repeat right 0.45em;
	background-size: 0.875em 0.875em;
}

.navbar-nav .dropdown-item:focus {
	background-color: transparent;
	color: inherit;
}

.navbar-nav .dropdown-menu li > .dropdown-item.active {
	color: var(--blue-md);
	font-weight: var(--fw-700);
}

.dropdown-item.active, .dropdown-item:active {
	background-color: transparent;
}

.navbar-nav .dropdown-menu li.active:hover .dropdown-item, .navbar-nav .dropdown-item:hover {
	color: var(--black);
}

.navbar-nav .dropdown-menu li:hover > .dropdown-item.active, .navbar-nav .dropdown-item:hover {
	background-color: transparent;
	text-decoration: underline;
	color: var(--black);
}


.navbar-nav .megamenu .megamenu__sub__sub--arrow li {
	padding-left: 1.25em;
	background: url(../images/icon-full-arrow-grey.svg) no-repeat left 0.313em;
	background-size: 0.875em 0.875em;
}

.navbar-nav .megamenu .megamenu__sub__sub li {
	margin-bottom: var(--rem-p125);
}

.navbar-nav .megamenu .megamenu__sub__sub .dropdown-item {
	font-weight: var(--fw-400);
}


.icon-arrow {
	padding: 0 var(--rem-p5);
}

.icon-arrow:after {
	content: "+";
	margin-left: var(--rem-p5);
	margin-top: -.25rem;
	opacity: 1;
	font-size: var(--rem-1);
}

@media (min-width: 992px) {
	.dropdown-toggle {
		pointer-events: none;
	}

	/* Previously none so hover on the parent <li> opened menus. Click-only top-level nav as of Aug 2026. */
	.navbar-nav > .nav-item > .dropdown-toggle {
		pointer-events: auto;
		cursor: pointer;
	}
}
.dropdown-toggle::after {
	display:none;
}

.dropdown-toggle .icon-arrow {
	position: absolute;
	right: 0;
}

@media all and (max-width: 1399px) and (min-width: 992px) {
	.navbar-nav .nav-link {
		font-size: var(--rem-1);
	}

	.navbar-nav .dropdown-item {
		font-size: var(--rem-p875);
	}

	.dropdown-menu .btn--sm {
		font-size: var(--rem-p875);
		padding: var(--rem-p5) var(--rem-1);
	}

	.navbar-nav .dropdown-menu li,
	.navbar-nav .megamenu__sub-category li {
		margin-bottom: var(--rem-p125);
	}
}

@media all and (max-width: 1679px) and (min-width: 992px) {
	.navbar-nav {
		align-items: start;
	}

	.navbar-nav .nav-link {
		white-space: wrap;
	}

	.navbar-nav .nav-item:first-child {
		width: 8%;
	}

	.navbar-nav .nav-item:nth-child(2) {
		width: 8%;
	}

	.navbar-nav .nav-item:nth-child(3) {
		width: 16%;
	}

	.navbar-nav .nav-item:nth-child(4) {
		width: 17%;
	}

	.navbar-nav .nav-item:nth-child(5) {
		width: 12%;
	}

	.navbar-nav .nav-item:nth-child(6) {
		width: 12.5%;
	}

	.navbar-nav .nav-item:nth-child(7) {
		width: 9%;
	}

	.navbar-nav .nav-item:nth-child(8) {
		width: 8%;
	}

	.navbar-nav .nav-item:last-child {
		width: 9.5%;
	}
}

@media (min-width: 992px) {
	.navbar,
	.navbar-nav {
		margin-top: 0;
	}

	.navbar--fixed-top {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1030;
	}

	.navbar-nav {
		width: 100%;
	}

	.navbar-nav .nav-item {
		margin-bottom: 0;
	}

	.navbar-nav .nav-link {
		padding: var(--rem-p75) 0 !important;
		margin-right: var(--rem-1p5);
		border-bottom: 0;
	}

	.navbar-nav .nav-item:last-child .nav-link {
		margin-right:0;
	}

	.navbar-nav .nav-link:hover {
		text-decoration: underline;
	}

	.header--scroll .navbar-nav .nav-link {
		color: var(--black);
		padding: var(--rem-p75) 0 !important;
	}

	.homePage .navbar-nav .nav-link,
	.homePage .navbar-nav .nav-link.show {
		color: var(--white);
	}

	.homePage .header--scroll .navbar-nav .nav-link,
	.homePage .header--scroll .navbar-nav .nav-link.show {
		color: var(--black);
	}


	.navbar-nav .dropdown-menu,
	.navbar-nav .dropdown-menu .dropdown-menu {
		background-color: var(--grey-lt);
		padding: var(--rem-p75) 0;
		min-width: 15rem !important;
		margin-top: 0;
	}

	.navbar-nav .megamenu {
		padding: 0;
	}

	.megamenu__body .row {
		margin-right: calc(-.75 * var(--bs-gutter-x));
		margin-left: calc(-.75 * var(--bs-gutter-x));
	}

	.navbar-nav .megamenu,
	.navbar-nav .dropdown-menu {
		box-shadow: 0px 2px 5px 0px rgba(29, 29, 29, 0.125);
	}

	.navbar-nav .megamenu__body {
		padding-top: var(--rem-1p5);
		padding-bottom: var(--rem-2);
	}

	.navbar-nav .megamenu__sub-category {
		margin-bottom: 0;
	}

	.navbar-nav .megamenu__sub-category.col-border-end {
		border-right: var(--border-white);
	}

	.navbar-nav .megamenu__sub-category.col-border-end:last-child {
		border-right: none;
	}

	.navbar-nav .megamenu__sub-category--gradient {
		background: var(--grey-md-gradient);
	}

	.navbar-nav .dropdown-item {
		padding: var(--rem-p25) var(--rem-1p5);
	}

	.navbar-nav .megamenu .dropdown-item {
		padding-left: 0;
	}

	.dropdown-menu>li:hover {
		background-color: transparent;
	}
}

@media (min-width: 1400px) {
	.navbar-nav .dropdown-menu li,
	.navbar-nav .megamenu__sub-category li {
		margin-bottom: var(--rem-p5);
	}

	.navbar-nav .megamenu__body {
		padding-top: var(--rem-2);
		padding-bottom: var(--rem-2p5);
	}

	.navbar-nav .nav-link {
		padding: var(--rem-1) 0 !important;
	}

	.dropdown-menu .btn--sm {
		font-size: var(--rem-1);
	}
}

@media (min-width: 1680px) {
	.navbar-nav .megamenu__body {
		padding-top: var(--rem-3);
		padding-bottom: var(--rem-3p5);
	}
}


/* ------------------------------------------------------------------------ Side Nav */

.sidenav li {
	padding: 0;
	background-image: none;
}

.sidenav .nav-link {
	padding: var(--rem-p25) 0;
	font-weight: var(--fw-400);
	color: var(--black);
}

.sidenav .nav-link:hover {
	text-decoration: underline;
	color: var(--grey-md);
}

.sidenav .nav-link.active {
	color: var(--blue-md);
	font-weight: var(--fw-700);
}

.sidenav .submenu {
	margin: 0 0 var(--rem-p5) 0;
	padding: 0 0 0 var(--rem-1);
}

.sidenav .icon-arrow.show::after {
	content: '-';
	font-size: var(--rem-1p125);
}

.sidenav .icon-arrow::after {
	content: "+";
	margin-left: var(--rem-p5);
	margin-top: -.25rem;
	opacity: 1;
	font-size: var(--rem-1);
}


@media all and (max-width: 991px) and (min-width: 0px) {
	.sidenav.card--sm {
		margin-top: var(--rem-p5);
	}
}

@media (min-width: 992px) {
	.sidenav.card--sm {
		display: flex;
		flex-direction: column;
		max-height: calc(100vh - var(--header-height-scroll) -  (var(--section-p-sm) * 2));
		overflow: hidden;	
		margin-bottom: var(--section-p);	
	}

	.sidenav.card--sm .card-body {
		flex: 1 1 auto;
		min-height: 0; /* required or the flex child will not shrink */
		height: auto;  /* don’t use 100% here */
		overflow-y: auto;
		scrollbar-width: auto;
		scrollbar-color: auto;
		padding: 0 var(--rem-1p5) 0 0;
		margin: var(--rem-2p5) var(--rem-p5) var(--rem-2p5) var(--rem-2p5);
		/* scrollbar-width: thin;
  		scrollbar-color: var(--blue-lt) rgba(255, 255, 255, 0.1); */
	}

	.sidenav.card--sm .card-body::-webkit-scrollbar {
		width: 8px;
	}
	.sidenav.card--sm .card-body::-webkit-scrollbar-button {
		display: none;
		height: 0;
		width: 0;
	}
	.sidenav.card--sm .card-body::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.2);
	}
	.sidenav.card--sm .card-body::-webkit-scrollbar-thumb {
		background-color: var(--blue-lt);
		border-radius: 4px;
	}
}

@supports not selector(::-webkit-scrollbar) {
	.sidenav.card--sm .card-body {
		scrollbar-width: thin;
		scrollbar-color: var(--blue-lt) rgba(255, 255, 255, 0.2);
	}
}

@media (min-width: 1680px) {
    .sidenav.card--sm .card-body {
        padding: 0 var(--rem-2) 0 0;
		margin: var(--rem-3) var(--rem-p5) var(--rem-3) var(--rem-3);
    }
}


/* ------------------------------------------------------------------------ Bootstrap Menu Off Canvas Mobile */

body.offcanvas-active {
	overflow:hidden;
}

.screen-darken {
	height: 100%;
	width:0%;
	z-index: 30;
	position: fixed;
	top: 0;
	right: 0;
	opacity:0;
	visibility:hidden;
	background-color: rgba(0, 0, 0, 0.5);
	transition:opacity .2s linear, visibility 0.2s, width 2s ease-in;
}

.screen-darken.active {
	z-index:10;
	transition:opacity .3s ease, width 0s;
	opacity:1;
	width:100%;
	visibility:visible;
}

.offcanvas-header {
	display: none;
}


@media all and (max-width: 991px) {
	.offcanvas-header {
		padding: 0;
		display:block;
	}

	.mobile-offcanvas {
		visibility: hidden;
		transform:translateX(-100%);
		border-radius:0;
		display:block;
		position: fixed;
		top: 0; left:0;
		height: 100%;
		z-index: 1200;
		width:100%;
		overflow-y: scroll;
		overflow-x: hidden;
		transition: visibility .3s ease-in-out, transform .3s ease-in-out;
	}

	.mobile-offcanvas.show {
		visibility: visible;
		transform: translateX(0);
	}

	.mobile-offcanvas .container, .mobile-offcanvas .container-fluid {
		display: block;
	}
}


/* ------------------------------------------------------------------------ Navbar Toggler */

.navbar-toggler {
	padding: 0;
	border: none;
	cursor: pointer;
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	border-radius: var(--br-50);
	background-color: var(--blue-dk);
	transition: var(--standard-transition);
}

.navbar-toggler:hover,
.navbar-toggler:focus {
	filter: brightness(120%);
	box-shadow: 0px 0px 0px 4px var(--blue-md-rgba);
}

.btn-close:hover {
	opacity: 1;
}

.navbar-toggler-icon {
	background-image: url(../images/menu-icon-reverse.svg);
	width: var(--rem-1p25);
	height: var(--rem-1p25);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	background-image: url(../images/menu-icon-open-reverse.svg);
}


.navbar-toggler--close {
	background-image: none;
	opacity: 1;
}

.navbar-toggler-icon--close {
	background-image: url(../images/menu-icon-open-reverse.svg);
	width: var(--rem-1p25);
	height: var(--rem-1p25);
}

@media (min-width: 992px) {
	.navbar-toggler {
		display: none;
	}
}



/* =============================================================================================
MAIN CONTENT AREA
============================================================================================= */

.col-border-end {
	border-bottom: var(--border-grey);
	padding-bottom: var(--rem-1);
}

.dropdown-menu .col-border-end,
.section--grey .col-border-end,
.card .col-border-end,
.card--split__grey .col-border-end,
.accordion-body .col-border-end {
	border-bottom: var(--border-white);
}

.card--split__white .col-border-end {
	border-bottom: var(--border-grey);
}

.section--blue .col-border-end,
.card--blue .col-border-end,
.card--split__blue .col-border-end {
	border-bottom: var(--border-blue);
}


@media (min-width: 992px) {
	.col-border-end {
		border-bottom: 0;
		border-right: var(--border-grey);
		padding-bottom: 0;
	}

	.dropdown-menu .col-border-end,
	.section--grey .col-border-end,
	.card .col-border-end,
	.card--split__grey .col-border-end,
	.accordion-body .col-border-end {
		border-right: var(--border-white);
		border-bottom: 0;
	}

	.card--split__white .col-border-end {
		border-right: var(--border-grey);
		border-bottom: 0;
	}

	.section--blue .col-border-end,
	.card--blue .col-border-end,
	.card--split__blue .col-border-end {
		border-right: var(--border-blue);
		border-bottom: 0;
	}
}

@media (min-width: 1680px){
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .container-xxxl {
		max-width: 1600px;
	}
}


/* ------------------------------------------------------------------------ Sections */

.section {
	overflow-x: clip;
	padding: var(--section-p) 0;
}

.section--sm {
	padding: var(--section-p-sm) 0;
}

.section--grey,  .section--grey.section--extended::before {
	background-color: var(--grey-lt);
}

.section--grey-md {
	background-color: var(--grey-md);
}

.section--blue,  .section--blue.section--extended::before {
	background-color: var(--blue-dk);
	color: var(--white);
}

.section--bg-img {
	position: relative;
	background-color: var(--grey-lt);
}

.section--bg-img .container {
	position: relative;
	z-index: 2;
}

.section--bg-img:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.section--bg-img:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--grey-lt-rgba);
}

.section--blue.section--bg-img {
	background-color: var(--blue-dk);
}

.section--blue.section--bg-img:before {
	filter: grayscale(100%);
}

.section--blue.section--bg-img:after {
	width: 100%;
	background: var(--blue-dk);
	opacity: .95;
}


.section--bg-img--css:before {
	background-image: url(../images/home-css-bg.jpg);
}

.section--bg-img--dates:before {
	background-image: url(../images/home-dates-bg.jpg);
}

.section--bg-img--custom:before {
	background-image: var(--section-bg-image);
}
.section--extended {
	position: relative;
	overflow-x: visible;
	z-index: 0;
}

/* Full-bleed even when nested in a right-hand column.
   Outer .section keeps overflow-x: clip so excess past the viewport does not create a scrollbar. */
.section--extended::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -100vw;
	right: -100vw;
	width: auto;
	z-index: -1;
}
@media (min-width: 992px) {
	.section--bg-img:after {
		width: 66%;
		background: var(--grey-lt-gradient);
	}
}

/* ------------------------------------------------------------------------ Section Homepage Banners */

.section--banner-home {
	margin-bottom: 0;
	background-color: var(--black);
	position: relative;
	color: var(--white);
}

.section--banner-home .container {
	position: relative;
	z-index: 3;
}

.section--banner-home__img,
.section--banner-home:before,
.section--banner-home:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.section--banner-home:before {
	content: "";
	background: var(--black-dk-gradient);
	height: 33%;
	z-index: 2;
}

.section--banner-home:after {
	content: "";
	background: var(--black-dk);
	opacity: .4;
}

.section--banner-home__img {
	aspect-ratio: auto;
}

.section--banner-home .section--banner__text {
	margin: 0;
}

@media (min-width: 992px) {
	.section--banner-home {
		padding-top: calc(var(--header-height) + var(--section-p));
	}
}


/* ------------------------------------------------------------------------ Section Inside Banners */

.section--banner {
	margin-bottom: 0;
	background-color: var(--blue-dk);
	position: relative;
	color: var(--white);
	padding: 0;
}

.breadcrumb {
	margin-top: var(--rem-1);
}

.breadcrumb li {
	padding-bottom: 0;
}

.breadcrumb-item {
	font-size: var(--rem-p875);
	color: var(--white);
}

.breadcrumb-item a,
.breadcrumb-item+.breadcrumb-item::before,
.breadcrumb-item.active {
	color: var(--grey-md);
	font-weight: var(--fw-400);
}

.section--banner__text {
	margin: var(--section-p) 0 var(--section-p-sm) 0;
}

.section--banner__text:has(p) h1:after {
	content: "";
	position:absolute;
	top: 100%;
	left: 0;
	width: var(--rem-3p5);
	height: var(--rem-p25);
	background-color: var(--green-md);
	margin-top: var(--rem-1p125);
}

.section--banner__text p {
	margin-top: var(--rem-3);
}

.section--banner__img {
	border-top-left-radius: var(--br-card);
	border-top-right-radius: var(--br-card);
}


@media (min-width: 992px) {
	.section--banner__img {
		border-bottom-left-radius: var(--br-card);
		border-top-right-radius: 0
	}
	.section--banner__text {
		margin: var(--rem-7) 0 var(--section-p-sm) 0;
	}
}

@media (min-width: 1400px) {
	.section--banner__text {
		margin: var(--rem-10) 0 var(--section-p-sm) 0;
	}
}



/* ------------------------------------------------------------------------ Cards */

.card {
	border: 0;
	color: black;
	background-color: var(--grey-lt);
	border-radius: var(--br-card);
	margin-bottom: var(--rem-p5);
}

.card.mb-4b {
	margin-bottom: var(--rem-2);
}

.card.mb-section-sm {
	margin-bottom: var(--section-p-sm);
}

.section--grey .card:not(.card--blue),
.card--white {
	background-color: var(--white);
}

.card--border {
	border:  var(--border-grey);
}

.card--blue {
	background-color: var(--blue-dk);
	color: var(--white);
}
.card--md-blue {
	background-color: var(--blue-md);
	color: var(--white);
}
.card--xxs .card-body {
	padding: var(--rem-1) var(--rem-1) 0 var(--rem-1);
}

.card-body {
	padding: var(--rem-2) var(--rem-2) var(--rem-1p75) var(--rem-2);
}

.card--xs {
	border-radius: var(--rem-1);
}

.card--pill {
	border-radius: var(--br-card);
}

@media (min-width: 576px) {
	.card-body {
		padding: var(--rem-3) var(--rem-3) var(--rem-2p5) var(--rem-3);
	}
	

	.card--xs .card-body,
	.card--sm .card-body {
		padding: var(--rem-2) var(--rem-2) var(--rem-1p5) var(--rem-2);
	}
}


@media (min-width: 992px) {
	.card--pill {
		border-radius: var(--br-pill);
	}
	.card--sm .card-body {
		padding: var(--rem-2p5) var(--rem-2p5) var(--rem-2) var(--rem-2p5);
	}
}

@media (min-width: 1680px) {
	.card-body {
		padding: var(--rem-4) var(--rem-5) var(--rem-3p5) var(--rem-5);
	}

	.card--sm .card-body {
		padding: var(--rem-3) var(--rem-3) var(--rem-2p5) var(--rem-3);
	}
}


/* ------------------------------------------------------------------------ Card Icon */

.card--icon .card-body.text-center .img--ar--wrapper--icon {
	margin: 0 auto;
}

.card--icon .img--ar--wrapper--icon + h3 {
	margin-top: var(--rem-1p25);
}

@media (min-width: 992px) {
	.card--icon--double .card-body {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (min-width: 1400px) {
	.card--icon:not(.card--split) .card-body,
	.card--split-icon__header .card-body {
		padding-top: var(--rem-3);
	}
}


/* ------------------------------------------------------------------------ Card Info */

.card--info {
	text-align: center;
}

.card--info .img--ar--wrapper--info {
	width: var(--rem-4);
	height: var(--rem-4);
	margin: 0 auto var(--rem-1p5) auto;
}

@media (min-width: 992px) {
	.card--info {
		text-align: left;
	}

	.card--info .img--ar--wrapper--info {
		width: var(--rem-5);
		height: var(--rem-5);
		margin-bottom:0;
		margin-right: var(--rem-2);
	}
}


/* ------------------------------------------------------------------------ Card Team */

.card--team .img--ar__img--p66x1 {
	border-radius: var(--br-card);
	margin-bottom: 0;
}


/* ------------------------------------------------------------------------ Card Split */

.card--split {
	overflow: hidden;
	background-color: transparent !important;
	border-radius: 0;
}

.card--split__item {
	overflow: hidden;
}

.card--split__blue {
	background-color: var(--blue-dk);
	color: var(--white);
}

.card--split__grey {
	background-color: var(--grey-lt);
}

.card--split__grey-md {
	background-color: var(--grey-md);
}

.card--split__white {
	background-color: var(--white);
	border: var(--border-grey);
}

.section--grey .card--split__white {
	border: 0;
}


/* ------------------------------------------------------------------------ Card Split Horizontal */

.card--split--horz [class^="col-"]:first-child .card--split__item {
	border-top-left-radius: var(--br-card);
	border-top-right-radius: var(--br-card);
}

.card--split--horz [class^="col-"]:last-child .card--split__item {
	border-bottom-left-radius: var(--br-card);
	border-bottom-right-radius: var(--br-card);
}


.card--split--horz [class^="col-"]:first-child .card--split__white {
	border-bottom: none;
}

.card--split--horz [class^="col-"]:last-child .card--split__white {
	border-top: none;
}

@media (min-width: 992px) {
	.card--split--horz [class^="col-"]:first-child .card--split__item {
		border-bottom-left-radius: var(--br-card);
		border-top-right-radius: 0;
	}

	.card--split--horz [class^="col-"]:last-child .card--split__item {
		border-top-right-radius: var(--br-card);
		border-bottom-left-radius: 0;
	}

	.card--split--horz [class^="col-"]:first-child .card--split__white {
		border-bottom: var(--border-grey);
		border-right: none;
	}

	.card--split--horz [class^="col-"]:last-child .card--split__white {
		border-top: var(--border-grey);
		border-left: none;
	}
}


/* ------------------------------------------------------------------------ Card Split Vertical */

.card--split--vert .card--split__item:first-child {
	border-top-left-radius: var(--br-card);
	border-top-right-radius: var(--br-card);
}

.card--split--vert .card--split__item:last-child {
	border-bottom-left-radius: var(--br-card);
	border-bottom-right-radius: var(--br-card);
}


.card--split--vert .card--split__item:first-child.card--split__white {
	border-bottom: none;
}

.card--split--vert .card--split__item:last-child.card--split__white {
	border-top: none;
}



/* ------------------------------------------------------------------------ Card Split Vertical with Arrows */

.card--split__arrow {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	padding-top: var(--rem-1p5);
}

.card--split__arrow.card--split__grey {
	background-image: url(../images/card-split-arrow-white.png);
}

.card--split__arrow.card--split__grey-md {
	background-image: url(../images/card-split-arrow-grey-lt.png);
}

.card--split__arrow + [class^="card--split__"] {
	margin-top: calc(var(--rem-3) + -1);
}

@media (min-width: 992px) {
	.card--split__arrow {
		padding-top: var(--rem-2);
	}
}

@media (min-width: 1400px) {
	.card--split__arrow {
		padding-top: var(--rem-3);
	}
}


/* ------------------------------------------------------------------------ Card Split Vertical Icon */

.cards-grid .card {
	margin-bottom: var(--rem-2);
}

.cards-grid .card:last-child {
	margin-bottom: 0;
}

@media (min-width: 992px) {
	/* Parent: 3 columns, 2 shared rows (header row + body row) */
	.cards-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: auto auto;
		column-gap: var(--rem-2); /* space between cards */
		row-gap: 0;
	}

	.cards-grid .card {
		margin-bottom: 0;
	}

	/* Each card spans both parent rows and inherits them via subgrid */
	.cards-grid .card--split-icon {
		display: grid;
		grid-row: span 2;
		grid-template-rows: subgrid;
		overflow: hidden;
	}
}

@media (min-width: 1400px) {
	/* Parent: 3 columns, 2 shared rows (header row + body row) */
	.cards-grid {
		column-gap: var(--rem-3); /* space between cards */
	}
}



/* ------------------------------------------------------------------------ List Group */

.list-group {
	border-radius: 0;
	border: 0;
	border-top: var(--border-grey);
	margin-bottom: var(--rem-p5);
}

.section--grey .list-group,
.card .list-group,
.card--split__grey .list-group,
.accordion-body .list-group {
	border-top: var(--border-white);
}

.card--split__white .list-group {
	border-top: var(--border-grey);
}

.section--blue .list-group,
.card--blue .list-group,
.card--split__blue .list-group {
	border-top: var(--border-blue);
}

.list-group-item {
	padding: 0 var(--rem-p5) 0 var(--rem-2);
	margin-bottom: 0;
	color: var(--black);
	background-color: transparent;
	border: 0;
	border-bottom: var(--border-grey);
	background: url(../images/icon-arrow-green-md.svg) no-repeat var(--rem-p5) center;
	background-size: var(--rem-p625);
	font-weight: var(--fw-600);
	line-height: var(--lh-13);
}

.section--grey .list-group-item,
.card .list-group-item,
.card--split__grey .list-group-item,
.accordion-body .list-group-item {
	border-bottom: var(--border-white);
}

.card--split__white .list-group-item {
	border-bottom: var(--border-grey);
}

.section--blue .list-group-item,
.card--blue .list-group-item,
.card--split__blue .list-group-item {
	border-bottom: var(--border-blue);
	background: url(../images/icon-arrow-green-md.svg) no-repeat var(--rem-p5) center;
	background-size: var(--rem-p625);
}

.list-group--no-bullet .list-group-item {
	padding-left: var(--rem-p5);
	background-image: none;
}

.list-group-item--external {
	background-image: url(../images/icon-arrow-green-md.svg), url(../images/icon-external.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: var(--rem-p5) center, right var(--rem-p5) center;
	background-size: var(--rem-p625), var(--rem-p875);
	padding-right: var(--rem-2);
}
.section--blue .list-group-item--external,
.card--blue .list-group-item--external,
.card--split__blue .list-group-item--external {
	background-image: url(../images/icon-arrow-green-lt.svg), url(../images/icon-external-white.svg);
	background-position: var(--rem-p5) center, right var(--rem-p5) center;
	background-size: var(--rem-p625), var(--rem-p875);
}

.list-group-item--pdf {
	background-image: url(../images/icon-arrow-green-md.svg), url(../images/icon-pdf.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: var(--rem-p5) center, right var(--rem-p5) center;
	background-size: var(--rem-p625), var(--rem-1p75);
	padding-right: var(--rem-2p5);
}
.section--blue .list-group-item--pdf,
.card--blue .list-group-item--pdf,
.card--split__blue .list-group-item--pdf {
	background-image: url(../images/icon-arrow-green-lt.svg), url(../images/icon-pdf-white.svg);
	background-position: var(--rem-p5) center, right var(--rem-p5) center;
	background-size: var(--rem-p625), var(--rem-1p75);
}

.list-group-item--excel {
	background-image: url(../images/icon-arrow-green-md.svg), url(../images/icon-excel.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: var(--rem-p5) center, right var(--rem-p5) center;
	background-size: var(--rem-p625), var(--rem-2p5);
	padding-right: var(--rem-3p5);
}
.section--blue .list-group-item--excel,
.card--blue .list-group-item--excel,
.card--split__blue .list-group-item--excel {
	background-image: url(../images/icon-arrow-green-lt.svg), url(../images/icon-excel-white.svg);
	background-position: var(--rem-p5) center, right var(--rem-p5) center;
	background-size: var(--rem-p625), var(--rem-2p5);
}

.list-group--no-bullet {
	border-top: none;
}

.list-group--no-bullet,
.list-group--no-bullet .list-group-item:last-child {
	border-bottom: none;
}

.list-group-item--no-links {
	padding: var(--rem-p875) var(--rem-p5) var(--rem-p875) var(--rem-2);
}

.list-group-item a {
	color: inherit;
	font-weight: var(--fw-600);
	transition: var(--standard-transition);
	padding: var(--rem-p875) 0;
	display:block;
	text-decoration: none;
}


.list-group--no-bullet .list-group-item a {
	padding: var(--rem-1) 0;
}

.card--blue .list-group-item a {
	color: var(--white);
}

.list-group__link:hover, .list-group-item a:hover {
	transform: translateX(var(--rem-1));
	text-decoration: underline;
}


/* ------------------------------------------------------------------------ Accordions */

.accordion {
	margin-bottom: var(--rem-p5);
}

.accordion,
.accordion-item:first-of-type,
.accordion-item:last-of-type,
.accordion-item:first-of-type>.accordion-header .accordion-button {
	border-radius: 0;
}

.accordion-item,
.accordion-item:not(:first-of-type) {
	border-top: var(--border-grey);
}

.section--grey .accordion-item,
.card .accordion-item,
.card--split__grey .accordion-item,
.section--grey .accordion-item:not(:first-of-type),
.card .accordion-item:not(:first-of-type),
.card--split__grey .accordion-item:not(:first-of-type),
.accordion-body .accordion-item:not(:first-of-type),
.accordion-body .accordion-item:not(:first-of-type) {
	border-top: var(--border-white);
}

.card--split__white .accordion-item,
.card--split__white .accordion-item:not(:first-of-type) {
	border-top: var(--border-grey);
}

.section--blue .accordion-item,
.card--blue .accordion-item,
.card--split__blue .accordion-item,
.section--blue .accordion-item:not(:first-of-type),
.card--blue .accordion-item:not(:first-of-type),
.card--split__blue .accordion-item:not(:first-of-type) {
	border-top: var(--border-blue);
}

.accordion-item {
	border-left: 0;
    border-bottom: 0;
    border-right: 0;
}

.accordion-item:last-child {
	border-bottom: var(--border-grey);
}

.section--grey .accordion-item:last-child,
.card .accordion-item:last-child,
.card--split__grey .accordion-item:last-child,
.accordion-body .accordion-item:last-child {
	border-bottom: var(--border-white);
}

.card--split__white .accordion-item:last-child {
	border-bottom: var(--border-grey);
}

.section--blue .accordion-item:last-child,
.card--blue .accordion-item:last-child,
.card--split__blue .accordion-item:last-child {
	border-bottom: var(--border-blue);
}

.accordion-button {
	font-weight: var(--fw-600);
	padding: var(--rem-p875) var(--rem-1);
	color: var(--black);
	gap: var(--rem-1p5);
}

.accordion-button__heading {
	flex: 1 1 auto;
}

.accordion-button__info {
	font-weight: var(--fw-400);
	flex: 0 0 auto;
}

.accordion-button::after {
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	background: var(--blue-md) url(../images/icon-arrow-white.svg) no-repeat center;
	background-size: var(--rem-p75);
	transform: rotate(90deg);
	border-radius: var(--br-50);
}

.accordion-button:not(.collapsed) {
	color: var(--black);
	background-color: transparent;
	box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
	transform: rotate(270deg);
	background: var(--blue-md) url(../images/icon-arrow-white.svg) no-repeat center;
	background-size: var(--rem-p75);
}

.accordion-body {
	background-color: var(--grey-rgba-accordion);
	color: var(--black);
	border-top: var(--border-grey);
	padding: var(--rem-2) var(--rem-2) var(--rem-1p75) var(--rem-2);
}

.section--grey .accordion-body,
.card .accordion-body,
.card--split__grey .accordion-body,
.accordion-body .accordion-body {
	border-top: var(--border-white);
}

.card--split__white .accordion-body {
	border-top: var(--border-grey);
}

.section--blue .accordion-body,
.card--blue .accordion-body,
.card--split__blue .accordion-body {
	border-top: var(--border-blue);
}

.section--blue .accordion-button {
	color: var(--white);
}

.section--blue .accordion-button::after {
	background: var(--green-lt) url(../images/icon-arrow-blue.svg) no-repeat center;
	background-size: var(--rem-p75);
}

.section--blue .accordion-button:not(.collapsed) {
	color: var(--white);
}

.section--blue .accordion-button:not(.collapsed)::after {
	background: var(--green-lt) url(../images/icon-arrow-blue.svg) no-repeat center;
	background-size: var(--rem-p75);
}

.section--blue .accordion-body {
	color: var(--white);
	background-color: var(--black-rgba);
	border-top: var(--border-blue);
}

@media (min-width: 1400px) {
	.accordion-button {
		padding: var(--rem-p875) var(--rem-1p5);
	}

	.accordion-body {
		padding: var(--rem-2p5) var(--rem-3) var(--rem-2p25) var(--rem-3);
	}
}


/* ------------------------------------------------------------------------ Bar Chart */

.bar-chart {
	display: flex;
	flex-direction: row;
	min-width: 120px;
}

.bar-chart-left-container {
	position: relative;
	background: #efefef;
	width: 50%;
	display: flex;
	height: 2em;
}

.bar-chart-right-container {
	position: relative;
	background: #efefef;
	width: 50%;
	display: block;
	height: 2em;
	flex: 0 1 auto;
}

.bar-left {
	position: absolute;
	right: 0;
	background: #4ea63f;
	min-height: 1em;
	height: 100%;
}

.bar-right {
	position: absolute;
	left: 0;
	background: #4ea63f;
	min-height: 1em;
	height: 100%;
}

/* ------------------------------------------------------------------------ Tables */

/*Override table inline styles*/

.table[style],
.rich-text table[style],
.card-body table[style],
.accordion-body table[style] {
	width:100% !important;
	height:auto !important;
}

.table td[style],
.table th[style],
.rich-text table td[style],
.rich-text table th[style],
.card-body table td[style],
.card-body table th[style],
.accordion-body table td[style],
.accordion-body table th[style] {
	height:auto !important;
}

th p,
td p {
	margin-bottom: 0;
}

/* .table-data-wrapper {
	max-height: calc(100vh - var(--header-height-scroll) - var(--section-p-sm)); 
	overflow: hidden;
} */

#dairyBullSearchResults .table-data-wrapper {
	display: flex;
	flex-direction: column;
}

#dairyBullSearchResults .table-data-wrapper .dt-container,
#dairyBullSearchResults .table-data-wrapper .dt-scroll {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
}

#dairyBullSearchResults .table-data-wrapper .dt-scroll-body {
	overflow: auto !important;
}

#dairyBullSearchResults .table-data-wrapper .dt-scroll-body[style],
#beefBullSearchResults .table-data-wrapper .dt-scroll-body[style] {
	height: calc(100vh - var(--header-height-scroll) - var(--section-p) - 5.5rem) !important;
	max-height: calc(100vh - var(--header-height-scroll) - var(--section-p) - 5.5rem) !important;
}

.table,
.table-faux,
.rich-text table,
.card-body table,
.accordion-body table {
	margin-bottom: var(--rem-p5);
	width: 100%;
	border-collapse: collapse;
}

.table-min-width-lg {
	min-width: 56rem;
}

.accordion-body .table--dk {
	background-color: var(--grey-lt);
}

.table-faux {
	border-top: var(--border-grey);
}

.section--grey .table-faux,
.card .table-faux,
.card--split__grey .table-faux,
.accordion-body .table-faux {
	border-top: var(--border-white);
}

.card--split__white .table-faux {
	border-top: var(--border-grey);
}

.section--blue .table-faux,
.card--blue .table-faux,
.card--split__blue .table-faux {
	border-top: var(--border-blue);
}


.table-faux .table-faux__item {
	margin-left: 0;
	margin-right: 0;
}


.table thead th,
.rich-text table thead th,
.card-body table thead th,
.accordion-body table thead th {
	background-color: var(--blue-md) !important;
	color: var(--white);
	border-bottom: none;
}

.table td, .table th,
.table-faux .table-faux__item,
.rich-text table td, .rich-text table th,
.card-body table td, .card-body table th,
.accordion-body table td, .accordion-body table th {
	border-bottom: var(--border-grey);
	padding: var(--rem-p875) var(--rem-1);
	vertical-align: middle;
}
table.dataTable.dtfc-scrolling-left tbody tr>.dtfc-fixed-start, table.dataTable.dtfc-scrolling-left tbody tr>.dtfc-fixed-end {
	background-color: var(--grey-lt) !important;
}

/* .section--grey .table:not(.table--dk) td,
.section--grey .table:not(.table--dk) th, */
.section--grey .table-faux .table-faux__item,
.section--grey .rich-text table td,
.section--grey .rich-text table th,
.section--grey .card-body table td,
.section--grey .card-body table th,
.card .table td,
.card .table th,
.card .table-faux .table-faux__item,
.card .rich-text table td,
.card .rich-text table th,
.card .card-body table td,
.card .card-body table th,
.card--split__grey .table td,
.card--split__grey .table th,
.card--split__grey .table-faux .table-faux__item,
.card--split__grey .rich-text table td,
.card--split__grey .rich-text table th,
.card--split__grey .card-body table td,
.card--split__grey .card-body table th,
.accordion-body table td,
.accordion-body table th {
	border-bottom: var(--border-white);
}

.card--split__white .table td, .table th,
.card--split__white .table-faux .table-faux__item,
.card--split__white .rich-text table td, .rich-text table th,
.card--split__white .card-body table td, .card-body table th {
	border-bottom: var(--border-grey);
}

.section--blue .table td,
.section--blue .table th,
.section--blue .table-faux .table-faux__item,
.section--blue .rich-text table td,
.section--blue .rich-text table th,
.section--blue .card-body table td,
.section--blue .card-body table th,
.section--blue .accordion-body table td,
.section--blue .accordion-body table th,
.card--blue .table td,
.card--blue .table th,
.card--blue .table-faux .table-faux__item,
.card--blue .rich-text table td,
.card--blue .rich-text table th,
.card--blue .card-body table td,
.card--blue .card-body table th,
.card--blue .accordion-body table td,
.card--blue .accordion-body table th,
.card--split__blue .table td,
.card--split__blue .table th,
.card--split__blue .table-faux .table-faux__item,
.card--split__blue .rich-text table td,
.card--split__blue .rich-text table th,
.card--split__blue .card-body table td,
.card--split__blue .card-body table th,
.card--split__blue .accordion-body table td,
.card--split__blue .accordion-body table th {
	border-bottom: var(--border-blue);
}

.table th[scope="row"] {
	font-weight: var(--fw-600);
}

.table th[scope="col"],
.rich-text table th,
.card-body table th,
.accordion-body table th {
	font-weight: var(--fw-600);
}
tbody {
	background: transparent;
}
.table--dk tbody {
	background: var(--grey-lt);
}

/* Equal columns so Name/Code swap doesn't shift layout */
.js-breed-codes-table {
	table-layout: fixed;
	width: 100%;
}

.js-breed-codes-table th,
.js-breed-codes-table td {
	width: 50%;
	word-break: break-word;
}

.table--sm th,
.table--sm td {
	font-size: var(--rem-p875);
	padding: var(--rem-p5);
}

.table--bull-data td,
.table--bull-data tbody th {
	border-color: var(--white);
	line-height: var(--lh-13);
}

.table--bull-data td {
	background: var(--grey-lt);
}

.table--bull-data tbody th {
	background: var(--grey-md);
}

/* Row labels hug content so values sit closer (avoids equal-width column gaps) */
.table--bull-data .table--bull-data__row-header {
	width: 1%;
	white-space: nowrap;
}

.table--bull-data .pta-value {
 	width: var(--rem-2p5);
    display: inline-block;
}

.table--bull-data .pta-value,
.table--bull-data .pta-secondary {
	white-space: nowrap;
}

.table--bull-data .flex-cell {
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
  	align-items: center;
}

.table--bull-data .stat-pair {
  	margin-right: var(--rem-p5);
  	white-space: nowrap;
}

.table--linear-traits td:nth-child(3n) {
    padding: 0;
}

.table--linear-traits .legend-row th,
.table--linear-traits .legend-row td {
	background-color: var(--white);
}

.table img {
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.table-faux .table-faux__item [class^="col-"] {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (min-width: 992px) {
	.table-faux .table-faux__item [class^="col-"]:first-child {
		padding-left: 0;
	}

	.table-faux .table-faux__item [class^="col-"]:last-child {
		padding-right: 0;
	}
}

@media (min-width: 1400px) {
	.table td, .table th,
	.table-faux .table-faux__item,
	.rich-text table td, .rich-text table th,
	.card-body table td, .card-body table th,
	.accordion-body table td, .accordion-body table th {
		padding: var(--rem-p875) var(--rem-1p5);
	}

	.table--sm th,
	.table--sm td {
		font-size: var(--rem-p875);
		padding: var(--rem-p625) var(--rem-p75);
	}
}

/* RTE tables — horizontal scroll below lg (matches .table-responsive-lg) */
@media (max-width: 991.98px) {
	.rich-text table,
	.card-body table,
	.accordion-body table {
		/* display: block; */
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
/* ------------------------------------------------------------------------ Table sort (NAAB Code column) */

.table__sort {
	padding: 0;
}

.table__sort-btn {
	display: flex;
	align-items: center;
	gap: var(--rem-p625);
	width: 100%;
	height: 100%;
	padding: var(--rem-1);
	border: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: var(--fw-700);
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	white-space: nowrap;
}



.table__sort-btn:hover,
.table__sort-btn:focus-visible {
	color: var(--white);
	outline: 2px solid var(--white);
	outline-offset: -2px;
}

.table__sort-icon {
	flex-shrink: 0;
	width: var(--rem-p625);
	height: var(--rem-p75);
	background: url(../images/icon-sort-white.svg) no-repeat center;
	background-size: contain;
	transition: transform .2s ease;
}

.table__sort[aria-sort="ascending"] .table__sort-icon {
	transform: none;
}

.table__sort[aria-sort="descending"] .table__sort-icon {
	transform: rotate(180deg);
}

/* ------------------------------------------------------------------------ Pagination */

.pagination {
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: var(--rem-p5);
}

.page-item {
	background-image: none;
	padding: 0;
	margin: 0 var(--rem-p5) 0 0;
}

.page-link {
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	border-radius: 50% !important;
	background: var(--blue-md) url(../images/icon-arrow-white.svg) no-repeat center;
	background-size: var(--rem-p75);
	transition: var(--standard-transition);
	border: 0;
}

.disabled>.page-link, .page-link.disabled {
    background-color: var(--blue-md);
    border-color: var(--blue-md);
	opacity: .5;
}

#prevPage {
	transform: rotate(180deg);
	margin-right: var(--rem-p25);
	background-position: center;
}

#nextPage {
	margin-left:.25rem;
	background-position: center;
}

.page-link:hover {
	background-color: var(--blue-md);
	box-shadow: 0px 0px 0px 4px var(--blue-md-rgba);
}

#prevPage:hover {
	transform: translateX(-.5rem) rotate(180deg);
}

#nextPage:hover {
	transform: translateX(.5rem);
}

.page-item .form-select {
	padding: var(--rem-p25) var(--rem-2p5) var(--rem-p25) var(--rem-p75);
	height: var(--rem-2p5);
	width: var(--rem-5);
}


/* ------------------------------------------------------------------------ Forms */

.required-input {
	color: var(--error) !important;
	font-size: var(--rem-p875);
	font-weight: var(--fw-700);
}

legend {
	font-size: var(--rem-1);
	float:none;
}

input::placeholder {
	color: var(--grey-dk) !important;
	opacity: 1;
}


.form-control, .form-select {
	border-radius: var(--rem-1);
	border: var(--border-grey);
	padding: var(--rem-p75) var(--rem-1);
	color: var(--black);
	font-size: var(--rem-p875);
	background-color: var(--white);
}

.form-select--pill {
		border-radius: var(--br-pill);
}
.form-control-lg.form-control--file {
	font-size: var(--rem-1);
}

.form-control:disabled,
.form-select:disabled  {
	background-color: var(--white);
}

.form-control:focus, .form-select:focus, .form-check-input:focus {
	color: var(--black);
	border-color: var(--grey-md);
	background-color: var(--white);
	outline: 0;
	box-shadow: 0 0 0 0.125rem rgb(0 0 0 / 25%);
}


.form-check-input {
	border: var(--border-grey);
	background-color: var(--white);
}

.form-check-input[type=checkbox] {
	border-radius: 0;
}

.form-check-input:checked {
	background-color: var(--green-md);
	border-color: var(--green-md);
}

.checkbox-link {
	padding-left: var(--rem-1p5);
}


.form-switch .form-check-input {
	border-radius: 2em;
}

.form-switch .form-check-input:focus {
	background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e);
}

.form-text {
	margin-top: var(--rem-p5);
	font-size: var(--rem-p875);
	color: var(--black);
}

@media (min-width: 0) and (max-width: 1199.98px) {
	input.placeholder-vh-xl::placeholder {
		color: var(--white) !important;
	}
}

@media (min-width: 576px) {
	label {
		font-size: var(--rem-1);
	}
}


@media (min-width: 1400px) {
	label,
	legend,
	.form-control,
	.form-select,
	.form-control-lg.form-control--file,
	.form-check-label {
		font-size: var(--rem-1p125);
	}

	.form-check {
		padding-left: 1.75em;
		margin-bottom: var(--rem-p25);
	}

	.form-check .form-check-input {
		float: left;
		margin-left: -1.75em;
	}

	.form-switch .form-check-input {
		margin-left: -2.5em;
	}

	.form-check-input {
		margin-top: .125em;
		width: var(--rem-1p25);
		height: var(--rem-1p25);
	}

	.form-text {
		margin-top: var(--rem-p5);
		font-size: var(--rem-1);
	}
}


/* ------------------------------------------------------------------------ Dairy Bull Search */

#dairyBullSearchResults,
#beefBullSearchResults {
	--dtfc_background: transparent;
	--bs-table-bg: transparent;
}

#dairyBullSearchResults tbody,
#beefBullSearchResults tbody {
	background: transparent;
}

#dairyBullSearchResults {
	--dtfc_background: var(--grey-lt);
	--bs-table-bg: var(--grey-lt);
	overflow: visible;
	scroll-margin-top: var(--rem-1);
}

@media (min-width: 992px) {
	#dairyBullSearchResults {
		scroll-margin-top: var(--header-height-scroll);
	}
}

#dairyBullSearchResults table.dataTable thead th,
#beefBullSearchResults table.dataTable thead th {
	background-color: var(--blue-md) !important;
	color: var(--white);
}

#dairyBullSearchResults table.dataTable thead th .dairy-bull-sort,
#beefBullSearchResults table.dataTable thead th .dairy-bull-sort,
#marketingCodesTable.dataTable thead th .dt-column-header,
#studCodesTable.dataTable thead th .dt-column-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rem-p25);
	width: 100%;
	white-space: nowrap;
}

#dairyBullSearchResults table.dataTable thead th .dt-column-order,
#beefBullSearchResults table.dataTable thead th .dt-column-order,
#marketingCodesTable.dataTable thead th .dt-column-order,
#studCodesTable.dataTable thead th .dt-column-order {
	display: none;
	flex-shrink: 0;
	width: var(--rem-p625);
	height: var(--rem-p75);
	background: url(../images/icon-sort-white.svg) no-repeat center;
	background-size: contain;
	transition: transform .2s ease;
}

#dairyBullSearchResults table.dataTable thead th.dt-ordering-asc .dt-column-order,
#dairyBullSearchResults table.dataTable thead th.dt-ordering-desc .dt-column-order,
#beefBullSearchResults table.dataTable thead th.dt-ordering-asc .dt-column-order,
#beefBullSearchResults table.dataTable thead th.dt-ordering-desc .dt-column-order,
#marketingCodesTable.dataTable thead th.dt-ordering-asc .dt-column-order,
#marketingCodesTable.dataTable thead th.dt-ordering-desc .dt-column-order,
#studCodesTable.dataTable thead th.dt-ordering-asc .dt-column-order,
#studCodesTable.dataTable thead th.dt-ordering-desc .dt-column-order {
	display: inline-block;
}

#dairyBullSearchResults table.dataTable thead th.dt-orderable-asc:hover .dt-column-order,
#dairyBullSearchResults table.dataTable thead th.dt-orderable-desc:hover .dt-column-order,
#marketingCodesTable.dataTable thead th.dt-orderable-asc:hover .dt-column-order,
#marketingCodesTable.dataTable thead th.dt-orderable-desc:hover .dt-column-order,
#studCodesTable.dataTable thead th.dt-orderable-asc:hover .dt-column-order,
#studCodesTable.dataTable thead th.dt-orderable-desc:hover .dt-column-order {
	display: inline-block;
}

#dairyBullSearchResults table.dataTable thead th.dt-ordering-asc .dt-column-order,
#beefBullSearchResults table.dataTable thead th.dt-ordering-asc .dt-column-order,
#marketingCodesTable.dataTable thead th.dt-ordering-asc .dt-column-order,
#studCodesTable.dataTable thead th.dt-ordering-asc .dt-column-order {
	transform: rotate(180deg);
}

#dairyBullSearchResults table.dataTable thead th.dairy-bull-hover-asc:hover .dt-column-order,
.dtfh-floatingparent table thead th.dairy-bull-hover-asc:hover .dt-column-order {
	transform: rotate(180deg);
}

#dairyBullSearchResults table.dataTable thead th.dairy-bull-hover-desc:hover .dt-column-order,
.dtfh-floatingparent table thead th.dairy-bull-hover-desc:hover .dt-column-order {
	transform: none;
}

#dairyBullSearchResults table.dataTable thead th .dt-column-order:before,
#dairyBullSearchResults table.dataTable thead th .dt-column-order:after,
#beefBullSearchResults table.dataTable thead th .dt-column-order:before,
#beefBullSearchResults table.dataTable thead th .dt-column-order:after,
#marketingCodesTable.dataTable thead th .dt-column-order:before,
#marketingCodesTable.dataTable thead th .dt-column-order:after,
#studCodesTable.dataTable thead th .dt-column-order:before,
#studCodesTable.dataTable thead th .dt-column-order:after {
	content: none !important;
	display: none !important;
}

#dairyBullSearchResults table.dataTable thead tr > .dtfc-fixed-start,
#beefBullSearchResults table.dataTable thead tr > .dtfc-fixed-start {
	background-color: var(--blue-md) !important;
	color: var(--white);
}

#dairyBullSearchResults table.dataTable tbody tr > .dtfc-fixed-start {
	background-color: var(--grey-lt) !important;
}

#dairyBullSearchResults table.dataTable.dtfc-scrolling-left tbody tr > .dtfc-fixed-start {
	background-color: var(--grey-lt) !important;
}

.bull-search-loading {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--rem-2);
	background-color: rgba(29, 29, 29, 0.45);
}

.bull-search-loading[hidden] {
	display: none;
}

.bull-search-loading__message {
	display: flex;
	align-items: center;
	gap: var(--rem-1);
	max-width: 36rem;
	margin: 0;
	padding: var(--rem-2) var(--rem-2p5);
	border-radius: var(--br-card);
	background-color: var(--white);
	color: var(--black);
	font-family: var(--font-family);
	font-size: var(--rem-1p25);
	font-weight: var(--fw-600);
	line-height: var(--lh-13);
	text-align: left;
}

.bull-search-loading__spinner {
	flex: 0 0 auto;
	width: 1.75rem;
	height: 1.75rem;
	border: 3px solid var(--grey-md);
	border-top-color: var(--blue-md);
	border-radius: 50%;
	animation: bull-search-loading-spin 0.8s linear infinite;
}

@keyframes bull-search-loading-spin {
	to {
		transform: rotate(360deg);
	}
}

body.bull-search-loading-open {
	overflow: hidden;
}

.dairy-bull-search__breed {
	max-width: 65rem;
	margin-left: auto;
	margin-right: auto;
}

.form-select--breed {
	height: auto;
	min-height: 5rem;
	padding: var(--rem-1p25) var(--rem-4) var(--rem-1p25) var(--rem-2);
	border: 0;
	border-radius: var(--br-pill);
	background-color: var(--blue-md);
	color: var(--white);
	font-size: var(--rem-1p125);
	font-weight: var(--fw-600);
	line-height: var(--lh-13);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-position: right var(--rem-2) center;
	background-size: 1rem .75rem;
	cursor: pointer;
}

.form-select--breed:focus {
	color: var(--white);
	background-color: var(--blue-md);
	border-color: transparent;
	box-shadow: 0 0 0 0.125rem var(--blue-md-rgba);
}

.form-select--breed option {
	color: var(--black);
	background-color: var(--white);
	font-weight: var(--fw-400);
}

/* .dairy-bull-search__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	background-color: var(--grey-lt);
	border: 0;
	min-width: 0;
	padding: 0;
} */

/* Collapse Regular-only blocks fully when Associate is selected (no leftover card space) */
.js-regular-only.d-none,
.js-regular-only[hidden] {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

/* When Certificate uploader is hidden, drop the large margin under References */
#referencesCard:has(+ #certificateGoodStanding.d-none),
#referencesCard:has(+ #certificateGoodStanding[hidden]) {
	margin-bottom: 0 !important;
}

/* .dairy-bull-search__card > legend {
	float: none;
	width: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
} */

.dairy-bull-search__card:disabled,
.dairy-bull-search__card[aria-disabled="true"] {
	opacity: .65;
	pointer-events: none;
}

.dairy-bull-search__card .card-body {
	padding-bottom: var(--rem-3);
}

.form-control--tall {
	min-height: 6rem;
	padding-top: var(--rem-p75);
	padding-bottom: var(--rem-p75);
	resize: vertical;
}

.stripe-payment-element {
	padding: var(--rem-p75) var(--rem-1);
	background-color: #fff;
	border: 1px solid var(--grey-md, #ced4da);
	border-radius: 0.375rem;
	min-height: 3rem;
}

.stripe-card-fallback[hidden],
.stripe-payment-element[hidden] {
	display: none !important;
}

.dairy-bull-search__filters .form-check {
	padding-left: 1.75em;
	margin-bottom: 0;
}

.dairy-bull-search__filters .form-check-input {
	margin-left: -1.75em;
}

@media (min-width: 1400px) {
	.form-select--breed {
		min-height: 5rem;
		padding-left: var(--rem-2);
		padding-right: var(--rem-4);
	}

	.form-control--tall {
		min-height: 6rem;
	}
}

@media (min-width: 1680px) {
	.dairy-bull-search__card .card-body {
		padding-bottom: var(--rem-4);
	}
}


/* ------------------------------------------------------------------------ Bootstrap tooltips (readable light style) */

.tooltip .tooltip-inner {
	background-color: var(--white);
	color: var(--black);
	border: 1px solid var(--grey-md);
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
	border-right-color: var(--white);
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before {
	border-left-color: var(--white);
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
	border-top-color: var(--white);
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before {
	border-bottom-color: var(--white);
}


/* ------------------------------------------------------------------------ Swiper */

.swiper-button-next,
.swiper-button-prev {
	width: var(--rem-2p5);
	height: var(--rem-2p5);
	border-radius: var(--br-50);
	margin: var(--rem-1) 0;
	flex-shrink: 0;
	background-color: var(--blue-md);
	color: var(--white);
	padding: var(--rem-p75);
	transition: var(--standard-transition);
}

.swiper-button-next:hover,
.swiper-button-next:active,
.swiper-button-next:focus,
.swiper-button-prev:hover,
.swiper-button-prev:active,
.swiper-button-prev:focus {
	background-color: var(--blue-md);
	box-shadow: 0px 0px 0px 4px var(--blue-md-rgba);
}

.swiper-button-next:hover {
	transform: translateX(.5rem);
}

.swiper-button-prev:hover {
	transform: translateX(-.5rem);
}

.swiper-horizontal {
	&.swiper-rtl .swiper-button-prev, &.swiper-rtl~.swiper-button-prev, &~.swiper-button-next, .swiper-button-next {
		left: auto;
		right: var(--rem-1);
	}
}

.swiper-horizontal {
	&.swiper-rtl .swiper-button-next, &.swiper-rtl~.swiper-button-next, &~.swiper-button-prev, .swiper-button-prev {
		left: var(--rem-1);
		right: auto;
	}
}


@media (min-width: 1400px) {
	.swiper-button-next,
	.swiper-button-prev {
		width: var(--rem-3);
		height: var(--rem-3);
	}
}


/* ------------------------------------------------------------------------ Member Filter + Map */

.member-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rem-1) var(--rem-2);
	width: 100%;
	padding: var(--rem-1) var(--rem-1p5);
	background-color: var(--blue-md);
	color: var(--white);
	border-radius: var(--br-card);
}

.member-filter__fields {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rem-1) var(--rem-2);
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.member-filter__field {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rem-p75);
	flex: 1 1 100%;
	min-width: 0;
}

.member-filter__label {
	margin: 0;
	font-weight: var(--fw-600);
	color: var(--white);
	white-space: nowrap;
}


.member-filter__fields > .btn {
	margin-left: auto;
	flex-shrink: 0;
}

.member-legend {
	margin-top: var(--rem-1);
}

.member-legend__items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--rem-1) var(--rem-2);
}

.member-legend__item {
	display: inline-flex;
	align-items: center;
	gap: var(--rem-p5);
	font-size: var(--rem-p875);
	font-weight: var(--fw-600);
}

.map-pin {
	display: inline-block;
	width: var(--rem-1p25);
	height: var(--rem-1p625);
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.map-pin--member {
	background-image: url(../images/icon-pin-blue-dk.svg);
}

.map-pin--associate {
	background-image: url(../images/icon-pin-blue-md.svg);
}

.map-pin--facility {
	background-image: url(../images/icon-pin-blue-lt.svg);
}

.member-map__list {
	max-height: 28rem;
	overflow-y: auto;
}

.member-map__region {
	margin-bottom: var(--rem-1);
	padding: 0 var(--rem-1);
}

.member-map__accordion {
	margin-bottom: 0;
}

.member-map__accordion .accordion-item:first-of-type {
	border-top: 0;
}



.member-map__map {
	min-height: 28rem;
	width: 100%;
	overflow: hidden;
}

/* Google Maps marker/control images must keep their natural size.
   Do not stretch imgs inside the map (legacy static-map rule). */
.member-map__map .gm-style img {
	max-width: none !important;
	max-height: none !important;
	width: auto !important;
	height: auto !important;
	object-fit: unset !important;
}

@media (min-width: 576px) {
	.member-filter__field {
		flex: 1 1 auto;
	}

}

@media (min-width: 992px) {
	.member-filter {
		padding: var(--rem-1) var(--rem-2);
	}

	.member-filter__field {
		flex-wrap: nowrap;
		flex: 0 0 auto;
	}

	.member-map__list {
		max-height: 64.375rem;
	}

	.member-map__map {
		min-height: 64.375rem;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.member-filter__fields {
		row-gap: var(--rem-p75);
		column-gap: var(--rem-1p5);
	}

}

@media (min-width: 1200px) {
	.member-filter__fields {
		flex-wrap: nowrap;
	}
	.member-filter__fields > .btn {
		flex: 0 0 auto;
		margin-left: auto;
	}
}

/* ------------------------------------------------------------------------ Stud Marketing Code Search Results */

#studMarketingCodeSearchResults .status-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 29px;
}

#studMarketingCodeSearchResults .status-label__text {
	font-size: 18px;
	font-weight: 600;
	line-height: 29px;
	margin: 0;
	padding: 0;
}

#studMarketingCodeSearchResults .status-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	margin: 0;
	padding: 0;
}

/* Override global img { height: auto !important } and main img { margin-bottom } */
#studMarketingCodeSearchResults .status-icon img,
#studMarketingCodeSearchResults .table.table--sm img {
	display: block;
	width: 18px !important;
	height: 18px !important;
	max-width: none;
	margin: 0 !important;
}

#studMarketingCodeSearchResults .accordion-button__heading--inactive {
	flex: 1 1 auto;
	min-width: 0;
}

/* #studMarketingCodeSearchResults .accordion-button.intro-text .accordion-button__heading--inactive .status-label__text {
	font-size: 18px;
	line-height: 29px;
}

#studMarketingCodeSearchResults .accordion-item,
#studMarketingCodeSearchResults .accordion-item:not(:first-of-type),
#studMarketingCodeSearchResults .accordion-item:last-child {
	border: 0;
}

#studMarketingCodeSearchResults .accordion-button {
	align-items: center;
	border-top: var(--border-grey);
	border-bottom: var(--border-grey);
	padding: var(--rem-1) var(--rem-1p5);
}

#studMarketingCodeSearchResults .accordion-item + .accordion-item .accordion-button {
	margin-top: -2px;
}

#studMarketingCodeSearchResults .accordion-button:not(.collapsed) {
	margin-bottom: -2px;
	border-bottom: 0;
}

#studMarketingCodeSearchResults .accordion-body {
	background-color: transparent;
	border-top: var(--border-grey);
	border-bottom: var(--border-grey);
	padding: var(--rem-2p5) var(--rem-3);
} */

/* ------------------------------------------------------------------------ Cross Reference Calendar */

#crossReferenceCalendar .form-select {
	width: 100%;
}

#crossReferenceCalendar .accordion-button__info {
	white-space: nowrap;
}

/* =============================================================================================
FOOTER
============================================================================================= */

.print-footer {
	display:none;
}

.footer {
	margin-top: auto!important;
	padding: var(--section-p-sm) 0;
}

.rkd {
	display: inline-block;
	width: 5.625rem;
	margin: 0;
}

.footer__link {
	margin-right: var(--rem-1);
	text-transform: uppercase;
	text-decoration: none;
}

.footer__link:hover {
	text-decoration: underline;
}

.social__icon {
	display: inline-block;
	width: var(--rem-3);
	height: var(--rem-3);
	padding: var(--rem-p625);
	margin: 0 0 0 var(--rem-p5);
	background-color: var(--green-lt);
	border-radius: var(--br-50);
	transition: var(--standard-transition);
}

.social__icon:hover {
	transform: translateY(-.5em);
}

.copyright-wrapper {
	border-top: var(--border-green-lt);
}
/* Table status icons (check / X) � Status Codes on Bulls etc. */
.table td.td--icon,
.rich-text table td.td--icon,
.card-body table td.td--icon {
	text-align: center;
	vertical-align: middle;
}

.table td.td--icon img,
.rich-text table td.td--icon img,
.card-body table td.td--icon img,
.table-icon {
	display: inline-block;
	width: 18px;
	height: 18px;
	vertical-align: middle;
}
