:root {
    --bs-primary-rgb: 200, 16, 46;
    --bs-primary: #C8102E;
    --bs-secondary-rgb: 16, 32, 48;
    --bs-secondary: #102030;
    --bs-card-border-radius: 2rem var(--bs-border-radius) var(--bs-border-radius);
    --bs-link-color-rgb: 200, 16, 46;
    --bs-link-hover-color-rgb: 200, 16, 46;
}

html {
    font-size: 17px;
}

body {
    font-family: 'IBM Plex Sans', sans-serif;
    line-height: 1.5;
    font-weight: 400;
    color: #102030;
}

a {
    text-decoration: none;
}

ul {
    list-style-type: none;
    padding: 0;
}

ul li {
    padding-left: 1rem;
    position: relative;
    font-size: 1rem;
    line-height: 2;
}

ul li::before {
    content: '';
    width: .6rem;
    height: .6rem;
    background-image: url(../images/hand-decorator.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: .7rem;
    left: 0;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-weight: 900;
}

.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 1rem;
}

.lead {
    font-size: 1rem;
    font-weight: 300;
}

.display-3 {
    font-size: calc(1rem + 3.3vw);
}

.btn {
    --bs-btn-padding-x: 2rem;
    --bs-btn-padding-y: .5rem;
    --bs-border-radius: 10px;
    font-size: 1.125rem;
    font-weight: 400;
}

.btn.btn-primary {
    --bs-btn-bg: #C8102E;
    --bs-btn-border-color: #C8102E;
    --bs-btn-hover-bg: #B30925;
    --bs-btn-hover-border-color: #B30925;
    --bs-btn-active-bg: #A1001B;
    --bs-btn-active-border-color: #A1001B;
    --bs-btn-disabled-bg: #C6C6C6;
    --bs-btn-disabled-border-color: #C6C6C6;
}

.btn-outline-primary {
    --bs-btn-color: #C8102E;
    --bs-btn-border-color: #C8102E;
    --bs-btn-hover-bg: #C8102E;
    --bs-btn-hover-border-color: #C8102E;
    --bs-btn-active-bg: #C8102E;
    --bs-btn-active-border-color: #C8102E;
    --bs-btn-disabled-color: #C8102E;
    --bs-btn-disabled-border-color: #C8102E;
}

.accordion-button:not(.collapsed) {
    color: #fff;
    background-color: var(--bs-secondary);
}

.accordion-button:not(.collapsed)::after {
    filter: invert(100) contrast(100);
}

.accordion-button:focus {
    box-shadow: none;
    border-color: var(--bs-secondary);
}

.section {
    padding: 40px 0;
}

.h1, .h2 {
    position: relative;
    margin-bottom: 1rem;
}

.h3 {
    margin-bottom: 1rem;
}

.display-3 {
    font-size: calc(1.5rem + 2.5vw);
}

/*.h1::after, .h2::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    bottom: -8px;*/
/*    right: 0;*/
/*    left: 0;*/
/*    height: 6px;*/
/*    background-color: #C8102E;*/
/*}*/

.bg-primary .h1::after, .bg-primary .h2::after {
    background-color: #FFF;
}

.subtitle {
    color: #C8102E;
    font-weight: 500;
    font-size: 1rem;
}

b, strong {
    font-weight: 500;
}

.card {
    padding: 1.5rem;
    height: 100%;
    /*box-shadow: 0 0.25rem 1.25rem rgba(0,0,0,.15);*/
    border: 1px solid #e0e0e0;
    justify-content: space-between;
    border-radius: 0.375rem;
}

.card .card-img {
    display: block;
    width: 50%;
}

.bg-light {
    background-color: #F9F9F9 !important;
}

.modal-body .btn-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.tns-outer {
    position: relative;
    margin-bottom: 2rem;
}

.tns-outer .tns-nav {
    position: absolute;
    bottom: -2.5rem;
    left: 0;
    right: 0;
}

.tns-outer .tns-nav button {
    width: .75rem;
    height: .75rem;
    border-radius: 100%;
    padding: 0;
    border: 2px solid #C8102E;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.tns-outer .tns-nav button + button {
    margin-left: .5rem;
}

.tns-outer .tns-nav .tns-nav-active {
    background-color: #C8102E;
}

.tns-outer .tns-controls {
    position: absolute;
    /*display: flex;*/
    justify-content: space-between;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
    display: none;
}

.tns-outer .tns-controls button {
    border: 0;
    background: none;
}

.tns-outer .tns-controls button span {
    width: .75rem;
    height: 2rem;
    display: block;
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
}

.tns-outer .tns-controls .icon-prev {
    background-image: url("../images/icon-left.png");
}

.tns-outer .tns-controls .icon-next {
    background-image: url("../images/icon-right.png");
}

.dropdown-menu {
    border-radius: 0.375rem;
    padding: .5rem 0;
    border: 0;
}

.dropdown .dropdown-item {
    font-size: .8rem;
    text-align: center;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--bs-dropdown-link-hover-bg);
    color: var(--bs-dropdown-link-color);
}
