html {
  font-size: 16px;
  height: 100%;
}

body {
  font-family: "Neue-Regular", Arial, "Arial Unicode MS", Helvetica, Verdana, sans-serif;
  background-color: #ffffff;
  height: 100%;
}

/*
 * Only set the image background for medium-sized and
 * larger screens.
 */
@media screen and (min-width: 48em) {
  body {
    background-image: url("../images/background.jpg");
    background-position: center top;
    background-attachment: fixed;
    background-repeat: repeat;
    background-size: cover;
  }
  .tns-uname {
    background-color: transparent;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Neue-Regular", Arial, "Arial Unicode MS", Helvetica, Verdana, sans-serif;
}

#cas.login a {
  text-decoration: none;
  color: #000;
}

#cas.login .privacy-terms a {
  text-decoration: none;
  color: #999;
}

#cas.login a:focus, #cas.login a:hover {
  text-decoration: none;
  color: #e82e21;
}

#cas.duo a {
  text-decoration: none;
  color: #e82e21;
}

#cas.duo a:focus, #cas.duo a:hover {
  text-decoration: none;
  color: #999;
}

#cas.duo #duo_iframe {
  width: 100%;
  height: 330px;
  min-width: 304px;
  max-width: 620px;
  border: none;
}

#cas.duo #duo_explain {
  width: 100%;
  margin: 0 auto;
  min-width: 304px;
  max-width: 620px;
  position: relative;
}

#cas.swivel a {
  text-decoration: none;
  color: #e82e21;
}

#cas.swivel a:focus, #cas.swivel a:hover {
  text-decoration: none;
  color: #999;
}

#cas.swivel #swivel_explain {
  width: 100%;
  margin: 0 auto;
  min-width: 304px;
  max-width: 620px;
  position: relative;
}

#cas.swivel img.swivel-pinpad {
  margin-left:3px;
  margin-right:3px;
}

#cas.swivel select#authType {
  /* styling */
  border: thin solid #e82e21;
  background-color: white;
  display: inline-block;
  border-radius: 4px;
  line-height: 1.5em;
  font: inherit;

  padding: 0.5em 3.5em 0.5em 1em;
  margin: 0.5em 0 0.5em 0;      

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

  -webkit-appearance: none;
  -moz-appearance: none;
}

#cas.swivel select#authType {
  background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
}

#cas.swivel select:focus {
  background-image:
    linear-gradient(45deg, #e82e21 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, #e82e21 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 15px) 1em,
    calc(100% - 20px) 1em,
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
  border-color: #e82e21;
  outline: 0;
}

#cas.swivel select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.alert.alert-success a {
  text-decoration: underline;
}

.alert.alert-success a:focus, .alert.alert-success a:hover {
  color: #e82e21;
}

.alert.alert-warning a:link, .alert.alert-warning a:visited,
.alert.alert-warning a:active, .alert.alert-warning a:focus,
.alert.alert-warning a:hover,
.alert.alert-danger a:link, .alert.alert-danger a:visited,
.alert.alert-danger a:active, .alert.alert-danger a:focus,
.alert.alert-danger a:hover {
  text-decoration: underline;
}

.alert.alert-warning a:focus, .alert.alert-warning a:hover,
.alert.alert-danger a:focus, .alert.alert-danger a:hover {
  color: #fff;
}

.alert-row {
  min-height: 50px;
}

.alert-row.alert {
  margin-bottom: 0;
}

.capslock-msg {
  min-height: 45px;
}

.capslock-msg p {
  color: #e82e21;
  margin: 0;
}

.capslock-msg i {
  vertical-align: middle;
  padding-right: 0.25em;
}

.capslock-msg span {
  vertical-align: middle;
}

.account-options p {
  padding-bottom: 3px;
}

.account-options i {
  vertical-align: middle;
  padding-right: 0.25em;
}

.account-options span {
  vertical-align: middle;
}

.privacy-terms {
  padding-top: 25px;
}

.tns-lockup {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

#copyright {
  font-size: 50%;
}

#copyright.p {
  padding: 0px;
}

.btn:not(.btn-raised).btn-primary {
  color: #e82e21;
  outline: 0;
}

#cas.warning .btn:not(.btn-raised).btn-primary,
#cas.error .btn:not(.btn-raised).btn-primary {
  background-color: rgba(255,255,255,.84);
}

#cas.warning .btn:not(.btn-raised).btn-primary:focus,
#cas.warning .btn:not(.btn-raised).btn-primary:hover,
#cas.error .btn:not(.btn-raised).btn-primary:focus,
#cas.error .btn:not(.btn-raised).btn-primary:hover {
  background-color: #dcdcdc;
}

