/* ========================================
   General Styles
   Description: Base font, layout, and common text elements
======================================== */

/* Set default font and improve text rendering on mobile */
html {
    --default-font-family: Lato, sans-serif;      /* Define a custom font variable */
    -webkit-text-size-adjust: 100%;               /* Prevent text resizing in Safari on iOS */
    line-height: 1.15;
}

/* Remove default margin and apply font globally */
body {
    margin: 0;
    font-family: lato, sans-serif;
}

/* Prevent horizontal overflow in major layout containers */
header,
section,
footer {
    overflow-x: clip;
}

/* Set base font size and line height for text elements */
p,
li,
a {
    font-size: 14px;
    line-height: 1.5;
}

/* ========================================
   Layout Styles
   Description: Responsive container widths for various devices
======================================== */

/* Root container for desktop and larger viewports */
#rootContainer {
    margin: 0 auto;
    max-width: 1080px;
    height: auto;
    margin-bottom: 20px;
    color: #000;
}

/* Container style specifically for iPad/tablet view */
.ipad_rootContainer-container {
    margin-left: 4px;
    width: 98.9vw;
}

/* Container style for standard desktop screens */
.desktop_rootContainer {
    width: 83.5vw;
}

.rootContainer-container_wide {
    width: 1067px;
}

/* Container style for mobile viewports */
.mobile-rootContainer {
    overflow-x: hidden;
    width: 94vw;
}

/* Main container styling for mobile layouts */
.mobile-mainContainer {
    margin: 0
}

/* ==================================================
   NAVBAR STYLES - Desktop & General Styles
   ================================================== */

/* Main navbar container with horizontal layout */
.navbar {
    justify-content: space-between;
    align-items: center;
    padding: 0 0 20px 0;
    display: flex
}

.nav-left a {
    color: #000;
    text-decoration: none;
    display: block;
}

/* IPAD-SPECIFIC NAVBAR TEXT SIZING */
.ipad_mobile-navbar .nav-menu .nav-left a {
    font-size: 1.4vw;
}

/* Right nav section: horizontal layout and spacing */
.nav-right {
    gap: 15px;
    display: flex;
}

.nav-right a {
    text-decoration: none;
}

/* Left nav section layout with spacing */
.nav-left {
    gap: 20px;
    display: flex;
}

.nav-left .selected-button {
    background: var(--Green-Values-8, #e6ee95);
}

.nav_button_left {
    cursor: pointer;
    z-index: 999;
    border: none;
    border: 1px solid var(--GRAY2, #e8e8e8);
    background: 0 0;
    border-radius: 10px;
    width: auto;
    padding: 9px 16px;
    display: inline;
    height: fit-content;
}

a.nav_button_right {
    cursor: pointer;
    color: white;
    background-color: #2c6a00;
    border: 2px solid #2c6a00;
    border-radius: 25px;
    padding: 8px 12px
}

a.nav_button_right:hover {
    color: white;
}

.home-icon {
    background-color: #e6ee95;
    border-radius: 25px;
    width: 2vw;
    padding: 4px
}

/* Container for dropdown menu */
.dropdown-container {
    display: inline-block;
    position: relative
}

.dropdown-menu {
    z-index: 999;
    background-color: #fff;
    border-radius: 5px;
    min-width: 150px;
    margin: 0;
    padding: 10px;
    display: none;
    position: absolute;
    box-shadow: 0 4px 8px #0000001a
}

/* Trigger button for dropdown */
#whatsNewBtn {
    display: inline-flex;
    align-items: center;
    width: 150px;
    justify-content: space-around;
}  

.nav_button_left:focus-visible {
    outline: unset
}

.show-dropdown {
    display: block
}

.dropdown-menu li {
    list-style: none;
    margin: 0;
}

.dropdown-menu li a {
    color: #000;
    text-decoration: none;
    display: block;
    cursor: pointer;
    padding: 5px 10px;
}

.dropdown-menu li:hover {
    background-color: #f1f1f1
}

.arrow-down {
    margin-left: .5vw
}

/* -------------------------------------------------
   MOBILE & TABLET NAVBAR STYLES (Responsive)
  ------------------------------------------------- */
.mobile-menu-icon {
    display: none
}

.mobile-navbar {
    background-color: #fff;
    flex-direction: column;
    align-items: flex-start;
    display: flex;
    position: relative
}

.mobile-navbar .mobile-menu-icon {
    cursor: pointer;
    padding: 10px;
    font-size: 24px;
    display: block
}

.mobile-navbar .nav-menu {
    background-color: #fff;
    flex-direction: column;
    width: 100%;
    padding: 10px;
    display: none;
    top: 50px;
    left: 0;
    box-shadow: 0 1px 0px #ddd;
}

.mobile-navbar .nav-menu.show {
    display: flex
}

.mobile-navbar .nav-menu .nav-left {
    display: grid;
    gap: 0;
}

.mobile-navbar .nav-menu .nav_button_left {
    text-align: left;
    cursor: pointer;
    color: #333;
    background: 0 0;
    border: none;
    border-top: 1px solid #ddd;
    border-radius: 0%;
    width: 100%;
    padding: 15px 10px;
    font-size: 16px;
    display: flex
}

.mobile-navbar .nav-menu .nav_button_left .arrow-icon {
    position: absolute;
    right: 33px;
}

.mobile-navbar .nav-menu .nav-left .selected-button {
    background-color: unset
}

.mobile-navbar .nav-menu .nav-left .dropdown-container {
    width: 100%;
    position: relative
}

.mobile-navbar .nav-menu .nav-left .dropdown-container #whatsNewBtn {
    justify-content: flex-start;
    width: -webkit-fill-available;
}

