:root {
    --com-blue-100: #eaf0fa;
    --com-blue-100-rgb: 234, 240, 250;
    --com-blue-200: #2760a7;
    --com-blue-200-rgb: 39, 96, 167;
    --com-blue-300: #4e7cb7;
    --com-blue-300-rgb: 78, 124, 183;
    --com-orange-100: #fead29;
    --com-orange-100-rgb: 254, 173, 41;
    --com-orange-200: #f69903;
    --com-orange-200-rgb: 246, 153, 3;
    --com-dark-100: #1d1d1b;
    --com-dark-100-rgb: 29, 29, 27;
    --com-nav-height: 84px;
    --com-footer-height: 299px;
}

.text-dark {
    color: var(--com-dark-100) !important;
}

.pt-nav-0 {
    padding-top: var(--com-nav-height);
}

.pt-nav-1 {
    padding-top: calc(var(--com-nav-height) + 1rem);
}

.pt-nav-2 {
    padding-top: calc(var(--com-nav-height) + 2rem);
}

a {
    transition: 400ms all ease;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    outline: none;
}

.bg-blue-300 a:not(.btn) {
    color: rgba(var(--bs-white-rgb), .75);
}

.bg-blue-300 a:not(.btn):hover,
.bg-blue-300 a:not(.btn):active,
.bg-blue-300 a:not(.btn):focus {
    color: rgba(var(--bs-white-rgb), 1);
}

.modal .modal-header-sticky .modal-header,
.modal .modal-footer-sticky .modal-footer {
    position: sticky !important;
    position: -webkit-sticky !important;
    background-color: var(--bs-white);
    z-index: 5;
}

.fa-rotate-45 {
    transform: rotate(45deg);
}

.rounded-4 {
    border-radius: .5rem;
}

.rounded-5 {
    border-radius: 1rem;
}

.rounded-5 {
    border-radius: 2rem;
}

.rounded-6 {
    border-radius: 3.75rem;
}

.rounded-top-4 {
    border-radius: .75rem .75rem 0 0;
}

.rounded-end-4 {
    border-radius: 0 .75rem .75rem 0;
}

.rounded-bottom-4 {
    border-radius: 0 0 .75rem .75rem;
}

.rounded-start-4 {
    border-radius: .75rem 0 0 .75rem;
}

.rounded-top-5 {
    border-radius: 2rem 2rem 0 0;
}

.rounded-end-5 {
    border-radius: 0 2rem 2rem 0;
}

.rounded-bottom-5 {
    border-radius: 0 0 2rem 2rem;
}

.rounded-start-5 {
    border-radius: 2rem 0 0 2rem;
}

.order-6 { order: 6 !important; }
.order-7 { order: 6 !important; }
.order-8 { order: 6 !important; }
.order-9 { order: 6 !important; }
.order-10 { order: 6 !important; }
.order-11 { order: 6 !important; }
.order-12 { order: 6 !important; }

.overflow-hidden-x {
    overflow-x: hidden;
}

.img-overlay {
    background-color: rgba(var(--com-blue-300-rgb), .25);
}

.text-shadow {
    text-shadow: 2px 2px rgba(var(--com-blue-300-rgb), 1);
}

.carousel-indicators-rounded button[data-bs-slide-to] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 0;
    margin-bottom: 10px;
}

.btn-outline-blue {
    color: var(--com-blue-300);
    border: 2px solid var(--com-blue-300);
    background-color: transparent;
}

.btn-outline-blue:hover {
    color: var(--bs-white);
    background-color: var(--com-blue-300);
}

.btn-blue-100,
.btn-blue-200,
.btn-blue-300,
.btn-neon {
    box-shadow: none !important;
}

.btn-blue-100 {
    color: var(--bs-white) !important;
    background-color: rgba(var(--com-blue-100-rgb), .85);
    border-color: rgba(var(--com-blue-100-rgb), .85);
}

