/* || Variables */

:root {
    /* fonts */
    --headingFont: 'halyard-display', sans-serif;
    --bodyFont: Helvetica, Arial, sans-serif;
    /* colors */
    --primaryBlue: #1c2d59;
    --secondaryBlue: #6475a0;
    /* --primaryGreen: #339a99; */
    --primaryGreen: #2B8281;
    --secondaryGreen: #5dadae;
    --primaryYellow: #ffa630;
    --bgLight: #e8ebf1;
    /* defaults */
    --borderRadius: 24px;
}


/* || General */

html {
    scroll-behavior: smooth;
}

body {
    color: #070707;
    font-size: 17px;
    line-height: 1.525;
    font-family: var(--bodyFont);
}

b,
strong {
    font-weight: 600;
}

img {
    max-width: 100%;
}

hr {
    margin: 45px 0;
    border-color: #cfdce2;
}

.separator {
    margin: 1rem auto;
    height: 2px;
    background: linear-gradient(to right, #fff, #333, #fff);
    width: 50%;
}

a {
    color: var(--primaryBlue);
    font-weight: 600;
}

a:hover,
a:focus {
    color: var(--primaryGreen);
}

a.accordion-button:hover,
a.accordion-button:focus {
    color: var(--bgLight);
}


/* || Typography */

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
    font-family: var(--headingFont);
    margin-bottom: 1.5rem;
    color: var(--primaryBlue);
}

.h1,
h1 {
    font-size: 2.65rem;
}

.h2,
h2 {
    font-size: 2.125rem;
}

.h3,
h3 {
    font-size: 1.875rem;
}

.h4,
h4 {
    font-size: 1.5rem;
    /* text-transform: uppercase; */
    margin-bottom: 1rem;
}

.h5,
h5 {
    font-size: 1.25rem;
    /* text-transform: uppercase; */
    margin-bottom: 1rem;
}


/* || Helpers */

.img-rounded {
    border-radius: var(--borderRadius);
}

.hide {
    display: none;
    visibility: hidden;
}

section.padded,
.container.padded {
    padding: 2rem 1rem;
}

.two-col .container.padded,
.container.video-container.padded {
    padding: 65px 16px;
}

.image-wrap {
    border-radius: var(--borderRadius);
    overflow: hidden;
}