.mobile-navbar .nav-menu .nav-left .dropdown-container #whatsNewDropdown {
    z-index: 10;
    width: 100%;
    box-shadow: none;
    background: 0 0;
    border: none;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    position: relative;
    left: 0
}

.mobile-navbar .nav-menu .nav-left .dropdown-container #whatsNewDropdown.show-dropdown {
    display: block;
}

.mobile-navbar .nav-menu .nav-left .dropdown-container #whatsNewDropdown li {
    border-bottom: 1px solid #ddd;
    background: var(--PEARL-GRAY, #FAFAFA);
    height: 11vw;
    place-content: center;
}

.mobile-navbar .nav-menu .nav-left .dropdown-container #whatsNewDropdown li a {
    color: #333;
    font-size: 16px;
    text-decoration: none;
    display: block
}

.mobile-navbar .nav-menu .nav-left .dropdown-container #whatsNewDropdown li:hover {
    background: #f4f4f4
}

.mobile-navbar .nav-menu .nav-left .nav_button_left i.arrow-down {
    margin-left: auto
}

.mobile-navbar .nav-right {
    position: absolute;
    top: 9px;
    right: 10px
}

.image-carousel-container {
    justify-content: center;
    align-items: center;
    margin-top: 2vw;
    display: flex
}

.image-wrapper {
    overflow: hidden
}

.image-carousel {
    gap: 26px;
    transition: transform .5s ease-in-out;
    display: flex
}

.carousel-img {
    height: 300px
}

.carousel-btn {
    cursor: pointer;
    border: none
}

.carousel-btn img {
    width: 3vw
}

/* -------------------------------------------
   Home Tab - Banner Section (Desktop Layout)
   ------------------------------------------- */
.home-banner {
    color: #fff;
    background: #000;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    display: grid
}

.home-banner-text {
    z-index: 2;
    width: 372px;
    font: normal normal 600 19px / 35px var(--default-font-family);
    background: #000;
    margin-left: 2vw;
    padding: 1.5rem
}

.home-banner-container {
    height: 290px;
    position: relative
}

.home-banner-video {
    justify-content: center;
    padding: 3rem 2rem 0 0;
    display: flex;
    position: absolute;
    top: 0;
    right: 0
}

.banner-video {
    z-index: 1;
    width: 588px;
    height: 230px;
    position: relative;
    object-fit: cover;
}

.banner_sub2 {
    margin-top: 20px
}

/* -------------------------------------------
   Wide Screen Layout Overrides for Home Tab - Banner
   ------------------------------------------- */
.home-banner-container_wide {
    height: 317px;
}

.home-banner-container_wide .home-banner .home-banner-text {
    width: 460px;
    font: normal normal 600 24px / 35px var(--default-font-family);
    padding: 3rem 1.5rem;
}

.home-banner-container_wide .home-banner-video .banner-video {
    width: 514px;
    height: 275px;
}

/* -------------------------------------------
   Mobile Layout Overrides for Home Tab - Banner
   ------------------------------------------- */
.section-content_mobile {
   padding: 15px 15px 0px;
}

#bannerContainer .home-banner-container_mobile .section-content {
    padding: 0 20px;
}

.home-banner-container_mobile {
    height: unset;
    position: unset;
}

.home-banner-container_mobile .home-banner-video {
    position: unset;
    padding: 0;
    margin-top: 4vw;
}

.home-banner-container_mobile .home-banner-video .banner-video {
    width: 93vw;
    height: 55vw;
}

.home-banner-container_mobile .home-banner .home-banner-text {
    font: normal normal 500 6.3vw / 8.5vw var(--default-font-family);
    padding: 7vw 6vw;
    width: 88vw;
}

/* -------------------------------------------
   iPad Layout Overrides for Home Tab - Banner
   ------------------------------------------- */
.ipad_home-banner_container .home-banner-video .banner-video  {
    width: 49vw;
    height: 230px;
}

.ipad_home-banner_container .home-banner .home-banner-text {
    width: 42vw;
}

/* ------------------------------------------------
   Download Section Styles - Schedule Home (Desktop)
   ------------------------------------------------ */
.jncaa-faqBanner-background {
    background-image: url(/juniper/resources/images/jncaa/New/Footer/Group2_background.png);
    background-size: cover;
    justify-content: space-evenly;
    margin-top: 25px;
    padding: 25px;
    display: grid
}

