.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #1A6B5C;
  margin-bottom: 1rem;
}
.eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2B9D84;
  flex-shrink: 0;
}

.section-num {
  display: inline-flex;
  align-items: baseline;
  gap: 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #1A6B5C;
  margin-bottom: 1.25rem;
}
.section-num .n {
  color: #AAB4B2;
  font-variant-numeric: tabular-nums;
}

.tag {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 0.3rem 0.75rem;
  border-radius: 50rem;
  line-height: 1.4;
}

.tag-accent {
  background: #DEF4EA;
  color: #1A6B5C;
}

.tag-highlight {
  background: #8B2C3D;
  color: #FFFFFF;
}

.tag-ink {
  background: #0D1F1C;
  color: #FFFFFF;
}

.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.35rem 0.9rem 0.4rem;
  background: #DEF4EA;
  color: #1A6B5C;
  border-radius: 50rem;
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.hero-pill .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2B9D84;
  animation: pulse 2.4s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem 2rem;
}
@media (min-width: 700px) {
  .stats {
    grid-template-columns: repeat(4, 1fr);
  }
}
.stats .stat .num {
  font-size: clamp(2rem, 3vw, 2.5rem);
  font-weight: 900;
  color: #0D1F1C;
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 0.35rem;
}
.stats .stat .num em {
  color: #8B2C3D;
  font-style: normal;
}
.stats .stat .label {
  font-size: 0.82rem;
  color: #6B7976;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.testimonial {
  padding: 1.5rem 1.75rem;
  background: #F6F8F8;
  border-radius: 0.875rem;
  border-left: 3px solid #8B2C3D;
  max-width: 540px;
}
.testimonial .testimonial-tag {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #6E1F2D;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 0.6rem;
}
.testimonial blockquote {
  font-size: 1.1rem;
  line-height: 1.45;
  color: #0D1F1C;
  font-weight: 400;
  margin-bottom: 0.5rem;
  font-style: normal;
}
.testimonial cite {
  font-size: 0.88rem;
  color: #6B7976;
  font-style: normal;
}

.dark-slab {
  background: #0D1F1C;
  color: #FFFFFF;
  position: relative;
  overflow: hidden;
}
.dark-slab h1, .dark-slab h2, .dark-slab h3, .dark-slab h4, .dark-slab h5, .dark-slab h6 {
  color: #FFFFFF;
}
.dark-slab p {
  color: rgba(255, 255, 255, 0.85);
}
.dark-slab .eyebrow {
  color: #2B9D84;
}
.dark-slab .eyebrow::before {
  background: #2B9D84;
}
.dark-slab a {
  color: #2B9D84;
}
.dark-slab a:hover {
  color: #DEF4EA;
}
.dark-slab::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 25%, rgba(43, 157, 132, 0.25), transparent 55%);
  pointer-events: none;
}
.dark-slab > .container,
.dark-slab > .container-fluid {
  position: relative;
  z-index: 2;
}

.region-pills {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: #6B7976;
}
.region-pills .label {
  font-weight: 600;
  color: #2A3A37;
}
.region-pills .region-pill {
  padding: 0.3rem 0.8rem;
  border: 1px solid #C9D1CF;
  border-radius: 50rem;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 0.85rem;
  color: #2A3A37;
  cursor: pointer;
  transition: all 0.15s;
}
.region-pills .region-pill.active {
  background: #2B9D84;
  color: #FFFFFF;
  border-color: #2B9D84;
}
.region-pills .region-pill:hover:not(.active) {
  border-color: #2B9D84;
  color: #1A6B5C;
}

.section, .section-soft {
  padding: 5rem 0;
}
@media (min-width: 768px) {
  .section, .section-soft {
    padding: 7rem 0;
  }
}

.section-soft {
  background: #F6F8F8;
}

.btn-primary:hover, .btn-primary:focus {
  background-color: #1A6B5C;
  border-color: #1A6B5C;
}

.btn-accent {
  background-color: #8B2C3D;
  border-color: #8B2C3D;
  color: #FFFFFF;
}
.btn-accent:hover, .btn-accent:focus {
  background-color: #6E1F2D;
  border-color: #6E1F2D;
  color: #FFFFFF;
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #E4E9E7;
  flex-wrap: wrap;
}

