html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.temp-borders {
    border: 1px solid red;
}

.admin-done {
    text-decoration: line-through;
}

.my-notes {
    font-style: italic;
    font-size: 0.85rem;
    font-weight: 200;
}


html {
    position: relative;
    min-height: 100%;

}

.navbar-brand {
    padding-left:35px;
}


.logo-img{
    height:45px;
    margin-top:10px;
}

.providers-button {
    border-radius: 25px;
    padding-left: 25px !important;
    padding-right: 25px !important;
    margin-right: 25px;
    margin-left: 20px;
    color: white !important;
}

body {
    /*margin-bottom: 60px;*/
    font-family: "Rubik", sans-serif;
}

.footer {
    background-color: rgba(33,33,33,1);
    color: rgba(247,247,247,1);
}

.custom-container {
    padding-left: 200px;
    padding-right:200px;
    padding-top:100px;
}

.home-page-container, .provider-content, #what-else {
    width: 1398px;
    margin-left: auto;
    margin-right: auto;
}

.provider-page-container {
/*    padding-left: 200px;
    padding-right: 200px;*/
    padding-top: 100px;
}

.utility-page-container {
    max-width: 1196px;
    margin-left: auto;
    margin-right: auto;
    margin-top:45px;
    margin-bottom:45px;
    width:auto;
    padding-left: 15px;
    padding-right:15px;
}

    .utility-page-container h1{
        font-size:1.75rem;
    }
    .utility-page-container h2 {
        font-size: 1.5rem;
    }

    .utility-page-container h3 {
        font-size: 1.25rem;
    }

    #home-hero-section {
    margin-top: 125px;
}
    .hero-title {
        font-weight: 700;
        font-size: 3.25rem;
        line-height: 4rem;
    }

.hero-p {
    font-size: 1.35rem;
    line-height: 1.9rem;
    font-weight: 400;
    color: rgb(66,66,66);
}

.flex-container {
    display: flex;
}

.hero-flex-item {
    flex: 1 1 0;
    width: 0;
}

#left-hero-text {
    margin-right: 24px;
}

.hero-img {
    max-width: 100%;
    height: auto;
    /*max-height:300px;*/
}

.home-hero-btn{
    font-size:1.2rem;
    padding-top:8px;
    padding-bottom:8px;
    padding-left:15px;
    padding-right:15px;
}

.provider-hero-img {
    max-width: 600px;
    height: auto;
    border-radius: 15px;
}

.hiw-flex-container {
    display: flex;
}

.provider-section-img {
    max-height: 450px;
}

#what-else {
    background-color: lightslategray;
    border-radius: 8px;
    margin-top: 15px;
    color: white;
    padding: 50px;
    text-align: center;
    margin-bottom: 65px;
}




    .center-hero-content {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .button-cta {
        background-color: rgb(1,181,94,1);
        border: 0px solid grey;
    }

        .button-cta:hover {
            background-color: rgb(1,181,94,0.65);
            border: 0px solid grey;
        }

    .button-cta-alt {
        background-color: rgba(0,0,0,0);
        border: 1px solid rgb(250,250,250);
        margin-left: 25px;
    }

        .button-cta-alt:hover {
            /*background-color: rgba(34, 50, 99);*/ /*rgb(1,181,94,1);*/
            border: 1px solid rgb(250,250,250);
            background-color: rgba(0,0,0,0);
        }

    .cta-buttons-flex {
        display: flex;
        justify-content: space-around;
    }

    .button-link, .button-link:hover {
        color: white;
        text-decoration: none;
    }

    #events {
        padding: 10px;
        margin-top: 75px;
        margin-bottom: 55px;
    }

        #events h2 {
            font-weight: 600;
            margin-bottom: 25px;
        }

    .events-heading {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
    }

        .events-heading a:hover, .details-panel a:hover {
            color: #0d6efd;
        }

        .search-events-heading {
            /*    display: flex;
    justify-content: space-between;
    align-items: baseline;*/
        }

    .search-filters {
        display: flex;
        gap: 25px;
        margin-bottom: 15px;
    }



.search-form-inputs{
    display:flex;
    gap: 15px;
}

    .search-form-inputs .form-select, .search-form-inputs input {
        min-width: 175px;
    }