a.driven_text:hover {
    background: var(--PEARL-GRAY, #fafafa);
    color: black;
}

.driven_text {
    background: var(--PEARL-GRAY, #fafafa);
    cursor: pointer;
    border: 2px solid #fff;
    border-radius: 150px;
    padding: 11px 17px;
    font-size: 14px;
    color: black;
    min-height: 40px;
}

.drivenButton-text {
    flex-wrap: wrap;
    gap: 1vw;
    display: flex
}

.driven-subline {
    width: 689px
}

/* -----------------------------------------
   Mobile Styles - Schedule Group Section
   ----------------------------------------- */
.jncaa-faqBanner-container_mobile {
    margin: 0;
}

.jncaa-faqBanner-container_mobile .group2-coe-background {
    background-color: #000;
    background-image: none;
    height: 88vw;
    margin-bottom: 6vw
}

.jncaa-faqBanner-container_mobile .jncaa-faqBanner-background .group-text .drivenButton-text {
    justify-content: center;
    gap: 2vw;
    padding: 2vw
}

.jncaa-faqBanner-container_mobile .jncaa-faqBanner-background .group-text .drivenButton-text .coeCore_driven .driven_text {
    width: 77vw;
    padding: 1vw 5vw;
    font-size: 15px;
    display: flex;
    text-align: -webkit-center;
    justify-content: center;
    align-items: center;
}

/* --------------------------------------
   Home Accordion Section - Desktop Styles
   -------------------------------------- */
#home-accordion {
    margin-top: 20px
}

.accordion-headers {
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
}

.accordion-item {
    width: 339px;
}

.accordion-header {
    cursor: pointer;
    border: 1px solid var(--JUNIPER-GREEN, #2c6a00);
    background: var(--PEARL-GRAY, #fafafa);
    white-space: nowrap;
    flex: 260px;
    justify-content: space-between;
    align-items: center;
    min-width: 90%;
    max-width: 26.5vw;
    padding: 10px 15px;
    transition: background .2s, color .2s;
    display: flex;
    position: relative;
    color: black;
    border-radius: 0px;
}

p:not(:last-child) {
    margin-bottom: 3px;
}

.accordion-header.active {
    border: 1px solid var(--GRAY2, #e8e8e8);
    background: var(--Green-Values-8, #E6EE95);
}

.arrow-icon {
    width: 15px;
    height: 15px;
    transition: transform .3s
}

.accordion-header.active .arrow-icon {
    transform: rotate(90deg)
}

.accordion-content-wrapper {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    padding: 10px 0;
    display: flex
}

.accordion-content {
    border: 1px solid var(--GRAY2, #e8e8e8);
    background: #fff;
    flex: 100%;
    padding: 40px 40px 40px;
    display: none
}

.accordion-content.active {
    display: block
}


#divContentWrapper p.header-text {
    font: normal normal 600 16px/20px var(--default-font-family);
    margin: 0px;
}

p.header-text:not(:last-child) {
    margin: 0px;
}

/* ---------------------------------------
   Mobile Styles - Home Accordion Section
   --------------------------------------- */
.home-accordion_wrapper_mobile .accordion-headers .accordion-item {
    width: 95vw
}

.accordion-content_mobile {
    padding: 40px 60px 20px;
}

.accordion-content_mobile .program .program-text {
    width: 85%;
}

.mobile-only {
    display: none
}

.home-accordion_wrapper_mobile .accordion-item .accordion-header {
    min-width: 100%;
}

.home-accordion_wrapper_mobile .desktop-only {
    display: none
}

.home-accordion_wrapper_mobile .accordion-item .mobile-only.hidden {
    display: none
}

.home-accordion_wrapper_mobile .accordion-item .mobile-only {
    display: block;
    margin-top: 10px;
    padding: 20px;
    display: flex;
    justify-content: center;
}

.home-accordion_wrapper_mobile .accordion-headers {
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px;
}

/* --------------------------------------
   iPad Styles - Home Accordion Section
   -------------------------------------- */
.ipad_home-accordion_wrapper .accordion-headers .accordion-item {
    width: 31vw;
}

.ipad_home-accordion_wrapper .accordion-headers .accordion-item .accordion-header {
    max-width: 36.5vw;
}

.tracks-container {
    justify-content: space-between;
    gap: 2vw;
    margin-bottom: 20px;
    display: flex
}

/* -------------------------------------
   Home - Image Wrapper Section (Desktop)
   ------------------------------------- */
.tracks-name {
    font: normal normal 600 15px/20px var(--default-font-family);
    width: 100px;
    margin: 10px 0;
    color: black;
}

.tracks-name:hover {
    color: var(--Green-Values-4, #568A1A);
}

.career_network, .career_network:hover {
    color: #568A1A;
    text-decoration: underline;
}

.coeCore-text {
    text-align: center;
    justify-self: center
}

.coeCore-imgs {
    justify-self: center
}

.core_link {
    color: var(--Green-Values-4, #568A1A);
    text-decoration: underline;
}

.core_link:hover {
    color: var(--Green-Values-4, #568A1A);
}

.tracks-sprite {
    background: url(/juniper/resources/images/jncaa/New/Home/tracks_sprite.png) 0 0/cover no-repeat;
    width: 100px;
    height: 73px
}

.overview-video {
    width: 550px;
}

.arrow.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: default;
}  

/* Sprite icon positions for different clouds */
.cloud-1 {
    background-position: 13px 0
}

.cloud-2 {
    background-position: -66px 0
}

.cloud-3 {
    background-position: -145px 0
}

.cloud-4 {
    background-position: -223px 0
}

.cloud-5 {
    background-position: -303px 0
}

/* -------------------------------------
   Home - Image Wrapper Section (Mobile)
   ------------------------------------- */
.tracks-container_mobile {
    justify-content: center;
    display: grid
}

.tracks-container_mobile .tracks_col .tracks_col_flex {
    justify-content: center;
    align-items: center;
    display: flex
}

.tracks-container_mobile .tracks_col .tracks_col_flex .coeCore-text {
    text-align: left
}

.tracks-container_mobile .tracks_col .tracks_col_flex .tracks-name {
    width: 30vw
}

/* ---------------------------------------
    Home (Accordion 1) - Program Overview Section
   --------------------------------------- */
.program {
    justify-content: space-between;
    gap: .5vw;
    display: flex
}

.program-headline {
    font: normal normal 300 22px / 16px var(--default-font-family);
    margin-bottom: 15px;
    color: #2c6a00
}

.hidden {
    display: none
}

.program-arrow .disabled img {
    filter: grayscale(100%);
    opacity: 0.5;
    pointer-events: none;  /* makes it non-clickable */
}

/* === Step Navigation Bar Styles === */
/* Contains circular steps, connecting lines, and title styling */
.step-navigation {
    justify-content: center;
    align-items: center;
    gap: 170px;
    margin-top: 10px;
    margin-bottom: 20px;
    display: flex;
    position: relative
}

.steps-title {
    color: #2c6a00;
    font-weight: 300
}

/* === Step Icons (Sprite-based) === */
.sprite {
    background-image: url(/juniper/resources/images/jncaa/New/Home/steps-sprite.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 96px;
    height: 100px;
    display: inline-block
}

.step1 {
    background-position: 0 0
}

.step2 {
    background-position: -116px 0
}

.step3 {
    background-position: -235px 0
}

.step-title {
    color: #000;
    z-index: 1;
    cursor: pointer;
    background-color: #ddd;
    border: 2px solid #ddd;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 35px;
    font-size: 18px;
    transition: all .3s;
    display: flex;
    position: relative
}

/* === Connector Line Between Steps (Alternative) === */
.step-line {
    background-color: #ddd;
    flex-grow: 1;
    width: 254px;
    height: 2px;
    display: grid;
    position: relative;
    top: -19px;
    transform: translateY(-50%)
}

#step-container {
    background-color: #fafafa;
    margin-top: 30px;
    padding: 15px 15px 30px;
}

#step-content {
    justify-items: center;
    display: grid;
}

.step-content {
    gap: 2vw;
    margin-left: 55px;
    display: flex
}

.step-name {
    text-align: left;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5
}

.step-img img {
    width: 9vw
}

.step-text {
    margin-top: 18px
}

.join-now {
    color: #2c6a00;
    align-items: center;
    margin-top: 8px;
    display: flex
}

#join-tab:focus-visible {
    outline: none;
}

.step-title:after {
    content: "";
    background-color: #ddd;
    width: 173px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 105%;
    transform: translateY(-50%)
}

.step-title:last-child:after {
    display: none
}

.step-title.active,
.step-title.highlighted {
    color: #fff;
    background-color: #83b135;
    border-color: #83b135
}

.step-title.disabled {
    color: #fff;
    background-color: #ddd;
    border-color: #ddd
}

.step-text .right {
    justify-items: flex-start
}

.unorderedList_steps {
    justify-items: left;
    padding: 0
}

.step_core_name {
    margin-left: 20px;
    padding: 0;
}

.step_para {
    text-align: left;
    margin-bottom: 10px
}

.program-arrow-wrapper {
    display: none
}

.program-arrow {
    justify-content: space-between;
    display: flex
}

.threeSteps {
    justify-items: left
}

.programArrow {
    cursor: pointer
}

/* ---------------------------------------
    Home (Accordion 1) - Program Overview Section (Mobile)
   --------------------------------------- */
 /* Step Images for Mobile Layout */
.step-img-mobile {
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    display: flex
}

.program-container_mobile .program {
    display: grid;
    justify-items: center;
}

.program-container_mobile .program .overview-video {
    width: 67vw;
    margin-top: 3vw;
    margin-bottom: 1vw
}

.program-container_mobile #step-container {
    width: 87%;
    margin-left: 6%;
}

.program-container_mobile #step-container .step-navigation .step-title {
    width: 25px;
    height: 25px;
    font-size: 12px;
}

.program-container_mobile #step-content .step-item .step-content {
    margin-left: 0;
    display: grid;
    position: relative;
    bottom: 5vw
}

.program-container_mobile #step-content .step-item .step-content .step-img {
    text-align: center;
}

.program-container_mobile .program .program-text .program-headline {
    font: normal normal 600 6.6vw/9.7vw var(--default-font-family);
    margin-bottom: 2vw
}

.program-container_mobile #step-container .step-item .step-content .step-text .right .unorderedList_steps {
    text-align: left;
    margin-left: 4vw
}

