@font-face {
    font-family: TuskerGroteskLight;
    src: url(fonts/TuskerGrotesk-4500Medium.otf);
    font-weight: 500;
}

@font-face {
    font-family: TuskerGroteskLight;
    src: url(fonts/TuskerGrotesk-4700Bold.otf);
    font-weight: 700;
}

@font-face {
    font-family: TuskerGrotesk;
    src: url(fonts/TuskerGrotesk-6500Medium.otf);
    font-weight: 500;
}

@font-face {
    font-family: TuskerGrotesk;
    src: url(fonts/TuskerGrotesk-6700Bold.otf);
    font-weight: 700;
}

@font-face {
    font-family: TuskerGroteskHeavy;
    src: url(fonts/TuskerGrotesk-7700Bold.otf);
    font-weight: 700;
}

@font-face {
    font-family: TuskerGroteskSuperHeavy;
    src: url(fonts/TuskerGrotesk-8700Bold.otf);
    font-weight: 700;
}

:root {
    --bs-body-color: #1e1e1e;
    --bs-body-font-size: clamp(14px, 1.5vw, 16px);
    --bs-font-sans-serif: "Montserrat",sans-serif;        
    --inform-heading-font: "TuskerGrotesk",sans-serif;
    --inform-font-light: "TuskerGroteskLight",sans-serif;
    --inform-font-heavy: "TuskerGroteskHeavy",sans-serif;
    --inform-font-superheavy: "TuskerGroteskSuperHeavy",sans-serif;
    --inform-blue-50: #ccdbea;
    --inform-blue-200: #7AA2C9;
    --inform-blue-300: #5285B8;
    --inform-blue-400: #2969A8;
    --inform-blue-500: #004c97;
    --inform-blue-500-trans: rgba(0, 76, 151, 0.5);
    --inform-blue-800: #00284f;
    --inform-green-100: #A3D2CA;
    --inform-green-300: #52A99C;
    --inform-green-500: #00816d;
    --inform-neutral-50: #fcfcfc;
    --inform-neutral-100: #ededed;
    --inform-neutral-300: #CFCFCF;
    --inform-neutral-900: #1E1E1E;
    --inform-yellow-500: #ffc845;    
    --inform-green-transparent: rgba(60, 173, 72, 0.8);
    --inform-colors-transition: color 0.5s ease-in-out, background-color 0.5s ease-in-out;
    --bs-body-font-weight: 500;
    --font-size-scale-1: clamp(26px, 2.5vw, 36px);
    --font-size-scale-2: clamp(22px, 2.2vw, 28px);
    --font-size-scale-3: clamp(20px, 2vw, 26px);
    --font-size-scale-4: clamp(18px, 2vw, 24px);
    --font-size-scale-5: clamp(16px, 1.75vw, 18px);
    --font-size-scale-6: clamp(14px, 1.5vw, 16px);
}

img {
    max-width: 100%;
}

h2,
h3 {
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.3;
}

h2 {
    color: var(--inform-blue-500);
    font-family: var(--inform-heading-font);
    font-weight: 700;
    text-transform: uppercase;
    font-size: var(--font-size-scale-1);
    margin: 60px 0 20px;    
    letter-spacing: 0.5px;
}

.h2-subhead {
    font-size: var(--font-size-scale-2);    
    margin-bottom: 20px;
    line-height: 1.3;
    font-family: var(--inform-heading-font);
    text-transform: uppercase;
}

h2 + .h2-subhead {
    margin-top: -20px;    
}

h3 {
    font-family: var(--inform-heading-font);
    color: var(--inform-green-500);
    font-size: var(--font-size-scale-5);    
}

#MPOuterFooter {
    padding: 50px 15px;
    background-color: var(--inform-blue-800);
    color: var(--inform-neutral-50);            
}

#MPOuterFooter h2 {
    color: var(--inform-yellow-500);
    font-family: var(--inform-heading-font);
    font-size: var(--font-size-scale-1);
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.5px;    
}

.navbar-nav {
    --bs-nav-link-color: var(--inform-blue-400);
    --bs-navbar-nav-link-padding-x: 12px;
    --bs-nav-link-font-size: 16px;
    --bs-nav-link-font-weight: 500;    
    font-family: TuskerGrotesk, sans-serif;
    text-transform: uppercase;
}

.navbar-icon .collapsing {
    display: none;
}

.navbar-icon .collapsing.show {
    height: auto !important;
}

.navbar-toggler {    
    border: none;
}

