@import "bootstrap.min.css";

/* Signup/login screens css starts */

.display-none {
    display: none;
}

#confirm {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}

body {
    overflow-x: hidden;
    overflow-y: auto;
}

html.safetyos-login,
html:has(.left-side-container) {
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    position: static !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

html.safetyos-login body,
html:has(.left-side-container) body {
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    position: static !important;
    overflow: visible !important;
    touch-action: pan-y;
}

body:has(.left-side-container) {
    margin: 0;
    background-color: #00264d;
}

.g-recaptcha {
    margin-bottom: 25px;
}

.row {
    margin-right: 0;
    margin-left: 0;
}


.full-screen-page {
    visibility: visible;
}

.full-screen-page .head-top {
    display: none;
}

.left-bg-img,
.right-bg-content {
    position: absolute;
    height: 100%;
    min-height: 800px;
    margin: 0;
}

.full-blocked-page .left-bg-img {
    height: 84%;
    position: relative;
    min-height: 100vh;
}


.left-bg-img {
    background: url(../images/signup-bg.jpg) no-repeat;
    background-size: cover;
    z-index: 1;
    padding: 30px;
    color: #fff;
}

.left-bg-img:after {
    content: "";
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(28, 50, 63, 0.7);
}

.left-bg-img .logo {
    width: 118px;
}

.left-bg-img section {
    width: 80%;
    margin: 0 auto;
    font-size: 20px;
    line-height: 30px;
}

.left-bg-img section,
.right-bg-content section {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
}

.right-bg-content {
    right: 0;
}

.right-bg-content section {
    width: 82%;
    margin: 0 auto;
}

.left-bg-img h1,
.left-bg-img h3 {
    font-family: Metropolis, system-ui;
    font-weight: 400;
    font-size: 20px;
    line-height: 34px;
    color: #fff;
    margin: 10px 0 15px;
}

.left-bg-img section a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff;
    font-size: 18px;
}

.left-bg-img section a:hover,
.left-bg-img section a:focus {
    color: #fff;
    border-bottom: 0 solid #fff;
}

.left-bg-img section a span#navigation-button {
    font-size: 14px;
    vertical-align: middle;
}

.left-bg-img h1 {
    font-size: 36px;
}

.left-bg-img p {
    font-size: 18px;
    margin-bottom: 15px;
}

.writer-info img {
    float: left;
    border-radius: 50%;
}

.writer-info .data {
    margin-top: 6px;
    font-size: 14px;
    line-height: 22px;
    color: #ccc;
    margin-left: 86px;
}

.writer-info strong {
    display: block;
    font-size: 16px;
    color: #fff;
    margin-bottom: 4px;
}

.gray-tip {
    font-size: 18px;
    color: #656c73;
    margin: 14px 0 32px;
    display: block;
    font-family: Metropolis, system-ui;
}

.form-section {
    width: 60%;
    margin: 0 auto;
}

.form-section h2 {
    font-size: 36px;
    line-height: 1.2;
    margin-top: 0;
}

.other-option {
    color: #4e555c;
    font-size: 16px;
    text-align: right;
    margin: 28px 40px 0 0;
}

.border-button {
    color: #4e555c;
    border-color: #4e555c;
    margin-left: 14px;
    padding: 8px 32px;
    font-size: 16px;
    border-radius: 2px;
}

.border-button:hover,
.border-button:focus {
    color: #4e555c;
}

.form-section input,
.form-section #cemail,
.form-section #email,
.form-section #phone,
.form-section #login-password,
.form-section #password-reset,
.form-section #password-reset-conf,
.form-section #password {
    display: block;
    background-color: #fff;
    border: 1px solid #4d6984;
    box-shadow: none;
    -webkit-box-shadow: none;
    width: 100%;
    height: 36px;
    border-radius: 6px;
    padding: 6px 12px;
    margin-bottom: 25px;
    font-size: 14px;
    color: #1a232c;
}

.form-section .g-recaptcha,
.form-section .signup-buttons {
    margin-left: 0;
    height: auto;
}

.form-section input:-moz-placeholder {
    color: #4d6984;
}

.form-section input::-moz-placeholder {
    color: #4d6984;
    opacity: 1;
}

.form-section input:-ms-input-placeholder {
    color: #4d6984;
}

.form-section input::-webkit-input-placeholder {
    color: #4d6984;
}

.blue-border-button {
    width: 100%;
    height: 50px;
    border-radius: 34px;
    border: solid 1px #59afe9;
    background: transparent;
    color: #59afe9;
    ;
}

.blue-color-button-round {
    background-color: #54b2e2;
    border: 0;
    border-radius: 34px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    width: 100%;
    height: 50px;
    margin-bottom: 20px;
}