.program-container_mobile #step-container .step-item .step-content .step-text .right {
    justify-items: center
}

.program-container_mobile #step-container .step-item .step-content .step-text .right .step-name {
    text-align: center
}

.program-container_mobile #step-container .step-navigation {
    gap: 70px;
}

.program-container_mobile #step-container .step-navigation .step-title:after {
    width: 80px;
    left: 110%;
}

.program-container_mobile #step-container .threeSteps {
    justify-items: unset
}

.program-container_mobile #step-container .threeSteps .steps-title {
    font: normal normal bold 4vw/10.5vw var(--default-font-family)
}

#divContentWrapper .program-container_mobile #step-container .step-item .step-content .step-text .right .blog_discover span.join-now {
    justify-content: center;
    margin: 4vw 0;
    font-size: 3.5vw;
}

.program-container_mobile #step-container .program-arrow {
    z-index: 9999;
    position: relative;
    top: 9vw
}

.ipad_program-container .program .overview-video {
    width: 42vw;
} 

/* ---------------------------------------
   Home (Accordion 2) - Curriculum Section Styles
   --------------------------------------- */
.curriculum-img img {
    width: 100%;
    margin-top: 25px
}

/* ---------------------------------------
   Home (Accordion 3) - Benefits Section Styles
   --------------------------------------- */
.benefit-background {
    background-image: url(/juniper/resources/images/jncaa/New/Home/benefit_background.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    justify-content: center;
    display: flex
}

.benefit-content {
    flex-wrap: wrap;
    width: 100%;
    padding: 0 2vw;
    display: flex;
    height: 140px;
}

.benefits-row {
    justify-content: center;
    gap: 15px;
    display: flex
}

.benefits_col {
    color: #fff;
    text-align: center;
    align-items: center;
    display: flex
}

.benefits_img {
    width: 88px;
    height: 95px;
    margin-top: 11px;
}

#divContentWrapper p.benefits_desc {
    font-size: 15px;
}

