﻿#login-grid-container {
    min-height: 100vh;
    max-height: 100vh;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "navbar" "main" "footer";
}

nav {
    grid-area: navbar;
}

    nav .navbar-nav li > a {
        text-transform: uppercase;
        color: #00254e !important;
        text-decoration: underline;
        font-weight: bold;
        letter-spacing: 0.1rem;
    }

        nav .navbar-nav li > a:hover,
        nav .navbar-nav li > a:focus,
        nav .navbar-nav li.active > a {
            background-color: #e7e7e7 !important;
            border-radius: 8px;
            text-decoration: none;
            cursor: pointer;
        }

main {
    grid-area: main;
    display: grid;
    grid-template-columns: 1fr 370px;
    grid-template-rows: 1fr;
    grid-template-areas: "banner main-container";
}

footer {
    grid-area: footer;
    position: unset;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
}

    /*footer.cms,
    footer.provider,
    footer.family {
        display: none;
    }*/

    footer > #footer-banner {
        background: url('../../assets/images/login/Footer.png');
        background-size: cover;
    }

    footer > #footer-content {
        background-color: #0B6052;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

        footer > #footer-content > * {
            flex: 1;
            padding: 20px;
            color: #fff;
        }

        footer > #footer-content > .needhelp {
            flex: 1;
        }

        footer > #footer-content > .contact {
            flex: 1.5;
        }

        footer > #footer-content > .odelc {
            flex: 0.7;
        }

            footer > #footer-content > .odelc img {
                width: 90px;
            }

        footer > #footer-content p {
            text-transform: uppercase;
            font-weight: 600;
            letter-spacing: 0.1rem;
        }

        footer > #footer-content img.icon {
            width: 22px;
            margin-right: 5px;
        }

        footer > #footer-content a {
            color: #fff !important;
        }

        

#main-banner {
    grid-area: banner;
    background: url('../../assets/images/login/Image of children.jpg');
    background-size: cover;
    background-position-y: center;
}

#main-container {
    grid-area: main-container;
    background: url('../../assets/images/login/sky blue pattern.png');
    background-size: cover;
    color: #000;
    text-align: center;
}

#login-box {
    border-radius: 8px;
    background: #FFF;
    box-shadow: 0px 0px 15px 10px rgba(0, 0, 0, 0.07);
    margin: auto;
    padding: 20px;
    display: grid;
    align-content: center;
}

#main-container > #login-box > .header {
    color: #0076BB;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    margin: 0 0 15px 0 !important;
    line-height: normal !important;
}

#login-form-wrapper > #login-box form {
    flex-grow: 1;
    align-content: center;
    margin: 15px 0px 0px 0px;
}

.login-validation-summary,
#login-box .field-validation-error {
    text-align: left;
}

.separator {
    display: flex;
    align-items: center;
    text-align: center;
    font-size: 12px;
    margin: 10px 0px;
    width: 100%;
}

    .separator::before,
    .separator::after {
        content: '';
        flex: 1;
        border-bottom: 1px solid #ccc;
    }

    .separator:not(:empty)::before {
        margin-right: .5em;
    }

    .separator:not(:empty)::after {
        margin-left: .5em;
    }