.blue-color-button {
    background-color: #54b2e2;
    border: 0;
    border-radius: 2px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    width: 210px;
    height: 50px;
    margin-bottom: 20px;
}

.blue-color-button-square:hover,
.blue-color-button-square:focus,
.blue-color-button:hover,
.blue-color-button:focus {
    background-color: #4ea9d8;
    color: #fff;
    border: 0;
}

.blue-link {
    color: #54b2e2;
    display: inline-block;
    margin-bottom: 34px;
    margin-top: -10px;
}

.blue-link:hover,
.blue-link:focus {
    color: #4ea9d8;
}

.parent-login-text {
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 0.9px;
    text-align: left;
    color: #54b2e2;
}

.parent-login-bg {
    background: url(../images/parent-login-bg.jpg) no-repeat;
    background-size: cover;
}

.admin-login-bg {
    background: url(../images/admin-login-bg.jpg) no-repeat;
    background-size: cover;
}

.girl-bg {
    background: url(../images/girl-laptop.jpg) no-repeat;
    background-size: cover;
    background-position: right;
}

.block-bg {
    background: url(../images/Blockedbg_left.jpg) no-repeat;
    background-size: cover;
}

.full-blocked-page .block-bg {
    background: url(../images/Blockedbg_full.jpg) no-repeat;
    background-size: cover;
}

.form-section .alert {
    margin-left: 0;
}

.btnn {
    display: block;
    text-align: left;
    font-size: 16px;
    color: #1A232C;
    border: 1px solid #7891A9;
    border-radius: 40px;
    width: 335px !important;
    padding: 0;
    margin-bottom: 24px;
    position: relative;
    font-family: Metropolis, system-ui;
    word-wrap: break-word;
    white-space: normal;
    align-items: center;
    display: flex;
}

.btn-google:focus-visible {
    outline: 2px solid #004d99;
    box-shadow: none;
    outline-offset: 4px;
}

.btn-azure:focus-visible {
    outline: 2px solid #004d99;
    box-shadow: none;
    outline-offset: 4px;
}

.btn-azure {
    border-color: #5E5E5E;
    border-style: solid;
    border-width: 1px;
    background-color: #FFF;
    color: #5E5E5E !important;
    font-weight: 400;
    font-size: 15px;
    font-family: Metropolis, system-ui;
    padding: 13px 10px;
    height: 51px;
}

.btn-google:hover,
.btn-google:focus {
    color: #fff;
    background-color: #3367d6;
    font-family: Metropolis, system-ui;
}

.btn-azure:hover,
.btn-azure:focus {
    color: #5E5E5E !important;
    background-color: #FFF;
    font-weight: 400;
    font-size: 15px;
    font-family: Metropolis, system-ui;
}

.btn-azure>img {
    padding-right: 15px;
    height: 25px;
    position: relative;
}

.btn-google>img {
    padding-right: 24px;
    height: 36px;
}

.google-button,
.azure-button,
.icon-button {
    display: block;
    background-color: #dd4b39;
    text-align: left;
    font-size: 16px;
    color: #fff;
    border: 0;
    border-radius: 2px;
    width: 360px;
    padding: 15px 18px 15px 60px;
    margin-bottom: 24px;
    position: relative;
}

.icon-button {
    padding: 9px 18px 17px 18px;
    line-height: 1.2;
    background-color: #54b2e2;
}

.icon-button:hover,
.icon-button:focus {
    background-color: #4eaad9;
    color: #fff;
}

.icon-button span {
    display: inline-block;
    font-size: 24px;
    margin-right: 20px;
    position: relative;
    border: 1px solid #68bce6;
    height: 50px;
    vertical-align: inherit;
    padding: 12px;
    width: 50px;
}

.icon-button.white-button {
    background-color: #fff;
    color: #111;
    border: 1px solid #6f8188;
    padding: 7px 18px 15px 18px;
}


.google-button:hover,
.google-button:focus {
    background-color: #d24230;
    color: #fff;
}

.google-button:before,
.azure-button:before {
    content: "";
    background: url(../images/login-icons.png) no-repeat;
    width: 23px;
    height: 23px;
    display: inline-block;
    position: absolute;
    left: 18px;
    top: 14px;
}

.azure-button:before {
    background: url(../images/login-icons.png) -37px 0 no-repeat;
}

.azure-button {
    background-color: #00abeb;
}

.azure-button:hover,
.azure-button:focus {
    background-color: #06a4df;
    color: #fff;
}

.center-text section {
    width: 70%;
    text-align: center;
}

.ss-icon {
    font-size: 35px;
    display: inline-block;
    margin-bottom: 4px;
}