.benefits_text {
    width: 90px
}

.box-container {
    gap: 2vw;
    display: flex
}

#divContentWrapper p.boxHead {
    color: #fff;
    padding: 20px 14px 20px 24px;
    font-size: 20px;
    margin-bottom: 20px;
    margin-top: 20px;
}

.box-headline1 {
    background-color: #0096a4
}

.box-headline2 {
    background-color: #83b135
}

.benefits-subline {
    margin-top: 20px
}

.benefit_sub1 {
    margin-bottom: 10px
}

.junipernet {
    padding: 0 10px
}

.benefits-sprite {
    background-image: url(/juniper/resources/images/jncaa/New/Home/benefits-sprite.png);
    background-repeat: no-repeat
}

.image-1 {
    background-position: 0 0
}

.image-2 {
    background-position: -109px 0
}

.image-3 {
    background-position: -216px 0
}

.junipernet {
    color: #fff;
    background-color: #000;
    margin-top: 20px;
    padding: 16px
}

.junipernetLink {
    color: var(--Green-Values-7, #ccdc29)
}

/* ---------------------------------
    benefits style for mobile 
--------------------------------- */
.benefits-container_mobile {
    width: 260px;
    place-self: anchor-center;
}
.benefits-container_mobile .benefit-background {
    background-color: black;
    height: 547px;
}
.benefits-container_mobile .box-content .box-container {
    display: grid
}
.benefits-container_mobile .box-content {
    justify-items: anchor-center
}
.benefits-container_mobile .junipernet {
    width: 67vw;
    padding: 32px;
}
.benefits-container_mobile .benefit-background .benefit-content {
    justify-content: center;
    padding: 6vw 2vw
}
.benefits-container_mobile .benefit-background .benefit-content .benefits-row {
    display: grid;
    gap: 1vw;
}
.benefits-container_mobile .benefit-background .benefit-content .benefits-row .benefits_col {
    display: contents;
}
.benefits-container_mobile .box-content .box-container .box .core-text {
    padding-left: 4vw
}

/* ------------------------
   Newsletter Section Styles
------------------------ */

/* Headline styling for the newsletter section */
.newsletter-text {
    color: #fff;
    font: normal normal bold 2.7vw/2.7vw var(--default-font-family);
    text-align: left;
    align-content: center;
    margin-left: 5vw;
}

/* Layout for newsletter items using grid with spacing */
.newsletter-frame {
    grid-template-columns: auto auto;
    gap: 15px;
    display: grid;
}

/* Each newsletter item block with center alignment and background color */
.newsletter_col {
    justify-content: center;
    display: flex;
    background: var(--PEARL-GRAY, #FAFAFA);
}

/* Image dimensions for desktop and mobile versions */
.newsletter_img {
    width: 100%;
    max-width: 224px;
    object-fit: cover;
}
.object_position {
    object-position: right;
}
.newsletter_img_mobile {
    max-width: 84vw;
    margin-top: 5vw;
}

/* Text container inside each newsletter block */
.newsletter_text {
    width: 284px;
    margin: 25px;
}

/* Main text and subheadline for each newsletter entry */
#divContentWrapper p.newsletter_desc {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
}
.newsletter_subheadline {
    color: #666;
    font-size: 16px;
}

/* "Discover more" link styling */
a.newsletter_discover {
    color: var(--Green-Values-4, #568A1A);
    align-items: center;
    gap: 5px;
    margin-top: .5vw;
    text-decoration: none;
    display: flex;
}

/* Arrow icon used beside discover link and read more */
.arrow-icon {
    width: 22px;
    height: auto;
    margin-left: 5px;
}
.read-arrow {
    align-items: center;
    display: flex;
}
.read-arrow img {
    margin-left: 3px;
}

/* ------------------------------
    Responsive adjustments for mobile view - newletter
-------------------------------- */
.newsletter-container_mobile .newsletter-frame {
    display: contents;
}
.newsletter-container_mobile .newsletter-frame .newsletter_col {
    margin-bottom: 10vw;
    display: grid;
}
.newsletter-container_mobile .newsletter-frame .newsletter_col .newsletter_text {
    width: 84vw;
    margin: 25px 0px;
}
.newsletter-container_mobile .newsletter-frame .newsletter_col .news_img4 {
    height: 162px;
}

#divContentWrapper .newsletter-container_mobile .newsletter-frame .newsletter_col .newsletter_text p.newsletter_desc {
    font-size: 5.5vw;
}

#divContentWrapper .newsletter-container_mobile .newsletter-frame .newsletter_col .newsletter_text p.newsletter_description {
    font-size: 4.5vw;
}

.newsletter-container_mobile .newsletter-frame .newsletter_col .newsletter_text .newsletter_discover .read-arrow {
  margin-top: 2vw;
}

#divContentWrapper .newsletter-container_mobile .newsletter-frame .newsletter_col .newsletter_text .newsletter_discover .read-arrow p {
    font-size: 4vw;
}

/* ------------------------------
    Responsive adjustments for Ipad view - newletter
-------------------------------- */
.ipad_newsletter_img {
    max-width: 23vw;
    height: 23vw;
}

#divContentWrapper .ipad_newsletter-container .newsletter-frame .newsletter_col .newsletter_text p.newsletter_desc {
    font-size: 2vw;
}

.ipad_newsletter-container .newsletter-frame .newsletter_col .newsletter_text {
    width: auto;
    margin: 2vw;
}