@media (max-width: 1200px) {
    .search-filters {
        flex-direction:column;
    }
    .search-form-inputs {
        flex-wrap: wrap;
        flex: 0 0 auto;
    }
    .search-form-inputs .form-select, input{
        width:175px;
    }
    .mapbox-container {
        max-width: 365px;
    }
    .search-options{
        flex-direction:column;
    }


    }


    .index-events-results-container {
        flex-wrap: wrap;
        /*justify-content: space-between;*/
        gap: 15px;
        justify-content: space-around;
    }
.search-events-results-container {
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    gap: 15px;
    justify-content: flex-start;
}

    .index-event-result {
        display: flex;
        flex-direction: column;
        flex: 0 0 295px;
        padding-top: 10px;
        padding-bottom: 20px;
        gap: 5px;
    }

    #event-links {
        padding-left: 10px;
        padding-right: 10px;
    }

    #top-event-categories, #top-event-types, #top-event-locations, #participants-section {
        margin-bottom: 125px;
    }

    .event-category-container {
        display: flex;
        gap: 20px;
        margin-top: 25px;
        flex: 0 0 125px;
        flex-wrap: wrap;
    }

    .event-category {
        /*    padding-top: 25px;
    padding-bottom: 25px;*/
        border-radius: 5px;
        background-color: rgba(0,0,0,0.1);
        font-size: 1.1rem;
        font-weight: 500;
        color: rgba(0,0,0,0.75);
        width: 125px;
        height: 75px;
        text-align: center;
        align-content: center;
        padding: 5px;
    }

        .event-category a, .event-category a:hover {
            color: inherit;
            text-decoration: none;
        }

.button-remove-link a, .button-remove-link a:hover {
    color: inherit;
    text-decoration: none;
}

    .what-is-container {
        display: flex;
        margin-bottom: 25px;
        gap: 25px;
        margin-top: 45px;
        padding-left: 25px;
        padding-right: 25px;
    }

.what-is-bg-green {
    background-color: rgb(1,181,94);
}

.what-is-bg-grey {
    background-color: lightslategray;
}

.what-is-bg-navy {
    background-color: rgba(34, 50, 99);
}

.what-is-bg-orange {
    background-color: rgba(240, 90, 72, 1);
}

