@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@600;800;900&display=swap");

:root {
    --defender-green: #b7f9d8;
    --defender-cyan: #8edde2;
    --defender-ivory: #f5f1ed;
    --defender-white: #f4f9fc;
}

html,
body.defender-welcome-page {
    background: #141517;
    margin: 0;
    min-height: 100%;
    overflow: hidden;
}

body.defender-welcome-page footer {
    display: none;
}

body.defender-welcome-page #ccm-toolbar,
body.defender-welcome-page .ccm-toolbar,
body.defender-welcome-page #ccm-notification-help,
body.defender-welcome-page .ccm-notifications-container {
    display: none !important;
}

html.ccm-toolbar-visible,
html.ccm-toolbar-visible body.defender-welcome-page,
body.defender-welcome-page.ccm-toolbar-visible {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Single pages are rendered inside the active Concrete theme. Normalize that
   wrapper here so the DEFENDER experience is full-screen in every browser. */
body:has(.defender-welcome) {
    background: #141517;
    margin: 0;
    overflow: hidden;
}

html.ccm-toolbar-visible .theme-atomik:has(.defender-welcome) {
    margin-top: 0 !important;
}

body:has(.defender-welcome) > .theme-atomik > .ccm-block-top-navigation-bar,
body:has(.defender-welcome) > .theme-atomik > footer {
    display: none !important;
}

body:has(.defender-welcome) > .theme-atomik > .container {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

body:has(.defender-welcome) > .theme-atomik > .container > .row {
    margin: 0 !important;
}

body:has(.defender-welcome) > .theme-atomik > .container > .row > [class*="col-"] {
    padding: 0 !important;
}

.defender-welcome {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.defender-welcome__background,
.defender-welcome__background img,
.defender-welcome__background video,
.defender-welcome__media-overlay,
.defender-welcome__gradient {
    inset: 0;
    position: absolute;
}

.defender-welcome__background img,
.defender-welcome__background video {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.defender-welcome__media-overlay {
    background: rgba(0, 0, 0, 0.62);
}

.defender-welcome__gradient {
    background: linear-gradient(180deg, rgba(90, 152, 149, 0) 45%, rgba(20, 21, 23, 0.88) 100%);
    height: 56%;
    inset: auto 0 0;
    mix-blend-mode: multiply;
    opacity: 0.73;
    pointer-events: none;
}

.defender-welcome__logo {
    height: auto;
    left: 50%;
    position: absolute;
    top: 130px;
    transform: translateX(-50%);
    width: 264px;
    z-index: 2;
}

.defender-welcome__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    left: 50%;
    max-width: 1320px;
    position: absolute;
    padding: 0;
    text-align: center;
    top: 41.9%;
    transform: translateX(-50%);
    width: calc(100% - 48px);
    z-index: 2;
}

.defender-welcome__message h1 {
    color: var(--defender-white);
    font-family: "Outfit", "Nunito Sans", sans-serif;
    font-size: 106px;
    font-weight: 900;
    letter-spacing: -0.024em;
    line-height: 0.86;
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.defender-welcome__message h1 span {
    color: var(--defender-green);
}

.defender-welcome__message p {
    color: var(--defender-cyan);
    font-family: "Outfit", "Nunito Sans", sans-serif;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: -0.024em;
    line-height: 1.1;
    margin: 43px 0 0;
    text-transform: uppercase;
}

.defender-welcome__actions {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 120px;
}

.defender-welcome__primary-action,
.defender-welcome__skip-action {
    font-family: "Outfit", "Nunito Sans", sans-serif;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -0.024em;
    line-height: 21px;
    text-decoration: none;
    text-transform: uppercase;
}

.defender-welcome__primary-action {
    border: 3px solid var(--defender-green);
    box-sizing: border-box;
    color: var(--defender-green);
    min-width: 363px;
    padding: 14px 36px;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.defender-welcome__primary-action:hover,
.defender-welcome__primary-action:focus-visible {
    background: var(--defender-green);
    color: #141517;
    transform: translateY(-2px);
}

.defender-welcome__skip-action {
    color: var(--defender-ivory);
    transition: color 180ms ease;
}

.defender-welcome__skip-action:hover,
.defender-welcome__skip-action:focus-visible {
    color: var(--defender-green);
}

.defender-welcome__primary-action:focus-visible,
.defender-welcome__skip-action:focus-visible {
    outline: 2px solid var(--defender-white);
    outline-offset: 5px;
}

@media (max-width: 1599px) {
    .defender-welcome__logo { top: 100px; width: 230px; }
    .defender-welcome__message h1 { font-size: 86px; }
    .defender-welcome__message p { font-size: 30px; margin-top: 38px; }
    .defender-welcome__actions { margin-top: 100px; }
}

@media (max-width: 1199px) {
    .defender-welcome__logo { top: 75px; width: 210px; }
    .defender-welcome__message h1 { font-size: 72px; }
    .defender-welcome__message p { font-size: 26px; margin-top: 34px; }
    .defender-welcome__actions { margin-top: 85px; }
}

@media (max-width: 991px) {
    .defender-welcome__logo { top: 55px; width: 195px; }
    .defender-welcome__message h1 { font-size: 60px; }
    .defender-welcome__message p { font-size: 23px; margin-top: 30px; }
    .defender-welcome__actions { margin-top: 70px; }
}

@media (max-width: 767px) {
    body.defender-welcome-page {
        overflow-y: auto;
    }

    .defender-welcome {
        min-height: 680px;
    }

    .defender-welcome__background img,
    .defender-welcome__background video {
        object-position: 43% center;
    }

    .defender-welcome__logo {
        top: 34px;
        width: 184px;
    }

    .defender-welcome__content {
        top: 35%;
        width: calc(100% - 32px);
    }

    .defender-welcome__message h1 {
        font-size: 42px;
        line-height: 0.94;
        white-space: normal;
    }

    .defender-welcome__message p {
        font-size: 18px;
        line-height: 1.12;
        margin-top: 28px;
    }

    .defender-welcome__actions {
        gap: 24px;
        margin-top: 60px;
        width: 100%;
    }

    .defender-welcome__primary-action {
        box-sizing: border-box;
        font-size: 16px;
        min-width: 0;
        padding: 14px 20px;
        max-width: 340px;
        width: 100%;
    }

    .defender-welcome__skip-action {
        font-size: 16px;
    }
}

@media (max-width: 479px) {
    .defender-welcome__logo { top: 28px; width: 170px; }
    .defender-welcome__content { top: 33%; }
    .defender-welcome__message h1 { font-size: 36px; }
    .defender-welcome__message p { font-size: 16px; margin-top: 24px; }
    .defender-welcome__actions { margin-top: 52px; }
}

@media (prefers-reduced-motion: reduce) {
    .defender-welcome__primary-action,
    .defender-welcome__skip-action {
        transition: none;
    }
}
