@import '/styles/global.css';
@import '/styles/HeaderManager.css';
@import '/styles/FooterManager.css';



/*----  HOME PAGE HERO  ----*/
.hero__shape {
    width: 100%;
    min-height: 700px;
    margin-left: 0;
    margin-right: 0;
    opacity: 1;
    background-image: url("/assets/images-new/Hero_Yellow_Bottom_Left.webp");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    /* background: radial-gradient( circle at 20% 80%, #60BB46, #87c041 );
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%); */
    overflow: hidden;
    z-index: 1;
    display: flex;
    align-items: center;   /* vertical center */
    justify-content: center; /* horizontal center */
}
.hero__shape--text {
    max-width: 1050px;
    text-align: center;
    padding-inline: 150px;
}
#hero-title {
    padding-bottom: 20px;
}
.hero__shape--text h1 {
    padding-top: 0px;
    line-height: 1.4;
}
.hero__shape--text h1,
.hero__shape--text p {
    width: 100%;
    color: var(--text-color-white);
    margin-left: 0;
    text-transform: none; 
}
.hero__shape--text p {
    font-size: 1.2rem;
    padding-top: 15px;
    padding-bottom: 0px;
}





/*------------------*/
/*  Bringing Smarter Navigation to Your Riders   */

.smarter-navigation {
    max-width: 1500px;
    margin: 0 auto;
    padding: 80px 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative; /* key: allows child to break out */
    overflow: visible;
}
.smarter-navigation--text {
    width: 60%;
    z-index: 1;
}
.smarter-navigation--text h2 {
    line-height: 1.4;
}
.smarter-navigation--text img {
    display: none;
}

.smarter-navigation--img {
    width: 40%;
    position: relative;
    overflow: visible;
}
.smarter-navigation--img img {
    width: 50%;       /* zoom in: adjust % as needed */
    max-width: none;
    position: relative;
    right: 0; 
}


/*------------------*/
/*----  Precision Navigation for Your Network  ----*/
.precision-navigation {
    position: relative; /* so we can layer children */
    overflow: visible;
}
.precision-navigation__shape {
    position: absolute;
    inset: 0;
    background-color: #EEF7E6;
    z-index: 0; /* stays behind */
}

.precision-navigation--content {
    max-width: 1500px;
    margin-top: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 180px 120px 180px 120px;
    margin-bottom: 100px;
    overflow: visible;
    position: relative;
    z-index: 1; /* sits above clipped bg */
}
.precision-navigation--text-l {
    width: 50%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}
.precision-navigation--text-l h2,
.precision-navigation--text-l p {
    padding-right: 20px;
    width: 100%;
    margin-left: 0;
}
.precision-navigation--text-l h2 {
    padding-top: 0px;
    line-height: 1.4;
    margin-left: 0;
}
.precision-navigation--text-l p {
    font-size: 1rem;
    padding-top: 0px;
    padding-bottom: 10px;
}
/*------------*/

.precision-navigation--text-r {
    width: 50%;
    padding-inline: 30px;
    position: relative;
    overflow: visible;
}
.precision-navigation--text-box-container {
    position: absolute;
    top: -180px;
    left: 0;
    right: 0;
    margin: auto;
    background-color: var(--accent-color);
    padding: 50px;
    border-radius: 10px;
    z-index: 99;
    margin-left: 20px;
}
.precision-navigation--text-box-content h3 {
    color:var(--text-color-white);
    padding-bottom: 30px;
    text-transform: none;
    font-weight: 700;
    line-height: 1.5;
}
ul.white-checks {
    list-style: none;
    padding-left: 0;
}
ul.white-checks li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
    color: var(--text-color-white);
}
ul.white-checks li:last-child {
    margin-bottom: 0;
}
ul.white-checks li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 20px;
    height: 20px;
    background-image: url("/assets/icons/White_Check_Mark.svg");
    background-repeat: no-repeat;   
}









/*------------------*/
/*  A New Standard in Transit Wayfinding   */