.ipad_newsletter-container .newsletter-frame .newsletter_col .newsletter_text .newsletter_desc {
    font-size: 2vw;
}

#divContentWrapper .ipad_newsletter-container .newsletter-frame .newsletter_col .newsletter_text p.newsletter_description {
    font-size: 1.5vw;
}

/* ------------------------
   Blog Section Styles
------------------------ */

/* Headline style for the blog section */
.blog-headline {
    color: #fff;
    font: normal normal bold 2.7vw/2.7vw var(--default-font-family);
    text-align: left;
    align-content: center;
    margin-left: 5vw;
}

/* Layout for blog content in a horizontal flex row */
.blog_content {
    gap: 3%;
    width: 100%;
    display: flex;
}

.blog_col {
    width: fit-content;
}

/* Blog image sizing */
.blog_img {
    width: 100%;
    display: block;
    height: 170px;
}

/* Top margin for blog description and subheadline */
.blog_desc {
    margin-top: 1vw;
}
.blog_subheadline {
    margin-top: 1vw;
    font-weight: 700;
}

/* Basic styling for links in blog cards */
.blog_discover {
    text-decoration: none;
}

/* Spacing between multiple subheadlines or dates */
p.blog_subheadline:not(:last-child),
p.blog_date:not(:last-child) {
    margin-bottom: 8px;
}

/* Styling for blog date text */
#divContentWrapper p.blog_date {
    font-size: 10px;
}

/* 'Read Me' link style */
a.readMe {
    color: var(--Green-Values-4, #568A1A);
    align-items: center;
    margin-top: 5px;
    display: flex;
}

/* --------------------------------------------
    Responsive adjustments for blog layout on mobile 
----------------------------------------------- */
.blog-container_mobile {
    margin: 5vw;
}
.blog-container_mobile .blog_content {
    display: contents;
}
.blog-container_mobile .blog_content .blog_col {
    margin-bottom: 10vw;
}

/* --------------------------------------------
    Responsive adjustments for blog layout on ipad
----------------------------------------------- */
.ipad_benefits-container .benefit-background .benefit-content .benefits-row {
    gap: 1.5vw;
}
.ipad_benefits-container .benefit-background .benefit-content .benefits-row .benefits_col .benefits_text {
    width: 80px;
}
/* ------------------------ 
  Members Tab Styles
------------------------ */
.members_bannerBG {
    background-image: url(/juniper/resources/images/jncaa/New/Members/Member-university-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 121px;
    display: grid
}

.members_content {
    justify-content: space-between;
    gap: 10px;
    margin-top: 20px;
    display: flex
}

.members_col {
    color: #fff;
    background-size: cover;
    justify-content: space-between;
    width: 20vw;
    padding: 15px 20px;
    display: flex
}

.members_img {
    width: 100%;
    max-width: 261px;
    height: auto
}

.members-text {
    color: #fff;
    font: normal normal bold 24px/31px var(--default-font-family);
    text-align: left;
    align-content: center;
    display: flex;
    align-items: center;
    width: 730px;
    margin-left: 50px
}

#divContentWrapper p.cloud-name {
    font: normal normal 600 16px / 28px var(--default-font-family);
    margin-bottom: 0
}

.members-subheadline {
    margin-top: 10px;
    font-size: 16px
}

.members_arrow {
    width: 30px;
}

.winning_skill {
    justify-content: center;
    align-items: center;
    gap: 7px;
    display: flex
}

.award_winning_skill {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 30px;
    margin: 20px 0px;
}

.silver_amazon-img {
    max-width: 200px;
    height: auto;
}

.winning_skill_content_wrapper {
    display: flex;
    flex-direction: column;
}

.award_headline {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #000;
    visibility: hidden;
    text-align: center;
}

.award_winning_headline_mobile {
    display: none;
}

.silver_amazon-img_mobile {
    display: none;
}

.winning_skill_content {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    justify-content: flex-start;
}

.winning_skill_icon {
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
    background-size: contain;
    background-repeat: no-repeat;
}

.testimonial-item {
    display: none
}

#testim-container {
    text-align: center;
    border: 1px solid #CCC5C5;
    margin: auto;
    position: relative
}

.testimonial-item {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
    display: none
}

.testimonial-item.active {
    display: flex
}

#divContentWrapper .winning_text p.skill-count {
    font: normal normal bold 23px/24.5px var(--default-font-family);
    margin: 0;
    color: #000;
}

.skill-text {
    width: 60px;
    font: normal normal 300 14px/17px var(--default-font-family);
    margin-top: 5px
}

.testimonial-content {
    align-items: center;
    gap: 40px;
    margin: 40px 40px 20px;
    font-size: 14px;
    line-height: 1.5;
    display: flex
}

.img img {
    border-radius: 50%;
    width: 115px;
    height: 115px;
}

.text {
    text-align: left
}

.name-text {
    font-weight: 700
}

p.testim-text:not(:last-child) {
    margin-bottom: 10px
}

.dots {
    justify-content: center;
    display: flex
}

.dot {
    cursor: pointer;
    background-color: #CCC5C5;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    margin: 5px
}

p.benefit_sub1:not(:last-child) {
    margin-bottom: 15px;
}

.dot.active {
    background-color: #a3bf2f
}

.image-container {
    display: inline-block;
    position: relative
}

.image-container img {
    width: 100%;
    display: block
}

.image-container .cloud-text {
    color: #ccdc29;
    border-radius: 5px;
    padding: 5px;
    position: absolute;
    bottom: 28px;
    left: 10px
}

