/* ==========================================================================
   MISC SITE & BOOTSTRAP CLASS OVERRIDES

   - Miscellaneous overrides for Bootstrap classes.
   - Not all overrides will be needed in the final rollout. Some of these
     can be eliminated as certain sections are finalized. This will be an
	 ongoing work-in-progress.
========================================================================== */

:root {
	/* ======================================================================
	SWIPER CAROUSEL OVERRIDES
	====================================================================== */
    --swiper-navigation-size:			12px;
    --swiper-navigation-color:			#000;
    --swiper-navigation-sides-offset:	0;
    --swiper-scrollbar-size:			8px;
    --swiper-scrollbar-left:			0;
    --swiper-scrollbar-right:			12px;
    --swiper-scrollbar-top:				10px;
    --swiper-scrollbar-bottom:			0;
    --swiper-scrollbar-bg-color:	    var(--color-surface-secondary);
    --swiper-scrollbar-drag-bg-color:	var(--color-surface-primary-inverse);
    --swiper-scrollbar-border-radius:	200px;
    --swiper-scrollbar-sides-offset:	0;
}

/* Framework Overrides
========================================================================== */
@media (min-width: 576px) {

	.container-fluid {
		padding-left: var(--spacing-03);
		padding-right: var(--spacing-03);
	}
}

@media (min-width: 768px) {

	.container-fluid {
		padding-left:	var(--spacing-06);
		padding-right:	var(--spacing-06);
	}
}

@media (min-width: 1200px) {

	.container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
}

.cf::after { display: block; clear: both; content: ""; }

/* Legacy - Remove when CSS work is complete */
small, .small {
	line-height: 1.5;
}

/* Form Overrides
========================================================================== */
.form-control {
	background-color: var(--color-surface-form-default);
	color: var(--color-text-form-active);
	border: var(--border-weight-01) solid var(--color-border-form-default);
	border-radius: var(--border-radius-sm);
	height: calc(2.875rem + 2px);
}

.form-control:focus {
	color: var(--color-text-form-active);
}

select {
	color: var(--color-text-form-active);
}

.custom-select {
	border: var(--border-weight-01) solid var(--color-border-form-default);
	color: var(--color-text-form-active);
	appearance: none;
}

.list-group-item {
	border: var(--border-weight-01) solid var(--color-border-primary);
}

.form-row {
	margin-right: var(--spacing-03-negative);
	margin-left: var(--spacing-03-negative);
}

.form-row .col {
	padding-right: var(--spacing-03);
	padding-left: var(--spacing-03);
}

.form-check-input[disabled]~.form-check-label, .form-check-input:disabled~.form-check-label {
	color: var(--color-text-primary-dark);
	opacity: var(--opacity-30);
}

label.has-placeholder {
	color: var(--color-text-form-placeholder);
}

/* Table Overrides
========================================================================== */
table, .table {
	border: var(--border-weight-01) solid var(--color-border-primary);
	background-color: var(--color-surface-primary);
}

table thead, table .thead-light, table tr:first-child {
	background-color: var(--color-surface-secondary);
	border-color: var(--color-border-primary);
}

table td, .table td, table th, .table th  {
	border-top: var(--border-weight-01) solid var(--color-border-primary);
	font: var(--text-body-md-compact);
}

table tr:first-child td, .table tr:first-child td {
	color: var(--color-text-primary-dark);
}

/* Header Overrides
========================================================================== */
h1, .h1 {
	font: var(--text-heading-01);
    color: var(--color-text-primary-dark);
	letter-spacing: -1px;
	padding: 0;
	margin: 0;
}

h2, .h2 {
	font: var(--text-heading-02);
    color: var(--color-text-primary-dark);
	letter-spacing: -1px;
	padding: 0;
	margin: 0;
}

h3, .h3 {
	font: var(--text-heading-03);
    color: var(--color-text-primary-dark);
	padding: 0;
	margin: 0;
}

h4, .h4 {
	font: var(--text-heading-04);
    color: var(--color-text-primary-dark);
	padding: 0;
	margin: 0;
}

/* Anchor Overrides
========================================================================== */
a {
	color: var(--color-text-link-default);
}

a:hover {
	color: var(--color-text-link-hover);
	text-decoration: none;
}

a:visited {
	color: var(--color-text-link-visited);
}

/* Pagination Overrides
========================================================================== */
.page-link {
	padding: var(--spacing-04);
	border: var(--border-weight-01) solid var(--color-border-form-default);
}

