/* ==========================================================
   RAMPAGE GAMING COMMUNITY - STAFF PAGE
========================================================== */

.staff-page {
    background: #07090b;
    color: #fff;
}

.staff-container {
    width: min(1500px, calc(100% - 80px));
    margin: auto;
}


/* HERO */

.staff-hero {
    min-height: 470px;

    position: relative;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        url("/assets/hero-wardogs.jpg")
        center 40% / cover no-repeat;

    border-bottom:
        1px solid rgba(255,255,255,.07);
}

.staff-hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(3,5,7,.98),
            rgba(3,5,7,.82) 44%,
            rgba(3,5,7,.36) 75%,
            rgba(3,5,7,.66)
        );
}

.staff-hero-content {
    position: relative;
    z-index: 2;
}

.staff-label {
    color: #e31932;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 3px;
}

.staff-hero h1 {
    margin: 9px 0 0;

    font-size:
        clamp(68px, 8vw, 120px);

    font-weight: 1000;

    line-height: .82;

    letter-spacing: -5px;
}

.staff-hero h1 span {
    color: #e31932;
}

.staff-hero h2 {
    margin: 22px 0 0;

    font-size:
        clamp(22px, 2vw, 34px);

    font-weight: 1000;
}

.staff-hero p {
    max-width: 600px;

    margin-top: 11px;

    color: #a0a9ae;

    font-size: 16px;
    line-height: 1.7;
}

.staff-buttons {
    margin-top: 25px;

    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}


/* BUTTONS */

.staff-button {
    min-height: 47px;

    padding: 0 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    text-decoration: none;

    font-size: 10px;
    font-weight: 900;

    letter-spacing: .9px;

    border:
        1px solid rgba(255,255,255,.14);

    transition:
        transform .2s ease,
        background .2s ease;
}

.staff-button:hover {
    transform: translateY(-2px);
}

.staff-button-red {
    background: #e31932;

    border-color: #ed2940;
}

.staff-button-red:hover {
    background: #f0203a;
}

.staff-button-dark {
    background: #090c0f;
}


/* STRIP */

.staff-strip {
    background: #0d1013;

    border-bottom:
        1px solid rgba(255,255,255,.07);
}

.staff-strip-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);
}

.staff-strip-grid > div {
    min-height: 82px;

    padding: 18px 25px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border-right:
        1px solid rgba(255,255,255,.07);
}

.staff-strip-grid > div:first-child {
    border-left:
        1px solid rgba(255,255,255,.07);
}

.staff-strip strong {
    font-size: 12px;
    font-weight: 900;
}

.staff-strip span {
    margin-top: 4px;

    color: #68737a;

    font-size: 11px;
}


/* SECTIONS */

.staff-section {
    padding: 85px 0;

    background: #080b0e;
}

.staff-dark {
    background: #050709;
}

.staff-heading {
    max-width: 760px;

    margin-bottom: 35px;
}

.staff-heading h2 {
    margin: 7px 0;

    font-size:
        clamp(38px, 4vw, 60px);

    font-weight: 1000;

    line-height: .9;
}

.staff-heading p {
    color: #79848b;

    line-height: 1.65;
}


/* RANKS */

.staff-ranks {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 14px;
}

.staff-rank {
    min-height: 350px;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            #12171b,
            #090c0f
        );

    border:
        1px solid rgba(255,255,255,.08);

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.staff-rank:hover {
    transform: translateY(-3px);

    border-color:
        rgba(227,25,50,.45);
}

.staff-rank-top {
    display: flex;
    align-items: center;

    gap: 18px;
}

.staff-rank-number {
    min-width: 50px;

    color: #e31932;

    font-size: 11px;
    font-weight: 900;
}

.staff-rank h3 {
    margin: 4px 0 0;

    font-size: 27px;
    font-weight: 1000;
}

.staff-rank > p {
    min-height: 65px;

    margin: 22px 0;

    color: #7b858c;

    font-size: 13px;
    line-height: 1.65;
}

.staff-empty {
    min-height: 90px;

    padding: 15px;

    display: flex;
    align-items: center;

    gap: 15px;

    background:
        rgba(255,255,255,.025);

    border:
        1px solid rgba(255,255,255,.07);
}

.staff-empty > span {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    color: #fff;

    background: #e31932;

    font-size: 13px;
    font-weight: 1000;
}

.staff-empty section {
    display: flex;
    flex-direction: column;
}

.staff-empty strong {
    font-size: 11px;
}

.staff-empty small {
    margin-top: 4px;

    color: #657078;

    font-size: 9px;
}


/* DUTIES */

.staff-duty-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}