.image-wrap::after {
    content: "";
    display: block;
    line-height: 0;
    background: rgb(32, 55, 97);
    background: -moz-linear-gradient(left, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
    background: -webkit-linear-gradient(left, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
    background: linear-gradient(to right, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#203761', endColorstr='#318f93', GradientType=1);
    height: 14px;
}


/* || Header Colors */

.cta-bar :where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: #FFF;
}


/* || Backgrounds */

.gradient-bar,
.gradient-hr {
    display: block;
    line-height: 0;
    background: rgb(32, 55, 97);
    background: -moz-linear-gradient(left, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
    background: -webkit-linear-gradient(left, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
    background: linear-gradient(to right, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#203761', endColorstr='#318f93', GradientType=1);
}

.gradient-bar {
    height: 25px;
}

.gradient-hr {
    height: 5px;
}

.bg-light {
    background-color: var(--bgLight) !important;
}

.callout.bg-light .card {
    background-color: #fff;
}

.callout.bg-light a.btn {
    background-color: var(--primaryBlue);
    color: #fff;
}

.callout.bg-light a.btn:hover {
    opacity: 0.9;
}

.callout .field--name-field-generic-content .image-style-large {
    max-width: 320px;
}

.bg-primary {
    background-color: var(--primaryBlue) !important;
}

.bg-secondary {
    background-color: var(--secondaryGreen) !important;
}

.bg-gradient-dark-blue-light-blue,
.bg-gradient-dark-blue-light-blue-gold {
    background: -webkit-linear-gradient(45deg, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
}

.bg-gradient-light-blue-dark-blue,
.bg-gradient-light-blue-dark-blue-gold {
    background: -webkit-linear-gradient(180deg, rgba(32, 55, 97, 1) 0%, rgba(49, 143, 147, 1) 100%);
}

.bg-gradient-light-blue-gold,
.bg-gradient-light-blue-gold-gold {
    background: -webkit-linear-gradient(180deg, rgba(255, 166, 48, 0.8) 0%, rgba(49, 143, 147, 1) 100%);
}

.callout-text.bg-gradient-dark-blue-light-blue p,
.callout-text.bg-gradient-light-blue-dark-blue p,
.callout-text.bg-gradient-light-blue-gold .card-body p,
.callout-text.bg-gradient-light-blue-gold-gold .card-body p {
    color: #fff !important;
}

.bg-gradient-light-blue-gold-gold h2,
.bg-gradient-light-blue-gold-gold p,
.bg-gradient-light-blue-gold-gold a,
.bg-gradient-light-blue-dark-blue-gold h2,
.bg-gradient-light-blue-dark-blue-gold p,
.bg-gradient-light-blue-dark-blue-gold a,
.bg-gradient-dark-blue-light-blue-gold h2,
.bg-gradient-dark-blue-light-blue-gold p,
.bg-gradient-dark-blue-light-blue-gold a,
.bg-gradient-dark-blue-light-blue h2,
.bg-gradient-dark-blue-light-blue p,
.bg-gradient-dark-blue-light-blue a,
.bg-gradient-light-blue-dark-blue h2,
.bg-gradient-light-blue-dark-blue p,
.bg-gradient-light-blue-dark-blue a,
.bg-gradient-light-blue-gold h2,
.bg-gradient-light-blue-gold p,
.bg-gradient-light-blue-gold a {
    color: #fff;
}

.callout.two-col.bg-gradient-light-blue-dark-blue p,
.callout.two-col.bg-gradient-light-blue-dark-blue a,
.callout.two-col.bg-gradient-light-blue-dark-blue a.btn,
.callout.two-col .bg-gradient-light-blue-dark-blue p,
.callout.two-col .bg-gradient-light-blue-dark-blue a,
.callout.two-col .bg-gradient-light-blue-dark-blue a.btn {
    color: var(--primaryBlue);
}

.callout.bg-gradient-light-blue-dark-blue p,
.callout.bg-gradient-light-blue-dark-blue a,
.callout.bg-gradient-light-blue-dark-blue a.btn,
.callout .bg-gradient-light-blue-dark-blue p,
.callout .bg-gradient-light-blue-dark-blue a,
.callout .bg-gradient-light-blue-dark-blue a.btn {
    color: #fff;
}

.callout.two-col.bg-gradient-dark-blue-light-blue p,
.callout.two-col.bg-gradient-dark-blue-light-blue a,
.callout.two-col.bg-gradient-dark-blue-light-blue a.btn,
.callout.two-col .bg-gradient-dark-blue-light-blue p,
.callout.two-col .bg-gradient-dark-blue-light-blue a,
.callout.two-col .bg-gradient-dark-blue-light-blue a.btn {
    color: var(--primaryBlue);
}

.callout.bg-gradient-dark-blue-light-blue p,
.callout.bg-gradient-dark-blue-light-blue a,
.callout.bg-gradient-dark-blue-light-blue a.btn,
.callout .bg-gradient-dark-blue-light-blue p,
.callout .bg-gradient-dark-blue-light-blue a,
.callout .bg-gradient-dark-blue-light-blue a.btn {
    color: #fff;
}

.callout.two-col.bg-gradient-light-blue-gold p,
.callout.two-col .bg-gradient-light-blue-gold p,
.callout.two-col.bg-gradient-light-blue-gold a,
.callout.two-col.bg-gradient-light-blue-gold a.btn,
.callout.two-col .bg-gradient-light-blue-gold a,
.callout.two-col .bg-gradient-light-blue-gold a.btn,
.bg-gradient-light-blue-gold a.btn {
    /* background-color: #fff !important; */
    color: var(--primaryBlue);
}

.callout.bg-gradient-light-blue-gold p,
.callout .bg-gradient-light-blue-gold p,
.callout.bg-gradient-light-blue-gold a,
.callout.bg-gradient-light-blue-gold a.btn,
.callout .bg-gradient-light-blue-gold a,
.callout .bg-gradient-light-blue-gold a.btn,
.bg-gradient-light-blue-gold a.btn {
    /* background-color: #fff !important; */
    color: #fff;
}

.callout.generic.bg-gradient-light-blue-gold .card-title,
.callout.generic .bg-gradient-light-blue-gold .card-title,
.callout.generic .bg-gradient-light-blue-gold,
.callout.generic.bg-gradient-light-blue-gold,
.callout.generic.bg-gradient-light-blue-gold a,
.callout.generic .bg-gradient-light-blue-gold a,
.callout.generic.bg-gradient-light-blue-gold p,
.callout.generic .bg-gradient-light-blue-gold p {
    color: #fff;
}

.callout.bg-secondary a.btn {
    background-color: var(--primaryBlue) !important;
    color: #fff;
}

.view a.btn.btn-secondary {
    background-color: var(--primaryBlue) !important;
    color: #fff;
    border: none;
}

.view a.btn.btn-secondary:hover {
    opacity: 0.9;
}

.view a.btn.btn-secondary:active {
    color: #fff;
}

.callout.bg-secondary a.btn:hover {
    opacity: 0.9;
}

.bg-diamond {
    position: relative;
}

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

.bg-diamond::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    width: 138px;
    background-image: url('../images/diamond-tile.jpg');
    background-size: contain;
    background-repeat: repeat-y;
    background-position: left -40px;
}

.bg-diamond::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: auto;
    right: 0;
    width: 138px;
    background-image: url('../images/diamond-tile.jpg');
    background-size: contain;
    background-repeat: repeat-y;
    background-position: right -40px;
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}


/* || Buttons */

.btn {
    text-align: center;
    font-weight: 700;
    border-radius: 19px;
    padding-left: 30px;
    padding-right: 30px;
}

.btn-group-lg>.btn,
.btn-lg {
    border-radius: 24px;
}

.btn-primary {
    border-color: var(--primaryYellow);
    background-color: var(--primaryYellow);
    color: var(--primaryBlue);
    fill: var(--primaryBlue);
}

footer #btn-translate {
    margin-top: 20px;
    border: 1px solid #fff;
}

footer #btn-translate a {
    color: var(--bs-dropdown-color)!important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
    border-color: var(--primaryYellow);
    background-color: var(--primaryYellow);
    color: var(--primaryBlue);
    opacity: 0.9;
}

#edit-submit-shop-plans.btn-primary,
.btn-secondary {
    border-color: var(--primaryBlue);
    background-color: var(--primaryBlue);
    color: #FFF;
    fill: #FFF;
}

#edit-submit-shop-plans.btn-primary:hover,
.btn-secondary:hover,
#edit-submit-shop-plans.btn-primary:focus,
.btn-secondary:focus,
#edit-submit-shop-plans.btn-primary:active,
.btn-secondary:active,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show>.btn-secondary.dropdown-toggle {
    border-color: var(--primaryBlue);
    background-color: var(--primaryBlue);
    color: #FFF;
    opacity: 0.9;
}

#edit-submit-shop-plans.btn-primary,
.btn-secondary-link .icon svg path {
    fill: #fff;
}

.btn-light {
    border-color: #FFF;
    background-color: #FFF;
    color: var(--primaryBlue);
    fill: var(--primaryBlue);
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active,
.btn-light:not(:disabled):not(.disabled).active,
.btn-light:not(:disabled):not(.disabled):active,
.show>.btn-light.dropdown-toggle {
    border-color: #FFF;
    background-color: #FFF;
    color: var(--primaryBlue);
    opacity: 0.9;
}

.btn .icon {
    width: 20px;
    height: 20px;
    line-height: 0;
    margin-right: 8px;
    display: inline-block;
}

.btn .icon.icon-right {
    margin-right: 0;
    margin-left: 8px;
}

.btn .icon svg {
    width: 100%;
}

.btn .icon svg path {
    fill: inherit;
}

.dropdown .btn.dropdown-toggle::after {
    position: absolute;
    right: .75rem;
}


/* || Forms */

.form-control {
    border-radius: 19px;
}

.input-group-text {
    border-radius: 19px;
    background-color: #FFF;
    border-color: #FFF;
    fill: var(--primaryBlue);
}

.input-group-text path {
    fill: inherit;
}

.input-group .form-control {
    border-color: #FFF;
    padding-left: 0;
}


/* || Cards */

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

.card-img-top {
    border-top-left-radius: var(--borderRadius);
    border-top-right-radius: var(--borderRadius);
}


/* || Accordions */

.accordion {
    position: relative;
    /* border-radius: var(--borderRadius); */
    border-radius: 0;
}

.accordion:not(.accordion-flush) .accordion-item {
    margin-bottom: 15px;
}

.accordion:not(.accordion-flush) .accordion-item,
.accordion:not(.accordion-flush) .accordion-item:first-of-type,
.accordion:not(.accordion-flush) .accordion-item:first-of-type .accordion-button,
.accordion:not(.accordion-flush) .accordion-item:last-of-type .accordion-button.collapsed {
    border-radius: 0;
    border: none;
}

.accordion.accordion-flush .accordion-item:first-of-type .accordion-button {
    border-top-left-radius: var(--borderRadius);
    border-top-right-radius: var(--borderRadius);
}

.accordion.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-left-radius: var(--borderRadius);
    border-bottom-right-radius: var(--borderRadius);
}

.accordion-button,
.accordion-button:not(.collapsed) {
    background-color: var(--primaryBlue);
    color: #FFF;
}

.accordion:not(.accordion-flush) .accordion-button,
.accordion:not(.accordion-flush) .accordion-button:not(.collapsed) {
    border-radius: var(--borderRadius) !important;
}

.accordion:not(.accordion-flush) .accordion-button:not(.collapsed) {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.accordion-button::after {
    /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M256 80l0-32-64 0 0 32 0 144L48 224l-32 0 0 64 32 0 144 0 0 144 0 32 64 0 0-32 0-144 144 0 32 0 0-64-32 0-144 0 0-144z"/></svg> */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23FFF'%3e%3cpath fill-rule='evenodd' d='M256 80l0-32-64 0 0 32 0 144L48 224l-32 0 0 64 32 0 144 0 0 144 0 32 64 0 0-32 0-144 144 0 32 0 0-64-32 0-144 0 0-144z'/%3e%3c/svg%3e");
    /* background-image: url(/themes/contrib/bootstrap5/images/icons/custom/dark_plus.svg); */
}

.accordion-button:not(.collapsed)::after {
    /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--><path d="M432 288l-32 0L48 288l-32 0 0-64 32 0 352 0 32 0 0 64z"/></svg> */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23FFF'%3e%3cpath fill-rule='evenodd' d='M432 288l-32 0L48 288l-32 0 0-64 32 0 352 0 32 0 0 64z'/%3e%3c/svg%3e");
    /* background-image: url(/themes/contrib/bootstrap5/images/icons/custom/dark_dash.svg); */
}

.accordion.white-background-dark-blue-text-dark-blue-border .accordion-button {
    background-color: #fff;
    color: var(--primaryBlue);
    border: 1px solid var(--primaryBlue);
}

.accordion.white-background-dark-blue-text-no-border .accordion-button {
    background-color: #fff;
    color: var(--primaryBlue);
}

.accordion.gold-background-dark-blue-text .accordion-button {
    background-color: var(--primaryYellow);
    color: var(--primaryBlue);
}

.accordion.teal-background-dark-blue-text .accordion-button {
    background-color: var(--secondaryGreen);
    color: var(--primaryBlue);
}

.accordion.white-background-dark-blue-text-no-border .accordion-body,
.accordion.white-background-dark-blue-text-dark-blue-border .accordion-body,
.accordion.gold-background-dark-blue-text .accordion-body,
.accordion.teal-background-dark-blue-text .accordion-body {
    background-color: #fff;
}

.accordion.white-background-dark-blue-text-dark-blue-border .accordion-button::after,
.accordion.white-background-dark-blue-text-no-border .accordion-button::after,
.accordion.gold-background-dark-blue-text .accordion-button::after,
.accordion.teal-background-dark-blue-text .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M256 80l0-32-64 0 0 32 0 144L48 224l-32 0 0 64 32 0 144 0 0 144 0 32 64 0 0-32 0-144 144 0 32 0 0-64-32 0-144 0 0-144z'/%3e%3c/svg%3e");
}

.accordion.white-background-dark-blue-text-dark-blue-border .accordion-button:not(.collapsed)::after,
.accordion.white-background-dark-blue-text-no-border .accordion-button:not(.collapsed)::after,
.accordion.gold-background-dark-blue-text .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M432 288l-32 0L48 288l-32 0 0-64 32 0 352 0 32 0 0 64z'/%3e%3c/svg%3e");
}

