/* =============================================================================================
	BASE STYLES AND LAYOUT
============================================================================================= */

/* ------------------------------------------------------------------------ CSS Variables */

:root {
	
	/*Primary Colours*/
	--white: #fff;
	--black: #333;
	--error: #ba2b3d;

	--red: #ba2b3d;
	--red-dk: #912130;
    
	--blue: #2b527a;
	--blue-dk: #123d5c;

	/*Secondary Colours*/
	--cream: #f7f0e2;
	--cream-dk: #e5ded1;
	--ice-blue: #d4dee3;
	/*--ice-blue-dk: #b0bfc7;*/
	--ice-blue-dk: #B4C4CA;
	--ice-blue-lt: #e0e7eb;

	--grey-blue: #8f9ead;
	--grey-blue-dk: #758a9c;

	/*Tertiary Colours*/
	--green: #488277;
	--green-dk: #30685d;

	--purple: #6c5e75;
	--purple-dk: #564360;

	--gold: #c4b257;
	--gold-dk: #a09032;

	--orange: #d38940;
	--orange-dk: #bc6d26;

	--tertiary-blue: #3977a7;
	--tertiary-blue-dk: #23608a;


	--section-p: 4rem;
	--section-p-sm: 3rem;

	--font-stack-sans: 'Roboto', Arial, Helvetica, sans-serif;
	--font-stack-slab: 'Roboto Slab', Arial, Helvetica, sans-serif;

	--swiper-theme-color:#2b527a;
	--swiper-navigation-size: 1.5rem;
}

@media (min-width: 768px) {
	:root {
		--container-side: calc((100vw - 710px) / 2);
	}
}

@media (min-width: 992px) {
	:root {
		--container-side: calc((100vw - 950px) / 2);
		--header-height:  218px;
		--header-height-scroll:  171px;
		--header-height-sbcv: 239px;
		--header-height-scroll-sbcv:  187px;
	}
}

@media (min-width: 1200px) {
	:root {
		--container-side: calc((100vw - 1130px) / 2);
	}
}

@media (min-width: 1400px) {
	:root {
		--container-side: calc((100vw - 1310px) / 2);
		--header-height: 209px;
		--header-height-scroll:  162px;
		--header-height-sbcv: 230px;
		--header-height-scroll-sbcv:  178px;
		--header-height-fr: 234px;
		--header-height-scroll-fr:  187px;
		
		--section-p: 7rem;
		--section-p-sm: 5rem;
	}	
}

@media (min-width: 1680px) {
	:root {
		--container-side: calc((100vw - 1590px) / 2);
	}
}


/* ------------------------------------------------------------------------ Page Styles & Resets */

body {
	font: 400 100%/1.6 var(--font-stack-sans); 
	color: var(--black);
	background-color: var(--white);
	padding-top: var(--header-height);
} 

body.sbcv {
	padding-top: var(--header-height-sbcv);
} 

@media all and (max-width: 1679px) and (min-width: 1400px) {	
	body.fr-site {
    	padding-top: var(--header-height-fr);
    }
}



/* ------------------------------------------------------------------------ Keyboard Accessibility */

.skip-link { 
	position:absolute; 
	left:-10000px; 
	top:0; 
	width:1px; 
	height:1px; 
	overflow:hidden;
	background-color: var(--blue);
	color: var(--white);
	font-size: 0.875rem;
	text-decoration:none;
	z-index: 1050;
	padding:0.5rem 0.625rem; 
} 

.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(--blue-dk);
}

a:focus, .btn:focus {
	outline: solid thin rgba(0, 0, 0, 0.5);
	box-shadow: none;
} 

.sidenav__header-link:focus, .card__header-link:focus {
	outline: solid thin rgba(255, 255, 255, 0.5);
}

a:hover, a:active { outline: none !important; } /*...not with mouse (kinda) */


/* ------------------------------------------------------------------------ Headers */

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5  { 		
	margin-bottom: 1rem;
	font-family: var(--font-stack-slab);
	font-weight: 700;
}	

h1, .h1 {	
	font-size: 2rem;
	line-height: 1.2;	
	color: var(--blue);
}
	
h2, .h2 {
	font-size: 1.5rem;
	line-height: 1.2; 
}

.h2--sans {
	font-family: var(--font-stack-sans);	
}


.h2--icon img {
    height: 2rem !important;
    width: auto !important;
    margin-right: .875rem;
    vertical-align: -10%;
}

.heading__link {
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	padding: .313rem 0 .125rem 1.5rem;
	margin: 0 0 0 .5rem;
	background: url(../../images/heading-link-arrow-black.svg) no-repeat top left;
	background-size: 0.75rem;
	color: inherit;
}

.heading__link:hover {
	margin-left:1.25rem;
	text-decoration: underline;
	color: inherit;
}
		
h3, .h3 { 
	font-size: 1.375rem; 
	line-height: 1.4;
}	

.h3--sans {
	font-family: var(--font-stack-sans);	
}

h4, .h4,
h5, .h5 {
    font-family: var(--font-stack-sans);
    font-size: 1.125rem;
    line-height: 1.5;
}

h2, .h2 { 
	margin-top: 2rem;
}

h3, .h3 { 
	margin-top: 1.5rem;
}

h4, .h4,
h5, .h5  { 
	margin-top: 1.375rem;
}

hr + h2, 
hr + h3, 
section h2:first-child,
section h3:first-child,
.accordion-body h2:first-child,
.accordion-body h3:first-child,
.accordion-body h4:first-child {
	margin-top: 0;
}

h2 + h3,
h3 + h4 {
	margin-top: 1.5rem;
}

h3 + h4 {
	margin-top: .5rem;
}
	

@media (min-width: 1400px) {	
	h1, .h1 {
		font-size: 2.5rem;
	}

	h2, .h2 {
		font-size: 2rem;
	}
	
	.h2--lg { 
		font-size: 2.375rem; 
	}

	h3, .h3 { 
		font-size: 1.5rem; 
	}
	
	.h3--sm { 
		font-size: 1.375rem; 
	}
	
	.cta--side-angle .h3--sm { 
		font-size: 1.25rem; 
	}
	
	h4, .h4 {
        font-family: var(--font-stack-sans);
        font-size: 1.25rem;
    }
}	

@media (min-width: 1680px) {	
	h1, .h1 {
		font-size: 2.75rem;
	}
	
	.cta--side-angle .h3--sm { 
		font-size: 1.375rem; 
	}
}



/* ------------------------------------------------------------------------ Lists */

ul, .list { 
	list-style: none; 
	list-style-position: outside;
	padding-left: 0;
}

ul li, .list__item {	
    padding: 0 0 0.25rem 1.125em;
	background: url(../../images/arrow-grey.svg) no-repeat left 0.375em;
	background-size: 0.75em 0.75em;
}

ul ul, .list__sub-list {
	margin-top: 0.25rem;
}


ul ol {
	padding-left: 1.375rem;
	margin-top: 0.25rem;
}

ul ol li {
	background-image: none;
	padding-left: 0;
}

ol li {padding-bottom: 0.25rem;}

ol ol {
	padding-left: 2.25rem;
	margin-top: 0.25rem;
	margin-bottom:.25rem;
}

ol ul {
    margin-top: 0.25rem;
 	margin-bottom:.25rem;   
}
		
li:last-child { 
	padding-bottom:0;
}
		
					
/* ------------------------------------------------------------------------ Other Base Text Styles */

.color-inherit {
	color: inherit;
}	

.text-black {
	color: var(--black) !important;
}

.text-blue {
	color: var(--blue) !important;
}

.text-red {
	color: var(--red) !important;
}

.text-sans {
	font-family: var(--font-stack-sans);
}

.text-slab {
	font-family: var(--font-stack-slab);
}


.intro-text,
.intro-text li {
	font-size: 1.25rem;
}

.note,
ul.note li {
	font-size: .875rem;
}


