html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    position: relative;
}

body {
    background: #a6192e url("/cas/images/textured-red-01-small.png") top left repeat;
    color: rgb(33, 37, 41);
    font-family: Cambria, Georgia, "Times New Roman", Times, serif;
    margin-bottom: 0;
    line-height: 1.5;
    display: block;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "DINWebBold", sans-serif;  
    font-weight: 500;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h4 {
    font-size: .8em;
    line-height: 1.125em;
    font-family: "DINWebBold",sans-serif;
    color: #888;
    text-transform: uppercase;
    font-weight: normal;
    margin-top: 1em;
    padding-bottom: .6em;
    letter-spacing: .1em;
    margin: 3em 0 1em;
    padding: 0;
}
a, a:hover {
    text-decoration: none;
    background-color: transparent;
    color: #a6192e;
}
a:hover {
    opacity: 0.8;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}  

.grid,.row {
    width: 100%;
    margin: 0 auto;
}
.grid:after {
    clear:both;
    content:'';
    display: block;
}
@media screen and (max-width: 1600px) {
    .grid > .row {
        max-width: 95%
   }
}
@media screen and (max-width: 767px) {
    .grid > .row {
        max-width: 100%
   }
}
@media screen and (min-width: 1601px) {
    .grid > .row {
        max-width: 1520px;
   }
}
.grid.sfu-header > .row {
    border-top: 5px solid #003087;
    background-color: #eee;
    background: -webkit-gradient(linear, left center, right center, from(#fff), to(#ddd));
    background: -moz-linear-gradient(left, #fff 0, #ddd 100%);
    padding-bottom: 22px;
    padding-top: 16px;
}
.grid.sfu-header > .row.sm-banner {
    border: none;
    height: 25px;
    background: #3d3935 url("/cas/images/bg-ribbon-small.png") -78px 0 no-repeat;
    padding: 0;
    margin-bottom: -1rem;
}
@media screen and (max-width: 767px) {
    .grid.sfu-header > .row.sm-banner {
        background: none;
        height:1px;
        background: #d2e1e6
   }
}
.grid.sfu-header .sfu-logo {
    background: url("/cas/images/sfu-logo@2x.png") no-repeat;
    background-size: cover;
    width: 300px;
    height: 46px;
}
.grid.sfu-header .sfu-logo h1 {
    display: none;
}
main.container {
    margin: 0 auto;
    background: #fff;
    width: 100%;
}
@media screen and (max-width: 1600px) {
    main.container {
        max-width: 95%
   }
}
@media screen and (max-width: 767px) {
    main.container {
        max-width: 100%
   }
}
@media screen and (min-width: 1601px) {
    main.container {
        max-width: 1520px;
   }
}
footer {
    margin: 0 auto;
    position: relative;
    margin-top: -1rem;
    background: #3d3935;
    color: #fff;
    height: auto;
}
@media screen and (max-width: 1600px) {
    footer {
        max-width: 95%
   }
}
@media screen and (max-width: 767px) {
    footer {
        max-width: 100%
   }
}
@media screen and (min-width: 1601px) {
    footer {
        max-width: 1520px;
   }
}
body {
    background: #a6192e url("/cas/images/textured-red-01-small.png") top left repeat;
    margin-bottom: 0;
}
.grid,.row {
    width: 100%;
    margin: 0 auto;
}
.grid:after {
    clear:both;
    content:'';
    display: block;
}
@media screen and (max-width: 1600px) {
    .grid > .row {
        max-width: 95%
   }
}
@media screen and (max-width: 767px) {
    .grid > .row {
        max-width: 100%
   }
}
@media screen and (min-width: 1601px) {
    .grid > .row {
        max-width: 1520px;
   }
}
.grid.sfu-header > .row {
    border-top: 5px solid #003087;
    background-color: #eee;
    background: -webkit-gradient(linear, left center, right center, from(#fff), to(#ddd));
    background: -moz-linear-gradient(left, #fff 0, #ddd 100%);
    padding-bottom: 22px;
    padding-top: 16px;
}
.grid.sfu-header > .row.sm-banner {
    border: none;
    height: 25px;
    background: #3d3935 url("/cas/images/bg-ribbon-small.png") -78px 0 no-repeat;
    padding: 0;
    margin-bottom: -1rem;
}
@media screen and (max-width: 767px) {
    .grid.sfu-header > .row.sm-banner {
        background: none;
        height:1px;
        background: #d2e1e6
   }
}
.grid.sfu-header .sfu-logo {
    background: url("/cas/images/sfu-logo@2x.png") no-repeat;
    background-size: cover;
    width: 300px;
    height: 46px;
}
.grid.sfu-header .sfu-logo h1 {
    display: none;
}
main.container {
    margin: 0 auto;
    background: #fff;
    width: 100%;
}
@media screen and (max-width: 1600px) {
    main.container {
        max-width: 95%
   }
}
@media screen and (max-width: 767px) {
    main.container {
        max-width: 100%
   }
}
@media screen and (min-width: 1601px) {
    main.container {
        max-width: 1520px;
   }
}
footer {
    margin: 0 auto;
   /* position: relative;
    */
    margin-top: -1rem;
    background: #3d3935;
    color: #fff;
    padding: 10px 0;
   /* display: block;
    */
}
@media screen and (max-width: 1600px) {
    footer {
        max-width: 95%
   }
}
@media screen and (max-width: 767px) {
    footer {
        max-width: 100%
   }
}
@media screen and (min-width: 1601px) {
    footer {
        max-width: 1520px;
   }
}
.card {
    border:none;
    width: 60%;
}
.card-header {
    background: none;
    border-bottom: 0;
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
}

.card-body {
    padding: 1.25rem;
}

.fa, .fa-stack {
    display: none;
}
div.card div.card-header {
    text-align: left !important;
}
/* fonts */
@font-face{
    font-family:'DINWebLight';
    src:url('/cas/fonts/DINWeb-Light.eot');
    src:url('/cas/fonts/DINWeb-Light.eot?#iefix') format('embedded-opentype'), url('/cas/fonts/DINWeb-Light.woff') format('woff');
}
@font-face{
    font-family:'DINWeb';
    src:url('/cas/fonts/DINWeb.eot');
    src:url('/cas/fonts/DINWeb.eot?#iefix') format('embedded-opentype'), url('/cas/fonts/DINWeb.woff') format('woff');
}
@font-face{
    font-family:'DINWebBold';
    src:url('/cas/fonts/DINWeb-Bold.eot');
    src:url('/cas/fonts/DINWeb-Bold.eot?#iefix') format('embedded-opentype'), url('/cas/fonts/DINWeb-Bold.woff') format('woff');
}
@font-face{
    font-family:'DINWebMedium';
    src:url('/cas/fonts/DINWeb-Bold.eot');
    src:url('/cas/fonts/DINWeb-Bold.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/DINWeb-Medium.woff') format('woff');
}
@font-face{
    font-family:'DINWebBlack';
    src:url('/cas/fonts/DINWeb-Black.eot');
    src:url('/cas/fonts/DINWeb-Black.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/DINWeb-Black.woff') format('woff');
}
@font-face{
    font-family:'DINWebLightItalic';
    src:url('/cas/fonts/DINWeb-LightIta.eot');
    src:url('/DINWeb-LightIta.eot?#iefix') format('embedded-opentype'),url('/DINWeb-LightIta.woff') format('woff');
    font-weight:normal;
    font-style:italic
}
@font-face{
    font-family:'DINWebItalic';
    src:url('/cas/fonts/DINWeb-Ita.eot');
    src:url('/cas/fonts/DINWeb-Ita.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/DINWeb-Ita.woff') format('woff');
    font-weight:normal;
    font-style:italic
}
@font-face{
    font-family:'DINWebMediumItalic';
    src:url('/cas/fonts/DINWeb-MediumIta.eot');
    src:url('/cas/fonts/DINWeb-MediumIta.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/DINWeb-MediumIta.woff') format('woff');
    font-weight:normal;
    font-style:italic
}
@font-face{
    font-family:'DINWebBoldItalic';
    src:url('/cas/fonts/DINWeb-BoldIta.eot');
    src:url('/cas/fonts/DINWeb-BoldIta.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/DINWeb-BoldIta.woff') format('woff');
    font-weight:bold;
    font-style:italic
}
@font-face{
    font-family:'DINWebBlackItalic';
    src:url('/cas/fonts/DINWeb-BlackIta.eot');
    src:url('/cas/fonts/DINWeb-BlackIta.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/DINWeb-BlackIta.woff') format('woff');
    font-weight:bold;
    font-style:italic
}
@font-face{
    font-family:'fontawesome';
    src:url('/cas/fonts/fontawesome.eot');
    src:url('/cas/fonts/fontawesome.eot?#iefix') format('embedded-opentype'),url('/cas/fonts/fontawesome.woff') format('woff'),url('/cas/fonts/fontawesome.ttf') format('truetype'),url('/cas/fonts/fontawesome.svg#fontawesome') format('svg');
    font-weight:normal;
    font-style:normal
}
.icon{
    font-size:1em;
    line-height:1em;
    font-family:"fontawesome",sans-serif;
    font-weight:normal
}
.card.form-background {
    border-top: 1px solid #e9eff1;
    margin-bottom: 0;
}
input[type="submit"] {
    -webkit-appearance: none;
    width: auto;
    padding: 0.25em 2em;
    line-height: 1.8;
    box-shadow: 1px 1px 2px 0px #777;
    border-radius: 5px;
    font-size: 1em;
    line-height: 1.3125em;
    font-family: "DINWebMedium",sans-serif;
    font-weight: normal;
    background-color: #a6192e !important;
    color: #fff;
}

.btn.disabled, .btn:disabled {
    opacity: 0.65;
}
.btn-submit {
    border-color: rgba(0, 0, 0, 0.2);
    border-top-color: rgba(0, 0, 0, 0.2);
    border-right-color: rgba(0, 0, 0, 0.2);
    border-bottom-color: rgba(0, 0, 0, 0.2);
    border-left-color: rgba(0, 0, 0, 0.2);
}
.btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
    padding: 0.25em 2em;
    width: auto;
}
input[type="submit"]:hover {
    cursor: pointer;
}
main.container, #content {
    padding: 0;
}
.card {
    width: 100%;
    margin-left: 0;
}
.col-lg {
    padding:0;
}
.sfu-login-form {
    width: 100%;
    margin: 0 auto;
    padding: 2em 0;
    background-color: #e9eff1;
    border-bottom: 1px solid #d2e1e6;
    border-top: 1px solid #e9eff1;
    margin-bottom: 0;
}
.form-group {
   /* width: 45%;
    */
    display: block;
    margin: 20px 0;
}

.form-control {
    color: #495057;
    display: block;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
    box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
}

input[type="text"], input[type="password"] {
    font-family: 'Lucida Grande',sans-serif;
    height: 2.4em;
    line-height: 1.75em;
    padding: 0 0 0 0.4em;
    width: 100%;
    font-size: 16px;
    border-color: #bbb;
    border-width: 1px;
}

.sfu-login-form > div {
    width: 40%;
    margin: 0 auto;
}
@media screen and (max-width: 1600px) {
    .sfu-login-form > div {
        width: 60%;
   }
}
@media screen and (max-width: 980px) {
    .sfu-login-form > div {
        width: 75%;
   }
}
@media screen and (max-width: 767px) {
    .sfu-login-form > div {
        width: 100%;
   }
}
.card-header h2 {
    font-size: 32px;
}
section.form-group label {
    display: inline-block;
    margin-bottom: 10px;
    font-weight: bold;
}
.sfu-password-information {
    width: 40%;
    margin: 0 auto;
    padding: 15px 15px 0;
}
@media screen and (max-width: 1600px) {
    .sfu-password-information {
        width: 60%;
   }
}
@media screen and (max-width: 980px) {
    .sfu-password-information {
        width: 75%;
   }
}
@media screen and (max-width: 767px) {
    .sfu-password-information {
        width: 100%;
   }
}
footer {
    overflow: hidden;
}
footer h4 {
    margin:0;
    padding:0;
    margin-bottom: 10px;
}
footer h4 a,
footer h4 a:link,
footer h4 a:visited {
    color: #888;
    text-decoration: none;
}
footer p {
    font-family: "DINWebLight", sans-serif;
    font-size: 12px;
}
footer > div {
    width: 20%;
    box-sizing: border-box;
    line-height:18px;
    padding: 0 20px;
    float: left;
}
footer > div:last-child {
    width: 38%;
    text-align:right;
}
footer ul {
    margin: 0;
    padding:0;
}
footer ul li {
    list-style: none;
}
footer ul li a:link, footer ul li a:visited {
    color: #fff;
    font-family: "DinWebLight", sans-serif;
    font-size: 12px;
}
footer ul li a:hover {
    text-decoration: none;
}
.h-line {
    width: 1px;
    height: 170px;
    background: #eee;
    float: left;
    margin-right: 20px;
    opacity: .5;
    margin-top: 0px;
}
footer .sfu-links ul li:nth-child(5) {
    margin-bottom: 20px;
}
.sfu-logo-acknowledge {
    position: relative;
    padding-top: 50px
}
.sfu-logo-acknowledge > div {
    float: right;
    width: 68%;
}
.sfu-logo-acknowledge > p {
    opacity: .6;
    font-family: "DinWebLight", sans-serif;
    font-size: 12px;
    font-style: italic;
    position: absolute;
    bottom: 0;
    left: 0;
    width:70%;
    padding-bottom: 0;
    margin-bottom: 0
}
#footer-logo-img {
    float: right;
    width: 25%;
    margin-left:3%;
}
@media screen and (max-width: 1500px) {
    .sfu-logo-acknowledge > p, #footer-logo-img {
        float: none;
        position: relative;
        width: auto;
        margin-left:0%;
   }
    .sfu-logo-acknowledge > p {
        margin-top: 10px
   }
    .sfu-logo-acknowledge {
        padding-top:0;
   }
}
@media screen and (min-width:981px) and (max-width: 1100px) {
    footer > div {
        width: 33%;
   }
    .h-line {
        display: none;
   }
    footer > div:last-child {
        width: 100%;
   }
    .sfu-logo-acknowledge > p {
        float: left;
        width: 80%;
        position: absolute;
        left: 20%;
        text-align:left;
   }
    #footer-logo-img {
        float: left;
        width: auto;
        margin-left:0%;
        padding-left: 0;
   }
    footer > div:first-child {
        padding-left: 25px;
   }
}
@media screen and (max-width: 980px) {
    footer > div:first-child, footer > div:nth-child(2) {
        margin-bottom:20px
   }
    footer > div {
        width: 50%;
   }
    footer > div:last-child {
        padding-top: 20px;
         width: 50%;
        text-align: left;
   }
    .h-line {
        display: none;
   }
    .sfu-logo-acknowledge {
   }
    .sfu-logo-acknowledge > p, #footer-logo-img {
        float: none;
        position: relative;
        width: auto;
        margin-left:0%;
   }
    .sfu-logo-acknowledge > p {
        margin-top: 10px
   }
    .sfu-logo-acknowledge {
        padding-top:0;
   }
}

.sfu-service-name {
    margin-left: 100px;
    margin-top: 10px;
}
.sfu-service-name h1 {
    font-size: 24px
}

@media screen and (max-width: 767px) {
    .sfu-service-name {
    margin-left: 0;
    margin-top: 15px;
    }
    .sfu-login-form {
        padding: 1em 0;
    }
    .grid.sfu-header > .row {
        padding-bottom: 0;
    }
}

.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb; }
  .alert-danger hr {
    border-top-color: #f1b0b7; }
  .alert-danger .alert-link {
    color: #491217; }

    .aup-button-group {
    display: grid;
    grid-template-columns: 33% 33%;
    grid-gap: 33%;
    padding: 0.75rem 1.25rem 0 0;
}

.aup-button-group p {
    margin-top: 1em;
}

.aup-button-group .btn {
    -webkit-appearance: none;
    width: auto;
    padding: 0.25em 2em;
    line-height: 1.8;
    box-shadow: 1px 1px 2px 0px #777;
    border-radius: 5px;
    font-size: 1em;
    line-height: 1.3125em;
    font-family: "DINWebMedium",sans-serif;
    font-weight: normal;
    background-color: #a6192e !important;
    color: #fff;
}

/* Duo iFrame Overrides */
#duo_iframe {
  margin: 2em 0;
  width: 100%;
  border: none;
}

#duo_form #rememeberMe {
  display: none;
  visibility: hidden;
}

#duo_iframe.mdc-elevation--z1 {
  box-shadow: none;
}

.w-lg-66 {
  width: 66%;
}

@media screen and (max-width: 767px) {
  .w-lg-66 {
    width: 100%;
  }
}