.form-group.is-focused .form-control {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e82e21), to(#e82e21)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2));
  background-image: -webkit-linear-gradient(#e82e21, #e82e21), -webkit-linear-gradient(#D2D2D2, #D2D2D2);
  background-image: -o-linear-gradient(#e82e21, #e82e21), -o-linear-gradient(#D2D2D2, #D2D2D2);
  background-image: linear-gradient(#e82e21, #e82e21), linear-gradient(#D2D2D2, #D2D2D2);
}

.form-group.is-focused label,
.form-group.is-focused label.control-label {
  color: #e82e21;
}

/****************************************************************************
 * The New School logo lockup styles
 */

/*
 * Logo styles
 */
header.tns-header {}

/* Typography */
header.tns-header div.tns-banner h1.tns-uname {
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 1.5rem;
  margin-top: 0.9375rem;
  margin-left: -0.22em;
  margin-bottom: 0;
  padding: 0;
  text-transform: uppercase;
  word-wrap: break-word;
  white-space: nowrap;

/*  background-color: #ffffff;
/*  background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
/*  background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
/*  background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

header.tns-header div.tns-banner {
  margin-bottom: 0.5625rem;
  padding: 0;
}

header.tns-header div.tns-banner h1.tns-uname,
header.tns-header div.tns-banner h1.tns-uname a,
header.tns-header div.tns-banner h1.tns-uname a:active,
header.tns-header div.tns-banner h1.tns-uname a:hover,
header.tns-header div.tns-banner h1.tns-uname a:visited {
  color: #000000;
}

header.tns-header div.tns-banner h1.tns-uname span.font-width-1 {
  font-family: "NeueDisplay-Black", Arial, "Arial Unicode MS", Helvetica, Verdana, sans-serif;
  font-weight: 700;
}

header.tns-header div.tns-banner h1.tns-uname span.font-width-2 {
  font-family: "NeueDisplay-Wide", Arial, "Arial Unicode MS", Helvetica, Verdana, sans-serif;
  font-weight: 700;
}

header.tns-header div.tns-banner h1.tns-uname span.font-width-3 {
  font-family: "NeueDisplay-Ultra", Arial, "Arial Unicode MS", Helvetica, Verdana, sans-serif;
  font-weight: 700;
}

/* Letter spacing */
header.tns-header div.tns-banner h1.tns-uname span:nth-of-type(1),
header.tns-header div.tns-banner h1.tns-uname span:nth-of-type(11) {
  letter-spacing: -0.02em;
}

header.tns-header div.tns-banner h1.tns-uname span:nth-of-type(2),
header.tns-header div.tns-banner h1.tns-uname span:nth-of-type(4),
header.tns-header div.tns-banner h1.tns-uname span:nth-of-type(8) {
  letter-spacing: -0.05em;
}

header.tns-header div.tns-banner h1.tns-uname span:nth-of-type(5) {
  letter-spacing: -0.03em;
}

/*
 * Site name styles
 */
header.tns-header div.tns-banner h2.tns-sitename {
  font-family: "Neue-Regular", "Arial Black", "Arial Unicode MS", Helvetica, Verdana, sans-serif;
  font-style: normal;
  font-weight: 400;
  /* font-size: 4rem; */
  display: block;
  /* line-height: 4rem; */
  margin-top: -0.175rem;
  padding-top: 0.25rem;
  /* padding-left: 118px; */
  text-transform: uppercase;
  word-break: keep-all;

  font-size: 1.5rem;
  margin-bottom: -0.5625rem;
}

header.tns-header div.tns-banner h2.tns-sitename,
header.tns-header div.tns-banner h2.tns-sitename a,
header.tns-header div.tns-banner h2.tns-sitename a:visited {
  transition: color 300ms ease;
  color: #e82e21;
}

header.tns-header div.tns-banner h2.tns-sitename a:active,
header.tns-header div.tns-banner h2.tns-sitename a:hover {
  color: #000000;
}

header.tns-header div.tns-banner div.bottom-stripe {
  box-sizing: border-box;
  padding-bottom: 4px;
  width: 100%;
}

header.tns-header div.tns-banner div.bottom-stripe div.bottom-stripe-inner {
  background-color: #000000;
  widows: 100%;
  height: 3px;
}

header.tns-header div.tns-banner div.bottom-stripe.stripe-2 {
  position: absolute;
  width: 120px;
}

/******************************************************************************/
/* Bootstrap media breakpoints
/******************************************************************************/

/* Small only */
@media screen and (max-width: 36em) {
  header.tns-header div.tns-banner h1.tns-uname {
    line-height: 0.9rem;
    font-size: 0.9rem;
  }
  header.tns-header div.tns-banner h2.tns-sitename {
    margin-top: -0.25rem;
  }
  header.tns-header div.tns-banner div.bottom-stripe.stripe-2 {
    position: absolute;
    width: 70px;
  }
  #tns-logo-svg {
    width: 98%;
  }
}

/* Medium and up */
@media screen and (min-width: 48em) {
  header.tns-header div.tns-banner div.bottom-stripe div.bottom-stripe-inner {
    height: 5px;
  }
}

/* Medium only */
@media screen and (min-width: 48em) and (max-width: 62em) {
  #tns-logo-svg {
    width: 215px;
  }
}

/* Large and up */
@media screen and (min-width: 62em) {
  /* empty */
}

/* Large only */
@media screen and (min-width: 62em) and (max-width: 75em) {
  header.tns-header div.tns-banner h2.tns-sitename {
    word-break: keep-all;
    white-space: nowrap;
  }
  #tns-logo-svg {
    width: 287px;
  }
}

/* Extra large only */
@media screen and (min-width: 73em) {
  header.tns-header div.tns-banner h2.tns-sitename {
    word-break: keep-all;
    white-space: nowrap;
  }
  #tns-logo-svg {
    width: 352px;
  }
}