.testim-nav {
    justify-content: center;
    margin-bottom: 30px;
    display: flex
}

.arrow {
    align-self: flex-end;
    padding: 0 .1vw
}

.winning_skill_icon {
    background-image: url(/juniper/resources/images/jncaa/New/Members/skills-sprite.png);
    background-repeat: no-repeat;
    background-size: auto;
    width: 85px;
    height: 85px
}

/* Skill icons positioning */
.icon-countries { background-position: 0 0; }
.icon-members { background-position: -112px 0; }
.icon-students { background-position: -223px 0; }
.icon-training { background-position: -335px 0; }

/* ---------------------------------
    Mobile layout for members tab including banner and grid layout 
----------------------------------- */
.members-container-mobile .members_bannerBG {
    background-size: cover;
    height: 171px;
}
.members-container-mobile .members_bannerBG .members-text {
    font: normal normal bold 23px/27px var(--default-font-family);
    place-self: center;
    width: 78vw;
    margin-left: 0;
}
.members-container-mobile .members_content {
    grid-template-columns: auto auto;
    gap: 15px;
    margin-top: 4vw;
    display: grid;
    margin-bottom: 30px;
}
.members-container-mobile #testim-container {
    margin-top: 30px;
}
.members-container-mobile #testim-container .testim-content .testimonial-item .testimonial-content .img img {
    width: 179px;
    height: 179px;
}
.members-container-mobile .members_content .members_col {
    height: 119px;
    width: 45vw;
    padding: 4vw;
}
#divContentWrapper .members-container-mobile .members_content .members_col .overlay_text p.cloud-name {
    font: normal normal 600 16px / 28px var(--default-font-family);
}

/* Award-winning skills section for mobile */
.members-container-mobile .award_winning_skill {
    margin: 6vw 0;
    text-align: center;
    display: inline;
}
.members-container-mobile .members_content .members_col .overlay_text .cloud-name {
    font: normal normal 500 4vw/7.7vw var(--default-font-family);
}
.members-container-mobile .members_content .members_col .overlay_text .cloud-text {
    font: normal normal normal 13px/18px var(--default-font-family);
    width: 114px;
}
.members-container-mobile .members_content .members_col .overlay_arrow img {
    width: 8vw;
}

/* Mobile testimonial content styles */
.members-container-mobile #testim-container #testim-content .testimonial-item .testimonial-content .text {
    text-align: center;
}
.members-container-mobile #testim-container #testim-content .testimonial-item .testimonial-content {
    gap: 30px;
    display: grid;
}
.members-container-mobile #testim-container #testim-content .testimonial-item .testimonial-content .text .testim-text {
    font: normal normal normal 4.6vw/6.7vw var(--default-font-family);
}
.members-container-mobile #testim-container #testim-content .testimonial-item .testimonial-content .text .right .name {
    font: normal normal normal 4.6vw/7.7vw var(--default-font-family);
}

/* Visibility control for images and headlines in mobile */
.members-container-mobile .award_winning_skill .winning_skill_content_wrapper {
    align-items: anchor-center;
    gap: 25px;
}
.members-container-mobile .award_winning_skill .silver_amazon-img {
    display: none;
}
.members-container-mobile .award_winning_skill .award_winning_headline {
    display: none;
}
.members-container-mobile .award_winning_skill .silver_amazon-img_mobile {
    display: block;
    place-self: center;
}
.members-container-mobile .award_winning_skill .award_winning_headline_mobile {
    display: block;
    visibility: visible;
}
.members-container-mobile .award_winning_skill .award_headline {
    font: normal normal bold 6vw/8vw var(--default-font-family);
    justify-self: anchor-center;
    margin: 4vw 15vw;
    left: unset;
}
.members-container-mobile {
    margin: 0;
}

/* Mobile winning skill layout */
.members-container-mobile .award_winning_skill .winning_skill_content {
    justify-content: center;
    gap: 4vw;
    display: grid;
    align-self: center;
}
.members-container-mobile .award_winning_skill .winning_skill_content .winning_skill {
    text-align: -webkit-center;
    display: grid;
    gap: 0px;
}
#divContentWrapper .members-container-mobile .award_winning_skill .winning_skill_content .winning_skill .winning_text p.skill-count {
    font: normal normal bold 9.9vw/9.5vw var(--default-font-family);
}
#divContentWrapper .members-container-mobile .award_winning_skill .winning_skill_content .winning_skill .winning_text p.skill-text {
    font: normal normal 100 3.8vw/5vw var(--default-font-family);
    width: 20vw;
}

/* ----------------------------------
    iPad-specific styles for layout adjustments 
------------------------------------ */
.ipad_members_container .award_winning_skill .winning_skill_content {
    gap: 0vw;
    justify-content: space-between;
}
.ipad_members_container .award_winning_skill .winning_skill_content_wrapper {
    align-items: unset;
    flex: 1;
}
.ipad_members_container .members_bannerBG {
    height: 12vw;
}
.ipad_members_container .members_bannerBG .members-text {
    font: normal normal bold 2vw / 3vw var(--default-font-family);
    width: 65vw;
}
.ipad_members_container .members_content .members_col {
    width: 23vw;
}
.ipad_members_container .award_winning_skill {
    gap: 5px;
}
.ipad_members_container .award_winning_skill .winning_skill_content_wrapper .winning_skill_content .winning_skill {
    gap: 10px;
}
#divContentWrapper .ipad_members_container .award_winning_skill .winning_skill_content_wrapper .winning_skill_content .winning_skill .winning_text p.skill-count {
    font: normal normal bold 18px / 9.5px var(--default-font-family);
}
#divContentWrapper .ipad_members_container .award_winning_skill .winning_skill_content_wrapper .winning_skill_content .winning_skill .winning_text p.skill-text {
    font-size: 10px;
    width: 55px;
}