.page-link:hover,
.page-link:active {
	border-color: var(--color-border-form-default);
	background-color: var(--color-surface-primary-hover);
}

.page-item .custom-select {
	height: 100%;
	padding: var(--spacing-03) var(--spacing-12);
	border-left: none;
    border-right: none;
    border-radius: 0;
	text-align: center;
}

.page-item.disabled .page-link {
    border-color: var(--color-brand-text-on-secondary);
}

/* Button Overrides
========================================================================== */
button {
	background-color: var(--color-surface-primary);
}

.btn {
	border-radius: var(--border-radius-sm);
	white-space: nowrap;
}

.btn-primary::placeholder {
	color: var(--color-text-form-placeholder);
}

.btn-primary:active::placeholder,
.btn-primary:focus::placeholder {
	color: var(--color-text-form-active);
}

.btn-block {
	padding:	var(--spacing-03) var(--spacing-06);
}

.btn-link {
	text-decoration: none;
}

.close {
	opacity: var(--opacity-100);
}

/* Chat Widget Overrides
========================================================================== */
#chat-widget-container {
    z-index: var(--z-index-04) !important;
}

#chat-widget-container .css-1yzzujv:hover {
    opacity: var(--opacity-70);
}

/* OneTrust Cookie Area Overrides
========================================================================== */
#onetrust-banner-sdk .ot-sdk-container,
#onetrust-pc-sdk .ot-sdk-container,
#ot-sdk-cookie-policy .ot-sdk-container {
	width: 100% !important;
	padding: 0 !important;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy #cookie-policy-title,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy h4,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy h5,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy h6 {
	font: var(--text-heading-04);
	color: var(--color-text-primary-dark);
	margin: 0 0 var(--spacing-06);
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy li,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy p,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy a,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy span,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy td,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy #cookie-policy-description,
#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-cookie-policy-group-desc {
	font: var(--text-body-md-compact);
	color: var(--color-text-primary-dark);
	margin-bottom: var(--spacing-10);
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-table-header {
	font: var(--text-body-md-compact);
	color: var(--color-text-primary-dark);
	padding: var(--spacing-03);
	border-right: 0;
	border-top: 0;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy a {
	font: var(--text-link-lg);
	color: var(--color-text-link);
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy a:hover {
	font: var(--text-link-lg-hover);
	color: var(--color-text-link-hover);
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy td {
	font: var(--text-body-md-compact);
	color: var(--color-text-primary-dark);
	border-right: 0;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-subgroup {
	margin-left: 0;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-subgroup ul {
	list-style: none;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-subgroup li {
	list-style: none;
	margin-left: 0;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy .ot-sdk-subgroup .ot-sdk-cookie-policy-group-desc {
	margin-top: 0.5rem;
}

#ot-sdk-cookie-policy #ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy table {
	margin: 0;
	border-radius: var(--border-radius-md);
}

#ot-sdk-cookie-policy-v2.ot-sdk-cookie-policy section {
	margin-bottom: var(--spacing-10) !important;
}

.support_section #ot-sdk-btn.ot-sdk-show-settings,
.support_section #ot-sdk-btn.optanon-show-settings {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	user-select: none;
	border: var(--border-weight-01) solid var(--color-brand-primary-01);
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	border-radius: var(--border-radius-sm);
	white-space: nowrap;
	background-color: var(--color-brand-primary-01);
	color: var(--color-brand-text-on-primary);
	font: var(--text-button-lg);
	padding: var(--spacing-03) var(--spacing-06);
}

.support_section #ot-sdk-btn.ot-sdk-show-settings:hover,
.support_section #ot-sdk-btn.optanon-show-settings:hover {
	background-color: var(--color-brand-primary-02);
	color: var(--color-brand-text-on-primary);
}

#ot-sdk-btn.ot-sdk-show-settings,
#ot-sdk-btn.optanon-show-settings {
	background-color: var(--color-brand-primary-01) !important;
	color: var(--color-brand-text-on-primary) !important;
	font: var(--text-button-lg) !important;
	padding: var(--spacing-03) var(--spacing-06) !important;
	border: 0 !important;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out !important;
	user-select: none !important;
	display: inline-block !important;
	text-align: center !important;
	vertical-align: middle !important;
	border-radius: var(--border-radius-sm) !important;
}

#ot-sdk-btn.ot-sdk-show-settings:hover,
#ot-sdk-btn.optanon-show-settings:hover {
	background-color: var(--color-brand-primary-02) !important;
}