/****************************************************************************
 * Import New School Neue fonts
 */
@font-face {
  font-family: 'Neue-Black';
  src: url("../fonts/Neue/Neue-Black.woff") format("woff");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'Neue-Bold';
  src: url("../fonts/Neue/Neue-Bold.eot");
  src: url("../fonts/Neue/Neue-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/Neue-Bold.ttf") format("truetype"), url("../fonts/Neue/Neue-Bold.woff") format("woff"), url("../fonts/Neue/Neue-Bold.svg#") format("svg");
  font-style: normal;
  font-weight: bold;
}

@font-face {
  font-family: 'Neue-BoldItalic';
  src: url("../fonts/Neue/Neue-BoldItalic.ttf") format("truetype"), url("../fonts/Neue/Neue-BoldItalic.woff") format("woff"), url("../fonts/Neue/Neue-BoldItalic.svg#") format("svg");
  font-style: italic;
  font-weight: bold;
}

@font-face {
  font-family: 'Neue-Regular';
  src: url("../fonts/Neue/Neue-Regular.eot");
  src: url("../fonts/Neue/Neue-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/Neue-Regular.ttf") format("truetype"), url("../fonts/Neue/Neue-Regular.woff") format("woff"), url("../fonts/Neue/Neue-Regular.svg#") format("svg");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'Neue-RegularItalic';
  src: url("../fonts/Neue/Neue-RegularItalic.eot");
  src: url("../fonts/Neue/Neue-RegularItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/Neue-RegularItalic.ttf") format("truetype"), url("../fonts/Neue/Neue-RegularItalic.woff") format("woff"), url("../fonts/Neue/Neue-RegularItalic.svg#") format("svg");
  font-style: italic;
  font-weight: normal;
}

@font-face {
  font-family: 'NeueDisplay-Black';
  src: url("../fonts/Neue/NeueDisplay-Black.eot");
  src: url("../fonts/Neue/NeueDisplay-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/NeueDisplay-Black.ttf") format("truetype"), url("../fonts/Neue/NeueDisplay-Black.woff") format("woff"), url("../fonts/Neue/NeueDisplay-Black.svg#") format("svg");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'NeueDisplay-Random';
  src: url("../fonts/Neue/NeueDisplay-Random.eot");
  src: url("../fonts/Neue/NeueDisplay-Random.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/NeueDisplay-Random.ttf") format("truetype"), url("../fonts/Neue/NeueDisplay-Random.woff") format("woff"), url("../fonts/Neue/NeueDisplay-Random.svg#") format("svg");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'NeueDisplay-Ultra';
  src: url("../fonts/Neue/NeueDisplay-Ultra.eot");
  src: url("../fonts/Neue/NeueDisplay-Ultra.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/NeueDisplay-Ultra.ttf") format("truetype"), url("../fonts/Neue/NeueDisplay-Ultra.woff") format("woff"), url("../fonts/Neue/NeueDisplay-Ultra.svg#") format("svg");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'NeueDisplay-Wide';
  src: url("../fonts/Neue/NeueDisplay-Wide.eot");
  src: url("../fonts/Neue/NeueDisplay-Wide.eot?#iefix") format("embedded-opentype"), url("../fonts/Neue/NeueDisplay-Wide.ttf") format("truetype"), url("../fonts/Neue/NeueDisplay-Wide.woff") format("woff"), url("../fonts/Neue/NeueDisplay-Wide.svg#") format("svg");
  font-style: normal;
  font-weight: normal;
}
