#becomePartner_section{
    position: absolute; 
    top: 30%; 
    padding-left: 2rem;
    padding-right: 2rem;
}
#becomeCrew_section{
    position: absolute; 
    top: 12%; z-index: 999; 
    padding-left: 2rem; 
    padding-right: 1rem;
}
#join_main{
    max-width: 2600px;
}
#join_main p{
    font-size: 0.925rem;
}
#join_hero{
    width: 100%;
    height: 100vh;
    display: flex;
}
#heroDivider_container{
    background-color: #151723;
    width: 100%;
    height: 95%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-content: space-between;
    align-items: center;

    border-radius: 10px;
}
.join_heroContainer{
    width: 100%;
    height: 100%;

    border-radius: 10px;
    margin: 0 0 0 0;

    position: relative;
}
.join_heroContainer h1{
    opacity: 0.85;
}
#join_student a, #join_partner a{
    color: #ffff; 
    opacity: 0.6;
    text-decoration: none; 
    display: flex;
    align-items: center;
    flex-direction: column;
    position: absolute;
    bottom: 15%;
    z-index: 999;
    padding: 0.25rem;
}
#join_student a span, #join_partner a span{
    font-size: 1rem;
}
.join_heroContainer svg{
    padding-top: 0.8rem;
}
#join_student{
    background-image: url(/img/joinPage/join_s.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 0%;
    position: relative;
}
#join_partner{
    background-image: url(/img/partner.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 30%;

}
#join_partner, #join_student{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.hero_overlayBtm{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    border-radius: 9.2px;
    z-index: 99;
    opacity: 0.98;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.85) 50%, rgba(0, 0, 0, 1) 100%);
}
.overlayTop{
    position: absolute;
    top: 0;
    z-index: 999;

    width: 100%; 
    height: 125px;
    background: linear-gradient(0deg, rgba(9, 9, 13, 0.01) 0%, rgba(9, 9, 13, 0.5) 25%, rgba(9, 9, 13, 0.8) 50%, rgba(9, 9, 13, 1) 100%);}

section#join_partnerSection, section#join_studentSection{
    padding: 0 0 5rem 0;
    margin-top: 5rem;
}

.buttons_container{
    justify-content: space-between;
    width: 90%;
    max-width: 350px;
    padding-top: 1rem;
}

.triangle_cointainer{
    background-image: url(/img/joinPage/partner.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 42% 30%;

    height: 100vh;
    width: 100%;

    position: relative;

    max-height: 1120px;
}
.triangle_cointainer img{
    width: 100%;
    height: 100%;
}
.triangle{
    background-image: url(/img/triangle_left.png);
    width: 100%;
    height: 100%;
    background-position: 0% 0%;
    background-size: 190% 115%;
    background-repeat: no-repeat;
}

.triangle_cointainer p{
    width: 70%;
    padding-bottom: 1rem;
}


.reasons_container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.reasons_item{
    background-color: #13141E;
    width: 60%;
    height: auto;

    border-radius: 5px;
    padding: 1rem;
    margin-bottom: 2rem;
}
.reasons_item p{
    color: #ffffff;
    font-weight: 300;
    margin-top: 1rem;
    padding-bottom: 2rem;
}
.reasons_item span{
    font-weight: 900;
}
.reasons_item svg{
    padding-bottom: 2rem;
    padding-top: 1rem;
}

#join_studentSection .triangle_cointainer{
    background-image: url(/img/joinPage/froya_back.jpg);
    background-position: 55% -180%;
    background-size: 280% 110%;
    max-height: 1000px;
}
#join_studentSection .triangle{
    background-image: url(/img/triangle_right.png);
    width: 100%;
    height: 100%;
    background-position: 80% 80%;
    background-size: 250% 120%;
    background-repeat: no-repeat;
}
.triangle_cointainer p{
    display: inline-block;
}

/* .gradient_btn's own padding assumes an inner <a> provides horizontal
   spacing (see general.css) — this modifier is for buttons used directly. */
.gradient_btn--standalone{
    padding: 0.5rem 1.25rem;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9rem;
}