.form-actions-split {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.btn-cancel {
  background: transparent;
  border: none;
  color: #6B7976;
  padding: 0.6rem 1rem;
  font-weight: 600;
  font-family: inherit;
  font-size: 0.95rem;
  border-radius: 50rem;
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
}
.btn-cancel:hover {
  color: #0D1F1C;
  background: #F6F8F8;
}

.btn-danger-outline {
  background: transparent;
  color: #8B2C3D;
  border: 1px solid #8B2C3D;
  border-radius: 50rem;
  padding: 0.85rem 1.5rem;
  font-weight: 700;
  font-family: inherit;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.btn-danger-outline:hover {
  background: #8B2C3D;
  color: #FFFFFF;
}

.btn-add-row {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 1.1rem 0.55rem 0.7rem;
  background: transparent;
  color: #1A6B5C;
  border: 1px dashed #2B9D84;
  border-radius: 50rem;
  font-weight: 600;
  font-size: 0.92rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s, border-style 0.15s;
}
.btn-add-row:hover {
  background: #DEF4EA;
  border-style: solid;
}
.btn-add-row .plus {
  width: 1.25rem;
  height: 1.25rem;
  background: #2B9D84;
  color: #FFFFFF;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
}

.fieldset-item {
  padding: 0.85rem 1.1rem;
  background: #FFFFFF;
  border: 1px solid #E4E9E7;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.95rem;
}
.fieldset-item .btn-remove {
  background: transparent;
  border: none;
  color: #6B7976;
  font-size: 0.85rem;
  padding: 0.3rem 0.6rem;
  cursor: pointer;
  border-radius: 4px;
  font-family: inherit;
  transition: color 0.15s, background 0.15s;
}
.fieldset-item .btn-remove:hover {
  color: #8B2C3D;
  background: #F5E2E5;
}

.principle {
  background: #DEF4EA;
  border-left: 3px solid #2B9D84;
  border-radius: 0 8px 8px 0;
  padding: 1.25rem 1.5rem;
  margin: 1rem 0 0;
}
.principle .principle-tag {
  font-size: 0.72rem;
  font-weight: 700;
  color: #1A6B5C;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 0.5rem;
  display: block;
}
.principle p {
  margin: 0;
  color: #0D1F1C;
  font-size: 0.98rem;
  line-height: 1.55;
}

html * {
  font-family: "Titillium Web", sans-serif;
  -ms-overflow-style: scrollbar; /* stop IE putting scrollbar on top of content see http://stackoverflow.com/questions/17045132/scrollbar-overlay-in-ie10-how-do-you-stop-that*/
}

html,
body {
  background: #0D1F1C;
  /*background:$navbars-background-color;*/
  color: #0D1F1C;
  background-color: #FFFFFF;
  scroll-behavior: smooth;
}

a {
  color: #0D1F1C;
  text-decoration: none;
  font-weight: 400;
  -webkit-tap-highlight-color: transparent;
}

label.required, span.required {
  color: #8B2C3D !important;
  font-weight: 700;
}

footer {
  width: 100%;
  padding-left: 10px;
  padding-right: 10px;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  border-top: 1px solid black;
}
@media only screen and (max-width : 600px) {
  footer {
    font-size: 0.9rem;
  }
  footer linklist {
    text-align: right;
  }
}
footer a.btn-sm {
  padding-top: 2px;
  padding-bottom: 2px;
  margin: 5px 0px 5px 5px;
}
footer .page-footer, footer .foot-wrap {
  background-color: #0D1F1C !important;
}
footer .row {
  margin-bottom: 0px;
}
footer h5 {
  color: #afafaf;
}
footer p, footer a {
  color: #afafaf;
}
footer p :hover, footer a :hover {
  color: #c3c3c3;
}

.page-header {
  margin-top: 5px;
  margin-bottom: 10px;
}

.dtp-btn-ok {
  margin-left: 4px;
}

.no-click {
  pointer-events: none;
}

.version {
  font-size: 0.7rem;
  font-style: italic;
}

.color-background {
  background-color: #2B9D84;
  #background: linear-gradient(90deg, rgb(51, 153, 70) 10%, rgba(51, 153, 70, 0.8) 90%);
}

.ready {
  border-color: #8B2C3D;
}

.warning-text {
  color: #D9A441;
}

.text-warning {
  color: #E17903 !important;
}

.bigger {
  font-size: 1.2rem;
}

.smaller {
  font-size: 0.8rem;
}

.bolder {
  font-weight: 700;
}

.row.slim {
  padding-top: 5px;
  padding-bottom: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.col.slim {
  padding: 0px;
}

.card-reveal.slim {
  padding: 14px;
}

.altfont {
  font-family: "Titillium Web", sans-serif !important;
}
.altfont h2 {
  font-family: "Titillium Web", sans-serif !important;
}

.no-pad-left {
  padding-left: 0px !important;
}

.no-pad-right {
  padding-right: 0px !important;
}

.no-pad-top {
  padding-top: 0px !important;
}

.no-pad-bottom {
  padding-bottom: 0px !important;
}

.no-margin {
  margin: 0px !important;
}

.btn-primary {
  background-color: #2B9D84;
  border-color: #2B9D84;
  color: white;
}

.btn-outline-primary {
  color: #2B9D84;
  background-color: white;
  border-color: #2B9D84;
}

.text-primary {
  color: #2B9D84 !important;
}

.btn_block {
  width: 100%;
}

.btn-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn:first-child:not(:last-child), .btn-group > .btn-accent:first-child:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn:not(:first-child):not(:last-child), .btn-group > .btn-accent:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.btn-group > .btn:last-child:not(:first-child), .btn-group > .btn-accent:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group > .btn-inactive {
  background-color: #607d8b;
}

.btn-group > .btn, .btn-group > .btn-accent {
  -webkit-box-shadow: 0 0px 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0);
}

.btn-group > .btn-inactive:hover {
  background-color: #728F9D;
}

.btn-group > .btn:hover, .btn-group > .btn-accent:hover {
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

/* rather than specify for each menu, take a chance that all right aligned material icons aremenus and should be black */
.material-icons.right {
  color: black;
}

nav .material-icons.right {
  color: white;
}

.card .activator {
  cursor: pointer;
}

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

.back2 {
  background-color: #91613D;
  color: white !important;
}

.editHover {
  background: #E8F3FF;
}

#loading_animation {
  padding-bottom: 3px;
}

.pony {
  width: 32px;
  position: absolute;
  -webkit-animation: Pony 25s linear infinite;
  -moz-animation: Pony 25s linear infinite;
  -ms-animation: Pony 25s linear infinite;
  -o-animation: Pony 25s linear infinite;
}

.pony_in_element {
  width: 32px;
  position: absolute;
  -webkit-animation: PonyEl 7s linear infinite;
  -moz-animation: PonyEl 7s linear infinite;
  -ms-animation: PonyEl 7s linear infinite;
  -o-animation: PonyEl 7s linear infinite;
}

@-webkit-keyframes Pony {
  0% {
    left: -300px;
    transform: rotateY(0deg);
  }
  49% {
    transform: rotateY(0deg);
  }
  50% {
    left: 100%;
    transform: rotateY(180deg);
  }
  99% {
    transform: rotateY(180deg);
  }
  100% {
    left: -300px;
    transform: rotateY(0deg);
  }
}
@-webkit-keyframes PonyEl {
  0% {
    left: 0px;
    transform: rotateY(0deg);
  }
  49% {
    transform: rotateY(0deg);
  }
  50% {
    left: 100%;
    transform: rotateY(180deg);
  }
  99% {
    transform: rotateY(180deg);
  }
  100% {
    left: 0px;
    transform: rotateY(0deg);
  }
}
#wrapper {
  min-height: 400px;
  margin-left: 0px;
}
@media only screen and (min-width : 601px) {
  #wrapper {
    margin-left: 35px;
  }
}
@media only screen and (min-width : 993px) {
  #wrapper {
    margin-left: 70px;
    max-width: 1024px;
    min-height: 600px;
  }
  #wrapper .full_width {
    margin-left: 5px;
    max-width: none !important;
  }
}
@media only screen and (min-width : 993px) {
  #wrapper {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
#wrapper .full_width {
  margin-left: 5px;
  max-width: none !important;
}

#wrapper.full_width {
  margin: 5px;
  max-width: none !important;
}

.flex-wrap {
  display: flex;
  flex-wrap: wrap;
  vertical-align: middle;
}

.h-100 {
  height: 100%;
}

.w-100 {
  width: 100%;
}

.p0 {
  padding: 0px !important;
}

.m0 {
  margin: 0px !important;
}

/* using svg fonts to avoid need for connection */
.offline {
  position: absolute;
  top: 20px;
  right: 10px;
  color: red;
  background-color: white;
}

.warning {
  background-color: #D9A441;
  color: white;
}

.bigbut {
  border: 2px solid #91613D !important;
}

.headbar {
  background-color: #271f1d;
  color: white !important;
}

.headbar img {
  height: 200px !important;
}

.headbar .form-group {
  margin-bottom: 0em !important;
}