.transit-wayfinding {
    max-width: 1500px;
    padding: 80px 120px; 
}
.transit-wayfinding--text {
    width: 100%;
}
.transit-wayfinding--text h2 {
    line-height: 1.4;
}
.transit-wayfinding--text h2,
.transit-wayfinding--text p {
    padding-right: 20px;
}
.transit-wayfinding--table-mobile {
    display: none;
}
.transit-wayfinding--table-desktop {
    width: 100%;
    padding-top: 40px;
}
/*---   Table   -----*/
caption {
    caption-side: bottom;
    padding-block: 60px;
    text-align: left;
    margin-inline: 1px;
    line-height: 1.4;
}
table {
    border-collapse: separate;
    border-spacing: 0; /* prevent gaps */
    border: 1px solid var(--light-grey-divider);
    border-radius: 10px;
    overflow: hidden; /* makes the radius clip child backgrounds */
    margin-left: 0;
    margin-right: 0;
    width: 100%;

}

thead th {
    font-weight: 700;
    height: 50px;
    background-color: white;
    padding-inline: 5px;
    text-align: left;
}
tbody th {
    font-size: .8rem;
    font-weight: 500;
    color: var(--color-text);
    min-height: 40px;
    padding: 20px 10px;
}

tr:nth-last-of-type(even){
    background-color: var(--new-light-green-backgrd);
}
td {
    text-align: left;
    font-size: .8rem;
    width: 35%;
}
.cell-content {
    display: inline-flex;
    align-items: center;  /* vertically center icon + text */
    gap: 1rem;          /* spacing between icon and text */
    margin-right: 10px;
  }
  
  .cell-content img {
    width: 18px;          /* keep icons consistent */
    height: 18px;
  }
th[scope="row"] {
    width: 25%;
    text-align: left;
    padding-left: 30px;
    margin-right: 20px;
}











@media(max-width: 1250px) {
    /*------------------*/
    /*----  Precision Navigation for Your Network  ----*/
    .precision-navigation--content {
        max-width: 1500px;
        margin-top: 0px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 100px 120px 60px 120px;
        margin-bottom: 100px;
        overflow: visible;
        position: relative;
        z-index: 1; /* sits above clipped bg */
    }
}


  



@media(max-width: 1100px) {
    /*------------------*/
    /*  A New Standard in Transit Wayfinding   */
    /*---   Table   -----*/
    th[scope="row"] {
        width: 170px;
        text-align: left;
        padding-left: 10px;
    }
    
}



