body {
    scroll-behavior: smooth;
}

::selection {
    background: var(--bs-warning);
    color: var(--bs-dark);
}
::-moz-selection {
    background: var(--bs-warning);
    color: var(--bs-dark);
}
:focus-visible {
    outline: 0.2rem dotted var(--bs-warning);
}

.font-cursive {
    font-family: "Leckerli One", cursive;
}
.font-subhead {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    letter-spacing: 0.05rem;
    text-transform: uppercase;
}
.font-headline {
    font-family: "gotham_bold";
}
.object-fit-cover {
    object-fit: cover;
}
.bg-gradient-h {
    background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(237,237,237,0.5) 15%, rgba(186,186,186,1) 30%, rgba(84,84,84,1) 60%, rgba(84,84,84,1) 100%);
    background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(237,237,237,0.5) 15%,rgba(186,186,186,1) 30%,rgba(84,84,84,1) 60%,rgba(84,84,84,1) 100%);
    background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(237,237,237,0.5) 15%,rgba(186,186,186,1) 30%,rgba(84,84,84,1) 60%,rgba(84,84,84,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#545454',GradientType=1 );
}
.bg-gradient-v {
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
}
.bg-gradient-pattern {
    background-color: var(--bs-white);
    -webkit-mask-image: url("../images/pattern.svg#bg-gradient-pattern-group");
    mask-image: url("../images/pattern.svg#bg-gradient-pattern-group");
    height: 6rem;
    position: absolute;
    left: 0px;
    right: 0px;
    width: 100%;
    z-index: 0;
    -webkit-mask-size: 1rem auto;
    mask-size: 1rem auto;
} 
.bg-gradient-pattern.bottom-0 {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}        
.bg-pattern {
    background-color: var(--bs-white);
    -webkit-mask-image: url("../images/pattern.svg#bg-pattern-group");
    mask-image: url("../images/pattern.svg#bg-pattern-group");
    -webkit-mask-size: 1rem auto;
    mask-size: 1rem auto;
}
.bg-pattern-ts, .bg-pattern-te, .bg-pattern-bs, .bg-pattern-be {
    position: absolute;
    background-position: 0 0, 5px 5px;
    background-size: 10px 10px;
    height: 45%;
    width: 65%;
    z-index: -1;
}
.bg-pattern-bs {
    bottom: -2rem;
    left: -2rem;
}
.bg-pattern-be {
    bottom: -2rem;
    right: -2rem;
}
.bg-pattern-ts {
    top: -2rem;
    left: -2rem;
}
.bg-pattern-te {
    top: -2rem;
    right: -2rem;
}
.btn.btn-cover::before {
    content:'';
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.1);
    -webkit-transition: background-color 0.25s ease-in-out;
    -o-transition: background-color 0.25s ease-in-out;
    transition: background-color 0.25s ease-in-out;
}
.btn.btn-cover:hover::before,
.btn.btn-cover:focus::before,
.btn.btn-cover:active::before {
    background-color: rgba(0,0,0,0);
}
.btn.btn-arrow, .btn.btn-icon {
    padding: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
}
.btn .btn-wrapper {
    position: relative;
    overflow: hidden;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: .375rem .75rem .375rem .75rem;
}
.btn.btn-icon.btn-sm .btn-wrapper {
    padding: .25rem .5rem .25rem .5rem;
}
.btn.btn-icon.btn-lg .btn-wrapper {
    padding: .5rem 1rem .5rem 1rem;
}
.btn.btn-arrow .btn-wrapper {
    padding: .375rem 3rem .375rem .75rem;
}
.btn.btn-arrow.btn-sm .btn-wrapper {
    padding: .25rem 2.55rem .25rem .5rem;
}
.btn.btn-arrow.btn-lg .btn-wrapper {
    padding: .5rem 4rem .5rem 1rem;
}
.btn.btn-arrow .arrow {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    width: 2.5rem;
    height: 100%;
    font-size: 1.5rem;
    border-left-color: inherit;
    border-left-width: 1px;
    border-left-style: solid;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-weight: 300;
    -webkit-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
}
.btn.btn-arrow.btn-sm .arrow {
    width: 2rem;
    font-size: 1.25rem;
}
.btn.btn-arrow.btn-lg .arrow {
    width: 3.25rem;
    font-size: 1.55rem;
}
.btn.btn-arrow .arrow::before {
    top: 50%;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.btn.btn-arrow:focus .arrow,
.btn.btn-arrow:active .arrow,
.btn.btn-arrow:hover .arrow {
    color: var(--bs-dark);
    background-color: var(--bs-warning);
}
.btn.btn-icon .btn-wrapper {
    padding-left: 3rem !important;
}
.btn.btn-icon.btn-sm .btn-wrapper {
    padding-left: 2.25rem !important;
}
.btn.btn-icon.btn-lg .btn-wrapper {
    padding-left: 3.25rem !important;
}
.btn.btn-icon .icon {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 3rem;
    height: 100%;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-weight: 300;
    font-size: 1.5rem;
}
.btn.btn-icon.btn-sm .icon {
    width: 2.5rem;
    font-size: 1.25rem;
}
.btn.btn-icon.btn-lg .icon {
    width: 3.25rem;
    font-size: 1.55rem;
}
.btn.btn-icon .icon::before {
    top: 50%;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.btn-card {
    overflow: hidden;
    -webkit-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    height: 100%;
}

.btn-card:hover,
.btn-card:focus {
    -webkit-transform: translateY(-0.3rem);
    -ms-transform: translateY(-0.3rem);
    transform: translateY(-0.3rem);
    -webkit-box-shadow: 0 1rem 3rem rgba(18,18,18,0.175) !important;
    box-shadow: 0 1rem 3rem rgba(18,18,18,0.175) !important;
}

.btn-card .arrow {
    overflow: hidden;
    min-width: 4rem;
}

.btn-card:hover .arrow,
.btn-card:focus .arrow {
    -webkit-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    background-color: var(--bs-warning);
}

.btn-card:hover .arrow .fal,
.btn-card:focus .arrow .fal {
    -webkit-animation: arrow-slide 1s 1;
    animation: arrow-slide 1s 1;
}

.category.dropdown .btn {
    border: none;
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.category.dropdown .btn:hover,
.category.dropdown .btn:focus,
.category.dropdown .btn:focus-within {
    border: none;
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-primary);
}

.accordion-button::after {
    font-family: "Font Awesome 6 Pro";
    font-weight: 300;
    content: "\f107" !important;
    transform-origin: .375rem;
}

.hover-shadow {
    transition: ease all 1s;
}

.hover-shadow:hover,
.hover-shadow:focus {
    z-index: 1;
    transform: scale(1.01);
    box-shadow: 0 0.5rem 1rem rgba(18,18,18,0.15) !important;
}

/*btn.btn-arrow:hover {
  color: var(--bs-white);
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}*/

.link-light:focus,
.link-light:hover {
    color: rgba(255,255,255,0.75);
}

.link-light:focus .fal,
.link-light:hover .fal {
    color: var(--bs-warning);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.bg-img {
    min-height: 20rem;
    margin-bottom: -10rem;
    position: relative;
}

.blockquote p::before {
    font-family: "gotham_bold";
    font-weight: 300;
    font-size: 20rem;
    opacity: .2;
    position: absolute;
    top: -10%;
    left: 0;
    content: "\201C" !important;
}
.blockquote p::after {
    font-family: "gotham_bold";
    font-weight: 300;
    font-size: 10rem;
    opacity: .2;
    position: absolute;
    bottom: 10%;
    right: 0;
    content: "\201D" !important;
}
@media (min-width: 992px) {
    .blockquote p::before {
        left: 10%;
    }
    .blockquote p::after {
        right: 15%;
    }
}

@media (min-width: 768px) {
    .bg-img {
        min-height: 20rem;
        margin-bottom: unset;
        position: absolute;
    }
}

#navigation .nav-item {
    position: relative;
}

#navigation .nav-item.active a {
    color: var(--bs-dark);
}

#navigation .nav-item::after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 0%;
    content: '';
    background: #141414;
    height: 1px;
    transition: all .5s;
}

