/*
 * Custom font-size
 */
.custom-font-size {
  font-size: 14px;
}
/*
 * Base structure
 */
@media print {
  body > *:not(#printSection) {
    display: none;
  }
  #printSection,
  #printSection * {
    visibility: visible;
  }
  #printSection {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}
/* Move down content because we have a fixed navbar that is 50px tall */
body {
  padding-top: 0px;
  overflow-x: hidden;
  min-height: 400px;
  font-family: "Roboto Slab", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/*
 * Noscript content
*/
body:after {
  content: "Loading Customer Portal...\a Javascript is required.\a If you continue to see this page you have an outdated or misconfigured browser.\a Try a different browser or a mobile phone or tablet.";
  text-align: center;
  white-space: pre;
  display: block;
  width: 85%;
  margin: auto;
  margin-top: 100px;
  font-size: 24px;
}
body.loaded:after {
  content: none;
}
.details-modal {
  padding: 3px ;
}
.details-modal .modal-dialog {
  width: 98%;
  max-width: none;
  height: 98%;
}
.details-modal .modal-header {
  height: 15%;
}
.details-modal .modal-content {
  height: inherit;
  border: 0;
  margin: 8px;
  border-radius: 5px;
}
.details-modal .modal-body {
  overflow-y: auto;
}
/*
 * Global add-ons
 */
.sub-header {
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}
a {
  color: #569e26;
}
a:hover,
a:active,
a:focus {
  color: #569e26;
}
.bold {
  font-weight: 700;
}
.glyphicon.edit-row {
  cursor: pointer;
}
/*
 * Navbar
 */
.navbar.navbar-default {
  background-color: #fff;
  min-height: 50px;
  margin-bottom: 0px;
}
.navbar.navbar-default .navbar-brand {
  height: inherit;
  min-height: 50px;
}
/*
 * Footer
 */
.footer {
  text-align: center;
  line-height: 24px;
}
.footer .copyright {
  font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.footer .site {
  font-size: 1.2em;
}
/*
 * For sticky footer
*/
html,
body {
  height: 100%;
}
.page-wrap {
  min-height: 100%;
}
.page-wrap:after {
  content: "";
  display: block;
}
.footer,
.page-wrap:after {
  height: 100px;
}
.footer {
  margin-top: -100px;
}
/*
 * JSON Prettifying for Debugging
 */
.json-dump pre {
  outline: 1px solid #ccc;
  padding: 5px;
  margin: 5px;
}
.json-dump .string {
  color: green;
}
.json-dump .number {
  color: darkorange;
}
.json-dump .boolean {
  color: blue;
}
.json-dump .null {
  color: magenta;
}
.json-dump .key {
  color: red;
}
/*
 * Order Form
 */
.order-form .form-header {
  margin: 20px 0;
  font-weight: 700;
}
.order-form .one-time-pricing {
  margin-top: 30px;
}
.order-form .recurring-pricing {
  margin-top: 30px;
}
.order-form .notes-row {
  margin-top: 30px;
}
/*
 * verification template
 */
#verificationError + .tooltip > .tooltip-inner {
  background-color: #F7F9B5;
  color: #000000;
  border: 1px solid #e2e749;
  padding: 15px;
  font-size: 15px;
  max-width: 300px;
  border-radius: 10px;
}
#verificationError + .tooltip.top > .tooltip-arrow {
  border-top: 5px solid #e2e749;
}
/*
 * Customer Dashboard
 */