h1 {
  font-size: 1.8rem;
  color: #0D1F1C;
}
@media only screen and (min-width : 601px) {
  h1 {
    font-size: 2rem;
  }
}
@media only screen and (min-width : 993px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: 1.6rem;
  color: #0D1F1C;
}
@media only screen and (min-width : 601px) {
  h2 {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width : 993px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #8B2C3D;
  margin-top: 0px;
}
@media only screen and (min-width : 601px) {
  h3 {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width : 993px) {
  h3 {
    font-size: 1.7rem;
  }
}

h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #626262;
  margin-top: 0px;
}
@media only screen and (min-width : 601px) {
  h4 {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width : 993px) {
  h4 {
    font-size: 1.3rem;
  }
}

h5 {
  font-size: 1rem;
  font-weight: 600;
  color: #8B2C3D;
  margin-top: 0px;
}
@media only screen and (min-width : 601px) {
  h5 {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width : 993px) {
  h5 {
    font-size: 1.2rem;
  }
}

.plaintext {
  /* restore materialize margins for pages of text */
}
.plaintext h1 {
  margin: 2.8rem 0 1.68rem 0;
}
.plaintext h2 {
  margin: 2.3733333333rem 0 1.424rem 0;
}
.plaintext h3 {
  margin: 1.9466666667rem 0 1.168rem 0;
}
.plaintext h4 {
  margin: 1.52rem 0 0.912rem 0;
}

.event_banner {
  margin-left: 70px !important;
  font-size: 1.2rem;
}
@media only screen and (min-width : 601px) {
  .event_banner {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width : 993px) {
  .event_banner {
    font-size: 1.5rem;
  }
}

.calcbanner {
  min-width: 360px;
}

.disabled {
  opacity: 0.3 !important;
}

.enabled {
  opacity: 1 !important;
}

.label {
  font-size: 1.5em;
}
.label div {
  padding-top: 20px;
}

.error {
  color: #8B2C3D;
}

.danger {
  background-color: #8B2C3D !important;
}

.success {
  color: #1A6B5C;
}

.helper-text {
  position: relative;
  min-height: 18px;
  display: block;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.54);
}

.helper-text.invalid {
  margin-left: 45px;
  color: #8B2C3D;
}

.errorlist li {
  padding: 10px;
  background-color: rgb(200.9016393443, 84.0983606557, 105);
}

.card-img-top {
  width: 100%;
}

.backg0 {
  background-color: #231f1f;
}

.backg1 {
  background-color: #DEF4EA;
}

.backg2 {
  background-color: #ffffb2;
}

.backg3 {
  background-color: #F6F8F8;
}

.backg4 {
  background-color: #2B9D84;
}

.biglogo {
  width: 100%;
}

/* banner replaced with nav-banner for bootstrap */
.banner, .nav-banner {
  color: white;
  font-size: 2.1rem;
}

#brand_name .banner_left {
  color: white !important;
}

#user_menu.dropdown-menu.show {
  right: 0;
  left: auto;
}

#brand_name .banner_right {
  color: #48c596 !important;
}

#brand_name .navbar-expand-lg, #brand_name .navbar-toggler {
  display: inline !important; /* override bootstrap that wants to hide icon */
}

#brand_name .navbar-toggler {
  padding: 0px;
  border: none;
}

#topnav {
  background-color: #0D1F1C;
}

#topnav .nav-link {
  background-color: #0D1F1C !important;
  color: white !important;
}

.goto-url:hover, goto_pdf:hover, .goto_user:hover {
  cursor: pointer !important;
}

#test_bar {
  cursor: pointer;
  padding-top: 5px;
  padding-left: 5px;
  background-color: #2B9D84;
  color: white;
  font-size: 1.3rem;
  min-height: 50px;
}
#test_bar a {
  color: white;
  font-size: 1.3rem;
}
#test_bar .currenttest {
  padding: 5px;
  border: 1px white;
}
@media only screen and (max-width : 600px) {
  #test_bar {
    height: 3rem;
  }
}
#test_bar .input-field {
  margin-top: 3px;
  margin-bottom: 5px;
}
#test_bar #search4test {
  height: 100%;
  width: calc(100% - 40px);
  font-size: 1.2rem;
  font-family: Roboto, sans-serif;
  border: 1px white;
  box-shadow: none;
  padding: 0px;
  background-color: #2B9D84;
  color: white;
}
#test_bar .dropdown-content li:hover, #test_bar .dropdown-content li.active {
  background-color: #0D1F1C;
}
#test_bar .dropdown-content li > a, #test_bar .dropdown-content li > span {
  color: white;
}
#test_bar .dropdown-content li {
  background-color: #0D1F1C;
  color: white;
}
#test_bar .dropdown-content li .highlight {
  color: #f9c735;
}
#test_bar label {
  top: 0;
  left: 0;
}
#test_bar label i {
  color: #0D1F1C;
}
#test_bar label.active i {
  color: #0D1F1C !important;
}

.flip {
  transform: rotate(270deg);
}

#index h1 {
  font-size: 2.5rem;
}
#index #strapline {
  margin: 30px 0px 30px 0px;
  font-size: 2.2rem;
}
@media only screen and (min-width : 601px) {
  #index #strapline {
    margin: 40px 20px 40px 20px;
    font-size: 4rem;
  }
}
#index #banner {
  /* still used? */
  padding: 10px 20px;
  background-color: #def4ea;
  color: #2B9D84;
}
@media only screen and (min-width : 601px) {
  #index #banner {
    padding: 30px;
  }
}
#index #banner .btn, #index #banner .btn-accent {
  color: white;
  font-size: 1.6rem;
  line-height: 2rem;
  padding: 20px;
}
@media only screen and (min-width : 601px) {
  #index #banner .btn, #index #banner .btn-accent {
    font-size: 2rem;
  }
}
#index #banner p {
  font-size: 1.4rem;
  text-align: center;
  font-weight: 300;
}
#index #choices .card-content {
  height: 200px;
  overflow: hidden;
}
#index #choices .card-action {
  height: 80px;
}
@media only screen and (min-width : 601px) {
  #index #choices .left {
    padding-left: 0px;
  }
}
@media only screen and (min-width : 601px) {
  #index #choices .right {
    padding-right: 0px;
  }
}
#index #signup_btn {
  border: solid 1px #0D1F1C;
  width: 100%;
  color: #0D1F1C;
  font-weight: 500;
}
#index #signup_btn:hover {
  background-color: #0D1F1C;
  color: white;
}
#index #login_btn {
  border: solid 1px #2B9D84;
  width: 100%;
  color: #2B9D84;
  font-weight: 500;
}
#index #login_btn:hover {
  background-color: #2B9D84;
  color: white;
}

.dark_outline {
  border: solid 1px #0D1F1C !important;
  color: #0D1F1C !important;
}
.dark_outline:hover {
  background-color: #0D1F1C !important;
  color: white !important;
}

@media only screen and (max-width : 600px) {
  .container {
    margin-left: 1px;
    margin-right: 1px;
    width: 100%;
  }
}

.bar {
  opacity: 0.6;
  color: white;
}

.ref {
  font-size: 2em;
  float: right;
}

.nosearch {
  -webkit-user-select: none;
}

.inline_radio {
  display: inline;
}
.inline_radio [type=radio]:not(:checked) + span,
.inline_radio [type=radio]:checked + span {
  padding-left: 22px;
}