@media (max-width: 890px) {
    .what-is-container {
            flex-direction: column;
        }
    }

    .what-is-item {
        flex: 1 1 0;
/*        background-color: lightslategray;*/
        padding: 25px;
        border-radius: 8px;
        margin-top: 15px;
        color: rgb(250,250,250);
        text-align: center;
        justify-content: space-between;
        display: flex;
        flex-direction: column;
    }

    #sub-hero {
        display: flex;
    }

    #search-background {
        /*background-image: linear-gradient(rgb(226,226,229), rgb(197,191,237));*/
        border-top: 1px solid rgba(225,225,225,1);
    }

    .search-container {
        /*border: 1px solid grey;
    border-radius: 8px;*/
        margin: 15px;
    }

    #search-bar {
        /*    background-color:rgb(234,234,236);
    border-radius:8px;*/
        padding: 15px;
        margin: 15px;
    }

    .search-options {
        display: flex;
        gap: 15px;
    }

    .filter-buttons-container {
        margin-top: 15px;
        display: flex;
        gap: 15px;
        display: none;
    }

    #search-results-section {
        padding: 15px;
        margin: 15px;
        max-width:1450px;
        margin-left:auto;
        margin-right:auto;
    }

    .search-result {
        background-color: white;
        border-radius: 8px;
        padding: 5px;
        gap: 5px;
    }

    .details-container {
        /*    padding-left: 200px;
    padding-right: 200px;*/
    }

    .details-padding {
        padding-left: 200px;
        padding-right: 200px;
    }

    .details-header {
        border-bottom: 1px solid rgb(235,235,235);
        padding-bottom: 25px;
    }

        .details-header h1 {
            font-weight: 800;
        }

    .details-header {
        font-size: 1.25rem;
    }

    .details-header-description {
        font-weight: 300;
        padding-bottom: 25px;
    }

    .details-header-provider {
        font-weight: 500;
    }

    .details-main {
        background-color: rgba(245,245,245,1);
        padding-top: 35px;
        display: flex;
        gap: 55px;
    }

    .details-left {
        max-width: 675px;
    }

    .details-img {
        width: 675px;
        height: 380px;
        max-height:380px;
        max-width: 675px;
    }

        .details-img img {
            object-fit: cover;
            width: 100%;
            height: auto;
            max-height: 380px;
            max-width: 675px;
            /*border-radius: 8px;*/
        }


    .details-details h2 {
        margin-top: 21px;
    }

    .details-text {
        white-space: pre-line;
    }

    .details-buttons-container {
        margin-top: 10px;
        display: flex;
        padding: 10px;
        gap: 50px;
    }

    .details-panel {
        background-color: white;
        border-radius: 5px;
        padding: 25px;
        margin-bottom: 25px;
    }

    .details-events {
        padding-top: 15px;
        background-color: rgba(245,245,245,1);
        gap: 5px;
        padding-bottom: 125px;
    }

    .upcoming-events-container {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
    }

    .upcoming-event {
        background-color: white;
        border-radius: 5px;
        padding: 15px;
        align-content: center;
    }

    .listpage-borders {
        border-radius: 5px;
    }

    .listpage-header-image {
        width: 100%;
        max-height: 400px;
        object-fit: cover;
        /*border: 3px solid red;*/
        position: relative;
        z-index: -1;
        /*aspect-ratio: 23 / 10;*/
    }

    #listpage-main-section {
        margin-left: 5%;
        margin-right: 5%;
        /*    margin-top:-50px;*/
    }

    #listpage-search-section {
        background-color: rgb(11,4,52);
        color: white;
        /*z-index: 1;*/
    }

    #listpage-search-section {
        padding: 10px;
        display: flex;
        align-items: stretch;
        min-height: 100px;
    }

    .listpage-search-option {
        flex: 1;
    }

    #listpage-results-section {
        font-family: "Plus Jakarta Sans", sans-serif;
    }

        #listpage-results-section h3 {
            line-height: 1.25;
            font-weight: 800;
            font-size: 1.5rem;
            color: rgb(23, 23, 23);
            margin-top: 50px;
            margin-bottom: 25px;
        }

    .grid-container {
        font-family: "Plus Jakarta Sans", sans-serif;
        display: grid;
        place-items: center;
        grid-template-columns: auto auto auto;
        /*    gap: 10px;*/
        border: 1px solid gray;
        /*    padding-left: 60px;
    padding-right: 60px;*/
        /*padding-top: 205px;*/
    }

    .grid-item {
        /*border: 1px solid gray;*/
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        font-family: "Rubik", sans-serif;
        margin-bottom: 75px;
    }

    .result-image {
        /*    width: 415px;
    height: 225px;*/
        /*border: 1px solid red;*/
        width: 295px;
        height: 197px;
    }

        .result-image img {
            object-fit: cover;
            width: 100%;
            height: 100%;
            border-radius: 8px;
        }

    .result-title h3 {
        line-height: 1.25;
        font-weight: 500;
        font-size: 1.25rem;
        color: rgb(23, 23, 23);
        margin-top: .575rem;
    }

    .result-description {
        font-weight: 400;
        font-size: .9rem;
        color: rgb(115, 115, 115);
    }

    .result-details {
        margin-top: .25rem;
        font-weight: 400;
        font-size: 1rem;
        color: rgb(120, 113, 108);
    }

    .result-location {
        font-weight: 400;
        font-size: .9rem;
        color: rgb(115, 115, 115);
    }

    .result-info-link {
        margin-top: auto;
        padding-top: 5px;
    }

    .result-button-info {
        border-radius: 25px;
        padding-left: 25px;
        padding-right: 25px;
    }



    .provider-section {
        margin-top: 65px;
    }

        .provider-section h2, #participants-section h2, #what-else h2 {
            text-align: center;
            font-weight: 800;
            font-size: 3rem;
        }

    .provider-section-container {
        display: flex;
        flex-direction: column;
        margin-top: 25px;
        margin-bottom: 25px;
        gap: 25px;
    }

    .provider-benefit {
        border: 0px solid rgba(0,0,0,0.1);
        border-radius: 5px;
        padding: 10px;
        /*text-align:center;*/
    }

        .provider-benefit p {
            font-weight: 400;
            color: rgba(0,0,0,0.5);
            font-size: 1.1rem;
        }

    #how-it-works {
        margin-top: 175px;
        padding-left:15px;
        padding-right:15px;
        max-width:100%;
    }

    #provider-benefits-2 {
        background-color: rgba(0,0,0,0.05);
/*        margin-left: -200px;
        margin-right: -200px; */
