:root {
    --primary-blue: #49c9ff;
    --secondary-green: #7ed957;
    --tertiary-purple: #83129f;
}

/* Text Styles */
a {
    color: var(--primary-blue)
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1, footer a, button, .btn {
    font-family: "League Spartan", sans-serif;
    font-weight: 700;
}

    h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1, button, .btn:not(.btn-link) {
        letter-spacing: 2px;
    }

.fs-1, .fs-2, .fs-3, .fs-4, .fs-5, .fs-6 {
    letter-spacing: normal;
}

.text-primary {
    color: var(--primary-blue) !important;
}

.text-secondary {
    color: var(--secondary-green) !important;
}

.text-tertiary {
    color: var(--tertiary-purple) !important;
}

/* Header Styles */

header {
    position: relative;
    z-index: 10000;
}

.navbar .form-control {
    padding-right: 33px;
}

.form-control + .fa.fa-search {
    float: right;
    margin-right: 10px;
    margin-top: -20px;
    position: relative;
    z-index: 2;
    color: var(--bs-secondary-color);
}

/* Footer Styles */

.brand-logos {
    background-color: #000;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    aspect-ratio: 1;
    text-decoration: none;
}

/* Position Styles */

.top-50 {
    transform: translateY(-50%);
}

/* Hero Image Styles */

.hero-img-container {
    height: 50vh;
    position: relative;
}

@media screen and (min-width: 768px) {
    .hero-img-container {
        height: 75vh;
    }
}

.hero-img-container::before {
    content: '';
    display: block;
    height: inherit;
    max-height: 100%;
    width: 100%;
    position: absolute;
    opacity: 35%;
    z-index: 1;
    background-color: #000000;
}

.hero-img-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    padding: 0 12px;
}

    .hero-img-overlay span {
        font-size: 11vw;
        word-wrap: break-word;
        line-height: 0.8;
        letter-spacing: 3px;
    }

@media (min-width: 768px) {
    .hero-img-overlay span {
        font-size: 3rem;
        line-height: 1.2;
    }
}

.hero-img-overlay span.small {
    font-size: 2rem;
}

.hero-img-overlay p {
    margin: 0;
}

/* Background Styles */

.bg-overlay::before {
    content: '';
    display: block;
    background: inherit;
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0.7;
    z-index: 2;
}

.bg-blue-purple-gradient {
    background: rgb(73,201,255);
    background: -moz-linear-gradient(90deg, rgba(73,201,255,1) 10%, rgba(131,18,159,1) 90%);
    background: -webkit-linear-gradient(90deg, rgba(73,201,255,1) 10%, rgba(131,18,159,1) 90%);
    background: linear-gradient(90deg, rgba(73,201,255,1) 10%, rgba(131,18,159,1) 90%);
}

.bg-blue-green-gradient {
    background: rgb(73,201,255);
    background: -moz-linear-gradient(90deg, rgba(73,201,255,1) 10%, rgba(126,217,87,1) 90%);
    background: -webkit-linear-gradient(90deg, rgba(73,201,255,1) 10%, rgba(126,217,87,1) 90%);
    background: linear-gradient(90deg, rgba(73,201,255,1) 10%, rgba(126,217,87,1) 90%);
}

.bg-primary, .text-bg-primary {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
}


/* Button Styles */
.btn {
    border-radius: 0;
    --bs-btn-line-height: 1;
    --bs-btn-padding-y: 0.25rem;
}

.btn-lg, .btn-group-lg > .btn {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-line-height: normal;
}

.btn-primary {
    --bs-btn-color: #000;
    --bs-btn-bg: var(--primary-blue);
    --bs-btn-border-color: var(--primary-blue);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #16BAFF;
    --bs-btn-hover-border-color: #16BAFF;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #16BAFF;
    --bs-btn-active-border-color: #16BAFF;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #16BAFF;
    --bs-btn-disabled-border-color: #16BAFF;
}

.btn-secondary {
    --bs-btn-color: #000;
    --bs-btn-bg: var(--secondary-green);
    --bs-btn-border-color: var(--secondary-green);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #5FCE2F;
    --bs-btn-hover-border-color: #5FCE2F;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #5FCE2F;
    --bs-btn-active-border-color: #5FCE2F;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #5FCE2F;
    --bs-btn-disabled-border-color: #5FCE2F;
}

.btn-tertiary {
    --bs-btn-color: #FFF;
    --bs-btn-bg: #83129F;
    --bs-btn-border-color: #83129F;
    --bs-btn-hover-color: #FFF;
    --bs-btn-hover-bg: #A917CD;
    --bs-btn-hover-border-color: #A917CD;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #FFF;
    --bs-btn-active-bg: #A917CD;
    --bs-btn-active-border-color: #A917CD;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #FFF;
    --bs-btn-disabled-bg: #A917CD;
    --bs-btn-disabled-border-color: #A917CD;
}

.btn-link {
    color: var(--primary-blue);
}

    .btn-link:hover, .btn-link:active, .btn-link:focus {
        text-decoration: underline !important;
    }

/* Form Styles */

.form-control-sm, .form-select-sm {
    min-height: calc(1em + 0.5rem + calc(var(--bs-border-width)* 2));
    padding-left: 0.75rem;
}

.form-control.text-bg-primary {
    color: var(--bs-secondary-color) !important;
}

    .form-control.text-bg-primary::-moz-placeholder, .form-control.text-bg-primary::placeholder {
        color: var(--bs-secondary-color) !important;
    }

    .form-control.text-bg-primary:focus {
        box-shadow: 0 0 0 0.25rem rgba(73, 201, 255, 0.25);
    }

/* Nav tabs */

.nav-pills .nav-link {
    border-radius: 0;
}

.nav-link {
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
    font-weight: 700;
    line-height: 1;
    --bs-nav-link-padding-y: 0.25rem;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--primary-blue);
}

.nav-fill .nav-item .nav-link, .nav-justified .nav-item .nav-link {
    height: 100%;
}

/* Nav menu */

.offcanvas.offcanvas-start {
    width: 300px;
}

/* Dropdowns */

.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 9px;
    position: relative;
    top: .175em;
    margin-left: .175em;
    background: url('data:image/svg+xml;utf8,<svg width="14" height="9" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg"><path d="M1 1l4 4 4-4" fill="none" stroke="%2349c9ff" stroke-width="1.5"/></svg>') no-repeat center;
    background-size: contain;
    border: 0;
    transition: 0.2s ease;
}

.dropdown-toggle.show::after {
    transform: rotate(180deg)
}

/* Bx slider */

.bx-wrapper .bx-viewport {
    background: transparent;
    border-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}