#applyForm_container{
    background-color: #13141E;
    border-radius: 5px;
    padding: 2rem;
    margin-top: 2rem;
}
.applyForm_row{
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25rem;
}
.applyForm_row label{
    margin-bottom: 0.4rem;
    font-weight: 600;
}
.applyForm_row input,
.applyForm_row select,
.applyForm_row textarea{
    background-color: #09090d;
    color: #ffffff;
    border: 1px solid #333644;
    border-radius: 5px;
    padding: 0.6rem 0.75rem;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
}
.applyForm_row input:focus,
.applyForm_row select:focus,
.applyForm_row textarea:focus{
    outline: none;
    border-color: #009DDF;
}
.applyForm_row textarea{
    resize: vertical;
}
.applyForm_honeypot{
    /* Hidden from real applicants; server-side rejection also happens
       regardless, since a bot posting directly to the API skips this CSS. */
    position: absolute;
    left: -9999px;
}
.applyForm_message{
    padding: 0.75rem 1rem;
    border-radius: 5px;
    margin-bottom: 1.25rem;
}
.applyForm_success{
    background-color: rgba(0, 157, 223, 0.15);
    border: 1px solid #009DDF;
}
.applyForm_error{
    background-color: rgba(223, 0, 0, 0.15);
    border: 1px solid #df3b3b;
}


#category_0{
    left: 10px;
    width: 5rem;
    padding-bottom: 2rem;
    font-weight: 600;
}
#category_1{
    left: calc(10px + 5rem + 20px); 
    width: 4rem;
    font-weight: 600;
}
#category_2{
    left: calc(10px + 5rem + 20px + 4rem + 20px);
    width: 2rem;
    font-weight: 600;
}
#category_3{
    left: calc(10px + 5rem + 20px + 4rem + 20px + 2rem + 20px);
    width: 3rem;
    font-weight: 600;
}

.categoryContainer{
    background-color: #009DDF; 
    color: #13141E; 

    position: absolute;
    bottom: 0;

    padding: 0.5rem;
    text-align: center;

    border-radius: 5px 5px 0 0;
}


.departments_container{
    background-color: #13141E;
    padding: 3rem 1rem 1rem 1rem;
    border-radius: 5px;

    z-index: 999;
}

section#roles_section{
    padding: 0 1rem 0 1rem;
    margin-top: 8rem;
    position: relative;
}
.departments_container ul{
    padding: 0 0 0 0;
    margin: 1.5rem 0 0 0;
}
.departments_container li{
    list-style: none;
    padding-top: 0.5rem;
    padding-left: 0.5rem;
}

.position_container{
    margin-bottom: 6rem;
}
.availability_status{
    margin-top: 2rem;
    width: 100%;
}

span.position_title{
    font-weight: 700;
    font-size: 1.8rem;

    color: #009DDF;
}
.positionExtras{
    font-weight: 700;
}



.positionImg_container{
    width: 100%; 
    height: 225px; 
    background-position: center; 
    background-repeat: no-repeat; 
    background-size: cover;
    margin-top: 1rem;
    border-radius: 5px;
}
.positionImg_container img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.join_h2_article{
    padding-right: 1rem;
    padding-left: 1rem;
}

.position_descrip{
    padding-top: 1rem; 
    padding-bottom: 1rem;
}

.taskSvgSpan{
    position: relative; 
    padding-right: 1.5rem;
}

.taskSvg{
    position: absolute; bottom: 5%;
}

ul.keyPointsUL{
    margin-top: 2rem;
}


/* ******************** MEDIA ******************** */

/*  --- MOBILE ---  */
@media (max-width: 767px){
    .categoryContainer{
        font-size: 0.6rem;
    }
    #join_partner h1{
        position: absolute;
        top: 25%;
    }
    #join_partner a{
        position: absolute;
        top: 52%;
    }
}


/*  --- TABLET ---  */
@media only screen and (min-width: 768px) and (max-width: 991px) {

    /* JOIN */
    #becomePartner_section{
        top: 38%;
        max-width: 600px;
        margin-left: 2rem;
    }

    .reasons_item{
        max-width: 300px;
        padding: 2rem 2rem 3rem 2rem;
    }
    #becomeCrew_section{
        top: 30%;
        margin-left: 2rem;
        padding-left: 8rem;
    }
    .departments_container{
        padding: 2rem 2rem 2rem 2rem;
        width: 600px;
    }
    .positionData_container{
        padding-right: 0;
    }
    .positionImg_container{
        height: 250px;
    }
}