/*        padding-left: 200px;
        padding-right: 200px;*/
        padding-top: 45px;
        padding-bottom: 75px;
    }

    #provider-benefits-content, #pricing-content {
        padding-left:15px;
        padding-right:15px;
    }

    .provider-benefit-img {
        max-height: 100px;
    }

    .sub-heading {
        text-align: center;
        font-size: 1.25rem;
        margin-bottom: 45px;
    }

    .provider-features-container {
        display: flex;
        margin-top: 25px;
        margin-bottom: 25px;
        gap: 25px;
    }

    .provider-feature {
        border: 1px solid rgba(0,0,0,0.1);
        border-radius: 5px;
        padding: 10px;
        text-align: left;
        background-color: white;
        flex: 1 1 0;
    }

        .provider-feature p {
            font-weight: 400;
            color: rgba(0,0,0,0.5);
            font-size: 1.1rem;
        }

        .provider-feature h4 {
            font-size: 1.25rem;
            font-weight: 700;
        }

    .provider-feature-img {
        width: 100%;
        margin-top: -10px;
        margin-bottom: 25px;
        margin-left: -40px;
        margin-right: -40px;
    }

    #pricing {
        background-color: rgb(1,181,94,1);
        color: white;
/*        margin-left: -200px;
        margin-right: -200px;
        padding-left: 200px;
        padding-right: 200px;*/
        padding-top: 45px;
        margin-bottom: 65px;
        padding-bottom: 75px;
        margin-top: -0px;
    }

    .button-cta-accent {
        background-color: rgb(240, 90, 72);
        color: white;
        border: none;
        display: inline-block;
        padding: 0.7rem 1.2rem;
        text-decoration: none;
        border-radius: 4px;
        margin-top: auto;
        text-align: center;
    }

        .button-cta-accent:hover {
            background-color: rgba(240, 90, 72,0);
            border: 1px solid rgb(240, 90, 72);
            color: rgb(240, 90, 72);
        }

    .button-free {
        background-color: rgba(34, 50, 99)
    }

        .button-free:hover {
            background-color: rgba(34, 50, 99,0);
            border: 1px solid rgb(34, 50, 99);
            color: rgb(34, 50, 99);
        }
    /* Basic pricing section layout - auto gen*/
    .pricing-grid {
        display: flex;
        gap: 2rem;
        margin-top: 2rem;
        color: black;
    }

    .pricing-card {
        /*border: 1px solid #ddd;*/
        border-radius: 8px;
        padding: 1.5rem;
        background: #fff;
        transition: box-shadow 0.2s ease, transform 0.2s ease;
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
    }

        .pricing-card:hover {
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
            transform: translateY(-4px);
        }

        .pricing-card header {
            margin-bottom: 1rem;
        }

    .price {
        font-size: 1.8rem;
        font-weight: bold;
        margin: 0.5rem 0;
    }

    .feature-list {
        list-style: none;
        padding: 0;
        margin: 1rem 0;
    }

        .feature-list li {
            margin: 0.4rem 0;
        }

    .footnote {
        margin-top: 1rem;
        font-size: 0.9rem;
        color: #666;
    }

    /* CTA banner */
    #cta {
        text-align: center;
        padding: 2rem 1rem;
        margin-top: 3rem;
        background: #f9f9f9;
        border-radius: 8px;
    }

        #cta h2 {
            margin-bottom: 0.5rem;
        }

        #cta .button {
            margin: 0.5rem;
        }

    /* Responsive layout for wider screens */
    @media (min-width: 768px) {
        .pricing-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

  

    /* Generated CSS for community page info on providers page*/
    #community-page {
        padding: 2rem;
        /* background-color: #ffffff;*/
        text-align: center;
    }

        #community-page h2 {
            font-size: 2rem;
            margin-bottom: 0.5rem;
        }

        #community-page > p {
            font-size: 1.1rem;
            max-width: 700px;
            margin: 0 auto 3rem auto;
        }

    .community-page-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        max-width: 1000px;
        margin: 0 auto;
        padding-bottom: 25px;
    }

    .community-page-item {
        background: #f3f4f6;
        border-radius: 12px;
        padding: 2rem;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03);
        text-align: left;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        color: #374151;
    }

        .community-page-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 16px rgba(0,0,0,0.05);
        }

        .community-page-item h3 {
            font-size: 1.4rem;
            margin-bottom: 0.75rem;
        }

        .community-page-item p {
            font-size: 1rem;
            color: #374151;
            margin-bottom: 0.75rem;
            line-height: 1.5;
        }
    /* Generated CSS for the school section */
    #school-sessions {
        padding: 4rem 2rem;
        text-align: center;
    }

        #school-sessions h2 {
            font-size: 2rem;
            margin-bottom: 0.5rem;
        }

        #school-sessions > p {
            font-size: 1.1rem;
            max-width: 700px;
            margin: 0 auto 3rem auto;
        }

    .school-sessions-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        max-width: 1000px;
        margin: 0 auto;
        padding-bottom:25px;
    }

    .school-sessions-item {
        background: #f3f4f6;
        border-radius: 12px;
        padding: 2rem;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03);
        text-align: left;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        color: #374151;
    }

        .school-sessions-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 16px rgba(0,0,0,0.05);
        }

        .school-sessions-item h3 {
            font-size: 1.4rem;
            margin-bottom: 0.75rem;
        }

        .school-sessions-item p {
            font-size: 1rem;
            line-height: 1.5;
        }



    #footer {
        position: relative;
        bottom: 0;
        background-color: rgba(0,0,0,0.95);
        font-family: 'Plus Jakarta Sans';
        color: rgba(255,255,255,1);
    }

        #footer h5 {
            color: rgba(255,255,255,0.85);
            font-weight: 600;
            font-size: 1.15rem;
        }

    .footer-links-flex-container {
        display: flex;
        margin-top: 45px;
    }

    .footer-list {
        list-style-type: none; /* Remove bullets */
        padding: 0; /* Remove padding */
        margin: 0; /* Remove margins */
        line-height: 1.75rem;
    }

        .footer-list a:hover {
            text-decoration: underline;
        }

        .footer-list a {
            text-decoration: none;
        }

        .footer-list a, .footer-list a:hover {
            color: rgba(255,255,255,0.75);
        }

    .made-by {
        font-size: 0.9rem;
        font-weight: 200;
        text-align: center;
        color: rgba(255,255,255,0.95);
    }

