html {
    min-height: 100vh;
    font-size: 80%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    padding: 12px 16px;
    background-color: #fff;
    text-align: center;
    transition: all .2s;
}

div.c-rem {
    display: none;
    margin: 0 0 16px 20px;
    text-align: left;
}

hr {
    border: 0;
    border-top: solid 1px #ccc;
}

main > hr,
main > fieldset,
main > div[class],
br {
    display: none;
}

h1 {
    display: block;
    margin: 0 auto 12px auto;
    width: 80px;
    height: 80px;
    white-space: nowrap;
    text-indent: -99999999em;
    background-image: url("https://ocp.cscglobal.com/cdn/gateway/csc/csc-logo-marketing2.svg");
}

select::-ms-expand {
    display: none;
}

body > footer {
   flex: 1 0 auto;
}

legend {
    display: block;
    width: 100%;
    margin: .5em auto;
    color: #003b5c;
    font-weight: bold;
    text-align: center;
}

fieldset > div {
    margin: 0 0 16px 0;
}

textarea,
input[type="text"],
input[type="password"],
button {
    display: block;
    margin: 0 auto 16px auto;
}

textarea {
    height: 200px;
    width: calc( 100% - 68px );
    padding: 10px 12px;
}

a,
a:link,
a:visited,
a:active {
    display: inline-block;
    font-size: 110%;
    color: #217cb8;
    text-decoration: underline;
    white-space: nowrap;
}

.c-primary {
    background-color: #003b5c;
}

.c-secondary {
    background-color: #EAEBEB;
    color: #54585a;
}

button:disabled {
    background-color: #EAEBEB;
    color: #54585a;
}

.c-b-br::before {
    content: "\A";
    white-space: pre;
}
.c-a-br::after {
    content: "\A";
    white-space: pre;
}

a:hover,
a:focus {
    color: #0091dc;
    text-decoration: none;
    cursor: pointer;
}

input[type="text"],
input[type="password"] {
    width: calc( 100% - 68px );
    margin: 0 auto 16px auto;
    padding: 10px 12px;
}

input[type="text"]:focus,
input[type="text"]:focus-within,
input[type="password"]:focus,
input[type="password"]:focus-within {
    border-bottom-color: #00b2a9;
}

input[type="text"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder {
    color: #b3b3b3;
}


#showLogin {
    margin: 10px auto 16px auto;
}

[class*="c-message"] {
    position: relative;
    /* display: inline-block */
    display: none;
    margin: 0 20px 16px 20px;
    padding: 8px 16px 8px 48px;
    font-size: 1.15em;
    text-align: left;
}

[class*="c-message"] br {
    display: inline;
}

[class*="c-message"] + br {
    display: none;
}

[class*="c-message"][class*="info"] {
    background-color: #e9f4f9;
}

[class*="c-message"][class*="error"] {
    background-color: #f6e7eb;
}

[class*="c-message"][class*="warning"] {
    background-color: #F8EED7;
}

[class*="c-message"] .c-icon {
    position: absolute;
    top: 7px;
    left: 13px;
    z-index: 1;
    margin: 0 4px 0 0;
}

.c-icon {
    display: inline-block;
    text-rendering: auto;
    user-select: none;
    speak: none;
}

.c-icon {
    display: inline-block;
    font-size: 22px;
    font-family: serif;
    font-weight: bold;
    border-radius: 26px;
    width: 26px;
    height: 26px;
    line-height: 26px;
    text-align: center;
}

.c-icon.c-info {
    background-color: #003b5c;
    color: #fff;
    font-style: italic;
}
.c-icon.c-question{
    background-color: #ffa500;
    color: #F8EED7;
}
.c-icon.c-error {
    background-color: #e03e52;
    color: #fff;
}

.c-icon::before {
    position: relative;
    vertical-align: text-top;
}

.c-icon.c-info::before {
    content: 'i';
}

.c-icon.c-error::before {
    content: '!';
}
.c-icon.c-question::before {
    content: '?';
}

