/* Bootstrap Layout Overrides */
.container { position: relative; }
.container > .row,
.container > div > .row { padding: 0; }
@media (min-width: 320px) {
  .container { max-width: 100%; }
}
@media (min-width: 1200px) {
  .container { max-width: 1140px; }
}

/* Bootstrap Button Group Overrides */
.btn-group { display: inline-flex; flex-wrap: wrap; }
.btn-group .btn { font-weight: var(--wMedium); }
.btn-group .btn:not(:first-child),
.btn-group .btn:not(:last-child) { margin: 0 0.0625rem 0.125rem; }
.btn-group .btn:only-child { border-radius: var(--borderRadius) !important; }
@media (min-width: 320px) {
  .btn-group .btn { width: 100%; border-radius: 0; }
  .btn-group .btn:first-child { border-top-left-radius: var(--borderRadius) !important; border-top-right-radius: var(--borderRadius) !important; }
  .btn-group .btn:last-child { border-bottom-left-radius: var(--borderRadius) !important; border-bottom-right-radius: var(--borderRadius) !important; }
}
@media (min-width: 480px) {
  .btn-group .btn { width: auto; }
  .btn-group .btn:first-child { border-radius: 0 !important; border-top-left-radius: var(--borderRadius) !important; border-bottom-left-radius: var(--borderRadius) !important; }
  .btn-group .btn:last-child { border-radius: 0 !important; border-top-right-radius: var(--borderRadius) !important; border-bottom-right-radius: var(--borderRadius) !important; }
}

/* Bootstrap Alert Overrides */
.alert { border-radius: var(--borderRadius); }