.bottom-logo {
    position: absolute;
    left: 50%;
    bottom: 44px;
    margin-left: -58px;
    max-width: 116px;
}


.or-text {
    color: #b7b7b7;
    margin-top: -20px;
}

.send-fail,
.send-success {
    margin-top: 20%;
}

.send-success h3 {
    font-family: inherit;
    font-size: 22px;
    letter-spacing: 0.7px;
    text-align: center;
    color: #30cf7e;
    padding: 20px;
}

.send-success p {
    font-size: 14px;
    letter-spacing: 0.5px;
    text-align: center;
    color: #6f8188;
    font-weight: 500;
}

.push-down {
    position: relative;
    width: 300px;
    height: 25px;
    margin-left: -150px;
    bottom: 0px;
    left: 50%;
    margin-top: 10px;
}

.send-fail h3 {
    font-size: 22px;
    letter-spacing: 0.7px;
    text-align: center;
    color: #ff7f7d;
    margin: 0;
}

.send-fail form label {
    height: 16.4px;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-align: left;
    color: #6f8188;
    margin: 20px 0;
}

.send-fail i {
    width: 84px;
    height: 80px;
    object-fit: contain;
    font-size: 80px;
    letter-spacing: 4px;
    text-align: center;
    color: #ff7f7d;
}

.send-fail form {
    padding: 30px 0;
}

@media (max-width: 767px) {
    .logo {
        width: 120px;
        margin-left: -2px;
    }

    .right-bg-content {
        width: 100%;
        position: static;
        height: auto;
        min-height: inherit;
        padding: 40px;
    }

    .form-section h2 {
        font-size: 22px;
    }

    .other-option {
        margin: 0 -15px;
        padding: 3px 20px;
        /*background-color: #52555c;*/
        position: relative;
        height: 50px;
    }

    .other-option span {
        display: none;
    }

    .other-option .border-button {
        background-color: transparent;
        color: #fff;
        border: 0;
        padding: 10px 0;
        margin-left: 0;
    }

    .other-option .visible-xs {
        width: 100px;
        position: absolute;
        top: 12px;
        left: 20px;
    }

    .right-bg-content section {
        margin-top: 40px;
        width: auto;
        position: static;
        top: 50%;
        left: 50%;
        transform: none;
        -webkit-transform: none;
        -moz-transform: none;
    }

    .right-bg-content .blocked-xs {
        margin: 0 !important;
        padding: 0 !important;
        text-align: unset !important;
    }

    .right-bg-content>.blocked-xs>.visible-xs {
        width: inherit !important;
        left: 0 !important;
    }

    .right-bg-content>.blocked-xs>.visible-xs>.logo {
        width: 118px !important;
        height: 26px;
        margin: 0px 0px 0px -7px !important;
    }

    .form-section {
        width: 100%;
    }

    .google-button,
    .azure-button,
    .icon-button {
        width: auto;
        white-space: inherit;
    }

    .bottom-logo {
        position: static;
        margin: 50px auto 30px;
        display: block;
    }

    .full-blocked-page .left-bg-img section {
        width: 90%;
        margin: 10px 0;
    }
}

@media (min-width:768px) {
    .banner-msg {
        left: -15px;
        top: 180px;
        position: relative;
    }
}

@media (min-height: 1024px) {
    .banner-msg {
        left: -15px;
        top: 340px;
        position: relative;
    }
}

@media (min-height: 800px) and (max-height: 1024px) {
    .banner-msg {
        left: -15px;
        top: 260px;
        position: relative;
    }
}

.permission-form input:read-only {
    border: 0;
    background: none;
    color: #637484;
}

.permission-form input,
textArea,
select {
    display: block;
    background-color: #fff;
    box-shadow: none;
    border: 0;
    border-bottom: 1px solid #d2e4f7;
    -webkit-box-shadow: none;
    width: 100%;
    height: 24px;
    border-radius: 2px;
    padding: 10px 2px;
    margin-bottom: 20px;
    font: 400 1.6rem/1.5 'MetropolisRegular', sans-serif;
    color: #171b1f;
    letter-spacing: normal;
}

.permission-form input::placeholder,
textArea::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #b2bdbf;
}

.permission-form input :-ms-input-placeholder,
textArea :-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #b2bdbf;
}

.permission-form input::-ms-input-placeholder,
textArea::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #b2bdbf;
}

.permission-form .question-set {
    background: url(../images/navigatedown.png) no-repeat 98% #fff;
    -webkit-appearance: none;
    padding-right: 20px;
}

.permission-form .question-set:invalid {
    color: #b2bdbf;
}