#MPOuterHeader {
    box-shadow: 0px 2px 8px rgba(131,135,145,.24);
}

.img-chevron {
    position: relative;
}

.img-chevron img {
    object-fit: cover;
    max-width: 100%;
    width: 100%;
    height: 100%;
}

.img-chevron::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: var(--inform-green-transparent);
}

.img-chevron-left {
    clip-path: polygon(0 0, 100% 0%, 80% 100%, 0 100%);
}

.img-chevron-right {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 20% 100%);
}

.img-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.img-center img {
    max-width: 100%;
    object-fit: contain;
}

strong {
    font-weight: 580;
}

.ais-Hits-list {
    display: grid;
    gap: 40px;        
    list-style-type: none;
    padding: 0;
    margin: 0;    
}

.ast-resource-search .ais-Hits-list {
    grid-template-columns: repeat(3, 1fr);
}

.ast-search-result {
    padding: 16px 22px;
    border-radius: 3px;    
    background-color: var(--inform-blue-500);
    color: white;
    display: inline-flex;
    flex-direction: column;
    text-decoration: none;
    transition: var(--inform-colors-transition);
    width: 100%;
}

.ast-search-result.slide-deck {
    background-color: var(--inform-neutral-100);
    color: var(--bs-body-color);
}

.ast-search-result.slide-deck .ast-search-result__title {
    color: var(--inform-blue-500);
}

.ast-search-result.slide-deck svg {
    color: var(--inform-green-500);
}

.ast-event-search .ast-search-result {
    padding-bottom: 8px;
}

.ast-search-result svg {
    color: var(--inform-yellow-500);
    width: 33px;
    height: 27px;
    transition: color 0.5s ease-in-out;
    margin-right: 12px;
}

.ast-result-meta {
    padding-top: 16px;
    font-size: 14px;
    border-top: 1px solid var(--inform-blue-300);
}

.ast-search-result.slide-deck .ast-result-meta {
    border-top-color: var(--inform-neutral-300);
}

.ast-result-meta svg {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    color: var(--inform-blue-200);
}

.ast-search-result:hover .ast-result-meta svg {
    color: var(--inform-green-100);
}

.ast-search-result:hover .ast-result-meta {
    border-top-color: var(--inform-green-300) !important;
}

.ast-result-meta span {
    display: inline-block;
    margin-right: 36px;
    margin-bottom: 8px;    
}

.ast-result-meta span:last-child {
    margin-right: 0;
}

.ast-search-result:hover {
    background-color: var(--inform-green-500);
    color: var(--inform-neutral-50) !important;
}

.ast-search-result:hover svg {
    color: var(--inform-neutral-900);
}   

.ast-search-result:hover .ast-search-result__title {
    color: var(--inform-neutral-50);
}  

