:root {
  /* ub's colors */
  --color-letchworth-autumn: #e56a54;
  --color-solar-strand: #ffc72c;
  --color-greiner-green: #ebec00;
  --color-lake-lasalle: #00a69c;
  --color-capen-brick: #990000;
  --color-bronze-buffalo: #ad841f;
  --color-olmsted-green: #6da04b;
  --color-dk-olmsted-green: #507537;
  --color-niagara-whirlpool: #006570;
  --color-victor-e-blue: #2f9fd0;
  --color-harriman-blue: #002f56;
  --color-baird-point: #e4e4e4;
  --color-putnam-gray: #666666;
  /*--color-ub-blue: #005bbb;*/
  --color-ub-blue: #0056b3;
  --color-light-ub-blue: #669dd6;
  --color-dark-ub-blue: #003770;
  --color-hayes-hall-white: #ffffff;
  /* most used with fallback defaults */
  --color-white: var(--color-hayes-hall-white, white);
  --color-off-white: #fcfcfc;
  --color-black: black;
  --color-blue: var(--color-ub-blue, #0056b3);
  --color-dk-blue: var(--color-dark-ub-blue, #003770);
  --color-lt-blue: var(--color-light-ub-blue, #669dd6);
  --color-lt-gray: var(--color-baird-point, #e4e4e4);
  --color-dk-gray: var(--color-putnam-gray, #666666);
  --color-default-text: #000000;
}

[v-cloak] {
  display: none;
}

h1 {
  font-family: MoreProBook, Georgia, "Times New Roman", Times, serif;
  font-size: 2rem;
  color: var(--color-default-text);
}

h1 small {
  color: var(--color-dk-gray);
}

h2 {
  font-family: SofiaWebBold, Arial, Helvetica, sans-serif;
  color: var(--color-blue);
  font-size: 1.5rem;
}

h3 {
  font-family: SofiaWebBold, Arial, Helvetica, sans-serif;
  font-size: 1rem;
  color: var(--color-default-text);
}

h4 {
  font-size: 0.875rem;
  color: var(--color-blue);
}

h5 {
  font-size: 0.75rem;
  color: var(--color-default-text);
}

a {
  text-decoration: underline;
  color: var(--color-dk-blue);
}

a:hover {
  color: var(--color-blue);
}

/* Accessibility Skip Nav */

a.skip-links {
  position: absolute;
  display: block;
  padding: 0.5rem;
  top: 4px;
  left: -1000px;
  z-index: 9000;
}

a:active,
a:focus {
  outline: 4px solid var(--color-lt-blue);
}

a.skip-links:active,
a.skip-links:focus {
  left: 50%;
  margin-left: -60px;
  background-color: var(--color-ub-blue);
  color: var(--color-white);
  text-decoration: underline;
}

label.show-for-sr,
span.show-for-sr {
  background-color: var(--color-white);
  color: var(--color-black);
}

button[type="button"] .show-for-sr {
  color: var(--color-black);
}

/* / Accessibility Skip Nav */

main {
  font-size: 0.875rem;
  padding: 0 2rem;
}

main :first-child {
  /* padding-left: 0 !important; */
  /* removing left padding for first element due to grid-padding-x */
}

section ul li ul li {
  list-style-type: circle;
}

section ul li ul li ul li {
  list-style-type: square;
}

/* Academic Plan List Page */

.combined-only-checkbox {
  border: 2px dashed var(--color-light-ub-blue);
  border-radius: 10px;
  padding: 10px;
  margin-top: 2em;
  overflow: hidden;
}

.combined-only-checkbox > div {
  margin-bottom: 10px;
}

.combined-only-checkbox label strong {
  text-transform: uppercase;
}

.combined-only-checkbox input {
  opacity: 0;
  position: absolute;
  left: -9999px;
}

.combined-only-checkbox input + label::before {
  content: "\2610";
  margin-right: 0.75em;
  font-size: 1em;
  color: var(--color-light-ub-blue);
}

.combined-only-checkbox input:checked + label::before {
  content: "\2611";
  color: var(--color-ub-blue);
}

.combined-only-checkbox .help-text {
  opacity: 0;
  height: 0;
  display: block;
  transition: opacity 0.5s;
  margin-bottom: 0;
  font-style: normal;
}

.combined-only-checkbox:hover .help-text {
  opacity: 1;
  height: auto;
  margin-bottom: 10px;
}

/* / Academic Plan List Page */

/* Plan page specific */

.degree-table-header {
  width: 60%;
}

#hegis {
  margin-bottom: 0.5rem;
  font-size: 0.7rem;
}

#leftCol {
  overflow: hidden;
  /* fix for long department URLs */
}

.department {
  overflow-x: hidden;
}

.department a,
.accordion-content a {
  color: var(--color-dk-blue) !important;
}

.department .contact,
.about-department .contact {
  margin: 0.75rem 0;
}

.associated-programs,
.associated-subjects {
  border: 1px solid var(--color-baird-point);
  background-color: var(--color-off-white);
  padding: 1rem;
  margin-bottom: 1rem;
}

.curricular-plan-year-heading {
  /* modified h3 for curricular plan page */
  font-size: 1.3rem;
  margin-top: 1.5rem;
}

.curricular-plan-semester td {
  padding: 1rem;
}

thead.curricular-plan-table-headers th {
  border-bottom: 2px solid var(--color-dk-gray);
}

tfoot.total-credits td {
  border-top: 2px solid var(--color-dk-gray);
  text-align: right;
}

#totalCredits {
  background-color: var(--color-dk-gray);
  color: var(--color-white);
  font-size: 1.5rem;
  padding: 0.5rem;
  vertical-align: middle;
  line-height: 3rem;
}

#totalCredits + div {
  font-weight: 700;
  font-size: 2rem;
  padding: 0.5rem;
  text-align: center;
  border: 1px solid var(--color-dk-gray);
  vertical-align: middle;
}

.curricular-key {
  margin-top: 2rem;
}

/* /Plan page specific */

/* Policy page */

.mqr tr td {
  border-bottom: 1px dashed black;
}

/* /Policy page */

/* Subject page specific */

.accordion-title {
  font-family: SofiaWebMedium, Arial, sans-serif;
  font-size: 1rem;
  text-decoration: none;
  color: var(--color-dk-blue) !important;
}

.accordion-item.is-active {
  overflow-x: hidden;
}

li.accordion-item.is-active a.accordion-title {
  background-color: var(--color-off-white);
}

.accordion-item.is-active > .accordion-title {
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
}

/* fixes for vuetify insertion of style tag and changing link color */

.associated-programs a,
.associated-subjects a,
.subjects-list a,
.search-results a {
  color: var(--color-dk-blue) !important;
}

.department .member .title {
  font-size: 0.875rem !important;
}

/* /Subject page specific */

.archives-and-updates {
  background-color: var(--color-lt-gray);
  padding: 1rem;
}

/* Vuetify fixes */

#scheduleApp .application--wrap {
  min-height: 0vh;
}