.permission-form .question-set option {
    color: #3c3c3c;
    box-shadow: 0 0 4px 0 rgba(182, 182, 182, 0.5);
    background-color: #ffffff;
}

.permission-form .domain-error {
    margin-top: -20px;
    margin-bottom: 20px;
    font-size: 12px;
    color: #E60F00;
}

.ask-permission {
    display: block;
    font-size: 16px;
    position: relative;
    padding: 0;
    text-decoration: none;
}

.mail-success {
    width: 100%;
    height: 50px;
    top: 0;
    right: 0;
    left: 0;
    position: absolute;
    background: #28d9c3;
    z-index: 2;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
    line-height: 50px;
}

/* Signup/login screens css ends */


/* Redesign CSS */

.box-design {
    border-radius: 8px;
    box-shadow: 0 16px 16px rgba(0, 0, 0, .04);
    background-color: #fff;
    padding: 50px 118px;
    width: auto;
}

.image-col {
    padding-right: 10%;
}

.aligned-container {
    display: grid;
    align-items: center;
    height: 100vh;
    background: url(../images/school-login-0120@2x.png) no-repeat 0 50%;
    background-size: 48%;
    font: 400 18px/30px 'MetropolisRegular', sans-serif;
    color: #637484;
    text-align: center;
    padding: 20px 0;
    min-height: 600px;
}

.student-login-image {
    background: url(../images/securly-website-parent-student-login.png) no-repeat 0 50%;
    background-size: 48%;
}

.box-design h2 {
    font-family: Metropolis, system-ui;
    font-size: 24px;
    font-weight: 400;
    color: #171b1f;
}

.box-design .gray-tip {
    color: #637484;
    font: 400 18px/30px 'MetropolisRegular', sans-serif;
    padding: 0 10px;
}

.box-design .btnn,
.box-design .btn-azure {
    width: 100% !important;
    height: 40px;
    font-family: Metropolis, system-ui;
    font-size: 14px;
}

.box-design .btn-azure>img {
    height: 20px;
    padding-right: 20px;
}

.down-info {
    font-size: 14px;
    line-height: 28px;
    margin-top: 30px;
}

.down-info a {
    font-size: 16px;
    color: #0073e6;
}

.down-info a:hover {
    color: #0060bf;
    text-decoration: none;
}

.down-info a:focus,
.down-info a:active {
    color: #004d99;
    text-decoration: none;
}

@media (max-width: 1199px) {
    .box-design {
        padding: 40px 70px;
    }

    .aligned-container {
        height: auto;
    }
}

@media (max-width: 991px) {
    .box-design {
        padding: 30px 20px;
    }

    .box-design .gray-tip {
        font-size: 16px;
        line-height: 24px;
    }
}

@media (max-width: 767px) {
    .aligned-container {
        background: none;
        padding: 0;
        min-height: inherit;
    }

    .box-design {
        padding: 24px 14px;
        margin: 24px auto;
    }

    .box-design .btnn,
    .box-design .btn-azure {
        width: 270px !important;
        margin-right: auto;
        margin-left: auto;
    }

    .form-col {
        padding-right: 10px;
        padding-left: 10px;
    }
}

.school-login-title {
    font-family: Metropolis, system-ui;
    font-size: 24px;
    font-weight: 400;
    color: #171b1f;
    margin-top: auto;
}

/* Left-side safetyOS login panel */
.aligned-container:has(.left-side-container) {
    display: block !important;
    background-image: none;
    background-color: #00264d;
    padding: 0;
    text-align: left;
    max-width: none;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    overflow: visible !important;
}

.aligned-container:has(.left-side-container)>.row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
    height: auto !important;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
}

.aligned-container:has(.left-side-container)>.row:before,
.aligned-container:has(.left-side-container)>.row:after {
    display: none !important;
    content: none !important;
}

.aligned-container:has(.left-side-container)>.row>.col-sm-6,
.aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child,
.aligned-container:has(.left-side-container) .form-col {
    float: none;
    width: 50%;
    max-width: 50%;
    flex: 1 1 50%;
    height: auto;
}

.aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child {
    display: flex;
}

.aligned-container:has(.left-side-container) .form-col {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    padding: 40px 32px;
}

.left-side-container {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    min-height: 100%;
    padding: 48px 48px 48px 56px;
    text-align: left;
    color: #fff;
    background-color: #00264d;
}

.left-side-container .s-logo {
    display: block;
    flex-shrink: 0;
    text-align: left;
}

.left-side-container .s-logo img {
    display: block;
    width: 180px;
    height: auto;
}

.left-side-middle-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 420px;
}

.left-side-middle-content h1 {
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px;
}