.btn-blue-100:hover {
    background-color: rgba(var(--com-blue-100-rgb), 1);
    border-color: rgba(var(--com-blue-100-rgb), 1);
}

.btn-blue-200 {
    color: var(--bs-white) !important;
    background-color: rgba(var(--com-blue-300-rgb), .71);
    border-color: rgba(var(--com-blue-300-rgb), .71);
}

.btn-blue-200:hover {
    background-color: rgba(var(--com-blue-300-rgb), .85);
    border-color: rgba(var(--com-blue-300-rgb), .85);
}

.btn-blue-300 {
    color: var(--bs-white) !important;
    background-color: rgba(var(--com-blue-300-rgb), .85);
    border-color: rgba(var(--com-blue-300-rgb), .85);
}

.btn-blue-300:hover {
    background-color: rgba(var(--com-blue-300-rgb), 1);
    border-color: rgba(var(--com-blue-300-rgb), 1);
}

.btn-orange {
    color: var(--bs-white) !important;
    background-color: rgba(var(--com-orange-100-rgb), 1);
    border-color: rgba(var(--com-orange-100-rgb), 1);
    box-shadow: 0px 1px 1.32738px rgba(0, 0, 0, 0.25) !important;
    font-family: 'Montserrat', sans-serif;
}

.btn-orange:hover {
    color: var(--bs-white) !important;
    background-color: rgba(var(--com-orange-200-rgb), 1);
    border-color: rgba(var(--com-orange-200-rgb), 1);
}

.bg-blue-100 {
    background-color: var(--com-blue-100);
}

.bg-blue-200 {
    background-color: var(--com-blue-200);
}

.text-blue-200 {
    color: var(--com-blue-200);
}

.bg-blue-300 {
    background-color: var(--com-blue-300);
}

.bg-orange-100 {
    background-color: var(--com-orange-100);
}

.bg-orange-200 {
    background-color: var(--com-orange-200);
}

.text-orange {
    color: var(--com-orange-200);
}

p > a:not(.btn),
.link-blue-300 {
    color: var(--com-blue-300);
}

p > a:not(.btn):hover,
.link-blue-300:hover {
    color: var(--com-blue-200);
}

.text-neon {
    color: var(--com-neon-200);
}

.link-neon {
    color: rgba(var(--com-neon-200-rgb), .75);
}

.link-neon:hover {
    color: rgba(var(--com-neon-200-rgb), 1);
}

.border-blue-100 {
    border-color: var(--com-blue-100) !important;
}

.border-blue-200 {
    border-color: var(--com-blue-200) !important;
}

.border-blue-300 {
    border-color: var(--com-blue-300) !important;
}

.carousel-slick-track.align-items-center .slick-track {
    display: flex;
    align-items: center;
}

.carousel-slick-track.align-items-stretch .slick-track {
    display: flex;
    align-items: stretch;
}

.z-index-0 {
    z-index: 0;
}

.z-index-1 {
    z-index: 1;
}

.z-index-2 {
    z-index: 2;
}

.z-index-3 {
    z-index: 3;
}

a.bg-white {
    background-color: rgba(255, 255, 255, 0.85) !important;
}

a.bg-white:hover {
    background-color: rgba(255, 255, 255, 1) !important;
}

.g-6,
.gx-6 {
    --bs-gutter-x: 4rem;
}

.g-6,
.gy-6 {
    --bs-gutter-y: 4rem;
}

.combo-squares {
    position: relative;
    background-color: var(--com-blue-200);
    width: 2.4rem;
    height: 2.4rem;
    min-width: 2.4rem;
    min-height: 2.4rem;
    border-radius: .25rem;
}

.combo-squares::after {
    content: '';
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    background-color: var(--com-orange-200);
    border-radius: .25rem;
    top: -.8rem;
    right: -.8rem;
}

.shadow-sm-on-hover {
    transition: 150ms all ease;
}
.shadow-sm-on-hover:hover {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important
}