:after,
:before {
  vertical-align: initial;
}

.vue-table .v-input {
  margin: 0;
  padding: 0;
}

.vue-table .v-input .v-text-field__slot input {
  border: 0;
  margin: 0;
  box-shadow: none;
  background-color: transparent;
}

.vue-table .v-table th {
  font-size: 1rem;
  font-family: SofiaWebMedium, Arial, sans-serif;
}

.vue-table .v-table th.active {
  font-family: SofiaWebBold, Arial, Helvetica, sans-serif;
}

.vue-table .v-table td {
  font-size: 0.875rem;
}

.schools .v-messages,
.degrees .v-messages {
  display: none;
}

.schools .v-input--selection-controls,
.degrees .v-input--selection-controls {
  margin-top: 0;
  padding-top: 0;
}

.schools .v-label,
.degrees .v-label {
  color: var(--color-black) !important;
}

.theme--light.application {
  background-color: transparent !important;
}

.v-dialog__content .v-datatable tbody tr {
  cursor: pointer;
}

/* /Vuetify fixes */

/* medium and up */

@media screen and (min-width: 39.9376em) {
  main {
    margin-top: 2.5rem;
  }
  main h1 {
    border-bottom: 1px solid var(--color-lt-gray);
  }
  main nav#subMenu {
    margin-bottom: 2rem;
  }
}

/* small screen */

@media screen and (max-width: 39.9375em) {
  h1 {
    line-height: 2.25rem;
  }
  h2 {
    line-height: 1.75rem;
  }
  #breadcrumbNav {
    display: none;
  }
  /* fixes for sticky and fixed elements on the screen taking up space */
  main {
    margin-top: 1rem;
    padding: 0 1rem;
  }
  /* Plan page specific */
  .degree-table-header {
    width: 75%;
  }
  .department {
    border-top: 2px dashed var(--color-dk-gray);
    padding-top: 1rem;
  }
  #totalCredits,
  #totalCredits + div {
    font-size: 1rem;
  }
  /* /Plan page specific */
}

/* Foundation Fixes */

legend {
  margin-bottom: 0;
}

.search-filter button {
  top: 0.75em !important;
}

.search-filter input#searchFilter {
  box-shadow: none;
}