#entry, #deductions, #totals {
  padding: 10px;
}

.title {
  font-size: 36px;
}

.page_title {
  margin-top: 20px;
  margin-bottom: 2rem;
}

.action_buttons {
  margin-top: 20px;
  margin-bottom: 20px;
}

.current_class {
  width: 100%;
}

th {
  color: #6B7976;
}

table .odd {
  background-color: #e7e9e7;
}

table .even {
  background-color: #fbfbfb;
}

table .disabled {
  opacity: 0.5;
}

table a {
  color: #0D1F1C;
  font-width: normal;
}

table.slim tr {
  padding: 3px;
}
table.slim td, table.slim th {
  padding: 5px 10px;
  font-size: 0.9em;
}

#dashboard .card-header {
  background-color: #DEF4EA;
}
#dashboard .card-body {
  background-color: #2B9D84;
}
#dashboard .dc-chart {
  height: 100px;
}
#dashboard h4 {
  color: #0D1F1C;
  font-size: 1.2em;
}

.past {
  background-color: #f0f0f0;
}

.onnow {
  background-color: white;
}

.future {
  background-color: rgba(76, 5, 84, 0.11);
}

/*  handle deck */
.card-deck .col {
  padding-left: 3px;
  padding-right: 3px;
}
.card-deck .col .first {
  padding-left: 0;
}
.card-deck .col .last {
  padding-right: 0;
}
.card-deck .card {
  padding-left: 3px;
  padding-right: 3px;
  height: 100%;
}
.card-deck .card .card-content {
  padding: 8px;
}
.card-deck .card .card-action {
  text-align: center;
}
.card-deck .card .first {
  padding-left: 0;
}
.card-deck .card .last {
  padding-right: 0;
}

#login {
  background: #2B9D84;
}

#registration .checkbox-text {
  font-size: 1.4rem;
  color: #0D1F1C;
}
@media only screen and (max-width : 600px) {
  #registration .row {
    margin-bottom: 0px;
  }
  #registration .input-field {
    margin-top: 4px;
    margin-bottom: 4px;
  }
  #registration .card-content {
    padding: 20px;
  }
}

.menucards .card-title {
  margin-top: 0px;
}

#add_images .row {
  margin-bottom: 0px;
}
#add_images .input-field {
  margin-bottom: 5px;
  margin-top: 5px;
}

/* mobile only */
@media only screen and (max-width : 600px) {
  .strapline {
    font-size: 0.9rem;
    color: #DEF4EA;
  }
  .card {
    background-color: white;
    color: #0D1F1C;
  }
}
#banner {
  /* still used? second #banner */
  padding: 30px;
  background-color: #def4ea;
  color: #2B9D84;
}
#banner .btn, #banner .btn-accent {
  color: white;
}
#banner p {
  font-size: 1.4rem;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
}

#choices .card-content {
  height: 200px;
  overflow: hidden;
}
#choices .card-action {
  height: 80px;
}
@media only screen and (min-width : 601px) {
  #choices .left {
    padding-left: 0px;
  }
}
@media only screen and (min-width : 601px) {
  #choices .right {
    padding-right: 0px;
  }
}

@media only screen and (max-width : 600px) {
  .container {
    margin-left: 0px;
    margin-right: 0px;
    width: 100%;
  }
}

.bar {
  opacity: 0.6;
  color: white;
}

.ref {
  font-size: 1.8rem;
  float: right;
}

#mainimg {
  height: 300px;
  background-image: url("/shared_static/images/mainimage_phone.png");
  background-size: cover;
  background-position: center right 12%;
  background-repeat: no-repeat;
}
@media only screen and (min-width : 601px) {
  #mainimg {
    background-image: url("/shared_static/images/mainimage_desktop.png");
  }
}

.changetest {
  padding: 5px;
  height: 30px;
}

.test_search {
  padding: 3px 5px 5px 5px;
  height: 30px;
}

.coeff {
  border: none;
  border-radius: 12px;
  color: black;
  font-size: 9px !important;
  height: 16px;
  padding: 4px 3px 0 3px;
  text-align: center;
  width: 15px;
}
.coeff.coeff_2 {
  background-color: #ffffb2;
}
.coeff.coeff_3 {
  background-color: #fecc5c;
}
.coeff.coeff_4 {
  background-color: #fd8d3c;
}
.coeff.coeff_5 {
  background-color: #f03b20;
  color: white;
}
.coeff.coeff_6 {
  background-color: #bd0026;
  color: white;
}