.flip-card {
    perspective: 1000px;
    cursor: pointer;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

.is-mobile .flip-card-inner::after {
    position: absolute;
    top: .5rem;
    right: .8rem;
    content: '\f107';
    font-family: 'FontAwesome';
}

.flip-card:not(.flip-card-fade):hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: 250ms opacity ease;
}

.flip-card:not(.flip-card-fade) .flip-card-back {
    transform: rotateY(180deg);
}

.flip-card.flip-card-fade .flip-card-front {
    opacity: 1;
    transition-delay: 250ms;
}

.flip-card.flip-card-fade .flip-card-back {
    opacity: 0;
    transition-delay: 0ms;
}

.flip-card.flip-card-fade:hover .flip-card-front {
    opacity: 0;
    transition-delay: 0ms;
}

.flip-card.flip-card-fade:hover .flip-card-back {
    opacity: 1;
    transition-delay: 250ms;
}

.rounded-cirlce.shape-outside-circle {
    shape-outside: circle(50%);
}

.form-control.is-invalid {
    border-color: var(--bs-red) !important;
}

.backdrop .backdrop-helper {
    --backdrop-helper-bg-color: 255, 255, 255;
    --backdrop-helper-opacity: .5;
    background-color: rgba(var(--backdrop-helper-bg-color), var(--backdrop-helper-opacity));
    z-index: 1;
}

.backdrop .backdrop-content * {
    z-index: 2;
}

.grecaptcha-badge {
    opacity: .25;
}

.grecaptcha-badge:hover {
    opacity: 1;
}

.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }

@media (min-width: 576px) {
  .opacity-sm-0 { opacity: 0 !important; }
  .opacity-sm-25 { opacity: .25 !important; }
  .opacity-sm-50 { opacity: .5 !important; }
  .opacity-sm-75 { opacity: .75 !important; }
  .opacity-sm-100 { opacity: 1 !important; }
}

@media (min-width: 768px) {
  .opacity-md-0 { opacity: 0 !important; }
  .opacity-md-25 { opacity: .25 !important; }
  .opacity-md-50 { opacity: .5 !important; }
  .opacity-md-75 { opacity: .75 !important; }
  .opacity-md-100 { opacity: 1 !important; }
}

@media (min-width: 992px) {
  .opacity-lg-0 { opacity: 0 !important; }
  .opacity-lg-25 { opacity: .25 !important; }
  .opacity-lg-50 { opacity: .5 !important; }
  .opacity-lg-75 { opacity: .75 !important; }
  .opacity-lg-100 { opacity: 1 !important; }
}

@media (min-width: 1200px) {
  .opacity-xl-0 { opacity: 0 !important; }
  .opacity-xl-25 { opacity: .25 !important; }
  .opacity-xl-50 { opacity: .5 !important; }
  .opacity-xl-75 { opacity: .75 !important; }
  .opacity-xl-100 { opacity: 1 !important; }
}

@media (min-width: 1400px) {
  .opacity-xxl-0 { opacity: 0 !important; }
  .opacity-xxl-25 { opacity: .25 !important; }
  .opacity-xxl-50 { opacity: .5 !important; }
  .opacity-xxl-75 { opacity: .75 !important; }
  .opacity-xxl-100 { opacity: 1 !important; }
}

@media (min-width: 768px) {
    .text-md-left {
        text-align: left !important;
    }
    
    .text-md-center {
        text-align: center !important;
    }
    
    .text-md-right {
        text-align: right !important;
    }
}

@media (min-width: 992px) {
    .text-lg-left {
        text-align: left !important;
    }
    
    .text-lg-center {
        text-align: center !important;
    }
    
    .text-lg-right {
        text-align: right !important;
    }
}

@media (min-width: 1200px) {
    .text-xl-left {
        text-align: left !important;
    }
    
    .text-xl-center {
        text-align: center !important;
    }
    
    .text-xl-right {
        text-align: right !important;
    }
}