.customer-dashboard-container button.make-payment,
.customer-dashboard-container button.terms-conditions {
  margin-top: 10px;
}
.customer-dashboard-container .negative-num-cell {
  left: -10px;
}
.customer-dashboard-container .payment-errors {
  color: #a94442;
}
.customer-dashboard-container .charge-row {
  margin-bottom: 20px;
}
.customer-dashboard-container .payment-header {
  font-size: 1.5em;
  font-weight: 600;
  margin: 15px 0;
}
.customer-dashboard-container .payment-sub-header {
  font-size: 1.2em;
  font-weight: 400;
  margin: 10px 0;
}
.customer-dashboard-container .headers-row {
  font-weight: 700;
  font-size: 1.1em;
  margin-bottom: 10px;
}
.customer-dashboard-container .discount-headers {
  font-weight: 500;
  font-size: 1em;
  margin-top: 0px;
  margin-bottom: 0px;
}
.customer-dashboard-container .one-time-discount-headers {
  margin-top: 20px;
}
.customer-dashboard-container .monthly-charges-total-row {
  margin-top: 25px;
}
.customer-dashboard-container .totals-label {
  font-weight: 700;
  font-size: 1.1em;
}
.customer-dashboard-container .monthly-row {
  margin-top: 5px;
  margin-bottom: 5px;
}
.customer-dashboard-container .discount-row {
  margin-top: 0px;
  margin-bottom: 25px;
}
.customer-dashboard-container .installation-totals {
  margin-top: 20px;
}
.customer-dashboard-container .payment-row {
  margin-bottom: 10px;
}
.customer-dashboard-container .payment-row #installment-choices {
  margin-top: 20px;
}
.customer-dashboard-container .payment-row .installation-item {
  margin-top: 10px;
}
.customer-dashboard-container .bolded-label {
  font-weight: 600;
}
.customer-dashboard-container .total-payment {
  text-align: right;
  margin-top: 40px;
}
.customer-dashboard-container .total-payment .bolded-label {
  position: absolute;
  right: 200px;
}
.customer-dashboard-container .equipment-header {
  margin-top: 20px;
  margin-bottom: 5px;
}
.customer-dashboard-container .additional-equipment-container .payment-row {
  margin-bottom: 5px;
}
.customer-dashboard-container .taxable-border {
  padding-top: 15px;
  border-top: 1px solid #ccc;
}
.customer-dashboard-container .taxable-border:nth-of-type(2) {
  width: 5%;
}
/*
 * Plan Info
 */
/*
 * Autopay Stuff
 */
/*
 * Modals
 */
/*
 * Fancy CSS Throbber
 */