.accordion.dark-blue .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23FFF'%3e%3cpath fill-rule='evenodd' d='M256 80l0-32-64 0 0 32 0 144L48 224l-32 0 0 64 32 0 144 0 0 144 0 32 64 0 0-32 0-144 144 0 32 0 0-64-32 0-144 0 0-144z'/%3e%3c/svg%3e");
}

.accordion.dark-blue .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23FFF'%3e%3cpath fill-rule='evenodd' d='M432 288l-32 0L48 288l-32 0 0-64 32 0 352 0 32 0 0 64z'/%3e%3c/svg%3e");
}

.accordion.white-background-dark-blue-text-no-border .accordion-body {
    background-color: #fff;
}

.accordion-body {
    background-color: var(--bgLight);
    padding: 20px 40px;
}

.accordion:not(.accordion-flush) .accordion-body,
.accordion.accordion-flush .accordion-item:last-of-type .accordion-body {
    border-bottom-left-radius: var(--borderRadius);
    border-bottom-right-radius: var(--borderRadius);
}

.accordion-body p:last-child {
    margin-bottom: 0;
}


/* || List Groups */

.list-group {
    position: relative;
    border-radius: 0;
    margin-bottom: 20px;
}

.list-group-item {
    background-color: var(--bgLight);
    border: none;
    overflow: hidden;
    padding: 15px 20px 30px 20px;
    margin-left: 0;
}