#calculator {
  touch-action: manipulation;
}
#calculator .container {
  max-width: 1280px;
  width: 90%;
}
@media only screen and (max-width : 992px) {
  #calculator .container {
    width: 100%;
  }
}
@media only screen and (max-width : 600px) {
  #calculator {
    bottom: 0px;
  }
}
#calculator .btn:hover, #calculator .btn-accent:hover {
  background-color: rgb(32.035, 116.965, 98.34);
}
#calculator .col.s6 > .btn, #calculator .col.s6 > .btn-accent {
  width: 100%;
}
#calculator #help_1 img {
  margin-top: 20%;
  width: 100%;
}
#calculator #watch_video {
  background-color: #f6982d;
  width: 100%;
  overflow: visible;
  height: auto;
  line-height: 25px;
  padding-bottom: 5px;
}
#calculator .dividers {
  border-top: 1px solid #fefefe;
  padding-top: 20px;
  border-bottom: 1px solid #fefefe;
  padding-bottom: 20px;
  padding-left: 0px;
  padding-right: 0px;
}
#calculator .col-centered {
  display: inline-block;
  float: none;
  /* reset the text-align */
  text-align: left;
  /* inline-block space fix */
  margin-right: -4px;
}
#calculator svg {
  float: right;
}
#calculator #input_score_block #keypad {
  padding: 0px;
  margin: 0px;
  box-shadow: none;
}
@media only screen and (max-width : 600px) {
  #calculator #input_score_block {
    padding-left: 2px;
    padding-right: 10px;
  }
}
#calculator #input_score_block .row {
  margin: 0px;
  padding: 0px;
}
#calculator #input_score_block .left {
  border-top: 2px solid white;
  border-right: 2px solid white;
}
#calculator #input_score_block .left.top {
  border-top: none;
}
#calculator #input_score_block .right {
  border-top: 2px solid white;
}
#calculator #input_score_block .right.top {
  border-top: none;
}
#calculator #input_score_block #top_line .row {
  margin-bottom: 5px;
}
#calculator #input_score_block .score_button, #calculator #input_score_block .add_int_score, #calculator #input_score_block .add_dec_score {
  color: #626262;
  background-color: #cdd7d7;
  display: inline;
  cursor: pointer;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 800;
  border-radius: 10px;
  padding: 0px;
  margin: 0px;
}
#calculator #input_score_block .score_button:hover, #calculator #input_score_block .add_int_score:hover, #calculator #input_score_block .add_dec_score:hover {
  background-color: #b5bfbf;
}
#calculator #input_score_block {
  /* less often used score buttons */
}
#calculator #input_score_block .thin div {
  font-size: 1.3rem;
  font-weight: normal;
  opacity: 0.8;
  /* force disabled to override opacity */
}
#calculator #input_score_block .thin div .disabled {
  opacity: 0.3;
}
#calculator #input_score_block #action_buttons {
  margin-top: 22px;
  background-color: #cdd7d7;
  box-shadow: none;
  border-radius: 10px;
  color: black;
  font-weight: normal;
  font-size: 1.4rem;
  height: 50px;
  cursor: pointer;
}
#calculator #input_score_block #action_buttons .middle p {
  text-align: center;
}
@media only screen and (max-width : 600px) {
  #calculator #input_score_block #action_buttons {
    font-size: 0.8rem !important;
  }
  #calculator #input_score_block #action_buttons i.small {
    font-size: 16px;
  }
}
#calculator #input_score_block #action_buttons:hover {
  background-color: #b5bfbf;
}
#calculator #input_score_block #action_buttons .enabled {
  height: calc(100% - 2px);
}
#calculator #input_score_block #action_buttons #settings p {
  margin-top: 8px;
  margin-bottom: 8px;
}
#calculator #input_score_block #action_buttons #before_modal input:disabled {
  color: rgba(0, 0, 0, 0.76);
  border-bottom: 1px dotted rgba(0, 0, 0, 0.42);
}
#calculator #input_score_block .left {
  border-right: 2px solid white;
}
#calculator #input_score_block #speak, #calculator #input_score_block #back_button, #calculator #input_score_block .clear_button {
  height: 100%;
  border: 1px solid white;
  padding-top: 0.5rem;
  text-align: center;
}
#calculator #speak, #calculator #open_settings {
  background-color: #626262;
  color: white;
}
#calculator #back_button.btn, #calculator #back_button.btn-accent, #calculator #back_button.col {
  background-color: #626262 !important;
}
#calculator .clear_button.btn, #calculator .clear_button.btn-accent, #calculator .clear_button.col {
  background-color: #626262 !important;
}
#calculator .minus_penalty, #calculator .minus_penalty_pct, #calculator .plus_penalty, #calculator .plus_penalty_pct {
  cursor: pointer;
  background-color: #cdd7d7;
  color: #626262;
  padding-left: 2px;
  padding-right: 2px;
  margin-bottom: 2px;
  font-size: 0.7rem;
}
@media only screen and (min-width : 601px) {
  #calculator .minus_penalty, #calculator .minus_penalty_pct, #calculator .plus_penalty, #calculator .plus_penalty_pct {
    font-size: 1rem;
    padding-left: 8px;
    padding-right: 8px;
  }
}
#calculator .minus_penalty .material-icons, #calculator .minus_penalty_pct .material-icons, #calculator .plus_penalty .material-icons, #calculator .plus_penalty_pct .material-icons {
  margin: 0px;
  color: #626262;
}
#calculator .penalty_type_B a, #calculator .penalty_type_P a {
  width: 96%;
}
#calculator #summary_inner {
  font-size: 1.3rem;
  color: #1A6B5C;
  box-shadow: none;
  border: 1px solid #cdd7d7;
  border-radius: 5px;
  background-color: white;
  height: 100%;
  padding: 5px;
  margin: 0px;
}
@media only screen and (min-width : 601px) {
  #calculator #summary_inner {
    font-size: 1.4rem;
    padding: 20px;
    line-height: 1.7;
  }
}
#calculator #summary_inner .row {
  margin: 5px 0px 0px 0px;
  padding-left: 0px;
  line-height: 1.2;
}
@media only screen and (min-width : 601px) {
  #calculator #summary_inner .row {
    margin: 0px;
    line-height: 1.7;
  }
}
#calculator #summary_inner.two_rows_of_penalties .row {
  line-height: 1;
}
@media only screen and (min-width : 601px) {
  #calculator #summary_inner.two_rows_of_penalties .row {
    margin: 0px;
    line-height: 1.3;
  }
}
#calculator #summary_inner .pct {
  font-size: 8.5vw;
}
@media only screen and (min-width : 601px) {
  #calculator #summary_inner .pct {
    font-size: 3.5vw;
  }
}
#calculator #summary_inner .col {
  padding-left: 0px;
  padding-right: 5px;
}
@media only screen and (min-width : 601px) {
  #calculator #summary_inner .col {
    padding-right: 0px;
  }
}
#calculator #summary_inner .col .right {
  padding-right: 0px;
}
#calculator #summary_inner .bottom {
  margin-top: 10px;
}
#calculator #summary_inner #summary_bar svg {
  float: right;
  padding-top: 3px;
}
@media only screen and (min-width : 601px) {
  #calculator #summary_inner #summary_bar svg {
    padding-top: 10px;
  }
}
#calculator .card {
  margin: 10px;
  position: relative;
}
#calculator .card .row {
  padding-left: 10px;
}
#calculator .show_on_start {
  padding-top: 4px;
  padding-bottom: 4px;
}
#calculator .pct_score {
  margin-top: 10px;
  margin-right: 20px;
  padding: 0px;
  font-size: 2rem;
  font-weight: 700;
  color: #0D1F1C;
  text-align: right;
  position: relative;
  z-index: 2;
}
#calculator .row {
  margin: 0px;
  background-color: transparent;
  position: relative;
  z-index: 2;
}
#calculator .col {
  padding: 0px;
  background-color: transparent;
}
#calculator .tag {
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
}
#calculator .bar, #calculator .card-content {
  position: absolute;
  top: 0px;
  left: 0px;
}
#calculator .current_test_description {
  font-size: 1rem;
  font-weight: 400;
}

#calculator.colorful #input_score_block .mark_0 {
  color: #626262 !important;
  background-color: #fff1f7 !important;
}
#calculator.colorful #input_score_block .mark_1 {
  color: #626262 !important;
  background-color: #ffedee !important;
}
#calculator.colorful #input_score_block .mark_2 {
  color: #626262 !important;
  background-color: #ffe9e5 !important;
}
#calculator.colorful #input_score_block .mark_3 {
  color: #626262 !important;
  background-color: #ffe6db !important;
}
#calculator.colorful #input_score_block .mark_35 {
  color: #626262 !important;
  background-color: #ffe6db !important;
}
#calculator.colorful #input_score_block .mark_4 {
  color: #626262 !important;
  background-color: #ffe2ae !important;
}
#calculator.colorful #input_score_block .mark_45 {
  color: #626262 !important;
  background-color: #ffd78a !important;
}
#calculator.colorful #input_score_block .mark_5 {
  color: #626262 !important;
  background-color: #f5d749 !important;
}
#calculator.colorful #input_score_block .mark_55 {
  color: #626262 !important;
  background-color: #dccd20 !important;
}
#calculator.colorful #input_score_block .mark_6 {
  color: white !important;
  background-color: #74ad23 !important;
}
#calculator.colorful #input_score_block .mark_65 {
  color: white !important;
  background-color: #5eb05f !important;
}
#calculator.colorful #input_score_block .mark_7 {
  color: white !important;
  background-color: #48b29a !important;
}
#calculator.colorful #input_score_block .mark_75 {
  color: white !important;
  background-color: #2499b9 !important;
}
#calculator.colorful #input_score_block .mark_8 {
  color: white !important;
  background-color: #007fd8 !important;
}
#calculator.colorful #input_score_block .mark_85 {
  color: white !important;
  background-color: #174ca7 !important;
}
#calculator.colorful #input_score_block .mark_9 {
  color: white !important;
  background-color: #3e339f !important;
}
#calculator.colorful #input_score_block .mark_95 {
  color: white !important;
  background-color: #361686 !important;
}
#calculator.colorful #input_score_block .mark_10 {
  color: white !important;
  background-color: #380052 !important;
}