.c-icon.c-warning {
    width: 30px;
    height: 34px;
    top: 2px;
    left: 10px;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzEuNjI1IDE1MC4zMTUiPjxkZWZzPjxzdHlsZT4uYXtmaWxsOiNmMmE5MDA7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT53YXJuaW5nX2ljb248L3RpdGxlPjxwYXRoIGNsYXNzPSJhIiBkPSJNMTU0LjA4LDE3SDI1LjcxM0EyMS42LDIxLjYsMCwwLDAsNy4xODgsNDkuN0w3MS4zNzEsMTU2LjgxOWEyMS42LDIxLjYsMCwwLDAsMzcuMDUsMEwxNzIuNjA1LDQ5LjdBMjEuNiwyMS42LDAsMCwwLDE1NC4wOCwxN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00LjA4NCAtMTcpIi8+PC9zdmc+") center center/28px 28px no-repeat transparent;
}

.c-icon.c-warning::before {
    top: 4px;
    content: '!';
    width: 28px;
    color: #fff;
}

.c-v-rule {
    display: inline;
    margin: 0 10px;
}

.c-or {
    position: relative;
    top: 10px;
    display: block;
    width: 80px;
    margin: 0 auto;
    padding: 2px 0;
    border-radius: 14px;
    border: solid 1px #ccc;
    background-color: #fff;
    text-align: center;
    z-index: 1;
}

hr {
    position: relative;
    top: -10px;
    margin: 8px 0 24px 0;
}

.c-label {
    position: relative;
    padding-top: 22px;
    display: none;
    text-align: left;
}

.c-label > span {
    position: absolute;
    top: 0;
    left: 20px;
    display: inline-block;
    margin: 0 0 4px 4px;
    font-weight: bold;
    float: left;
}

.c-label select {
    width: calc( 100% - 40px );
    clear: both;
    margin: 0 auto 16px auto;
}

footer {
    padding: 8px 12px 0 12px;
    background-color: #003b5c;
    color: #fff;
}

footer label,
footer a,
footer span {
    display: inline-block;
}

footer a,
footer a:link,
footer a:visited,
footer a:active {
    float: left;
    clear: left;
    color: #fff;
    text-decoration: none;
}


footer a:hover,
footer a:focus {
    text-decoration: underline;
}

footer a,
footer label {
    margin: 0 0 6px 0;
    float: left;
    clear: left;
}

footer label {
    margin: 0 0 8px 0;
}

footer div {
    margin: 6px 0 0 0;
    padding: 6px 0;
    border-top: solid 1px rgba( 255, 255, 255, .3 );
    clear: left;
    text-align: right;
    font-size: .75em;
}

footer select {
    display: inline-block;
    width: 92px;
    border: 0;
    margin: 0 0 0 6px;
    padding: 2px 16px 2px 22px;
    background-position: calc(100% - 2px) center;
    background-size: 12px 12px;
}

.c-ada {
    position: absolute;
    left: -999999em;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
}

main {
    font-size: 1em;
}

legend {
    font-size: 1.4em;
}


@media only screen and ( min-width: 376px ) {

    main {
        font-size: 1.1em;
    }

    legend {
        font-size: 1.5em;
    }

}

@media only screen and ( min-width: 576px ) {

    html {

    }

    main {
        width: calc( 100% - 32px );
        max-width: 460px;
        margin: 0 auto;
        font-size: 1.2em;
    }

    legend {
        font-size: 1.65em;
    }

}

@media only screen and ( min-width: 768px ) {

    html {
        background-color: #EAEBEB;
    }

    main {
        max-width: none;
        width: 568px;
        margin: 12px auto;
        font-size: 1.2em;
        -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.45);
        -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.45);
        box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.45);
    }

    legend {
        font-size: 1.8em;
    }

    .c-v-rule {
        border-left: solid 1px #666;
    }

    footer a,
    footer a:link,
    footer a:visited,
    footer a:active {
        margin: 3px 0 0 10px;
        clear: none;
    }

}

@media only screen and ( min-width: 1004px ) {

    footer {
        flex: auto;
        position: fixed;
        left: 0;
        right: 0;
        z-index: 3;
        bottom: 0;
        height: 28px;
    }

    footer div {
        margin: 4px 0 0 0;
        padding: 0;
        height: 28px;
        border-top: 0;
        clear: none;
        float: right;
        font-size: .9em;
    }

    main {
        margin: 36px auto 52px auto;
    }

    body {
        flex-direction: unset;
        justify-content: center;
        align-items: flex-start;
        align-items: flex-start;
    }

}


@media only screen and ( min-width: 1094px ) {

    footer a,
    footer a:link,
    footer a:visited,
    footer a:active {
        margin: 3px 0 0 16px;
    }

}