.list-group:not(.list-group-flush) .list-group-item {
    margin-bottom: 15px;
    border-radius: var(--borderRadius);
    padding: 15px 20px 30px 20px;
}

.list-group-flush>.list-group-item {
    border-width: 0 0 var(--bs-list-group-border-width);
    padding: 15px 20px 30px 20px;
}

.list-group-item:first-child {
    border-top-left-radius: var(--borderRadius);
    border-top-right-radius: var(--borderRadius);
}

.list-group-item:last-child {
    border-bottom-left-radius: var(--borderRadius);
    border-bottom-right-radius: var(--borderRadius);
}

.list-group-item::after {
    content: "";
    display: block;
    height: 14px;
    background-color: var(--primaryBlue);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.list-group.list-group-flush .list-group-item::after {
    height: 0;
}

.list-group.list-group-flush .list-group-item:last-child {
    padding-bottom: 30px;
}

.list-group.list-group-flush .list-group-item:last-child::after {
    /* display: none; */
    height: 14px;
}

.accordion .list-group.list-group-flush .list-group-item::after {
    height: 2px;
}

.accordion .list-group.list-group-flush .list-group-item:last-child {
    padding-bottom: 20px;
}

.accordion .list-group.list-group-flush .list-group-item:last-child::after {
    display: none;
}

.list-group-item p:last-child {
    margin-bottom: 0;
}

.accordion-body .list-group-flush {
    margin: 0 -40px;
}

.accordion-body .list-group-flush .list-group-item {
    padding: 20px 40px;
}

.list-group-item .fw-bold {
    color: var(--primaryBlue);
}

.list-group-numbered>.list-group-item::before {
    color: var(--primaryBlue);
    font-weight: 700;
}


/* || Breadcrumb */

.breadcrumb {
    --bs-breadcrumb-divider-color: rgba(255, 255, 255, 0.7);
    --bs-breadcrumb-item-active-color: #FFF;
}

.breadcrumb-item a {
    color: var(--secondaryGreen);
    text-decoration: none;
    font-weight: 400;
}

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

.region-content {
    padding: 0;
}