#calculator.wave #input_score_block .waves-effect.waves-0 .waves-ripple {
  background-color: #fff1f7;
}
#calculator.wave #input_score_block .waves-effect.waves-1 .waves-ripple {
  background-color: #ffedee;
}
#calculator.wave #input_score_block .waves-effect.waves-2 .waves-ripple {
  background-color: #ffe9e5;
}
#calculator.wave #input_score_block .waves-effect.waves-3 .waves-ripple {
  background-color: #ffe6db;
}
#calculator.wave #input_score_block .waves-effect.waves-35 .waves-ripple {
  background-color: #ffe6db;
}
#calculator.wave #input_score_block .waves-effect.waves-4 .waves-ripple {
  background-color: #ffe2ae;
}
#calculator.wave #input_score_block .waves-effect.waves-45 .waves-ripple {
  background-color: #ffd78a;
}
#calculator.wave #input_score_block .waves-effect.waves-5 .waves-ripple {
  background-color: #f5d749;
}
#calculator.wave #input_score_block .waves-effect.waves-55 .waves-ripple {
  background-color: #dccd20;
}
#calculator.wave #input_score_block .waves-effect.waves-6 .waves-ripple {
  background-color: #74ad23;
}
#calculator.wave #input_score_block .waves-effect.waves-65 .waves-ripple {
  background-color: #5eb05f;
}
#calculator.wave #input_score_block .waves-effect.waves-7 .waves-ripple {
  background-color: #48b29a;
}
#calculator.wave #input_score_block .waves-effect.waves-75 .waves-ripple {
  background-color: #2499b9;
}
#calculator.wave #input_score_block .waves-effect.waves-8 .waves-ripple {
  background-color: #007fd8;
}
#calculator.wave #input_score_block .waves-effect.waves-85 .waves-ripple {
  background-color: #174ca7;
}
#calculator.wave #input_score_block .waves-effect.waves-9 .waves-ripple {
  background-color: #3e339f;
}
#calculator.wave #input_score_block .waves-effect.waves-95 .waves-ripple {
  background-color: #361686;
}
#calculator.wave #input_score_block .waves-effect.waves-10 .waves-ripple {
  background-color: #380052;
}

#output_block {
  font-size: 1.3rem;
  overflow: hidden;
}
@media only screen and (max-width : 600px) {
  #output_block {
    font-size: 1.1rem;
  }
}
#output_block #output_scores {
  padding: 0px;
  margin: 0px;
  overflow: hidden;
}
#output_block #output_scores .score .row {
  position: relative;
  z-index: 99;
}
#output_block #output_scores #scorelist {
  position: relative;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}
#output_block #output_scores #scorelist .score_bar {
  position: absolute;
}
#output_block #output_scores #scorelist .card-title {
  margin-bottom: 0px;
  padding-top: 10px;
  padding-bottom: 10px;
}
#output_block #output_scores #scorelist .minus {
  text-align: left;
  cursor: pointer;
  padding-left: 5px !important;
}
#output_block #output_scores #scorelist .plus {
  cursor: pointer;
  text-align: right;
  padding-right: 5px !important;
}
#output_block #output_scores #scorelist .collective {
  background-color: lightgrey;
}
#output_block #output_scores #scorelist {
  /* actually added to last non-collective */
}
#output_block #output_scores #scorelist .first_collective {
  border-bottom: 5px solid #626262 !important;
}
#output_block #output_scores #scorelist .page_end {
  border-bottom: 5px solid black !important;
}
#output_block #output_scores #scorelist .lineno {
  color: #6B7976;
  font-size: 0.8em;
  padding-top: 4px !important;
  position: relative;
  z-index: 2;
}
#output_block #output_scores #scorelist #rows_count {
  text-align: right;
  padding-right: 5px !important;
}
#output_block #output_scores #scorelist .linemark {
  text-align: center;
  color: black;
  padding-left: 5px !important;
  position: relative;
  z-index: 2;
}
#output_block #output_scores #scorelist .score {
  border-bottom: 1px solid white;
  padding: 0px;
  margin: 0px;
  position: relative;
}
#output_block #output_scores #scorelist .score .col {
  padding: 0px;
}
#output_block #output_scores #scorelist .score .row {
  margin: 0px;
}
#output_block #output_scores #scorelist #rows_total {
  font-size: 14px;
  font-weight: 700;
  color: #434343;
}
#output_block #output_scores #scorelist .row_count {
  font-size: 14px;
  color: #434343;
}
#output_block #output_scores #scorelist .totals {
  margin-bottom: 0px;
}

.switch-label {
  font-size: 14px;
}

.tag {
  padding: 0px;
  margin: 0px;
  color: #0D1F1C;
  font-size: 20px;
  font-weight: 700;
}

.btn-group input {
  visibility: hidden;
  width: 0px;
}
.btn-group label {
  cursor: pointer;
}

#current_test_details {
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 20px;
  color: #6B7976;
}

.skinny {
  padding: 0;
}

.form-control {
  font-size: 18px;
  padding: 6px;
}

.form-group {
  padding-top: 0px;
  padding-bottom: 0px;
}

#entry, #deductions, #totals {
  padding: 10px;
}

.title {
  margin-top: 20px;
  font-size: 36px;
}

.current_class {
  width: 100%;
}

th {
  color: #6B7976;
}

table .odd {
  background-color: #e7e9e7;
}

table .even {
  background-color: #fbfbfb;
}

table .disabled {
  opacity: 0.5;
}

table a {
  color: #0D1F1C;
  font-width: normal;
}

#history td {
  padding-top: 2px;
  padding-bottom: 2px;
}

#dashboard .card-header {
  background-color: #DEF4EA;
}
#dashboard .card-body {
  background-color: #2B9D84;
}
#dashboard .dc-chart {
  height: 100px;
}
#dashboard h4 {
  color: #0D1F1C;
  font-size: 1.2em;
}

#login {
  background: #2B9D84;
}