@media only screen and ( min-width: 1394px ) {

    footer a,
    footer a:link,
    footer a:visited,
    footer a:active {
        margin: 3px 0 0 20px;
    }

    footer div {
        margin: 3px 0 0 0;
        font-size: 1em;
    }

}


@media only screen and ( min-width: 1494px ) {


    [lang="de"] footer a,
    [lang="de"] footer a:link,
    [lang="de"] footer a:visited,
    [lang="de"] footer a:active {
        margin: 3px 0 0 20px;
    }

    [lang="de"] footer div {
        margin: 3px 0 0 0;
        font-size: 1em;
    }

}


@media only screen and ( min-width: 1494px ) {

    [lang="fr"] footer a,
    [lang="fr"] footer a:link,
    [lang="fr"] footer a:visited,
    [lang="fr"] footer a:active {
        margin: 3px 0 0 16px;
    }

}

@media only screen and ( min-width: 1594px ) {

    [lang="fr"] footer a,
    [lang="fr"] footer a:link,
    [lang="fr"] footer a:visited,
    [lang="fr"] footer a:active {
        margin: 3px 0 0 20px;
    }

    [lang="fr"] footer div {
        margin: 3px 0 0 0;
        font-size: 1em;
    }

}

#c-loader {
    display: none;
}

#c-loader img {
    display: block;
    padding: 20px;
    width: 80px;
    border-radius: 14px;
    position: fixed;
    left: calc(50% - 60px);
    top: calc(36% - 42px);
    background-color: #fff;
    z-index: 3;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
}

#reset-message-window {
    display: none;
}

.c-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    right: 0;
    bottom: 0;
    width: 100vw;
    z-index: 2;
    height: 100vh;
}

[data-cidr="true"] #userContainer {
    display: block;
}

[data-cidr="false"] #userContainer {
    display: none;
}

[data-cidr="false"] #login-user {
    display: block;
}

[data-cidr="true"] #login-user {
    display: none;
}

noscript .c-message-warning {
    display: inline-block;
}

[data-logged-out="true"] #login-feedback {
    display: block;
}

#reset-message-window {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    text-align: center;
}

#reset-message-window > div:first-of-type {
    position: relative;
    margin: 6% auto 0 auto;
    z-index: 100;
    width: 60%;
    min-width: 300px;
    max-width: 480px;
    background-color: white;
    padding: 16px 0;
    font-size: 16px;
    color: #575757;
    text-align: center;
    line-height: 28px;
    outline: solid 3px rgba(0, 0, 0, .3);
}

#reset-message-window > div:first-of-type button {
    margin: 0 auto;
}

label[for="langSelect"] {
    position: relative;
    white-space: nowrap;
}

label[for="langSelect"] img {
    position: absolute;
    right: 75px;
    top: calc( 50% - 7px);
    z-index: 1;
    outline: solid 1px #404040;
}
/* Message box Styles */

#closeModal{
    background-color: #FFFFFF;
    box-shadow: none;
    min-width: 5%;
    width: 5%;
    float: right;
}

#message-box-window {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    text-align: center;
}
#message-box-window > div:first-of-type {
    position: relative;
    margin: 6% auto 0 auto;
    z-index: 100;
    width: 75%;
    min-width: 300px;
    max-width: 800px;
    background-color: white;
    padding: 16px 0;
    font-size: 16px;
    color: #575757;
    text-align: center;
    line-height: 28px;
}
#message-box-icon-container{
    display: inline-block !important;
}
#message-box-btn-container{
    display: flex;
}
#message-box-btn-container> div:nth-child(2) button{
    background-color: #EAEBEB;
    color: #54585a;
}
a.close-otp-options {
    position: relative;
    top:-10px;
    right: 10px;
    z-index: 999;
    float: right;
    display: block;
    border-radius: 22px;
    width: 22px;
    height: 22px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    background-color: rgb(230, 230, 230);
}

#message-box-btn-container div{
    margin-right: 16px;
}

#message-box-btn-container > div:first-of-type{
    margin-left: 180px;
}
@media only screen and ( min-width: 375px ) and (max-width: 998px){
    #message-box-btn-container{
        display: block;
    }
    #message-box-btn-container > div:first-of-type{
        margin-left: 0px;
    }
}