@media (max-width: 1575px) {
    .provider-hero-img {
        max-width: 500px;
    }
}

@media (max-width: 1400px) {
    .provider-hero-img {
        max-width: 400px;
    }

    .home-page-container, .provider-content, #what-else {
        width: 1196px;
    }

    
}

@media (max-width: 1200px) {
    .home-page-container {
        width: 875px;
    }

    #home-hero-section, #provider-hero-section {
        width: 875px;
    }

    .hero-title {
        font-size: 2.5rem;
        line-height: 3rem;
    }

    .hero-p {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .provider-hero-img {
        max-width: 400px;
    }

    .provider-section-img {
        max-height: 350px;
    }

    .provider-content{
        max-width:100%;
    }
}

@media (max-width: 890px) {
    .home-page-container, #provider-page-container {
        max-width: 875px;
        width: 100%;
    }

    #home-hero-section, #provider-hero-section, .hiw-flex-container, .provider-features-container, .pricing-grid {
        flex-direction: column;
        width: 100%;
        max-width: 875px;
    }

        .provider-features-container{
            gap: 0px;
        }

        .hero-flex-item {
            flex: 0 1 auto;
            width: 100%;
            text-align: center;
        }

    .hero-img {
        max-height: 300px;
    }

    #left-hero-text {
        margin-bottom: 45px;
    }
}

@media (max-width: 585px) {
    #events-list {
        justify-content: space-around;
    }
}

@media (max-width: 1475px) {
    .details-img {
        max-width: 675px;
        width: auto;
        height: auto;
    }

    .details-padding {
        padding-right: 100px;
    }
}

@media (max-width: 1250px) {
    .details-img {
        max-width: 475px;
        width: auto;
        height: auto;
    }

    .details-left {
        max-width: 475px;
    }
}

@media (max-width: 1050px) {
    .details-main {
        flex-direction: column;
    }

    .details-img {
        max-width: 675px;
        width: auto;
        height: auto;
    }

    .details-left {
        max-width: 100%;
    }

    .details-padding {
        padding-right: 100px;
        padding-left: 100px;
    }
}

@media (max-width: 600px) {
    .details-padding {
        padding-right: 15px;
        padding-left: 15px;
    }

    .provider-hero-img {
        max-width: 80%
    }

    #what-else {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 400px) {
    #what-else {
        padding-left: 5px;
        padding-right: 5px;
    }

    .community-page-item, .school-sessions-item {
        padding-left: 5px;
        padding-right: 5px;
        max-width: 100%;
        text-align: center;
    }
}