.left-side-middle-content h1 strong {
    font-weight: 700;
    color: #b9d9ff;
    display: block;
}

.left-side-middle-content .left-side-tagline {
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    color: #80B9F3;
    margin: 0 0 16px;
}

.left-side-middle-content p {
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #BFCCD9;
    margin: 0;
}

.left-side-bottom-content {
    flex-shrink: 0;
    max-width: 420px;
    margin: 0;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #80B9F3;
    text-align: left;
}

@media (max-width: 991px) {
    .aligned-container:has(.left-side-container) {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .aligned-container:has(.left-side-container)>.row {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .aligned-container:has(.left-side-container)>.row>.col-sm-6,
    .aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child,
    .aligned-container:has(.left-side-container) .form-col {
        display: block;
        width: 100%;
        max-width: none;
        flex: none;
        float: none;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .left-side-container {
        height: auto !important;
        min-height: 0 !important;
        padding: 32px 24px 16px;
        gap: 28px;
    }

    .left-side-middle-content {
        flex: none;
        justify-content: flex-start;
    }

    .left-side-middle-content h1 {
        font-size: 28px;
    }

    .aligned-container:has(.left-side-container) .form-col {
        padding: 16px 24px 40px;
    }
}

@media (max-width: 767px) {
    .aligned-container:has(.left-side-container) {
        height: auto !important;
        min-height: 0 !important;
        padding: 0;
    }

    .aligned-container:has(.left-side-container)>.row {
        display: block !important;
        min-height: 0 !important;
    }

    .aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child,
    .aligned-container:has(.left-side-container) .form-col {
        display: block;
        height: auto !important;
        min-height: 0 !important;
    }

    .left-side-container {
        height: auto !important;
        min-height: 0 !important;
        padding: 32px 16px 16px;
        gap: 28px;
    }

    .left-side-middle-content {
        flex: none;
        justify-content: flex-start;
    }

    .left-side-middle-content h1 {
        font-size: 24px;
    }

    .left-side-middle-content .left-side-tagline {
        font-size: 16px;
    }

    .left-side-middle-content p {
        font-size: 15px;
    }
}

/* Right-side sign-in card */
.aligned-container:has(.left-side-container) .box-design {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 40px 36px 36px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    border-radius: 24px;
    text-align: center;
}

.aligned-container:has(.left-side-container) .form-section {
    width: 100%;
}

.aligned-container:has(.left-side-container) .box-design h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 0 28px;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    color: #344658;
}

.aligned-container:has(.left-side-container) .box-design h2 strong {
    display: block;
    margin-top: 4px;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.25;
    color: #1a232c;
}

.aligned-container:has(.left-side-container) .box-design .btnn,
.aligned-container:has(.left-side-container) .box-design .btn-padded,
.aligned-container:has(.left-side-container) .box-design .btn-google {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 40px;
    margin: 0 0 10px;
    padding: 0 16px;
    overflow: hidden;
    background-color: #fff;
    border: 1px solid #c5d0da;
    border-radius: 50px;
    box-shadow: none;
    color: #1a232c;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.aligned-container:has(.left-side-container) .box-design nav .btnn:last-child {
    margin-bottom: 0;
}

.aligned-container:has(.left-side-container) .box-design .btnn:hover,
.aligned-container:has(.left-side-container) .box-design .btnn:focus,
.aligned-container:has(.left-side-container) .box-design .btn-padded:hover,
.aligned-container:has(.left-side-container) .box-design .btn-padded:focus,
.aligned-container:has(.left-side-container) .box-design .btn-google:hover,
.aligned-container:has(.left-side-container) .box-design .btn-google:focus {
    color: #1a232c;
    background-color: #fff;
    border-color: #9eacb8;
    text-decoration: none;
}

.aligned-container:has(.left-side-container) .box-design .btnn:focus-visible,
.aligned-container:has(.left-side-container) .box-design .btn-padded:focus-visible,
.aligned-container:has(.left-side-container) .box-design .btn-google:focus-visible {
    outline: 2px solid #004d99;
    outline-offset: 3px;
}

.aligned-container:has(.left-side-container) .box-design .btnn .btn-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

.aligned-container:has(.left-side-container) .box-design .btnn .btn-icon img {
    display: block;
    flex-shrink: 0;
    width: 22px !important;
    height: 22px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain;
}

.aligned-container:has(.left-side-container) .box-design .btnn .btn-icon-google img {
    transform: scale(2.15);
}

.aligned-container:has(.left-side-container) .box-design .btnn .btn-icon-clever img {
    transform: scale(2.2);
}

.aligned-container:has(.left-side-container) .box-design .btnn .btn-icon-classlink img {
    transform: scale(2);
}

.aligned-container:has(.left-side-container) .box-design nav {
    display: block;
}

.aligned-container:has(.left-side-container) .box-design .btnn>span:not(.btn-icon) {
    display: block;
    width: 100%;
    text-align: center;
}

.magic-link-icon {
    margin: 10px 0 30px;
    max-width: 70px;
}

@media (max-width: 767px) {
    .aligned-container:has(.left-side-container) .form-col {
        background-color: transparent;
        padding: 16px 16px 40px;
    }

    .aligned-container:has(.left-side-container) .box-design {
        padding: 28px 20px 24px;
        margin: 0 auto;
        max-width: 400px;
        border-radius: 20px;
    }

    .aligned-container:has(.left-side-container) .box-design h2 {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .aligned-container:has(.left-side-container) .box-design h2 strong {
        font-size: 22px;
    }

    .aligned-container:has(.left-side-container) .box-design .btnn,
    .aligned-container:has(.left-side-container) .box-design .btn-padded,
    .aligned-container:has(.left-side-container) .box-design .btn-google {
        width: 100% !important;
        margin-right: 0;
        margin-left: 0;
    }
}

/* Product list page: orbital graphic on main, pinned to the viewport */
main.product-list-page {
    position: relative;
    display: block;
    min-height: 100vh;
    min-height: 100dvh;
    background-color: #00264d;
    background-image: none;
}

main.product-list-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: url("https://dcoagk8k1enmq.cloudfront.net/new-circle-design-bg.webp");
    background-repeat: no-repeat;
    background-position: left -72vh bottom -100vh;
    background-size: 185vh auto;
}

main.product-list-page.parent-login-page::before {
    background-image: url("https://dcoagk8k1enmq.cloudfront.net/parent-login-page-bg.webp");
    background-position: 0;
    background-size: cover;
}

main.product-list-page,
main.product-list-page * {
    box-sizing: border-box;
}

main.product-list-page .container,
main.product-list-page .aligned-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

main.product-list-page .row,
main.product-list-page .aligned-container:has(.left-side-container)>.row {
    display: block;
    margin: 0;
    min-height: 0;
}

main.product-list-page .row::before,
main.product-list-page .row::after {
    display: none;
    content: none;
}

main.product-list-page .col-sm-6 {
    float: none;
    min-width: 0;
}

main.product-list-page .col-sm-6:first-child,
main.product-list-page .aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child,
main.product-list-page .form-col,
main.product-list-page .aligned-container:has(.left-side-container) .form-col {
    display: block;
    width: 100%;
    max-width: 100%;
    flex: none;
    justify-content: center;
    padding: 0 20px 32px;
}

main.product-list-page .form-section {
    width: 100%;
    margin: 0;
}

main.product-list-page .aligned-container:has(.left-side-container) {
    position: relative;
    z-index: 1;
    background-image: none;
    background-color: transparent;
    min-height: 0;
}

main.product-list-page .left-side-container {
    background-color: transparent;
    align-items: center;
    justify-content: flex-start;
    padding: 28px 20px 16px;
    gap: 14px;
    text-align: center;
}

main.product-list-page .left-side-container .s-logo {
    text-align: center;
}

main.product-list-page .left-side-container .s-logo img {
    margin: 0 auto;
    width: 140px;
}

main.product-list-page .left-side-middle-content {
    width: 100%;
    max-width: 280px;
    min-width: 0;
    margin: 0 auto;
    align-items: center;
}

main.product-list-page .left-side-middle-content h1 {
    margin: 0;
}

main.product-list-page .left-side-middle-content h1 img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Product picker grid — stacked by default, 2-col from 768px */
.aligned-container:has(.left-side-container) .box-design.product-picker {
    max-width: none;
    width: 100%;
    margin: 0 auto;
    padding: 32px 24px 24px;
    text-align: left;
    border-radius: 24px;
}

/* Page-specific card variants — extra class on .product-picker to override per page */
.aligned-container:has(.left-side-container) .box-design.product-picker.sso-login-card,
main.product-list-page .box-design.product-picker.sso-login-card {
    width: 400px;
    max-width: 100%;
    padding: 48px;
}

.aligned-container:has(.left-side-container) .box-design.product-picker.sso-login-card h2,
main.product-list-page .box-design.product-picker.sso-login-card h2 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 32px;
}

.aligned-container:has(.left-side-container) .box-design.product-picker h2 {
    display: block;
    margin: 0 0 24px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #344658;
    text-align: left;
}

.inside-nav {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.inside-nav li {
    margin: 0;
    padding: 0;
}

.inside-nav a {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background-color: #fff;
    border: 1px solid #e5edf5;
    border-radius: 10px;
    box-shadow: none;
    color: #1a232c;
    text-decoration: none;
}

.inside-nav a:hover,
.inside-nav a:focus {
    color: #1a232c;
    border-color: #c6d1db;
    text-decoration: none;
}

.inside-nav a:focus-visible {
    outline: 2px solid #004d99;
    outline-offset: 3px;
}

.inside-nav picture {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
}

.inside-nav img {
    display: block;
    width: 36px;
    height: 36px;
    max-width: none;
    object-fit: contain;
}

.inside-nav p {
    margin: 0;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    color: #1a232c;
    text-align: left;
}

@media (min-width: 768px) {

    main.product-list-page .row,
    main.product-list-page .aligned-container:has(.left-side-container)>.row {
        display: flex !important;
        flex-wrap: nowrap;
        align-items: stretch;
        min-height: 100vh !important;
        min-height: 100dvh !important;
    }

    main.product-list-page .col-sm-6:first-child,
    main.product-list-page .aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child {
        display: flex;
        align-items: stretch;
        width: 38%;
        max-width: 38%;
        flex: 1 1 38%;
        padding: 0;
        min-height: 100%;
    }

    main.product-list-page .form-col,
    main.product-list-page .aligned-container:has(.left-side-container) .form-col {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 66%;
        max-width: 66%;
        flex: 1 1 66%;
        padding: 48px 48px 48px 24px;
    }

    main.product-list-page.parent-login-page .col-sm-6:first-child,
    main.product-list-page.parent-login-page .aligned-container:has(.left-side-container)>.row>.col-sm-6:first-child {
        width: 60%;
        max-width: 60%;
        flex: 1 1 60%;
    }

    main.product-list-page.parent-login-page .form-col,
    main.product-list-page.parent-login-page .aligned-container:has(.left-side-container) .form-col {
        width: 40%;
        max-width: 40%;
        flex: 1 1 40%;
    }

    main.product-list-page .aligned-container:has(.left-side-container) {
        min-height: 100vh;
        min-height: 100dvh;
    }

    main.product-list-page .left-side-container {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        flex: 1 1 auto;
        width: 100%;
        height: 100% !important;
        min-height: 100% !important;
        padding: 48px 48px 48px 56px;
        gap: 0;
        text-align: left;
    }

    main.product-list-page .left-side-container .s-logo {
        position: relative;
        z-index: 1;
        text-align: left;
    }

    main.product-list-page .left-side-container .s-logo img {
        margin: 0;
        width: 180px;
    }

    main.product-list-page .left-side-middle-content {
        position: absolute;
        top: 50%;
        left: 56px;
        right: 48px;
        transform: translateY(-50%);
        flex: none;
        width: auto;
        max-width: 460px;
        margin: 0;
        align-items: flex-start;
        justify-content: center;
    }

    main.product-list-page.parent-login-page .left-side-middle-content {
        top: auto;
        bottom: 26px;
        transform: inherit;
        max-width: inherit;
    }

    main.product-list-page .left-side-middle-content h1 img {
        margin: 0;
    }

    .aligned-container:has(.left-side-container) .box-design.product-picker {
        max-width: 864px;
        padding: 64px;
        text-align: center;
    }

    .aligned-container:has(.left-side-container) .box-design.product-picker h2 {
        margin: 0 auto 32px;
    }

    .inside-nav {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(6, auto);
        grid-auto-flow: column;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    main.product-list-page .left-side-container {
        padding: 32px 20px 32px 28px;
    }

    main.product-list-page .left-side-middle-content {
        left: 28px;
        right: 20px;
    }

    main.product-list-page .left-side-container .s-logo img {
        width: 150px;
    }

    main.product-list-page .form-col,
    main.product-list-page .aligned-container:has(.left-side-container) .form-col {
        padding: 32px 20px 32px 12px;
    }

    .aligned-container:has(.left-side-container) .box-design.product-picker {
        max-width: none;
        padding: 36px 28px;
    }
}

@media (max-width: 767px) {
    main.product-list-page {
        overflow-x: hidden;
    }

    main.product-list-page .aligned-container:has(.left-side-container) .form-col {
        padding: 0 16px 28px;
    }

    main.product-list-page::before {
        position: absolute;
        inset: 0;
        width: auto;
        height: auto;
        min-height: 0;
        max-height: none;
        transform: none;
        background-position: -30vw -22vw;
        background-size: 160vw auto;
    }

    main.product-list-page .box-design.product-picker,
    .aligned-container:has(.left-side-container) .box-design.product-picker {
        max-width: none;
        margin: 0 auto;
        padding: 24px;
        border-radius: 24px;
        text-align: left;
    }

    main.product-list-page .box-design.product-picker h2,
    .aligned-container:has(.left-side-container) .box-design.product-picker h2 {
        margin: 0 0 18px;
        font-size: 15px;
        line-height: 1.45;
        text-align: left;
        max-width: none;
    }

    main.product-list-page .box-design.product-picker.sso-login-card,
    .aligned-container:has(.left-side-container) .box-design.product-picker.sso-login-card {
        width: 100%;
        max-width: 100%;
        padding: 24px;
    }

    main.product-list-page .box-design.product-picker.sso-login-card h2,
    .aligned-container:has(.left-side-container) .box-design.product-picker.sso-login-card h2 {
        font-size: 24px;
        text-align: center;
        margin-top: 10px;
        margin-bottom: 32px;
    }

    main.product-list-page .inside-nav,
    .inside-nav {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-flow: row;
        gap: 10px;
    }

    main.product-list-page .inside-nav a,
    .inside-nav a {
        padding: 12px;
        gap: 12px;
        border-radius: 12px;
    }

    main.product-list-page .inside-nav p,
    .inside-nav p {
        font-size: 15px;
    }
}

/* Right-side form card — extra class for ID/password pages */
.aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form,
main.product-list-page .box-design.product-picker.right-side-form {
    width: 480px;
    max-width: 100%;
    padding: 48px;
    text-align: left;
}

.aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form h2,
main.product-list-page .box-design.product-picker.right-side-form h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 0 24px;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3;
    color: #344658;
    text-align: center;
}

.aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form h2 strong,
main.product-list-page .box-design.product-picker.right-side-form h2 strong {
    display: block;
    font-size: 36px;
    font-weight: 500;
    color: #344658;
}

.right-side-form .deprecation-notice {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 30px;
    padding: 16px;
    background-color: #f9f5cc;
}

.right-side-form .deprecation-notice__icon {
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 2px;
}

.right-side-form .deprecation-notice__text {
    margin: 0;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: #1a232c;
    text-align: left;
}

.credentials-form .form-group {
    margin: 0 0 16px;
    text-align: left;
}

.credentials-form .center-link {
    margin-top: 10px;
    text-align: center;
}

.securly-home-logo {
    margin-bottom: 20px;
    max-width: 100%;
}

.credentials-form .forgot-pass-group {
    margin: -20px 0 30px;
}

.credentials-form label {
    display: block;
    margin: 0 0 8px;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    color: #4d6984;
    text-align: left;
}

.credentials-form .blue-normal-link {
    display: inline-block;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: #0073e6;
    text-decoration: underline;
}

.credentials-form .blue-normal-link:hover,
.credentials-form .blue-normal-link:focus {
    color: #0060bf;
}

.credentials-submit {
    display: block;
    width: 100%;
    height: 32px;
    padding: 7px 24px;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
    text-align: center;
    background-color: #0073e6;
    border: 0;
    border-radius: 50px;
    cursor: pointer;
    text-decoration: none;
}

.credentials-submit:hover,
.credentials-submit:focus {
    background-color: #0060bf;
}

.credentials-submit:focus-visible {
    outline: 2px solid #004d99;
    outline-offset: 3px;
}

.text-center,
.aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form.text-center {
    text-align: center;
}

.right-side-form p {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: normal;
    color: #344658;
    margin: 0 0 20px;
}

.right-side-form p.small-text {
    font-size: 14px;
    margin: 10px 0 0;
}

.right-side-form p.smaller-text {
    font-size: 12px;
    margin: 10px 0 0;
    color: #76889b;
}

.inline-block-link {
    display: inline-block;
    width: auto;
    margin-top: 20px;
}

.credentials-form .alert {
    margin: 0 0 16px;
    padding: 12px 14px;
    font-family: Metropolis, system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #8a1f11;
    background-color: #fdecea;
    border-radius: 8px;
}

@media (max-width: 767px) {

    main.product-list-page .box-design.product-picker.right-side-form,
    .aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form {
        width: 100%;
        max-width: 100%;
        padding: 24px;
    }

    main.product-list-page .box-design.product-picker.right-side-form h2,
    .aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form h2 {
        font-size: 22px;
    }

    main.product-list-page .box-design.product-picker.right-side-form h2 strong,
    .aligned-container:has(.left-side-container) .box-design.product-picker.right-side-form h2 strong {
        font-size: 24px;
    }

    .right-side-form p {
        font-size: 16px;
    }

    main.product-list-page.parent-login-page::before {
        background: none;
    }

    .securly-home-logo {
        max-width: 220px;
        margin-bottom: 10px;
    }

    main.product-list-page.parent-login-page .left-side-middle-content {
        display: none;
    }
}