/* ------------------------
     coe tab Styles 
------------------------ */

/* Banner background for COE section with centered content */
.coe-bannerBG {
    background-image: url(/juniper/resources/images/jncaa/New/COE/coe-banner.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    align-items: center;
    width: 100%;
    padding: 25px 0;
    display: flex
}

.coe_content {
    margin: 25px 0
}

.coe-text {
    font: normal normal bold 27px / 35px var(--default-font-family);
    color: #fff;
    margin-left: 40px
}

#divContentWrapper p.coe_text2 {
    font: normal normal 300 21px / 41px var(--default-font-family);
    margin: 0
}

p.coe_sub:not(:last-child) {
    margin-bottom: 15px
}

.coreImage-container {
    justify-content: space-between;
    gap: 1vw;
    margin-bottom: 15px;
    display: flex
}

.coeCore_col {
    border: 1px solid var(--JUNIPER-GREEN, #2c6a00);
    width: 31vw;
    padding: 20px
}

.coeCore_col_main {
    justify-content: space-between;
    display: flex
}

#divContentWrapper p.coeCore-name {
    text-align: left;
    font-size: 17px;
    font-weight: 700;
    color: black;
}

.groupCore-text {
    color: #fff;
    margin: 15px 40px
}

.drivenButtonCore-text {
    flex-wrap: wrap;
    gap: 1vw;
    margin-top: 25px;
    display: flex
}

.driven-headline {
    font-size: 25px;
    font-weight: 600
}

.coeCore_driven {
    align-content: center;
}

.arrow-img {
    cursor: pointer;
}

.coe-sprite {
    background: url(/juniper/resources/images/jncaa/New/COE/coe-sprite.png) no-repeat;
    width: 90px;
    height: 44px;
    display: inline-block;
}

/* Background used in the group2 driven section, horizontally flipped */
.group2-coe-background {
    background-image: url(/juniper/resources/images/jncaa/New/Footer/Group2_background.png);
    background-size: cover;
    background-position: unset;
    background-repeat: no-repeat;
    margin-bottom: 25px;
    display: grid;
    position: relative;
    transform: scaleX(-1);
    height: 130px;
}

/* Reversing the flipped child elements back to normal */
.group2-coe-background>* {
    transform: scaleX(-1)
}

/* Sprite positioning for different icons */
.sprite-1 {
    background-position: 38px 0;
}
.sprite-2 {
    background-position: -45px 0;
}
.sprite-3 {
    background-position: -132px 0;
}

.coeCore-sub {
    margin: 0
}

/* ---------------------------
    COE - Responsive layout adjustments for mobile 
--------------------------- */
.coe-container-mobile {
    padding: 0 5vw
}

.coe-container-mobile .coe-bannerBG {
    height: 40vw
}

.coe-container-mobile .coe-bannerBG .coe-text {
    font: normal normal bold 5.5vw/6.9vw var(--default-font-family);
    width: 76vw;
    margin-left: 6.5vw
}

#divContentWrapper .coe-container-mobile .coe-bannerBG p.coe_text2 {
    font: normal normal 300 4.5vw / 6.5vw var(--default-font-family);
    padding-top: 1vw
}

.coe-container-mobile .coreImage-container {
    gap: 5vw;
    display: grid
}

.coe-container-mobile .coreImage-container .coeCore_col {
    width: unset;
    padding: 5.2vw;
}

.coe-container-mobile .group-container .group2-coe-background .groupCore-text {
    margin: 8vw 3vw;
    justify-self: center;
    text-align: -webkit-center;
}

#divContentWrapper .coe-container-mobile .group-container .group2-coe-background .groupCore-text p.driven-subline {
    text-align: center;
    justify-self: center;
    width: 70vw;
    font: normal normal 300 4.5vw / 6.5vw var(--default-font-family);
}

.coe-container-mobile .group-container .group2-coe-background .groupCore-text p.driven-subline:not(:last-child) {
    margin-bottom: 20px;
}

.coe-container-mobile .group-container .group2-coe-background .groupCore-text .drivenButtonCore-text {
    justify-content: center;
    gap: 3vw;
}

#divContentWrapper .coe-container-mobile .group-container .group2-coe-background .groupCore-text .drivenButtonCore-text .coeCore_driven a.driven_text {
    width: 65vw;
    justify-content: center;
    display: grid;
    font: normal normal 300 4vw / 6vw var(--default-font-family);
}

.coe-container-mobile .group-container .group2-coe-background {
    margin-bottom: 4vw;
    height: auto;
    background-color: black;
    background-image: none;
}

/* ----------------------------------
    iPad specific layout adjustments 
 ---------------------------------- */
.ipad_coe-container .group-container .group2-coe-background .groupCore-text .drivenButtonCore-text {
    margin-top: 2.5vw;
}

.ipad_coe-container .coreImage-container .coeCore_col .coeCore_col_main .coeCore-text #divContentWrapper p.coeCore-name {
    font-size: 13px;
}

.ipad_coe-container .coreImage-container .coeCore_col #divContentWrapper p.coeCore-sub {
    font-size: 12px;
}

#divContentWrapper .ipad_coe-container .group-container .group2-coe-background .groupCore-text p.driven-subline {
    font: normal normal 300 1.4vw / 2vw var(--default-font-family);
    width: 67vw;
}