@media(max-width: 1024px) {  

    /*----  HOME PAGE HERO  ----*/
    .hero__shape--text {
        max-width: 900px;
        text-align: center;
        padding-inline: 80px;
    }

    /*--------------*/
    /*----  Precision Navigation for Your Network  ----*/

    .precision-navigation--content {
        padding: 150px 20px 20px 20px;
    }
    .precision-navigation--text-r {
        width: 50%;
        padding-left: 30px;
        padding-right: 0px;
    }
    .precision-navigation--text-box-container {
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        margin: auto;
        background-color: var(--accent-color);
        padding: 40px;
        border-radius: 10px;
        z-index: 99;
        margin-left: 20px;
    }
    

    

    /*--------------*/
    /* Bringing Smarter Navigation to Your Riders   */
    .smarter-navigation {
        max-width: 1500px;
        padding: 80px 20px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /*--------------*/
    /* A New Standard in Transit Wayfinding   */
    .transit-wayfinding {
        max-width: 1500px;
        padding: 80px 20px; 
    }
    .transit-wayfinding--text h2,
    .transit-wayfinding--text p {
        padding-right: 0px;
    }
    th[scope="row"] {
        width: 160px;
        padding-left: 10px;
    }

   
    /* End of 1024px */
}













@media(max-width: 900px) {
    /*----  HOME PAGE HERO  ----*/
    
    .hero__shape--text {
        max-width: 900px;
        text-align: center;
        padding-inline: 50px;
    }

    /*--------------*/
    /*----  Precision Navigation for Your Network  ----*/
    .precision-navigation--content {
        padding: 100px 20px 40px 20px;
    }
    .precision-navigation--text-box-container {
        position: absolute;
        top: -180px;
        left: 0;
        right: 0;
        margin: auto;
        background-color: var(--accent-color);
        padding: 30px;
        border-radius: 10px;
        z-index: 99;
        margin-left: 10px;
    }
    /*------------------*/
    /*----  Precision Navigation for Your Network  ----*/
    
    thead th {
        font-size: 0.9rem;
        text-align: center;
    }
    
}












@media(max-width: 700px) {

    /*----  HOME PAGE HERO  ----*/
    .hero__shape {
        width: 100%;
        min-height: 600px;
    }
    .hero__shape--text {
        max-width: 900px;
        text-align: center;
        padding-inline: 20px;
    }

    /*------------------*/
    /*  Bringing Smarter Navigation to Your Riders   */

    .smarter-navigation {
        max-width: 1500px;
        padding: 50px 20px;
        display: block;
    }
    .smarter-navigation--text {
        width: 100%;
    }
    .smarter-navigation--text h2 {
        line-height: 1.4;
    }
    .smarter-navigation--text img {
        display: block;
        width: 30%;
        padding-bottom: 40px;
    }
    .smarter-navigation--img {
        display: none;
    }
    


        /*------------------*/
    /*----  Precision Navigation for Your Network  ----*/
   
    .precision-navigation--content {
        max-width: 1500px;
        margin-top: 0px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 100px 20px 240px 20px;
    }
  
    .precision-navigation--text-l {
        max-width: 1500px;
        width: 100%;
        margin: 0 auto;
        padding: 0px 0px;
        display: flex;
        flex-direction: column;
    }
    .precision-navigation--text-l h2,
    .precision-navigation--text-l p {
        padding-right: 0px;
    }
    .side-by-side-buttons {
        margin-left: auto;
        margin-top: 30px;
    }
    .precision-navigation--text-r {
        width: 100%;
        display: flex;
        padding-bottom: 30px;
    }
    .precision-navigation--text-r {
        padding-left: 0px;
        padding-right: 0px;
    }
    .precision-navigation--text-box-container {
        position: absolute;
        top: 50px;
        left: 0;
        right: 0;
        margin: auto;
        background-color: var(--accent-color);
        padding: 40px;
        border-radius: 10px;
        z-index: 99;
    }
    

    /*------------------*/
    /*  A New Standard in Transit Wayfinding   */

    .transit-wayfinding--text {
        width: 100%;
        margin-top: 100px;
    }
    .transit-wayfinding--text h2 {
        line-height: 1.4;
    }
    .transit-wayfinding--text h2,
    .transit-wayfinding--text p {
        padding-right: 20px;
    }

    .transit-wayfinding--table {
        width: 100%;
    }
    /*---   Table   -----*/
    caption {
        caption-side: bottom;
        font-weight: bold;
    }
    table {
        border-collapse: separate;
        border-spacing: 0; /* prevent gaps */
        border: 1px solid var(--light-grey-divider);
        border-radius: 10px;
        overflow: hidden; /* makes the radius clip child backgrounds */
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    thead th {
        font-weight: 700;
        height: 50px;
        background-color: white;
    }
    tbody th {
        font-size: .8rem;
        font-weight: 500;
        color: var(--color-text);
        min-height: 40px;
        padding: 20px 10px;
    }

    tr:nth-last-of-type(even){
        background-color: var(--new-light-green-backgrd);
    }
    td {
        text-align: left;
    }
    th[scope="row"] {
        width: 200px;
        text-align: left;
        padding-left: 30px;
    }



    /*------------------*/
    /*  A New Standard in Transit Wayfinding   */

    .transit-wayfinding {
        max-width: 1500px;
        padding: 100px 20px 0px 20px;
        display: block;
    }
    .transit-wayfinding--text {
        width: 100%;
        margin-top: 50px;
    }
    .transit-wayfinding--text h2 {
        line-height: 1.4;
    }
    .transit-wayfinding--text h2,
    .transit-wayfinding--text p {
        padding-right: 0px;
    }
  
    /*-----END OF 700PX -----*/
}



@media(max-width: 550px) {
    /*------------------*/
    /*  Bringing Smarter Navigation to Your Riders   */

    .smarter-navigation--text img {
        display: block;
        width: 50%;
        padding-bottom: 40px;
    }

    /*------------------*/
    /*----  Precision Navigation for Your Network  ----*/
    .precision-navigation--text-box-container {
        padding: 20px;
    }

    .transit-wayfinding--table-desktop {
        display: none;
    }
    .transit-wayfinding--table-mobile {
        display: block;
        width: 100%;
        padding-top: 40px;
    }
    thead th {
        font-size: 0.9rem;
        height: 50px;
        text-align: center;
    }
    td {
        text-align: center;
        font-size: .8rem;
        width: 35%;
    }
    /*-----END OF 550PX -----*/
}


@media(max-width: 400px) {
    /*------------------*/
    /*  A New Standard in Transit Wayfinding   */

    .transit-wayfinding--text {
        width: 100%;
        margin-top: 100px;
    }
}