.ast-resource-search .ast-search-result__main {
    padding: 16px 0;   
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ast-event-search .ast-search-result__main {
    padding: 40px 0;
    display: grid;
    gap: 12px;
}

.ast-search-result__title {
    font-size: var(--font-size-scale-3);
    font-family: var(--inform-font-light);
}

.ast-search-result__type,
.ast-result__location {
    display: flex;
    align-items: flex-end;    
    text-transform: uppercase;    
    font-weight: 700;    
}

.ast-search-result__type {
    font-size: var(--font-size-scale-6);
    font-family: var(--inform-font-superheavy);
    letter-spacing: 1.5px;   
}

.ast-result__location {
    font-size: var(--font-size-scale-5);
    font-family: var(--inform-font-heavy);    
    line-height: 1.45;
    letter-spacing: 0.5px;    
}

.ast-search-result__type {
    margin-bottom: 14px;
}

.ast-search-controls {
    display: flex;
    justify-content: space-between;
    margin: 50px 0;
}

.ast-search-controls input,
.ast-search-controls select {
    min-width: 300px;
    padding: 6px 14px;
    border: 1px solid #88b8c7;
    font-size: 14px;    
}

.ast-search-controls label {
     font-size: var(--font-size-scale-5);
     font-family: var(--inform-font-heavy);
     font-weight: 700;
     margin-right: 24px;
     letter-spacing: 0.5px;
     text-transform: uppercase;
}

.ast-input-group {
    display: flex;
    align-items: center;
}

.ais-Pagination-list {
    list-style-type: none;
    display: flex;
    justify-content: center;
    margin: 72px 0;
    flex-wrap: wrap;
    padding: 0;
}

.ais-Pagination-link {
    display: inline-flex;
    text-decoration: none;
    width: 58px;
    height: 58px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: var(--font-size-scale-4);
    color: var(--inform-neutral-900);
    transition: var(--inform-colors-transition);
    margin: 0 10px;    
    font-family: var(--inform-heading-font);
}

.ais-Pagination-link:hover,
.ais-Pagination-item--selected .ais-Pagination-link
{
    background-color: var(--inform-green-500);
    color: white;
}

.ast-result__description *:first-child {
    margin-top: 0;
}

.ast-result__description *:last-child {
    margin-bottom: 0;
}

.remove-last-margin *:last-child {
    margin-bottom: 0;
}

.inform-card {
    padding: 40px 30px;
    height: 100%;
    border-radius: 3px;
}

.card--investment {
    background-color: var(--inform-blue-500);
    color: var(--inform-neutral-50);
}

.card--investment h4 {
    color: var(--inform-yellow-500);
    font-size: var(--font-size-scale-3);
    font-family: var(--inform-font-light);
    margin: 0;
}

.inform-card__label {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;        
    text-transform: uppercase;
    margin-bottom: 8px;
}

.card--investment__meta {
    color: var(--inform-blue-50);
    font-style: italic;
    font-size: 13px;
}

.card--investment__body {
    margin-top: 20px;
}

.card--qualifications {
    background-color: var(--inform-neutral-100);
}

.card--qualifications__item {
    display: flex;
    margin-bottom: 20px;
    align-items: flex-start;
}

.card--qualifications__item:last-child {
    margin-bottom: 0;
}

.card--qualifications__item div {
    background-color: var(--inform-yellow-500);
    padding: 10px 8px;
    margin-right: 20px;
    border-bottom: 1px solid black;
    flex-shrink: 0;
}

.card--qualifications__item p {
    font-size: var(--font-size-scale-3);
    font-family: var(--inform-font-light);
}

.card--help-item {
    background-color: var(--inform-green-500);
    padding: 30px 40px 30px 20px;
    display: flex;
    align-items: center;
    height: 100%;
    border-radius: 3px;
}

.card--help-item svg {
    margin-right: 20px;
    flex-shrink: 0;
}

.card--help-item p {
    font-size: var(--font-size-scale-3);
    font-family: var(--inform-font-light);
    color: white;
    margin: 0;    
}

.sbir-cta {
    padding: 50px 0;
    color: white;
    font-family: var(--inform-heading-font);
    background-size: cover;
    background-repeat: no-repeat;
}

.sbir-cta h2 {
    margin-top: 0;
    color: white;
}

.sbir-cta .btn {
    --bs-btn-bg: var(--inform-yellow-500);
    --bs-btn-color: black;
    --bs-btn-font-size: var(--font-size-scale-4);    
    --bs-btn-hover-color: var(--inform-yellow-500);
    --bs-btn-hover-bg: black;
    --bs-btn-active-color: var(--inform-yellow-500);
    --bs-btn-active-bg: black;
    text-transform: uppercase;
    border-bottom: 2px solid black;
    --bs-btn-border-radius: 2px;
    --bs-btn-padding-y: 10px;    
    --bs-btn-padding-x: 24px;            
}

.card-row {
    margin-top: 6px;
    margin-bottom: 48px;
}

.form-input-with-icon {
    position: relative;
}

.form-input-with-icon svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    pointer-events: none;
}

.form-input-with-icon input,
.form-input-with-icon select {
    padding-right: 35px;
    appearance: none;
}

@media (max-width: 1199px) {
    .ast-search-controls {
        flex-direction: column;
    }

    .ast-search-controls label {
        min-width: 15rem;
    }

    .ast-search-controls input,
    .ast-search-controls select {
        min-width: auto;
        width: 100%;
    }

    .ast-input-group {
        margin-bottom: 1rem;
    } 

    .form-input-with-icon {
        flex-grow: 1;
    }
}

@media (max-width: 991px) {
    .navbar-nav {
        border-top: 1px solid #e7e7e7;
        margin: 0.5rem -1.5rem 0 !important;
        padding: 0.5rem 1.5rem 0;
    }

    #MPOuterHeader .container {
        padding: 0 1.5rem;
        max-width: 100% !important;
    }

    .ast-resource-search .ais-Hits-list {
        grid-template-columns: repeat(2, 1fr);
    }           
}

@media (max-width: 767px) {
    .ais-Hits-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .ast-input-group {
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 1.5rem;
    }

    .ast-input-group label {
        margin-bottom: 0.5rem;
    }
}