.throbber-container > div {
  margin: auto;
}
.throbber-container #floatingCirclesG {
  position: relative;
  width: 231px;
  height: 231px;
  -moz-transform: scale(0.6);
  -webkit-transform: scale(0.6);
  -ms-transform: scale(0.6);
  -o-transform: scale(0.6);
  transform: scale(0.6);
}
.throbber-container .f_circleG {
  position: absolute;
  background-color: #FFFFFF;
  height: 42px;
  width: 42px;
  -moz-border-radius: 21px;
  -moz-animation-name: f_fadeG;
  -moz-animation-duration: 1.04s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-direction: linear;
  -webkit-border-radius: 21px;
  -webkit-animation-name: f_fadeG;
  -webkit-animation-duration: 1.04s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: linear;
  -ms-border-radius: 21px;
  -ms-animation-name: f_fadeG;
  -ms-animation-duration: 1.04s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-direction: linear;
  -o-border-radius: 21px;
  -o-animation-name: f_fadeG;
  -o-animation-duration: 1.04s;
  -o-animation-iteration-count: infinite;
  -o-animation-direction: linear;
  border-radius: 21px;
  animation-name: f_fadeG;
  animation-duration: 1.04s;
  animation-iteration-count: infinite;
  animation-direction: linear;
}
.throbber-container #frotateG_01 {
  left: 0;
  top: 95px;
  -moz-animation-delay: 0.39s;
  -webkit-animation-delay: 0.39s;
  -ms-animation-delay: 0.39s;
  -o-animation-delay: 0.39s;
  animation-delay: 0.39s;
}
.throbber-container #frotateG_02 {
  left: 27px;
  top: 27px;
  -moz-animation-delay: 0.52s;
  -webkit-animation-delay: 0.52s;
  -ms-animation-delay: 0.52s;
  -o-animation-delay: 0.52s;
  animation-delay: 0.52s;
}
.throbber-container #frotateG_03 {
  left: 95px;
  top: 0;
  -moz-animation-delay: 0.65s;
  -webkit-animation-delay: 0.65s;
  -ms-animation-delay: 0.65s;
  -o-animation-delay: 0.65s;
  animation-delay: 0.65s;
}
.throbber-container #frotateG_04 {
  right: 27px;
  top: 27px;
  -moz-animation-delay: 0.78s;
  -webkit-animation-delay: 0.78s;
  -ms-animation-delay: 0.78s;
  -o-animation-delay: 0.78s;
  animation-delay: 0.78s;
}
.throbber-container #frotateG_05 {
  right: 0;
  top: 95px;
  -moz-animation-delay: 0.91s;
  -webkit-animation-delay: 0.91s;
  -ms-animation-delay: 0.91s;
  -o-animation-delay: 0.91s;
  animation-delay: 0.91s;
}
.throbber-container #frotateG_06 {
  right: 27px;
  bottom: 27px;
  -moz-animation-delay: 1.04s;
  -webkit-animation-delay: 1.04s;
  -ms-animation-delay: 1.04s;
  -o-animation-delay: 1.04s;
  animation-delay: 1.04s;
}
.throbber-container #frotateG_07 {
  left: 95px;
  bottom: 0;
  -moz-animation-delay: 1.17s;
  -webkit-animation-delay: 1.17s;
  -ms-animation-delay: 1.17s;
  -o-animation-delay: 1.17s;
  animation-delay: 1.17s;
}
.throbber-container #frotateG_08 {
  left: 27px;
  bottom: 27px;
  -moz-animation-delay: 1.3s;
  -webkit-animation-delay: 1.3s;
  -ms-animation-delay: 1.3s;
  -o-animation-delay: 1.3s;
  animation-delay: 1.3s;
}
@-moz-keyframes f_fadeG {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #FFFFFF;
  }
}
@-webkit-keyframes f_fadeG {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #FFFFFF;
  }
}
@-ms-keyframes f_fadeG {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #FFFFFF;
  }
}
@-o-keyframes f_fadeG {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #FFFFFF;
  }
}
@keyframes f_fadeG {
  0% {
    background-color: #000000;
  }
  100% {
    background-color: #FFFFFF;
  }
}
.FootrCopy {
  text-transform: uppercase;
  text-transform: none;
  font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  font-weight: normal;
}
.FootrCopy a {
  color: #569e26;
}
/* Style for the card element container */
.card-element-container {
  width: 100%;
  padding: 20px;
  background-color: #f8f9fa;
  border: 1px solid #ced4da;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
/* Style for the card element */
.card-element {
  width: 100%;
  padding: 15px;
  font-size: 18px;
  color: #495057;
  background-color: #fff;
  border: 2px solid #ced4da;
  border-radius: 8px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.custom-card-element {
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* Space between "rows" */
}
.StripeElement input {
  padding: 8px;
  font-size: 16px;
}
/* Mobile-specific adjustments */
@media (max-width: 600px) {
  .StripeElement input {
    font-size: 14px;
    padding-right: 10px;
    letter-spacing: 1px;
  }
}
/* Style for the card element's focus state */
.card-element:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.3rem rgba(0, 123, 255, 0.25);
}
/* Style for the card element's error state */
.card-element.error {
  border-color: #dc3545;
}
/* Style for the error message */
.error-message {
  color: #dc3545;
  font-size: 16px;
  margin-top: 10px;
}
/* Style for the success message */
.success-message {
  color: #28a745;
  font-size: 16px;
  margin-top: 10px;
}
.btn-dark-blue {
  background-color: #3f0c6e !important;
  /* Violet color */
  color: white !important;
  /* White text for better contrast */
}
.btn-dark-blue:hover {
  background-color: #3f0c6e !important;
  /* Slightly darker blue for hover effect */
}
.stripe-logo {
  width: auto;
  height: 50px;
  /* or an appropriate height */
}
.card-element-container {
  width: 50% !important;
}
@media (max-width: 600px) {
  .autopay-container {
    padding: 15px;
  }
  .throbber-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
  }
  #floatingCirclesG {
    width: 50px;
    height: 50px;
  }
  .autopay-subcontainer {
    padding: 10px;
  }
  .row {
    margin-left: 0;
    margin-right: 0;
  }
  .col-12 {
    padding-left: 0;
    padding-right: 0;
  }
  .card-element-container {
    width: 125% !important;
    margin-left: -5vw !important;
  }
  .btn {
    width: 100%;
    margin-bottom: 10px;
  }
  .d-none {
    display: none !important;
  }
  .bolded-label {
    display: block;
  }
  .autopay-info {
    display: block;
    padding-bottom: 5px;
  }
}
@media (max-width: 540px) {
  .card-element-container {
    width: 135% !important;
    margin-left: -12vw !important;
  }
}
