::-webkit-scrollbar {
  width: 8px;
  height: 10px;
}

::-webkit-scrollbar-track {
  border-radius: 8px;
}

::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background-color: lightgray;
}

  ::-webkit-scrollbar-thumb:hover {
    background-color: darkgray;
  }

.mobile > router-outlet + * {
  padding: 0 !important;
  margin: 0 !important;
}

button.btn.mobile {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.popover-wider-body.popover {
  max-width: 500px !important;
}

.cover {
  height: 80px;
  overflow: hidden;
  background-size: auto 100%;
  background-repeat: repeat-x;
}

.nowrap {
  white-space: nowrap;
}

.bordered-space {
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
}

.error-container {
  max-height: 30vh;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #f0f0f7;
  padding: 1em;
  border-radius: 5px;
}

.ellipsis {
  text-overflow: ellipsis;
  overflow: hidden;
}

.dropzone {
  border: 2px dashed #e2e5e8 !important;
}

.qf-jumbotron {
  background: url("/images/main-background.jpg") top center no-repeat #181737;
  border-radius: 12px;
}

.qf-banner {
  background: url("/assets/lib/images/bannerbg.png") left top / cover #181737;
  margin-top: -17px;
}

.fa-duotone.fa-thumbtack {
  transform: rotate(45deg);
  --fa-secondary-color: #e81313;
  --fa-secondary-opacity: 1;
}

.fa-duotone.fa-lightbulb {
  --fa-secondary-color: #ffd22f;
  --fa-secondary-opacity: 1;
}

.fa-duotone.fa-bullhorn {
  --fa-secondary-color: #e81313;
  --fa-secondary-opacity: 1;
}

.fa-duotone.fa-calendar-days {
  --fa-primary-color: #e81313;
  --fa-secondary-color: #bababa;
  --fa-secondary-opacity: 1;
}

.qf-top {
  margin-top: -17px;
}

.qf-title {
  margin-top: 2em;
  font-family: Raleway, sans-serif;
}

.qf-font {
  font-family: Raleway, sans-serif;
}

.ri-lg {
  font-size: 1.5em;
}

.feature-header {
  background-color: rgb(102 143 201);
  height: 15px;
  overflow: hidden;
}

.feature-box {
  min-height: 435px;
}

.feature-box-small {
  min-height: 250px;
}

.feature-box-team {
  min-height: 700px;
}

.feature-screenshot {
  min-height: 435px;
  cursor: pointer;
}

.feature-pricing {
  min-height: 340px;
}

.feature-title {
  font-size: 1.5em;
}

.qf-callout {
  background-color: rgb(102 143 201);
}

.full-width {
  width: 100vw;
  position: relative;
  margin-left: -49.5vw;
  left: 50%;
}

.overflow-y-auto {
  overflow: hidden auto;
}

@media (width <= 576px) {
  .hide-small {
    display: none !important;
  }

  .mobile-margins {
    margin-left: -1em;
    margin-right: -1em;
  }

  .roster-picture {
    width: 50px;
    height: 50px;
    margin-left: -1em;
    float: left;
  }

  .x-properties-panel {
    width: 100% !important;
  }

  .offcanvas-padding-x {
    padding-left: 0.2rem !important;
    padding-right: 0.2rem !important;
  }
}

.bordering {
  border: 1px solid #405189;
  border-radius: 5px;
  max-height: 80svh;
  height: 100%;
  overflow-y: auto;
}

@media (width >= 577px) {
  .hide-big {
    display: none !important;
  }

  .roster-picture {
    width: 80px;
    height: 80px;
    float: left;
  }

  .offcanvas-padding-x {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
}

@media (width >= 425px) {
  .full-width {
    width: 98.45vw;
  }
}

@media (width >= 768px) {
  .full-width {
    width: 98.65vw;
  }

  .card.mobile {
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 2px 2px 3px rgba(93, 110, 111, 0.5) !important;
  }
}

@media (width < 768px) {
  div.card-body.mobile {
    padding: 15px 6px 0px 6px !important;
    overflow-x: hidden;
    border: 0 !important;
    border-radius: 0 !important;
  }
}

@media (width >= 992px) {
  .full-width {
    width: 99.35vw;
    margin-left: -50vw;
  }
}

@media (width >= 1200px) {
  .full-width {
    width: 99.45vw;
    margin-left: -50vw;
  }

  .wider-panel {
    width: 900px !important;
  }

  .etb-panel {
    width: 80% !important;
  }

  .x-properties-panel {
    width: 35% !important;
  }
}

@media (width < 1200px) {
  .wider-panel {
    width: 100% !important;
  }

  .etb-panel {
    width: 100% !important;
  }
}

@media (width >= 768px) {
  .etb-x-panel {
    width: 70% !important;
  }
}

@media (width < 768px) {
  .etb-x-panel {
    width: 100% !important;
  }
}

a.navbar-brand {
  white-space: normal;
  text-align: center;
  word-break: break-all;
}

  a.navbar-brand img {
    width: 85px;
    height: auto;
  }

/* Provide sufficient contrast against white background */
a {
  color: #0366d6;
}

.btn-primary {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.btn-darkblue {
  color: #fff !important;
  background-color: rgb(23 41 71) !important;
  border-color: rgb(23 41 71) !important;
}

.btn-questfit {
  color: #fff;
  background-color: rgb(109 143 197);
  border-color: rgb(109 143 197);
}

.qf-menu .nav-pills .nav-link.active, .qf-menu .nav-pills .show > .nav-link {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.qf-menu .nav-item {
  line-height: 58px;
  margin-bottom: -6px;
  text-align: center;
}

  .qf-menu .nav-item.selected {
    border-bottom: 3px solid #6d8fc5;
    margin-bottom: -8px;
  }

  .qf-menu .nav-item:hover {
    border-bottom: 3px solid rgb(109 143 197 / 50%);
    margin-bottom: -8px;
  }

.dropdown-menu {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.qf-menu .dropdown-menu {
  line-height: normal;
}

  .qf-menu .dropdown-menu li {
    line-height: 1.5em;
  }

.qf-menu .nav-link i {
  display: block;
  margin-bottom: -10px;
  margin-top: 10px;
}

.qf-menu .dropdown-menu i {
  width: 20px;
}

.card-body.header {
  background-color: #6d8fc5;
}

/* calculator */
.calc-field {
  width: 165px;
}

.position-field {
  width: 175px;
}

#q-score {
  color: #6d8fc5;
  font-size: 3em;
  padding-bottom: .7em;
}

#q-score-remainder {
  color: #6d8fc5;
  font-size: .3em;
  margin-left: 2.5em;
  margin-top: -3.8em;
}

#q-score-saved {
  font-size: .6em;
}

.upload-field {
  width: 215px;
}

.collapsed {
  height: 0;
  overflow: hidden;
  padding: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* College Search Box */
.college-search-box-results {
  position: absolute;
  z-index: 1000;
  width: 95%;
  margin-top: 45px;
}

.input-search-results {
  position: absolute;
  z-index: 1000;
  min-width: 300px;
  margin-top: 45px;
}

.input-search-results-sm {
  position: absolute;
  z-index: 1000;
  min-width: 300px;
  margin-top: 35px;
}

a.default-cursor {
  cursor: default;
  color: #CCC !important;
}

  a.default-cursor:hover {
    color: #CCC !important;
  }

/* College list */

.college-icon-generic {
  border-color: #6c757d;
  color: #d1d5da;
}

h2.college-name {
  font-weight: 600;
}

  h2.college-name hr {
    border-top: 1px solid rgb(109 143 197 / 30%); /* #6d8fc5; */
  }

  h2.college-name .q-rank {
    /* background-color: rgba(109, 143, 197, .8); */
    /* #6d8fc5; */
    font-size: .7em;
  }

.input-group .form-control.conference-search {
  width: 300px;
}

.input-group .form-control.major-search {
  width: 250px;
}

.input-group .form-control.division-search {
  width: 175px;
}

/* questfit borders and background colors */

.bg-questfit {
  background-color: rgb(109 143 197);
}

.bg-darkblue {
  background-color: rgb(37 59 94);
}

.bg-darkestblue {
  background-color: rgb(23 41 71);
}

.border-5 {
  border-width: 5px !important;
}

.bg-caption {
  opacity: 0.5;
}

.text-questfit {
  color: rgb(109 143 197);
}

.border-questfit {
  border-color: rgb(109 143 197);
}

.badge-questfit {
  color: #fff;
  background-color: rgb(109 143 197);
}

.fa-badge-check.fa-duotone {
  color: #3276ee;
  --fa-secondary-color: #ced4db;
}

.border-alert-primary {
  border-color: #004085 !important;
}

.bg-medium {
  background-color: #6c757d;
}

.border-medium {
  border-color: #6c757d;
}

.text-medium {
  color: #6c757d;
}

.bg-mediumlight {
  background-color: #d1d5da;
}

.text-mediumlight {
  color: #d1d5da;
}

.border-mediumlight {
  border-color: #d1d5da;
}

.top-majors {
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: .8em;
}

.top-majors-content {
  display: inline-block;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 84%;
}

a:hover .img-thumbnail {
  border-color: #17a2b8; /* bootstrap's -info color */
}

img.border-bottom-0 {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

img.border-lg {
  border-width: 4px !important;
}

/* from: https://css-tricks.com/fluid-width-video/ */
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

  .videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

.striped:nth-child(even) {
  background-color: #f8f9fa;
}

.striped {
  border-top: 1px solid #d1d5da;
}

.striped-white {
  background-color: white !important;
}

.program .row:nth-child(odd) {
  background-color: #f8f9fa;
}

.program-logo {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 5px;
}

.subscription-label {
  width: 200px;
}

.hover-underline:hover {
  text-decoration: underline !important;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
  font-size: 14px;
}

@media (width >= 768px) {
  html {
    font-size: 16px;
  }
}

.sticky {
  position: sticky;
  top: 0;
  z-index: 2;
}

.sticky-right {
  position: sticky;
  right: 0;
  z-index: 2;
}

body {
  /* Margin bottom by footer height */
  margin-bottom: 60px;
}

.border-top {
  border-top: 1px solid #e5e5e5;
}

.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
  box-shadow: 0 .25rem .75rem rgb(0 0 0 / 5%);
}

button.accept-policy {
  font-size: 1rem;
  line-height: inherit;
}

/* subscription-required overlay, media queries
-------------------------------------------------- */

.subscription-overlay {
  background-color: rgb(212 237 218 / 70%);
  width: 100%;
}

  .subscription-overlay.college-search {
    position: absolute;
    top: 154px;
    height: 465px;
  }

@media (width >= 425px) {
  .subscription-overlay.college-search {
    position: absolute;
    top: 153px;
    height: 425px;
  }
}

@media (width >= 768px) {
  .subscription-overlay.college-search {
    position: absolute;
    top: 135px;
    height: 330px;
  }
}

@media (width >= 992px) {
  .subscription-overlay.college-search {
    position: absolute;
    top: 135px;
    height: 270px;
  }
}

@media (width >= 1200px) {
  .subscription-overlay.college-search {
    position: absolute;
    top: 100px;
    height: 240px;
  }
}

.subscription-overlay.college-page {
  position: relative;
  margin-top: -500px;
  height: 500px;
  margin-left: -20px;
  width: calc(100% + 40px);
}

@media (width >= 425px) {
  .subscription-overlay.college-page {
    margin-top: -500px;
    height: 500px;
    margin-left: -20px;
    width: calc(100% + 40px);
  }
}

@media (width >= 768px) {
  .subscription-overlay.college-page {
    margin-top: -500px;
    height: 500px;
    margin-left: -20px;
    width: calc(100% + 40px);
  }
}

@media (width >= 1200px) {
  .subscription-overlay.college-page {
    margin-top: -500px;
    margin-bottom: -20px;
    margin-left: -20px;
    height: 500px;
    width: calc(100% + 40px);
  }
}

.uploadAthleteBtn {
  background-color: #fff;
  color: #28a745;
  font-weight: 500;
}

.uploadFontStyleHeader {
  font-size: .8rem;
  font-weight: 900;
  color: rgb(23 41 71);
}

.uploadFontStyleBase {
  font-size: .9rem;
  font-weight: 700;
}

.makeMeBold {
  font-weight: bold;
}

.makeMeItalic {
  font-style: italic;
}

.makeMyFontBigger {
  font-size: 1.2rem;
}

.changeMyColorToRed {
  color: red;
}

.uploadFontStyleBaseEmail {
  color: rgb(109 143 197);
}

.makeColorBlue007bff {
  color: #007bff;
}

.setbackground2f8f9fa {
  background-color: #f8f9fa;
}

.btn-info {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.uploadFontStyleBaseMessage {
  color: #28a745;
}

.uploadFontStyleBaseWasProcessed {
  color: darkred;
}

.setWidthTo38rem {
  min-width: 38rem;
}

.setHiddenDisplayNone {
  visibility: hidden;
  display: none;
}

.setJustHideOnly {
  visibility: hidden;
}

.setVisibleDisplayInitial {
  visibility: visible;
  display: initial;
}

.profile-border {
  border: 6px solid #fff;
  border-radius: 50%;
  width: 300px;
  height: 300px;
}

.subscription-overlay.athlete-profile-1 {
  position: relative;
  margin-top: -245px;
  height: 215px;
}

.subscription-overlay.athlete-profile-2 {
  position: relative;
  margin-top: -500px;
  height: 470px;
}

.subscription-overlay.athlete-profile-3 {
  position: relative;
  margin-top: -285px;
  height: 255px;
}

.subscription-overlay.athlete-profile-4 {
  position: relative;
  margin-top: -405px;
  height: 375px;
}

.subscription-overlay.q-score {
  position: relative;
  margin-top: -750px;
  height: 800px;
}

@media (width >= 768px) {
  .subscription-overlay.q-score {
    margin-top: -665px;
    height: 725px;
  }
}

@media (width >= 992px) {
  .subscription-overlay.q-score {
    margin-top: -600px;
    height: 700px;
  }
}

.subscription-overlay.q-score-list {
  position: relative;
  margin-top: -85px;
  height: 250px;
}

fieldset {
  font-size: 14px;
  padding: 0 1.4em 1.4em !important;
  margin: 0 0 1.5em !important;
  box-shadow: 0 0 0 0 #000;
}

legend {
  font-size: 1.2em !important;
  font-weight: bold !important;
  text-align: left !important;
  width: auto;
  padding: 0 10px;
  border-bottom: none;
}

.notification {
  background: red;
  color: #fff;
  min-width: 1.25rem !important;
  border-radius: 0.5rem !important;
  overflow: hidden;
  display: inline-block;
}

.notification-profile {
  border-radius: 15px !important;
}

.notification-button {
  width: 135px !important;
}

.certified {
  color: #4d9900 !important
}

.link-input {
  color: #4287f5;
  cursor: pointer;
  text-decoration: underline;
}

.dragbox {
  padding: 20px !important;
  border: dashed 1px #aaa;
  border-radius: 5px;
  color: #aaa;
}

.drag-enter {
  border: dashed 1px #000;
  background: #f2f244;
}

.btn-dashboard {
  width: 150px !important;
}

.list-item {
  padding: 0.75rem 1.25rem;
}

.list-item2 {
  position: relative;
  display: block;
}

.questfit-init-word {
  font-size: 30px;
  background: #1b6ec2;
  color: #fff;
  border-radius: 50%;
}

.fixed-table {
  display: block;
  overflow-y: auto;
}

.table-fixed {
  table-layout: fixed;
}

.table-auto {
  width: fit-content !important;
  table-layout: auto !important;
  position: relative;
  max-width: 100%;
  overflow-x: auto;
}

.table-auto td,
.table-auto th {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.data-row {
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: white;
}

  .data-row:hover {
    background-color: #f5f6f9;
  }

.bg-selected {
  background-color: #e6f7ff !important;
}

.bg-selected-light {
  background-color: #f7fbfc !important;
}

.row-selected {
  border-top: solid 2px #e6f1f7;
  border-bottom: solid 2px #e6f1f7;
  background-color: #f2f8fa;
}

.row-removed {
  border: 1px solid #ffa0a0;
  background: #fff0f0;
  border-radius: 5px;
}

/* You can add global styles to this file, and also import other style files */
.modal-content {
  box-shadow: 0 4px 4px 0 rgb(0 0 0 / 25%);
}

ng-select.is-invalid {
  border: 1px solid #f06548;
  border-radius: 4px;
  display: flex;
  padding-right: calc(1.5em + 1rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f06548'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f06548' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.25rem) center;
  background-size: calc(0.75em + 0.5rem) calc(0.75em + 0.5rem);
}

  ng-select.is-invalid > div.ng-select-container {
    border: none;
  }

div.modal-body > div.form-card {
  padding: 1rem 0.5rem;
  margin-bottom: 0;
  border-radius: 0;
  border: 1px solid rgb(56 65 74 / 15%);
  box-shadow: none;
}

/* Calendar events styles
-------------------------------------------------- */
.teal-900 {
  color: #004D40 !important;
}

.bg-teal-900 {
  background-color: #004D40 !important;
}

.teal-800 {
  color: #00695C !important;
}

.bg-teal-800 {
  background-color: #00695C !important;
}

.teal-600 {
  color: #00897B !important;
}

.bg-teal-600 {
  background-color: #00897B !important;
}

.teal-400 {
  color: #26A69A !important;
}

.bg-teal-400 {
  background-color: #26A69A !important;
}

.teal-200 {
  color: #80CBC4 !important;
}

.bg-teal-200 {
  background-color: #80CBC4 !important;
}

.blue-900 {
  color: #0D47A1 !important;
}

.bg-blue-900 {
  background-color: #0D47A1 !important;
}

.blue-800 {
  color: #1565C0 !important;
}

.bg-blue-800 {
  background-color: #1565C0 !important;
}

.blue-600 {
  color: #1E88E5 !important;
}

.bg-blue-600 {
  background-color: #1E88E5 !important;
}

.blue-400 {
  color: #42A5F5 !important;
}

.bg-blue-400 {
  background-color: #42A5F5 !important;
}

.blue-200 {
  color: #90CAF9 !important;
}

.bg-blue-200 {
  background-color: #90CAF9 !important;
}

.gray-100 {
  color: #F5F5F5 !important;
}

.bg-gray-100 {
  background-color: #F5F5F5 !important;
}

.column-customization-modal {
  position: absolute;
  top: 130%;
  right: 0;
  z-index: 999;
  width: auto;
  height: auto
}

.column-customization-modal-not-end {
  position: fixed;
  z-index: 999;
  width: auto;
  height: auto
}

.field-data-changed {
  color: #000 !important;
  font-weight: bold !important;
  background-color: #e6fcf2 !important;
}

.selected-profile {
  border: 2px solid #fcaf12
}

.not-selected-profile {
  opacity: 0.5;
}

.text-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdf-panel {
  width: 830px !important;
}

.sortCol {
  cursor: pointer;
  align-items: center;
  min-width: 65px;
}

.upload-option {
  font-size: 16px;
  padding: 10px;
  background-color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  justify-content: flex-start;
  padding-left: 10px;
}

  .upload-option i {
    font-size: 20px;
  }

  .upload-option span {
    font-size: 12px;
  }

  .upload-option:hover {
    background-color: #f0f0f0;
  }

.upload-option-top-border {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.mobile-delete-modal .modal-content {
  width: 50% !important;
  border-radius: 15px !important;
}

.mobile-delete-modal .modal-dialog {
  justify-content: center !important;
}

.desktop-timeline-modal .modal-content {
  margin: 0 !important;
  padding: 0 !important;
  align-self: center;
}

.desktop-timeline-modal .modal-dialog {
  display: flex;
  place-content: center center !important;
}

.media-uploader-modal .modal-content {
  width: 768px !important;
}

.media-uploader-modal .modal-dialog {
  display: flex;
  place-content: center center !important;
}

.btn-header {
  background-color: white !important;
}

  .btn-header:hover {
    background-color: #e3e6e8 !important;
  }

  .btn-header:active {
    background-color: #cbd0d4 !important;
  }

.overflow-right-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  direction: rtl;
  text-align: left;
  max-width: 100%;
  display: inline-block;
}

.vertical-center {
  align-content: center;
  text-align: center;
}

.partner-content {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 10px;
}

.float-under {
  position: absolute;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: 300px;
  cursor: default;
  z-index: 5;
}

tr.selectable:hover {
  background-color: var(--ck-color-button-on-background);
}

tr.selectable:focus {
  background-color: var(--ck-color-button-on-background);
}

.arial-family {
  font-family: 'Helvetica Neue', Arial;
}

.x-scroll {
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

  .x-scroll::-webkit-scrollbar {
    height: 8px;
    background: transparent;
  }

  .x-scroll::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
  }

    .x-scroll::-webkit-scrollbar-thumb:hover {
      background: rgba(0, 0, 0, 0.4);
    }

  .x-scroll::-webkit-scrollbar-track {
    background: transparent;
  }

.btn-border {
  padding: 5px;
  border-radius: 50%;
  background-color: white;
  border: 1px solid #cbd0d4;
}

  .btn-border:hover {
    background-color: #e3e6e8;
  }

  .btn-border:active {
    background-color: #cbd0d4;
  }

.questfit-logo-dimensions {
  width: 100% !important;
  height: auto !important;
}
.selected-box {
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: 0px 4px;
  background: #eaf4ff;
  box-shadow: 0 0 2px #b6d4fe;
}