sup, sub {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup { 
	top: -0.5em; 
}

sub { 
	bottom: -0.25em; 
}


@media (min-width: 1400px) {	
	p,
	li,
	label,
	table,
	.btn {
		font-size: 1.125rem;
	}

	.intro-text,
    .intro-text li {
		font-size:1.375rem;
	}
	
	.note,
    ul.note li {
    	font-size: 1rem;
    }
}

	
/* ------------------------------------------------------------------------ Links */

a { 
	color: var(--red); 
	font-weight: 700;
	transition: all .25s ease;
	text-decoration: underline;
}	

a:hover {
	color: var(--red-dk);
	text-decoration: none;
}

.a--no-underline {
	text-decoration: none;
}

.a--no-underline:hover {
	text-decoration: underline;
}

.a--black {
    color: (--black);
}

.a--black:hover {
    color: (--black);
}

main a { 
	word-wrap: break-word; 
}

a img {
	border: none;
	-webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
	transition: opacity .25s ease;
}				

a img:hover { 
	opacity: .9;
}	


@media (min-width: 992px) {	
	/*Change value to header height*/
	.a--anchor {
	    border-top: calc(var(--header-height) + 2rem) solid transparent;
	    margin-top: calc(var(--header-height) * -1 + 2rem)!important;
	    -webkit-background-clip: padding-box;
	    -moz-background-clip: padding;
	    background-clip: padding-box;
	    position:relative;
	    z-index: -1;
	}
	
	.sbcv .a--anchor {
	    border-top: calc(var(--header-height-sbcv) + 2rem) solid transparent;
	    margin-top: calc(var(--header-height-sbcv) * -1 + 2rem)!important;
	}
}	


/* ------------------------------------------------------------------------ Button Styles */

.btn {
	margin: 1rem 0;
	padding: .625rem 1.5rem;
	border-radius:0;
	text-transform: uppercase;
	cursor: pointer;
	line-height: 1.4;
}

.card--border .btn--sm {
	margin:0;
}

.btn-primary {
	background-color: var(--red);
	border-color: var(--red);
}

.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 { 
	background-color: var(--red-dk);
	border-color: var(--red-dk);
	box-shadow: none;
}

.btn-secondary {
	background-color: var(--blue);
	border-color: var(--blue);
}

.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 { 
	background-color: var(--blue-dk);
	border-color: var(--blue-dk);
	box-shadow: none;
}

.btn--arrow {
	font-weight: bold;
    padding: 0 0 0 1.625rem;
    margin: 0;
    text-decoration:none;
    position:relative;
}

.btn--arrow:before {
	content: "";
	position:absolute;
	width:1.125rem;
	height:1.125rem;
	top:0;
	left: 0;
	background: url(../../images/cta-side-angle-arrow.svg) no-repeat left center;
    background-size: 1.125rem;
    transform: rotate(0deg);
    transition: all .25s ease;
}

.btn--arrow[aria-expanded="true"]:before {
   transform: rotate(90deg); 
}

.abstract {
    margin:0 0 1rem 1.625rem;
}

@media (min-width: 1200px) {
    .btn--search-listings {
        height: 2.875rem;
        font-size: 1rem;
    }
}


@media (min-width: 1400px) {	
	.btn {
		padding: .75rem 2rem;
	}
	
	.btn--sm {
		padding: .5rem 1rem;
		font-size: 1rem;
	}
	
	.btn--arrow {
        padding: 0 0 0 2rem;
    }
    
    .btn--arrow:before {
    	width:1.25rem;
    	height:1.25rem;
        background-size: 1.25rem;
    }
    
    .abstract {
        margin:0 0 1rem 2rem;
    }
}


/* ------------------------------------------------------------------------ Images */
	
img {
	max-width: 100%;
	height: auto!important; 
}

.img--float-left, .img--float-right { 
	margin: .5rem 0 1rem 0;	
}

.img--float-right--doc,
.img--float-left--doc {
    width: 75%;
    margin: .5rem auto 1rem auto;
}

.img--float-right--doc img {
    border:1px solid rgba(0,0,0,.25);
}

.intro-logo {
	width: 5rem;
	display: block;
	margin: 0 auto 1rem auto;
}

.intro-logo-sbcv {
	width: 11.875rem;
}

.img--border {
    border: 1px solid var(--ice-blue);
}

.img--border--black {
    border: 1px solid rgba(0,0,0,.25);
}

@media (min-width: 768px) {	
	.img--float-left {
		float: left;
		margin: .5rem 2rem 1rem 0;
		max-width:33%;
	}
		
	.img--float-right {
		float: right;
		margin: .5rem 0 1rem 2rem;
		max-width:33%;
	}
	
	.img--float-right--doc,
    .img--float-left--doc {
        width: 50%;
    }
}	

@media (min-width: 992px) {	
	.img--float-right--doc {
        float: right;
		margin: .5rem 0 1rem 2rem;
		max-width: 41.6666666667%;
    }
    
    .img--float-right--doc--col {
        float: none;
		margin: .5rem 0 1rem 2rem;
		max-width: 100%;
		width: 100%;
    }
    
    .img--float-right--doc--priority-areas {
        margin-top: -2.5rem;
    }
    
    .img--float-left--doc {
        float: right;
		margin: .5rem 2rem .375rem 0;
		max-width: 41.6666666667%;
    }
    
    .img--float-left--doc--col {
        float: none;
		margin: .5rem 2rem .375rem 0;
		max-width: 100%;
		width: 100%;
    }
}
	
/* ------------------------------------------------------------------------ SVG's */

svg {
	width: 100%;
	height: auto;
}

svg.member-benefits-infographic  {
	width: 100%;
	height: auto;
	margin-bottom:3rem;
}

svg.member-benefits-infographic > .item  {
    transition: all .25s ease;
}

svg.member-benefits-infographic .item.not-active    {
	filter: grayscale(100%);
	opacity: .5;
}



/* ------------------------------------------------------------------------ Horizontal Rules */

hr, .hr { 
	margin: 1.5rem auto;
	background-color: var(--ice-blue);
	opacity: 1;
}	

@media (min-width: 1400px) {
	hr, .hr {
		margin: 3rem auto;
	}
	
	.hr--sm {
		margin: 2rem auto;
	}
}	


/* ------------------------------------------------------------------------ Additional Utility Classes/Bootstrap Overrides */

.p-section {
	padding: var(--section-p) 0 !important;
}

.pt-section {
	padding-top: var(--section-p) !important;
}

.pb-section {
	padding-bottom: var(--section-p) !important;
}

.p-section-sm {
	padding-top: var(--section-p-sm) 0 !important;
}

.pt-section-sm {
	padding-top: var(--section-p-sm) !important;
}

.pb-section-sm {
	padding-bottom: var(--section-p-sm) !important;
}

.ps-section-sm {
	padding-left: var(--section-p-sm) !important;
}

.pe-section-sm {
	padding-right: var(--section-p-sm) !important;
}

.mt-section {
	margin-top: var(--section-p) !important;
}

.mb-section {
	margin-bottom: var(--section-p) !important;
}

.mt-section-sm {
	margin-top: var(--section-p-sm) !important;
}

.mb-section-sm {
	margin-bottom: var(--section-p-sm) !important;
}

.ms-section-sm {
	margin-left: var(--section-p-sm) !important;
}

.me-section-sm {
	margin-right: var(--section-p-sm) !important;
}

.sticky-top {
    top: calc(var(--header-height-scroll) + var(--section-p-sm));
}

.sbcv .sticky-top {
    top: calc(var(--header-height-scroll-sbcv) + var(--section-p-sm));
}


.modal-content {
    border-radius: 0;
}

.modal-header {
    padding: 1rem 2rem;
}

.modal-body {
    padding: 2rem;
}


.figure-link {
    transition: all .25s ease;
    display:block;
    color: var(--black);
    text-decoration:none;
}

.figure-link:hover {
    transform: translateY(-.5rem);
}


.figure-img {
    margin-bottom: 0;
}

.journalPastIssuesPage .figure-img {
    border: 1px solid rgba(0,0,0,.1);
}

.figure-caption {
    background-color: var(--ice-blue);
    padding:.5rem 1rem;
    text-align:center;
    font-size: 1rem;
    color: var(--black);
}

.border {
    border: 1px solid var(--ice-blue) !important;
}

.border--lt {
    border: 1px solid rgba(0,0,0,.1);
}


.collapse--features {
	max-height: none;
}

.collapse--features:not(.show) {
   	display: block;
	height: 4.5rem;
    overflow: hidden;
}

.a--collapse:after {
	content: "...More";
	position: relative;
	display: block;
	text-align: right;
    margin-top: -1.25rem;
    background: linear-gradient(270deg, rgba(180,196,202,1) 0%, rgba(180,196,202,0) 100%);
    width:100%;
    height: 1.75rem;
    z-index: 2;   
}

.a--collapse:not(.collapsed):after {
	content: "...Less";
	margin-top: 0;
}

@media all and (max-width: 1679px) and (min-width: 1400px) {	
	body.fr-site .sticky-top {
        top: calc(var(--header-height-scroll-fr) + var(--section-p-sm));
    }
}

@media (min-width: 576px) {	
    .w-sm-50 {
        width: 50%!important; 
    }
    
    .w-sm-75 {
        width: 75%!important; 
    }
}

@media (min-width: 768px) {	
    .w-md-33 {
        width: 33%!important; 
    }
    
    .w-md-50 {
        width: 50%!important; 
    }
    
    .w-md-auto {
        width: auto!important; 
    }
}

@media (min-width: 992px) {	
    .w-lg-auto {
        width: auto!important; 
    }
}

@media (min-width: 1200px) {	
    .w-xl-33 {
        width: 33%!important; 
    }
    
    .w-xl-75 {
        width: 75%!important; 
    }
    
    .h-xl-100 {
        height:100% !important;
    }
}

@media (min-width: 1400px) {	
    .h-xxl-100 {
        height:100% !important;
    }
}

@media (min-width: 1680px) {
    .col-xxxl-4 {
        flex: 0 0 auto;
        width: 33.3333333333%;
    }
    
    .col-xxxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    
    .col-xxxl-8 {
        flex: 0 0 auto;
        width: 66.6666666667%;
    }
    
    .mb-xxxl-4 {
        margin-bottom: 1.5rem!important;
    }
    
    .journalPage article.col-lg-8 {
        width: 70%;
    }
    
    .d-xxxl-none {
        display: none;
    }
}


/* =============================================================================================
	HEADER
============================================================================================= */

.print-header { display:none; }
	
.logo { 
	flex: 1;
	display: block;
}

.logo__img {
	max-width: 14.75rem; 
	width: 100%;
	transition: all .25s ease;
}

.sbcv .logo__img {
	max-width: 10.75rem; 
}

.header--scroll .logo__img {
	max-width: 11rem; 
}

.sbcv .header--scroll .logo__img {
	max-width: 8rem; 
}

.header { 
	z-index: 1040;
}

.header__fixed-top {
	position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.header__top {
	padding: 1.125rem 0 1.5rem;
	transition: all .25s ease;
}

.header--scroll .header__top {
	padding: .75rem 0 1rem;
}

.header__top-links__link {
	margin-right: 1rem;
	color: var(--black) !important;
	font-weight: normal;
	/*font-size: 0.75rem;*/
}

.header__welcome {
    background-color: var(--ice-blue-dk);
    padding: .375rem;
    text-align: center;
}

.header__welcome p {
    font-weight:bold;
    font-size: 1rem !important;
}


@media (min-width: 768px) {			
	.logo__error-page {
		margin:1.5rem auto 2.5rem auto;
		float: none;
	}
}

@media (min-width: 1400px) {
	.header__top-links__link {
		margin-right: 1.5rem;
	}
}

/* ------------------------------------------------------------------------ Seach Area */

.search-trigger {
	cursor: pointer;
	padding: 0;
	background-color: var(--red);
	border-radius: 50%;
	transition: all .25s ease;
	width: 2.5rem;
	height: 2.5rem;
}

.search-trigger__icon {	
  	width: 2.5rem;
	height: 2.5rem;
	background: url(../../images/search-icon-reverse.svg) no-repeat center;
  	background-size: 1.25rem;
}

.search-trigger:hover {
	background-color: var(--blue);
}

@media (min-width: 1400px) {	
	
	.search-trigger {
		width: 3rem;
		height: 3rem;
	}

	.search-trigger__icon {
		
		width: 3rem;
		height: 3rem;
		background-size: 1.5rem;
	}

	
}


/* ------------------------------------------------------------------------ Search Full Screen */

.modal--search .modal-content {
	background-color: var(--white);
}

.modal--search .modal-header {
	border-bottom: 0;
}

.modal--search .container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	text-align:center;
}

.modal--search input[type="search"] {	
	color: var(--black);
    background-color: var(--white);
    border-color: var(--ice-blue);
    font-weight: 500;
	font-size: 1.5rem;	
	padding-left: 2rem;
	padding-right: 2rem;
	text-align: center;
}

.modal--search .form-check-label {
    font-size: 1.25rem;
}

.modal--search .form-check-input {
    margin-top: .5rem;
}

.modal--search .btn {
	text-align: center;
	margin-top: 2rem;
}


@media (min-width: 992px) {	
	.modal--search .container {
		width: 75%;
	}

	.modal--search  .logo__img {
		max-width: 20rem;
	}
}

@media (min-width: 1200px) {	
	.modal--search .container {
		width: 60%;
	}
}

@media (min-width: 1400px) {	
	.modal--search .container {
		width: 50%;
	}
	
	.modal--search .form-check-label {
        font-size: 1.375rem;
    }
    
    .modal--search .form-check-input {
        margin-top: .625rem;
    }
}

@media (min-width: 1680px) {	
	.modal--search .container {
		width: 50%;
	}
}


/* ------------------------------------------------------------------------ Slide Popup */

.slide-out a {
    color: var(--red);
}

.close-slide {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.5em;
    background-image: url(../../images/close-light.svg);
    background-position: center;
    background-size: 20px;
    background-repeat: no-repeat;
    border: 0;
    border-radius: 0;
    opacity: 01;
    background-color: var(--blue);
    position: absolute;
    right: 0;
    top: 0;
}

.slide-out {
    background-color: var(--cream);
    color: var(--black);
    font-size: 1em;
    position: fixed;
    width: 550px;
    right: -550px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 5000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    bottom: 20px;
}

.close-slide:hover {
    background-color: var(--red);
}

.slide-out-content {
  display: flex;
  flex-direction: column;
  padding: 10px;
}

/* ------------------------------------------------------------------------ Navbar Nav */

.nav-wrapper {
	padding: 1rem 0;
}

.navbar-nav {
	align-items: normal;
}

.navbar-nav li {
	padding: 0;
	background-image: none;
}

.navbar-nav .nav-link {
	color: var(--blue);
	padding: .375rem 1.5rem .375rem 0;
	position: relative;
	font-size: 1.125rem;
	line-height: 1.4;
}

.navbar-nav .nav-item.active .nav-link {
    color: var(--black);
}

.navbar-nav .nav-link:hover, 
.navbar-nav .nav-item.active .nav-link:hover,
.navbar-nav .nav-item--neb .nav-link:hover,
.navbar-nav .nav-item--sbcv .nav-link:hover {
    text-decoration:underline;
}

.navbar-nav .nav-item--sbcv .nav-link {
	background-color: var(--ice-blue);
	color: var(--blue) !important;
	padding: .5rem 1.5rem .5rem .75rem;
	margin-top: .5rem;
}

.navbar-nav .nav-item--neb .nav-link {
	background-color: var(--ice-blue-dk);
	color: var(--blue) !important;
	padding: .5rem 1.5rem .5rem .75rem;
}

.navbar-nav .nav-item--sbcv .dropdown-menu,
.navbar-nav .nav-item--neb .dropdown-menu {
   margin-top: .75rem; 
}

.icon-arrow {
	padding: 0 .5rem;
}

.navbar-nav .dropdown-menu {	
	background-color: var(--white);
	margin:0 0 .5rem 0;
	padding:0;
	box-shadow: none;
	border: 0;
	border-radius: 0;
}

.navbar-nav .dropdown-menu li > .dropdown-item.active,
.navbar-nav .dropdown-menu li > .dropdown-title.active {
	color: var(--blue);
	font-weight: 700;
}

.dropdown-item.active, .dropdown-item:active,
.dropdown-title.active, .dropdown-title:active{
	color: var(--blue) !important;
	background-color: transparent;
}

.dropdown-item.active {
	font-weight: 700;
}

.navbar-nav .dropdown-menu li:hover > .dropdown-item.active, .navbar-nav .dropdown-item:hover {
	background-color: transparent;
	text-decoration: underline;
}


.navbar-nav .dropdown-title {
	font-size: 1.063rem;
	line-height: 1.4;
	font-weight: bold;
	color: inherit;
	padding: .125rem 0;
}

.navbar-nav .dropdown-item {
	padding: .125rem 1.5rem;
	line-height: 1.4;
	white-space: normal; 
}

.navbar-nav .dropdown-item--sub {
	padding: 0 1.5rem .375rem  1rem;
	margin-top: 0;
}

.navbar-nav .megamenu .dropdown-item {
	padding-left: 0;
	padding-right: 0;
}

.navbar-nav .dropdown-item:focus {
	background-color: var(--white);
	color: inherit;
}

.navbar-nav .dropdown-menu .dropdown-menu {
	background-color: var(--white);
	padding-left: 1rem;
}

.icon-arrow:after {
    content: "+";
    margin-left: .5rem;
    margin-top: -.25rem;
    opacity: 1;
    font-size: 1rem;
}

.g-2b {
    --bs-gutter-y: 0.75rem;
}

.dropdown-toggle {
    white-space: normal; 
}

.dropdown-toggle::after{
    display:none;
}

.dropdown-toggle .icon-arrow {
    position: absolute;
    right: 0;
    top: .5rem;
}


@media (min-width: 992px) {	
	.neb .nav-wrapper {
	    border-bottom: 1px solid var(--ice-blue);
	}
	
	.nav-item.hover .animate.fade-down {
		top: 100%; 
	}

	.nav-wrapper {
		background-color: var(--blue);
		padding: 0;
		position: relative;
	}
	
	.nav-wrapper .container {
		z-index: 1;
	}

	.nav-wrapper:after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: calc(var(--container-side) + .5rem);
		height: 100%;
		background-color: var(--ice-blue);
	}

    .navbar-nav .nav-item:first-child,
	.navbar-nav .nav-item:nth-child(4),
	.navbar-nav .nav-item:nth-child(5) {
		width: 11.25%;
	}

	.navbar-nav .nav-item:nth-child(2),
	.navbar-nav .nav-item:last-child {
		width: 14%;
	}
	
	.navbar-nav .nav-item:nth-child(3) {
		width: 11%;
	}
	
	.navbar-nav .nav-item:nth-child(6) {
		width: 8.75%;
	}

	.navbar-nav .nav-item:nth-child(7) {
		width: 18.5%;
	}

	/*FR site nav widths*/
	.fr-site .navbar-nav .nav-item:first-child {
		width: 9%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(2) {
		width: 10.25%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(3),
	.fr-site .navbar-nav .nav-item:nth-child(4) {
		width: 12.25%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(5) {
	    width:15%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(6) {
		width: 10.25%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(7) {
		width: 18%;
	}
	
	.fr-site .navbar-nav .nav-item:last-child {
	    width:13%;
	}
	

	.navbar-nav .nav-link {
		padding: .875rem .75rem!important;
		margin: 0;
		border-bottom: 0;
		color: var(--white);
		font-size: 1rem;
		display: flex;
    	align-items: center;
    	height: 100%;
    	transition: all .25s ease;
	}
	
	.fr-site .navbar-nav .nav-link {
		padding-left: .5rem!important;
		padding-right: .5rem!important;
	}
	
	.header--scroll .navbar-nav .nav-link {
		padding-top: .5rem!important;
		padding-bottom: .5rem!important;
	}
	
	.navbar-nav .nav-item.active .nav-link {
	    color: var(--ice-blue);
	}

	.navbar-nav .nav-item:first-child .nav-link {
		margin-left:0!important; 
		padding-left: 0!important;
	}

	.navbar-nav .nav-item:last-child .nav-link {
		margin-right:0!important; 
		padding-right: 0!important;
	}

	.navbar-nav .nav-item.active:hover .nav-link, .navbar-nav .nav-link:hover {
	    text-decoration: underline;
	    text-decoration-color: rgba(255, 255, 255, .5);
	    color: var(--white);
	}

	.navbar-nav .nav-item--sbcv .nav-link {
		margin: 0;
		padding-left: 1.5rem !important;
	}
	
	.navbar-nav .nav-item--neb .nav-link {
		margin: 0;
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}

    .navbar-nav .nav-item--sbcv.active .nav-link,
    .navbar-nav .nav-item--neb.active .nav-link{
	    color: var(--blue-dk) !important;
	}

	.navbar-nav .nav-item--sbcv.active:hover .nav-link, 
	.navbar-nav .nav-item--sbcv .nav-link:hover,
	.navbar-nav .nav-item--neb.active:hover .nav-link, 
	.navbar-nav .nav-item--neb .nav-link:hover {
	    text-decoration-color: rgba(43, 82, 122, .5);
	    color: var(--blue) !important;
	}

	.navbar-nav .dropdown-menu, .navbar-nav .dropdown-menu .dropdown-menu {
		padding: .75rem 0;
		min-width: 15rem !important;
	}

	.dropdown-menu>li:hover {
	    background-color: transparent;
	}

	.navbar-nav .megamenu {   
	    padding: 1rem 0;
	    box-shadow: 0px 3px 8px 1px rgba(0,0,0,.15)
	} 

	.dropdown-toggle:after {
	 	display: none;
	}
	
	.navbar-nav .nav-item--sbcv .dropdown-menu,
    .navbar-nav .nav-item--neb .dropdown-menu {
       margin-top: 0; 
    }
}

@media (min-width: 1200px) {
	/*FR site nav widths*/
    .fr-site .navbar-nav .nav-item:first-child,
    .fr-site .navbar-nav .nav-item:nth-child(2) {
		width: 10%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(3),
	.fr-site .navbar-nav .nav-item:nth-child(4) {
		width: 12.375%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(5) {
	    width:14.5%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(6) {
		width: 11.75%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(7) {
		width: 17%;
	}
	
	.fr-site .navbar-nav .nav-item:last-child {
	    width:12%;
	}
	
	.navbar-nav .nav-item--sbcv .nav-link,
	.fr-site .navbar-nav .nav-item--sbcv .nav-link {
		padding-left: 2rem !important;
	}
	
	.navbar-nav .nav-item--neb .nav-link,
	.fr-site .navbar-nav .nav-item--neb .nav-link {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
}	

@media (min-width: 1400px) {
	.navbar-nav .nav-item:first-child {
		width: 10%;
	}

	.navbar-nav .nav-item:nth-child(2),
	.navbar-nav .nav-item:last-child {
		width: 13%;
	}
	
	.navbar-nav .nav-item:nth-child(3),
	.navbar-nav .nav-item:nth-child(4),
	.navbar-nav .nav-item:nth-child(5) {
		width: 11%;
	}
	
	.navbar-nav .nav-item:nth-child(6) {
		width: 9.5%;
	}

	.navbar-nav .nav-item:nth-child(7) {
		width: 21.5%;
	}
	
	/*FR site nav widths*/
    .fr-site .navbar-nav .nav-item:first-child {
		width: 10%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(2) {
		width: 11%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(3),
	.fr-site .navbar-nav .nav-item:nth-child(4) {
		width: 12.375%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(5) {
	    width:14.5%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(6) {
		width: 12.75%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(7) {
		width: 16%;
	}
	
	.fr-site .navbar-nav .nav-item:last-child {
	    width:11%;
	}
	
	
	.navbar-nav .nav-link {
		margin: 0;
		font-size: 1.125rem;
		padding: 1.125rem 1.5rem!important;
	}
	
	.fr-site .navbar-nav .nav-link {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

	.header--scroll .navbar-nav .nav-link {
		padding-top: .75rem!important;
		padding-bottom: .75rem!important;
	}
	
	.navbar-nav .dropdown-title,
	.navbar-nav .dropdown-item {
		font-size: 1rem;
	}

	.navbar-nav .megamenu {   
	    padding: 1.5rem 0;
	} 
}

@media (min-width: 1680px) {
    .navbar-nav .nav-item:first-child {
		width: 9%;
	}

	.navbar-nav .nav-item:nth-child(2),
	.navbar-nav .nav-item:last-child {
		width: 13%;
	}
	
	.navbar-nav .nav-item:nth-child(3),
	.navbar-nav .nav-item:nth-child(4),
	.navbar-nav .nav-item:nth-child(5) {
		width: 11%;
	}
	
	.navbar-nav .nav-item:nth-child(6) {
		width: 10%;
	}

	.navbar-nav .nav-item:nth-child(7) {
		width: 22%;
	}
	
	/*FR site nav widths*/
    .fr-site .navbar-nav .nav-item:first-child {
		width: 7.5%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(2) {
		width: 12.5%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(3),
	.fr-site .navbar-nav .nav-item:nth-child(4) {
		width: 10.5%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(5) {
	    width: 15.5%;
	}
	
	.fr-site .navbar-nav .nav-item:nth-child(6) {
		width: 11.5%;
	}

	.fr-site .navbar-nav .nav-item:nth-child(7) {
		width: 19.5%;
	}
	
	.fr-site .navbar-nav .nav-item:last-child {
	    width:12.5%;
	}
	
	
	.navbar-nav .nav-link {
		padding: 1.125rem 2.5rem !important;
	}

	.navbar-nav .nav-item--sbcv .nav-link {
		padding-left: 4rem !important;
	}
	
	.navbar-nav .nav-item--neb .nav-link {
		padding-left: 4rem !important;
		padding-right: 4rem !important;
	}
	
	.fr-site .navbar-nav .nav-item--sbcv .nav-link {
		padding-left: 3rem !important;
	}
	
	.fr-site .navbar-nav .nav-item--neb .nav-link {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}
	
	
	
	.header--scroll .navbar-nav .nav-link {
		padding-top: .75rem!important;
		padding-bottom: .75rem!important;
	}
}



/* ------------------------------------------------------------------------ Nice scrollbars for overflow-hidden items (product dropdown and mini cart) */

 /*https://codepen.io/team/css-tricks/pen/QWWXQzE*/
.scroller-wrapper {
  overflow: hidden;
}

.scroller::-webkit-scrollbar {
  width: 9px;
}
.scroller {
  scrollbar-width: thin;
  scrollbar-color: var(--ice-blue);
  /*cursor: grab;*/
}
.scroller::-webkit-scrollbar-track {
  background: transparent;
}
.scroller::-webkit-scrollbar-thumb {
  background-color: var(--ice-blue);
  border-radius: 6px;
  border: 3px solid transparent;
}

@media (min-width: 992px) {
	.scroller {
	  max-height: calc(90vh - var(--header-height));
	  overflow-y: auto;
	  overscroll-behavior-y: contain;
	}
	
	.sbcv .scroller {
	  max-height: calc(90vh - var(--header-height-sbcv));
	}
}


/* ------------------------------------------------------------------------ Side Nav */

.sidenav .intro-text {
    line-height: 1.3;
    margin-bottom: .5rem;
    display: block;
}

.sidenav li {
	padding: 0;
	background-image: none;
}

.sidenav .nav-link {
	padding: .25rem 0;
	font-weight: 400;
	color: var(--black);
	line-height:1.4;
}

.sidenav .nav-link:hover,
.sidenav .nav-link.active:hover {
    text-decoration: underline;
}

.sidenav .nav-link.active {
	color: var(--blue);
	font-weight: 700;
}

.sidenav .submenu {
	margin: 0 0 .5rem 0;
    padding: 0 0 0 1rem;
}

.sidenav .icon-arrow {
	padding: 0 .25rem;
}

.sidenav .icon-arrow.show::after {
    content: '-';
    font-size: 1.125rem;
}

.sidenav .icon-arrow::after {
    content: "+";
    margin-left: 0;
    margin-top: -.25rem;
    opacity: 1;
    font-size: 1rem;
}

.sidenav--landing {
    padding: 1.5rem 2rem;
}
    
.sidenav--landing h4 a {
    color: var(--black);
    text-decoration: none;
}

.sidenav--landing h4 a:hover {
    color: var(--black);
    text-decoration: underline;
}


@media all and (max-width: 991px) and (min-width: 0px) {	
	.sidenav {
		padding: 1.5rem 2rem;
	}
}

@media (min-width: 1400px) {
    .sidenav li {
    	font-size: 1rem;
    }
}



/* ------------------------------------------------------------------------ Bootstrap Menu Off Canvas Mobile */

body.offcanvas-active {
	overflow:hidden;
}

.offcanvas-header { 
	display:none;
}

.offcanvas-header .btn-close {
	width: 1.75em;
    height: 1.5em;
    background-position: center .5rem;
}

.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;
}


@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;
	border-radius: 0;
}

.navbar-toggler:focus {
	box-shadow: 0 0 0 0.1rem;
}

.navbar-toggler-icon {
    background-image: url(../../images/menu-icon.svg);
    width: 1.25em;
    height: 1.25em;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	background-image: url(../../images/menu-icon-open.svg);
}


@media (min-width: 992px) {
	.navbar-toggler {
		display: none;
	}
}



/* =============================================================================================
	MAIN CONTENT AREA
============================================================================================= */

@media (min-width: 1400px){ 
	.aside.col-xxl-3 {
	    width: 26%;
	}
}

@media (min-width: 1680px){ 
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .container-xxxl {
	    max-width: 1600px;
	}
}


/* ------------------------------------------------------------------------ Sections */

.section { 
	padding: var(--section-p) 0;
}

.section--sm { 
	padding: var(--section-p-sm) 0;
}

.section--ice-blue {
	background-color: var(--ice-blue);
}

.section--cream {
	background-color: var(--cream);
}

.section--homepage-ads + .section {
    padding-top: var(--section-p) !important;
}


/* ------------------------------------------------------------------------ Banner */

@keyframes hero {
	0% { opacity:0;  }
	100% { opacity:1;  }	
	}	
		
.section--banner {
	overflow: hidden;
	background-color: var(--cream);
}

		
.sbcv .section--banner {
	background-color: var(--ice-blue);
}

.section--banner__img,
.section--banner--home .section--banner__img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: all .25s ease;
    position: relative;
    min-height:20rem;
    animation: hero 1s ease ;	
}

.section--banner__caption .container {
    padding-left: .75rem;
    padding-right: .75rem;
}

.section--banner--home .section--banner__link {
	text-decoration: none;
	color: inherit;
}

.section--banner--home .section--banner__link:hover {
	color: inherit;
}

.section--banner--home .section--banner__link:hover .section--banner__caption .intro-text {
	text-decoration: underline;
	text-decoration-color: rgba(0, 0, 0, .25);
}

.section--banner__caption {
    padding: 3rem 0;
    background-color: var(--cream);
    z-index: 2;
}

body.sbcv .section--banner__caption {
    background-color: var(--ice-blue);
}

body.neb .section--banner__caption {
    background-color: var(--ice-blue-dk);
}

body.neb .section--banner__caption {
    width:100% !important;
}

.section--banner--home .section--banner__link:hover .section--banner__img {
	transform: scale(1.03);
}

.section--banner--home .section--banner__link:hover .btn-primary {
	background-color: var(--red-dk);
	border-color: var(--red-dk);
	box-shadow: none;
}


@media (min-width: 576px) {		
	.section--banner--home .section--banner__img {
		min-height: 22rem;
	}
}

@media (min-width: 768px) {		
	.section--banner--home .section--banner__img {
    	min-height: 30rem;
	}
}

@media (min-width: 992px) {	
    .section--banner__caption .container {
	    padding-left: 0;
	    padding-right: 0;
	}
	
	body.neb .section--banner__caption .container {
        padding-right: .75rem;
        padding-left: .75rem;
    }

	.section--banner--home .section--banner__caption,
	.section--banner--home .section--banner__img {
		min-height: 36rem;
		position: relative;
	}

	.section--banner__img:before {
	    content: "";
	    position: absolute;
	    width: 100%;
	    height: 100%;
	    left: 0;
	    top: 0;
	    background-image: url(../../images/cta-side-angle-overlay.svg), url(../../images/banner-home-overlay-sm.svg);
	    background-repeat: no-repeat;
	    background-size: auto 100%, 4rem;
	    background-position: -1px center, right bottom;
	    transition: all .25s ease;
	}
	
	body.sbcv .section--banner__img:before {
        background-image: url(../../images/cta-side-angle-overlay-sbcv.svg), url(../../images/banner-home-overlay-sm-sbcv.svg);
    }
	
	.section--banner--home .section--banner__img:before {
	    background-image: url(../../images/banner-home-overlay.svg), url(../../images/banner-home-overlay-sm.svg);
	    background-position: left -2rem center, right bottom;
	    background-size: auto 100%, 6rem;
	}
	
	.section--banner--home .section--banner__link:hover .section--banner__img:before {
	    transform: scale(.98);
	    background-position: left -.5rem center, right bottom;
	}
	
	body.neb .section--banner__img {
	    display: none !important;
	}

	.section--banner__caption {
		padding-left: var(--container-side);
	}
	
	body.neb .section--banner__caption {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media (min-width: 1400px) {	
	.section--banner--home .section--banner__caption,
	.section--banner--home .section--banner__img {
		min-height: 45rem;
	}
}


/* ------------------------------------------------------------------------ Pages with ToC (fix for a--anchor headings obscuring links around them) */

.toc-content > :not(h2, h3) {
    position:relative;
}



/* ------------------------------------------------------------------------ Callouts (Calls to Action) */

.cta {
	font-weight: 400;
	position: relative;
	cursor:pointer;
	text-decoration: none;
	color: inherit;
}

.cta:hover {
	color: inherit;
}



/* ------------------------------------------------------------------------ Stacked Callouts (eg: Homepage under banner) */

.cta--stacked {
	display: block;
	word-wrap: normal;
}

.cta--stacked__image-wrapper {
	overflow: hidden;
}

.cta--stacked__image {
	height: 0;
	padding-bottom: 150%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position:center;
	transition: all .25s ease;
}

.cta--stacked:hover .cta--stacked__image {
	transform: scale(1.03);
}

.cta--stacked__arrow {
	position: absolute;
    right: .875rem;
    bottom: 2rem;
    width: 2rem;
    height: 2rem;
    background: url(../../images/cta-stacked-arrow.svg) no-repeat center;
    z-index: 3;
    transition: all .25s ease;
}

.cta--stacked:hover .cta--stacked__arrow {
	transform: scale(1.2);
}

.cta--stacked__caption {
	position: absolute;
    left: 0;
    bottom: 0;
    color: var(--white);
    width: 100%;
    margin: 0;
    padding: 0 5rem 2rem 2rem;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
    z-index: 2;
    word-break: keep-all;
}

.cta--stacked__caption:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-image: url(../../images/cta-stacked-overlay-sm.svg), url(../../images/cta-stacked-overlay-mobile.svg);
    background-repeat: no-repeat;
    background-size: 5.5rem, 100%;
    background-position: right bottom, left top;
    z-index: -1;
	opacity: .9;
    transition: all .25s ease;
}

.cta--stacked:hover .cta--stacked__caption:before {
	opacity: 1;
}

.cta--stacked__summary {
	font-size: 1rem;
}

.cta--stacked:hover .cta--stacked__summary {
	text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, .5);
}


.cta--stacked__shape-outside {
	shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 0);
	shape-margin: 2rem;
    float: right;
    width: 100%;
    height: 0;
    padding-bottom: 50%;
}


@media (min-width: 1400px) {
    .cta--stacked__image {
    	padding-bottom: 100%;
    }
    
    .cta--stacked__caption:before {
        background-image: url(../../images/cta-stacked-overlay-sm.svg), url(../../images/cta-stacked-overlay.svg);
        background-repeat: no-repeat;
        background-size: 5.5rem, 100%;
        background-position: right bottom, left top;
    }
}



/* ------------------------------------------------------------------------ Side Angle Callouts (eg: Homepage COVID, Inside Page CTAs) */

.cta--side-angle {
	overflow: hidden;
	/*min-height: 13.75rem*/
}
.cta--side-angle__img {
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
	transition: all .25s ease;
    position: relative;
    min-height:14rem;
}

.cta--side-angle__img--default {
    background-size: contain;
    background-color: var(--blue);
}

.cta--side-angle__caption {
    padding: 2rem;
    background-color: var(--cream);
    color: var(--blue);
    z-index: 2;
}

body.sbcv .cta--side-angle__caption {
    background-color: var(--ice-blue);
}

body.neb .cta--side-angle__caption {
    background-color: var(--ice-blue-dk);
}

.cta--side-angle--red .cta--side-angle__caption {
    padding: 3rem 2rem 3rem 2rem;
    background-color: var(--red) !important;
    color: var(--white);
    z-index: 2;
}

.cta--side-angle:hover .cta--side-angle__summary {
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .5);
}

.cta--side-angle:hover .cta--side-angle__img {
	transform: scale(1.03);
}

.cta--side-angle__arrow {
    margin-top:1.25rem;
    width: 2rem;
    height: 2rem;
    background: url(../../images/cta-side-angle-arrow.svg) no-repeat center;
    z-index: 2;
    transition: all .25s ease;
}

.cta--side-angle:hover .cta--side-angle__arrow {
	transform: scale(1.2);
}

.cta--side-angle--landing--subpages .cta--side-angle__arrow {
    transform: rotate(90deg);
}

.cta--side-angle--landing--subpages:hover .cta--side-angle__arrow {
	transform: scale(1.2) rotate(90deg);
}

.cta--side-angle--red .btn-primary {
	background-color: var(--white);
	border-color: var(--white);
	color: var(--black);
	box-shadow: none;
}

.cta--side-angle--red:hover .btn-primary {
	color: var(--red)!important;
	box-shadow: none;
}


@media (min-width: 576px) {	
	.cta--side-angle__img:before {
	    content: "";
	    position: absolute;
	    width: 100%;
	    height: 100%;
	    left: 0;
	    top: 0;
	    background-image: url(../../images/cta-side-angle-overlay.svg), url(../../images/banner-home-overlay-sm.svg);
	    background-repeat: no-repeat;
	    background-size: auto 100%, 3rem;
	    background-position: left -.5rem center, right bottom;
	    transition: all .25s ease;
	}
	
	body.sbcv .cta--side-angle__img:before {
	    background-image: url(../../images/cta-side-angle-overlay-sbcv.svg), url(../../images/banner-home-overlay-sm-sbcv.svg);
	}
	
	body.neb .cta--side-angle__img:before {
	    background-image: url(../../images/cta-side-angle-overlay-neb.svg), url(../../images/banner-home-overlay-sm-sbcv.svg);
	}
	
	.cta--side-angle--red .cta--side-angle__img:before {
	    background-size: auto 100%, 4rem;
	}
	
	.cta--side-angle:hover .cta--side-angle__img:before {
	    transform: scale(.98);
	    background-position: left -.25rem center, right bottom;
	}
	
	.cta--side-angle--red .cta--side-angle__img:before {
	    background-image: url(../../images/cta-side-angle-overlay-red.svg), url(../../images/banner-home-overlay-sm.svg) !important;
	     background-position: left -1rem center, right bottom;
	}
	
	.cta--side-angle--red .cta--side-angle:hover .cta--side-angle__img:before {
	    transform: scale(.98);
	    background-position: left -.5rem center, right bottom;
	}
	
	.cta--side-angle__caption {
        padding: 2.5rem 0 2rem 2rem;
    }
    
	.cta--side-angle--red .cta--side-angle__caption {
        padding: 4rem 0 4rem 3rem;
	}
}

@media all and (max-width: 1679px) and (min-width: 1400px) {	
    .cta--side-angle__img--default {
        background-position: center right -5px;
    }
}



/* ------------------------------------------------------------------------ No Image Callouts (similar to side angle callouts) */

.cta--no-image:hover {
    transform: translateX(.5rem) translateZ(0) !important;
}

.cta--no-image__caption {
    padding: 2.5rem 2rem;
    background-color: var(--cream);
    z-index: 2;
}

.cta--no-image--cvma-event .cta--no-image__caption {
    padding: 2.5rem 2rem 2.5rem 3.5rem;
    background-image: url(../../images/event-cvma-badge.svg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 2.688rem;
    background-color: var(--ice-blue-dk);
}

.cta--no-image--sbcv-event .cta--no-image__caption {
    padding: 2.5rem 2rem 2.5rem 3.5rem;
    background-image: url(../../images/event-sbcv-badge.svg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 2.688rem;
}

.cta--no-image--audio .cta--no-image__caption {
    padding: 2.5rem 2rem 2.5rem 5.5rem;
}

.cta--no-image--audio .cta--no-image__caption:before {
    content: "";
    position: absolute;
    width: 3rem;
    height: 100%;
    left: 1.75rem;
    top: 0;
    background: url(../../images/icon-audio.svg) no-repeat left center;
}

.cta--no-image__text {
    width: calc(100% - 4rem);
}

.cta--no-image__title {
    color: var(--blue);
}


.cta--no-image__summary {
    line-height:1.4;
}

.cta--no-image:hover .cta--no-image__summary {
	text-decoration: underline;
}

.cta--no-image__arrow {
    width: 2rem;
    height: 2rem;
    background: url(../../images/cta-side-angle-arrow.svg) no-repeat center;
    z-index: 2;
    transition: all .25s ease;
}

.cta--no-image:hover .cta--no-image__arrow {
	transform: scale(1.2);
}



/* ------------------------------------------------------------------------ Callouts with Icons */

.cta__icon {
	height: 0;
	width: 5em;
	padding-bottom: 5em;
	margin:0 auto;
	background-repeat: no-repeat;
	background-size: cover;
	transition: all .25s ease;
}

.cta:hover .cta__icon {
	opacity: 0.9;
	transform: translateY(-.5em);
}



/* ------------------------------------------------------------------------ Cards */

.card {
	border-radius: 0;
	border: 0;
}

.card--border {
	border:  2px solid var(--ice-blue);
}

.card--cream {
    background-color: var(--cream);
}

.card--ice-blue{
    background-color: var(--ice-blue);
}

.card--red{
    background-color: var(--red);
}

.card-body {
	padding: 1.375rem 1.5rem;
}

@media (min-width: 1440px) {	
    .card-body {
    	padding: 1.75rem 2rem;
    }
}


/* ------------------------------------------------------------------------ Card News */

.card--news {
	overflow: hidden;
}

.card--news__text {
    padding: 2rem 0;
    position: relative;
    background-color: var(--cream);
    z-index: 2;
}

body.sbcv .card--news__text {
    background-color: var(--ice-blue);
}

body.neb .card--news__text {
    background-color: var(--ice-blue-dk);
}

.card--news__img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: all .25s ease;
    position: relative;
    min-height: 16rem;
}

.card--news__heading {
	font-family: var(--font-stack-sans);
	color: var(--white);
	padding: .75rem 2rem .75rem 2rem;
	margin: 2rem 0 1.5rem 0;
	display: inline-block;
	max-width:90%;
}

.card--news__heading--red {
	background-color: var(--red);
}

.card--news__heading--blue {
	background-color: var(--blue);
}

.card--news__heading .heading__link {
	background-image: url(../../images/heading-link-arrow-white.svg);
}

.news-group {
	padding: 0 2rem;
}

.news {
	display: block;
	color: inherit !important;
	text-decoration: none;
	transition: all 0.25s ease-in-out;
}

.news:last-child p:last-child {
	margin-bottom: 0;
}

.news:hover {
	margin-left: .5rem;
}

.news-title {
    line-height:1.4;
}

.news:hover .news-title {
	text-decoration: underline;
	text-decoration-color: rgba(0, 0, 0, .4);
}


@media (min-width: 576px) {		
	.card--news__img {
		min-height: 22rem;
	}
}

@media (min-width: 768px) {		
	.card--news__img {
    	min-height: 30rem;
	}
}

@media (min-width: 992px) {	
	.card--news__img {
		min-height: 0;
		position: relative;
	}

	.card--news__img:before {
	    content: "";
	    position: absolute;
	    width: 100%;
	    height: 100%;
	    left: 0;
	    top: 0;
	    background-image: url(../../images/card-news-overlay.svg), url(../../images/banner-home-overlay-sm.svg);
	    background-repeat: no-repeat;
	    background-size: auto 100%, 6rem;
	    background-position: -1px center, right bottom;
	    transition: all .25s ease;
	}
	
	body.sbcv .card--news__img:before {
	    background-image: url(../../images/card-news-overlay-sbcv.svg), url(../../images/banner-home-overlay-sm-sbcv.svg);
	}
	
	body.neb .card--news__img:before {
	    background-image: url(../../images/card-news-overlay-neb.svg), url(../../images/banner-home-overlay-sm-sbcv.svg);
	}

	.card--news__heading .heading__link {
		display: inline-block;
		margin: 0 0 0 .5rem;
	}

	.card--news__heading .heading__link:hover {
		margin-left: 1.25rem;
	}
}

@media (min-width: 1400px) {	
	.card--news__text {
	    padding: 4rem 0;
	}

	.card--news__heading {
		margin-top: 4rem;
		padding-left: 4rem;
		max-width:100%;
	}

	.news-group {
		padding: 0 1rem 0 4rem;
	}
	
	.news-group--neb {
		padding: 0 4rem;
	}
}


/* ------------------------------------------------------------------------ Cards Coloured Box */

.card--bar-group .card--bar {
    height: 100%;  
}

.card--bar {
    background-color: var(--cream);
}

.card--bar--pink {
    background-color: #f9d9e8;
}

.card--bar--blue {
    background-color: #c4e8f1;
}

.card--bar--green {
    background-color: #cee4b0;
}

.card--bar--yellow {
    background-color: #fff79e;
}


.card--bar .card-body {
    padding-bottom: 1rem;
}

.card--bar__heading {
    font-family: var(--font-stack-sans);
    color: var(--white);
    width: calc(100% - 2rem);
    padding: .75rem 1rem .75rem 2rem;
    margin: 2rem 0 1.5rem 0 !important;
    display: inline-block;
    background-color: var(--blue);
}


.card--bar--fee {
    padding-bottom: 3.5rem;
}

.card--bar__fee {
    font-weight: bold;
    margin-bottom: 0;
    position:absolute;
    bottom: 2rem;
    background: url(../../images/card-bar-arrow.svg) no-repeat left center;
    background-size:2rem;
    padding-left: 2.75rem;
    color: var(--blue);
}


/* ------------------------------------------------------------------------ Partners Logo Group */

.partners:last-child {
	border-right:  0;
	padding-right: 0;
}

.partners {
	padding: 0 2rem;
}

.partners__logo {
	height: 5rem;
	display: flex;
	align-items: center;
}

.partners__logo.platinum img {
    max-height: 4em;
    max-width: 12em;
}

.partners__logo.gold img {
    max-height: 2.5em;
    max-width: 9em;
}

.partners__logo.silver img {
    max-height: 2em;
    max-width: 8em;
}

.partners__logo.member img {
    max-height: 4em;
    max-width: 14em;
}

.partners__logo.gold.vetcpa img {
    max-width: 6em;
}

.partners__logo.silver.hills img {
    max-height: 3.25em;
}


@media (min-width: 768px) {
    .partners-group--no-categories .partners {
        padding: 0 3rem 0 0;
    }

}

@media (min-width: 992px) {
	.partners {
		border-right:  2px solid var(--ice-blue);
	}
	
	.partners__logo--auto-height {
	    height: auto;
	}
}

/* ------------------------------------------------------------------------ List Group */

.list-group {
    border-radius: 0;
    border: 2px solid var(--ice-blue);
    padding: 1rem 1.5rem;
}

.list-group--accordion {
    border: none;
}

.list-group--sm {
    padding: .75rem 1rem;
}

.list-group--flush {
    border: none;
    padding: 0;
}

.list-group li,
.list-group-item {
    padding: .625rem .5rem;
    background-image: none;
    border: 0;
    border-bottom: 1px solid var(--ice-blue);
}

.list-group li:last-child,
.list-group-item:last-child {
   border: 0;
   padding-bottom: .5rem;
}

.list-group li a,
.list-group-item a {
    color: var(--black) !important;
    font-weight: normal;
    display:block;
    transition: all .25s ease;
}

.list-group li a:hover,
.list-group-item a:hover {
    transform: translateX(.5em);
}

.list-group ul {
	margin-left: 1rem;
	margin-top: .125rem;
}

.list-group ul .list-group-item {
    border-bottom: 0;
    padding: .125rem .5rem;
}

.list-group ul .list-group-item:last-child {
    padding-bottom: 0;
}

.list-group--bibliography{
	padding-left: 3.25rem;
}

.list-group--bibliography li,
.list-group--bibliography .list-group-item {
	display: list-item;
}

.list-group--bibliography li::marker,
.list-group--bibliography .list-group-item::marker {
	font-weight: bold;
}

.list-group--bibliography li a,
.list-group--bibliography .list-group-item a {
    display:inline;
    color: var(--red) !important;
    font-weight: bold;
}

.list-group--bibliography li a:hover,
.list-group--bibliography a:hover,
.list-group--bibliography li a:hover u,
.list-group--bibliography a:hover u {
    color: var(--red-dk) !important;
    text-decoration: none;
}



/* ------------------------------------------------------------------------ Accordions */

.accordion-button {
	border: 1px solid transparent;
}

.accordion-button:not(.collapsed) {
    color: var(--black);
    background-color: var(--ice-blue);
}

.accordion-button:not(.collapsed)::after { 
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:focus {
    outline: solid thin rgba(0, 0, 0, 0.5);
    box-shadow: none;
    border: 1px solid transparent;
}

.accordion-flush {
    border-top: 1px solid var(--ice-blue);
}

.accordion-item {
    border: 1px solid var(--ice-blue);
}

.accordion-flush .accordion-item:last-child {
	border-bottom: 1px solid var(--ice-blue);
}

.accordion-flush .accordion-button {
	padding: 1rem .5rem;
}

.accordion-flush .accordion-body {
    padding: 1rem .5rem .5rem .5rem;
}

@media (min-width: 1400px) {
    .accordion-flush .accordion-body {
        padding: 2rem .5rem 1.5rem .5rem;
    }
    
    .accordion-flush .accordion-body--sm {
        padding: 1rem .5rem;
    }
}


/* ------------------------------------------------------------------------ Tables */

.table {
	margin-bottom: 0;
}

.table td, .table th {
    border-bottom: 1px solid var(--ice-blue);
    padding: .75rem 1rem;
    vertical-align: middle;
}

.table th {
    font-weight: 400;
}

.table thead th {
    font-weight: 700;
    line-height: 1.4;
    background-color: var(--ice-blue);
    padding: 1rem ;
    font-size: 1.125rem;
}

.table>:not(:last-child)>:last-child>* {
    border-bottom-color: inherit;
}

.table .th--date {
    width: 9.25rem;
}

.table .th--date-approved {
    width: 12.25rem;
}

.table--links .td--title,
.table--links .th--title {
    padding: 0;
}

.table--links .td--title a,
.table--links .th--title a {
    display:block;
    padding: .75rem 1.5rem .75rem 1rem;
    font-weight: normal;
}

.table--links .td--title a:hover,
.table--links .th--title a:hover {
    padding: .75rem 1rem .75rem 1.5rem;
}

.table-sm, .table-sm thead th {
    font-size: .75rem !important;
}

.table--xxxl {
    min-width: 65rem;
}

.td--checkmark {
    text-align:center;
}

.td--checkmark__img {
    width: 2rem;
    height: 2rem;
}

@media (min-width: 1400px) {
    .table thead th {
        font-size: 1.25rem;
    }
    
    .table .th--supplementary-month {
        width: 10rem;
    }
}

@media (max-width: 1679.98px) {
    .table-responsive-xxxl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}



/* ------------------------------------------------------------------------ Sortable for Table Sorting */

.sortable thead th {
  cursor: pointer;
  vertical-align: baseline;
  white-space: nowrap;
}

.sortable th:hover {
  color: #000;
}

.sortable th:hover::after {
  color: inherit;
  font-size: 1.2em;
  content: ' \025B8';
}

.sortable th::after {
  font-size: 1.2em;
  line-height:1;
  /*color: transparent;*/
  content: ' \025B8';
}

.sortable th.dir-d::after {
  color: inherit;
  content: ' \025BE';
}

.sortable th.dir-u::after {
  color: inherit;
  content: ' \025B4';
}



/* ------------------------------------------------------------------------ Pagination */

.pagination {
	flex-wrap: wrap;
	margin-top: 3rem;
}

.page-item {
	background-image: none;
	padding: 0;
	margin: 0 .75rem .5rem 0;
}

.page-item:first-child .page-link, .page-item:last-child .page-link {
	border-radius: 0;
}

.page-item--prev .page-link,
.page-item--next .page-link {
	background: var(--red) url(../../images/arrow-white.svg) no-repeat center;
	background-size: .5rem;
}

.page-item--prev .page-link {
	background-image: url(../../images/arrow-white-prev.svg);
}

.page-item--prev .page-link:hover,
.page-item--next .page-link:hover {
	background-color: var(--red-dk);
	color: var(--white);
}


.page-link {
	min-width:2.5rem;
	height: 2.5rem;
	padding: .375rem .625rem 0 .625rem;
	color: var(--black);
	background-color: var(--white);
	border-color: var(--white);
	text-align: center;
	/*border-left:  1px solid var(--ice-blue);*/
}

.page-item .form-select {
	height: 2.5rem;
	padding: 0.5rem 2.25rem 0.5rem 0.75rem
}

.page-link:hover {
	background-color: var(--ice-blue);
	border-color: var(--white);
	color: var(--black);
}

.page-item.active .page-link {
	background-color: var(--ice-blue);
	border-color: var(--white);
	font-weight: bold;
}


@media (min-width: 1400px) {
	.page-link {
		min-width:2.75rem;
		height: 2.75rem;
		padding: .5rem .75rem 0 .75rem;
	}
	
	.page-item .form-select {
    	height: 2.75rem;
    }

	.page-item--prev .page-link,
	.page-item--next .page-link {
		background-size: .75rem;
	}
}



/* ------------------------------------------------------------------------ Breadcrumbs */

.breadcrumb-item+.breadcrumb-item::before,
.breadcrumb-item.active {
    color: var(--black);
    font-weight: normal;
}

body.neb main nav[aria-label] {
    margin-bottom: 1rem !important;
}

@media (min-width: 1400px) {
    .breadcrumb-item {
        font-size: 1rem;
    }
}



/* ------------------------------------------------------------------------ Swiper Modifications */

.swiper-wrapper {
    align-items:center;
}

.swiper-button-prev,
.swiper-button-next {
    background-color: var(--white);
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
}



/* ------------------------------------------------------------------------ jsCalendar Customization (https://gramthanos.github.io/jsCalendar/generator.html) */

.fc-calendar-container {
    padding:.5rem;
}

.custom-inner {
    background: var(--ice-blue);
}

.fc-calendar .fc-head {
    color: var(--black);
    font-weight: bold;
}

.jsCalendar table {
    width:100%;
    box-shadow: none;
    margin: 0;
    background: var(--ice-blue);
}

.jsCalendar-title {
    display: flex;
    justify-content: space-between;
}

.jsCalendar thead .jsCalendar-week-days th, .jsCalendar tbody td,
.jsCalendar tbody td.jsCalendar-selected,
.jsCalendar.classic-theme tbody td {
    width: 13%;
    position: relative;
}

.jsCalendar-title-row {
    background-color: var(--blue);
    color: var(--white);
}

.jsCalendar tbody td.jsCalendar-current:after {
    content: "";
    position: absolute;
    width:3rem;
    height:3rem;
    border-radius: 50%;
    background-color: var(--red);
    top: 0;
    left: 50%;
}

.fc-five-rows .fc-row {
    height: 20%;
}

.fc-calendar .fc-row > div > span.fc-date {
    font-size: 1rem;
}

.fc-calendar .fc-row > div.fc-content > span.fc-date {
    color: var(--white);
    font-weight:bold;
    z-index: 1;
}

.fc-calendar .fc-row > div.fc-today,
.fc-calendar .fc-row > div.fc-content:hover {
    background-color: var(--cream);
}

.fc-calendar .fc-row > div.fc-content:after,
.fc-calendar .fc-row > div.fc-content:hover:after {
    background-color: var(--red);
}

.fc-calendar .fc-row > div.fc-content:after {
    width: 2rem;
    height: 2rem;
    margin-left: -1rem;
    border-radius: 50%;
    bottom: auto;
    top: calc(50% - 1rem);
}

.custom-header nav span.custom-prev,
.custom-header nav span.custom-next {
    background: url(../../images/arrow-white.svg) no-repeat center;
    background-size: 12px;
}

.custom-header nav span.custom-prev {
    transform: rotate(180deg);
}

.custom-content-reveal {
    background: var(--cream);
}

.custom-content-reveal a,.custom-month {
    font-family: var(--font-stack-slab);
}



.custom-content-reveal span.cvma-event {
    font-weight: bold;
}

.custom-content-reveal span.cvma-event a {
    background: url(../../images/logo-icon.svg) no-repeat left center;
    background-size: 1.375rem;
    padding-left: 1.75rem;
}

.custom-content-reveal span.sbcv-event {
    font-weight: bold;
}

.custom-content-reveal span.sbcv-event a {
    background: url(../../images/sbcv-icon.svg) no-repeat left center;
    background-size: 1.313rem;
    padding-left: 1.75rem;
}

.custom-content-reveal span.custom-content-close:after {
    content: "";
    background: url(../../images/menu-icon-open-reverse.svg) no-repeat center;
    background-size: 1.5rem;
    color: var(--white);
    width: 1.5rem;
    height: 1.5rem;
    display:block;
}

.custom-content-reveal span.custom-content-close {
    top:1rem; 
    right: 1.25rem;
}

.flatpickr-calendar.open {
    z-index: 2;
}

@media (min-width:576px) {
    .fc-calendar-container {
        padding:1rem;
    }
}

@media (min-width:768px) {
    .fc-calendar-container {
        padding: 2rem;
        height:340px;
    }
}

@media (min-width:992px) {
    .homePage .fc-calendar-container {
        height: 380px;
    }
}

@media (min-width: 1200px) {
    .fc-calendar-container {
        padding: 4px;
        height:300px;
    }
    
    .homePage .fc-calendar-container {
        padding:1rem;
        height: 340px;
    }
    
    .homePage .custom-calendar-wrap,
    .homePage .custom-inner {
        height: 100%;
    }

}

@media (min-width: 1400px) {
    .fc-calendar-container {
        padding:.5rem;
    }
    
    .homePage .fc-calendar-container {
        padding:2rem;
        height: 360px;
    }
}

/*#events-calendar {*/
/*	float: left;*/
/*}*/
#events {
	float: left;
	width: 435px;
	margin: 10px 20px 10px 5px;
}
#events .title {
	padding: 5px 0px;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
#events .subtitle {
	padding: 5px 0px;
	font-size: 14px;
	text-align: center;
	color: #888;
}
#events .list {
	height: 250px;
	overflow-y: auto;
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
#events .list .event-item {
	line-height: 24px;
	min-height: 24px;
	padding: 2px 5px;
	border-top: 1px solid rgba(0, 0, 0, 0.2);
}
#events .list .event-item .close {
	font-family: Tahoma, Geneva, sans-serif;
	font-weight: bold;
	font-size: 12px;
	color: #000;
	border-radius: 8px;
	height: 14px;
	width: 14px;
	line-height: 12px;
	text-align: center;
	float: right;
	border: 1px solid rgba(0, 0, 0, 0.5);
	padding: 0px;
	margin: 5px;
	display: block;
	overflow: hidden;
	background: #F44336;
	cursor: pointer;
}
#events .action {
	text-align: right;
}
#events .action input {
	padding: 0px 5px;
	font-size: 12px;
	margin: 10px 5px;
	border: 1px solid #999999;
	height: 28px;
	line-height: 28px;
	width: 120px;
	background: #f8f8f8;
	color: black;
	cursor: pointer;
	transition: all 0.2s;
}
#events .action input:hover {
	background: #eee;
	border: 1px solid #000;
	box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
}

/* ------------------------------------------------------------------------ Testimonial Slider */

.testimonial-carousel {
    }
    .testimonial-carousel .carousel-item {
      transition: transform 0.6s ease, opacity 0.6s ease;
      min-height: 200px; /* helps stabilize height */
    }
    
    .testimonial-carousel .testimonial {
        padding: 2.5em 2em;
    }
    
    .testimonial-carousel .carousel-inner {
      transition: height 0.6s ease;
      background-color: var(--cream);
    }

    .testimonial-carousel .carousel-item {
      transition: transform 0.6s ease, opacity 0.6s ease;
    }
    
    .testimonial-carousel .testimonial img {
        width: 6em;
        height: 6em;
        border-radius: 100%;
        object-fit: cover;
        margin-bottom: 15px;
        aspect-ratio: 1 / 1;
    }
    
    .testimonial-carousel.testimonial p {
      font-style: italic;
    }
    
    .testimonial-carousel .carousel-inner {
      display: flex;
      /*align-items: center;*/
    }
    
    .testimonial-carousel button {
        border: none;
        background-color: unset;
        margin-top: 1em;
    }
    
    .testimonial-carousel .carousel-control-prev-icon {
        background-image: url('../../images/cta-stacked-arrow-prev.svg');
    }
    
    .testimonial-carousel .carousel-control-next-icon {
        background-image: url('../../images/cta-stacked-arrow.svg');
    }


/* ------------------------------------------------------------------------ Member Benefits CTA */

/*.join-now-cta {
    padding: 2.5em 2em;
    background-color: var(--ice-blue);
}*/

/* ------------------------------------------------------------------------ Forms */
	
.required-input {
	color: var(--error); !important;
	font-size: 0.875rem;
	font-weight:700;
}

legend {
	font-size: 1rem;
}

.form-control, .form-select, .form-control--stripe {
	border-radius:0;
	border-color: var(--ice-blue);
	padding: .625rem .75rem;
	color: var(--black);
	font-size: 1rem;
}

.form-control:read-only {
    background-color: unset;
}

.form-control[type=file] {
    padding: 0.4em .75em;
}

.form-select {
	padding: .625rem 2.25rem .625rem .75rem;
}

.form-control--stripe {
	padding: 1rem .75rem;
	background-color: var(--white) !important;
}

.form-control-lg.form-control--file {
	font-size: 1rem;
	background-color: var(--white);
}

.form-control:focus, .form-select:focus, .form-check-input:focus {
    color: var(--black);
    border-color: var(--ice-blue);
    outline: 0;
    box-shadow: 0 0 0 0.125rem rgb(0 0 0 / 25%);
}


.form-check-input {
    border: 1px solid var(--ice-blue);
}

.form-check-input[type=checkbox] {
    border-radius: 0;
}

.form-check-input:checked {
    background-color: var(--blue);
    border-color: var(--blue);
}

.checkbox-link {
    padding-left: 1.5rem;
}


.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: .5rem;
    font-size: .875rem;
    color: var(--black);
}


@media (min-width: 1400px) {
	legend,
	.form-control, 
	.form-select,
	.form-control-lg.form-control--file,
	.form-check-label {
		font-size: 1.125rem;
	}

	.form-check-input {
	    margin-top: .313rem;
	}

	.form-label--sm,
	.form-select--sm,
	.form-control--sm,
	.form-text {
	    font-size: 1rem;
	}	
}


/* ------------------------------------------------------------------------ To Top */

.to-top {
	position: fixed;
	opacity: 0;
	bottom: 1rem;
	right: 1rem;
	text-align: center;
	width: 3rem;
	height: 3rem;
	cursor: pointer;
	background: var(--red) url(../../images/arrow-white.svg) no-repeat center;
	background-size: 1rem;
	border-radius: 50%;
	z-index: 1030;
	visibility: hidden;
	transform: rotate(-90deg);
	transition: all .25s ease;
}

.to-top:hover {
	background-color: var(--red-dk)
}

.to-top.show {
	opacity: 1;
	visibility: visible;
}


			
/* =============================================================================================
	FOOTER
============================================================================================= */

.print-footer { 
	display:none;
}

.footer { 
	margin-top: auto!important;
	padding: var(--section-p-sm);
	background-color: var(--blue);
	color: var(--white);
}

.footer a{ 
	color: var(--white);
}

.footer-logo {
	width: 4rem;
}

.sbcv .footer-logo {
    width: 8rem;
}
	
.social__icon {
	display: inline-block;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 0 0 .5rem;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 2.5rem;
	transition: all .25s ease;
}

.social__icon--lg {
	width: 4rem;
	height: 4rem;
	margin: 0 1rem 0 0;
	border-radius: 50%;
	background-color: var(--blue);
}

.social__icon:hover { 
	transform: translateY(-.5em);
}

.social__icon--twitter { 
	background-image: url(../../images/social-twitter.svg); 
}

.social__icon--x { 
	background-image: url(../../images/social-x.svg);
	background-size: 1.5em;
}
	
.social__icon--facebook { 
	background-image: url(../../images/social-facebook.svg); 
}
	
.social__icon--youtube { 
	background-image: url(../../images/social-youtube.svg); 
}		
			
.social__icon--instagram { 
	background-image: url(../../images/social-instagram.svg); 
}		

.social__icon--rss { 
	background-image: url(../../images/social-rss.svg); 
}

.social__icon--linkedin { 
	background-image: url(../../images/social-linkedin.svg);
	background-size: 1.5em;
}

.pipe {
	padding: 0 .5rem;
}

.rkd {
	display: inline-block;
	width: 5.625rem; 
}