/* mobile only */
@media only screen and (max-width : 600px) {
  .strapline {
    font-size: 0.9rem;
    color: #DEF4EA;
  }
  .card {
    background-color: white;
    color: #0D1F1C;
  }
}
/* VIZ */
div.tooltip {
  position: absolute;
  text-align: center;
  width: 100px;
  height: 50px;
  padding: 2px;
  font: 12px sans-serif;
  background: #e7e7e7;
  border: 1px;
  border-radius: 8px;
  pointer-events: none;
}

.scoresheet_viz {
  position: relative;
}

.scoresheet_viz svg {
  display: block;
  margin: auto;
  font-color: #797979;
}
.scoresheet_viz svg .header {
  font-size: 0.9em;
}
.scoresheet_viz svg .subheader {
  font-size: 0.8em;
}
.scoresheet_viz svg .name, .scoresheet_viz svg .value {
  font-size: 0.7em;
}
.scoresheet_viz svg .top_label {
  font-size: 0.9em;
}

.scorer_gauge {
  position: relative;
  padding: 0;
  height: 170px;
}
.scorer_gauge svg {
  display: block;
  margin: auto;
}

#scored rect.bar {
  fill: #2B9D84 !important;
}

.modal {
  max-height: 100%;
  overflow: visible;
}

#after_modal #totals {
  font-size: 1.4rem;
  line-height: 2rem;
}
#after_modal .label {
  font-size: 1.3rem;
  line-height: 2.4rem;
  opacity: 0.9;
}
#after_modal .tag {
  text-align: right;
}
#after_modal #totals .tag {
  font-size: 2.4rem !important;
  line-height: 2.4rem;
}
#after_modal .percent_row {
  margin-top: 4px;
  margin-bottom: 24px;
}
@media medium-and-up {
  #after_modal #totals {
    font-size: 2rem;
    line-height: 3.5rem;
  }
  #after_modal .label {
    font-size: 2rem;
  }
}

/* login / signup s  */
/*https://codepen.io/davidelrizzo/pen/vEYvyv */
.loginBtn {
  box-sizing: border-box;
  position: relative;
  /* width: 13em;  - apply for fixed size */
  margin: 0.2em;
  padding: 0 15px 0 46px;
  border: none;
  text-align: left;
  line-height: 34px;
  white-space: nowrap;
  border-radius: 0.2em;
  font-size: 16px;
  color: #FFF;
}

.loginBtn:before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 34px;
  height: 100%;
}

.loginBtn:focus {
  outline: none;
}

.loginBtn:active {
  box-shadow: inset 0 0 0 32px rgba(0, 0, 0, 0.1);
}