/* Bootstrap Table Overrides */
.card-table { margin: 0.9375rem 0; padding: 0.1875rem; border: 0.125rem solid #dee2e6; border-radius: var(--borderRadius); }
.table { overflow: hidden; border-radius: 1.35rem; }
.table th { border-top: none; }
.table th, .table td { padding: 0.625rem 0.9375rem; }

/* Bootstrap Card Overrides */
.card { border-radius: var(--borderRadiusCheckbox); }
.card + .card { margin-top: 0.625rem; }

/* Bootstrap Accordion Overrides */
.accordion > .card { border-bottom: 1px solid hsla(0,0%,0%,0.125) !important; border-radius: var(--borderRadiusCheckbox) !important; }
.accordion > .card + .card { margin-top: 0.625rem; }
.accordion > .card .card-header { margin-bottom: 0; padding: 0; border-radius: 1.875rem 1.875rem 0 0; border-bottom: none; }
.accordion > .card .card-header .card-title { font-size: 1.25rem; font-family: var(--bodyFont); font-weight: var(--wRegular); }
.accordion > .card .card-header button { display: block; width: 100%; padding: 0.9375rem 1.5rem; position: relative; background: #f7f7f7; border: none; border-radius: 0; outline: none; text-align: left; }
.accordion > .card .card-header button:hover, .accordion > .card .card-header button:active, .accordion > .card .card-header button:focus { text-decoration: none; background: #eee; }
.accordion > .card .card-header button:after { content: ""; width: 0.75rem; height: 1rem; position: absolute; top: 50%; right: 1.25rem; z-index: 2; transform: translate(0, -50%); }
.accordion > .card .card-header button[aria-expanded=true]:after { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="gray" d="M368 224H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>'); }
.accordion > .card .card-header button[aria-expanded=false]:after { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="gray" d="M368 224H224V80c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h144v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V288h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>'); }
.accordion > .card .collapse { border-top: 0.0625rem hsl(0, 0%, 90%) solid; }
.accordion > .card .card-body p:last-child { margin-bottom: 0; }

/* Bootstrap List Group Overrides */
.list-group { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; overflow: hidden; margin-bottom: 1.25rem; padding: 0.625rem; border-radius: var(--borderRadiusCheckbox); box-shadow: 0 0 0 0.125rem hsla(var(--siteColor1), 15%); }
.list-group.no-shadow { box-shadow: none; }
.list-group-item { display: flex; align-items: center; margin-bottom: 0.625rem; padding: 0.625rem 1.25rem; position: relative; background: hsl(var(--white)); border: none; border-radius: var(--borderRadiusCheckbox) !important; color: var(--bodyFontColor); line-height: 1.25; transition: all ease-in-out 0.4s; }
.list-group-item.active,
a.list-group-item:hover { background: hsla(var(--siteColor1), 15%); border-color: hsl(var(--siteColor1)); color: hsl(var(--siteColor1)); }
.list-group-item .icon { width: 1.25rem; height: 1.25rem; position: absolute; top: 50%; left: 0.625rem; transform: translate(0,-50%); font-size: 1.25rem; }
.list-group-horizontal .list-group-item { flex-basis: auto; flex-grow: 1; justify-content: center; position: relative; margin: 0.185rem; background: hsla(var(--siteColor1), 5%); }

.tab-content-question { margin-bottom: 0.625rem; padding-bottom: 0.625rem; border-bottom: 0.0625rem #eee solid; font-size: 1.75rem; font-weight: var(--wMedium); }
.tab-content td { border: none; }
.tab-content .table .fa { font-size: 1.875rem; }
.tab-content .alert .btn { position: relative; top: -0.4375rem; }

/* Content Builder Overrides - match site theme */
.content-builder-wrap .is-btn { border: none !important; border-radius: var(--borderRadiusCheckbox) !important; letter-spacing: 0 !important; }
.content-builder-wrap .is-btn:hover { box-shadow: var(--focusShadow) !important; }
.content-builder-wrap .is-btn[class*=is-rounded] { border-radius: var(--borderRadius) !important; }
.content-builder-wrap .is-btn.is-btn-ghost1 { background: hsl(var(--siteColor1)) !important; color: hsl(var(--white)) !important; }
.content-builder-wrap .is-btn.is-btn-ghost1:hover { background: hsl(var(--siteColor2)) !important; color: hsl(var(--black)) !important; }
.content-builder-wrap .is-btn.is-btn-ghost2 { background: hsl(var(--siteColor2)) !important; color: hsl(var(--black)) !important; }
.content-builder-wrap .is-btn.is-btn-ghost2:hover { background: hsl(var(--siteColor1)) !important; color: hsl(var(--white)) !important; }
.content-builder-wrap .icon { color: hsl(var(--siteColor1)) !important; }
.content-builder-wrap .icon + .h3 + p { border-bottom-color: hsl(var(--siteColor1)) !important; }
.content-builder-wrap img { border-radius: var(--borderRadiusCheckbox); }
.content-builder-wrap iframe { border-radius: var(--borderRadiusCheckbox) !important; }
.content-builder-wrap .is-card { border: none !important; border-radius: var(--borderRadiusCheckbox) !important; }
.content-builder-wrap .is-card:hover { box-shadow: var(--focusShadow) !important; }
.content-builder-wrap .is-card.is-card-circle { border-radius: 50vw !important; }

/* Swiper Overrides */
.swiper-pagination-bullet { margin: 0 0.25rem; background-color: hsl(var(--lightGray)); border-radius: var(--borderRadiusCircle); }
.swiper-pagination-bullet-active { background-color: hsl(var(--siteColor1)); }
.swiper-pagination-bullet { opacity: 0.5; width: 0.625rem; height: 0.625rem; transition: all ease-in-out 0.4s; box-shadow: 0.0625rem 0.0625rem 0.125rem hsla(var(--black), 25%); }
.swiper-pagination-bullet-active { opacity: 1; }

/* Tooltips Styles */
body .tooltip { display: block; }
body .bs-tooltip-auto[x-placement^=bottom] .arrow::before,
body .bs-tooltip-bottom .arrow::before { border-bottom-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=top] .arrow::before,
body .bs-tooltip-top .arrow::before { border-top-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=left] .arrow::before,
body .bs-tooltip-left .arrow::before { border-left-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=right] .arrow::before,
body .bs-tooltip-right .arrow::before { border-right-color: hsl(var(--siteColor1)); }
body .tooltip-inner { background-color: hsl(var(--siteColor1)); }

/* Alert Styles */
body .alert { padding: 0.75rem 2.5rem 0.75rem 1.25rem; margin-bottom: 1.5rem; }
body .alert .close { position: absolute; top: 0.6rem; right: 1rem; }
body .alert .close:hover,
body .alert .close:active,
body .alert .close:focus { box-shadow: none; outline: none; }
body .alert.alert-sm { padding: 0.5rem 1rem; font-size: 90%; line-height: 1; }
body .alert.alert-sm .close { top: 45%; transform: translateY(-50%); }
body .alert.alert-has-close { padding-right: 2.5rem; }

/* Toast Styles */
body .toast { max-height: 0; height: auto; transform: translateX(10%); max-width: 20rem; min-width: 16.5rem; box-shadow: var(--dropShadow); opacity: 0; transition: all ease-in-out 0.2s; }
body .toast.in { max-height: 100vh; transform: translateX(0); opacity: 1; }
body .toast .toast-header .toast-icon { width: 1rem; height: 1rem; margin-right: 0.5rem; position: relative; top: 0.0625rem; }
body .toast .toast-header .toast-close { opacity: 0.5; padding: 0.25rem; margin: 0; background-color: transparent; position: relative; left: 0.35rem; top: 0.0625rem; }
body .toast .toast-header .toast-close:hover,
body .toast .toast-header .toast-close:focus,
body .toast .toast-header .toast-close:active { opacity: 1; }
body .toast .toast-header .toast-close .icon { margin: 0; width: 1rem; height: 1rem; }

/* Fancybox Adjustments */
body .fancybox-button { box-shadow: none; }
body .fancybox-thumbs__list a:before { border-color: hsl(var(--siteColor1)); }
body .fancybox-thumbs { background-color: hsla(var(--black), 50%); }

/* Data Tables */
.dataTables_wrapper { margin: 0.625rem 0; border-top: 0.0625rem solid #ccc; }
.dataTables_filter { float: none !important; padding: 1.25rem 0; text-align: left !important; }
.dataTables_filter label { display: flex; flex-wrap: wrap; align-items: center; margin: 0; font-family: var(--bodyFont); font-size: 1.3125rem; color: hsl(var(--siteColor1)); line-height: 1.25; font-weight: var(--wMedium); text-transform: uppercase; }
.dataTables_filter label > span { margin-right: 0.625rem; }
.dataTables_filter input[type=search] { width: 18.75rem; max-width: 100%; margin: 0 !important;  border: 0.0625rem solid #ccc; }
.dataTable thead .sorting,
.dataTable thead .sorting_asc,
.dataTable thead .sorting_desc { position: relative; background: none; }
.dataTable thead .sorting:after,
.dataTable thead .sorting_asc:after,
.dataTable thead .sorting_desc:after { content: ""; display: block; width: 1.25rem; position: absolute; top: 0; right: 0; }

/* Swiper JS */
.swiper-lazy-preloader { z-index: 1; }