.staff-duty-grid article {
    min-height: 220px;

    padding: 27px;

    background:
        linear-gradient(
            145deg,
            #111519,
            #080b0e
        );

    border:
        1px solid rgba(255,255,255,.08);
}

.staff-duty-grid article > span {
    color: #e31932;

    font-size: 10px;
    font-weight: 900;
}

.staff-duty-grid h3 {
    margin: 38px 0 10px;

    font-size: 17px;
    font-weight: 1000;
}

.staff-duty-grid p {
    margin: 0;

    color: #768188;

    font-size: 12px;
    line-height: 1.65;
}


/* APPLICATIONS */

.staff-applications {
    padding: 90px 0;

    background:
        radial-gradient(
            circle at 76% 45%,
            rgba(227,25,50,.18),
            transparent 30%
        ),
        #0b0e11;

    border-top:
        1px solid rgba(255,255,255,.07);

    border-bottom:
        1px solid rgba(255,255,255,.07);
}

.staff-application-grid {
    display: grid;

    grid-template-columns:
        1.2fr .7fr;

    gap: 18px;
}

.staff-application-grid > div {
    padding: 42px;

    background:
        linear-gradient(
            145deg,
            #12171b,
            #090c0f
        );

    border:
        1px solid rgba(255,255,255,.08);
}

.staff-application-grid h2 {
    margin: 7px 0;

    font-size:
        clamp(40px, 5vw, 70px);

    font-weight: 1000;

    line-height: .87;
}

.staff-application-grid h2 strong {
    color: #e31932;
}

.staff-application-grid > div > p {
    max-width: 680px;

    color: #7e898f;

    line-height: 1.7;
}

.staff-requirements {
    margin: 27px 0;

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;
}

.staff-requirements > div {
    color: #a4adb2;

    font-size: 12px;
}

.staff-requirements b {
    margin-right: 7px;

    color: #e31932;
}


/* APPLICATION CARD */

.staff-application-card {
    padding: 34px;

    background:
        linear-gradient(
            145deg,
            rgba(227,25,50,.16),
            #090c0f
        );

    border:
        1px solid rgba(227,25,50,.25);
}

.staff-application-card > span {
    color: #e31932;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 2px;
}

.staff-application-card > h3 {
    margin: 7px 0 25px;

    font-size: 28px;
    font-weight: 1000;
}

.staff-application-card > div {
    min-height: 68px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border-top:
        1px solid rgba(255,255,255,.08);
}

.staff-application-card strong {
    font-size: 11px;
}

.staff-application-card small {
    margin-top: 3px;

    color: #68737a;

    font-size: 9px;
}


/* CONTACT */

.staff-contact {
    padding: 70px 0;

    background: #07090b;
}

.staff-contact-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;
}

.staff-contact h2 {
    margin: 7px 0;

    font-size:
        clamp(38px, 5vw, 65px);

    font-weight: 1000;

    line-height: .88;
}

.staff-contact h2 strong {
    color: #e31932;
}

.staff-contact p {
    max-width: 600px;

    color: #78838a;

    line-height: 1.6;
}


/* FOOTER */

.staff-footer {
    padding: 50px 0 20px;

    background: #030506;
}

.staff-footer-grid {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 30px;
}

.staff-footer-logo {
    font-size: 19px;
    font-weight: 1000;
}

.staff-footer-logo span {
    color: #e31932;
}

.staff-footer p {
    color: #5f696f;

    font-size: 11px;
}

.staff-footer-links {
    display: flex;
    flex-wrap: wrap;

    gap: 23px;
}

.staff-footer-links a {
    color: #7e888e;

    text-decoration: none;

    font-size: 10px;
    font-weight: 900;
}

.staff-footer-links a:hover {
    color: #fff;
}

.staff-footer-bottom {
    margin-top: 30px;

    padding-top: 17px;

    color: #485158;

    border-top:
        1px solid rgba(255,255,255,.06);

    font-size: 9px;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .staff-duty-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .staff-application-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 800px) {

    .staff-container {
        width:
            calc(100% - 36px);
    }

    .staff-ranks {
        grid-template-columns: 1fr;
    }

    .staff-strip-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


@media (max-width: 600px) {

    .staff-section {
        padding: 60px 0;
    }

    .staff-strip-grid,
    .staff-duty-grid,
    .staff-requirements {
        grid-template-columns: 1fr;
    }

    .staff-application-grid > div {
        padding: 26px;
    }

    .staff-contact-inner,
    .staff-footer-grid {
        align-items: flex-start;

        flex-direction: column;
    }

    .staff-button {
        width: 100%;
    }

}