/* Facebook */
.facebook {
  background-color: #4C69BA;
  background-image: linear-gradient(#4C69BA, #3B55A0);
  font-family: "Helvetica neue", Helvetica Neue, Helvetica, Arial, sans-serif;
  text-shadow: 0 -1px 0 #354C8C;
  text-align: center;
}

.facebook:before {
  border-right: #364e92 1px solid;
  background: url("/shared_static/images/icon_facebook.png") 6px 6px no-repeat;
}

.facebook:hover,
.facebook:focus {
  background-color: #5B7BD5;
  background-image: linear-gradient(#5B7BD5, #4864B1);
}

/* Whinnie */
.whinnie {
  background-color: #620789;
  background-image: linear-gradient(#7E07AD, #620789);
  font-family: "Helvetica neue", Helvetica Neue, Helvetica, Arial, sans-serif;
  text-shadow: 0 -1px 0 #620789;
  text-align: center;
}

.whinnie:before {
  border-right: #620789 1px solid;
  background: url("/shared_static/images/whinnie.png") 6px 6px no-repeat;
}

.whinnie:hover,
.whinnie:focus {
  background-color: #620789;
  background-image: linear-gradient(#7E07AD, #620789);
}

.list-group .selected {
  background-color: #2B9D84;
  color: white;
}

/* for autocomplete in nav bar*/
.autocomplete {
  /* override materialize */
}
.autocomplete nav ul li {
  float: none !important;
}
.autocomplete {
  position: relative;
  font-size: 14px;
  max-width: 400px;
}

.autocomplete ul,
.autocomplete li {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.1rem;
}

.autocomplete .autocomplete-list {
  position: absolute;
  top: 100%;
  right: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  background-color: #0D1F1C;
  z-index: 100;
  color: #222;
  -webkit-overflow-scrolling: touch;
}

.autocomplete .autocomplete-group {
  position: relative;
  padding: 10px 0;
}

.autocomplete .autocomplete-group-header {
  position: absolute;
  top: 16px;
  left: 10px;
  font-weight: bold;
}

.autocomplete .autocomplete-item {
  cursor: pointer;
  padding: 6px 10px;
  float: none;
}

.autocomplete-group .autocomplete-item {
  padding-left: 100px;
  float: none;
}

.autocomplete .autocomplete-item.active,
.autocomplete .autocomplete-item:hover {
  background-color: rgba(13, 31, 28, 0.58);
}

.autocomplete .autocomplete-item-last {
  font-weight: bold;
  text-align: center;
  padding: 10px;
}

@media screen and (max-height: 480px) and (max-width: 480px) {
  /* a blunt check for mobile screens: they need bigger hit targets */
  .autocomplete .autocomplete-item {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
.autocomplete-list li:hover, .autocomplete-list li.active {
  background-color: white;
}
.autocomplete-list li > a, .autocomplete-list li > span {
  color: darkgrey;
}
.autocomplete-list li {
  background-color: white;
  color: darkgrey;
}
.autocomplete-list li strong {
  color: #f9c735;
}

nav .autocomplete-list li:hover, nav .autocomplete-list li.active {
  background-color: #0D1F1C;
}
nav .autocomplete-list li > a, nav .autocomplete-list li > span {
  color: white;
}
nav .autocomplete-list li {
  background-color: #0D1F1C;
  color: white;
}
nav .autocomplete-list li strong {
  color: #f9c735;
}

.only-print {
  display: none;
}

.topleft_logo {
  float: left;
  height: 50px;
}
@media only screen and (min-width : 601px) {
  .topleft_logo {
    height: 70px;
  }
}
@media only screen and (min-width : 993px) {
  .topleft_logo {
    height: 100px;
  }
}

.withdrawn {
  opacity: 0.6;
  text-decoration: line-through;
}

.hc {
  background-color: #eeeeee;
}

.update_judge_at_position {
  margin: 0px;
}

.drop_here {
  width: 100%;
  text-align: center;
  padding: 5px;
  font-size: 0.9rem;
  font-style: italic;
}
.drop_here :hover {
  color: #fff;
}

.ui-sortable-placeholder {
  border: 3px dashed #aaa;
  background: #ccc;
}

#modal_add_judge {
  height: 100%;
}

.rosette .tail_text {
  font-size: 1.75rem;
}

@-webkit-keyframes loading-line {
  0% {
    -webkit-transform: scale(0.9);
    opacity: 0.7;
  }
  50% {
    -webkit-transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.9);
    opacity: 0.7;
  }
}
@keyframes loading-line {
  0% {
    transform: scale(0.9);
    opacity: 0.7;
  }
  50% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0.9);
    opacity: 0.7;
  }
}
.loading_line {
  -webkit-animation: loading-line 3s infinite ease-in-out;
  -o-animation: loading-line 3s infinite ease-in-out;
  -ms-animation: loading-line 3s infinite ease-in-out;
  -moz-animation: loading-line 3s infinite ease-in-out;
  animation: loading-line 3s infinite ease-in-out;
}

/* should be in custom build of bootstrap */
.accordion-button:not(.collapsed) {
  background-color: rgba(43, 157, 132, 0.42);
}

@media (max-width: 700px) {
  .hide-on-med-and-down {
    display: none;
  }
}
.goto_user:hover, .goto_entry:hover, goto:hover {
  cursor: pointer;
}

/* ============================================================================
   Courses4Horses theme - scoped to body.c4h
   ----------------------------------------------------------------------------
   Mirrors the landing-page palette in web/static/css/courses4horses.css
   so the logged-in app shares the same look. Activated by the body.c4h
   class set in templates/_client/courses4horses/base.html.
   ============================================================================ */
body.c4h {
  --c4h-ink: #1a1f1d;
  --c4h-ink-soft: #4a5450;
  --c4h-page: #faf7f0;
  --c4h-paper: #ffffff;
  --c4h-rule: #e3ddcd;
  --c4h-accent: #2B9D84;
  --c4h-accent-dark: #1a6b5c;
  --c4h-accent-tint: #def4ea;
  --c4h-r-sm: 3px;
  --c4h-r-md: 4px;
  --c4h-shadow-btn: 0 8px 22px -10px rgba(43, 157, 132, .55);
  background: var(--c4h-page) !important;
  color: var(--c4h-ink);
  font-family: "Titillium Web", system-ui, -apple-system, sans-serif;
  /* Topnav - flat, hairline-bordered, off-white. Replaces the teal navbar. */
}
body.c4h #topnav {
  background: var(--c4h-page) !important;
  border-bottom: 1px solid var(--c4h-rule);
  padding-top: 18px;
  padding-bottom: 18px;
}
body.c4h #topnav .navbar-brand {
  gap: 10px;
}
body.c4h #topnav .c4h-mark {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid var(--c4h-ink);
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
}
body.c4h #topnav .c4h-mark::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--c4h-accent);
}
body.c4h #topnav .c4h-wordmark {
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--c4h-ink) !important;
}
body.c4h #topnav .c4h-wordmark .sub {
  font-weight: 400;
  font-style: italic;
  color: var(--c4h-ink-soft);
  font-size: 13px;
}
body.c4h #topnav .nav-link {
  background: transparent !important;
  color: var(--c4h-ink-soft) !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  padding: 0.35rem 1.1rem;
  border-radius: var(--c4h-r-sm);
  transition: color 0.15s, background 0.15s;
}
body.c4h #topnav .nav-link:hover {
  color: var(--c4h-accent) !important;
  background: transparent !important;
}
body.c4h #topnav .nav-link.active {
  color: var(--c4h-ink) !important;
  background: rgba(43, 157, 132, 0.08) !important;
  font-weight: 600;
}
body.c4h #topnav .dropdown-toggle::after {
  vertical-align: 2px;
}
body.c4h #topnav .navbar-toggler {
  border-color: var(--c4h-rule);
  padding: 0.3rem 0.6rem;
}
body.c4h #topnav .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%231a1f1d' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
body.c4h #topnav .ls-avatar {
  background: var(--c4h-accent);
}
body.c4h #topnav .dropdown-menu {
  border-radius: var(--c4h-r-md);
  border: 1px solid var(--c4h-rule);
  box-shadow: 0 14px 36px -16px rgba(0, 0, 0, 0.18);
}
body.c4h #topnav .dropdown-item {
  font-size: 14px;
  color: var(--c4h-ink);
}
body.c4h #topnav .dropdown-item:hover, body.c4h #topnav .dropdown-item:focus {
  background: var(--c4h-accent-tint);
  color: var(--c4h-ink);
}
body.c4h {
  /* Existing override at line ~647 forces white nav-link text - undo for c4h */
}
body.c4h #topnav .nav-link,
body.c4h #topnav .navbar-nav .nav-link {
  color: var(--c4h-ink-soft) !important;
}
body.c4h {
  /* Footer - paper background, hairline rule, accent on hover */
}
body.c4h footer.page-footer {
  background: var(--c4h-paper) !important;
  color: var(--c4h-ink-soft);
  border-top: 1px solid var(--c4h-rule);
}
body.c4h footer.page-footer .foot-wrap {
  background: var(--c4h-paper) !important;
}
body.c4h footer.page-footer a, body.c4h footer.page-footer p, body.c4h footer.page-footer .devby {
  color: var(--c4h-ink-soft);
}
body.c4h footer.page-footer .btn-outline-secondary {
  border-color: var(--c4h-rule);
  color: var(--c4h-ink-soft);
  background: transparent;
}
body.c4h footer.page-footer .btn-outline-secondary:hover {
  background: var(--c4h-accent);
  border-color: var(--c4h-accent);
  color: #fff;
}
body.c4h {
  /* Page title - light, large, balanced */
}
body.c4h .page_title {
  font-weight: 300;
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: -0.018em;
  color: var(--c4h-ink);
  text-wrap: balance;
}
body.c4h {
  /* Bootstrap button recolour - keep behaviour, swap green/teal for c4h accent */
}
body.c4h .btn-primary, body.c4h .btn-success {
  background: var(--c4h-accent);
  border-color: var(--c4h-accent);
  color: #fff;
  box-shadow: 0 1px 0 var(--c4h-accent-dark) inset, var(--c4h-shadow-btn);
}
body.c4h .btn-primary:hover, body.c4h .btn-success:hover,
body.c4h .btn-primary:focus, body.c4h .btn-success:focus,
body.c4h .btn-primary:active, body.c4h .btn-success:active {
  background: var(--c4h-accent-dark) !important;
  border-color: var(--c4h-accent-dark) !important;
  color: #fff !important;
}
body.c4h {
  /* Links inside content */
}
body.c4h a {
  color: var(--c4h-accent);
}
body.c4h a:hover {
  color: var(--c4h-accent-dark);
}
body.c4h {
  /* Breadcrumb tones */
}
body.c4h .breadcrumb {
  background: var(--c4h-paper) !important;
  border: 1px solid var(--c4h-rule);
  border-radius: var(--c4h-r-sm);
  font-size: 13px;
}
body.c4h .breadcrumb-item a {
  color: var(--c4h-ink-soft);
}
body.c4h .breadcrumb-item.active {
  color: var(--c4h-ink);
}

/*# sourceMappingURL=calcstyles.css.map */