/*  --- DESKTOP ---  */
@media only screen and (min-width: 1023px) {
    ul.keyPointsUL{
        margin-top: 0;
    }
    #becomeCrew_section{
        left: 45%;
        width: 100%;
    }
}
@media only screen and (min-width: 992px) {
    #join_student a, #join_partner a{
        bottom: 25%;
    }

    .departments_container{
        padding: 4rem 2rem 0.01rem 2rem;
        width: 930px;
    }
    .position_container{
        display: grid;
        grid-template-columns: 50% auto;
        grid-template-rows: repeat(auto-fill, minmax(200px, 1fr));
        row-gap: 1rem;
        column-gap: 2rem;

        margin-bottom: 6rem;
    }
    .positionImg_container{
        grid-row: span 2;
    }
    .departments_container{
        min-width: 900px;
        max-width: 1000px;
    }
    .position_extrasContainer{
        margin-bottom: 2rem;
    }

    #reasonsContainer_partners{
        display: grid;
        grid-template-columns: repeat(3, minmax(200px, 1fr));
        column-gap: 1rem;

        max-width: 800px;
        margin: 0 auto;
    }
    #reasonsContainer_partners .reasons_item{
        width: auto;
        max-width: 250px;
    }

    #reasonsContainer_student{
        display: grid;
        grid-template-columns: repeat(4, minmax(200px, 1fr));
        column-gap: 1rem;

        max-width: 1000px;
        margin: 0 auto;
    }
    #reasonsContainer_student .reasons_item{
        width: auto;
        max-width: 400px;
    }
    #reasonsContainer_student .reasons_item:nth-child(2),  #reasonsContainer_student .reasons_item:nth-child(3){
        height: 450px;
    }

    #join_hero{
        justify-content: center;
        align-items: center;
    }

    #heroDivider_container{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        max-width: 1440px;
        gap: 4rem;
        padding: 2rem 2rem 2rem 2rem;
        max-height: 700px;
        margin-top: 2%;
    }
    .join_heroContainer{
        width: auto;
        height: 100%;
    }

    .triangle{
        background-size: 115% 115%;
    }
    #becomePartner_section{
        top: 45%; 
        max-width: 700px;
        left: 5%;
    }
    #becomePartner_section p, #becomePartner_section a, #becomeCrew_section p, #becomeCrew_section a{
        font-size: 1rem;
    }
    .triangle_cointainer{
        margin-bottom: 4rem;
    }
    #join_studentSection .triangle{
        background-position: 100% 0%;
        background-size: 100% 100%;
    }
    #join_studentSection .triangle_cointainer{
        background-position: 80% 90%;
        background-size: 100% 100%;
    }
    #becomeCrew_section{
        top: 20%;
        max-width: 500px;
        right: 10%;
    }
}

/*  --- LARGE DESKTOP ---  */
@media only screen and (min-width: 2000px){
    #becomePartner_section{
        padding: 0 0 0 10rem;
    }
    #becomeCrew_section{
        left: 55%;
    }
}

/*  --- TABLET & DESKTOP ---  */
@media only screen and (min-width: 768px){
    #join_partner h1{
        max-width: 70%;
        font-size: 2.8rem;
    }
    #join_student h1{
        max-width: 80%;
        font-size: 2.8rem;
    }
    .positionImg_container{
        min-height: 350px; 

        height: auto;
        margin: 0;
    }

    .position_extrasContainer{
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    #category_0{
        left: 10px;
        width: 7rem;
        font-weight: 600;
    }
    #category_1{
        left: calc(10px + 7rem + 20px); 
        width: 7rem;
        font-weight: 600;
    }
    #category_2{
        left: calc(10px + 7rem + 20px + 7rem + 20px);
        width: 7rem;
        font-weight: 600;
    }
    #category_3{
        left: calc(10px + 7rem + 20px + 7rem + 20px + 7rem + 20px);
        width: 7rem;
        font-weight: 600;
    }
    .position_extrasContainer ul{
        max-width: 100%;
    }
    .position_extrasContainer ul li{
        margin-top: 0.5rem;
    }
}