#navigation .nav-item:focus::after,
#navigation .nav-item:hover::after {
    width: 100%;
}

#nav-btn {
    box-shadow: none;
}

#nav-btn .nav-icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.5rem;
    position: relative;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

#nav-btn .nav-icon span {
    display: block;
    position: absolute;
    height: 0.1rem;
    width: 100%;
    background-color: #141414;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

#nav-btn .nav-icon span:nth-child(1) {
    top: 0rem;
}

#nav-btn .nav-icon span:nth-child(2),
#nav-btn .nav-icon span:nth-child(3) {
    top: 0.5rem;
}

#nav-btn .nav-icon span:nth-child(4) {
    top: 1rem;
}

#nav-btn[aria-expanded="true"] .nav-icon span:nth-child(1),
#nav-btn[aria-expanded="true"] .nav-icon span:nth-child(4) {
    top: 0.5rem;
    width: 0%;
    left: 50%;
}

#nav-btn[aria-expanded="true"] .nav-icon span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

#nav-btn[aria-expanded="true"] .nav-icon span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/*animations*/

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUp {
    -webkit-animation: fadeInUp 0.5s 1;
    animation: fadeInUp 0.5s 1;
}

@-webkit-keyframes arrow-slide {
    20%   {
        -webkit-transform: translateX(200%);
                transform: translateX(200%);
    }
    21%   {
        -webkit-transform: translateX(-200%);
                transform: translateX(-200%);
    }	
    100% {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);
    }
}

@keyframes arrow-slide {
    20%   {
        -webkit-transform: translateX(200%);
                transform: translateX(200%);
    }
    21%   {
        -webkit-transform: translateX(-200%);
                transform: translateX(-200%);
    }	
    100% {
        -webkit-transform: translateX(0px);
                transform: translateX(0px);
    }
}

/*modal / agenda print*/

@media print {
    body * {
        color: #000000 !important;
    }
    body.modal-open main > div:not(.modal),
    body.modal-open header,
    body.modal-open footer {
        display: none !important;
    }
    .modal-backdrop {
        display: none !important;
    }
    #agenda .page-break {
        page-break-inside: avoid;
    }
    #agenda {
        position: relative !important;
    }
    #agenda .modal-header,
    #agenda .modal-body {
        padding: 0 !important;
    }
    #agenda .modal-title {
        font-size: 1.4rem !important;
        margin: 0 !important;
    }
    #agenda .modal-lead {
        margin-top: 0 !important;
    }
    #agenda h4 {
        color: #000000 !important;
        font-size: 1.1rem !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        background-color: transparent !important;
    }
    #agenda .row.py-3 {
        padding-top: 0.9rem !important;
        padding-bottom: 0.9rem !important;
    }
    #agenda .accordion-button::after {
        content:'' !important;
    }
}