/**************************************Media Queries START***********************************************/
/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    nav {
        margin: 0 !important;
    }

        nav a.navbar-brand {
            height: auto;
        }

            nav a.navbar-brand > img {
                width: 180px;
            }

        nav .navbar-toggle {
            border: none;
            margin-top: 17px;
            padding: 10px !important;
        }

            nav .navbar-toggle .icon-bar {
                height: 4px;
                width: 35px;
                border-radius: 4px;
            }

                nav .navbar-toggle .icon-bar.mid {
                    margin-top: 6.5px;
                    margin-bottom: 6.5px;
                }

    main {
        grid-area: main;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas: "main-container";
    }

    #main-banner {
        display: none;
    }

    #main-container {
        display: grid;
        place-content: center;
    }

    #login-grid-container {
        grid-template-rows: auto 400px auto;
    }

    footer {
        grid-template-columns: 1fr;
    }

        footer #footer-banner {
            display: none;
        }

        footer #footer-content {
            flex-direction: column;
        }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) and (max-width: 767px) {
    nav {
        margin: 0 !important;
    }

        nav a.navbar-brand {
            height: auto;
        }

            nav a.navbar-brand > img {
                width: 180px;
            }

        nav .navbar-toggle {
            border: none;
            margin-top: 17px;
            padding: 10px !important;
        }

            nav .navbar-toggle .icon-bar {
                height: 4px;
                width: 35px;
                border-radius: 4px;
            }

                nav .navbar-toggle .icon-bar.mid {
                    margin-top: 6.5px;
                    margin-bottom: 6.5px;
                }

    main {
        grid-area: main;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas: "main-container";
    }

    #main-banner {
        display: none;
    }

    #main-container {
        display: grid;
        place-content: center;
    }

    #login-grid-container {
        grid-template-rows: auto 400px auto;
    }

    footer {
        grid-template-columns: 1fr;
    }

        footer #footer-banner {
            display: none;
        }

        footer #footer-content {
            flex-direction: column;
        }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) and (max-width: 991px) {
    nav {
        margin: 0 !important;
    }

        nav a.navbar-brand {
            height: auto;
        }

            nav a.navbar-brand > img {
                width: 180px;
            }

    main {
        grid-area: main;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas: "main-container";
    }

    #main-banner {
        display: none;
    }

    #main-container {
        display: grid;
    }

    #btnRegisterForBenefits {
        padding-right: 15px;
    }

    footer {
        grid-template-columns: 1fr;
    }

        footer #footer-banner {
            display: none;
        }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    nav {
        margin: 0 !important;
        padding: 0;
    }

        nav .container-fluid {
            padding-left: 40px;
            padding-right: 40px;
        }

        nav a.navbar-brand {
            height: auto;
        }

            nav a.navbar-brand > img {
                width: 350px;
            }

        nav ul.navbar-nav {
            margin-top: 36px;
        }

    main {
        grid-area: main;
        display: grid;
        grid-template-columns: 1fr 370px;
        grid-template-areas: "banner main-container";
    }

    #main-banner {
        background-position-x: center;
    }

    #main-container {
        display: grid;
        place-content: center;
    }

    #login-box {
        width: 370px;
        min-height: 370px;
        height: fit-content;
        margin-left: -25%;
    }

    #btnRegisterForBenefits {
        padding-right: 0px;
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) and (max-width: 2559px) {
    nav {
        margin: 0 !important;
        padding: 0;
    }

        nav .container-fluid {
            padding-left: 40px;
            padding-right: 40px;
        }

        nav a.navbar-brand {
            height: auto;
        }

            nav a.navbar-brand > img {
                width: 350px;
            }

        nav ul.navbar-nav {
            margin-top: 36px;
        }

    main {
        grid-area: main;
        display: grid;
        grid-template-columns: 1fr 370px;
        grid-template-areas: "banner main-container";
    }

    #main-container {
        display: grid;
        place-content: center;
    }

    #login-box {
        width: 370px;
        min-height: 370px;
        height: fit-content;
        margin-left: -40%;
    }

    #btnRegisterForBenefits {
        padding-right: 0px;
    }
}

/* Extra Extra Large screens */
@media only screen and (min-width: 2560px) {
    nav {
        margin: 0 !important;
        padding: 0;
    }

        nav .container-fluid {
            padding-left: 40px;
            padding-right: 40px;
        }

        nav a.navbar-brand {
            height: auto;
        }

            nav a.navbar-brand > img {
                width: 350px;
            }

        nav ul.navbar-nav {
            margin-top: 36px;
        }

    main {
        grid-area: main;
        display: grid;
        grid-template-columns: 1fr 370px;
        grid-template-areas: "banner main-container";
    }

    #main-container {
        display: grid;
        place-content: center;
    }

    #login-box {
        width: 570px;
        min-height: 370px;
        height: fit-content;
        margin-left: -50%;
    }

    #btnRegisterForBenefits {
        padding-right: 0px;
    }
}

/**************************************Media Queries END*************************************************/
